如何在视觉模块模式中选择整个列?

假设我在(g)Vim中有这个简单的文字:

a  b  c
a  b  c
a  b  c
a  b  c
a  b  c

在切换到可视化块选择模式后,我怎样才能选择整个第三列? Ctrl + VG选择整个文本。 我正在寻找用于选择整个列选择的键盘快捷键,如果存在的话。

谢谢。


G进入最后一行,但如果设置了startoflinecompatible (启用startofline )选项,则会将光标移动到第一个非空白位置。 如果要保留同一列, nosol在进入可视块模式之前设置nosol ,然后按G.

startofline的手动输入:

当“开”时,下面列出的命令将光标移动到该行的第一个非空白处。 关闭时,光标保持在同一列(如果可能)。 这适用于命令:CTRL-D,CTRL-U,CTRL-B,CTRL-F,“G”,“H”,“M”,“L”,gg以及命令“d”,“用linewise运算符“<”和“>>”,带有“%”的计数并缓冲变化的命令(CTRL- ^,:bnext,:bNext等)。


CTRL-V进入块选择模式(允许您选择矩形块文本)。 在gvim中,这与Windows的粘贴快捷方式冲突,因此您可以使用CTRL-Q。

不幸的是,由于[G]运动在文件中线性移动,所以CTRL-Q [G]不会做你想要的,所以你仍然需要依靠使用计数[j]运动。 您可以避免必须通过使用大量计数来确切知道文件有多大,如9999.所以完整的命令是CTRL-Q [9999j]。

唉,我不知道这样可以避免丑陋的数字。

编辑:哦,我太快阅读你的问题,错过了你已经提到你关于视觉块模式的新东西。 我想这是一个很无用的答案,然后,对不起!


选择列的简单方法是使用插件vis.vim

进入视觉模式,选择列ctrl+v ,然后你可以做任何你想要的

使用V,v或Ctrl + V可视化标记某个区域。然后键入:B cmd (该命令将显示为:'<,'>B cmd

该命令然后将被应用于视觉选择的区域。

例如:

使用ctrl-v选择一列,然后在该列上进行替换。

Ctrl-V ..move .. :B s/pattern/becomes/

使用Ctrl-V选择一个列,然后将外部过滤器应用于该列:

Ctrl-V ..移动.. :B !sort

链接地址: http://www.djcxy.com/p/49471.html

上一篇: How do you select a whole column in visual block mode?

下一篇: How to efficiently switch arguments in vim