最近更新日期:2009/08/20
1. vi 與 vim 1.1 為何要學(xué) vim 2. vi 的使用 2.1 簡易執(zhí)行範(fàn)例 2.2 按鍵說明 2.3 一個案例的練習(xí) 2.4 vim 的暫存檔、救援回復(fù)與開啟時的警告訊息 3. vim 的額外功能 3.1 區(qū)塊選擇(Visual Block) 3.2 多檔案編輯 3.3 多視窗功能 3.4 vim 環(huán)境設(shè)定與記錄: ~/.vimrc, ~/.viminfo 3.5 vim 常用指令示意圖 4. 其他 vim 使用注意事項 4.1 中文編碼的問題 4.2 DOS 與 Linux 的斷行字元: dos2unix, unix2dos 4.3 語系編碼轉(zhuǎn)換: iconv 5. 重點回顧 6. 本章習(xí)題 7. 參考資料與延伸閱讀 8. 針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23883 ![]() 由前面一路走來,我們一直建議使用文字模式來處理 Linux 的系統(tǒng)設(shè)定問題,因為不但可以讓你比較容易瞭解到 Linux 的運作狀況,也比較容易瞭解整個設(shè)定的基本精神,更能『保證』你的修改可以順利的被運作。 所以,在 Linux 的系統(tǒng)中使用文字編輯器來編輯你的 Linux 參數(shù)設(shè)定檔,可是一件很重要的事情呦!也因此呢,系統(tǒng)管理員至少應(yīng)該要熟悉一種文書處理器的!
在 Linux 的世界中,絕大部分的設(shè)定檔都是以 ASCII 的純文字形態(tài)存在,因此利用簡單的文字編輯軟體就能夠修改設(shè)定了! 與微軟的 Windows 系統(tǒng)不同的是,如果你用慣了 Microsoft Word 或 Corel Wordperfect 的話,那麼除了 X window 裡面的圖形介面編輯程式(如 xemacs )用起來尚可應(yīng)付外,在 Linux 的文字模式下,會覺得文書編輯程式都沒有視窗介面來的直觀與方便。
那麼 Linux 在文字介面下的文書編輯器有哪些呢?其實有非常多喔!常常聽到的就有: emacs, pico,nano, joe, 與 vim 等等(註1)。 既然有這麼多文字介面的文書編輯器,那麼我們?yōu)槭颤N一定要學(xué) vi 啊?還有那個 vim 是做啥用的?底下就來談一談先! ![]() 文書編輯器那麼多,我們之前在第五章也曾經(jīng)介紹過那簡單好用的 nano ,既然已經(jīng)學(xué)會了 nano ,幹嘛鳥哥還一直要你學(xué)這不是很友善的 vi 呢?其實是有原因的啦!因為:
其實重點是上述的第二點,因為有太多 Linux 上面的指令都預(yù)設(shè)使用 vi 作為資料編輯的介面,所以你必須、一定要學(xué)會 vi ,否則很多指令你根本就無法操作呢!這樣說,有刺激到你務(wù)必要學(xué)會 vi 的熱情了嗎? ^_^ 那麼什麼是 vim 呢?其實你可以將 vim 視作 vi 的進階版本,vim 可以用顏色或底線等方式來顯示一些特殊的資訊。 舉例來說,當(dāng)你使用 vim 去編輯一個 C 程式語言的檔案,或者是我們後續(xù)會談到的shell script 程式時,vim 會依據(jù)檔案的副檔名或者是檔案內(nèi)的開頭資訊, 判斷該檔案的內(nèi)容而自動的呼叫該程式的語法判斷式,再以顏色來顯示程式碼與一般資訊。也就是說, 這個 vim 是個『程式編輯器』啦!甚至一些 Linux 基礎(chǔ)設(shè)定檔內(nèi)的語法,都能夠用 vim 來檢查呢! 例如我們在第八章談到的 /etc/fstab 這個檔案的內(nèi)容。 簡單的來說, vi 是老式的文書處理器,不過功能已經(jīng)很齊全了,但是還是有可以進步的地方。 vim 則可以說是程式開發(fā)者的一項很好用的工具,就連 vim 的官方網(wǎng)站 (http://www.vim.org) 自己也說 vim 是一個『程式開發(fā)工具』而不是文書處理軟體~^_^。 因為 vim 裡面加入了很多額外的功能,例如支援正規(guī)表示法的搜尋架構(gòu)、多檔案編輯、區(qū)塊複製等等。 這對於我們在 Linux 上面進行一些設(shè)定檔的修訂工作時,是很棒的一項功能呢!
底下鳥哥會先就簡單的 vi 做個介紹,然後再跟大家報告一下 vim 的額外功能與用法呢! ![]() 基本上 vi 共分為三種模式,分別是『一般模式』、『編輯模式』與『指令列命令模式』。 這三種模式的作用分別是:
簡單的說,我們可以將這三個模式想成底下的圖示來表示: ![]() 圖 2.1、vi 三種模式的相互關(guān)係 注意到上面的圖示,你會發(fā)現(xiàn)一般模式可與編輯模式及指令列模式切換, 但編輯模式與指令列模式之間不可互相切換喔!這非常重要啦! 閒話不多說,我們底下以一個簡單的例子來進行說明吧! ![]() 如果你想要使用 vi 來建立一個名為 test.txt 的檔案時,你可以這樣做:
如此一來,你的檔案 test.txt 就已經(jīng)建立起來囉!需要注意的是,如果你的檔案權(quán)限不對,例如為 -r--r--r-- 時,那麼可能會無法寫入,此時可以使用『強制寫入』的方式嗎?可以!使用『 :wq! 』 多加一個驚嘆號即可!不過,需要特別注意呦!那個是在『你的權(quán)限可以改變』的情況下才能成立的! 關(guān)於權(quán)限的概念,請自行回去翻一下第六章的內(nèi)容吧! ![]() 除了上面簡易範(fàn)例的 i, [Esc], :wq 之外,其實 vim 還有非常多的按鍵可以使用喔!在介紹之前還是要再次強調(diào), vim 的三種模式只有一般模式可以與編輯、指令列模式切換,編輯模式與指令列模式之間並不能切換的! 這點在圖2.1裡面有介紹到,注意去看看喔!底下就來談?wù)?vim 軟體中會用到的按鍵功能吧!
特別注意,在 vi 中,『數(shù)字』是很有意義的!數(shù)字通常代表重複做幾次的意思! 也有可能是代表去到第幾個什麼什麼的意思。舉例來說,要刪除 50 行,則是用 『50dd』 對吧! 數(shù)字加在動作之前~那我要向下移動 20 行呢?那就是『20j』或者是『20↓』即可。 OK!會這些指令就已經(jīng)很厲害了,因為常用到的指令也只有不到一半!通常 vi 的指令除了上面鳥哥註明的常用的幾個外,其他是不用背的,你可以做一張簡單的指令表在你的螢?zāi)粻澤希?一有疑問可以馬上的查詢呦!這也是當(dāng)初鳥哥使用 vim 的方法啦! ![]() 來來來!趕緊測試一下你是否已經(jīng)熟悉 vi 這個指令呢?請依照底下的需求進行指令動作。 (底下的操作為使用 CentOS 5.2 中的 man.config 來做練習(xí)的,該檔案你可以在這裡下載:http://linux.vbird.org/linux_basic/0310vi/man.config。) 看看你的顯示結(jié)果與鳥哥的結(jié)果是否相同啊?
整個步驟可以如下顯示:
如果你的結(jié)果都可以查的到,那麼 vi 的使用上面應(yīng)該沒有太大的問題啦!剩下的問題會是在…打字練習(xí)…。 ![]() 在目前主要的編輯軟體都會有『回復(fù)』的功能,亦即當(dāng)你的系統(tǒng)因為某些原因而導(dǎo)致類似當(dāng)機的情況時, 還可以透過某些特別的機制來讓你將之前未儲存的資料『救』回來!這就是鳥哥這裡所謂的『回復(fù)』功能啦! 那麼 vim 有沒有回復(fù)功能呢?有的! vim 就是透過『暫存檔』來救援的啦! 當(dāng)我們在使用 vim 編輯時, vim 會在與被編輯的檔案的目錄下,再建立一個名為 .filename.swp 的檔案。 比如說我們在上一個小節(jié)談到的編輯 /tmp/vitest/man.config 這個檔案時, vim 會主動的建立 /tmp/vitest/.man.config.swp 的暫存檔,你對 man.config 做的動作就會被記錄到這個 .man.config.swp 當(dāng)中喔!如果你的系統(tǒng)因為某些原因斷線了, 導(dǎo)致你編輯的檔案還沒有儲存,這個時候 .man.config.swp 就能夠發(fā)會救援的功能了!我們來測試一下吧! 底下的練習(xí)有些部分的指令我們尚未談到,沒關(guān)係,你先照著做,後續(xù)再回來瞭解囉!
當(dāng)我們在 vim 的一般模式下按下 [ctrl]-z 的組合按鍵時,你的 vim 會被丟到背景去執(zhí)行! 這部份的功能我們會在第十七章的程序管理當(dāng)中談到, 你這裡先知道一下即可。回到命令提示字元後,接下來我們來模擬將 vim 的工作不正常的中斷吧!
那個 kill 可以模擬將系統(tǒng)的 vim 工作刪除的情況,你可以假裝當(dāng)機了啦! 由於 vim 的工作被不正常的中斷,導(dǎo)致暫存檔無法藉由正常流程來結(jié)束, 所以暫存檔就不會消失,而繼續(xù)保留下來。此時如果你繼續(xù)編輯那個 man.config ,會出現(xiàn)什麼情況呢? 會出現(xiàn)如下所示的狀態(tài)喔:
由於暫存檔存在的關(guān)係,因此 vim 會主動的判斷你的這個檔案可能有些問題,在上面的圖示中 vim 提示兩點主要的問題與解決方案,分別是這樣的:
至於這個發(fā)現(xiàn)暫存檔警告訊息的畫面中,有出現(xiàn)六個可用按鈕,各按鈕的說明如下:
![]() 其實,目前大部分的 distributions 都以 vim 取代 vi 的功能了!如果你使用 vi 後,卻看到畫面的右下角有顯示目前游標(biāo)所在的行列號碼,那麼你的 vi 已經(jīng)被 vim 所取代囉~ 為什麼要用 vim 呢?因為 vim 具有顏色顯示的功能,並且還支援許多的程式語法 (syntax), 因此,當(dāng)你使用 vim 編輯程式時( 不論是 C 語言,還是 shell script ), 我們的 vim 將可幫你直接進行『程式除錯 (debug)』的功能!真的很不賴吧!^_^ 如果你在文字模式下,輸入 alias 時,出現(xiàn)這樣的畫面:
這表示當(dāng)你使用 vi 這個指令時,其實就是執(zhí)行 vim 啦!如果你沒有這一行,那麼你就必須要使用 vim filename 來啟動 vim 囉!基本上, vim 的一般用法與 vi 完全一模一樣~沒有不同啦!那麼我們就來看看 vim 的畫面是怎樣囉!假設(shè)我想要編輯 /etc/man.config ,則輸入『vim /etc/man.config』 ![]() 圖3.0.1、 vim 的圖示示意 上面是 vim 的畫面示意圖,在這個畫面中有幾點特色要說明喔:
所以,如果你向下移動到其他位置時,出現(xiàn)的非註解的資料就會有點像這樣: ![]() 圖3.0.2、 vim 的圖示示意 看到了喔!除了註解之外,其他的行就會有特別的顏色顯示呢!可以避免你打錯字啊!而且, 最右下角的 30% 代表目前這個畫面佔整體檔案的 30% 之意!這樣瞭乎? ![]() 剛剛我們提到的簡單的 vi 操作過程中,幾乎提到的都是以行為單位的操作。那麼如果我想要搞定的是一個區(qū)塊範(fàn)圍呢? 舉例來說,像底下這種格式的檔案:
這個檔案我將他放置到 http://linux.vbird.org/linux_basic/0310vi/hosts ,你可以自行下載來看一看這個檔案啊!現(xiàn)在我們來玩一玩這個檔案吧!假設(shè)我想要將 host1, host2... 等等複製起來, 並且加到每一行的後面,亦即每一行的結(jié)果要是『 192.168.1.2 host2.class.net host2 』這樣的情況時, 在傳統(tǒng)或現(xiàn)代的視窗型編輯器似乎不容易達到這個需求,但是咱們的 vim 是辦的到的喔!那就使用區(qū)塊選擇 (Visual Block) 吧!當(dāng)我們按下 v 或者 V 或者 [Ctrl]+v 時, 這個時候游標(biāo)移動過的地方就會開始反白,這三個按鍵的意義分別是:
來實際進行我們需要的動作吧!就是將 host 再加到每一行的最後面,你可以這樣做:
透過上述的功能,你可以複製一個區(qū)塊,並且是貼在某個『區(qū)塊的範(fàn)圍』內(nèi),而不是以行為單位來處理你的整份文件喔! 鳥哥個人是覺得這玩意兒非常的有幫助啦!至少在進行排列整齊的文字檔案中複製/刪除區(qū)塊時,會是一個非常棒的功能! ![]() 假設(shè)一個例子,你想要將剛剛我們的 hosts 內(nèi)的 IP 複製到你的 /etc/hosts 這個檔案去, 那麼該如何編輯?我們知道在 vi 內(nèi)可以使用 :r filename 來讀入某個檔案的內(nèi)容, 不過,這樣畢竟是將整個檔案讀入啊!如果我只是想要部分內(nèi)容呢?呵呵!這個時候多檔案同時編輯就很有用了。 我們可以使用 vim 後面同時接好幾個檔案來同時開啟喔!相關(guān)的按鍵有:
在過去,鳥哥想要將 A 檔案內(nèi)的十條消息『移動』到 B 檔案去,通常要開兩個 vim 視窗來複製, 偏偏每個 vim 都是獨立的,因此並沒有辦法在 A 檔案下達『 nyy 』再跑到 B 檔案去『 p 』啦! 在這種情況下最常用的方法就是透過滑鼠圈選, 複製後貼上。不過這樣一來還是有問題,因為鳥哥超級喜歡使用 [Tab] 按鍵進行編排對齊動作, 透過滑鼠卻會將 [Tab] 轉(zhuǎn)成空白鍵,這樣內(nèi)容就不一樣了!此時這個多檔案編輯就派上用場了! 現(xiàn)在你可以做一下練習(xí)看看說!假設(shè)你要將剛剛鳥哥提供的 hosts 內(nèi)的前四行 IP 資料複製到你的 /etc/hosts 檔案內(nèi),那可以怎麼進行呢?可以這樣啊:
看到了吧?利用多檔案編輯的功能,可以讓你很快速的就將需要的資料複製到正確的檔案內(nèi)。 當(dāng)然囉,這個功能也可以利用視窗介面來達到,那就是底下要提到的多視窗功能。 ![]() 在開始這個小節(jié)前,先來想像兩個情況:
在一般視窗介面下的編輯軟體大多有『分割視窗』或者是『凍結(jié)視窗』的功能來將一個檔案分割成多個視窗的展現(xiàn), 那麼 vim 能不能達到這個功能啊?可以啊!但是如何分割視窗並放入檔案呢? 很簡單啊!在指令列模式輸入『:sp {filename}』即可!那個 filename 可有可無, 如果想要在新視窗啟動另一個檔案,就加入檔名,否則僅輸入 :sp 時, 出現(xiàn)的則是同一個檔案在兩個視窗間! 讓我們來測試一下,你先使用『 vim /etc/man.config 』打開這個檔案,然後『 1G 』去到第一行,之後輸入『 :sp 』 再次的打開這個檔案一次,然後再輸入『 G 』,結(jié)果會變成底下這樣喔: ![]() 圖 3.3.1、視窗分割的示意圖 萬一你再輸入『 :sp /etc/hosts 』時,就會變成下圖這樣喔: ![]() 圖 3.3.2、視窗分割的示意圖 怎樣?帥吧!兩個檔案同時在一個螢?zāi)簧厦骘@示,你還可以利用『[ctrl]+w+↑』及『[ctrl]+w+↓』 在兩個視窗之間移動呢!這樣的話,複製啊、查閱啊等等的,就變的很簡單囉~ 分割視窗的相關(guān)指令功能有很多,不過你只要記得這幾個就好了:
鳥哥第一次玩 vim 的分割視窗時,真是很高興啊!竟然有這種功能!太棒了! ^_^ ![]() 有沒有發(fā)現(xiàn),如果我們以 vim 軟體來搜尋一個檔案內(nèi)部的某個字串時,這個字串會被反白, 而下次我們再次以 vim 編輯這個檔案時,該搜尋的字串反白情況還是存在呢!甚至於在編輯其他檔案時, 如果其他檔案內(nèi)也存在這個字串,哇!竟然還是主動反白耶!真神奇! 另外,當(dāng)我們重複編輯同一個檔案時,當(dāng)?shù)诙芜M入該檔案時, 游標(biāo)竟然就在上次離開的那一行上頭呢!真是好方便啊~但是,怎麼會這樣呢? 這是因為我們的 vim 會主動的將你曾經(jīng)做過的行為登錄下來,好讓你下次可以輕鬆的作業(yè)啊! 那個記錄動作的檔案就是: ~/.viminfo !如果你曾經(jīng)使用過 vim, 那你的家目錄應(yīng)該會存在這個檔案才對。這個檔案是自動產(chǎn)生的, 你不必自行建立。而你在 vim 裡頭所做過的動作,就可以在這個檔案內(nèi)部查詢到囉~ ^_^ 此外,每個 distributions 對 vim 的預(yù)設(shè)環(huán)境都不太相同,舉例來說,某些版本在搜尋到關(guān)鍵字時並不會高亮度反白, 有些版本則會主動的幫你進行縮排的行為。但這些其實都可以自行設(shè)定的,那就是 vim 的環(huán)境設(shè)定囉~ vim 的環(huán)境設(shè)定參數(shù)有很多,如果你想要知道目前的設(shè)定值,可以在一般模式時輸入『 :set all 』 來查閱,不過.....設(shè)定項目實在太多了~所以,鳥哥在這裡僅列出一些平時比較常用的一些簡單的設(shè)定值, 提供給你參考啊。
總之,這些設(shè)定值很有用處的啦!但是......我是否每次使用 vim 都要重新設(shè)定一次各個參數(shù)值? 這不太合理吧?沒錯啊!所以,我們可以透過設(shè)定檔來直接規(guī)定我們習(xí)慣的 vim 操作環(huán)境呢! 整體 vim 的設(shè)定值一般是放置在 /etc/vimrc 這個檔案,不過,不建議你修改他! 你可以修改 ~/.vimrc 這個檔案(預(yù)設(shè)不存在,請你自行手動建立!),將你所希望的設(shè)定值寫入! 舉例來說,可以是這樣的一個檔案:
在這個檔案中,使用『 set hlsearch 』或『 :set hlsearch 』,亦即最前面有沒有冒號『 : 』效果都是一樣的! 至於雙引號則是註解符號!不要用錯註解符號,否則每次使用 vim 時都會發(fā)生警告訊息喔! 建立好這個檔案後,當(dāng)你下次重新以 vim 編輯某個檔案時,該檔案的預(yù)設(shè)環(huán)境設(shè)定就是上頭寫的囉~ 這樣,是否很方便你的操作啊!多多利用 vim 的環(huán)境設(shè)定功能呢!^_^ ![]() 為了方便大家查詢在不同的模式下可以使用的 vim 指令,鳥哥查詢了一些 vim 與 Linux 教育訓(xùn)練手冊, 發(fā)現(xiàn)底下這張圖非常值得大家參考!可以更快速有效的查詢到需要的功能喔!看看吧! ![]() 圖 3.5.1 、 vim 常用指令示意圖 ![]() vim 其實不是那麼好學(xué),雖然他的功能確實非常強大!所以底下我們還有一些需要注意的地方要來跟大家分享喔! ![]() 很多朋友常常哀嚎,說他們的 vim 裡面怎麼無法顯示正常的中文啊?其實這很有可能是因為編碼的問題! 因為中文編碼有 big5 與 utf8 兩種,如果你的檔案是使用 big5 編碼製作的,但在 vim 的終端介面中你使用的是萬國碼(utf8), 由於編碼的不同,你的中文檔案內(nèi)容當(dāng)然就是一堆亂碼了!怎麼辦?這時你得要考慮許多東西啦!有這些:
事實上最重要的是上頭的第三與第四點,只要這兩點的編碼一致,你就能夠正確的看到與編輯你的中文檔案。 否則就會看到一堆亂碼啦! 一般來說,中文編碼使用 big5 時,在寫入某些資料庫系統(tǒng)中,在『許、蓋、功』這些字體上面會發(fā)生錯誤! 所以近期以來大多希望大家能夠使用萬國碼 utf8 來進行中文編碼!但是在 Windows XP 上的軟體常常預(yù)設(shè)使用 big5 的編碼, 包括鳥哥由於沿用以前的文件資料檔案,也大多使用 big5 的編碼。此時就得要注意上述的這些咚咚囉。 在 Linux 本機前的 tty1~tty6 原本預(yù)設(shè)就不支援中文編碼,所以不用考慮這個問題!因為你一定會看到亂碼!呵呵! 現(xiàn)在鳥哥假設(shè)俺的文件檔案內(nèi)編碼為 big5 時,而且我的環(huán)境是使用 Linux 的 GNOME ,啟動的終端介面為 GNOME-terminal 軟體, 那鳥哥通常是這樣來修正語系編碼的行為:
然後在終端介面工具列的『終端機』-->『設(shè)定字元編碼』 -->『中文 (正體) (BIG5)』項目點選一下, 如果一切都沒有問題了,再用 vim 去開啟那個 big5 編碼的檔案,就沒有問題了!以上!報告完畢! ![]() 我們在第七章裡面談到 cat 這個指令時,曾經(jīng)提到過 DOS 與 Linux 斷行字元的不同。 而我們也可以利用 cat -A 來觀察以 DOS (Windows 系統(tǒng)) 建立的檔案的特殊格式, 也可以發(fā)現(xiàn)在 DOS 使用的斷行字元為 ^M$ ,我們稱為 CR 與 LF 兩個符號。 而在 Linux 底下,則是僅有 LF ($) 這個斷行符號。這個斷行符號對於 Linux 的影響很大喔! 為什麼呢? 我們說過,在 Linux 底下的指令在開始執(zhí)行時,他的判斷依據(jù)是 『Enter』,而 Linux 的 Enter 為 LF 符號, 不過,由於 DOS 的斷行符號是 CRLF ,也就是多了一個 ^M 的符號出來, 在這樣的情況下,如果是一個 shell script 的程式檔案,呵呵~將可能造成『程式無法執(zhí)行』的狀態(tài)~ 因為他會誤判程式所下達的指令內(nèi)容啊!這很傷腦筋吧! 那怎麼辦啊?很簡單啊,將格式轉(zhuǎn)換成為 Linux 即可啊!『廢話』,這當(dāng)然大家都知道,但是, 要以 vi 進入該檔案,然後一個一個刪除每一行的 CR 嗎?當(dāng)然沒有這麼沒人性啦! 我們可以透過簡單的指令來進行格式的轉(zhuǎn)換啊!
因為斷行字符以及 DOS 與 Linux 作業(yè)系統(tǒng)底下一些字符的定義不同,因此, 不建議你在 Windows 系統(tǒng)當(dāng)中將檔案編輯好之後,才上傳到 Linux 系統(tǒng),會容易發(fā)生錯誤問題。 而且,如果你在不同的系統(tǒng)之間複製一些純文字檔案時,千萬記得要使用 unix2dos 或 dos2unix 來轉(zhuǎn)換一下斷行格式啊! ![]() 很多朋友都會有的問題,就是想要將語系編碼進行轉(zhuǎn)換啦!舉例來說,想要將 big5 編碼轉(zhuǎn)成 utf8 。 這個時候怎麼辦?難不成要每個檔案打開會轉(zhuǎn)存成 utf8 嗎?不需要這樣做啦!使用 iconv 這個指令即可! 鳥哥將之前的 vi 章節(jié)做成 big5 編碼的檔案,你可以照底下的連結(jié)來下載先: 在終端機的環(huán)境下你可以使用『 wget 網(wǎng)址』來下載上述的檔案喔!鳥哥將他下載在 /tmp/vitest 目錄下。 接下來讓我們來使用 iconv 這個指令來玩一玩編碼轉(zhuǎn)換吧!
這指令支援的語系非常之多,除了正體中文的 big5, utf8 編碼之外,也支援簡體中文的 gb2312 , 所以對岸的朋友可以簡單的將鳥站的網(wǎng)頁資料下載後,利用這個指令來轉(zhuǎn)成簡體,就能夠輕鬆的讀取文件資料囉! 不過,不要將轉(zhuǎn)成簡體的檔案又上傳成為您自己的網(wǎng)頁啊!這明明是鳥哥寫的不是嗎? ^_^ 不過如果是要將正體中文的 utf8 轉(zhuǎn)成簡體中文的 utf8 編碼時,那就得費些功夫了! 舉例來說,如果要將剛剛那個 vi.utf8 轉(zhuǎn)成簡體的 utf8 時,可以這樣做:
![]()
![]() (要看答案請將滑鼠移動到『答:』底下的空白處,按下左鍵圈選空白處即可察看) 實作題部分:
簡答題部分:
![]()
2002/04/05:第一次完成 2003/02/07:重新編排與加入 FAQ 2003/02/25:新加入本章節(jié)與 LPI 的相關(guān)性說明! 2005/07/28:將舊文章移動到 這裡 。 2005/08/01:加入果正兄文章的參考,還有查閱 vim 官方網(wǎng)站的資料! 2008/12/18:將原本針對 FC4 版本的文章移動到 此處 2009/01/13:這麼簡單的一篇改寫,竟改了一個月!原因只是期末考將近太忙了~ 2009/08/20:加入實作題,編輯簡答題,加入 vim 指令示意圖等 2002/01/21以來統(tǒng)計人數(shù) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
From: http://linux.vbird.org/linux_basic/0310vi.php#vi_vim
評論
The <a href="http://bestfinance-blog.com">loans</a> seem to be useful for guys, which want to ground their organization. As a fact, this is comfortable to get a short term loan. 回復(fù) 更多評論
只有注冊用戶登錄后才能發(fā)表評論。 | ||
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
![]() |
||
相關(guān)文章:
|
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
|
||
|