linux安装vim
打开之前装的一个虚拟机,发现系统自带的还是vi并不是vim,打开shell脚本或源文件时语法都没高亮,没有提示性看着不太舒服,花了一晚上重装了一个vim,文件现在看着舒服多了。安装过程如下:
1. 先去官网http://www.vim.org/download.php下载vim安装文件,linux环境下都是建议下载源码自己编译安装,官网提供了两种源码下载方式一个是通过hg工具下载,另外一个是直接提供了源文件的tar压缩包。2. 得到压缩文件后直接tar -xf vim-7.4.tar.bz2解压压缩文件,得到vim74目录然后cd vim74进入目录。
3. 之后直接make,过了一会儿就报错了:
no terminal library found
checking for tgetent()... configure: error: NOT FOUND!
You need to install a terminal library; for example ncurses.
Or specify the name of the library with --with-tlib.
错误信息很明显缺少ncurses包,于是去镜像文件中找到ncurses包ncurses-devel-5.5-24.20060715.i386.rpm安装:
[root@localhost Server]# rpm -ivh ncurses-devel-5.5-24.20060715.i386.rpm。
4. 因为刚才编译过一次所以这次先make distclean,再次make这次编译报错提示:
os_unix.c:45:30: 错误:selinux/selinux.h:没有那个文件或目录
os_unix.c: In function ‘mch_copy_sec’:
os_unix.c:2667: 警告:隐式声明函数 ‘is_selinux_enabled’
os_unix.c:2671: 错误:‘security_context_t’ 未声明 (在此函数内第一次使用)
os_unix.c:2671: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
os_unix.c:2671: 错误:所在的函数内只报告一次。)
os_unix.c:2671: 错误:expected ‘;’ before ‘from_context’
os_unix.c:2672: 错误:expected ‘;’ before ‘to_context’
os_unix.c:2674: 警告:隐式声明函数 ‘getfilecon’
os_unix.c:2674: 错误:‘from_context’ 未声明 (在此函数内第一次使用)
os_unix.c:2687: 错误:‘to_context’ 未声明 (在此函数内第一次使用)
os_unix.c:2692: 警告:隐式声明函数 ‘freecon’
os_unix.c:2697: 警告:隐式声明函数 ‘setfilecon’
make[2]: *** [objects/os_unix.o] 错误 1
make[2]: Leaving directory `/opt/bzip2/vim73/src'
make[1]: *** [myself] 错误 2
make[1]: Leaving directory `/opt/bzip2/vim73/src'
make: *** [first] 错误 2
网上给出的解决办法是禁用selinux检测,再次make distclean。之后:
./configure --disable-selinux
make
make install
顺利安装完成。
5. 安装完成后,在终端输入vi发现还是用的系统自带的vi,只有输入vim才会使用刚才安装的vim软件,这当然不是我想要的我希望在终端输入vi或vim都是使用刚才安装的vim,这时只需要在/etc/profile文件中加入alias vi='vim'即可,alias的意思是给命令一个别名,这里表示在系统中给vim一个别名叫vi,所以现在输入vi命令时调用的就是vim了。
这里顺便介绍下为啥需要修改/etc/profile这个文件,用户在进入Linux系统时执行文件的过程如下:
首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个,执行的顺序为:~/.bash_profile、 ~/.bash_login、 ~/.profile。如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件。因为在 ~/.bash_profile文件中一般会有下面的代码:
if [ -f ~/.bashrc ] ; then
. ./bashrc
fi
~/.bashrc中,一般还会有以下代码:
if [ -f /etc/bashrc ] ; then
. /bashrc
fi
所以,~/.bashrc会调用 /etc/bashrc文件。最后,在退出shell时,还会执行 ~/.bash_logout文件。
执行顺序为:
/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout
安装完vim后,可能还不知道文件装在哪里,这里给大家介绍一个小技巧可以方便查看:
[root@localhost vim74]# command -V vim
vim is /usr/local/bin/vim
是不是很方便。
6. 现在所有的用户都可以用上vim了,现在需要配置vim了,两种常用的方式:第一个是复制一个.vimrc文件到用户的主目录下,这种方式的配置只对当前用户有效,多用户的时候就比较麻烦了;第二个方式是将vimrc文件放置在安装目录主目录下,在命令行输入:echo $VIM可以看到/usr/local/share/vim,这个就是vim的主目录,直接将vimrc文件放在该目录下即可(这里要注意.vimrc和vimrc两个文件名的区别),这样所有用户都可以公用这个配置了。