我有一个包含以下内容的文件:
/** 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,
...
是否可以通过 name1
对定义进行排序, name2
等在成员名称中添加后缀,并将每个注释保留在相应的定义之上?
最佳答案
我建议采取以下行动顺序。
:g/^\s*COMMON_PREFIX_/-j!
:sort#\*/\s*COMMON_PREFIX_#
:g#\*/\zs\ze\s*COMMON_PREFIX_#s//\r/
您可以一次运行所有三个命令:
:exe'g/^\s*COMMON_PREFIX_/-j!' | sort#\*/\s*COMMON_PREFIX_# | g#\*/\zs\ze\s*COMMON_PREFIX_#s//\r/
关于vim - 如何在 Vim 中对两行 block 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6924816/