Zshはインストールを完了しますか(/run/media/DISK-LABEL)?

Zshはインストールを完了しますか(/run/media/DISK-LABEL)?

zshディスクラベルをマウントポイントに拡張する機能を探しています。

例:マイディスクDISK-LABEL1にラベルがインストールされています/run/media/god/DISK-LABEL1

cat //DISK-LA<Tab>Like: で入力を拡張できるプラグインはありますか cat /run/media/god/DISK-LABEL1

//「このタイプのオートコンプリートをトリガーする例として選択されました...

答え1

本当に完了をトリガーするには//修正する必要があるようです。_path_files。私はそれをお勧めしません。

または定義するfile-patternsスタイルなのに方法がわからない。

godにディレクトリを指定すると、そのディレクトリをとして参照/run/media/godできます。~godこれは、完成機能を使用するかどうかに関係なく機能します。ヒントに示すように、副作用が/run/media/godあります。~god

hash -d god=/run/media/god

答え2

1つの方法は、待機しているタスクを実行する関数を定義することです。

mountbylabel () {
  mount /run/media/god/$1
}

次に.zshrc、完成関数を作成します。

#compdef mountbylabel

compadd "${(@f)$(ls /run/media/god)}"

_mountbylabelfpathという名前のファイルに入れてください。私はその中にすべての完成した機能ファイルを保存~/.zsh/completions/します

fpath=(~/.zsh/completions $fpath)

私の.zshrc

関連情報