骑士注册 登录
Linux 中国◆开源社区 返回首页

零度王爵的个人空间 https://linux.cn/space/17695 [收藏] [复制] [分享] [RSS]

日志

vim配置备忘录

已有 2342 次阅读2014-10-23 22:38 |个人分类:linux

一、配置平台

 

  系统:ubuntu  14.04.1  32位

  vim:vim  7.4.52

  插件管理:用vundle进行插件管理

  适用范围:主要用来C编程

 


 

 

二、安装

 

  1、安装vim

 

$ sudo apt-get install vim

 

  2、安装vundle(插件管理)      GitHub地址:https://github.com/gmarik/Vundle.vim

 

$ git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim

 

  如果未安装git,请安装git

 

$ sudo apt-get install git

  

  3、在home下新建.vimrc文件

 

$ touch .vimrc

 

输入一下配置信息(有些配置后面会讲到)

 

"************************************
"          一般性配置                *
"************************************

"关闭vim一致性原则
set nocompatible

"显示行号
set number

"设置在编辑过程中右下角显示光标的行列信息
set ruler

"在状态栏显示正在输入的命令
set showcmd

"设置历史记录条数
set history=1000

"设置取消备份 禁止临时文件的生成
set nobackup
set noswapfile

"设置匹配模式
set showmatch

"设置C/C++方式自动对齐
set autoindent
set cindent

"开启语法高亮功能
syntax enable
syntax on

"指定配色方案为256色
set t_Co=256

"设置搜索时忽略大小写
set ignorecase

"配置backspace的工作方式
set backspace=indent,eol,start

"设置在vim中可以使用鼠标
set mouse=a

"设置tab宽度
set tabstop=4

"设置自动对齐空格数
set shiftwidth=4

"设置退格键时可以删除4个空格
set smarttab
set softtabstop=4

"将tab键自动转换为空格
set expandtab

"设置编码方式
set encoding=utf-8

"自动判断编码时 依次尝试以下编码
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1

"不检测文件类型
filetype off

"针对不同的文件采取不同的缩进方式
filetype indent on

"允许插件
filetype plugin on


"*********************************************************
"                  vundle 配置                           *
"*********************************************************

set rtp+=~/.vim/bundle/Vundle.vim

call vundle#begin()

" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'


" My Plugins is here
Plugin 'tpope/vim-fugitive'
Plugin 'L9'
Plugin 'a.vim'
Plugin 'Auto-Pairs'
Plugin 'vim-scripts/taglist.vim'
Plugin 'The-NERD-tree'
Plugin 'Syntastic'
Plugin 'FuzzyFinder'
Plugin 'Lokaltog/vim-powerline'
Plugin 'Valloric/YouCompleteMe' 

call vundle#end()

"启动智能补全
filetype plugin indent on
"*****************************************************
"                   taglist配置                      *
"*****************************************************

"不显示"press F1 to display help"
let Tlist_Compact_Format=1

"窗口在右侧显示
let Tlist_Use_Right_Window=1

"只显示当前文件的tags
let Tlist_Show_One_File=1  

"高亮显示
let Tlist_Auto_Highlight_tag=1

"随文件自动更新
let Tlist_Auto_Update=1

"设置宽度
let Tlist_WinWidth=30       

"taglist窗口是最后一个窗口,则退出vim
let Tlist_Exit_OnlyWindow=1 

"单击跳转
let Tlist_Use_SingClick=1

"打开关闭快捷键
nnoremap <silent> <F8> :TlistToggle<CR>




"********************************************************
"                      NERD_Tree 配置                   *
"********************************************************

"显示增强
let NERDChristmasTree=1

"自动调整焦点
let NERDTreeAutoCenter=1

"鼠标模式:目录单击,文件双击
let NERDTreeMouseMode=2

"打开文件后自动关闭
let NERDTreeQuitOnOpen=1

"显示文件
let NERDTreeShowFiles=1

"显示隐藏文件
let NERDTreeShowHidden=1

"高亮显示当前文件或目录
let NERDTreeHightCursorline=1

"显示行号
let NERDTreeShowLineNumbers=1

"窗口位置
let NERDTreeWinPos='left'

"窗口宽度
let NERDTreeWinSize=31

"不显示'Bookmarks' label 'Press ? for help'
let NERDTreeMinimalUI=1

"快捷键
nnoremap <silent> <F4> :NERDTreeToggle<CR>



"*****************************************************
"           YouCompleteMe配置                        *
"*****************************************************

"leader映射为逗号“,”
let mapleader = ","  

"配置默认的ycm_extra_conf.py
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py' 
 
"按,jd 会跳转到定义
nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>   

"打开vim时不再询问是否加载ycm_extra_conf.py配置
let g:ycm_confirm_extra_conf=0   

"使用ctags生成的tags文件
let g:ycm_collect_identifiers_from_tag_files = 1 


"*****************************************************
"           Syntastic配置                            *
"*****************************************************


let g:Syntastic_check_on_open=1

 

4、在终端输入vi,进入后输入命令:PluginInstall(YoucompleteMe安装时间较长,请耐心等待!)

 

 

安装完成后

 

 

 

5、其他的几个插件都比较简单,这里重点说一下YoucompleteMe的配置过程

 

GitHub地址:https://github.com/Valloric/YouCompleteMe

 

(ubuntu x64 可以快速安装,请看 GitHub文档,以下是完全安装过程)

 

首先编译安装llvm-clang

 

$  mkdir ~/llvm-clang
$ cd ~/llvm-clang
$ svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
$ cd llvm/tools
$ svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
$ cd ../..
$ cd llvm/tools/clang/tools
$ svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra
$ cd ../../../..
$ cd llvm/projects
$ svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
$ cd ../..

 

返回~/llvm-clang目录,并新建一个目录llvm-build专门用于编译llvm-clang

 

$ mkdir llvm-build

$ cd llvm-build/

$ ../llvm/configure --enable-optimized  //注意:最后这个参数要加上,否则编译会很慢

 

编译完成后

 

$ make -j4

$ sudo make install

 

以下步骤会用到cmake和python-dev,如果没有安装请安装

 

$ sudo apt-get install cmake
$ sudo apt-get install python-dev

 

然后运行如下命令

 

$ cd ~
$ mkdirycm_build
$ cd ycm_build

$ cmake -G "Unix Makefiles" DEXTERNAL_LIBCLANG_PATH=/path/to/libclang.so  ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp  
  //可以用locate命令确定你的libclang.so的路径,在适用locate之前注意updatedb.
$ make

 

好了,一切OK!尽情享受vim吧!

 

 

 

 

返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。