如何 select 整行作为 Vim 中的动议?

How to select a whole line for as a motion in Vim?

我最近开始使用 "surround" 插件。我意识到我不知道如何包围当前行。我的意思是,ysap<p> 包围一个段落,ysaw<p> 包围一个单词。显然 dw 删除了一个单词,而 das 删除了一个句子。 dd 删除一行,但是,第二个 d 恐怕不是一个选择。所以 ys??<p> 一行?

重复s (yss),例如ccddyy.

您要找的是 _ 机芯。

Ryan的回答也对, ddd_ 的一个更容易输入的版本,很多命令都有这个优化。

事实证明,surround.vim 也有(谢谢你 Ryan!)并且作弊了一点。

正如您在 :h _ 中看到的那样,它实际上并不引用当前行,而是引用 [count] -1 行中的第一个 non-blank 字符。这是 dd 等使用的行为。但这并不是我们真正想要的用例,ys_ 实际上会给你这个:

"
line
"

而不是这个:

"line"

所以 surround.vim 插件 "cheats" 有点,通过实现 yss 命令,它不像 ddcc 或 [=24] =] 但适用于它的用例。

所以回答标题中的问题:_是一般的解决方案。

如果您只是在寻找 surround.vim 使用 Ryan 的回答