2013-10-24 35 views
1

问题this答案启发:编辑当前插入的文本,但否则自动退出Vim插入模式

是否有配置VIM这样的方式,在插入模式移动光标外当前编辑区(光标键,ctrl-o前缀,无论)将返回到正常模式,但只是编辑当前插入的文本将保持插入模式?

怎么样?

或者,如何防止光标离开在插入模式当前插入的文本,需要Esc第一。


一些例子来阐明:

ibsr<left><bs>a<right>

停留在插入模式,但

ibar<up> 
iba<left><left><left> 
iba<right> 

都会返回到正常模式。

回答

2

有没有快速和简单的内置配置;最接近的是默认(空)值'backspace',它禁止在当前插入之外的<BS>,<Del>,<C-W><C-U>

也就是说,没有什么能够阻止你编写自定义插件。它必须:inoremap <expr>所有的移动键(如<Left>,<Up>等),并测试游标离开当前行/不管你认为当前的编辑(不幸的是,'[']标记只在插入模式后留下设置),然后通过<Esc>有条件返回原始密钥。

可行,但相当涉及。 你真的需要编辑给你那些训练轮吗?编辑时的一点自制和反思应该已经教会你使用Vim“right”。

+0

好吧,听起来这是不值得的努力。我只是希望能有一个简单的方法(因为整个“停留在vim插入模式”阵营)。这也有效地解决了我的一个vim宠物小偷,没有办法只是*插入*一个字符与两个按键(而不是当前需要三个)。好吧。 – hyde

+1

要插入单个字符,请尝试以下操作:'nnoremap i $ r' –