如何在VIM中更高/更低并保持在同一列?

时间:2012-12-22 09:07:53

标签: vim

如何将一行降低(或更高)并保持在同一列上?

我需要它例如在C ++中定义多行宏时添加大量对齐的反斜杠,如下所示:

#define MACRO(X)        \
     line1              \
                        \
     long long line3    \
     line4

如果我在添加j后在第1行执行\,则光标将跳转到第2行的第1列。

2 个答案:

答案 0 :(得分:5)

自己找到它:

set virtualedit=all

答案 1 :(得分:0)

每次切换virtualedit值可能不是最佳的。在vimrc中将它设置为all可能会很疯狂;)我更喜欢在我的vimrc中使用set virtualedit=block,这无论如何都非常有用。设置完成后,可以通过以下方式进行编辑:

    上一行的
  1. f\将光标放在\
  2. Ctrl-v进入视觉区块模式
  3. j(或几个j)
  4. r\将选择替换为\(您也可以使用c添加更多字符)