有没有办法在两个不同的vim窗口中编辑同一个文件,并且两者之间的实时更改同步?
我想为同一个文件设置两个窗口的原因是我可以同时查看两个不同的部分,并可能同时编辑它们。
背景:我在Mac OSX上使用iTerm来容纳多个窗口。这些vim选项卡分别通过每次调用vim [file]启动。
答案 0 :(得分:4)
如果您使用内置的窗口支持,Vim会自然地做到这一点。使用:help window
了解更多信息(或查看window documentation online)。简而言之:
^W^N create a new window
^W^W switch between windows
^W^C close a window
如果您在两个窗口中打开相同的文件,更新将在您键入时反映在每个窗口中。如果您愿意,可以使用水平和垂直分割的命令。
答案 1 :(得分:1)
您可以使用Vim的内置--servername
,--remote-send
和相关的CLI参数使两个独立的Vim实例相互通信,但这对我来说似乎并不实际。
你应该做的是使用Vim,因为它设计了:它在iTerm甚至Mac OS X之前都有分割窗口,其他答案给出了如何使用这个功能的所有基本信息。
另外,你的两个Vim会话不共享寄存器和宏等。
答案 2 :(得分:0)
如果我理解正确,有一个选项:scrollbind
同步两个窗口。
在垂直窗口中打开文件:
vim -O file file
两个窗口中的和:set scrollbind
(或预先将其添加到vimrc
文件中)