のmenu select
動作を使用してzsh
います。これにより、カーソルの下のメニューが呼び出され、さまざまな可能性を確認できます。これに設定した.zshrcオプションは
zstyle ':completion:*' menu select=2
デフォルトでは、Return
このメニューで候補を選択して押しても、単語が完成するだけです。実際にコマンドを送信するわけではありません。たとえば、次のようなメニューが表示される場合があります
~ % cd de<TAB>
completing directory:
[Desktop/] Development/
Return
ここを押すと、
~ % cd Desktop/
私は押しする必要が二、実際にコマンドを送信するための時間を。Return
この動作を変更して、Return
両方を押して完了を選択し、これを実行してコマンドを送信するようにすることができます
bindkey -M menuselect '^M' .accept-line
ただし、これには問題があります。コマンドを送信せずにファイルまたはディレクトリを完了する必要がある場合があります。たとえば、必要な場合があります。ln -s Desktop Desktop2
このbindkey
動作では、Desktopを完了しようとするln -s Desktop/
とコマンドとして送信されることになり、明らかにそれは望ましくありません。
スペースを押すだけでコマンドを実行できることは承知していますが、今では習慣になっています。
これを考えると、一部のコマンドのみがReturn
1回押すことができるようにする方法がありますが(たとえばcd
)、他のすべてのコマンドは2回押す必要がありますか?
.zshrc
ファイルで許可されていない場合、コマンドベースの動作をサポートするようにソースコードを自分で調整しない限り、答えは単に「いいえ」になります。しかし、あなたはまだ自分自身で道がちょうど追加...押下するよりも面倒である、これを行うにはどのコマンドのために定義する必要があります