如何在 Vim 中自定义 "comment marker"

How can I customize "comment marker" in Vim

当设置 formatoptions 以包含 o 标志时,在注释行上按 oO 将 "inherit" 作为前导注释标记。

但是,对于 Stata,只有 \ 被识别为 "valid comment"。 set formatoptions+=o.

忽略了其他两种类型的评论

我可以将多个前导 characters/strings 命名为 Vim 中的 "comment marker" 吗?下面是如何在 Stata.

的语法文件中定义 "comment lines"

(来自 C:/vim/vimfiles/syntax/stata.vim

" comments - single line
" note that the triple slash continuing line comment comes free
syn region stataStarComment  start=/^\s*\*/ end=/$/    contains=stataComment oneline
syn region stataSlashComment start="\s//"   end=/$/    contains=stataComment oneline
syn region stataSlashComment start="^//"    end=/$/    contains=stataComment oneline
" comments - multiple line
syn region stataComment      start="/\*"    end="\*/"  contains=stataComment

我看不出 // 作为标记有什么特别之处,至少在语法文件中是这样。

提前谢谢你。

您正在查找的设置是 comments 设置。

由于 stata 文件似乎没有文件类型插件,因此没有人设置它并保持默认值(这不是很好)。

由于stata的注释与c类似,我们可以看看c是如何处理注释的。在 $VIMRUNTIME/ftplugin/c.vim 中我们找到

setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://

如果您将其添加到 ~/.vim/ftplugin/stata.vim,您应该将 c 风格的注释添加到 stata 文件中。 (这似乎可以处理所有三种类型,即使前导 * 不是有效的 c 注释。)

相关帮助主题 :h 'comments':h format-comments。第二个帮助主题将解释 comments.

的所有选项