Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
以“定义”开头的所有行并将它们粘贴到带有 vi 的文本文件末尾的最佳方法是什么?
例如,如果我有:
定义 XXX 一个 定义 YYY b
定义 XXX
一个
定义 YYY
b
我想得到:
定义 XXX 一个 定义 YYY b 定义 XXX 定义 YYY
解决方案:
在 vi 中,g/^define/t$效果很好。
g/^define/t$
vim 解决方案见下文。
您可以使用Go<ESC>(gee, owe, and the escape key) 在文件末尾打开一行,然后输入字符:
Go<ESC>
!!grep '^define' %<ENTER>
这会将您的当前行(您刚刚在文件末尾打开的行)替换为该grep命令的输出(%当前文件在哪里)。
grep
%
您需要确保首先保存文件,因为它使用磁盘上的副本,而不是内存中的副本,请记住,这是使用 Vim 的 - 较旧的 Vi 变体可能没有此功能。