windows
1.先安装git。通过git安装插件管理器Vundle。
git clone https://github.com/gmarik/Vundle.vim.git D:\projectTools\software\vim\vimfiles\bundle\Vundle.vim
vim安装文件夹中新建_vimrc,添加内容,然后进入vim输入命令BundleInstall就可以安装了。以后想要什么插件就直接在 call vundle#begin和end之间输入 Plugin 'name',回到vim 使用BundleInstall安装就行了。
""""""""""""""""""""""""""""""""""""""""""""""""""
" 插件管理Vundle
""""""""""""""""""""""""""""""""""""""""""""""""""
set rtp+=$VIM\vimfiles\bundle\Vundle.vim
call vundle#begin() "let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim' "my bundle plugin
call vundle#end()
下面贴上我的gvim全部配置。
""""""""""""""""""""""""""""""""""""""""""""""""""
" 插件管理Vundle
""""""""""""""""""""""""""""""""""""""""""""""""""
set rtp+=$VIM\vimfiles\bundle\Vundle.vim
call vundle#begin() "let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim' "my bundle plugin
"安装NERDTree和vim-nerdtree-tabs插件
Plugin 'scrooloose/nerdtree'
Plugin 'jistr/vim-nerdtree-tabs'
"配合NERDTree使用的git显示图标插件
Plugin 'Xuyuanp/nerdtree-git-plugin'
"python自动缩进PEP8格式和语法检查
Plugin 'dense-analysis/ale'
"vim色彩搭配
Plugin 'liuchengxu/space-vim-dark'
"CtrlP
Plugin 'kien/ctrlp.vim'
"状态栏
Plugin 'vim-airline/vim-airline'
"Plugin 'vim-airline/vim-airline-themes'
"一键格式化pep8
Plugin 'tell-k/vim-autopep8'
"格式化代码goole标准
"Plugin 'google/yapf'
"aotu-format
"Plugin 'Chiel92/vim-autoformat'
"缩进指示线
Plugin 'Yggdroot/indentLine'
"括号自动补全
Plugin 'jiangmiao/auto-pairs'
"注释
Plugin 'preservim/nerdcommenter'
call vundle#end()
""""""""""""""""""""""""""""""""""""""""""""""""""
" 命令映射修改
""""""""""""""""""""""""""""""""""""""""""""""""""
nnoremap :cmd<CR> :!start cmd.exe<CR>
"需要先设置 win+R 快捷命令
nnoremap :git<CR> :!start gitbash<CR>
""""""""""""""""""""""""""""""""""""""""""""""""""
" 通用设置
""""""""""""""""""""""""""""""""""""""""""""""""""
set nocompatible "去除VI一致性,必须
"set background=dark "设置背景色
"set lines=35 columns=140 "窗口大小
autocmd GUIEnter * simalt ~x "全屏显示
" 分割出来的窗口位于当前窗口下边/右边
"set splitbelow
"set splitright
"不显示工具/菜单栏
set guioptions-=T
set guioptions-=m
set guioptions-=L
set guioptions-=r
set guioptions-=b
" 使用内置 tab 样式而不是 gui
set guioptions-=e
set nolist
"设置文件的代码形式 utf8
set encoding=utf-8
set termencoding=utf-8
set fileencodings=gbk,utf-8,ucs-bom,gb18030,gb2312,cp936
"解决菜单乱码
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
"vim提示信息乱码的解决
language messages zh_CN.utf-8
filetype on
filetype plugin indent on
"字体
:set guifont=DejaVu_Sans_Mono:h11
":set guifont=Source_Code_Pro_for_Powerline:h11
"配色方案
colorscheme space-vim-dark
"去除错误提示的背景色
hi Normal ctermbg=NONE guibg=NONE
hi LineNr ctermbg=NONE guibg=NONE
hi SignColumn ctermbg=NONE guibg=NONE
set helplang=cn "设置中文帮助
set history=500 "保留历史记录
set tabstop=4 "设置tab的跳数
"set softtabstop=4 "使得按退格键时可以一次删掉 4 个空格
set expandtab
set backspace=2 "设置退格键可用
set nu "设置显示行号
set wrap "设置自动换行
"set nowrap "设置不自动换行
set linebreak "整词换行,与自动换行搭配使用
"set list "显示制表符
set autochdir "自动设置当前目录为正在编辑的目录
set hidden "自动隐藏没有保存的缓冲区,切换buffer时不给出保存当前buffer的提示
set scrolloff=5 "在光标接近底端或顶端时,自动下滚或上滚
set showtabline=2 "设置显是显示标签栏
set autoread "设置当文件在外部被修改,自动更新该文件
set mouse=a "设置在任何模式下鼠标都可用
set nobackup "设置不生成备份文件
"===========================
"查找/替换相关的设置
"===========================
set hlsearch "高亮显示查找结果
set incsearch "增量查找
"===========================
"状态栏的设置
"===========================
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%] "显示文件名:总行数,总的字符数
set ruler "在编辑过程中,在右下角显示光标位置的状态行
"===========================
"代码设置
"===========================
"syntax enable "打开语法高亮
syntax on "打开语法高亮
"set showmatch "设置匹配模式,相当于括号匹配
set smartindent "智能对齐
"set shiftwidth=4 "换行时,交错使用4个空格
set autoindent "设置自动对齐
set ai! "设置自动缩进
"set cursorcolumn "启用光标列
set cursorline "启用光标行
set guicursor+=a:blinkon0 "设置光标不闪烁
set fdm=indent "
""""""""""""""""""""""""""""""""""""""""""""""""""
" NERDTree设置
""""""""""""""""""""""""""""""""""""""""""""""""""
map <F2> :NERDTreeToggle<CR> "关闭NERDTree快捷键
let NERDTreeShowLineNumbers=1 " 显示行号
let NERDTreeAutoCenter=1
let NERDTreeShowHidden=1 " 是否显示隐藏文件
let g:nerdtree_tabs_open_on_console_startup=1 " 在终端启动vim时,共享NERDTree
let NERDTreeIgnore=['\.pyc','\~$','\.swp'] " 忽略一下文件的显示
let NERDTreeShowBookmarks=1 " 显示书签列表
"let g:NERDTreeDirArrowExpandable = '▸' " 设置文件叠合和打开的图标
"let g:NERDTreeDirArrowCollapsible = '▾'
""""""""""""""""""""""""""""""""""""""""""""""""""
" ctrlP设置
""""""""""""""""""""""""""""""""""""""""""""""""""
"ctrlP目录配置
"用没有明确的开始目录时,CTLRP会按照以下值来设定工作目录
let g:ctrlp_working_path_mode = 'c'
"设置MRU最大条目数为500
let g:ctrlp_mruf_max = 500
"默认使用全路径搜索,置1后按文件名搜索,准确率会有所提高,可以用<C-d>进行切换
let g:ctrlp_by_filename = 1
"默认不使用正则表达式,置1改为默认使用正则表达式,可以用<C-r>进行切换
let g:ctrlp_regexp = 0
let g:ctrlp_custom_ignore = {
\ 'dir': '\v[\/]\.(git|hg|svn|rvm)$',
\ 'file': '\v\.(exe|so|dll|zip|tar|tar.gz|pyc)$',
\ }
""""""""""""""""""""""""""""""""""""""""""""""""""
" git设置
""""""""""""""""""""""""""""""""""""""""""""""""""
let g:NERDTreeGitStatusIndicatorMapCustom = {
\ 'Modified' :'✹',
\ 'Staged' :'✚',
\ 'Untracked' :'✭',
\ 'Renamed' :'➜',
\ 'Unmerged' :'═',
\ 'Deleted' :'✖',
\ 'Dirty' :'✗',
\ 'Ignored' :'☒',
\ 'Clean' :'✔︎',
\ 'Unknown' :'?',
\ }
""""""""""""""""""""""""""""""""""""""""""""""""""
" python环境配置
""""""""""""""""""""""""""""""""""""""""""""""""""
"Quickly Run
map <F5> :call RunPython()<CR>
func! RunPython()
exec "w"
if &filetype == 'python'
exec "!python %"
endif
endfunc
""""""""""""""""""""""""""""""""""""""""""""""""""
" ale语法检查设置
""""""""""""""""""""""""""""""""""""""""""""""""""
let g:ale_fix_on_save = 1
let g:ale_completion_enabled = 1
let g:airline#extensions#ale#enabled = 1
let g:ale_set_highlights = 1
"始终开启标志列
let g:ale_sign_column_always = 1
"自定义error和warning图标
let g:ale_sign_error = 'x'
let g:ale_sign_warning = '!'
"在vim自带的状态栏中整合ale
let g:ale_statusline_format = ['x %d', '! %d', 'y OK']
"显示Linter名称,出错或警告等相关信息
let g:ale_echo_msg_error_str = 'Error'
let g:ale_echo_msg_warning_str = 'Warning'
let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
let g:ale_linters = {
\ 'c++': ['clang'],
\ 'c': ['clang'],
\ 'python': ['flake8'],
\}
""""""""""""""""""""""""""""""""""""""""""""""""""
" 缩进指示线
""""""""""""""""""""""""""""""""""""""""""""""""""
let g:indentLine_char='┆'
let g:indentLine_enable=1
""""""""""""""""""""""""""""""""""""""""""""""""""
" autopep8设置
""""""""""""""""""""""""""""""""""""""""""""""""""
let g:autopep8_disable_show_diff=1
autocmd FileType python noremap <buffer> <F8> :call Autopep8()<CR>
""""""""""""""""""""""""""""""""""""""""""""""""""
" 注释设置
""""""""""""""""""""""""""""""""""""""""""""""""""
map <F4> <leader>ci <CR>
""""""""""""""""""""""""""""""""""""""""""""""""""
"" google/yapf设置(python格式化)
""""""""""""""""""""""""""""""""""""""""""""""""""
"let g:formatter_yapf_style = 'flake8'
"autocmd FileType python nnoremap <LocalLeader>= :0,$!yapf<CR>
""""""""""""""""""""""""""""""""""""""""""""""""""
" autoformat
""""""""""""""""""""""""""""""""""""""""""""""""""
"noremap <F6> :Autoformat<CR>
"let g:autoformat_verbosemode=1
""""""""""""""""""""""""""""""""""""""""""""""""""
" airline
""""""""""""""""""""""""""""""""""""""""""""""""""
"let g:airline_theme = 'simple'
"let g:airline#extensions#tabline#enabled = 1 " 显示窗口tab和buffer