GNU/Linux >> Linux の 問題 >  >> Linux

Linux で zsh オートコンプリート スクリプトを配置する場所は?

ここでお手伝いさせてください。

私は似たようなことを試みていましたが、これが私がそれを機能させることができた方法です。以下のソリューションは oh-my-zsh で検証されています Debian ディストリビューション [ubuntu]

問題

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

解決策

<オール>
  • 完了スクリプトを見つける

    1 つの優れた場所は https://github.com/clarketm/zsh-completions/tree/master/src です

  • ファイルを補完フォルダー [~/.oh-my-zsh/completions] にダウンロードします

    wget https://raw.githubusercontent.com/clarketm/zsh-completions/master/src/_conda ~/.oh-my-zsh/completions
    
  • 補完フォルダーが $fpath の下にリストされていることを確認してください

    print -l $fpath
    
    <オール>
  • リストされていない場合、通常は .oh-my-zsh.sh で追加する必要があります。そうでない場合は、以下を ~/.oh-my-zsh/oh-my-zsh.sh に追加してください

    # add a function path
    fpath=($ZSH/functions $ZSH/completions $fpath)
    
  • ソース.zshrc

    source ~/.zshrc
    
  • compinit を実行 これは ~/.zcompdump をビルドします 関数のファイル

    compinit
    
  • トラブルシューティング

    <オール>
  • 競合のため、提案が表示されない場合があります。次を試してください

    rm -f ~/.zcompdump; compinit
    # we are clearing the function dump stored by zsh, its safe zsh will rebuilt it.
    
  • ソース .zshrc を試す

    source ~/.zshrc
    
  • ログアウトしてログインしてみてください

  • ~/.zcompdump のマッピングを確認してください

    vi ~/.zcompdump
    

    コンダを検索

    [/conda]

    以下のように表示されます

    'conda' '_conda'

  • 誰かが役に立てば幸いです。もしそうなら、喜んでお手伝いします


    cheat.zsh を追加してこれを機能させました ~/.oh-my-zsh/plugins まで ディレクトリ。 Zsh は、FPATH で関数を自動ロードするようにチェックします 、試してみてください:

    echo $FPATH
    

    そして FPATH に追加します または、ファイルをパス上のフォルダーに移動します。

    これは実際にそれを説明するのにはるかに良い仕事をします:https://unix.stackexchange.com/questions/33255/how-to-define-and-load-your-own-shell-function-in-zsh


    Linux
    1. Linuxコマンドのスクリプトを作成する方法

    2. パスに依存しないShebangs?

    3. Linux –名前付きセマフォはどこに保存されますか?

    1. Linux – Fsckスクリプトの場所?

    2. シェルスクリプトはどこから実行されますか?

    3. Linux で PATH_MAX はどこで定義されていますか?

    1. Linux OS サービス「scsi_reserve」

    2. Linux シェルの音訳スクリプト

    3. Linux でのパニック パスワード