如何在vim中编辑多列中的文本

如何在vim中编辑多列中的文本,vim,vi,multiple-columns,Vim,Vi,Multiple Columns,如何通过在任意数量的列中显示代码来编辑Vim中的代码 我的笔记本电脑和台式电脑显示器都是宽屏的(我想过去5年或10年制造的大多数显示器都是如此!)。当我全屏打开任何编辑器时,超过一半的屏幕是完全空的。我希望能够有效地使用屏幕的其余部分,将其拆分为两列或三列,这样我就可以在一个屏幕上看到更多的代码 坦率地说,我很惊讶,除了MicrosoftWord之外,我从未在任何编辑器中看到过这种功能 我找到了下面的页面(),它似乎满足了我的需求,但我并不真正理解他们的建议。我确实设置了列和滚动绑定,但这似乎没

如何通过在任意数量的列中显示代码来编辑Vim中的代码

我的笔记本电脑和台式电脑显示器都是宽屏的(我想过去5年或10年制造的大多数显示器都是如此!)。当我全屏打开任何编辑器时,超过一半的屏幕是完全空的。我希望能够有效地使用屏幕的其余部分,将其拆分为两列或三列,这样我就可以在一个屏幕上看到更多的代码

坦率地说,我很惊讶,除了MicrosoftWord之外,我从未在任何编辑器中看到过这种功能

我找到了下面的页面(),它似乎满足了我的需求,但我并不真正理解他们的建议。我确实设置了列和滚动绑定,但这似乎没有任何作用


我通常不使用Vim,但如果我能访问此功能,我会很高兴地切换。我现在使用的是Ubuntu 10.10(gnome)。Vim的默认版本似乎是7.2(/usr/bin/Vim.gnome)。

我认为您要做的是拆分窗口

键入
:Vexplore
垂直拆分窗口

然后使用Ctrl+W+箭头键导航到另一个窗口<代码>:Sexplore将使您能够水平拆分窗口


要在调整大小后均匀分配空间,可以键入Ctrl+W+=

只需按
Ctrl-W v
,您正在处理的文件将被拆分为两个独立的列。重复
CTRL-W v
任意次数

设置滚动绑定:
将滚动绑定设置为要同步滚动的列

例如:

vim afile         # Open a file
^w v              # split it
gg                # go to top
:set scrollbind   # bind this one
^w l              # go to the new split
L                 # go to bottom of this split
zt                # make it the top line
:set scrollbind   # bind with this one
现在,当您在一列上移动时,另一列会滚动,就像第一列的文本溢出到第二列一样。

这就是我使用的内容:

有点笨重。。。有时滚动同步会偏移或断开连接,迫使您重新列化视图(在cmd模式下,
CTRL+W
q
关闭列窗口,以及
\vs
添加列窗口)


但它90%的时间都很有效。我经常使用它。

这属于超级用户吗?显然属于“程序员常用的软件工具”。@brillout“寻找最新的”答案是什么意思?你有什么特别的问题吗?如果下面的答案对您没有帮助,那么最好打开一个新的答案。已接受答案的解决方案不可靠,并且两个窗格的滚动始终不同步。我很惊讶没有更好的解决办法。我会喜欢可靠的东西!这将有效地使我的阅读量翻倍…@brillout IMO,也许最好打开一个新的问题,在那里你可以参考这个问题,并描述为什么这里的答案对你没有帮助,并举例说明这个问题。这个问题已经有了一个公认的答案,也许它对您不起作用,但OP已经接受了它,这意味着,它已经完成了。:*探索和:拆分似乎允许我同时打开两个不同的文件。实际上,我想将同一个文件拆分为多个列。就像长行自动流向下一行一样,我希望长文本溢出到下一列。@Shahbaz:可以说,它会打开浏览器。但是你可以打开同一个文件两次或任意多次。哇,这真是太接近了!我可以在两列中看到同一个文件,它们一起滚动。但是,我不希望在两列中出现镜像,我希望文本从第一列流向下一列。假设我的文件只有1到10k的数字。我希望在第一栏看到1-60,在第二栏看到61-120,等等@Shahbaz:我有一个打字错误。它做你想要的。我想稍后我会更新一个更完整的功能。这似乎和你描述的一样:这个解决方案不可靠,两个窗格的滚动总是不同步。我很惊讶没有更好的解决办法。我会喜欢可靠的东西!这将有效地使我的阅读量翻倍。你可以制作一个更复杂的函数来处理你的边缘案例,但重点仍然是使用
scrollbind