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)}"
_mountbylabel
fpathという名前のファイルに入れてください。私はその中にすべての完成した機能ファイルを保存~/.zsh/completions/
します
fpath=(~/.zsh/completions $fpath)
私の.zshrc
。