以前編碼習慣不太好,所以程式碼中用到的tab很多。
現在我想把tab轉化為space,透過設定vimrc
然後執行:ret
指令就可以了,問題是需要被處理的檔案有很多,手動為每個檔案執行:ret
指令不太現實,請問我可以從哪個角度考慮來解決這個問題?
大家讲道理2017-05-16 16:43:14
例如你要處理的都是python文件,那麼cd到專案根目錄:
1. $> vim `find . -type f -name "*.py"` // 用VIM開啟所有要處理的檔案
2. :argdo :ret | update // 對vim參數清單中的所有檔案都執行:ret指令並且儲存
另外可以再了解下bufdo, windo指令的用法。
以上只是針對樓主的問題展示VIM是可以很輕鬆做到這個的,不用一個一個去弄。當然按照樓上的思路寫腳本也是很好的方法。
PHP中文网2017-05-16 16:43:14
建議別用 vim,寫個腳本處理。
可以用 shell 寫,find + sed 指令就可以搞定了,也可以用 python 寫,os.path.walk 遍歷文件,逐行掃描,沒多少程式碼的。
给我你的怀抱2017-05-16 16:43:14
ls *.py | while read file;do
vi $file<<EOF
:%s/^I/ /g
:wq
EOF
done
使用vi(m)的非互動方式。 ^I
使用CTRL+V+I
輸入。
EOF後面不能用空格。
vi(m)指令前不能有空格。