我正在嘗試設定我的.inputrc
向後執行unix-word-rubout
,但目前我無法做到這一點。
我已經M-w
在我的.inputrc
.
這不起作用:
"\eu": universal-argument
"\ew": "\eu-1\C-w"
這也不:
"\ew": "\e-1\C-w"
甚至不能在 shell 中透過按後跟M--
來互動地執行此操作C-w
,即它會不斷刪除遊標左側的單字。
PS我知道還有其他kill/rubout readline命令,但我真的希望有C-w
使用空格作為分隔符號來殺死單字的行為,只是向後。
答案1
簡而言之,將以下行加入~/.inputrc
:
"\ew": kill-region
"\ea": '\e \C-] \ew'
其中w
和a
字元可以根據您的意願進行更改。
它是如何工作的
讓我們為kill-region
readline 命令分配一個鍵序列,例如Alt-w
"\ew": kill-region
然後讓我們將以下巨集分配給另一個序列,例如Alt- a:
"\ea": '\e \C-] \ew'
執行以下操作:
\e<SPACE>:
設定遊標所在位置的標記
\C-]<SPACE>:
搜尋一個空格並將遊標移到那裡
\ew:
殺死標記和遊標之間的區域