Vim命令在普通模式下插入空行

标签 vim insert

Vim 中是否有任何命令可以执行与 oO 相同的操作(在当前命令之前/之后插入一个空行),但它不这样做也切换到插入模式吗?

最佳答案

: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/

相关文章:

python - 二叉搜索树的插入算法不起作用

search - 如何在vim中显示打开折叠中匹配搜索的行?

vim 语法高亮怪异

regex - 理解正则表达式

python - 如何映射 F4 在 vi​​m 上运行无名文件?

mysql延迟插入时间戳

vim - 如何在 vim 中保存带有 UTC 时间的文件名?

java - 如何使用 Spring data jdbc 插入带有自定义 id 的记录?

MySQL插入固定值和多select结果的数据

javascript - 从复选框数组中插入多个值,并以逗号分隔