私はzshとbindkeys -v
。
Alt + .
期待どおりに動作しません。現在、標準入力に入力されているが入力されていない内容が次の行に繰り返されるようです。
この投稿bashのように動作することを示唆しているようです。つまり、入力された最後のコマンドの最後の引数を取得します。
これが期待どおりに行われるには何が必要ですか?
ベストアンサー1
端末ではAlt、+はchar通常と同じですEsc char。 (一部の端末は異なるように設定できます。)
vi 挿入モードからEscコマンドモードに切り替えます。 vi コマンドモードではEsc何もしません。 vi コマンドモードで.前のコマンドを繰り返します。
小さな部品insert-last-word
デフォルトのバインディングはemacsモードではAlt+.とAlt+_ですが、viモードにはデフォルトのバインディングはありません。 viモードで使用するには、バインディングを指定する必要があります。
bindkey -M vicmd _ insert-last-word
これは入れるコマンド:カーソルの前にテキストを挿入します。行末では実行できません。これは、行末でよく使用されるコマンドでは非常に不便です。あなたは正義を好むかもしれませんappend-last-word
。
function append-last-word { ((++CURSOR)); zle insert-last-word; }
zle -N append-last-word
bindkey -M vicmd _ append-last-word