2017-08-10 9 views
0

私はfishで始まりました。広範なドキュメントで見つけられなかったことの1つは、オートコンプリートフィードです。オートコンプリートデータをフィッシュエイリアスにフィードするにはどうすればよいですか?

チュートリアルにはTab Completionsと記載されていますが、構成自体ではなくメカニズムそのものの存在に対処しています。

私は

machinectl shell <name of machine> /bin/bash 

経由に接続し、仮想マシンの束を持って、私は

function cm 
    machinectl $argv shell /bin/bash; 
end 

を経由してすべての私のマシンのalisesを作ることができるが、これはマシン名を覚えて入力する必要があります。

タブを使用しているとき、それはそれらを示しているように、私は私のcmコマンドにフィード/ヒントとしてmachinectl list | tail -n +2 | head -n -2 | cut -f1 -d' 'の出力を使用することができますどのように?


編集:私は何とかドキュメントの先頭にこの権利を逃した:Tab completion(私は答えを確認した後、それを見つけた)

答えて

2

に配置されます:

complete --command cm --no-files \ 
--arguments '(machinectl list | tail -n +2 | head -n -2 | cut -f1 -d" ")' 

は、コマンドラインで、現在のセッションのためにそれをアクティブにすることを入力します。 Kurtisが説明しているように、補完ファイルに行を追加するようにします(~/.config/fish/completions/cm.fish)。

2

help completeを参照してください。あなたは、$__fish_datadir/completionsに、sshの補完を含めて、魚に付属している補完を見つけるでしょう。あなたはプライベート機能やコマンドの書き込み完了はこれは良いスタートを切ったあなたを取得する必要があります~/.config/fish/completions/$cmd_name.fish

関連する問題