我有两个名为 vim1 和 vim2 的文件。 vim1 文件中有一些文本,但 vim2 完全是空的。我使用 vim vim1 命令打开该文件。后来我写 :vsplit vim2 在分割侧打开 vim2 文件。我使用 Ctrl+w 命令将光束更改为 vim2 屏幕。后来我写了这个:e vim1 at vim2's split。我在这次分裂中写下:wq。关闭两个分割后,我检查了 vim2 文件,它完全是空的。这怎么发生的?
答案1
让我们通过稍微更清晰的文件名来查看您的事件顺序:
- 打开
file1
用vim
。 - (大概,进行编辑
file1
) - 打开
file2
为垂直拆分:vsp file2
这会将光标置于file2
的新拆分中。 - Ctrl用-移动光标W到
file1
分割。 - 使用未指定的方式将光标移回
file2
的分割。 - 执行该命令,这会更改分割后的
:e file1
活动缓冲区file2
还用于显示和编辑file1
- 在原来使用的分割中执行
:wq
保存并退出。file1
file2
在这一系列事件中,没有任何时间被file2
写入,这就是文件为空的原因(如果它存在的话)。
请注意,在这一系列事件的末尾, 的状态vim
将file2
作为唯一剩余的打开缓冲区(在用于 的分割中file1
,刚刚关闭),在未分割的界面中打开,尚未保存。