如何拥有同一个文件的静态视图?

svi*_*ick 6 vim

我正在 vim 中编辑一个文件,我想创建一个新窗口(以与:vsplit所做的类似的方式),其中包含我开始编辑之前的文件视图。

换句话说,我想编辑左窗口中的文本,但我希望右窗口中的文本保持不变。

有什么方法可以在 vim 中做到这一点,还是我将文件复制到一个临时文件并在新窗口中打开它?

gar*_*ohn 4

您可以创建一个类似于 DiffOrig 的命令(请参阅 Daniel Andersson 的答案和“:help DiffOrig”),该命令只需将原始文件读入新缓冲区:

command ShowOrig vert new | set bt=nofile | r ++edit # | 0d_
Run Code Online (Sandbox Code Playgroud)

要将光标放回原始窗口,请添加wincmd p

command ShowOrig vert new | set bt=nofile | r ++edit # | 0d_ | wincmd p
Run Code Online (Sandbox Code Playgroud)

++edit在最近版本的Vim.