在视觉模式下恼人的vim行为

时间:2016-08-12 02:03:18

标签: vim

我们说我有以下三行,光标在where是:

1. This is a slightly longer line.▐I want to delete this and the next line.
2. This is a shorter line
3. This is the third line

我想删除光标和第2行的其余部分,所以我做了vjd,但这样就留下了我的文字:

# This is a slightly longer line.# This is the third line

这是因为在视觉模式下选择文本时,vim会在行尾选择一个额外的虚拟角色。我曾与virtualedit玩过,但这似乎没什么帮助。

关于如何获得我想要的原始行为的任何线索?

2 个答案:

答案 0 :(得分:0)

尝试三次击键 - sh-d,sh-j,sh-d

shift-d(删除到行尾)

shift-j(与此合并下一行)

shift-d(删除合并的,即第二行

这将为你做到这一点。

答案 1 :(得分:0)

那是因为如果您没有设置virtualedit,vjd将删除包括新行字符在内的所有内容。所以你只需做vjhd代替,以保持新线完整。

否则virtualedit=all,我不会遇到这个问题。