我可以让vim做多行编辑吗?

时间:2011-06-20 07:17:40

标签: vim

我使用vimdiff合并了一个python文件,结果如下:

def code():
  line 1
  line 2
   line 3
   line 4
   ...
   line n

在此状态下,缩进不一致。我怎么能删除前面的所有空格?我尝试了可视模式,但它选择了整条线。 vim有多行编辑吗? Notepad ++允许使用Alt-Shift。

4 个答案:

答案 0 :(得分:6)

Ctrl-V选择块。

或者,删除文件中所有行开头的所有空格:

:%s/^\s\+

答案 1 :(得分:6)

您的问题至少有两种解决方案:

  1. 使用 Ctrl v 进行逐块选择模式。您可以在行的开头选择空格,然后点击 d

  2. 或者,您可以通过使用 SHift v 进入可视模式来逐行选择要修改的行(然后使用向下箭头或 j < / kbd>选择)。然后使用&lt; 删除一个缩进级别。如果要删除多个缩进,请使用重复上一个操作。

答案 2 :(得分:3)

Shift V 会使您进入可视线模式,然后您可以按输入一个命令,仅对选定的内容执行线。

答案 3 :(得分:3)

使用VISUAL模式,您只需选择要重新缩进的所有行并点击=

我从未使用过Notepad ++,但我认为你所谓的多行编辑是可以通过Vim调用VISUAL BLOCK实现的:而不是V命中<C-v>。然后,您可以选择文本的矩形部分。获得专栏后,点击IA进入编辑模式,然后<Esc>将修改应用到所有专栏。由于您要删除单个空格,因此您必须直观地选择空格列并点击xd

我猜你也可以通过简单的搜索/替换来完成。或者使用:norm