Created
March 6, 2017 09:03
-
-
Save tokers/e675cdd7406a8a7b8dc2da69eb5c47e5 to your computer and use it in GitHub Desktop.
vimrc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Copyright 2014-2017 Alex(zchao1995@gmail.com) | |
"================================================Basic Settings=================================================================" | |
set number " 显示行号 | |
set relativenumber " 相对行号 | |
set autoindent " (autoindent)自动缩排 | |
set cindent " 使用C的缩进方式 | |
set smartindent " 智能缩进 | |
syntax on " 语法高亮 | |
syntax enable | |
set history=1000 | |
set t_Co=256 | |
set tabstop=4 " 设置tab宽度为4个空格 | |
set softtabstop=4 " 使用退格键一次可以删除4个空格 | |
set expandtab | |
set shiftwidth=4 | |
set textwidth=79 | |
set fileformat=unix | |
set showcmd | |
set mouse=a | |
set nobackup " 不备份 | |
set encoding=utf-8 " 文件编码使用UTF8 | |
set noswapfile " 不使用交换文件 | |
set autowrite " 自动保存 | |
set nocompatible " 不兼容vi, 可以用退格键删除字符 | |
set backspace=2 | |
set autochdir | |
set foldmethod=indent " 根据缩紧折叠代码 | |
set foldlevel=99 | |
set tags=tags;/ | |
set cursorline cursorcolumn | |
set completeopt=longest,menu | |
set laststatus=2 | |
"abbreviations | |
iabbrev slef self | |
iabbrev adn and | |
iabbrev tpye type | |
iabbrev aelx alex | |
"Vim Tmux compatible | |
if exists('$TMUX') | |
set term=screen-256color | |
endif | |
if has('gui_running') | |
set background=dark | |
colorscheme solarized | |
set guifont=Source\ Code\ Pro\ for\ Powerline:h14 | |
set guioptions-=r | |
set guioptions-=L | |
else | |
set background=dark | |
colorscheme solarized | |
let g:solarized_contrast="high" | |
" colorscheme monrovia | |
" colorscheme lucario | |
endif | |
set fillchars+=vert:\ | |
"==================================================Match Settings==============================================" | |
set hlsearch " 高亮显示所有匹配串 | |
nohlsearch " 取消高亮 | |
noremap <silent> <C-y> :nohlsearch<Bar>:echo<CR> " 关闭高亮 | |
set ignorecase smartcase " 搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感 | |
set incsearch "输入搜索内容时即显示结果 | |
"==================================================Mapping Settings==================================================" | |
" | |
noremap <C-h> <C-w>h | |
noremap <C-j> <C-w>j | |
noremap <C-k> <C-w>k | |
noremap <C-l> <C-w>l | |
noremap <C-=> <C-w>= | |
noremap <C-q> <C-w>q | |
noremap <C-c> <C-w>c | |
nnoremap H ^ | |
nnoremap L $ | |
noremap ^L ^wL | |
noremap ^J ^wJ | |
noremap ^K ^wK | |
noremap ^H ^wH | |
noremap <tab> :bn <CR> | |
noremap <s-tab> :bp <CR> | |
let mapleader = '`' | |
nnoremap <leader>ev :vsplit $MYVIMRC<CR> | |
nnoremap <leader>sv :source $MYVIMRC<CR> | |
nnoremap <leader>pv :set paste!<CR> | |
nnoremap <F4> :vertical resize +10<CR> | |
nnoremap <F5> :vertical resize -10<CR> | |
let mapleader = 'y' | |
inoremap <expr> <Up> pumvisible() ? "\<C-p>" : "\<Up>" | |
inoremap <expr> <PageDown> pumvisible() ? "\<PageDown>\<C-p>\<C-n>" : "\<PageDown>" | |
inoremap <expr> <PageUp> pumvisible() ? "\<PageUp>\<C-p>\<C-n>" : "\<PageUp>" | |
nnoremap <space> za | |
nnoremap ]h <Plug>GitGutterNextHunk | |
nnoremap [h <Plug>GitGutterPrevHunk | |
noremap <F3> :NERDTreeToggle <CR> " F3 切换Nerdtree | |
inoremap <F3> <ESC>:NERDTreeToggle <CR> | |
noremap <F2> :TagbarToggle <CR> | |
inoremap <F2> :TagbarToggle <CR> | |
"==================================================Plugin Settings==================================================" | |
filetype off "Vundle manage the plugin | |
set rtp+=~/.vim/Vundle.vim | |
call vundle#begin() | |
Plugin 'tpope/vim-fugitive' | |
Plugin 'godlygeek/tabular' | |
Plugin 'bling/vim-airline' | |
Plugin 'vim-airline/vim-airline-themes' | |
Plugin 'ervandew/supertab' | |
let g:SuperTabDefaultCompletionType = "<c-n>" | |
if !exists('g:airline_symbols') | |
let g:airline_symbols = {} | |
endif | |
"enable modified detection > | |
let g:airline_detect_modified=1 | |
"enable paste detection | |
let g:airline_detect_paste=1 | |
"enable crypt detection | |
let g:airline_detect_crypt=1 | |
"enable spell detection | |
let g:airline_detect_spell=1 | |
let g:airline#extensions#branch#enabled = 1 | |
let g:airline#extensions#branch#empty_message = '' | |
let g:airline#extensions#branch#vcs_priority = ["git", "mercurial"] | |
let g:airline#extensions#branch#displayed_head_limit = 10 | |
let g:airline#extensions#branch#format = 1 | |
let g:airline#extensions#tabline#enabled = 1 | |
let g:airline#extensions#tabline#left_sep = '' | |
let g:airline#extensions#tabline#left_alt_sep = '' | |
let g:airline#extensions#tabline#fnamemod = ':t' | |
let g:airline#extensions#wordcount#enabled = 1 | |
let g:airline#extensions#tabline#buffer_nr_show = 1 | |
let g:airline_enable_branch = 1 | |
let g:airline_powerline_fonts = 1 | |
let g:airline_theme = 'solarized' | |
" let g:airline_theme = 'papercolor' | |
Plugin 'scrooloose/nerdtree' " nerdtree | |
Plugin 'airblade/vim-gitgutter' | |
let g:gitgutter_max_signs = 500 | |
Plugin 'spf13/vim-autoclose' | |
let g:autoclose_vim_commentmode = 1 | |
" | |
Plugin 'vladh/tagbar' | |
let g:tagbar_autofocus = 1 | |
Plugin 'mileszs/ack.vim' | |
call vundle#end() | |
filetype plugin indent on | |
"=========================================================Autocmd Settings=========================================================== | |
autocmd WinEnter,BufUnload,BufEnter,BufHidden,BufWinEnter,BufRead,BufNewFile *.conf setfiletype nginx " 使用 nginx 的语法高亮 | |
autocmd WinEnter,BufUnload,BufEnter,BufHidden,BufWinEnter,BufRead,BufNewFile *.rewrite setfiletype rewrite " 使用 UPYUN rewrite 的语法高亮 | |
autocmd WinEnter,BufUnload,BufEnter,BufHidden,BufWinEnter,BufRead,BufNewFile *.zt setfiletype ztest " 使用 UPYUN rewrite 的语法高亮 | |
let mapleader = '-' | |
augroup comment | |
autocmd FileType python,conf nnoremap <leader>c I#<space><space><space><space> <esc> | |
autocmd FileType c nnoremap <leader>c I/*<space><esc>A<space>*/<esc> | |
autocmd FileType h nnoremap <leader>c I/*<space><esc>A<space>*/<esc> | |
autocmd FileType cpp nnoremap <leader>c I// <esc> | |
autocmd FileType lua nnoremap <leader>c I-- <esc> | |
autocmd FileType c vnoremap<leader>vt A<esc>bi/*<space><esc>ea<space>*/ " 注释选中的单词 | |
autocmd FileType h vnoremap<leader>vt A<esc>bi/*<space><esc>ea<space>*/ " 注释选中的单词 | |
augroup end | |
augroup luaquickinput | |
autocmd FileType lua nnoremap <leader>lw ongx.log(ngx.WARN, )<esc>i | |
autocmd FileType lua nnoremap <leader>lb ongx.log(ngx.DEBUG, )<esc>i | |
autocmd FileType lua nnoremap <leader>le ongx.log(ngx.ERR, )<esc>i | |
autocmd FileType lua nnoremap <leader>lf olocal function ()<esc>oend<esc>kwwi | |
autocmd FileType lua nnoremap <leader>gf o_M.function ()<esc>oend<esc>kwwi | |
autocmd FileType lua nnoremap <leader>lfi olocal function () end<esc>bi | |
autocmd FileType lua nnoremap <leader>gfi o_M.function () end<esc>bi | |
autocmd FileType lua nnoremap <leader>fori ofor in ipairs() do<esc>oend<esc>kwi | |
autocmd FileType lua nnoremap <leader>for ofor in pairs() do<esc>oend<esc>kwi | |
augroup end | |
autocmd InsertLeave * if pumvisible() == 0|pclose|endif | |
autocmd BufEnter * set cursorline nocursorcolumn | |
autocmd BufLeave * set cursorline nocursorcolumn | |
autocmd Filetype lua setlocal iskeyword+=: | |
autocmd Filetype lua setlocal iskeyword+=\. | |
au InsertEnter * set cursorline cursorcolumn | |
au InsertLeave * set nocursorcolumn | |
autocmd WinEnter * set cursorline cursorcolumn | |
autocmd WinLeave * set cursorline nocursorcolumn | |
autocmd BufEnter * set cursorline nocursorcolumn | |
autocmd BufLeave * set cursorline nocursorcolumn | |
autocmd InsertEnter * set cursorline cursorcolumn | |
autocmd InsertLeave * set nocursorcolumn | |
"------------------------------------------------Hack For Solarized---------------------------------------------------- | |
highlight EndOfBuffer ctermfg=8 ctermbg=None | |
highlight LineNr ctermbg=8 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment