我已经使用vim很长一段时间了,并且我知道在可视模式下选择文本块就像 SHIFT + V 一样简单并且向上移动箭头键或者逐行下行,直到我到达我想要选择的文本块的末尾。
我的问题是 - 在视觉模式中有更快的方法来选择文本块,例如通过 SHIFT + V ,然后指定我在其中的行号希望选择停止? (例如,通过:35
,其中35是我想要选择的行号 - 这显然不起作用所以我的问题是找到如果可以做类似的事情......)
答案 0 :(得分:189)
除了其他人所说的内容之外,您还可以使用模式搜索扩展您的选择。
例如, v / f o o 将从您的中选择当前位置到下一个“foo”的实例。例如,如果你真的想要扩展到第35行的“foo”的 next 实例,只需按 n 将选择扩展到下一个实例,依此类推
我不经常这样做,但我知道有些人会广泛使用标记进行视觉选择。例如,如果我在第5行并且我想选择第35行,我可能会按 m a 将标记a
放在第5行,然后: 3 5 移动到第35行。 Shift + v 进入线性视觉模式,最后` a 选择回标记a
。
答案 1 :(得分:104)
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实现了您的目标
答案 2 :(得分:78)
Vim是一种语言。要真正了解Vim,您必须了解语言。许多命令都是动词,vim也有对象和介词。
V100G
V100gg
这意味着“选择当前行直至并包括第100行。”
文本对象是很多权力所在。他们引入了更多具有介词的对象。
Vap
这意味着“选择当前段落”,即选择当前段落及其后面的空白行。
V2ap
这意味着“选择当前段落和下一段。”
}V-2ap
这意味着“转到当前段落的末尾,然后直观地选择它和前一段。”
将Vim理解为一种语言将帮助您从中获得最佳利润。
选择关闭后,您可以与其他命令结合使用:
Vapd
使用上面的命令,您可以选择一个段落并将其删除。将d
更改为y
进行复制,或更改为c
进行更改,或更改为p
进行粘贴。
一旦你了解了所有这些命令如何协同工作,那么你最终不需要在视觉上选择任何东西。您可以使用dap
命令删除段落,而不是直观地选择然后删除段落。
答案 3 :(得分:36)
v35G
将选择从光标到第35行的所有内容。
v
会将您置于选择模式,35
指定您希望G
转到的行号。
你也可以使用v}
来选择下一段开头的所有内容。
答案 4 :(得分:14)
用于选择行数:
shift + v 9j - 选择10行
答案 5 :(得分:7)
Shift+V n j
或Shift+V n k
这将选择当前行和下一行/前一行n
行。我发现它非常有用。
答案 6 :(得分:6)
v 35 j
添加最少30个字符的文字
答案 7 :(得分:4)
文字对象:http://vim.wikia.com/wiki/Creating_new_text_objects
http://vimdoc.sourceforge.net/htmldoc/motion.html#text-objects
答案 8 :(得分:3)
v%
将选择整个区块。
同时玩:
v}
,vp
,vs
等
见帮助:
:help text-objects
列出了选择字母,单词,句子,段落,块等的不同方法。
答案 9 :(得分:3)
您始终只需使用前面的数字来重复操作:
答案 10 :(得分:1)
}表示将光标移动到下一段。所以,使用v}
选择整个段落。
答案 11 :(得分:1)
您可以按vi}
选择光标当前位于{}
括号内的块。
你在这个街区内的位置并不重要(只要确保你在最外层)。您也可以将{
更改为包含)
或]
对的任何内容。
答案 12 :(得分:0)
用于视觉选择全部: 键入Esc以确保您处于正常模式
:0
输入ENTER转到文件的开头
vG
答案 13 :(得分:0)
知道可以派上用场:
为了选择相同数量的行,例如使用1v
你应该做一些修改才能使用1v
,blockwise或linewise。
今天我从here看到了这个惊人的提示:
:5mark < | 10mark > | normal gvV
:5mark < | 10mark > | normal gv
您还可以重置视觉块边界:
m< .......... sets the visual mode start point
m> .......... sets the visual mode end point
答案 14 :(得分:0)
简单只需按 Shift v 行号 gg
示例:您当前的第41行 只需按 Shift v 41 gg
答案 15 :(得分:0)
我在缩进模式下将其与折叠一起使用:
v 在块上的任意位置打开可视模式
za za 两次切换