如何将剪切的文本附加到 nano/vi 的剪贴板/缓冲区而不是替换那里的内容?

如何将剪切的文本附加到 nano/vi 的剪贴板/缓冲区而不是替换那里的内容?

我目前正在重新组织 ArchLinux pacman 镜像列表,将所有美国服务器放在最顶部,但进展非常缓慢。对于每个服务器,我都会向下滚动到列表中的下一个美国服务器,剪切它,返回顶部,粘贴它,等等。

我觉得应该有某种方法让我从底部开始,将我看到的每个美国服务器剪切到累积缓冲区中,然后将其全部粘贴到文件顶部。

我知道 Nano 允许您多次使用剪切命令来向剪切缓冲区添加多次,但这仅适用于彼此相邻的行。

答案1

在 Vim 中,你可以使用:global:move将所有匹配的行移到顶部:

:global/United States/move 0

但请注意,这将反转移动行的顺序。


另一种更符合你要求的方法是将线条切割成命名寄存器:help quote_alpha)。大写变体会追加删除内容,因此会累积删除内容:

:let @a = "" | global/United States/delete A

然后,您可以将寄存器粘贴到顶部(这次按照原始顺序):

:0put a

相关内容