在vim命令行模式下:如何从当前光标位置到结尾杀死该行

时间:2014-10-11 02:24:20

标签: bash vim

bash的<c-k>: kill-line功能,这意味着从当前光标位置到行尾删除该行。如何在编辑命令时在vim命令行模式下执行此操作?

例如:
:echo 'hell|o world' 命令行模式中键入vim此命令并且光标位于|位置时,如何将该行删除为:echo 'hell

2 个答案:

答案 0 :(得分:2)

我发现this key binding in Shougo's vimrc Ctrl + k 设置为删除,直到行尾:

" <C-k>, K: delete to end.
cnoremap <C-k> <C-\>e getcmdpos() == 1 ?
      \ '' : getcmdline()[:getcmdpos()-2]<CR>

请注意,这不会保留寄存器中的其余行,就像bash或Emacs中的等效绑定一样。

检查:h eval以获取有关您可以在命令行上执行的操作的更多帮助。

答案 1 :(得分:0)

编辑命令行不应该发生在命令行本身,而是发生在编辑器中。

这就是为什么你在bash中<C-x>e和在Vim中<C-f>的原因。