0

在 Vim 中,您可以使用Ctrl+v选择垂直的代码块。这很酷,因为这样您可以在文本中的任何位置插入一个矩形文本块。我还没有在其他任何地方看到的功能。

但是说我有这样的文字:

1 abcde
2 abcdefg
3 abcdefg
4 abc

我想选择这个完整的块作为垂直块。如果我在第a1 行并开始选择,然后向下移动到第 4 行,我只能将光标移动到该c行中的最后一个字符。所以上面的行被切断了,给了我这个选择:

1 abc
2 abc
3 abc
4 abc

有没有办法让全文被选为垂直块?

4

3 回答 3

2

如果您想选择确切的 4 行(包括第一行),您可以:

Ctrl-V$3j

这会选择所有文本,但它们实际上并不在“块”中,因为第一行和最后一行的长度不同。

如果您确实想要一个“块”文本(在那些“较短”行上附加空格),您可以:

set ve=all
Ctrl-V hhhhh... jjjjj...

通过设置veall,您的光标可以移动到任何地方。如果您喜欢在选择/复制后,您可以将其设置ve回其原始值。

于 2013-10-14T07:59:40.700 回答
1

问了这个问题一分钟后,我自己发现了。诀窍是按下$上面的第 4 行。因此,如果光标位于第 1 行,则完整的击键系列a为:

Ctrl+v3j$

于 2013-10-14T07:49:30.670 回答
0

一个快速而肮脏的解决方案是在第 4 行的末尾插入 4 个空格。

于 2013-10-14T07:51:04.660 回答