在Vim中选择不同的块

时间:2018-07-31 22:39:12

标签: vim

假设我在vim中有以下文本:-

aaaaaaaa        
bbbbbbbb    
ccccccccc    
ddddd   
eeeee       
ffffffffffffffff    
ggggg

我想一起选择第1,2,3,5和6行...我该怎么做?

3 个答案:

答案 0 :(得分:1)

如果要将这些行复制到剪贴板:

   import 'dart:async';
    void main() {
     ...

      counterController.stream.map((input) => input)
      .transform(transformToString).listen(print);

      for(int i=0; i < 10; i++){
        increment();
      }
    }

如果要将这些行复制到文件中的特定位置,例如复制到文件末尾:

:1,3 yank "+ | 5,6 yank "+

如果需要移动行,请使用:m而不是:t。

用“ |”组合:Ex命令对于大规模复制或移动非常有效,并且您可以将整个操作作为一个“编辑”来撤消。

答案 1 :(得分:0)

您可以对此执行全局操作

将所有与模式匹配的行移动到文件末尾。

:g/\v([a-c]|[ef])/m$ 

将所有与模式匹配的行复制到寄存器'a'。

:g/\v([a-c]|[ef])/y A

大写它们

 :g/\v([a-c]|[ef])/norm gUU

答案 2 :(得分:0)

您可以利用vim-multiple-cursors插件来这样做。 比您必须定义适合您要标记的每一行的模式。类型<C-n>(默认映射)跳到下一个与之匹配的标记。之后,您可以像往常一样一次使用c进行全部更改,例如。