
私はDebian 10.0システムを持っています。 zsh 5.7.1(x86_64-debian-linux-gnu)があります。 ZSHプロンプトで、次のように入力します。
foo bar baz
alt次に+を2回入力しますbackspace。baz
「and」という単語がbar
削除され、foo
「and」のみが残ります。
ctrl次に+を2回入力して/削除をキャンセルします。baz
そして、単語がbar
再び表示されます。
ctrl+/元に戻すコマンドはどのように機能しますか?どこにも定義されたものはありませんか?
$ echo / | grep -E "/|undo" # just testing my regex
/
$ bindkey -l
.safe
command
emacs
isearch
main
vicmd
viins
viopp
visual
$ bindkey -M .safe | grep -E "/|undo"
$ bindkey -M command | grep -E "/|undo"
$ bindkey -M emacs | grep -E "/|undo"
"^X^U" undo
"^Xu" undo
"^_" undo
また、zsh 5.7.1(x86_64-apple-darwin19.0)を含むmacOS Catalina 10.15.7もありますが、ctrl+は/何もしません。
答え1
いいえ制御文字Control+の/場合、端末は送信できる文字や文字シーケンスを自然に選択することはできません。多くの端末では、^_
+と同じ文字を送信します。これには、xterm、rxvt、konsole、およびvteライブラリベースのすべての端末(Gnome Terminal、Mate Terminal、lxterminal、Terminatorなど)が含まれますが、macOSの組み込み端末アプリケーションは含まれません。Control_
CtrlV+を入力してから+を入力すると、端末がCtrl送信した内容を確認できます/。Ctrl+はV「次の文字を文字通り挿入」を意味します(コマンドとして解釈されても)。
(端末の役割については、以下を参照してください。キーボード入力とテキスト出力はどのように機能しますか?)
^_
Emacsキーボードショートカットを持つEmacsとアプリケーションの元に戻すショートカットです。