您的位置:首页 > 其它

Vim配置

2016-04-01 22:47 204 查看
2016/4/26:本文所介绍的 vimrc 托管在 https://coding.net/u/yideey/p/vimrc/git/blob/master/vimrc ,我将随时根据自己的使用情况更新,所以版本可能比本文介绍的要新。

前言

我使用 Vim 主要是为了写 C/C++ 程序,这里记录了一些配置步骤,给自己做个备份,也给来访的朋友做个参考。

Vim的配置,主要体现在 vimrc 上。我觉得 vimrc 里的配置项,可以分成三类:

功能配置项:自带功能的设置,比如 set nu (显示标尺)。

自由配置项:根据自身需要,编写的一些命令甚至函数,比如通过 map 映射实现补全括号。

插件配置项:对安装的插件的配置

这篇文章也分这三部分,来介绍我的配置。

文章目录:

前言

功能配置项

自由配置项

插件配置项

功能配置项

" ==判断操作系统==
" windows系统下的配置
if(has("win64") || has("win32"))
let g:isWin = 1
let g:isUnix = 0
else
let g:isWin = 0
let g:isUnix = 1
endif

" ==功能配置项==
" 不与 Vi 模式兼容
set nocompatible
" 显示行号
set nu
" 安装的 Vundle 插件要求此项为 off
filetype off
" 开启语法高亮
syntax on
" 开启自动缩进,缩进宽度为 4 个空格
set autoindent shiftwidth=4
" 开启 C 语言风格的自动缩进,缩进宽度为 4 个空格(不知道和autoindent的区别是啥)
set cindent shiftwidth=4
" 设置 tab 键缩进宽度为4个空格
set tabstop=4
" 设置高亮显示匹配的括号
set showmatch
" 设置输入 / 搜索时,实时高亮显示查找结果
set incsearch
" 设置字符终端中允许接收鼠标控制
set mouse=a

if(g:isWin)
set guifont=Consolas:h12
colorscheme desert
endif

if(g:isUnix)
" 解决有时windows下文件在Linux下阅读发现中文乱码的问题
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
endif


自由配置项

" ==自由配置项==
" 对圆括号自动补全
inoremap ( ()<ESC>i
" 对方括号自动补全
inoremap [ []<ESC>i
"对尖括号自动补全
inoremap < <><ESC>i
" 对双引号自动补全
inoremap " ""<ESC>i
" 对单引号自动补全
inoremap ' ''<ESC>i
" 对花括号自动补全
inoremap { {}<ESC>i

" set F5 to quit current window
map <F5> <ESC>:q<CR>


插件配置项

说到插件配置项,不免要提一提插件的安装与使用。目前来说,可以通过 Vundle 插件很方便地从 Vim Scripts 网站上下载安装各种插件。Vim Scripts 网站的搜索功能在其页面导航栏的 All Scrpits 中。

我现在使用的 Vim 插件有下面这几样,具体的用法等本文不作介绍,网络上有很多介绍它们的文章。再次说一遍,所有的插件都可以很方便地通过 Vundle 来下载安装,所以这是一个必装的插件。Vundle 插件依赖于 git 和 curl,要使用 Vundle,必须首先保证这两个工具在系统里全局可用。我用的插件列表如下:

Vundle 插件管理器

Tagbar 替代taglist的

ctrlp.vim 快速搜索跳转到工程内的其它文件

The-NERD-tree 文件夹浏览器

ag.vim 跨文件文本搜索工具(需要安装 the_silver_searcher,链接里有介绍)

tabline.vim tab 标签显示优化

具体配置如下:

" ==插件配置项==
" Vundle settings {
" windows上装vundle,要注意路径
if (g:isWin)
set rtp+=D:\programFiles\Vim\vimfiles\bundle\Vundle.vim\
call vundle#begin('D:\programFiles\Vim\vimfiles\bundle\')
else
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
endif

" 方便管理插件
Plugin 'VundleVim/Vundle.vim'
" 替代taglist
Plugin 'Tagbar'
" 快速搜索打开文件
Plugin 'ctrlp.vim'
" 文件夹浏览器
Plugin 'The-NERD-tree'
" 代码搜索工具,需要安装ag
Plugin 'rking/ag.vim'
" 让tab标签显示得更好看一点
Plugin 'caipre/tabline.vim'

call vundle#end()
filetype plugin indent on
" }

" NERDtree {
map <F4> <ESC>:NERDTreeToggle<CR>
" }

" Tagbar {
" 为 Tagbar 插件定制
nmap <F3> :TagbarToggle<CR>
" }

" ag.vim {
let g:ag_working_path_mode="r"
let g:ag_prg="ag --vimgrep"
" }


以上三个部分贴到同一个 vimrc 里,就是我的 Vim 配置了。(完)

本文最后更新于 2016-4-26
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vim