
Atualmente estou reorganizando a lista de espelhos pacman do ArchLinux para colocar todos os servidores dos Estados Unidos no topo, mas está indo extremamente devagar. Para cada servidor, estou rolando para baixo até o próximo servidor dos EUA na lista, cortando-o, voltando ao topo, colando-o e assim por diante.
Eu sinto que deveria haver alguma maneira de começar de baixo e cortar todos os servidores dos EUA que vejo em um buffer cumulativo, antes de colar tudo de uma vez no topo do arquivo.
Eu sei que o Nano permite que você use o comando cut várias vezes para adicionar várias vezes ao cutbuffer, mas isso é apenas para linhas que estão diretamente próximas umas das outras.
Responder1
No Vim, você pode usar:global
para:move
todas as linhas correspondentes no topo:
:global/United States/move 0
Observe que isso inverterá a ordem das linhas movidas.
Outra abordagem mais alinhada com o que você está perguntando é cortar as linhas em umregistro nomeado(:help quote_alpha
). As variantes maiúsculas acrescentam e, portanto, acumulam exclusões:
:let @a = "" | global/United States/delete A
Você pode então colar o registro no topo (desta vez com a ordem original):
:0put a