
Actualmente estoy reorganizando la lista de mirrors de pacman de ArchLinux para poner todos los servidores de Estados Unidos en la cima, pero va extremadamente lento. Para cada servidor, me desplazo hacia abajo hasta el siguiente servidor de EE. UU. en la lista, lo corto, vuelvo a la parte superior, lo pego, etc.
Siento que debería haber alguna forma de comenzar desde abajo y cortar cada servidor de EE. UU. que veo en un búfer acumulativo, antes de pegarlo todo a la vez en la parte superior del archivo.
Sé que Nano te permite usar el comando cortar varias veces para agregar varias veces al búfer de corte, pero eso es solo para líneas que están directamente una al lado de la otra.
Respuesta1
En Vim, puedes usar:global
a:move
todas las líneas coincidentes hacia la parte superior:
:global/United States/move 0
Sin embargo, tenga en cuenta que esto invertirá el orden de las líneas movidas.
Otro enfoque más acorde con lo que preguntas es cortar las líneas en unregistro nombrado(:help quote_alpha
). Las variantes en mayúsculas se añaden y por tanto acumulan eliminaciones:
:let @a = "" | global/United States/delete A
Luego puedes pegar el registro en la parte superior (esta vez con el pedido original):
:0put a