我目前正在重新组织 ArchLinux pacman 镜像列表,将所有美国服务器放在最顶部,但进展非常缓慢。对于每个服务器,我都会向下滚动到列表中的下一个美国服务器,剪切它,返回顶部,粘贴它,等等。
我觉得应该有某种方法让我从底部开始,将我看到的每个美国服务器剪切到累积缓冲区中,然后将其全部粘贴到文件顶部。
我知道 Nano 允许您多次使用剪切命令来向剪切缓冲区添加多次,但这仅适用于彼此相邻的行。
答案1
在 Vim 中,你可以使用:global
到:move
将所有匹配的行移到顶部:
:global/United States/move 0
但请注意,这将反转移动行的顺序。
另一种更符合你要求的方法是将线条切割成命名寄存器(:help quote_alpha
)。大写变体会追加删除内容,因此会累积删除内容:
:let @a = "" | global/United States/delete A
然后,您可以将寄存器粘贴到顶部(这次按照原始顺序):
:0put a