Vim:以可视方式select文本块的更快方式

我已经使用了vim很长一段时间,并且知道在可视模式下select文本块就像SHIFT + V一样简单,并且将箭头键一行一行地上下移动,直到达到文本块的末尾我想要select。

我的问题是 – 在视觉模式下有更快的方法来select一个文本块,例如通过SHIFT + V,然后指定我希望select停止的行号? (通过:35例如,其中35是我想要select的行号 – 这显然不起作用,所以我的问题是要find如果类似的东西可以做…)

除了别人所说的之外,您还可以使用模式search扩展您的select。

例如, v / o将从您当前的位置select下一个“foo”实例。 例如,如果您真的想扩展到第35行的“foo”的下一个实例,只需按n将select扩展到下一个实例,依此类推。

更新

我并不是经常这样做,但是我知道有些人广泛地使用标记来做视觉select。 例如,如果我在第5行,并且想要select第35行,则可以按m a将标记放在第5行,然后 3 5移动到第35行。Shift + v进入行向视觉模式,最后` 一个select回来标记a

 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达到你想要的

Vim是一种语言。 要真正理解Vim,你必须知道这个语言。 许多命令是动词,vim也有对象和介词。

 V100G V100gg 

这意味着“select当前行并包括行100”。

文本对象是很多权力的地方。 他们介绍更多的介词与对象。

 Vap 

这意味着“select当前段落”,即select当前段落和后面的空行。

 V2ap 

这意味着“select当前段落和下一段落”。

 }V-2ap 

这意味着“去到当前段落的结尾,然后在视觉上select它和前面的段落”。

了解Vim作为一种语言将帮助你获得最好的里程。

select完成后,可以和其他命令结合使用:

 Vapd 

使用上述命令,您可以select一个段落并将其删除。 将d更改为y复制或更改为c或更改为粘贴。

一旦你掌握了所有这些命令如何协同工作,那么你最终将不需要在视觉上select任何东西。 您可以直接使用dap命令删除段落,而不是直观地select和删除段落。

v35G将select从光标到第35行的所有内容。

v将您置于select模式, 35指定您要G转到的行号。

你也可以用v}来select一切,直到下一段的开头。

select行数:

shift + v 9j – select10行

文本对象: http : //vim.wikia.com/wiki/Creating_new_text_objects

http://vimdoc.sourceforge.net/htmldoc/motion.html#text-objects

v 35 j

文字最less添加30个字符

Shift+V njShift+V nk

这将select当前行和下一个/前面的n行。 我觉得它非常有用。

v%

将select整个块。

也玩:

v}vpvs

查看帮助:

:help text-objects

其中列出了select字母,单词,句子,段落,区块等的不同方式。

你总是可以使用前面的数字重复操作:

  • 在视觉模式下,input3 5 ↓ 光标向下移动35次,select下一行35行
  • 在正常模式下:
    • 删除35行3 5 d d
    • 粘贴35次3 5
    • 撤消35变化3 5
    • 等等

您可以按vi}select光标当前所在的括号{}的方块。

在这个区块内的哪个位置并不重要(只要确保你在最外层)。 你也可以改变{对任何有一对的东西)]

}表示将光标移动到下一段。 所以,使用v}来select整个段落。

为了在视觉上select全部:inputEsc以确保你是正常模式

 :0 

键入ENTER以转到文件的开头

 vG 

它可以方便地知道:

为了select相同的行数例如使用1v你应该已经做了一些修改,以便能够使用1v ,块或行。

今天,我从这里看到了这个惊人的技巧:

  :5mark < | 10mark > | normal gvV :5mark < | 10mark > | normal gv 

您也可以重置视觉块边界:

 m< .......... sets the visual mode start point m> .......... sets the visual mode end point