vim配置文件

“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 插件管理
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
call plug#begin(’~/.vim/plugged’)

Plug ‘nanotech/jellybeans.vim’ " 主题
Plug ‘itchyny/lightline.vim’ " 状态栏
Plug ‘Yggdroot/indentLine’ " 缩进线
Plug ‘dimasg/vim-mark’

Plug ‘scrooloose/nerdtree’, {‘on’: ‘NERDTreeToggle’} " 目录树
Plug ‘preservim/tagbar’, {‘on’: ‘TagbarToggle’}
Plug ‘*hong/cscope.vim’
Plug ‘ctrlpvim/ctrlp.vim’ " fuzzy

Plug ‘preservim/nerdcommenter’ " 注释
Plug ‘jiangmiao/auto-pairs’, { ‘for’: [‘c’, ‘cpp’] } " 括号补全
Plug ‘justinmk/vim-sneak’ " 移动

Plug ‘tpope/vim-fugitive’
Plug ‘airblade/vim-gitgutter’

call plug#end()
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 通用设置
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
let mapleader = “,” " 定义键
set nocompatible " 设置不兼容原始vi模式

" 文件编码
set fileencoding=utf-8
set encoding=utf-8

filetype on " 开启文件类型侦测
filetype plugin on " 加载对应文件类型的插件
syntax enable " 开启语法高亮功能
syntax on " 自动语法高亮

" 缓存设置
set nobackup " 设置不备份
set noswapfile " 禁止生成临时文件
set autoread " 文件在vim之外修改过,自动重新读入
set autowrite " 设置自动保存
set confirm " 在处理未保存或只读文件的时候,弹出确认
set hidden " 在切换buffer前不必先保存

set number " 显示行号
set relativenumber " 显示相对行号
set cursorline " 高亮当前行
set cursorcolumn " 高亮当前列
set showmatch " 高亮配对括号

" 搜索设置
set hlsearch " 高亮显示搜索结果
set incsearch " 开启实时搜索功能
set ignorecase " 搜索时大小写不敏感
set nowrapscan " 关闭循环搜索

" 缩进设置
set autoindent " 自动缩进
set cindent " 使用C/C++语言的自动缩进方式
set smartindent " 智能的选择缩进方式
filetype indent on " 自适应不同语言的智能缩进
set tabstop=4 " tab键的宽度
set expandtab " 自动将tab转换为空格
set softtabstop=4 " tab转换为多少空格
set shiftwidth=4 " >>,<<,==时缩进的字符数

set backspace=start,indent " 删除设置
" set whichwrap=h,l,<,> " 移动设置

" 命令行模式设置
set showcmd " 显示键入的命令
set wildmenu " 命名行模式智能补全
set wildmode=list:longest,full

set splitbelow " 当前窗口下方打开新窗口
set splitright " 当前窗口右侧打开新窗口

nmap e :edit $MYVIMRC " 编辑vimrc文件
nmap s :source $MYVIMRC " 重新加载vimrc文件

" 安装、更新、删除插件
nmap i :PlugInstall
nmap u :PlugUpdate
nmap c :PlugClean

" 可见字符和不可见字符切换
nmap sl :set list!

" 打开文件自动定位到最后编辑的位置
autocmd BufReadPost * if line("’"") > 1 && line("’"") <= line("$") | execute “normal! g’”" | endif
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 主题设置
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
if !has(‘gui_running’)
set t_Co=256
endif

colorscheme jellybeans
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 状态栏设置
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set laststatus=2 " 显示状态栏
set display=lastline
set noshowmode
let g:lightline = {
\ ‘colorscheme’: ‘jellybeans’,
\ ‘active’: {
\ ‘left’: [[‘mode’, ‘paste’], [‘readonly’, ‘relativepath’ , ‘modified’]],
\ ‘right’: [[‘lineinfo’], [‘percent’], [‘fileformat’, ‘fileencoding’, ‘filetype’]]
\ },
\ ‘component_function’: {
\ ‘readonly’: ‘LightlineReadonly’,
\ },
\ }

function! LightlineReadonly()
return &readonly && &filetype !=# ‘help’ ? ‘RO’ : ‘’
endfunction
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 缩进线设置
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 默认打开
let g:indentLine_enabled = 1
" 状态切换
nmap il :IndentLinesToggle
" 设置缩进字符
let g:indentLine_char = ‘┆’
" 设置缩进字符颜色
let g:indentLine_color_term = 239
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Mark
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
nmap mm MarkSet
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" NERDTree
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
nmap :NERDTreeToggle
" 当NERDTree为唯一窗口时自动关闭
" autocmd BufEnter * if tabpagenr(’KaTeX parse error: Expected 'EOF', got '&' at position 9: ') == 1 &̲& winnr('’) == 1 && exists(‘b:NERDTree’) && b:NERDTree.isTabTree() |
" \ quit | endif
" 当vim打开一个目录时,nerdtree自动使用
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists(‘s:std_in’) |
\ execute ‘NERDTree’ argv()[0] | wincmd p | enew | execute ‘cd ‘.argv()[0] | endif
" 窗口位置
let g:NERDTreeWinPos=‘left’
" 显示隐藏文件
let g:NERDTreeShowHidden=1
" 显示书签列表
let g:NERDTreeShowBookmarks=1
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Tagbar
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
nmap :TagbarToggle
" 按标签本身在文件中的位置排序
let g:tagbar_sort = 0
“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Cscope
“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
nmap fa :call CscopeFindInteractive(expand(’’))
nmap l :call ToggleLocationList()
“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" CtrlP
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 搜索当前目录下的文件
let g:ctrlp_map = ‘p’
let g:ctrlp_cmd = ‘CtrlP’
" 搜索MRU文件
nmap f :CtrlPMRUFiles
" 显示缓冲区文件,并可通过序号进行跳转
nmap b :CtrlPBuffer
" 使用文件名搜索
let g:ctrlp_by_filename = 1
" 使用正则表达式搜索
let g:ctrlp_regexp = 1
" 关闭默认目录特性
let g:ctrlp_working_path_mode = 0
" 搜索结果窗口设置
let g:ctrlp_match_window = ‘bottom,order:ttb,min:1,max:15,results:15’
" 忽略文件
set wildignore+=/tmp/,.so,.swp,.zip " MacOSX/Linux
let g:ctrlp_custom_ignore = ‘\v[/].(git|hg|svn)$’
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" NERDCommenter
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" normal模式下BackSpace注释
nmap NERDCommenterToggle
" 在注释符号后加一个空格
let g:NERDSpaceDelims = 1
" C语言注释符号
let g:NERDCustomDelimiters = {‘c’: {‘left’: '/
’, ‘right’: ‘*/’}}
" 取消注释时删除行尾空格
let g:NERDTrimTrailingWhitespace = 1
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Sneak
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" ; 重复命令
" f F t T 单字符查找,s S 双字符查找
nmap f Sneak_f
nmap F Sneak_F
nmap t Sneak_t
nmap T Sneak_T
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Quickfix
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
nmap cw :cclose
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Fugitive
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
nmap gs :Gstatus
nmap gd :Gdiff
nmap gc :Gcommit
nmap gb :Gblame
nmap gl :Glog
nmap gp :Git push
nmap gw :Gwrite
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Gitgutter
“”""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set updatetime=100

上一篇:autopep8插件安装gvim


下一篇:原生微信小程序里类似于计算属性写法