VIM配置

1、将/etc/.vimrc复制到~/目录下:

cp /etc/.vimrc ~/


2、VIM一般配置

在~/.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 on
 
"针对不同的文件采取不同的缩进方式
filetype indent on
 
"允许插件
filetype plugin on
 
"启动智能补全
filetype plugin indent on


3、安装插件管理器Vundle

使用git直接安装:git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle


在~/.vimrc文件最后加入以下配置:

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

"*********************************************************

" vundle {
set rtp+=~/.vim /bundle/vundle/
" 如果在windows下使用的话,设置为
set rtp+=$HOME/.vim /bundle/vundle/
call vundle #rc()
" }
"
let Vundle manage Vundle
" required!
Bundle  'gmarik/vundle'
  
" My Bundles here:
"
" original repos on github
" github上的用户写的插件,使用这种用户名+repo名称的方式
" Bundle  'tpope/vim-fugitive'
" Bundle  'Lokaltog/vim-easymotion'
" Bundle  'rstacruz/sparkup' , { 'rtp' 'vim/' }
" Bundle  'tpope/vim-rails.git'
" vim-scripts repos
" vimscripts的repo使用下面的格式,直接是插件名称
Bundle  'taglist.vim'
Bundle  'SuperTab'
Bundle  'vimwiki'
Bundle  'winmanager'
Bundle  'bufexplorer.zip'
Bundle  'The-NERD-tree'
Bundle  'matrix.vim--Yang'
Bundle  'FencView.vim'
Bundle  'Conque-Shell'
Bundle  'Vimpress'
Bundle  'Markdown'
Bundle  'LaTeX-Suite-aka-Vim-LaTeX'
Bundle  'c.vim'
Bundle  'snipMate'
  
" non github reposo
" 非github的插件,可以直接使用其git地址
" Bundle  'git://git.wincent.com/command-t.git'
" ...
  
"
" Brief help
" :BundleList          - list configured bundles
" :BundleInstall(!)    -  install (update) bundles
" :BundleSearch(!) foo - search(or refresh cache first)  for foo
" :BundleClean(!)      - confirm(or auto-approve) removal of unused bundles
" vundle主要就是上面这个四个命令,例如BundleInstall是全部重新安装,BundleInstall!则是更新
" 一般安装插件的流程为,先BundleSearch一个插件,然后在列表中选中,按i安装
" 安装完之后,在vimrc中,添加Bundle  'XXX' ,使得bundle能够加载,这个插件,同时如果
" 需要配置这个插件,也是在vimrc中设置即可
" see :h vundle  for more details or wiki  for FAQ
" NOTE: comments after Bundle  command are not allowed..


备注:

Vim配置

简单说明

set nocompatible

不要使用vi的键盘模式,而是vim自己的

filetype on

侦测文件类型

filetype plugin on

载入文件类型插件

filetype indent on

为特定文件类型载入相关缩进文件

 

Vundle会自动给你下载和管理插件,所以,你只要填上你所需要的插件名称即可。对于不同类型的插件,有不同的地址填写方法。按上面的方法填写完毕就可以了。填写完成,保存退出后,打开一个vim窗口。

打开一个vim, 运行":BundleInstall"或者在命令行运行"vim +BundleInstall +qall",安装完成后插件就能用了。

其它常用命令:

  • 更新插件":BundleUpdate"
  • 清除不再使用的插件":BundleClean"
  • 列出所有插件":BundleList"
  • 查找插件":BundleSearch"

4、安装并配置Taglist插件

Taglist是以tags文件为基础,需要ctags生成tags文件。

安装ctags,Redhat和CentOS可以执行yum install ctags,Debian和Ubantu可以执行apt-get install ctags

下载Taglist,地址是http://sourceforge.net/projects/vim-taglist/files/vim-taglist/

解压taglist_46.zip,可以看到有两个目录doc和plugin,结构如下

taglist_46
|
|-------- doc
|         \-------- taglist.txt
|
\-------- plugin
          \-------- taglist.vim


执行下列shell命令,即安装完成

cp  doc/taglist.txt  /usr/share/vim/vim72/doc/
cp  plugin/taglist.vim  /usr/share/vim/vim72/plugin/

使用方法:

在源码目录下,执行ctags -R对各目录递归创建生成tags文件

用Vim打开源码文件,以命令模式执行Tlist,即可启用Taglist插件,<F1>可以查看taglist的帮助信息

taglist窗口中,可以使用下面的快捷键:

<CR>          跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样
o             在一个新打开的窗口中显示光标下tag
<Space>       显示光标下tag的原型定义
u             更新taglist窗口中的tag
s             更改排序方式,在按名字排序和按出现顺序排序间切换
x             taglist窗口放大和缩小,方便查看较长的tag
+             打开一个折叠,同zo
            将tag折叠起来,同zc
            打开所有的折叠,同zR
            将所有tag折叠起来,同zM
[[            跳到前一个文件
]]            跳到后一个文件
q             关闭taglist窗口
<F1>          显示帮助

在~/.vimrc文件后面加入以下配置信息:

"*****************************************************
"                   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>


5、安装配置目录树插件NERD tree

下载地址:http://www.vim.org/scripts/script.php?script_id=1658

解压nerdtree.zip,可以看到有四个目录doc、nerdtree_plugin、plugin和syntax,结构如下

nerdtree
|
|-------- doc
|         \-------- NERD_tree.txt
|
|-------- nerdtree_plugin
|         \-------- exec_menuitem.vim
|	  \-------- fs_menu.vim
|
|-------- plugin
|         \-------- NERD_tree.vim
|
\-------- syntax \-------- nerdtree.vim

执行下列shell命令,即安装完成

cp  doc/NERD_tree.txt  /usr/share/vim/vim72/doc/
cp  plugin/NERD_tree.vim  /usr/share/vim/vim72/plugin/

这样插件已经安装完成,,启动VIM的时候,默认是不会激活该插件的,如要在命令模式下键入

: NERDTree
此时所看到的VIM界面是分成左右两部分视窗,左边是文档树,右侧是当前正在编辑的文件。


在~/.vimrc文件后面加入以下配置信息:

"********************************************************
"                      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>


你可以双击文件在当前的窗口打开,也可以中键点击文件,在一个新的分割窗口内打开,也可以用 t 键,在一个新的标签页打开文件,C键可以把当前的目录作为顶极目录,? 就可以得到一个常用命令手册,更详细的命令和功能可以查看 NERD tree 的帮助: 

:help

NERD_tree.txt 。

  1. o 打开关闭文件或者目录比如键入[ESC]后,输入:o sort1.c,则打开目录下sort1.c文件。
  2. t 在标签页中打开
  3. T 在后台标签页中打开
  4. ! 执行此文件
  5. p 到上层目录
  6. P 到根目录
  7. K 到第一个节点
  8. J 到最后一个节点
  9. u 打开上层目录
  10. m 显示文件系统菜单(添加、删除、移动操作)
  11. ? 帮助
  12. q 关闭
Shift+R刷新目录树



6、安装配置自动补全神器:YouCompleteMe

安装之前先安装python:sudo apt-get install python2.7-dev


由于前面已经安装插件管理工具Bundle,可以用它来安装YCM,在~/.vimrc文件Bundle配置部分加上如下语句:

Bundle 'Valloric/YouCompleteMe'


保存退出,执行:source ~/.vimrc使之生效,打开vim(vim 文件名),在vim命令模式输入:BundleInstall进行安装。如果安装成功,你将看到Done!的提示字样。

然后到~/.vim/bundle/YouCompleteMe 下执行命令:

./install.sh --clang-completer

参数是为了支持c/c++的补全

cp third_party/ycmd/examples/.ycm_extra_conf.py ~/


有可能需要先安装cmake,安装步骤查看如下网址:http://www.linuxidc.com/Linux/2012-10/72216.htm


YouCompleteMe 的补全配置文件在/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py,这是个隐藏文件。

默认会使用这个文件,也可以把这个文件copy到工程的根目录中作修改,打开工程文件时会优先使用当前目录下的配置文件。

如果找不到,会根据配置中的ycm_global_ycm_extra_conf 进行查找。


在~/.vimrc文件后面加入以下配置信息:
"*****************************************************
"           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 





  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C与Python实战

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值