在vim的插入模式下,如何从当前光标位置删除至行尾?
我知道在命令模式下可以使用D
实现此功能,并且我知道在插入模式下可以使用ctrl-u从光标位置删除至行开头,所以我猜这应该是可能的。
在vim的插入模式下,如何从当前光标位置删除至行尾?
我知道在命令模式下可以使用D
实现此功能,并且我知道在插入模式下可以使用ctrl-u从光标位置删除至行开头,所以我猜这应该是可能的。
inoremap <C-k> <C-o>D
(我想)简化为单个键组合。 - ams在VIM中没有内置的方法来实现这个功能,但是你可以使用以下映射来在VIM中使用Ctrl+k,就像在Emacs中一样:
inoremap <C-k> <Del>
然而,如果你想要使用VIM内置的双字符功能来编写特殊字符,你应该使用不同的按键绑定,比如。
digraphs
。 - Kent<del>
删除当前位置和EOF之间的内容?顺便说一句,在插入模式下,ctrl-d
比ctrl-k
更有用,它可以处理缩进。 - Kent<Del>
键是否删除“从当前光标位置到行尾”的内容?还是我漏掉了什么? - KentC-O
时,在映射中不需要使用ESC
。有了那个ESC
,你就会回到NORMAL模式。2、我总是很小心地处理INSERT映射,有时候很难找到一个合适的插入模式映射。例如,如果你的<Leader>
是\
,有人想要输入/编辑Windows路径:c:\\some\path\kill bill\...
,我想你已经看出问题了。另外,如果你的Leader
是,
(逗号),在插入模式下也经常使用,k
。 - Kent<C-k>
绑定到 kill-line,可以使用 getcmdline()
和 getcmdpos()
函数:cnoremap <C-k> <C-\>e(" ".getcmdline())[:getcmdpos()-1][1:]<CR>
D
。问题是什么? - Don RebaESC
或C-O
回到“正常”模式,即使你真的想留在插入模式下。不要害怕离开插入模式。在那里你只能进行插入操作,大部分时间应该呆在正常模式下。否则就应该把插入模式称为正常模式 :) - Kent