bash的<c-k>: kill-line
功能,这意味着从当前光标位置到行尾删除该行。如何在编辑命令时在vim
命令行模式下执行此操作?
例如:
在:echo 'hell|o world'
命令行模式中键入vim
此命令并且光标位于|
位置时,如何将该行删除为:echo 'hell
?
答案 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>
的原因。