Vim:在视觉模式下选择文本块的更快方法
我已经使用vim很长一段时间了,我知道在视觉模式下选择文本块就像SHIFT+V一样简单,并逐行向上或向下移动箭头键,直到我到达我想要选择的文本块的末尾 我的问题是-在视觉模式下,是否有一种更快的方法来选择文本块,例如通过SHIFT+V,然后指定要停止选择的行号?(例如,通过Vim:在视觉模式下选择文本块的更快方法,vim,Vim,我已经使用vim很长一段时间了,我知道在视觉模式下选择文本块就像SHIFT+V一样简单,并逐行向上或向下移动箭头键,直到我到达我想要选择的文本块的末尾 我的问题是-在视觉模式下,是否有一种更快的方法来选择文本块,例如通过SHIFT+V,然后指定要停止选择的行号?(例如,通过:35,其中35是我要选择的行号-这显然不起作用,因此我的问题是如何找到类似的方法…文本对象: V35J 为最小30个字符添加的文本将选择从光标到第35行的所有内容 v将您置于选择模式,35指定要G转到的行号 您也可以使用v}
:35
,其中35是我要选择的行号-这显然不起作用,因此我的问题是如何找到类似的方法…文本对象:
V35J
为最小30个字符添加的文本将选择从光标到第35行的所有内容
v
将您置于选择模式,35
指定要G
转到的行号
您也可以使用
v}
选择下一段开头的所有内容。选择行数:
}V-2ap
shift+v 9j-选择10行
G Goto line [count], default last line, on the first
non-blank character linewise. If 'startofline' not
set, keep the same column.
G is a one of jump-motions.
V35G实现了您想要的除了其他人所说的,您还可以使用模式搜索扩展您的选择 例如,v/foo将从您当前的位置选择到下一个“foo”实例。如果您确实想要扩展到下一个“foo”实例,例如,在第35行,只需按n键将选择扩展到下一个实例,依此类推 更新
我不经常这样做,但我知道有些人广泛使用标记来进行视觉选择。例如,如果我在第5行,我想选择第35行,我可以按ma键在第5行放置标记
a
,然后:35移动到第35行。按住Shift+v键进入逐行视觉模式,最后选择'a'返回标记a
Vim是一种语言。要真正理解Vim,您必须了解该语言。许多命令是动词,vim也有宾语和介词
V100G
V100gg
Vap
这意味着“选择当前行,直到并包括第100行。”
文本对象是非常强大的地方。他们用介词引入更多的宾语
V100G
V100gg
Vap
这意味着“选择当前段落”,即选择当前段落和紧随其后的空白行。
V2ap
这意味着“围绕当前段落和下一段落进行选择”
这意味着“转到当前段落的末尾,然后直观地选择它和上一段。”
将Vim理解为一种语言将帮助您从中获得最佳收益
向下选择后,可以与其他命令组合使用:
Vapd
使用上述命令,您可以在段落周围进行选择并将其删除。将d
更改为ay
进行复制,或将c
更改为ap
进行粘贴
一旦您掌握了所有这些命令如何协同工作的诀窍,那么您最终将不需要直观地选择任何东西。您可以使用dap
命令删除段落,而不是直观地选择然后删除段落。v%
将选择整个块
还可以玩:
v}
,vp
,vs
等
请参阅帮助:
:帮助文本对象
它列出了选择字母、单词、句子、段落、块等的不同方式。}表示将光标移动到下一个段落。因此,使用
v}
选择整个段落。您可以始终使用先行数字重复操作:
}V-2ap
- 在视觉模式下,键入35&向下箭头;光标将向下移动35次,选择接下来的35行
- 在正常模式下:
- 删除35行35dd
- 粘贴35次35便士
- 撤消35个更改35u
- 等等
vi}
选择当前光标所在的用{}
括号包围的块
你在那个街区的什么地方并不重要(只要确保你在最外面的街区就行了)。您还可以将
{
更改为任何具有类似)
或]
Shift+vnj
或Shift+vnk
这将选择当前行和下一个/上一个
n
行。我发现它非常有用。用于选择visual中的所有行:
键入Esc以确保您处于正常模式
:0
键入ENTER转到文件的开头
vG
了解以下信息可能会很有用: 例如,要选择相同的行数,请使用
1v
您应该已经做了一些修改,以便能够使用1v
,按块或按行
今天,我从以下网站看到了这个惊人的提示:
:5马克<| 10马克>|正常gvV
:5马克<| 10马克<|正常gv
也可以通过以下方式重置视觉块边界:
m< .......... sets the visual mode start point
m> .......... sets the visual mode end point
m<..设置视觉模式起点
m> 设置视觉模式终点
简单,只需按Shift v行号gg
示例:从当前行到第41行
只需按Shift v 41 gg我在缩进模式下使用此选项: v打开块上任意位置的可视模式
ZazaToogle它两次+1问得好,因为我发现自己经常做这样的事情。我想知道这是否是开始使用
v%
或v/pattern
或其他什么东西的地方?vip选择内部段落与选择内部句子。V35G
将从当前行到第35行进行视觉选择,al因此,V10j
或V10k
将直观地选择下一个或上一个10lines@Stephan,这正是我想要的。谢谢!!对于行选择,我使用快捷方式:nnoremap V
。在可视行模式下,只需用鼠标右键单击即可定义选择(至少在linux上是这样).总之,比只使用键盘更有效。F