Contents

vim settings

Contents

.vimrc

" base settings {{{
"""""""""""""""""""""""""""""""""按键映射(just for colemak user)"""""""""""""""""""""""""""""""

" insert mode shortcut
inoremap <C-h> <Left>
inoremap <C-j> <Down>
inoremap <C-k> <Up>
inoremap <C-l> <Right>
inoremap <C-d> <DELETE>

"split navigations
nnoremap <C-J> <C-W><C-J>
nnoremap <C-K> <C-W><C-K>
nnoremap <C-H> <C-W><C-H>
nnoremap <C-L> <C-W><C-L>

noremap qq <ESC>:q!<CR>
noremap tsq <ESC>:wq<CR>

"imap jk <ESC>

imap vv <ESC>:w<cr>
map vv <ESC>:w<cr>
" 空格键向上滚屏 光标不变
nnoremap <SPACE> 2<C-e>
" noremap <C-j> 3<C-e>
" noremap <C-k> 3<C-y>

"""""""""""""""""""""""""""""""""""""""""""基本设置"""""""""""""""""""""""""""""""""""""""""""""
filetype on	"开启文件类型侦测
filetype indent on	"适应不同语言的缩进
syntax enable	"开启语法高亮功能
syntax on 	"允许使用用户配色

"""""""""""""""""""""""""""""""""""""""""""显示设置"""""""""""""""""""""""""""""""""""""""""""""
set laststatus=2        	"总是显示状态栏
set ruler               	"显示光标位置
set number              	"显示行号
set cursorline          	"高亮显示当前行
"set cursorcolumn            "高亮显示当前列
set hlsearch                " 高亮搜索结果
exec "nohlsearch"
set incsearch               "边输边高亮
set ignorecase              "搜索时忽略大小写
set smartcase
set relativenumber          "其他行显示相对行号
"set scrolloff=5            "垂直滚动时光标距底部位置

"""""""""""""""""""""""""""""""""""""""""""编码设置"""""""""""""""""""""""""""""""""""""""""""""
set fileencodings=utf-8,gb2312,gbk,gb18030,cp936    " 检测文件编码,将fileencoding设置为最终编码
set fileencoding=utf-8                              " 保存时的文件编码
set termencoding=utf-8                              " 终端的输出字符编码
set encoding=utf-8                                  " VIM打开文件使用的内部编码

"""""""""""""""""""""""""""""""""""""""""""编辑设置"""""""""""""""""""""""""""""""""""""""""""""
set expandtab   	"扩展制表符为空格
set tabstop=2   	"制表符占空格数
set softtabstop=4	"将连续数量的空格视为一个制表符
set shiftwidth=2	"自动缩进所使用的空格数
set textwidth=80	"编辑器每行字符数
set wrap            "设置自动折行
set linebreak       "防止单词内部折行
set wrapmargin=5      "指定折行处与右边缘空格数
set autoindent  	"打开自动缩进
set wildmenu    	"vim命令自动补全
set paste 				"粘贴格式
set mouse=a
set nu " 搜索不区分大小写,但键入了大写则自动区分大小写
set noswapfile " 不产生swp文件
"""""""""""""""""""""""""""""""""""""""""""其他设置"""""""""""""""""""""""""""""""""""""""""""""
set showcmd
set t_Co=256

" set cuc
set showmatch
set undofile
set noerrorbells
set history=2000
set autoread
set nolist
set autochdir
set wildmode=longest:list,full
set laststatus=2
set selection=exclusive
set selectmode=mouse,key
" }}}


""""""""""""""""""""""""""""""""""""""""""""插件设置""""""""""""""""""""""""""""""""""""""""""""
set nocompatible    "关闭兼容模式
filetype off    "文件类型侦测关闭

call plug#begin('~/.vim/plugged')
Plug 'scrooloose/nerdcommenter' "多行注释
Plug 'jiangmiao/auto-pairs'     "括号、引号自动补全
Plug 'scrooloose/nerdtree'      "树形目录
Plug 'Yggdroot/indentLine'      "自动缩进插件
Plug 'vim-airline/vim-airline'  "状态栏主题
Plug 'vim-scripts/Solarized'    "主题
Plug 'honza/vim-snippets'       "代码片段补全
Plug 'SirVer/ultisnips'

Plug 'mhinz/vim-startify'         "vim开始界面最近文件
Plug 'connorholyday/vim-snazzy'   "主题方案
Plug 'tpope/vim-commentary'       "代码注释
Plug 'ryanoasis/vim-devicons'     "文件图标
Plug 'Lokaltog/vim-powerline'     "状态栏主题

call plug#end()
filetype plugin indent on

"solarized
set background=dark
colorscheme solarized   "素雅
"hi Normal ctermbg=none "设置背景透明

"vim-airline
let g:airline_powerline_fonts=1


"Lokaltog
"let g:Powerline_colorscheme='solarized256'  "设置状态栏主题风格

"nerdtree
"autocmd vimenter * NERDTree
map <F2> :NERDTreeToggle<CR>
let NERDTreeWinSize=40
let NERDTreeWinPos="left"

"indentLine
let g:indentLine_char='┆'       "缩进指示线符       
let g:indentLine_enabled = 1    "开启缩进指示

"Snippet
let g:UltiSnipsSnippetDirectories=[$HOME.'/.vim/plugged/vim-snippets/UltiSnips']
let g:UltiSnipsExpandTrigger = "<tab>"
let g:UltiSnipsListSnippets = "<c-tab>"
let g:UltiSnipsJumpForwardTrigger = "<tab>"
let g:UltiSnipsJumpBackwardTrigger = "<s-tab>"
let g:UltiSnipsEditSplit="vertical"