vim配置文件

10 篇文章 0 订阅

标题 ##”——————————————————————-

” VIM 配置

” 最后修改时间:2015-08-22
“——————————————————————-

” vundle 配置
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.Vim
call vundle#begin()

Plugin ‘VundleVim/Vundle.Vim’ ” vim 插件管理
Plugin ‘spf13/vim-colors’ ” 配色相关
Plugin ‘tpope/vim-fugitive’ ” 配色相关
Plugin ‘Lokaltog/vim-powerline’ ” 状态栏
Plugin ‘altercation/vim-colors-solarized’ ” solarized
Plugin ‘WolfgangMehner/vim-plugins’ ” 插件集合, 文件模板什么的
Plugin ‘kien/ctrlp.vim’ ” 项目文件搜索
Plugin ‘clang-complete’ ” 代码补全
Plugin ‘supertab’ ” 映射 tab 补全
Plugin ‘ku-quickfix’ ” 编译错误修正
Plugin ‘echofunc.vim’ ” 显示函数原型(依赖ctags)
Plugin ‘a.vim’ ” .c/.h 跳转
Plugin ‘mru.vim’ ” 最近打开文件列表
Plugin ‘winmanager’ ” 窗口管理
Plugin ‘taglist.vim’ ” tag 信息窗口

call vundle#end()

filetype plugin indent on
syntax on ” 使用语法高亮
set autoread ” 正在编辑文件被其他程序改动时自动重新加载
set nocp ” 使用不兼容 vi 的模式

set autoindent ” 设置自动对齐(缩进)
set smartindent ” 智能对齐方式
set wrap ” 自动换行
set linebreak ” 整词换行

set cindent ” 使用 C/C++ 语言的自动缩进方式
set backspace=2 ” 设置退格键可用
set mouse=a ” 使用鼠标
set number ” 显示行号
set cul ” 显示当前行下划线

set expandtab ” tab 自动替换为空格
set tabstop=2 ” 设置制表符(tab键)的宽度
set softtabstop=2 ” 设置软制表符的宽度
set shiftwidth=2 ” 自动缩进所使用的空白长度

scriptencoding utf-8 ” 设置编码

set cursorline ” 高亮当前行

set laststatus=2 ” 总显示最后一个窗口的状态行
set t_Co=256 ” 开启vim 256色

“highlight clear SignColumn
“highlight clear LineNr

set background=dark
colorscheme solarized ” 设置配色方案

” 自动补全列表的颜色设置
“highlight Pmenu ctermfg=black
“highlight PmenuSel ctermfg=white ctermbg=black

” clang_complete 自动补全插件设置
set completeopt=longest,menu
let g:clang_complete_copen=0
let g:clang_auto_select=1
let g:clang_complete_auto=1
let g:clang_complete_macros=1
let g:clang_use_library=1
let g:clang_user_options=”-std=c++11”

” 设置超级TAB的补全
let g:SuperTabRetainCompletionType=0
let g:SuperTabDefaultCompletionType=””

” 设置分屏浏览
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let g:winManagerWindowLayout=’TagList’
nmap wm :WMToggle

” 符号配对
function ClosePair(char)
if getline(‘.’)[col(‘.’) - 1] == a:char
return “\”
elseif (a:char == “\’” || a:char == “\”“)
return a:char.a:char.”\”
else
return a:char
endif
endf

” 设置键映射
inoremap { {}i
inoremap } =ClosePair(‘}’)
inoremap [ []i
inoremap ] =ClosePair(‘]’)

” 显示历史打开文件
map :MRU
imap :MRU

” F4 切换粘贴和非粘贴模式
set pastetoggle=

” ctags 相关设置

” 按下F5,在当前目录递归生成tag文件
map :!ctags -R –c++-kinds=+p –fields=+iaS –extra=+q
imap :!ctags -R –c++-kinds=+p –fields=+iaS –extra=+q

” vim 启动时自动载入以下tags文件
set tags=tags
set tags+=./tags

“set tags+=/usr/local/src/linux-2.6.32.61/tags
“set tags+=/usr/local/src/linux-3.12.6/tags
set tags+=/usr/include/arpa/tags
set tags+=/usr/include/bits/tags
set tags+=/usr/include/boost/tags
set tags+=/usr/include/c++/tags
set tags+=/usr/include/curl/tags
set tags+=/usr/include/gnu/tags
set tags+=/usr/include/gtest/tags
set tags+=/usr/include/glog/tags
set tags+=/usr/include/linux/tags
set tags+=/usr/include/libmemcached/tags
set tags+=/usr/include/mysql/tags
set tags+=/usr/include/net/tags
set tags+=/usr/include/netinet/tags
set tags+=/usr/include/openssl/tags
set tags+=/usr/include/sasl/tags
set tags+=/usr/include/sys/tags

” 系统剪贴板映射
set clipboard=unnamedplus
map “+y
map “+p

” QuickFix 插件的设置

” 按下F6,执行make编译程序,并打开quickfix窗口,显示编译信息
map :make :copen
” 按下F7,光标移到上一个错误所在的行
map :cp
” 按下F8,光标移到下一个错误所在的行
map :cn
” 按下F9,执行make clean
map :make clean

” 以下的映射是使上面的快捷键在插入模式下也能用
imap :make clean
imap :make :copen
imap :cp
imap :cn

” 按下F10,在当前代码的 .c / .h 之间切换
nnoremap :A

” 预防手误
cnoremap Q! q!
cnoremap Q1 q!
command Q q
command Wq wq
command WQ wq
command W w

” 查字典(vim 普通模式下,把光标移动到一个单词上,按下 f 键即可,这个需要安装 sdcv 软件)
function! Mydict()
let expl=system(‘sdcv -n ’ . expand(“”))
windo if expand(“%”)==”dict-tmp” |q!|endif
30vsp dict-tmp
setlocal buftype=nofile bufhidden=hide noswapfile
1s/^/\=expl/
wincmd p
endf
map f :call Mydict()

” Ctrlp
” 修改键盘映射
let g:ctrlp_map = ‘’
let g:ctrlp_cmd = ‘CtrlP’
” 默认按文件名搜索
let g:ctrlp_by_filename = 0
” 当尝试打开一个文件时,如果它已经在某个窗口被打开,CtrlP会尝试跳到那个窗口
let g:ctrlp_switch_buffer = ‘Et’

特别爽的vim配置。
vim插件下载地址
https://github.com/Gd58/vimrc

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值