Vim 如何将注释开始和结束缩进到同一列?
我正在编辑一个C代码,我需要将注释的开头放在同一列中,将注释的结尾放在所有行的不同列中 e、 g 所需输出为Vim 如何将注释开始和结束缩进到同一列?,vim,formatting,indentation,Vim,Formatting,Indentation,我正在编辑一个C代码,我需要将注释的开头放在同一列中,将注释的结尾放在所有行的不同列中 e、 g 所需输出为 int i; /* some var */ int j; /* some other */ char c; /* new char */ 我尝试了缩进,阅读了手册页,但没有找到一个我可以使用的选项(太多的标志,可能我错过了一些东西)。 我还尝试了一个vim插件制表,但没有了解如何实现上述功能 有什么帮助吗?使用制表,您可以使用
int i; /* some var */
int j; /* some other */
char c; /* new char */
我尝试了缩进,阅读了手册页,但没有找到一个我可以使用的选项(太多的标志,可能我错过了一些东西)。
我还尝试了一个vim插件制表,但没有了解如何实现上述功能
有什么帮助吗?使用制表
,您可以使用此命令将每行按/*
和*/
拆分为3个部分:
首先选择要格式化的行,然后键入:
Tabularize /\(\/\*\|\*\/\)
这基本上等同于其他语言中的正则表达式(/\*\*/)
,但Vim需要额外的转义
结果:
int i; /* some var */
int j; /* some other */
char c; /* new char */
要根据示例生成准确的结果,您可以告诉tablarize添加额外的空格,如下所示:
Tabularize /\(\/\*\|\*\/\)/l8l1l2
Tabularize /\(\/\*\|\*\/\)/l8l1l2