我在 VIM 中有一个文件,其中一堆名称位于不同的行中。
我想打开这个带有过滤结果的文件(更容易查看)。 但是,我想保留其他行/名称。
示例:
#open names file only show names that begin with a
vim names.txt | grep “a.*”
我知道上面的方法行不通但是假设说如果它以所需的功能打开(仅显示以a开头的名称),然后我对这些名称进行了更改,最后保存了文件。
我想在不使用 grep 的情况下正常打开文件,并查看其余名称不受影响。
我尝试过...
cat names.txt | grep “a.*” > names.txt
不幸的是,这不起作用,因为一旦我在 vim 中运行 :wq ,它将覆盖当前的名称.txt 文件。
感谢任何和所有帮助/建议
方案一:在命令行中运行
grep '^a' <file_path> | vim -
,将过滤后的名称加载到临时缓冲区中,原文件不受影响。
选项 2:如果行顺序对您来说并不重要,请尝试在 vim 中使用
:g/^a/ m0
将目标名称移至文件顶部。这样可能更容易查看。