readline: unix-word-rubout,但反過來,有可能嗎?

readline: unix-word-rubout,但反過來,有可能嗎?

我正在嘗試設定我的.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'

其中wa字元可以根據您的意願進行更改。

它是如何工作的

讓我們為kill-regionreadline 命令分配一個鍵序列,例如Alt-w

"\ew": kill-region

然後讓我們將以下巨集分配給另一個序列,例如Alt- a

"\ea": '\e \C-] \ew'

執行以下操作:

\e<SPACE>:

設定遊標所在位置的標記

\C-]<SPACE>:

搜尋一個空格並將遊標移到那裡

\ew:

殺死標記和遊標之間的區域

相關內容