[英]Format line with code and comments in vim
使用以下设置
set textwidth=40
set fo? -> formatoptions=croql)
set comments? -> comments=sO:* -,mO:* ,exO:*/,s1:/*,mb:*,ex:*/,://
set cindent
set cinoptions ->cinoptions=
如果我进入插入模式并开始键入以下行
// abc abc abc abc abc abc abc abc
正如预期的那样,第40个字符的换行符:
// abc abc abc abc abc abc abc
// abc
此外,如果复制并粘贴长度超过40个字符的行
// abc abc abc abc abc abc abc abc
并输入命令gqq
,结果与上面结果相同。
但我注意到,如果我进入插入模式并输入以下行
void funAbc(void) { // abc abc abc abc abc abc abc abc
它没有打破界限。 如果输入命令gqq
,则会产生
void funAbc(void) { // abc abc
abc abc abc abc abc abc
我预计插入行超过40个字符或发出gqq
都会破坏注释并在下一行中插入“//” - 类似于:
void funAbc(void) { // abc abc
// abc abc abc abc abc abc
我试过设置'smartindent'
但它没有解决问题。
是否有任何选项/技巧可以改变代码后开始的这些注释的行为?
我认为不是。 带有'comments'和'formatoptions'的注释格式只能识别注释字符串何时处于行首。 从行中间开始的注释仅由语法高亮显示器识别,而不是格式化程序。 出于这个原因,我不认为在Vim中发货是可能的。 您可能能够找到一个插件来执行此操作,但在Vim网站上粗略搜索并未发现任何有用的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.