Vim配置

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值