也许我没有使用正确的术语,但我正在努力寻找一种方法来添加一些键绑定(bind)以在 vim 中导航命令行时使用。
一个示例是以下命令::e /really/long/path/that/I/dont/want/to/reenter
并意识到我实际上想要 :tabe
而不是制表符,或者输入一个长的正则表达式模式并在其中发现一个错字。
显然像 ^
这样的东西, 0
或 b
只会作为字符输入,所以我想做的是为命令映射添加一些 emacs 绑定(bind),例如 <C-a>
移动到行首,<C-e>
移动到行尾,其他一些在单词之间移动(至少那些不与其他有用的绑定(bind)冲突的)。
这可能吗?
最佳答案
正如其他人所提到的,您的特定键绑定(bind)已经存在:
为了获得完整的命令行编辑体验,您可以将 vim 命令行转换为可编辑的命令缓冲区来解决此类问题,而不是使用新的键绑定(bind)。
在命令行中键入时,按 Ctrl-f 进入命令行缓冲区。您将处于正常模式,可以浏览和编辑命令行,以及与命令历史记录中的先前命令交互和编辑。
在您的示例中,一旦在命令行缓冲区中,您可以简单地使用
0itab
改变e
至tabe
.在此缓冲区中按 Enter 以执行光标所在的命令,然后 Ctrl-c 将退出命令行缓冲区,将您放回命令行。
关于vim - 为 vim 命令行添加导航键绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11090808/