【在 Mac 的 shell 和 vi 打中文】
在 Mac 上, 我強烈建議使用 UTF-8 編碼, 也就是 unicode, 而不用 Big5。這有一個好處, 就是你可以看到 (或是輕鬆看到) 中文檔案名稱。
你可以使用 iTerm 或其他終端機程式, 把編碼設為 UTF-8, 然後... 你會發現... 老師騙人!因為你打入 ls, 看到你的中文檔名居然是 ????...
原來, 要看到中文檔名, 你要加上 -v 參數, 也就是
代碼:
現在中文看得到了。正常人不會想每次自己打 ls -v, 最好 ls 直接給我們看中文檔名。要做到這點也很容易, 就是做個「替身」:
代碼:
從此打入 ls, 事實上就是 ls -GFv。這裡 -G 是變成有不同顏色, -F 是在檔案夾後面加上 "/", 以和一般檔名區別。
正常人不會每次進入終端機, 先自己打入那一串指令。我們可以要求電腦每次進入 bash, 都先執行那段指令嗎? 自然可以, 就是把上面那段加入 .bash_profile
你可以在你家目錄下, 打入
代碼:
vi .bash_profile
如果已經存在沒關係, 加上一行; 如果沒有也好, 就建一個新檔。
這是 Unix 的特性: 很多程式都有這種設定檔, 讓你去變更一些設定。這些設定檔又只需要像 vi 的文字編輯器去處理, 非常方便!
要正確打中文, 你需要在 .inputrc 加入
代碼:
不用管他是做什麼的。反正做好以後, exit, 再進入 shell, 此時世界已大不同。你用 ls, 會出現多彩的美麗世界, 還有中文檔名。如果你有一個中文檔案夾, 你還可以
代碼:
進入那個檔案夾!這實在有點方便得過份。不過建議你做網頁什麼不要用中文檔名, 因為每台機器處理方式不同, 時常會出問題。
最後是 Vim, 要在 Mac 的 Vim 中打入 unicode 編碼的中文, 只要在 .vimrc (猜出來了嗎, 就是 Vim 的設定檔) 加入
代碼:
以後, 使用 shell, 中文也可通。
不過, 不久之後你就會發現有個問題。這個問題就是, 我們在網路上找到, 或是自己以前寫的, 用 Big5 編碼的文章, 此時該如何是好? 這時你用我們設好的 Vim 打開這篇文章, 會出現亂碼 -- 因為它本來就不是 unicode 的文章。這時不要慌, 只要輕輕鬆鬆進入指令列, 打入
代碼:
然後這中文就神奇的出現了!這是 Vim 支援多種編碼的功力!至此, 你又可以開使或看或編 Big5 的中文檔案。
【紀錄一些 iTerm 的密辛】
【vim config for drupal coding, with UTF-8】
在 Mac 上, 我強烈建議使用 UTF-8 編碼, 也就是 unicode, 而不用 Big5。這有一個好處, 就是你可以看到 (或是輕鬆看到) 中文檔案名稱。
你可以使用 iTerm 或其他終端機程式, 把編碼設為 UTF-8, 然後... 你會發現... 老師騙人!因為你打入 ls, 看到你的中文檔名居然是 ????...
原來, 要看到中文檔名, 你要加上 -v 參數, 也就是
代碼:
ls -v
現在中文看得到了。正常人不會想每次自己打 ls -v, 最好 ls 直接給我們看中文檔名。要做到這點也很容易, 就是做個「替身」:
代碼:
alias ls='ls -GFv'
從此打入 ls, 事實上就是 ls -GFv。這裡 -G 是變成有不同顏色, -F 是在檔案夾後面加上 "/", 以和一般檔名區別。
正常人不會每次進入終端機, 先自己打入那一串指令。我們可以要求電腦每次進入 bash, 都先執行那段指令嗎? 自然可以, 就是把上面那段加入 .bash_profile
你可以在你家目錄下, 打入
代碼:
vi .bash_profile
如果已經存在沒關係, 加上一行; 如果沒有也好, 就建一個新檔。
這是 Unix 的特性: 很多程式都有這種設定檔, 讓你去變更一些設定。這些設定檔又只需要像 vi 的文字編輯器去處理, 非常方便!
要正確打中文, 你需要在 .inputrc 加入
代碼:
set convert-meta off
set meta-flag on
set output-meta on
set meta-flag on
set output-meta on
不用管他是做什麼的。反正做好以後, exit, 再進入 shell, 此時世界已大不同。你用 ls, 會出現多彩的美麗世界, 還有中文檔名。如果你有一個中文檔案夾, 你還可以
代碼:
cd 中文檔案夾名稱
進入那個檔案夾!這實在有點方便得過份。不過建議你做網頁什麼不要用中文檔名, 因為每台機器處理方式不同, 時常會出問題。
最後是 Vim, 要在 Mac 的 Vim 中打入 unicode 編碼的中文, 只要在 .vimrc (猜出來了嗎, 就是 Vim 的設定檔) 加入
代碼:
set enc=utf8
以後, 使用 shell, 中文也可通。
不過, 不久之後你就會發現有個問題。這個問題就是, 我們在網路上找到, 或是自己以前寫的, 用 Big5 編碼的文章, 此時該如何是好? 這時你用我們設好的 Vim 打開這篇文章, 會出現亂碼 -- 因為它本來就不是 unicode 的文章。這時不要慌, 只要輕輕鬆鬆進入指令列, 打入
代碼:
:e ++enc=big5
然後這中文就神奇的出現了!這是 Vim 支援多種編碼的功力!至此, 你又可以開使或看或編 Big5 的中文檔案。
【紀錄一些 iTerm 的密辛】
* 在 iTerm 中,正確的顯示中文檔案、目錄等。
* 在 iTerm 中,可以輸入中文。
* 在 Vim 中,打 Unicode 編碼的中文。
* 延續上一個,但更酷的。
1. 將 iTerm 編碼設定為『UTF-8』編碼。
2. alias ls=」ls -Gv」
2. alias ls=」ls -Gv」
* 在 iTerm 中,可以輸入中文。
1. vi .inputrc
2. set convert-meta off
set meta-flag on
set output-meta on
2. set convert-meta off
set meta-flag on
set output-meta on
* 在 Vim 中,打 Unicode 編碼的中文。
1. vi .vimrc
2. set enc=utf8
2. set enc=utf8
* 延續上一個,但更酷的。
1. vi .vimrc
2. set fileencodings=utf-8,big5
set encoding=utf8
set tenc=utf8
2. set fileencodings=utf-8,big5
set encoding=utf8
set tenc=utf8
【vim config for drupal coding, with UTF-8】
set backupdir=~
set enc=utf8
set fileencodings=utf-8,big5,euc-jp,gbk,euc-kr,utf-bom,iso8859-1
set encoding=utf8
set tenc=utf8
set expandtab
set tabstop=2
set shiftwidth=2
set autoindent
set smartindent
if has("autocmd")
"Drupal *.module files."
augroup module
autocmd BufRead *.module set filetype=php
autocmd BufRead *.install set filetype=php
augroup END
endif
set enc=utf8
set fileencodings=utf-8,big5,euc-jp,gbk,euc-kr,utf-bom,iso8859-1
set encoding=utf8
set tenc=utf8
set expandtab
set tabstop=2
set shiftwidth=2
set autoindent
set smartindent
if has("autocmd")
"Drupal *.module files."
augroup module
autocmd BufRead *.module set filetype=php
autocmd BufRead *.install set filetype=php
augroup END
endif
全站熱搜