GNU/Linux >> Znalost Linux >  >> Linux

Kam umístit skript automatického dokončování zsh v systému Linux?

Pokusím se vám zde pomoci.

Zkoušel jsem něco podobného a takto se mi to podařilo. Níže uvedené řešení bylo ověřeno pomocí oh-my-zsh na distribuci debianu [ubuntu]

Problém

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

Řešení

  1. Najděte dokončovací skript

    jedno skvělé místo je https://github.com/clarketm/zsh-completions/tree/master/src

  2. Stáhněte soubor do složky dokončení [~/.oh-my-zsh/completions]

    wget https://raw.githubusercontent.com/clarketm/zsh-completions/master/src/_conda ~/.oh-my-zsh/completions
    
  3. Ujistěte se, že složka dokončení je uvedena pod $fpath

    print -l $fpath
    
    1. Co když není uvedena Mělo by být normálně přidáno s .oh-my-zsh.sh Pokud ne, připojit níže k ~/.oh-my-zsh/oh-my-zsh.sh

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

      source ~/.zshrc
      
  4. Proveďte compinit tím se vytvoří ~/.zcompdump soubor pro funkce

    compinit
    

Odstraňování problémů

  1. Kvůli konfliktům se návrhy nemusí zobrazit, zkuste následující

    rm -f ~/.zcompdump; compinit
    # we are clearing the function dump stored by zsh, its safe zsh will rebuilt it.
    
  2. Zkuste zdrojový kód .zshrc

    source ~/.zshrc
    
  3. Zkuste se odhlásit a přihlásit

  4. Zkontrolujte mapování v ~/.zcompdump

    vi ~/.zcompdump
    

    vyhledejte conda

    [/conda]

    měli byste vidět níže

    'conda' '_conda'

Doufám, že to pro někoho bude užitečné, pokud ano, rádi vám pomůžeme


Zprovoznil jsem to přidáním cheat.zsh na ~/.oh-my-zsh/plugins adresář. Zsh kontroluje automatické načítání funkcí na FPATH , tak zkuste:

echo $FPATH

a pak buď přidat do FPATH nebo přesuňte soubor do složky v cestě.

To ve skutečnosti dělá mnohem lepší práci při vysvětlení:https://unix.stackexchange.com/questions/33255/how-to-define-and-load-your-own-shell-function-in-zsh


Linux
  1. Jak vytvořit skript příkazu Linux

  2. Shebangy nezávislé na cestě?

  3. Kde je funkce itoa v Linuxu?

  1. Kde je v Linuxu definován PATH_MAX?

  2. Linux bash skript pro extrakci IP adresy

  3. Panic Password na Linuxu

  1. Linux – kde je uložen pojmenovaný semafor?

  2. Linux – umístění skriptu Fsck?

  3. Odkud se spouští skript Shell?