我在.virc中添加了以下行,以便在正常模式下按enter键时添加换行符:
"" insert line break in normal mode on Enter
nmap <S-Enter> O<Esc>
nmap <CR> o<Esc>
这很好,除非我想在正常模式下通过按cmd+/注释当前行,它会注释当前行并添加换行符,换行符也会被注释。我该怎么解决这个问题?
非常感谢
这些评论一起给出了答案;总结如下:
在注释后插入新行时,您可以看到默认的格式行为。它是由'formatoptions'
中的o
值引起的。您可以将映射修改为设置格式化选项-=o
但是,插入新空行还有其他方法:
nnoremap <silent> <S-Enter> :put! _<CR>
nnoremap <silent> <CR> :put _<CR>
(附言:您应该使用:noremap
;它使映射不受重映射和递归的影响。)
此外,还有一些插件提供了这一点(以及几个相关的映射):
- unaired.vim-一对方便的括号映射
- 我的LineJuggler插件