Last active
April 1, 2018 05:35
-
-
Save phanviet/04d2b1d0cdaf9879748672c679c47fa6 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
set nocompatible " be iMproved, required | |
filetype off " required | |
call plug#begin('~/.local/share/nvim/plugged') | |
" Project management | |
Plug 'scrooloose/nerdtree' | |
" Ctags | |
Plug 'fntlnz/atags.vim' | |
" Syntax checking | |
Plug 'chiel92/vim-autoformat' | |
Plug 'sheerun/vim-polyglot' | |
Plug 'keith/swift.vim' | |
" Multi cursors | |
Plug 'terryma/vim-multiple-cursors' | |
" quote | |
Plug 'tpope/vim-surround' | |
Plug 'jiangmiao/auto-pairs' | |
Plug 'dhruvasagar/vim-table-mode' | |
Plug 'luochen1990/rainbow' | |
" tmux | |
Plug 'christoomey/vim-tmux-navigator' | |
Plug 'benmills/vimux' | |
" Search | |
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } | |
Plug 'junegunn/fzf.vim' | |
Plug 'eugen0329/vim-esearch' | |
" Tab alginment | |
Plug 'godlygeek/tabular' | |
Plug 'nathanaelkane/vim-indent-guides' | |
" Browse tag | |
Plug 'majutsushi/tagbar' | |
" Comment | |
Plug 'tomtom/tcomment_vim' | |
" Git gutter | |
Plug 'airblade/vim-gitgutter' | |
" Javascript improve | |
Plug 'pangloss/vim-javascript' | |
Plug 'leafgarland/typescript-vim' | |
Plug 'ternjs/tern_for_vim' | |
Plug 'mxw/vim-jsx' | |
" Quick move in file | |
Plug 'easymotion/vim-easymotion' | |
" For Ruby & Rails | |
Plug 'vim-ruby/vim-ruby' | |
Plug 'tpope/vim-rails' | |
Plug 'tpope/vim-endwise' | |
Plug 'kagux/vim-rubocop-autocorrect' | |
" Front end | |
Plug 'mattn/emmet-vim' | |
Plug 'othree/html5.vim' | |
Plug 'tpope/vim-markdown' | |
Plug 'hail2u/vim-css3-syntax' | |
Plug 'cakebaker/scss-syntax.vim' | |
Plug 'ap/vim-css-color' | |
Plug 'csscomb/vim-csscomb' | |
" Plug 'HTML-AutoCloseTag' | |
Plug 'tyru/open-browser.vim' | |
Plug 'valloric/MatchTagAlways' | |
Plug 'digitaltoad/vim-pug' | |
" Style guide | |
Plug 'editorconfig/editorconfig-vim' | |
" Themes | |
Plug 'liuchengxu/space-vim-dark' | |
Plug 'SirVer/ultisnips' | |
Plug 'honza/vim-snippets' | |
Plug 'tpope/vim-repeat' | |
Plug 'rust-lang/rust.vim' | |
call plug#end() | |
syntax on | |
let mapleader = ',' | |
let maplocalleader = '\' | |
set mouse=a | |
set langmenu=en_US | |
let $LANG = 'en_US' | |
set tabstop=2 | |
set shiftwidth=2 | |
set softtabstop=2 | |
set expandtab | |
set noswapfile | |
set colorcolumn=80 | |
set clipboard=unnamedplus | |
set cursorline | |
" Theme config | |
set termguicolors | |
colorscheme space-vim-dark | |
" hi Comment cterm=italic | |
" colorscheme molokai | |
" colorscheme gruvbox | |
" colorscheme dracula | |
" colorscheme space-vim-dark | |
" hi Comment cterm=italic | |
" set background=dark | |
" colorscheme solarized8 | |
" colorscheme PaperColor | |
" let ayucolor="light" | |
" colorscheme ayu | |
" Show line numbers | |
set number | |
set relativenumber | |
" toggle highlight. | |
set hlsearch! | |
nnoremap <Leader>hl :set hlsearch!<CR> | |
nnoremap <c-j> <c-w>j | |
nnoremap <c-k> <c-w>k | |
nnoremap <c-h> <c-w>h | |
nnoremap <c-l> <c-w>l | |
tnoremap <Esc> <C-\><C-n> | |
nnoremap <silent> <BS> <c-w>h<cr> | |
inoremap jj <ESC> | |
" Ctags & definition | |
map <Leader>F :vsp <CR>:wincmd l<CR>:exec("tag ".expand("<cword>"))<CR> | |
map <Leader>f :exec("tag ".expand("<cword>"))<CR> | |
" NERDTree config | |
map <C-\> :NERDTreeToggle<CR> | |
map <Leader>\ :NERDTreeFind<CR> | |
" Tagbar config | |
nmap <Leader>tb :TagbarToggle<CR> | |
" Navigation config | |
map vv :vsplit<CR> | |
map ss :split<CR> | |
" Indent guides | |
let g:indent_guides_start_level=2 | |
let g:indent_guides_guide_size=1 | |
nnoremap <Leader>ti :IndentGuidesToggle<cr> | |
" Parenthese | |
let g:rainbow_active = 1 | |
" Tabular Alignment config | |
nmap <Leader>a= :Tabularize /=<CR> | |
vmap <Leader>a= :Tabularize /=<CR> | |
nmap <Leader>a: :Tabularize /:<CR> | |
vmap <Leader>a: :Tabularize /:<CR> | |
nmap <Leader>a:: :Tabularize /:\\zs<CR> | |
vmap <Leader>a:: :Tabularize /:\\zs<CR> | |
nmap <Leader>a, :Tabularize /,<CR> | |
vmap <Leader>a, :Tabularize /,<CR> | |
" better key bindings for UltiSnipsExpandTrigger | |
let g:UltiSnipsExpandTrigger = "<tab>" | |
let g:UltiSnipsJumpForwardTrigger = "<tab>" | |
let g:UltiSnipsJumpBackwardTrigger = "<s-tab>" | |
" fzf | |
let g:fzf_action = { | |
\ 'ctrl-s': 'split', | |
\ 'ctrl-v': 'vsplit' | |
\ } | |
nnoremap <C-p> :FZF<cr> | |
nnoremap <C-]> g<C-]> | |
let $FZF_DEFAULT_COMMAND = 'ag -l -g ""' | |
" Ctags | |
nnoremap <Leader>t :call atags#generate()<cr> | |
" autocmd BufWritePost * call atags#generate() | |
let g:atags_build_commands_list = [ | |
\ "ag --ruby --python --cpp --js --ts -g '' | ctags -L - --fields=+l -f tags.tmp", | |
\ "awk 'length($0) < 400' tags.tmp > tags", | |
\ "rm tags.tmp" | |
\ ] | |
let g:jsx_ext_required = 0 | |
let g:esearch = { | |
\ 'adapter': 'ag', | |
\ 'backend': 'nvim', | |
\ 'out': 'win', | |
\ 'batch_size': 1000, | |
\ 'use': ['visual', 'hlsearch', 'last'], | |
\} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment