Pet*_*ich 6 vim command-line keyboard-navigation
也许我没有使用正确的术语,但我正在努力寻找一种方法来添加一些键绑定,以便在vim中导航命令行时使用.
一个例子是以下命令:
:e /really/long/path/that/I/dont/want/to/reenter
并意识到我实际上想要:tabe代替制表符,或者输入一个长的正则表达式模式并在其中发现一个错字.
显然喜欢的东西^,0或b只想输入字符,所以我想要做的是添加一些emacs的绑定命令映射,如<C-a>移动到行的开头,<C-e>移动到该行的结束,一些其他人在单词之间移动(至少那些与其他有用绑定不冲突的单词).
这可能吗?
pb2*_*b2q 14
正如其他人所提到的,您的特定键绑定已经存在:
要获得完整的命令行编辑体验,您可以将vim命令行转换为可编辑的命令缓冲区,以解决此类问题,而不是使用新的键绑定.
在命令行Ctrl-f输入时,点击进入命令行缓冲区.您将处于正常模式,可以浏览并编辑命令行,以及与命令历史记录中的先前命令进行交互和编辑.
在您的示例中,一旦在命令行缓冲区中,您可以简单地使用0itab更改e为tabe.
点击Enter此缓冲区以执行光标所在的命令,并Ctrl-c退出命令行缓冲区,然后返回命令行.
这是我将如何做到这一点:
" adding emacs keybindings for command mode
cnoremap <c-a> <Home>
cnoremap <c-e> <End>
Run Code Online (Sandbox Code Playgroud)
在:help cmdline我找到的帮助文件中
:cnoremap <C-A> <Home>
:cnoremap <C-F> <Right>
:cnoremap <C-B> <Left>
:cnoremap <Esc>b <S-Left>
:cnoremap <Esc>f <S-Right>
Run Code Online (Sandbox Code Playgroud)
最后两个是跳跃的话 - 快乐的跳跃