我通常使用visual block
使用:<Ctrl-v>G$A;<Esc>
在行的末尾插入分号。这非常有效。但是,当我想使用类似的键击<Ctrl-v>G$A<BS><Esc>
删除分号时,它只对第一行起作用如下:
结果:
var foo = 1
var bar = 'a';
var baz = 'z';
var foobar = foo + bar;
var foobarbaz = foo + bar + baz;
预期结果:
var foo = 1
var bar = 'a'
var baz = 'z'
var foobar = foo + bar
var foobarbaz = foo + bar + baz
我做错了什么?
答案 0 :(得分:2)
这就是为什么会发生这种情况: 基本上就是这样,因为一旦编辑后的文本比原始行短,Vim就不知道该怎么做,所以它会中止块编辑。
我想解决这个问题,但还没有找到解决这个问题的好方法。
答案 1 :(得分:1)
视觉范围加上命令是否足够?
:<','>norm $x
在视觉选择的每一行上运行$x
(删除该行的最后一个字符)。