如果我在这样的gVim中输入评论
// this is a comment
然后我点击ENTER,它将自动以//开始下一行,所以它看起来像这样:
// this is a comment
//
Run Code Online (Sandbox Code Playgroud)
但通常我不想在使用这种评论风格时写更多评论.我可以阻止gVim自动执行此操作,同时仍然保持自动完成/*..*/commenting样式吗?
Ben*_*oit 28
要在插入模式下按ENTER键时禁用它,请执行 :set formatoptions-=r
要在正常模式下按o或O时禁用它,请执行此操作 :set formatoptions-=o
见:help 'formatoptions'和:help fo-table.
或者,CTRL-U如果要从行开头到光标删除字符,仍然可以按插入模式.
我的另一个答案,因为您不想为/*\xe2\x80\xa6*/评论触发此问题。
使用:
\n\ninoremap <expr> <enter> getline('.') =~ '^\\s*//' ? '<enter><esc>S' : '<enter>'\nRun Code Online (Sandbox Code Playgroud)\n\n对于o和O:
nnoremap <expr> O getline('.') =~ '^\\s*//' ? 'O<esc>S' : 'O'\nnnoremap <expr> o getline('.') =~ '^\\s*//' ? 'o<esc>S' : 'o'\nRun Code Online (Sandbox Code Playgroud)\n