36

我现在似乎遵循的模式是:

  • 编辑文件直到我喜欢它
  • :w another-file以它为起点another-file
  • :e another-file擦亮another-file

是否有现有的 ex 命令可以同时执行后两个步骤?像:writeAndEdit another-file什么?

我可以使用 vimscript 伪造一个,我只想知道是否存在现有命令。

4

2 回答 2

52

:saveas胜任吗?

:sav[eas][!] [++opt] {file}
            Save the current buffer under the name {file} and set
            the filename of the current buffer to {file}.  The
            previous name is used for the alternate file name.
于 2011-04-28T21:17:00.630 回答
12

如果您先打开新文件然后将原始文件复制到缓冲区,则覆盖原始文件的可能性较小。

:e another-file
:r original-file

我为你找到了答案。输入:help saveas并享受!

:sav[eas][!] [++opt] {file} 将当前缓冲区保存在名称 {file} 下,并将当前缓冲区的文件名设置为 {file}。以前的名称用于替代文件名。[!] 是覆盖现有文件所必需的。当 'filetype' 为空时,在写入文件之前使用新名称完成文件类型检测。当写入成功时,“只读”被重置。{Vi 无此功能}

于 2011-04-28T21:10:16.767 回答