【发布时间】:2014-08-07 17:30:36
【问题描述】:
gvim 一打开就可以运行搜索命令吗?
我正在考虑使用类似于
的东西vim $(grep -rl 'refreshents' .)
然后在第一个缓冲区中搜索第一个结果。
【问题讨论】:
标签: vim
gvim 一打开就可以运行搜索命令吗?
我正在考虑使用类似于
的东西vim $(grep -rl 'refreshents' .)
然后在第一个缓冲区中搜索第一个结果。
【问题讨论】:
标签: vim
【讨论】:
Brain Agnew 的答案很准确。但是,使用 :argdo 命令对从命令行提供给 vim 的每个文件运行命令可能会有所帮助。此列表称为 argslist。
:argdo %s/foo/bar/g|w
我想我会从另一个方向来解决这个问题。即打开 vim 然后通过:grep 或:vimgrep 搜索。然后浏览快速修复列表。关于这个问题有一些不错的 vimcast。 Search multiple files with :vimgrep 和 Project-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' *"的事情。