
В настоящее время я реорганизовываю список зеркал ArchLinux pacman, чтобы поместить все серверы США наверх, но это происходит крайне медленно. Для каждого сервера я прокручиваю список вниз до следующего сервера США, вырезаю его, возвращаюсь наверх, вставляю его и так далее.
Мне кажется, что должен быть какой-то способ начать снизу и поместить все увиденные мной серверы США в накопительный буфер, а затем вставить их все сразу в начало файла.
Я знаю, что Nano позволяет использовать команду «Вырезать» несколько раз, чтобы добавлять несколько раз в буфер вырезания, но это работает только для строк, которые находятся непосредственно рядом друг с другом.
решение1
В Vim вы можете использовать:global
к:move
все совпадающие строки вверху:
:global/United States/move 0
Однако следует отметить, что это приведет к изменению порядка перемещенных строк на обратный.
Другой подход, который больше соответствует тому, о чем вы спрашиваете, — это сокращение линий доименованный регистр(:help quote_alpha
). Варианты с заглавными буквами добавляют и, следовательно, накапливают удаления:
:let @a = "" | global/United States/delete A
Затем вы можете вставить регистр вверху (на этот раз в исходном порядке):
:0put a