当我打开文件时 Foo.txt
在 vim 中,然后使用 :vsplit
以便我可以并排检查它的不同部分,我注意到如果我在左侧进行任何类型的视觉选择,vim 将在右侧选择相同的文本。此外,如果我开始视觉选择时两侧没有对齐,那么无论我切换到哪一侧,都会跳到与被选中的一侧匹配。
我希望能够使用视觉模式突出显示拆分窗口两侧的文本的不同部分,或者至少能够在左侧使用视觉模式,然后将光标移到右侧。如果这两个文件实际上是不同的文件,这将非常有效。
是否有一些选项可以启用此功能,或者是制作文件副本的唯一方法?
编辑:我正在扩大这个问题的范围以包括任何基于 vimscript 的解决方案,因为它似乎不是一个可以设置的选项。如果有人有一个很好的技巧来获得这种行为,请分享。与此同时,我还将研究 autocmd,尽管它很可能超出了我目前对 vimscript 的了解。
最佳答案
It is as if vim is trying to be clever when it sees two same files, and this cleverness should be disableable.
这种“聪明”是视觉选择(准确地说,
'<,'>
标记)是缓冲区本地的实现细节。正如您所观察到的,不同的缓冲区可以有(并记住)不同的选择。另一种方法是使视觉选择窗口本地化。我猜没有选择这种方法,因为通常无法将确切的选择范围转移到另一个缓冲区;线的数量和长度不同。
也就是说,您可以使用
:autocmd
实现您想要的功能。 s 保存 '<,'>
在 WinLeave
上的窗口局部变量中标记并从 WinEnter
上的那些恢复.
关于vim - 编辑同一个文件时,是否可以在拆分窗口 vim 中使用单独的可视模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15353021/