常常把代碼在 windows 下和 linux 下傳來傳去,苦於程序源代碼文件的編碼問題,windows 下是 cp936 格式,linux 下通用 utf-8 格式,程序中的註釋我仍是喜歡用中文(就我目前這英文水平,是想寫英文也無力呀^_^),發佈源代碼的時候也須要兩種編碼各一份,逐個文件的進行編碼轉換實在是一份讓人痛苦不堪的活,好在 vim 有批量編輯文件的功能,這要用到 args 和 argdo 命令,能夠查看 :help args 與 :help argdo 以得到詳細的說明。 linux
這裏只說下這兩個命令在對文件進行批量轉換編碼的用法: vim
1、設置文件集合,即要對哪些文件進行操做,可使用通配符,好比我一般是對 C/C++ 源程序進行編碼轉換: windows
:args *.h *.cpp 編碼
2、給出要在每一個文件上執行的命令,這裏是轉換編碼: utf-8
:argdo set fenc=utf-8 | update date
這樣就 ok 了,一邊偷着樂去吧。這裏要注意的是若是要同時執行多個命令則須要用 「|」 隔開,上面的 update 必定要寫上,由於 vim 在一個文件被修改後還沒有保存的狀況下去編輯下一個文件會給出出錯提示的,用上這個 update 就是更新文件了,這樣就不會出這個問題了。 程序
固然, args 和 argdo 能作的事情多的很,好比能夠在多個文件中批量替換,這個應該也很實用吧,具體能夠查看 vim 的幫助文件 :help args 和 :help argdo. im