【问题标题】:Running a search command as soon as vim opens?vim 打开后立即运行搜索命令?
【发布时间】:2014-08-07 17:30:36
【问题描述】:

gvim 一打开就可以运行搜索命令吗?

我正在考虑使用类似于

的东西
vim $(grep -rl 'refreshents' .) 

source question...

然后在第一个缓冲区中搜索第一个结果。

【问题讨论】:

    标签: vim


    【解决方案1】:

    为什么不简单地从命令行执行呢?

    $ vim myfile.java +/pattern
    

    来自here

    +/{pat} 光标将定位在正在编辑的第一个文件中包含“pat”的第一行

    【讨论】:

      【解决方案2】:

      Brain Agnew 的答案很准确。但是,使用 :argdo 命令对从命令行提供给 vim 的每个文件运行命令可能会有所帮助。此列表称为 argslist。

      :argdo %s/foo/bar/g|w
      

      我想我会从另一个方向来解决这个问题。即打开 vim 然后通过:grep:vimgrep 搜索。然后浏览快速修复列表。关于这个问题有一些不错的 vimcast。 Search multiple files with :vimgrepProject-wide find and replace

      :vimgrep/foo/
      :Cdo s/foo/bar/g|w
      

      其中:Cdo定义为:

      command! -nargs=1 -complete=command Cdo try | sil cfirst |
          \ while 1 | exec <q-args> | sil cn | endwhile |
          \ catch /^Vim\%((\a\+)\)\=:E\%(553\|42\):/ |
          \ endtry
      

      如需更多帮助,请参阅:

      :h :argdo
      :h :vimgrep
      :h :grep
      :h quickfix
      

      【讨论】:

      • 你也可以做类似vim -c "vimgrep 'refreshents' *"的事情。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-20
      • 1970-01-01
      • 2013-09-02
      • 2018-05-01
      相关资源
      最近更新 更多