在终端中时,在提示向左移动时,我可以使用Ctrl+w删除整个单词或IP(.
每个八位位组的分隔符)。但是,如果我尝试Alt+d转到提示的右边,则终端会识别“。” 在IP中用作分隔符,并仅删除一个块,直到.
整个IP中的一个。
我如何可以调整使终端只承认空白的字的分离,甚至最好是有另一个快捷方式不同的分隔符:.
,=
,,
,等?
这与使用Ctrl +箭头(向左和向右)在终端中进行操作非常相似,并且根据为单词分隔符设置的内容,行为也相似。
我读到Emacs编辑器位于终端使用这些快捷方式的后面,但我无法将其眨眼一下。
首先在终端中使用以下命令:
bind '"\ew": vi-forward-bigword'
创建一个新的快捷键-在这种情况下为Alt+ w-会将提示向前移动到当前单词或下一个单词的末尾。在这种情况下,单词(bigwords)由字母,数字和特殊字符(如“。”)组成。
现在,您可以使用Alt+w后跟Ctrl+w来完成您想要的操作。
见我的回答一些更多的信息在这里。
此外,在查看了此问答之后,我了解了以下内容:
使用
bind
,您可以将键绑定以执行以下三种操作之一,但不能将它们组合在一起:
- 执行readline命令:
bind '"key": command'
- 执行一系列击键:
bind '"key":"keystrokes"'
- 执行一个shell命令:
bind -x '"key": shell-command'
因此,现在,如果您想将这两个击键(Alt+w后跟Ctrl+ w)组合成一个新击键,则需要绑定一个新的击键(在我的示例中为Alt+ q),以执行前面的击键,如下所示:
bind '"\eq": "\ew \C-w"'
最后,要永久进行这些更改,您要做的就是将以下行添加到~/.inputrc
文件中(如果没有,则创建它):
"\ew": vi-forward-bigword
"\eq": "\ew \C-w"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句