2014-11-22 77 views
0

我試圖運行命令「set tabstop = 4」,然後「retab」多個文件。使用argdo與vim設置

我已經得到以讓我的arglist像這樣

args ~/workspace/**/*.java 

,我可以看到這項工作做得很好,當我使用ARGS命令只查看文件的點。現在,當我試圖運行「set tabstop = 4」命令時,我無法獲得正確的組合。我用盡

argdo "set tabstop=4" 

然後

argdo "update" 

,但它似乎從來沒有應用更新,我敢肯定有更新,因爲我可以到文件中的一個單獨和運行命令,它更改文件。我已經嘗試過不同的組合,如

argdo execute "set tabstop=4" 

而且它只是從來沒有做過任何事情。任何幫助,將不勝感激!

+0

怎麼樣「argdo雷泰」 – Meitham 2014-11-22 19:24:24

回答

4

:argdo語法(按照:help)是

:argdo[!] {cmd} 

未引述參與。要一氣呵成執行多個命令,只是他們|分開:

:argdo set tabstop=4 | retab | update 
+0

所以我想這樣做,它也更新到文件 - 當我查看該文件,但由於某種原因單獨在vim中(縮進已經從argdo命令中改變了),它沒有像對文件設置tabstop = 4那樣具有相同的效果,即一旦我運行該命令,然後在單獨的文件之後並運行「set tabstop = 4」它會再次更改。 – Rahul 2014-11-22 19:36:45

+0

':retab'命令很棘手,您可能需要傳遞一個數字(':retab 8')以使其具有任何效果,也可以在原始文件使用空格縮進時添加'!'。最好在單個緩衝區中找到正確的命令,然後通過':argdo'應用。 – 2014-11-22 19:40:23

+0

所以,如果我去一個我可以壓縮的文件,我只是做一個:set tabstop = 4,並看到一切適合的地方,所以我敢肯定,該命令完美的每個文件,但現在我已經嘗試過:argdo set tabstop = 4 |更新和它仍然只是不一樣的效果(它似乎已經添加了一個更大的數字爲tabstop) – Rahul 2014-11-22 19:42:42