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

我知道SHIFT + V,但是然后我必须跳到下一个空行或按向下键一堆次。我知道在有类似}这样的匹配字符时该怎么做,但我不知道如何对空行执行此操作。

#1 楼

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




[count]} –向前移动[count]段落。您可以使用<S-v>}选择从当前行到下一个空白行的所有行。这将包括空白行,因此您可能要使用<S-v>}k

[count]ip –选择[count]段落。就像iw(内词)一样,除了段落。使用vip会选择所有段落,而不是从当前行到段落的末尾。 />
这里的一个警告是,Vim不会将仅包含空格的行视为“空白行”。因此,请确保对其进行检查(例如,使用[count]ap),如果它似乎不起作用。


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


/^$
\n\n


*有一些例外,有关完整逻辑,请参阅<S-v>/^$<CR>。但是对于大多数意图和目的,此定义都可以正常工作。

#2 楼

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

#3 楼

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

评论


为什么按Shift +}?一个简单的}就可以了。查看其他答案。

– Ralf
19年1月22日在20:44

@Ralf Sift +}调用/输入大括号},除非您的键盘直接支持插入}而无需按Shift键

–朱奈德
19年1月23日在15:09