代码之家  ›  专栏  ›  技术社区  ›  Alex Harvey

如何在文本中插入vimscript

vim
  •  0
  • Alex Harvey  · 技术社区  · 7 年前

    我有一个vimscript中最简单的需求。我在谷歌上搜索了很长一段时间。 1 2 3

    aaa
    bbb
    ddd
    eee
    

    我只想加上缺失的那一行 ccc bbb .

    我有一个vimscript函数的开头:

    function! addLine()
      normal /bbb
      " MISSING LINE
      wq!
    endfunction
    

    漏掉的那一行应该是什么?

    注意,我想使用 vim -c 'call addLine()' FILE

    0 回复  |  直到 7 年前
        1
  •  1
  •   muru Rider44    7 年前

    使用Vimscript时,我会避免 :normal builtin functions 做同样的事情:

    function! AddLine()
        let l:foundline = search("bbb") " Can return 0 on no match
        call append(l:foundline, "ccc")
        wq!
    endfunction
    

    search() append() 在函数中使用应该比在函数中更方便 norm / norm o

        2
  •  2
  •   gregory    7 年前

    虽然它不是vimscript,但是在一堆文件中搜索和替换任务听起来像是一个 argdo :

    :argdo %s/bbb/&\rccc/ge | update