5

プロンプトにコマンドを書き込むが実行しない zsh スクリプトを作成することは可能かどうか疑問に思っています。最後の '\Cm' を省略して、キーバインドでこのようなことを行うことができます。例えば:

bindkey -s "\e[1;3C" "howdy!"

... Alt+RightArrow を押して、"howdy!" というテキストを入力します。プロンプトで出力され、そのまま残されます。

コマンドを履歴ファイルに書き込んでから、上向き矢印で呼び出すことで、やりたいことを実行することもできます。「echo -n sometext」を試しましたが、うまくいきません。

コマンド ラインで "howdy!" を残して終了するスクリプトを作成できますか? 実際には、スクリプトでいくつかのことに基づいて複雑なコマンドを構築したいのですが、最終的な編集のためにスクリプトで CLI に残しておきたいので、自動実行を防止する必要があります。

前もって感謝します。

4

2 に答える 2

5

答えは簡単です。

print -z $string-to-print
于 2012-04-15T04:53:40.370 に答える
2

外部スクリプトではなく zsh 関数を意味する場合は、zle ( zsh line editorの略) ウィジェットを作成し、それをいくつかのキーにバインドできます。

# define to function to use
hello () {
 BUFFER=hello
 zle end-of-line
}
# create a zle widget, which will invoke the function.
zle -N hello
# bindkey Alt-a to that widget
bindkey "\ea" hello

詳細については、Z-Shell のユーザーズ ガイドの第 4 章を参照してください。

于 2012-04-13T11:12:44.933 に答える