插入空行而不进入插入模式

Jam*_*mey 11 vim

我经常发现自己在o或O和ctrl上弹跳{插入空白行并退出插入模式.

认为必须有一个更简单的方法,并希望保持我的光标位置,我把这些草率的宏拼凑在一起:

map <Leader>O :let cursorpos = getpos(".")<CR>:i<CR><CR>.<CR>:let cursorpos[1] = cursorpos[1] + 1<CR>:call setpos('.', cursorpos)<CR>
map <Leader>o :let cursorpos = getpos(".")<CR>:a<CR><CR>.<CR>:call setpos('.', cursorpos)<CR>
Run Code Online (Sandbox Code Playgroud)

但是,这不允许范围.能够去5\O并在我当前的线上获得5个空白将是很好的.

有关如何解决此问题的任何建议允许范围并在完成后仍然返回到原始光标位置?

Luc*_*tte 12

你可以用:call append(linenumber, repeat([''], 5)).它不会移动光标.

  • 很棒,那很完美.我认为必须有一些更优雅的方式.将其切换为:map <Leader> O:<CU> call append(line(".") - 1,repeat([''],v:count1))<CR> map <Leader> o:<CU> call append(line("."),repeat([''],v:count1))<CR>以响应范围.谢谢! (3认同)

nel*_*rom 9

未受损伤的插件添加你想要什么做的映射.您可以插入光标上面的空白行[<space>,或低于光标]<space>.这两个映射都可以加上计数.