我正在尝试设置我的.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:
杀死标记和光标之间的区域