代码之家  ›  专栏  ›  技术社区  ›  user121392

用附加括号将括号及其内容括起来

  •  1
  • user121392  · 技术社区  · 7 年前

    我想从中转换行

    (variable=value)
    

    ((variable=value))
    

    我应该如何从vim命令行执行该操作?

    3 回复  |  直到 7 年前
        1
  •  1
  •   dlmeetei    7 年前

    可能您可以使用以下替代命令

    :%s/(.*)/(&)/g
    

    .* - all strings of characters of any length and
    &  - the whole matched pattern
    
        2
  •  1
  •   Ingo Karkat    7 年前

    这通常是通过 surround.vim plugin va( ,然后通过 S( .

        3
  •  1
  •   SergioAraujo    7 年前

    一种可能的解决方案(如果您的线路中只有此模式):

     :.s/.*/(&)
    
     .s ................... current line substitute
     .* ................... everything
     ( .................... open paren
     & .................... all pattern searched
     ) .................... close paren
    

     :norm! I(^[A)
    

    OBS:simbol ^[ Ctrl-v Ctrl键-[ .

    别忘了你可以重新执行最后一个命令 : 在当前行中键入 @: 在接下来的几行中 @@

    在没有插件的正常模式下,您可以这样做(如果模式没有太多重复):

    ca( ................ start changing the pattern (text goes to default register ")
    ( .................. start typing open parenthesis
    Ctrl-r" ............ insert default register 
    ) .................. close parenthesis
    

    OBS:可以通过键入重复此操作 .