GNU/Linux >> Tutoriels Linux >  >> Linux

Où placer le script d'auto-complétion zsh sous Linux ?

Laissez-moi essayer d'aider ici.

J'essayais quelque chose de similaire et c'est ainsi que j'ai pu le faire fonctionner. La solution ci-dessous a été vérifiée avec oh-my-zsh sur la distribution Debian [ubuntu]

Problème

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

Solution

  1. Trouver le script d'achèvement

    un excellent emplacement est https://github.com/clarketm/zsh-completions/tree/master/src

  2. Téléchargez le fichier dans le dossier des complétions [~/.oh-my-zsh/completions]

    wget https://raw.githubusercontent.com/clarketm/zsh-completions/master/src/_conda ~/.oh-my-zsh/completions
    
  3. Assurez-vous que le dossier des complétions est répertorié sous $fpath

    print -l $fpath
    
    1. Que se passe-t-il si ce n'est pas listé ?

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

      source ~/.zshrc
      
  4. Exécutez compinit cela construira ~/.zcompdump fichier pour les fonctions

    compinit
    

Dépannage

  1. En raison de conflits, les suggestions peuvent ne pas s'afficher, essayez ce qui suit

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

    source ~/.zshrc
    
  3. Essayez de vous déconnecter et de vous connecter

  4. Vérifiez le mappage dans ~/.zcompdump

    vi ~/.zcompdump
    

    rechercher conda

    [/conda]

    vous devriez voir comme ci-dessous

    'conda' '_conda'

J'espère que quelqu'un le trouvera utile, si c'est le cas, heureux d'aider


Je l'ai fait fonctionner en ajoutant cheat.zsh au ~/.oh-my-zsh/plugins annuaire. Zsh vérifie les fonctions de chargement automatique sur FPATH , alors essayez :

echo $FPATH

puis soit ajouter à FPATH ou déplacez le fichier dans un dossier sur le chemin.

Cela fait en fait un bien meilleur travail pour l'expliquer :https://unix.stackexchange.com/questions/33255/how-to-define-and-load-your-own-shell-function-in-zsh


Linux
  1. Linux - Où est stocké un sémaphore nommé ??

  2. Linux - Emplacement du script Fsck ?

  3. Service du système d'exploitation Linux "scsi_reserve"

  4. Où est la fonction itoa sous Linux ?

  5. Où est défini PATH_MAX sous Linux ?

3 terminaux Linux que vous devez essayer

Essayez l'éditeur de texte e3 Linux

24 ordinateurs de bureau Linux que vous devez essayer

Commande de mise en veille Linux (Pause d'un script Bash)

Imprimer le temps d'exécution du script Shell sous Linux

Meilleures distributions Linux à essayer en 2022