目标
在centos6上,升级默认的vim到最新版(with lua), 并且安装spf13
适用于:centos6u9, centos6u3
过程
yum升级
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
or
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo
yum clean
yum makecache
yum upgrade
(需要确认一次)
python2.6升级到2.7
安装前,系统自带的python是2.6.6,需要安装2.7最新版。
# 下载python 2.7 并编译,安装
wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz
tar -xzvf Python-2.7.14.tgz
cd Python-2.7.14
./configure
make && make install
# 默认 Python 2.7.14 会安装在 /usr/local/bin 目录下。
ll -tr /usr/local/bin/python*
/usr/local/bin/python2.7
/usr/local/bin/python2.7-config
/usr/local/bin/python -> python2
/usr/local/bin/python2 -> python2.7
/usr/local/bin/python2-config -> python2.7-config
/usr/local/bin/python-config -> python2-config
#而系统自带的 Python 是在 /usr/bin 目录下。
ll -tr /usr/bin/python*
/usr/bin/python2.6-config
/usr/bin/python2.6
/usr/bin/python
/usr/bin/python2 -> python
/usr/bin/python-config -> python2.6-config
更新系统默认python版本
# 先把系统默认的旧版 Python 重命名。
mv /usr/bin/python /usr/bin/python.old
# 再删除系统默认的 python-config 软链接。
rm -f /usr/bin/python-config
# 最后创建新版本的 Python 软链接。
ln -s /usr/local/bin/python /usr/bin/python
ln -s /usr/local/bin/python-config /usr/bin/python-config
ln -s /usr/local/include/python2.7/ /usr/include/python2.7 (可选,我没选)
# 以上步骤做完以后,目录 /usr/bin 下的 Python 应该是
ll -tr /usr/bin/python*
/usr/bin/python2.6-config
/usr/bin/python2.6
/usr/bin/python.old
/usr/bin/python2 -> python
/usr/bin/python -> /usr/local/bin/python
/usr/bin/python-config -> /usr/local/bin/python-config
# 查看新的 Python 版本,python --version,返回 Python 2.7.14 为正常。
为新版 Python 安装 setuptools
wget https://bootstrap.pypa.io/ez_setup.py -O - | python
setuptools 正确安装完成后,easy_install 命令就会被安装在 /usr/local/bin 目录下了。
注意:
升级 Python 可能会导致 yum 命令不可用。解决方法如下:
编辑 /usr/bin/yum 文件,将开头第一行的
#!/usr/bin/python
改为
#!/usr/bin/python2.6
vim7升级到vim8
ncurse安装
yum install -y ncurses-devel.x86_64
lua和luajit安装
# lua
curl -R -O http://www.lua.org/ftp/lua-5.3.4.tar.gz
tar zxf lua-5.3.4.tar.gz
cd lua-5.3.4
make linux test
make linux
make install
# luajit
wget http://luajit.org/download/LuaJIT-2.0.5.tar.gz
tar xzf LuaJIT-2.0.5.tar.gz
cd LuaJIT-2.0.5
make && make install
删除旧的vim
yum remove vim* -y
扩充path
echo 'export PATH=/usr/local/bin/:${PATH}' >> /etc/profile.d/path.sh
扩充默认的动态库搜索目录并生效修改
echo '/usr/local/lib/' >> /etc/ld.so.conf.d/luajit-2.0.5.conf
echo '/usr/local/lib/' >> /etc/ld.so.conf.d/lua5.3.conf
ldconfig
vim8安装
tips: 如果此前安装过,建议删除vim8后再安装
rm -rf ~/.vim*
rm -rf /usr/local/vim8*
wget ftp://ftp.vim.org/pub/vim/unix/vim-8.0.tar.bz2
tar jxf vim-8.0.tar.bz2
cd vim80/src
./configure --with-features=huge --with-luajit --enable-luainterp=yes --enable-fail-if-missing --with-lua-prefix=/usr/local --prefix=/usr/local/vim8 --with-python-config-dir=/usr/local/lib/python2.7/config/ --enable-pythoninterp=yes
# 如果还缺什么,./configure会失败,根据提示安装确实的依赖即可
make
make install
# bin目录添加到path
echo 'export PATH=/usr/local/vim8/bin/:${PATH}' >> /etc/profile.d/path.sh
source /etc/profile.d/path.sh
spf13安装
从官网(https://github.com/spf13/spf13-vim)安装即可
tips: 如果此前安装过,建议删除后再安装(rm -rf ~/.spf13-vim*)
配置.vimrc.local
"解决Nerdtree文件夹的箭头图标无法正常显示的坑
"设置字体
set guifont=Manaco
"关闭vi兼容模式
set nocompatible
"设置文件检测编码
set fileencodings=ucs-bom,utf-8,gbk,gb2312,chinese,cp936,gb18030,big5,euc-jp,euc-kr,latin1
"设置内部编码
set encoding=utf-8
"设置新建文件保存编码
set fileencoding=utf-8
"set fileencoding=gbk
"搜索忽略大小写
set ignorecase smartcase
"开启实时搜索功能
set incsearch
"高亮搜索
set hlsearch
"显示行号
set nu
"显示尺标
set ruler
"突出显示当前行
set cursorline
hi CursorLine cterm=NONE ctermbg=darkred ctermbg=darkred ctermfg=green
" Make it obvious where 100 characters is
set textwidth=100
set colorcolumn=+1
"突出显示当前列
"set cursorcolumn
"命令打开文件类型检测功能,它相当于文件类型检测功能的开关
filetype on
"运行环境载入不同插件 indent代表不同文件类型不同的缩排方式 .vim/indent
"filetype plugin indent on
"语法高亮
syntax enable
syntax on
"自动缩进
set autoindent
"table键盘4空格
set tabstop=4
"当使用移动(shift)命令时移动的字符数
set shiftwidth=4
"增强模式中的命令行自动完成操作,可以在命令行下Tab键给出命令列表
set wildmenu
set wildmode=longest:list,full
"显示状态栏
set laststatus=2
"基于缩进或语法进行代码折叠
set foldmethod=indent
"set foldmethod=syntax
set foldcolumn=0
"启动 vim 时关闭折叠代码
set nofoldenable
"定义快捷键的前缀,即<Leader>
let mapleader=";"
"nnoremap 普通模式(normal mode)下生效的映射 与map的区别是不会递归映射
"inoremap 插入模式(insert mode)下生效
"配色方案
"colorscheme moss
"设置 tagslist
"让taglist窗口出现在Vim的右边
let Tlist_Use_Right_Window = 1
"当同时显示多个文件中的tag时,设置为1,可使taglist只显示当前文件tag,其它文件的tag都被折叠起来
let Tlist_File_Fold_Auto_Close = 1
"只显示一个文件中的tag,默认为显示多个
let Tlist_Show_One_File = 1
"Tag的排序规则,以名字排序。默认是以在文件中出现的顺序排序
"let Tlist_Sort_Type ='name'
"Taglist窗口打开时,立刻切换为有焦点状态
let Tlist_GainFocus_On_ToggleOpen = 1
"如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Exit_OnlyWindow = 1
"设置窗体宽度为32,可以根据自己喜好设置
let Tlist_WinWidth = 32
"这里比较重要了,设置ctags的位置
let Tlist_Ctags_Cmd ='/usr/bin/ctags'
"热键设置
"map t :TlistToggle
map <silent> <F9> :TlistToggle<cr>
set shiftwidth=4 "这个量是每行的缩进深度,一般设置成和tabstop一样的宽度"
set tabstop=4 "设置Tab显示的宽度,Python建议设置成4"
"刚才说过Tab和空格是不同的,虽然你可以在自己的代码中全部使用Tab"
""但是如果你将你的代码分享给使用空格的朋友,就会带来很多麻烦"
"那么设置下面这行就可以将Tab自动展开成为空格"
"set expandtab
""如果只想在Python文件中将Tab展开成空格,就改换成下面这句"
autocmd FileType python set expandtab
set expandtab
"上面的一些配置已经可以让你避免编译出现错误的问题了"
"
""不过下面还有一些配置是建议同学们根据需要加上的"
"set smartindent "智能缩进"
"set cindent "C语言风格缩进"
"set autoindent "自动缩进"
autocmd vimenter * NERDTree
map <F2> :NERDTreeToggle<CR>
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") &&b:NERDTreeType == "primary") | q | endif
let NERDTreeDirArrows = 0
"打开新的buffer时自动定位到编辑窗口
autocmd VimEnter * wincmd p
set nu
hi comment ctermfg=6
let mapleader = ","
set wrap
set mouse=""
set enc=utf-8
set fenc=utf-8
set fencs=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set fileencodings=utf-8,gbk,latin-1
set t_Co=256
set tabstop=4
set shiftwidth=4
set autoindent
"UPPERCASE and lowercase conversion
"nnoremap g^ gUiW
"nnoremap gv guiW
""go to first and last char of line
nnoremap H ^
nnoremap L g_
vnoremap H ^
vnoremap L g_
syntax enable
set bg=dark
colorscheme solarized
网友评论