Vim配置指南
01
前言
本文只是一个基本的vim配置,按照笔者的习惯稍微装了一些插件,更多的个性化还是请同学们自己动手(不过学校这土豆服务器emmmm)
效果如图(Omni补全而不是关键字补全)
安装了:
--ctags并提前生成tags文件
--NERDTree
--Tagbar
--supertab
--vim-colors-solarized
这篇文章的产生,离不开Ausar的一个简单但是实用的VIM配置文件,在此感谢Ausar,Ausar nb!(溜
(顺便建议万事多看README.md
(顺便传教zsh,自动补全不分大小写且按tab就能切换是真的爽
说明:
按照插件包配置
02
准备工作
如果你从来没有安装过插件/更改过vim的配置,那么你需要先建立vim的配置文件夹在~目录下(就是home文件夹)
mkdir .vim
mkdir .vim/autoload
mkdir .vim/bundle
--运行指令touch .vimrc,建立一个空的vim配置文件
--在.bashrc/.zshrc中加入
export TERM=xterm-256color,将终端设为256色,让主题好看点
--这样就算是准备工作做好了
--此外,助教给的插件包是zip格式的,解压相当简单,最好新建一个tmp文件夹以免搞乱
mkdir tmp
cp plugins.zip ./tmp
cd tmp
unzip plugins.zip
mv 插件包 plugins
mkdir tmpSpace
(强迫症患者一定要整整齐齐)
03
tarball文件安装
参考
http://www.tldp.org/HOWTO/Software-Building-HOWTO-2.html
http://www.tldp.org/HOWTO/Software-Building-HOWTO-3.html
最重要是助教的说明(
以ctags为例
--在home下建立文件夹:mkdir ~/localtools
--在tmp下首先复制并解压:
cp plugins/ctags-5.8.tar.gz tmpSpace
cd tmpSpace
tar xzvf ctags-5.8.tar.gz
--进入ctags文件夹,configur并make
cd ctags-5.8
./configure --prefix=$HOME/localtools/ctags
make -j all
make install
现在ctags已经安装完成,需要把文件夹加入$PATH
--在.bashrc/.zshrc(根据你的终端决定)中加入
export PATH=~/localtools/ctags/bin:$PATH
--退掉并重新打开终端或source ~/.bashrc 之后,运行 ctags --version 应该就有结果了
--rm tmpSpace/*清理掉残局
04
插件管理器安装
vim有很多插件,一个一个安装管理相当麻烦,因此,就产生了专门安装插件的插件
这里以Plugin.zip里的pathogen为例
--首先把插件拷贝到tmpSpace里并解压
cp plugins/vim-pathogen-master.zip tmpSpace
cd tmpSpace
unzip vim-pathogen-master.zip
--接着,按照插件上的说明,将pathogen.vim拷贝到~/.vim/autoload/
cp vim-pathogen-master/autoload/pathogen.vim ~/.vim/autoload/
--向~/.vimrc开头写入以下内容:
execute pathogen#infect()
syntax on
filetype plugin indent on
--插件管理器的安装就算完成了,rm tmpSpace/*清理掉残局
05
个人基本配置
以下部分大量参考Ausar的一个简单但是实用的VIM配置文件
inoremap ' ''
inoremap " ""
inoremap ( ()
inoremap [ []
inoremap { {}O
autocmd InsertLeave * se nocul " 用浅色高亮当前行
autocmd InsertEnter * se cul " 用浅色高亮当前行
" autocmd InsertLeave * se nocuc "高亮当前列
" autocmd InsertEnter * se cuc "高亮当前列
"搜索逐字符高亮
set hlsearch
set incsearch
set ruler "在编辑过程中,在右下角显示光标位置的状态行
set laststatus=1 "总是显示状态行
set showcmd "在状态行显示目前所执行的命令,未完成的指令片段也会显示出来
set scrolloff=3 "光标移动到buffer的顶部和底部时保持3行的距离
set nu
" 鼠标,一打开就很玄学的导致卡,我就不打开了
" set mouse=a
06
插件安装
.vmb格式插件安装
emmmm很遗憾,咱们这个包里什么样的文件都有,有用pathogen安装着方便的,也有直接装方便的。
.vmb就是一种直接装更方便的,以supertab为例
--在tmp下直接vim plugins/supertab.vmb
--输入 :so %完成安装
一般压缩包(github下载下来)型插件
这种形式一般用pathogen管理比较方便,直接解压缩把整个文件夹放在~/.vim/bundle里就好
注意:很多这种插件都会要求在.vimrc里写入配置,仔细读README.md之类的文档
以nerdtree为例
--首先把插件拷贝到tmpSpace里并解压
cp plugins/NERD_tree.tgz tmpSpace
cd tmpSpace
tar xzvf NERD_tree.tgz
--把文件夹拷贝过去,cp NERD_tree ~/.vim/bundle -r 就大功告成了!
--打开vim,输入:NERDTree,你应该就能看见它出现了
类似的插件也都可以这么安装
07
部分插件基本配置说明
ctags生成标签
OmniComplete和跳转都需要
在当前目录下递归生成: ctags -R --fields=+S . 运行完毕后当前目录应有一个tags文件
此时在非插入模式下,在需要查找的符号上按Ctrl+]就能跳转过去,再按Ctrl+o就能跳转回来,vim的Omni补全应该也能用了(ctrl-x ctrl-o)
supertab配置
在~/.vimrc里根据个人喜好加入如下内容
" Supertab
" 预览模式,个人喜欢不出预览窗口,你们如果习惯Omni补全时有预览可以换用下面被注释掉这行
" set completeopt=preview,menu
set completeopt=longest,menu
autocmd InsertLeave * if pumvisible() == 0|pclose|endif "离开插入模式后自动关闭预览窗口
inoremap pumvisible() ? "\" : "\" "回车即选中当前项
"用上下左右键移动
inoremap pumvisible() ? "\" : "\"
inoremap pumvisible() ? "\" : "\"
inoremap pumvisible() ? "\\\" : "\"
inoremap pumvisible() ? "\\\" : "\"
" 记住上次补全模式,直到退出插入模式
let g:SuperTabRetainCompletionType = 2
" 默认用C-P补全(关键词补全),如果后续生成tags文件也可以选择用Omni补全
let g:SuperTabDefaultCompletionType = ""
" (个人喜好)把Ctrl-z映射为Omni补全(按下Ctrl-z之后Tab也会变成Omni补全,退出插入模式再进入就回到默认了)
inoremap
preview模式如图所示
NERDTree配置
~/.vimrc里根据个人喜好加入如下内容
" nerdtree
" 如果vim后没有跟文件名就自动打开NERDTree
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
" 把键映射为开关NERDTree
map :NERDTreeToggle
Tagbar配置
~/.vimrc里根据个人喜好加入如下内容
" Tagbar
" 设置tagbar的窗口宽度
let g:tagbar_width=25
" 映射Tagbar的快捷键,按F3自动打开
map :TagbarToggle
vim-colors-solarized配置
一定要在.bashrc/.zshrc中加入export TERM=xterm-256color,将终端设为256色(要不然丑炸
以及即使这样设置好像还是有些问题。。。
~/.vimrc里必须加入如下内容,严格按顺序
" vim-colors-solarized
let g:solarized_termcolors=256
colorscheme solarized
set background=dark " 也可选择light,三思(
08
总结碎碎念
(zsh好,zsh妙,zsh的Tab键呱呱叫
如果有什么插件很迷惑,就去看他的README文件吧,基本能解决问题。实在不行就,还有百度嘛。
其实配了也没多大用学校这令人恼怒的土豆(x
总之希望大家能在os课程中愉快学习,共渡难关!
文 | 王鹏博
版 | Crazy