是否有一种方法可以在两个不同的vim窗口中编辑相同的文件,并在两者之间同步更改?
我想为同一个文件设置两个窗口的原因是,这样我就可以同时查看两个不同的部分,并可能同时编辑。
背景:我在Mac OSX上使用术语来容纳多个窗口。这些vim选项卡分别启动,每次调用vim [file]。
如果您使用其内置窗口支持,Vim自然会这样做。使用:help window
查找更多信息(或在线查看窗口文档)。简而言之:
^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内置的--servername
, --remote-send
和相关的CLI参数使两个独立的Vim实例相互通信,但这对我来说似乎并不实际。
你应该做的是按照设计来使用Vim:在iTerm甚至Mac OS X出现之前,Vim就有分屏窗口,这里的其他答案给出了如何使用这个功能的所有基本信息。
另外,您的两个Vim会话不共享寄存器和宏等。