将未保存的Vim缓冲区写入文件而不保存

时间:2015-07-17 20:49:48

标签: vim

我使用:enew在Vim中打开一个未保存的新缓冲区。我的状态行显示“[No Name]”。

如果我:w /tmp/foo,状态行将更改为“/ tmp / foo”。

如何在保持缓冲区未保存(未修改,未命名)的同时将内容写入文件?

3 个答案:

答案 0 :(得分:6)

如果你想让缓冲区保存,但将内容保存到另一个文件,你可以尝试这个技巧:

:%!tee new-filename

这仅适用于UNIX系统,因为它执行外部tee命令。

另一方面,如果要为缓冲区命名,但保留未保存的缓冲区,请尝试以下操作:

:file new-filename

要了解更多信息,请阅读

:help :file_f

答案 1 :(得分:2)

您可以使用:file设置缓冲区的名称:

:file foo

这不会影响缓冲区的modified状态。您可以通过设置modified选项来设置缓冲区的modified状态:

:setlocal modified

这不会影响缓冲区的名称(或其他属性)。

答案 2 :(得分:0)

  1. 打开文件进行编辑和编辑
  2.      vi testFile
    1. 写入新文件(正如您所做)
    2.      :w newFilename
      1. 返回第一个缓冲区
      2.     :buf testFile
        1. 继续编辑testFile缓冲区,保存到newFilename buffer