让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类型;

你可能感兴趣的:(让Solaris和Linux一样多彩)