视觉选择从光标到下一个空行?


11

如何从当前行选择到下一个空行?

我知道SHIFT+,V但是然后我必须跳到下一个空行或按向下键几次。我知道当匹配字符(如a)时}如何做到这一点,但我不知道如何对空行执行此操作。

Answers:


19

Vim理解“段落”的概念。Vim对段落的定义是由空白行*包围的一块文本。有几个动作和文本对象可以与此配合使用。

  • [count]}[count]向前移动段落。您可以<S-v>}用来选择从当前行到下一个空白行的所有行。这将包括空白行,因此您可能要使用<S-v>}k
  • [count]ip–选择[count]段落。就像iw(内词),除了段落。使用vip会选择所有段落,而不是从当前行到段落末尾。
  • [count]ap–类似ip,不同之处在于这将包括段落周围的空白行。

需要说明的是,Vim 不会将仅包含空格的行视为“空白行”。因此,请确保对其进行检查(例如使用:set list),如果它似乎不起作用。


还请记住,您始终可以搜索所需的模式。您可以使用/^$; 或者,如果您不想选择空行本身,则可以\n\n将光标放在第一行空白行之前的行末:

  • <S-v>/^$<CR>
  • <S-v>/\n\n<CR>

*有一些例外,:help paragraph有关完整的逻辑,请参阅。但是对于大多数意图和目的,此定义都可以正常工作。


12

下一个空行的快捷方式是}。因此,您可能只想使用SHIFT+v}


1

只需按Shift + }一下即可转到下一个空行,而无需选择任何文本。

Sift + v + },vim从当前光标位置选择文本到下一个空行,您必须按ESC退出选择模式


为什么Shift + }呢 一个简单}的举动。查看其他答案。
拉尔夫

@Ralf Sift + }调用/输入大括号,}除非您的键盘直接支持}不按键插入Shift
Junaid
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.