使用以下设置
set textwidth=40
set fo? -> formatoptions=croql)
set comments? -> comments=sO:* -,mO:* ,exO:*/,s1:/*,mb:*,ex:*/,://
set cindent
set cinoptions ->cinoptions=
Run Code Online (Sandbox Code Playgroud)
如果我进入插入模式并开始键入以下行
// abc abc abc abc abc abc abc abc
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,第40个字符的换行符:
// abc abc abc abc abc abc abc
// abc
Run Code Online (Sandbox Code Playgroud)
此外,如果复制并粘贴长度超过40个字符的行
// abc abc abc abc abc abc abc abc
Run Code Online (Sandbox Code Playgroud)
并gqq输入命令,最终得到与上面相同的结果.
但我注意到,如果我进入插入模式并输入下面的行
void funAbc(void) { // abc abc abc abc abc abc abc abc
Run Code Online (Sandbox Code Playgroud)
它没有打破界限.如果gqq输入命令,则会产生
void funAbc(void) { // abc abc
abc abc abc abc abc abc
Run Code Online (Sandbox Code Playgroud)
我预计插入超过40个字符的行或发布gqq都会破坏注释并在下一行中插入"//" - 类似于:
void funAbc(void) { // abc abc
// abc abc abc abc abc abc
Run Code Online (Sandbox Code Playgroud)
我尝试过设置,'smartindent'但没有解决问题.
是否有任何选项/技巧可以改变代码后开始的这些注释的行为?
我不认为是这样。使用“comments”和“formatoptions”进行注释格式化仅识别注释字符串何时位于行首。从行中间开始的注释只能被语法荧光笔识别,不能被格式化程序识别。因此,我认为在 Vim 中这是不可能的。您也许可以找到一个插件来完成此操作,但在 Vim 网站上粗略搜索并没有找到任何有用的东西。
| 归档时间: |
|
| 查看次数: |
340 次 |
| 最近记录: |