讓Solaris和Linux一樣多彩

在Solaris上面工作有幾個不方便地方:

  • 一個是ls不能按照文件類型顯示顏色;
  • 另一個是VI也不能顯現語法色彩;

這裏就來說明如何解決這兩個問題:

 

其實這兩個問題都是Solaris自身所帶的ls和vi版本的問題;
所以解決辦法就是下載最新的ls和vim源文件包重新編譯進行安裝,看上去好像挺麻煩,其實就幾步,很簡單的:
最新的ls是在一個叫coreutils的包中,從這裏下載;
然後解壓:
gunzip coreutils.tar.gz;
tar zvf coreutils.tar;
進入解壓後的目錄執行: .
configure --prefix ~/bin/coreutils
後面的參數--prefix ~/bin/coreutils是說要安裝到~/bin/coreutils位置;
執行完畢後,再一步make install就over了.
成功後會在~/bin/coreutils/bin下面生成一個新的ls;
下面就是要在.kshrc(根據具體的Shell而定)中加入:
alias ls="~/bin/coreutils/bin/ls --color"
alias ll="~/bin/coreutils/bin/ls -lt --color"
如果要自定義顯示顏色,需要在.kshrc加入(具體顏色根據自己需要進行修改,下面"export LS_COLORS"前面是一整行):
LS_COLORS='no=00:fi=00:di=00;93:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32    :*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.svgz=00;31:    *.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.dz=00;31:*.gz=00;31:*.bz2=00;31:*.tbz2    =00;31:*.bz=00;31:*.tz=00;31:*.deb=00;31:*.rpm=00;31:*.jar=00;31:*.rar=00;31:*.ace=00;31:*.zoo=00;31:*.cpio=00;31:*.7z=00    ;31:*.rz=00;31:*.jpg=00;35:*.jpeg=00;35:*.gif=00;35:*.bmp=00;35:*.pbm=00;35:*.pgm=00;35:*.ppm=00;35:*.tga=00;35:*.xbm=00;    35:*.xpm=00;35:*.tif=00;35:*.tiff=00;35:*.png=00;35:*.mng=00;35:*.pcx=00;35:*.mov=00;35:*.mpg=00;35:*.mpeg=00;35:*.m2v=00    ;35:*.mkv=00;35:*.ogm=00;35:*.mp4=00;35:*.m4v=00;35:*.mp4v=00;35:*.vob=00;35:*.qt=00;35:*.nuv=00;35:*.wmv=00;35:*.asf=00;    35:*.rm=00;35:*.rmvb=00;35:*.flc=00;35:*.avi=00;35:*.fli=00;35:*.gl=00;35:*.dl=00;35:*.xcf=00;35:*.xwd=00;35:*.yuv=00;35:    *.svg=00;35:'
export LS_COLORS;
 
最新的vim到這裏下載; 下載解壓後進入vim72目錄執行:
./configure --prefix ~/bin/vim72
make install
然後在.kshrc中加入:
alias vi="~/bin/vim72/vim/bin/vim"
TERM=xtermc
export TERM
~/.vimrc中開啓語法高亮設置:
:syntax on
 
其他幾個小問題是和Kshell相關的:
  1. 在Kshell下不能和Bash一樣按Tab進行文件名的自動補全;
    其實Kshell是有這個功能的,只不過它是要按兩次鍵才行:ESC+/;
    有些版本的Kshell支持一個特別的選項:set o vi-tabcomplete;
    設置之後就可以按Tab鍵進行自動完成了.
  2. 在Kshell中按Backspace鍵的時候不是刪除前一個字符而是顯示^H,
    解決辦法可以用ctrl+Backspace向前刪除,
    或者在.kshrc中加入:stty erase "^H";
    如果你用Poderosa作爲Terminal Emulator的話,可以如下設置:
    Tools->Options->Operation->選中 "send 0x7F by BackSpace Key"
另外在這裏總結下三種shell命令行設置成vi編輯模式的方法:
Kshell: set -o vi
Cshell: bindkey -v
Bash:  set -o vi
 
最後補充一個Linux下面ls顏色設置:
Linux下面是通過/etc/DIR_COLORS來設定的,
用戶可以將這個文件拷貝到自己主目錄下面改名爲.dir_colors;
然後根據自己的喜歡修改顏色; ls顯示顏色還和用戶登錄用的term類型有關係;
比如Poderosa中提過了Xterm,Kterm和vt100三種方式;
登錄後可以用echo $TERM來查看當前的term類型;
如果用某種方式登錄後發現ls不顯示顏色,這需要修改.dir_colors,在前面加入登錄所用的term類型;
發佈了63 篇原創文章 · 獲贊 6 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章