我有一个输入文件(c),其中包含以下内容:
/** doxygen comment for enum member1 */
COMMON_PREFIX_name1 = 1,
/** doxygen comment for enum member2 */
COMMON_PREFIX_name2 = 2,
/** doxygen comment for enum member3 */
COMMON_PREFIX_name3 = 3,
/** doxygen comment for enum member4 */
COMMON_PREFIX_name4 = 4,
...
Run Code Online (Sandbox Code Playgroud)
我可以使用Vim按名称排序定义... nameWhatever并将注释保留在定义之上?
我提出以下一系列行动.
加入成对的线条.
:g/^\s*COMMON_PREFIX_/-j!
Run Code Online (Sandbox Code Playgroud)按变量名称排序连接的行就足够了.
:sort/\*\/\s*COMMON_PREFIX_/
Run Code Online (Sandbox Code Playgroud)拆分排序的行.
:g/\*\/\zs\ze\s*COMMON_PREFIX_/s//\r/
Run Code Online (Sandbox Code Playgroud)您可以将所有三个命令作为一个运行:
:exe'g/^\s*COMMON_PREFIX_/-j!' | sort/\*\/\s*COMMON_PREFIX_/ | g/\*\/\zs\ze\s*COMMON_PREFIX_/s//\r/
Run Code Online (Sandbox Code Playgroud)