我有多个文本块,或者换句话说,有多个像这样的函数:
def ==(other)
...
end
def to_s(full=false)
...
end
def to_a
...
end
def to_hash
...
end
def inspect
...
end
Run Code Online (Sandbox Code Playgroud)
我想按函数签名的字母顺序对函数进行排序。在 Vim 中如何最容易地做到这一点?
rom*_*inl 13
它相对简单(而且,我相信,接近 Jason 的想法):
通过用一些花哨的字符替换所有换行符,将所有函数变成一个衬垫:
:g/def/,/end/s/\n/§
Run Code Online (Sandbox Code Playgroud)对那些衬垫进行排序:
:%sort
Run Code Online (Sandbox Code Playgroud)将您的所有功能扩展回其初始状态:
:g/def/s/§/\r
Run Code Online (Sandbox Code Playgroud)我能想到的最好的方法是,在不编写解析定义的函数的情况下执行此操作,将前面没有的行分隔符替换为end
另一个唯一分隔符(+EOL+?),然后:sort
, 并重新替换行分隔符。它可能会被记录到宏中。
如果您想使用视觉选择,函数可能会更好。
归档时间: |
|
查看次数: |
2905 次 |
最近记录: |