Vim配置备忘

将vundle克隆下来

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

新建两个配置文件

# .vimrc

if filereadable(expand("~/.vimrc.bundles"))
source ~/.vimrc.bundles
endif

set nocompatible    " Use Vim defaults instead of 100% vi compatibility
set backspace=2     " more powerful backspacing

" Don't write backup file if vim is being called by "crontab -e"
au BufWrite /private/tmp/crontab.* set nowritebackup nobackup
" Don't write backup file if vim is being called by "chpass"
au BufWrite /private/etc/pw.* set nowritebackup nobackup
set noswapfile

set modelines=0  " CVE-2007-2438
syntax on " 语法高亮

autocmd InsertLeave * se nocul
autocmd InsertEnter * se cul

let g:solarized_termcolors=256
"colorscheme molokai " 设置颜色主题
set background=dark
colorscheme solarized

set smartindent  " 用浅色高亮当前行
set autoindent " 智能对齐
set tabstop=4 " 自动对齐
set softtabstop=4 " Tab键的宽度
set shiftwidth=4 "  统一缩进为4 
set noexpandtab " 不要用空格代替制表符
set number " 显示行号
set history=50 " 历史纪录数
set hlsearch
set incsearch " 搜索逐字符高亮
set gdefault " 行内替换
set encoding=utf-8
set fileencodings=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936,utf-16,big5,euc-jp,latin1 " 编码设置
set guifont=Menlo:h16:cANSI " 设置字体
set langmenu=zn_CN.UTF-8
set helplang=cn " 语言设置
set showmatch " 高亮显示对应的括号
set matchtime=5 " 对应括号高亮的时间(单位是十分之一秒)
set autowrite " 在切换buffer时自动保存当前文件
set wildmenu " 增强模式中的命令行自动完成操作
set linespace=2 " 字符间插入的像素行数目
set whichwrap=b,s,<,>,[,] " 开启Normal或Visual模式下Backspace键,空格键,左方向键,右方向键,Insert或replace模式下左方向键,右方向键跳行的功能。
set foldenable
set foldmethod=manual "折叠

#  .vimrc.bundles

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

" let Vundle manage Vundle
Plugin 'VundleVim/Vundle.vim'

Plugin 'Valloric/YouCompleteMe'
Plugin 'SirVer/ultisnips'
Plugin 'scrooloose/nerdtree'
Plugin 'bling/vim-airline'
Plugin 'kien/ctrlp.vim'
Plugin 'majutsushi/tagbar'
Plugin 'fholgado/minibufexpl.vim'
Plugin 'altercation/solarized'
Plugin 'udalov/kotlin-vim'
Plugin 'jistr/vim-nerdtree-tabs'
Plugin 'hsanson/vim-android'

"Plugin 'rakr/vim-one'

" Color schemes
Plugin 'tomasr/molokai'
Plugin 'flazz/vim-colorschemes'


" ==============
" nerdtree 配置=>
" ==============
let NERDTreeWinPos='left'
let NERDTreeWinSize=30
"let NERDTreeShowHidden=1 "是否显示隐藏文件
"let g:nerdtree_tabs_open_on_console_startup=1 " 在终端启动vim时,共享NERDTree

map  :NERDTreeToggle
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") &&b:NERDTreeType == "primary") | q | endif

" ==============
" minibufexpl 配置=>
" ==============
let g:miniBufExplMapWindowNavVim = 1   
let g:miniBufExplMapWindowNavArrows = 1   
let g:miniBufExplMapCTabSwitchBufs = 1   
let g:miniBufExplModSelTarget = 1  
let g:miniBufExplMoreThanOne=0
map  :MBEbp
map  :MBEbn

" ==============
" ctrip 配置=>
" ==============
let g:ctrlp_map = '' 
let g:ctrlp_cmd = 'CtrlP'
" 设置过滤不进行查找的后缀名 
let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn|pyc)$' 

" ==============
"airline 配置=>
" ==============
set laststatus=2

" ==============
"tagbar 配置=>
" ==============
nmap  :TagbarToggle 
set tags=tags
set tags+=./tags

"====================
"YouCompleteMe 自动补全配置
"====================
set completeopt=longest,menu    "让Vim的补全菜单行为与一般IDE一致(参考VimTip1228)
autocmd InsertLeave * if pumvisible() == 0|pclose|endif    "离开插入模式后自动关闭预览窗口
inoremap         pumvisible() ? "\" : "\"    "回车即选中当前项

call vundle#end()
filetype plugin indent on

YouCompleteMe需要编译后才能使用,但是遇到了Vim 不支持Python的问题,这个需要下载vim源码重新编译,然后替换原来的vim

你可能感兴趣的:(Vim配置备忘)