VIM 选择整行

问题描述 投票:0回答:5

当你的光标位于该线上的某个随机点时,如何在 VIM 中选择该线?

我知道你可以执行 (v, $) 到达行尾,或者执行 (v, ^) 到达行首,但是当你执行 (v,$,^) 时,逻辑上不会选择整行,它从光标开始选择,直到结束,然后将其切换到光标直到开始......所以这种方法当然失败了。

vim
5个回答
185
投票

大写

V
一键选择当前行;两个,如果你在 shiftv 中包含“shift”。


92
投票

V将是直接答案。但是,我很少需要这样做,因为“选择当前行”通常是较大任务的一部分。此类任务的示例包括复制行和删除行。一般来说,有更好的方法来完成整个任务。以下是我能想到的一些任务:

  • 复制该行:yy
  • 删除行:dd
  • 缩进该行:>><<
  • 选择当前段落:vapvip
  • 从当前行删除到文件末尾 0dG
  • 突出显示当前行以查看光标所在位置:在 .vimrc 文件中使用
    :set cursorline

我使用V的一种情况是选择不是段落或其他文本对象的多行。在这种情况下,有一个提示可能对您有用:进入选择模式后,您可以使用 o 在选择的开始和结束之间跳转光标。


10
投票

虽然这可能需要更多的击键。

如果您已经处于视觉模式,您可以使用

o
转到视觉选择的另一端。

这样你就可以输入

v0o$

选择整行。来看看

:h visual-change


但是从评论来看,您似乎只想复制整行。

这就是

yy


6
投票

只需更改您的操作顺序即可。你几乎已经拥有它了。

^,v,$

或者按照@Kent的建议:因为如果该行有前导空格,^会转到第一个非空字符:

0,v,$

2
投票

我知道这个帖子已经很老了,但我也有同样的问题。该线程首先出现,但我找到了与此处找到的答案不同的答案。使用“V”选择整行。就这么简单。一个字符选择当前整行。

© www.soinside.com 2019 - 2024. All rights reserved.