Terminal.app 有幾個設定要改:
- 字元集編碼要用 UTF-8,除非你想要上 BBS,那再改 Big5-HKSCS,不然就用編碼是 big5 的 gnu screen 上 BBS。
- 把 Emulation 裡面的 Escape non-ASCII characters 取消選取,這樣在命令列打出來的字才會正常。
- 把 Display 裡面的 Wide glyphs count as 2 columns 勾起來,這樣游標移動的時候也會正常一點。
- 設 alias ls=ls -v
- 最後是 readline 需要的 .inputrc ( http://www.frostyplace.com/index.php?story_id=1092 ),這個在 10.3 下還是可以用的。
錯誤預置:

執行這 [url=applescript://com.apple.scripteditor?action=new&script=%2D%2D%20unix%20line%20ending%20%27%5Cn%27%0Dproperty%20LF%20%3A%20ASCII%20character%2010%0D%0Dtell%20application%20%22Terminal%22%20to%20quit%0D%0D%2D%2D%20character%20set%20encoding%3A%20UTS%2D8%0Ddo%20shell%20script%20%22defaults%20write%20com%2Eapple%2Eterminal%20StringEncoding%204%22%0D%2D%2D%20check%20checkbox%20%22Width%20glyphs%20for%20Japanese%2FChinese%2Fetc%22%20in%20Display%0Ddo%20shell%20script%20%22defaults%20write%20com%2Eapple%2Eterminal%20DoubleColumnsForDoubleWide%20YES%22%0D%2D%2D%20check%20checkbox%20%22Width%20glyphs%20count%20as%202%20columns%22%20in%20Display%0Ddo%20shell%20script%20%22defaults%20write%20com%2Eapple%2Eterminal%20DoubleWideChars%20YES%22%0D%2D%2D%20uncheck%20checkbox%20%22Escape%20non%2DASCII%20characters%22%20in%20Emulation%20%0Ddo%20shell%20script%20%22defaults%20write%20com%2Eapple%2Eterminal%20UseCtrlVEscapes%20NO%22%0D%0D%2D%2D%20make%20%7E%2F%2Einputrc%0Dset%20fileContent%20to%20quoted%20form%20of%20%28%22set%20convert%2Dmeta%20off%22%20%26%20LF%20%26%20%22set%20meta%2Dflag%20on%22%20%26%20LF%20%26%20%22set%20output%2Dmeta%20on%22%20%26%20LF%29%0Dset%20cmd%20to%20%22echo%20%22%20%26%20fileContent%20%26%20%22%20%3E%20%7E%2F%2Einputrc%22%0Ddo%20shell%20script%20cmd%0D%0D%2D%2D%20add%20alias%20to%20%7E%2F%2Ebash_profile%0Dset%20fileContent%20to%20quoted%20form%20of%20%28%22alias%20ls%3D%27ls%20%2Dv%27%22%20%26%20LF%29%0Dset%20cmd%20to%20%22echo%20%22%20%26%20fileContent%20%26%20%22%20%20%3E%3E%20%7E%2F%2Ebash_profile%22%0Ddo%20shell%20script%20cmd%0D%0Ddelay%202%0Dtell%20application%20%22Terminal%22%20to%20activate%0Dsay%20%22done%22]applescript[/url],會調整終端機的預置,使其友善對待 unicode。
代碼: 選擇全部
-- unix line ending '\n'
property LF : ASCII character 10
tell application "Terminal" to quit
-- character set encoding: UTS-8
do shell script "defaults write com.apple.terminal StringEncoding 4"
-- check checkbox "Width glyphs for Japanese/Chinese/etc" in Display
do shell script "defaults write com.apple.terminal DoubleColumnsForDoubleWide YES"
-- check checkbox "Width glyphs count as 2 columns" in Display
do shell script "defaults write com.apple.terminal DoubleWideChars YES"
-- uncheck checkbox "Escape non-ASCII characters" in Emulation
do shell script "defaults write com.apple.terminal UseCtrlVEscapes NO"
-- make ~/.inputrc
set fileContent to quoted form of ("set convert-meta off" & LF & "set meta-flag on" & LF & "set output-meta on" & LF)
set cmd to "echo " & fileContent & " > ~/.inputrc"
do shell script cmd
-- add alias to ~/.bash_profile
set fileContent to quoted form of ("alias ls='ls -v'" & LF)
set cmd to "echo " & fileContent & " >> ~/.bash_profile"
do shell script cmd
delay 2
tell application "Terminal" to activate
say "done"適當預置:
