【Vim】【man】【技巧】使用vim處理man重定向幫助檔案亂碼問題

secooler發表於2009-08-01
【說在前面】
這裡不討論大家都知道的man重定向的一般常用方法(col處理方法)
$ man find | col -b > man_fine.txt

【跟著我的思路走】
假如您像我一樣,直接使用如下命令匯出find命令的man幫助文件頁
$ man find > man_find.txt

在您使用vim檢視匯出文件man_find.txt時,您會發現,在文件中到處充斥了^H符號,而且是藍顏色的(Linux下表示控制字元)。
到這裡,您有沒有一種衝動,想使用vim的方法處理一下這些特殊字元呢?

方法如下:
在底線模中輸入如下內容,然後回車(千萬要注意這裡^H的輸入方法:先鍵擊Ctrl鍵不要放手,然後依次鍵擊字母V和字元H,完成輸入)
:%s/^H//g

如果您是按照我的這個思路操作的,到這一步處理完成之後,你會發現結果並不是我們想要的,在這個處理後的文件中n多n多的字母都是重複的!顯然這樣的處理方法是欠妥當的。

仔細觀察一下這個結果和原始文件中的“亂碼”特點,原來我們不僅僅要刪除^H控制字元,同時還要刪除緊跟在^H它前面的字母!

目標明確了,該如何操作呢?

對頭,在vim中“.”表示匹配任意字母,所以

:%s/^H//g
修改為
:%s/.^H//g
搞定,完成任務,一個清晰的find命令的man幫助文件也展現在了我們vim的介面中。

請您也動手試驗一下這個小方法,是不是很靈光。

【一句話總結】
使用vim處理man重定向幫助檔案亂碼問題
方法:
底線模:%s/.^H//g完成處理。

-- The End --

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-611057/,如需轉載,請註明出處,否則將追究法律責任。

相關文章