有条件的ESC,想法?

时间:2010-04-08 21:36:19

标签: vim

我经常需要进入插入模式才能对特定行进行更改,并且想知道是否有办法进入插入模式,当我在该行上完成编辑时,点击 Enter 让我回到正常模式。

我知道替换单个字符的r命令,我想我想要的是那样的东西,但是对于一行。

4 个答案:

答案 0 :(得分:3)

以下映射使组合键gii一样进入插入模式,但在此插入模式下按 Enter 将返回正常模式。只需将以下行添加到.vimrc

即可
autocmd! InsertLeave * silent! iunmap <CR>
nnoremap gi :inoremap <C-V><CR> <C-V><ESC><CR>i

答案 1 :(得分:0)

以下是否有效?

:imap <Enter>   <Esc><Enter>

答案 2 :(得分:0)

乍一看,听起来你想要 R ,但问题的其余部分让你觉得你也想要更轻松地更换光标,一般避免使用Esc或插入模式。所以这里有一些随机的建议可能有所帮助:

删除光标下的单词并在命令模式下说: diw

删除整行并保持命令模式: dd

如果你不想达到Esc键,你就可以做到这一点 - 就像从插入模式连续两次击中 j 一样Esc: imap jj&lt; esc&gt;

或者你可以让vim在几秒钟不活动后自动切换回正常模式: * au CursorHoldI * stopinsert *

答案 3 :(得分:0)

如果像我一样你发现延伸到ESC键,那么使用Ctrl- [ - Vim默认定义为它的别名。