Last active
April 30, 2020 17:05
-
-
Save enwuft/2e7d457bceeec303fc310311f692dab0 to your computer and use it in GitHub Desktop.
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
" ============================ Common setting ============================ | |
set nocompatible " be iMproved, required | |
filetype plugin indent on " required | |
autocmd Filetype gitcommit setlocal spell textwidth=72 " git commit messages limit 72 columns | |
" syntax | |
syntax on | |
colorscheme OceanicNext | |
" Some servers have issues with backup files, see #649. | |
set nobackup | |
set nowritebackup | |
" Give more space for displaying messages. | |
set cmdheight=2 | |
"***************************************************************************** | |
"" Basic Setup | |
"*****************************************************************************" | |
"" Encoding | |
set encoding=utf-8 | |
set fileencoding=utf-8 | |
set fileencodings=utf-8 | |
set ttyfast | |
set formatoptions=tcqrn1 | |
set expandtab | |
set noshiftround | |
set laststatus=2 | |
set showmode | |
set showcmd | |
"" Fix backspace indent | |
set backspace=indent,eol,start | |
"" Tabs. May be overridden by autocmd rules | |
set tabstop=2 | |
set softtabstop=0 | |
set shiftwidth=2 | |
set expandtab | |
"" Map leader to , | |
let mapleader=',' | |
"" Enable hidden buffers | |
set hidden | |
"" Searching | |
set hlsearch | |
set incsearch | |
set ignorecase | |
set smartcase | |
" history : how many lines of history VIM has to remember | |
set history=4000 | |
set number | |
set modelines=0 | |
set ruler | |
set updatetime=300 | |
set shortmess+=c | |
set signcolumn=yes | |
set title | |
set titleold="Terminal" | |
set titlestring=%F | |
" select & complete | |
set selection=inclusive | |
set selectmode=mouse,key | |
" Searching | |
nnoremap / /\v | |
vnoremap / /\v | |
set hlsearch | |
set incsearch | |
set ignorecase | |
set smartcase | |
set showmatch | |
map <leader><space> :let @/=''<cr> " clear search | |
nmap <script> <silent> <leader>l :call ToggleLocationList()<CR> | |
nmap <script> <silent> <leader>q :call ToggleQuickfixList()<CR> | |
let g:ctrlp_map = '<c-p>' | |
let g:ctrlp_cmd = 'CtrlP' | |
"" NERDTree configuration | |
let g:NERDTreeChDirMode=2 | |
let g:NERDTreeIgnore=['\.rbc$', '\~$', '\.pyc$', '\.db$', '\.sqlite$', '__pycache__'] | |
let g:NERDTreeSortOrder=['^__\.py$', '\/$', '*', '\.swp$', '\.bak$', '\~$'] | |
let g:nerdtree_tabs_focus_on_files=1 | |
let g:NERDTreeMapOpenInTabSilent = '<RightMouse>' | |
let g:NERDTreeWinSize = 30 | |
set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.pyc,*.db,*.sqlite | |
map <F3> :NERDTreeToggle<CR> | |
"" Switching windows | |
noremap <C-j> <C-w>j | |
noremap <C-k> <C-w>k | |
noremap <C-l> <C-w>l | |
noremap <C-h> <C-w>h | |
let s:quitting = 0 | |
au QuitPre *.rs let s:quitting = 1 | |
au BufEnter *.rs let s:quitting = 0 | |
au BufWritePost *.rs if ! s:quitting | Neomake | else | echom "Neomake disabled"| endif | |
let g:neomake_warning_sign = {'text': '?'} | |
" vim-racer | |
let g:racer_experimental_completer = 1 | |
augroup Racer | |
autocmd! | |
autocmd FileType rust nmap <buffer> gd <Plug>(rust-def) | |
autocmd FileType rust nmap <buffer> gs <Plug>(rust-def-split) | |
autocmd FileType rust nmap <buffer> gx <Plug>(rust-def-vertical) | |
autocmd FileType rust nmap <buffer> gt <Plug>(rust-def-tab) | |
autocmd FileType rust nmap <buffer> <leader>gd <Plug>(rust-doc) | |
augroup END | |
autocmd BufRead *.rs :setlocal tags=./rusty-tags.vi;/ | |
autocmd BufWritePost *.rs :silent! exec "!rusty-tags vi --quiet --start-dir=" . expand('%:p:h') . "&" | redraw! | |
" ============================ vim-rainbow config ============================ | |
let g:rainbow_active = 1 | |
let g:rainbow_load_separately = [ | |
\ [ '*' , [['(', ')'], ['\[', '\]'], ['{', '}']] ], | |
\ [ '*.tex' , [['(', ')'], ['\[', '\]']] ], | |
\ [ '*.cpp' , [['(', ')'], ['\[', '\]'], ['{', '}']] ], | |
\ [ '*.{html,htm}' , [['(', ')'], ['\[', '\]'], ['{', '}'], ['<\a[^>]*>', '</[^>]*>']] ], | |
\ ] | |
let g:rainbow_guifgs = ['RoyalBlue3', 'DarkOrange3', 'DarkOrchid3', 'FireBrick'] | |
let g:rainbow_ctermfgs = ['lightblue', 'lightgreen', 'yellow', 'red', 'magenta'] | |
" ============================ Vundle plugin ============================ | |
" set the runtime path to include Vundle and initialize | |
set rtp+=~/.vim/bundle/Vundle.vim | |
call vundle#begin() | |
" let Vundle manage Vundle, required | |
Plugin 'VundleVim/Vundle.vim' | |
" Plugin for Rust development | |
Plugin 'racer-rust/vim-racer' | |
Plugin 'shougo/deoplete.nvim' | |
Plugin 'neomake/neomake' | |
Plugin 'phildawes/racer' | |
Plugin 'valloric/youcompleteme' | |
Plugin 'rust-lang/rust.vim' | |
Plugin 'milkypostman/vim-togglelist' | |
Plugin 'ctrlpvim/ctrlp.vim' | |
Plugin 'vim-airline/vim-airline' | |
Plugin 'scrooloose/nerdtree' | |
Plugin 'airblade/vim-gitgutter' | |
Plugin 'Xuyuanp/nerdtree-git-plugin' | |
Plugin 'ryanoasis/vim-devicons' | |
Plugin 'mdempsky/gocode', {'rtp': 'vim/'} | |
Plugin 'frazrepo/vim-rainbow' | |
Plugin 'preservim/nerdcommenter' | |
Plugin 'terryma/vim-multiple-cursors' | |
" Color scheme | |
call vundle#end() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment