如何通过VI打开复制的文件

com*_*hys 6 bash

说,我有'a.txt'。我想复制文件并使用 VI 打开新复制的文件。

cp a.txt b.txt
vi b.txt
Run Code Online (Sandbox Code Playgroud)

如何将这两个命令组合在一个命令中?

fil*_*den 14

您可以使用 vi 本身进行复制,方法是打开 a.txt,然后将内容保存到 b.txt(有效地复制它),然后切换到 b.txt。

把它们放在一起:

vi -c 'w b.txt' -c 'e#' a.txt
Run Code Online (Sandbox Code Playgroud)

这相当于运行vi a.txt,后跟:w b.txt命令 (inside vi),它将内容保存到名为 b.txt 的文件中。但此时 vi 仍会编辑 a.txt,因此您继续执行该:e#命令,意思是“编辑替代文件”(或“编辑最后一个文件”),鉴于 vi 刚刚触及 b.txt,它将切换到编辑那个文件。

  • `:f` 命令可能很有用 - 它只会更改文件名,用户可以在编辑会话结束时使用 `:wq` 以正常方式编写它。 (3认同)