Как отсортировать методы в алфавитном порядке в VIM? - PullRequest
4 голосов
/ 30 января 2012
class MyClass

  def zzz
    # method body
  end

  def aaa
    # method body
  end

end

Как мне заставить VIM организовать их в алфавитном порядке так, чтобы определение aaa предшествовало определению zzz?

1 Ответ

4 голосов
/ 30 января 2012

Хорошо, вы можете настроить свертывание кода, например, с помощью отступа, и закрыть эти функции / сгиб, а затем сделать это вручную с помощью d d , затем p , но этоне идеальное решение с большим файлом.

Это не простая задача.Вы можете настроить соединение строк, например:

  1. ставить определенный комментарий / идентификатор перед каждым первым уровнем def, например

    # DEFINITION

    def zzz

    ...

    end

    # END DEF

  2. , затем объедините эти строки водин с некоторой магией многострочных регулярных выражений (и / или редактированием столбцов), с использованием некоторого заполнителя, который обычно не встречается в вашем коде.

  3. , затем сортируйте его с помощью стандартной сортировки Unix (например, визуально выберите вашсоединенные линии, затем

    :'<,'>!sort

  4. , затем разбить на вставленный шаблон ...

Еще меньше, чем идеал, но это можно сделать ...

См. этот ответ тоже .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...