実際の編集バッファに書き込む方法

実際の編集バッファに書き込む方法

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インデックスエントリへのリンク

関連情報