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:

杀死标记和光标之间的区域

相关内容