最近在bash中切换到vi模式,我想念的一件事是esc。获取最后一个命令的最后一个参数。

我知道ctrl _,但是我总是最终碰到ctrl-。

是否有另一种等效的vi-mode?

最佳答案

我相信最接近您想要的解决方案是:

在您的.bashrc中,紧接在“set -o vi”之后...

set -o vi
bind -m vi-command ".":insert-last-argument

这告诉您bash在'。'时调用“insert-last-argument”操作。在vi命令模式下使用。当然,这意味着您会丢失普通的“”。 VI的功能;但是如果您像我一样,会更喜欢这个。

附录:
您可能还希望Ctrl-A,Ctrl-E,Ctrl-W和Ctrl-L起作用(那些是我最想念的那些):
bind -m vi-command ".":insert-last-argument
bind -m vi-insert "\C-l.":clear-screen
bind -m vi-insert "\C-a.":beginning-of-line
bind -m vi-insert "\C-e.":end-of-line
bind -m vi-insert "\C-w.":backward-kill-word

关于在vi模式下相当于bash/readline的转义点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6839273/

10-13 07:23