有没有办法在两个不同的vim窗口中编辑同一个文件,并在两者之间进行实时同步?在两个Vim窗口之间同步编辑
我想为同一个文件设置两个窗口的原因是我可以同时查看两个不同的部分,并且可能同时编辑这两个部分。
背景:我在Mac OSX上使用iTerm来容纳多个窗口。这些vim标签分别启动,每次调用vim [file]。
有没有办法在两个不同的vim窗口中编辑同一个文件,并在两者之间进行实时同步?在两个Vim窗口之间同步编辑
我想为同一个文件设置两个窗口的原因是我可以同时查看两个不同的部分,并且可能同时编辑这两个部分。
背景:我在Mac OSX上使用iTerm来容纳多个窗口。这些vim标签分别启动,每次调用vim [file]。
如果您使用内置的窗口支持,Vim自然会这样做。使用:help window
了解更多(或请参阅window documentation online)。简而言之:
^W^N create a new window
^W^W switch between windows
^W^C close a window
如果您在两个窗口中打开相同的文件,更新将在您输入时反映在每个窗口中。如果您愿意,还可以分割水平和垂直两个命令。
如果我理解正确,有一个选项:scrollbind
,它可以同步两个窗口。
在垂直的窗口中打开文件:
vim -O file file
在两个窗口
和:set scrollbind
(或事先将其添加到您的vimrc
文件)
您可以将两个单独的Vim的情况下彼此交谈使用Vim的内置-in --servername
,--remote-send
和相关的CLI参数,但它似乎并没有真正实践给我。
你应该做的是使用Vim,因为它是按照它设计的:它在iTerm或Mac OS X存在之前拆分了窗口,其他答案给出了如何使用该功能的所有基本信息。
另外,您的两个Vim会话不共享寄存器和宏等。
只是键入:vsp傻 – 2011-12-26 21:58:05
我有这样的感觉,babonk是在谈论GUI窗口,类型与关闭/最大化/最小化按钮。但我可能是错的。 – romainl 2011-12-26 22:18:35
增加了一些背景 – babonk 2011-12-26 22:22:11