如何在切换到新缓冲区(并关闭原始缓冲区)时在VIM中保存具有新名称的文件

时间:2015-06-27 19:07:09

标签: vim

关于它的标题:我知道

w! newFileName

将在继续编辑原始文件的同时写入newFileName

但我想

  1. 写入newFileName
  2. 在当前缓冲区中打开新的newFileName
  3. (因此意思是:关闭原始文件而不对其进行更新)
  4. 感谢。

2 个答案:

答案 0 :(得分:19)

sav命令应该做你想要的。

答案 1 :(得分:3)

完成此操作的另一种方法是:w newName然后CTRL-^(与CTRL-6相同)切换到新名称。

当您:w为新名称时,它会将其设置为"替代"文件名,CTRL-^将其切换为主要名称。有关详细信息,请参阅:help alternate。同样有用的是:f newName,它只是重命名缓冲区(将旧名称保存为备用)而不保存任何内容。

我比:saveas命令更喜欢这个,因为它不会引入新命令,只会引入新的快捷方式,这在其他环境中偶尔也会有用。我总是感到惊讶的是,每当我遇到它时,切换到新名称并不是:w newName的默认行为;我很难想到现有行为更可取的用例。