class MyClass
def zzz
# method body
end
def aaa
# method body
end
end
我如何让VIM按字母顺序组织这些,以便aaa的定义先于zzz的定义?
答案 0 :(得分:4)
你可以设置代码折叠,例如通过缩进,关闭那些函数/ fold,然后用 d d 然后 p 进行操作,但这不是一个大的理想解决方案文件。
这不是一件容易的事。您可以设置一些换行符,例如:
在每个第一级def
之前添加一些特定的注释/标识符,例如
# DEFINITION
def zzz
...
end
# END DEF
然后使用一些占位符将这些行连接成一个带有多线正则表达式魔法(和/或列编辑)的行,这些占位符通常不会出现在您的代码中。
然后通过标准的unix排序对其进行排序(例如,直观地选择你的连接线,然后
:'<,'>!sort
然后拆分插入的模式...
仍然不太理想,但可以做到......
请参阅this answer too。