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

用于与多个选项卡交互的VIM宏

  •  0
  • Frank  · 技术社区  · 16 年前

    1. 获取包含模式的所有行->将它们插入寄存器/剪贴板
    2. 打开新选项卡(第二个选项卡)
    3. 在第二个选项卡中执行一些regex替换过程。

    我可以一个接一个地手动执行命令。

    :let @b="This Value should be pasted in second tab"  | :set dir=$TEMP | :tabe tabname | "bp | :%s/tab/tab and replaced in second tab/gi
    

    但当我将它们记录到宏中时,宏会在第3步停止

    是否有特殊的技术来处理访问多个选项卡的函数/宏

    这是命令示例

        :let @b="This Value should be pasted in second tab" 
        :set dir=$TEMP
        ":tabe tabName
        "bp 
    :%s/tab/tab and replaced in second tab/gi 
    
    1 回复  |  直到 16 年前
        1
  •  0
  •   ZyX    16 年前

    第一行的语法错误:Ex命令不应以开头 : :您使用 : "bp 在这个序列中,是不是从 " “英国石油公司 ,使用 execute 'normal! "bp' ,但也可以粘贴 put b . 能做你想做的事的功能 ~/.vimrc

    function! FindToTab(regex)
        let @b=""
        execute 'g/'.escape(a:regex, '/').'/.yank B'
        set dir=$TEMP
        tabe tabName
        put b
        %s/tab/tab and replaced in second tab/gi
    endfunction
    noremap <special> ,r :<C-u>call FindToTab(input("What to find? /", @/))<CR>