Control+を押して「ls」を書きたいが実行されませんr。次のコードを使用していますが、実行に使用するバッファにコマンドを書き込みます。後ろに勝つEnter。どういうわけか自分で作成したいのですが、どうすればいいかわかりません。
_prefill() {
print -z "ls"
}
zle -N _prefill
bindkey '^r' _prefill
答え1
$BUFFER
ウィジェット機能では、編集バッファは(フルバッファ)と$LBUFFER
($RBUFFER
それぞれカーソルの左右のバッファ部分)に公開されます。info zsh BUFFER
詳しくは1をご覧ください。ここでは次のようにします。
_prefill() LBUFFER+=ls
print -z
次のコマンドのためにバッファを事前に埋めることなので、通常外部zleウィジェット。
1すべてのシステムにデフォルトでzsh文書がインストールされているわけではないので、パッケージまたはそれに対応するパッケージをインストールする必要があるかもしれませんzsh-doc
(このサイズのマニュアルに収まるほど大きくないマニュアルページを除く)。この文書の最新バージョンはオンラインでも入手できます。これはそのBUFFER
インデックスエントリへのリンク。