Vim 中是否有任何命令可以执行与 o
或 O
相同的操作(在当前命令之前/之后插入一个空行),但它不这样做也切换到插入模式吗?
最佳答案
:nnoremap <silent> [<space> :pu! _<cr>:']+1<cr>
:nnoremap <silent> ]<space> :pu _<cr>:'[-1<cr>
说明:
:put
将在下面按行粘贴寄存器。 (上面的:pu!
):pu _
将粘贴黑洞寄存器,该寄存器为空,因此我们得到一个空行'[
和']
标记设置在更改或拉出的文本的开头和结尾。:'[
会将光标移动到最后一次更改的起始行(本例中为 put):'[-1
会将'[
向上移动一行
如果您更喜欢插件,那么我建议 Tim Pope 的 unimpaired.vim 。它提供了这些映射,但也需要进行计数。该插件还有许多其他不错的映射。
关于Vim命令在普通模式下插入空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6765211/