在vim中复制开始和结束括号之间的行

时间:2017-02-16 04:28:34

标签: vim copy

我有一段代码,它有一个开口和相应的右括号。我需要复制那个括号内的代码并将其粘贴到其他地方。我需要多次这样做,所以我需要键盘命令才能启用录音。

例如:

abc{  //beginning of code
    somelines
     {
       some lines
     }
    abc
    {
      some lines
    }
}// end of code

我需要将abc {复制到}//end of the code。行号可能会改变,里面也会有子块。如果我们双击大括号,则使用鼠标,它将选择到块的结尾。但我需要avkeyboard命令才能用作宏。

2 个答案:

答案 0 :(得分:0)

您可以将此宏:/{^Myi{npjdd复制到注册表a。要执行此操作,请键入v转到可视模式,然后选择宏并使用以下内容将其复制到注册表a"ay。然后将光标放在文档的第一个{之前,并键入2@a。此处2可以替换为您希望重复宏的次数。在以下代码中使用此宏:

{
  code1
}
{

}
{
  code2
}
{

}

我明白了:

{
  code1
}
{
  code1
}
{
  code2
}
{
  code2
}

答案 1 :(得分:0)

内部()括号( {)中的 y )应该为您执行此操作:yi{

如果您有圆括号:yi(

如果要将其复制到GUI剪贴板,只需使用 + 注册表:"+yi{