在Vim中,您可以使用 Ctrl + v 来选择垂直代码块。这非常酷,因为这样您就可以在文本的任何位置插入矩形文本块。我还没有在其他任何地方见过的功能。
但是我说有一个文字:
1 abcde
2 abcdefg
3 abcdefg
4 abc
我想选择这个完整的块作为垂直块。如果我在第1行的a
,并开始选择,然后向下移动到第4行,我只能将光标移动到该行中的最后一个字符c
。所以上面的行被切断了,给我这个选择:
1 abc
2 abc
3 abc
4 abc
有没有办法将全文选为垂直块?
答案 0 :(得分:2)
如果你想精确选择4行(包括第1行),你可以:
Ctrl-V$3j
这会选择所有文本,但它们实际上不在“块”中,因为第一行和最后一行的长度不同。
如果你想要一个“块”的文本,(在那些“较短”的行上添加空格),你可以:
set ve=all
Ctrl-V hhhhh... jjjjj...
通过将ve
设置为all
,您的光标可以转到任何位置。如果您在选择/复制后喜欢,可以将ve
设置回其原始值。
答案 1 :(得分:1)
在问这个问题后一分钟我发现了自己。诀窍是按上面第4行的 $ 。因此,如果光标在第1行的a
上,那么完整的一系列击键是:
控制 + v 3 Ĵ $
答案 2 :(得分:0)
快速而肮脏的解决方案是在第4行的末尾插入4个空格。