在 VIM 中,我有以下的领导快捷方式:
:!git commit % -m 'updated '; git push;
Run Code Online (Sandbox Code Playgroud)
一旦我执行了这个领导者快捷方式,我的光标就会在更新后落在角色上。现在的问题是:
如何使用快捷键删除到该行的末尾?在 bash 中,它将是“CTRL-k”,但这在这里不起作用。我只想删除“更新”一词后的所有内容。
没有默认的快捷方式映射来执行您的要求。可以通过 找到命令模式编辑的完整文档:help cmdline-editing
。欢迎您浏览它以找到对您有用的任何内容。但我不认为你要求的功能在其中。
我猜默认的命令行编辑方式不需要这样的操作。通常我们通过<Ctrl-W>
不移动光标来删除光标前的单词。但是,当然,如果您有自己的编辑方式,您可以随时根据自己的喜好调整 vim 的行为。
您可以通过映射<C-K>
到定义为适合您所需行为的函数来获得所需的快捷方式。这里我写一个例子。您只需将以下代码粘贴到您的~/.vimrc
. 重新获取文件。您可以按照自己的方式使用捷径。
cnoremap <C-k> <C-\>estrpart(getcmdline(),0,getcmdpos()-1)<CR>
Run Code Online (Sandbox Code Playgroud)
如果您有兴趣,这会调用默认的命令模式快捷方式 ( <C-\>e
) 来评估 {expr} 并用结果替换整个命令行。strpart()
是 vim 给出的字符串截断函数。
在您<C-k>
击键时,vim 将从命令模式中提取内容作为字符串。并且只将字符串开头的内容放回光标位置前一个位置。其余内容将被截断并因此被删除。
在键入:
进入命令模式后,或在插入命令后,键入CTRL+ f。您的命令历史记录将显示在新的“命令行窗口”中。一旦到达那里,您就可以D从要开始删除的位置开始使用。然后只需键入\xe2\x86\xa9即可执行命令。
归档时间: |
|
查看次数: |
1504 次 |
最近记录: |