6.8. gnuls - 特殊中文檔名和目錄的顯示

使用 gnuls 取代 ls 的原因是沒有 -N "四分衛" 就變成 "|分衛"。

           -N, --literal
                  print  raw  entry  names  (don't treat e.g. control
                  characters specially)
         

並設定 aliasalias ls 'gnuls --color --show-control-chars' 這樣 gnuls 顯示才會正常。

ls 無法顯示中文通常都是設定了 LC_CTYPE 為 zh_TW.Big5 或是沒設定 LC_CTYPE 才會發生的問題,在 ~/.cshrc 中加上下面的 alias 即可:

    alias ls 'env LC_CTYPE=en_US.ISO_8859-1 ls'

或是進行以下的步驟來修補 /usr/src/bin/ls ,如果沒有此目錄請自行安裝。

    # cd /usr/src/bin/ls
    # fetch http://freebsd.sinica.edu.tw/~statue/util.c.mbpatch
    # patch < util.c.mbpatch
    # make && make install

然後用 env TERM=xterm-color ls -G 就有彩色顯示的目錄與檔案了。

以下的設定可以讓 /bin/ls 還有 tcsh 內建的 ls-F (or Ctrl-D) 的彩色顯示一致 ,它是 tcsh builtin command,不過有時候會有問題。

    # setenv CLICOLOR
    # set color
    # setenv LS_COLORS 'di=0;34:ln=0;35:so=0;32:pi=0;33:ex=0;31:bd=0;34;46:cd=0;34;43'

snapshot: http://freebsd.sinica.edu.tw/~statue/snapshot/gnuls.png