Bash
如何綁定“C-;”在 ~/.inputrc 中?
我使用 Meta-ijkl 作為 Emacs 中的箭頭和
M-;
退格鍵,所以我想讓 bash 中的鍵代表相同的樣式。移動和刪除效果很好,但由於某種原因,我無法綁定unix-line-discard
到C-;
它將從游標到開頭的整行擦除到終止緩衝區中。由於用於複製、殺死和抽出的預設 emacs 鍵是C-j
,C-k
和C-y
,因此另一個 C 組合非常適合那裡。並且\e:
(Meta-Shift-;) 已經綁定到backward-kill-word
.C-u
預設情況unix-line-discard
下,效果很好,但按起來不方便。如果我將這個函式重新綁定到 ,\C-g
它也可以正常工作。在
~/.inputrc
我有"\C-;": unix-line-discard
我也試過
"\C-\;": unix-line-discard "\C-\x3b": unix-line-discard
沒有效果。
C-v C-;
在 shell 中,除了通常的分號之外不列印任何內容,並且\C-;
它的所有變體也只列印它,僅此而已。我在 Urxvt 工作。
同意@meuh 的評論,終端不會為
control``;
(通常)生成不同的程式碼。@tijagi 建議的連結
xterm
適用於並且不適用於urxvt
. 使用手冊頁urxvt
顯示您可以從這裡開始:keysym.sym: string Compile frills: Associate string with keysym sym. The intervening resource name keysym. cannot be omitted.
並使用如下設置之一:
*keysym.Control-semicolon: mybinding URxvt.keysym.Control-semicolon: mybinding
根據需要使用類名來覆蓋現有資源,並且mybinding是您
urxvt
在鍵入時想要發送的任何內容control``;
(但請閱讀手冊頁以獲取正確的語法)。@meuh 建議使用\025
(^U
) ,因為它通常綁定到unix-line-discard
.進一步閱讀: