Vim-换行/注释重新映射



我在.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插件

最新更新