GNU/Linux >> Linux Esercitazione >  >> Linux

Dove posizionare lo script di completamento automatico zsh su Linux?

Lascia che ti aiuti qui.

Stavo provando qualcosa di simile ed è così che sono riuscito a farlo funzionare. La soluzione di seguito è stata verificata con oh-my-zsh sulla distribuzione debian [ubuntu]

Problema

  > Your zsh isnt giving proper completion suggestions say [conda]
  > This is what you get when you type in # conda tab

Soluzione

  1. Trova lo script di completamento

    un'ottima posizione è https://github.com/clarketm/zsh-completions/tree/master/src

  2. Scarica il file nella cartella dei completamenti [~/.oh-my-zsh/completions]

    wget https://raw.githubusercontent.com/clarketm/zsh-completions/master/src/_conda ~/.oh-my-zsh/completions
    
  3. Assicurati che la cartella dei completamenti sia elencata in $fpath

    print -l $fpath
    
    1. Cosa succede se non è elencato Dovrebbe essere normalmente aggiunto con .oh-my-zsh.shSe non lo è, aggiungi sotto a ~/.oh-my-zsh/oh-my-zsh.sh

      # add a function path
      fpath=($ZSH/functions $ZSH/completions $fpath)
      
    2. sorgente .zshrc

      source ~/.zshrc
      
  4. Esegui compinit questo creerà ~/.zcompdump file per le funzioni

    compinit
    

Risoluzione dei problemi

  1. A causa di conflitti, i suggerimenti potrebbero non essere visualizzati, prova quanto segue

    rm -f ~/.zcompdump; compinit
    # we are clearing the function dump stored by zsh, its safe zsh will rebuilt it.
    
  2. Prova la fonte .zshrc

    source ~/.zshrc
    
  3. Prova a disconnetterti e ad accedere

  4. Controlla la mappatura in ~/.zcompdump

    vi ~/.zcompdump
    

    cerca conda

    [/conda]

    dovresti vedere come sotto

    'conda' '_conda'

Spero che qualcuno lo trovi utile, in tal caso felice di aiutare


L'ho fatto funzionare aggiungendo cheat.zsh al ~/.oh-my-zsh/plugins directory. Zsh verifica di caricare automaticamente le funzioni su FPATH , quindi prova:

echo $FPATH

e poi aggiungi a FPATH oppure sposta il file in una cartella nel percorso.

Questo in realtà fa un lavoro molto migliore nello spiegarlo:https://unix.stackexchange.com/questions/33255/how-to-define-and-load-your-own-shell-function-in-zsh


Linux
  1. Servizio del sistema operativo Linux 'scsi_reserve'

  2. Dove è definito PATH_MAX in Linux?

  3. Script di traslitterazione per shell linux

  4. Dove è definito ssize_t in Linux?

  5. Password antipanico su Linux

3 terminali Linux che devi provare

Prova l'editor di testo e3 Linux

24 desktop Linux che devi provare

Comando di sospensione di Linux (pausa di uno script Bash)

Stampa il tempo di esecuzione dello script della shell in Linux

Le migliori distribuzioni Linux da provare nel 2022