用 vi 在 big5 與 utf-8 之間穿梭

基本上, vi 要編輯 utf-8 文件, 做下面兩件事就可以了

  • 設定 vi : set encoding=utf-8
  • 將你的 terminal 設為 utf-8(or unicode)

不過最近需要在 big5 跟 utf-8 之間跑來跑去, 本來在 vimrc 裡設定的是:
set ts=4

不過每次編輯不同編碼的檔案時, 都要再設定一次 encoding, 所以另外做一份 vimrc 放在 home, 叫做.vimrc_utf-8, 內容如下:

syntax on<br></br>  
set ts=4<br></br>  
set encoding=utf-8<br></br>  
set backspace=indent,eol,start```

然後在寫一個 bash, 命名為 joe 內容如下:  

!/bin/bash

vim -u ~/.vimrc_utf-8 $1```

這麼一來要編輯 big5 編碼的檔案還是用 vi 這個指令, 要編輯 utf-8 編碼的檔案就用 joe 啦!當然這個 bash 的名字你可以自己取你喜歡的名字, 例如: vi-utf8, vi8 ?

不過這些都太難打了, 剛好想到在學 vi 之前都用 joe 這個文字編輯器, server上又剛好沒裝joe所以就把這個 bash 命名做 joe, 還滿喜歡這個名字的, 因為滿好打的, 之前很喜歡的一個編輯器, 雖然後來 joe 也加入了color syntax, 不過 joe 好像還是越來越式微了。

另外, 給 utf-8 用的 vimrc 比起原有的 vimrc 多出了好幾行的設定, 似乎是指定特定的 vimrc 後, vi 就不會讀取預設的設定, 所以又再多加了一些設定。 不知道 vi 可不可以自動偵測編碼? XD

PS. screen 搭配 vi 來編輯 utf-8 文件還是有問題, 請愛用 :e # 吧! XD

tzangms

Read more posts by this author.

Subscribe to Oceanic / 海海人生

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!