1. 首先打开vim的配置文件vimrc,并加入以下常用的配置:
cd ~
mkdir .vim
vim .vimrc
" 设置当文件被改动时自动载入
set autoread
" quickfix模式
autocmd FileType c,cpp map <buffer> <leader><space> :w<cr>:make<cr>
"代码补全
set completeopt=preview,menu
"允许插件
filetype plugin on
"共享剪贴板
set clipboard=unnamedplus
"从不备份
set nobackup
"make 运行
:set makeprg=g++\ -Wall\ \ %
"自动保存
set autowrite
set ruler " 打开状态栏标尺
set cursorline " 突出显示当前行
set magic " 设置魔术
set guioptions-=T " 隐藏工具栏
set guioptions-=m " 隐藏菜单栏
"set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\
" 设置在状态行显示的信息
set foldcolumn=
set foldmethod=indent
set foldlevel=
set foldenable " 开始折叠
" 不要使用vi的键盘模式,而是vim自己的
set nocompatible
" 语法高亮
set syntax=on
" 去掉输入错误的提示声音
set noeb
" 在处理未保存或只读文件的时候,弹出确认
set confirm
" 自动缩进
set autoindent
set cindent
" Tab键的宽度
set tabstop=
" 统一缩进为4
set softtabstop=
set shiftwidth=
" 不要用空格代替制表符
set noexpandtab
" 在行和段开始处使用制表符
set smarttab
" 显示行号
set number
" 历史记录数
set history=
"禁止生成临时文件
set nobackup
set noswapfile
"搜索忽略大小写
set ignorecase
"搜索逐字符高亮
set hlsearch
set incsearch
"行内替换
set gdefault
"编码设置
set enc=utf-
set fencs=utf-,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
"语言设置
set langmenu=zh_CN.UTF-
set helplang=cn
" 我的状态行显示的内容(包括文件类型和解码)
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
" 总是显示状态行
set laststatus=
" 命令行(在状态行下)的高度,默认为1,这里是2
set cmdheight=
" 侦测文件类型
filetype on
" 载入文件类型插件
filetype plugin on
" 为特定文件类型载入相关缩进文件
filetype indent on
" 保存全局变量
set viminfo+=!
" 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-
" 字符间插入的像素行数目
set linespace=
" 增强模式中的命令行自动完成操作
set wildmenu
" 使回格键(backspace)正常处理indent, eol, start等
set backspace=
" 允许backspace和光标键跨越行边界
set whichwrap+=<,>,h,l
" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key
" 通过使用: commands命令,告诉我们文件的哪一行被改变过
set report=
" 在被分割的窗口间显示空白,便于阅读
set fillchars=vert:\ ,stl:\ ,stlnc:\
" 高亮显示匹配的括号
set showmatch
" 匹配括号高亮的时间(单位是十分之一秒)
set matchtime=
" 光标移动到buffer的顶部和底部时保持3行距离
set scrolloff=
" 为C程序提供自动缩进
set smartindent
2. 选择molokai的模式的主题,毕竟好看的编辑环境给人赏心悦目,愉快地敲代码hh。这款主题很不错的。
首先在github上获取这个颜色的主题,终端输入命令获取:
git clone https://github.com/tomasr/molokai.git
当前目录下会有一个文件夹:molokai,进入到文件夹内部的color目录内,有个molokai.vim文件。
进入之前创建好的.vim目录内,在创建一个colors目录,把刚才那个颜色主题剪切或复制进来就可以了。
cd .vim
mkdir colors
mv ~/molokai/color/molorkai.vim ./colors
然后在.vimrc文件中加上:
"===========================选择molokai的模式============================
"let g:rehash256 = 1 let g:molokai_original = 1 "相较于上一个模式,个人比较喜欢此种模式
highlight NonText guibg=#
highlight Folded guibg=#0A0A0A guifg=#9090D0
"set t_Co=256 "set background=dark
colorscheme molokai
这样就ok啦。
3. 安装vundle管理插件。
首先安装,终端输入:
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
这样获取到了bundle后,就可以在配置文件.vimrc中编辑bundle的特性。在刚刚的.vimrc文件头部中添加如下语句:
"====================Vundle配置======================
set nocompatible " be iMproved, required
filetype off " required " set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim' " All of your Plugins must be added before the following line
call vundle#end() " required filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList - lists configured plugins
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line
4. 安装clang插件
Clang-complete是一个为c/c++而生的代码自动完成的插件.当我们输入.和->后,会给我们提示。
我们需要先通过下面的命令安装其依赖的工具以及库:
sudo apt-get install libclang-dev clang
然后,通过Vundle安装它.在~/.vimrc文件中,在call vundle#begin()和call vundle#end()之间,添加这行Plugin 'rip-rip/clang_complete'.
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
Plugin 'rip-rip/clang_complete'
Plugin 'scrooloose/nerdtree' " All of your Plugins must be added before the following line
call vundle#end() " required
同样,我们需要配置一下这个插件.还是在~/.vimrc文件中,添加其需要的库的位置.在此文件的最后,加上这一行:
let g:clang_library_path='/usr/lib/llvm-3.4/lib'
需要注意的是g:clang_library_path这个变量的值,要是你的机器上的安装路径,因为版本的原因,很可能和我这里的路径不同.你需要替换成你的路径,一般来说,和上面的路径相比,只是版本号不同.
然后,打开Vim,输入: PluginInstall,就会自动安装~/.vimrc这个文件中配置的插件。显示Done时即安装ok啦。
5. 安装插件Nerd tree
以左侧栏列出当前文件所在的目录树,类似IDE,可大大提高开发效率,实现效果如下:
首先在~/.vimrc文件中,在call vundle#begin()和call vundle#end()之间,添加这行Plugin 'scrooloose/nerdtree'
然后在后面添加其配置文件,如下:
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
Plugin 'rip-rip/clang_complete'
Plugin 'scrooloose/nerdtree' " All of your Plugins must be added before the following line
call vundle#end() " required
" NerdTree才插件的配置信息
""将F2设置为开关NERDTree的快捷键
map <f2> :NERDTreeToggle<cr>
""修改树的显示图标
let g:NERDTreeDirArrowExpandable = '+'
let g:NERDTreeDirArrowCollapsible = '-'
""窗口位置
let g:NERDTreeWinPos='left'
""窗口尺寸
let g:NERDTreeSize=
""窗口是否显示行号
let g:NERDTreeShowLineNumbers=
""不显示隐藏文件
""打开vim时如果没有文件自动打开NERDTree
autocmd vimenter * if !argc()|NERDTree|endif
let g:NERDTreeHidden=
""当NERDTree为剩下的唯一窗口时自动关闭
autocmd bufenter * if (winnr("$") == && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
""打开vim时自动打开NERDTree
autocmd vimenter * NERDTree filetype plugin indent on " required
安装,打开vim,输入:PluginInstall,提示done表示安装成功。
最后介绍下Nerdtree的一些使用方法:
ctrl+w+w 光标在左右窗口切换
ctrl+w+r 切换当前窗口左右布局
o 打开关闭文件或者目录,如果是文件的话,光标出现在打开的文件中
O 打开结点下的所有目录
X 合拢当前结点的所有目录
x 合拢当前结点的父目录 i和s水平分割或纵向分割窗口打开文件
u 打开上层目录
t 在标签页中打开
T 在后台标签页中打开 p 到上层目录
P 到根目录
K 到同目录第一个节点
J 到同目录最后一个节点
m 显示文件系统菜单(添加、删除、移动操作)
? 帮助
:q 关闭
ok,以上就是一些关于vim的简单配置及插件使用,赶快写个.cpp文件试一试手感把哈哈。