Created
December 16, 2020 08:22
-
-
Save xuanvan229/ef3e696872bbe8aac7ca86b24a03a024 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
call plug#begin('~/.config/nvim/plugged') | |
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } | |
Plug 'Xuyuanp/nerdtree-git-plugin' | |
Plug 'tpope/vim-commentary' | |
Plug 'tpope/vim-fugitive' | |
Plug 'dracula/vim' | |
Plug 'vim-airline/vim-airline' | |
Plug 'vim-airline/vim-airline-themes' | |
Plug 'bronson/vim-trailing-whitespace' | |
Plug 'rakr/vim-one' | |
Plug 'sheerun/vim-polyglot' | |
Plug 'joshdick/onedark.vim' | |
Plug 'airblade/vim-gitgutter' | |
Plug 'yggdroot/indentline' | |
Plug 'ap/vim-css-color' | |
Plug 'chiel92/vim-autoformat' | |
Plug 'gregsexton/matchtag' | |
Plug 'tpope/vim-fugitive' | |
Plug 'pangloss/vim-javascript' | |
Plug 'maxmellon/vim-jsx-pretty' | |
Plug 'Valloric/YouCompleteMe', { 'do': './install.py --tern-completer' } | |
"" Fuzy search | |
Plug 'cloudhead/neovim-fuzzy' | |
Plug 'mxw/vim-jsx' | |
Plug 'mhartington/nvim-typescript', {'do': './install.sh'} | |
Plug 'Shougo/deoplete.nvim' | |
Plug 'Shougo/denite.nvim' | |
"" python | |
Plug 'davidhalter/jedi-vim' | |
"" javascript | |
"" Javascript Bundle | |
Plug 'jelera/vim-javascript-syntax' | |
Plug 'pangloss/vim-javascript' | |
Plug 'mxw/vim-jsx' | |
"" NERDTree | |
Plug 'scrooloose/nerdtree' | |
Plug 'Xuyuanp/nerdtree-git-plugin' | |
"" Golang | |
Plug 'fatih/vim-go' | |
"" Vim Icon | |
Plug 'ryanoasis/vim-devicons' | |
" Plug 'ryanoasis/vim-webdevicons' | |
Plug 'marijnh/tern_for_vim' | |
Plug 'terryma/vim-multiple-cursors' | |
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' } | |
call plug#end() | |
"" Setup tab | |
:set tabstop=2 | |
:set shiftwidth=2 | |
:set expandtab | |
:set number | |
"" Fuzy search | |
"" Theme | |
syntax on | |
colorscheme onedark | |
let g:onedark_termcolors=256 | |
set number | |
"" Vim arline | |
let g:airline_theme = 'deus' | |
let g:airline#extensions#syntastic#enabled = 1 | |
let g:airline#extensions#branch#enabled = 1 | |
let g:airline#extensions#tabline#enabled = 1 | |
let g:airline#extensions#tagbar#enabled = 1 | |
let g:airline_skip_empty_sections = 1 | |
let g:airline_solarized_bg='dark' | |
""***************************************************************************** | |
"" Basic Setup | |
""***************************************************************************** | |
"" Encoding | |
set encoding=utf-8 | |
set fileencodings=utf-8 | |
set bomb | |
set binary | |
"" Indent | |
let g:indentLine_color_term = 239 | |
"" Fix backspace indent | |
set backspace=indent,eol,start | |
"" vim-airline | |
let g:airline#extensions#virtualenv#enabled = 1 | |
""Use syntax highlighting | |
let g:airline#extensions#tabline#enabled = 1 | |
"" NERDTree configuration | |
let g:NERDTreeChDirMode=2 | |
let g:NERDTreeIgnore=['\.rbc$', '\~$', '\.pyc$', '\.db$', '\.sqlite$', '__pycache__'] | |
let g:NERDTreeSortOrder=['^__\.py$', '\/$', '*', '\.swp$', '\.bak$', '\~$'] | |
let g:NERDTreeShowBookmarks=1 | |
let g:nerdtree_tabs_focus_on_files=1 | |
let g:NERDTreeMapOpenInTabSilent = '<RightMouse>' | |
let g:NERDTreeWinSize = 50 | |
map \ :NERDTreeToggle<CR> | |
set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.pyc,*.db,*.sqlite | |
nnoremap <silent> <F2> :NERDTreeFind<CR> | |
map <C-n> :NERDTreeToggle<CR> | |
"" close vim if the only window left open is a NERDTree? | |
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif | |
"" Open NERDTree automatically when vim starts up on opening a directory. | |
autocmd StdinReadPre * let s:std_in=1 | |
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | exe 'cd '.argv()[0] | endif | |
let NERDTreeStatusline="%{exists('b:NERDTree')?fnamemodify(b:NERDTree.root.path.str(), ':~'):''}" | |
"" python | |
"" vim-python | |
augroup vimrc-python | |
autocmd! | |
autocmd FileType python setlocal expandtab shiftwidth=4 tabstop=4 | |
\ formatoptions+=croq softtabstop=4 smartindent | |
\ cinwords=if,elif,else,for,while,try,except,finally,def,class,with | |
augroup END | |
"" jedi-vim | |
let g:jedi#popup_on_dot = 0 | |
let g:jedi#goto_assignments_command = "<leader>g" | |
let g:jedi#goto_definitions_command = "<leader>d" | |
let g:jedi#documentation_command = "K" | |
let g:jedi#usages_command = "<leader>n" | |
let g:jedi#rename_command = "<leader>r" | |
let g:jedi#show_call_signatures = "0" | |
let g:jedi#completions_command = "<C-Space>" | |
let g:jedi#smart_auto_mappings = 0 | |
"" 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 | |
"" Switch buffer | |
map <C-k> :bn<Cr> | |
map <C-j> :bp<Cr> | |
"" Turn-on dracula color scheme | |
syntax on | |
color onedark | |
"***************************************************************************** | |
"" Autocmd Rules | |
"***************************************************************************** | |
"" The PC is fast enough, do syntax highlight syncing from start | |
augroup vimrc-sync-fromstart | |
autocmd! | |
autocmd BufEnter * :syntax sync fromstart | |
augroup END | |
"" Remember cursor position | |
augroup vimrc-remember-cursor-position | |
autocmd! | |
autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif | |
augroup END | |
" Disable Arrow keys in Escape mode | |
" map <up> <nop> | |
" map <down> <nop> | |
" map <left> <nop> | |
" map <right> <nop> | |
" Disable Arrow keys in Insert mode | |
" imap <up> <nop> | |
" imap <down> <nop> | |
" imap <left> <nop> | |
" imap <right> <nop> | |
" set guifont=Fira\ Code:h12 | |
" set guifont=Droid\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types:h11 | |
" Replace any `[` or `]` with underscore. | |
" We'll hide the underscores anyways. | |
syntax match hideBracketsInNerdTree "[\]|\[]*" conceal cchar=_ | |
set clipboard=unnamed | |
" Must be completely hidden otherwise cursorline doesn't highlight the concealed bg color correctly. | |
set conceallevel=3 | |
set concealcursor=nvic | |
let g:user_emmet_leader_key='<Tab>' | |
let g:user_emmet_settings = { | |
\ 'javascript.jsx' : { | |
\ 'extends' : 'jsx', | |
\ }, | |
\} | |
let g:tern_show_argument_hints='on_hold' | |
" and | |
let g:tern_map_keys=1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment