Answers:
我个人建议使用Tim Pope的Unimpaired插件。它提供了许多映射,但是你会寻找那些是[<space>
和]<space>
它创造的空行上面分别当前线以下。Unimpaired还为快速修复列表,缓冲区列表,选项切换以及许多其他操作提供了不错的映射。查看:h unimpaired
更多。
如果您不想使用未受损的插件,但喜欢下面的映射,可以将一些快速映射放入~/.vimrc
文件中:
nnoremap <silent> [<space> :<c-u>put!=repeat([''],v:count)<bar>']+1<cr>
nnoremap <silent> ]<space> :<c-u>put =repeat([''],v:count)<bar>'[-1<cr>
如果不想添加映射,则可以拉yy
空一行,然后将其粘贴p
到光标下方和P
光标上方。
o
寄存器中,"oyy
并在需要时从那里粘贴它"op
。
我的映射使用Shift-Enter
。它与其他方法的不同之处在于,使用标记o 将光标返回到同一行和同一列。
" Insert new line above without going into insert mode
" (uses mark o to return to the previous cursor column)
nnoremap <S-Enter> moO<Esc>`o
<S-Enter>
在终端仿真器中无效(仅在gVim中有效)。因此,您需要选择一个不同的键组合以将其映射到;-)
Maxim Kim的回答改变了生活:
noremap <silent> <space> :exe "normal i".nr2char(getchar())<CR>
和我的即兴表演:
noremap <silent> <s-space> :exe "normal a".nr2char(getchar())<CR>
将这些行放在您的计算机中vimrc
。然后转到您的文件和命中的第二行的开头Space,Enter或去第一线和命中结束Shift+Space,Enter。要么在第一行和第二行之间添加空行,然后将您置于普通模式。
您还可以将这些键用于其他任何单个键-击中Space或Shift+Space跟随所需的键,它将分别插入或追加。