2014-06-17 80 views

回答

2

腦Agnew的回答是發現。但是,使用:argdo命令對從命令行提供給vim的每個文件運行命令可能會有幫助。這個列表被稱爲argslist。

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

我想我會從另一個方向來解決這個問題。這是打開VIM然後通過:grep:vimgrep搜索。然後走過quickfix列表。有關於這個問題的一些很好的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 
+0

你也可以做類似'VIM -c 「使用vimgrep 'refreshents' *」'。 – Conner

4

爲什麼不簡單地從命令行執行它?

$ vim myfile.java +/pattern 

here

+/{輕拍}光標會被定位在包含 「pat」 中的第一個文件的第一行被編輯