Vim - 换行符/重新映射

时间:2014-09-17 10:57:14

标签: vim

我在正常模式下按Enter键时添加了以下行而不是我的.vimrc来添加换行符:

"" insert line break in normal mode on Enter
nmap <S-Enter> O<Esc>
nmap <CR> o<Esc>

这样可以正常工作,除非我想在正常模式下注释当前行,方法是按cmd + /它注释当前行并添加一个也注释掉的换行符。 我该如何解决这个问题?

非常感谢

1 个答案:

答案 0 :(得分:1)

这些评论共同给出了答案;这是摘要:

在注释之后插入新行时,您会看到默认的格式化行为。这是由o中的'formatoptions'值引起的。您可以修改映射到     set formatoptions- = o

但是有一些替代方法可以插入一个新的空行:

nnoremap <silent> <S-Enter> :put! _<CR>
nnoremap <silent> <CR> :put _<CR>

(PS:You should use :noremap;它使映射不受重映射和递归的影响。)

此外,还有一些插件可以提供此功能(以及一些相关的映射):