Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- call plug#begin()
- " completion
- Plug 'shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
- Plug 'zchee/deoplete-go', {' do': 'make' }
- " color
- Plug 'chrisbra/colorizer'
- Plug 'joshdick/onedark.vim'
- " ctags
- Plug 'ludovicchabant/vim-gutentags'
- " documentation
- Plug 'rhysd/devdocs.vim'
- " fzf
- Plug 'junegunn/fzf.vim'
- " git
- Plug 'airblade/vim-gitgutter'
- " language support
- Plug 'fatih/vim-go'
- Plug 'sheerun/vim-polyglot'
- " language server protocol
- Plug 'autozimu/languageclient-neovim', { 'branch': 'next', 'do': 'bash install.sh' }
- " linting & formatting
- Plug 'sbdchd/neoformat'
- Plug 'w0rp/ale'
- " navigation
- Plug 'airblade/vim-rooter'
- Plug 'ericcurtin/curtineincsw.vim'
- Plug 'justinmk/vim-dirvish'
- " quickfix & loclist
- Plug 'romainl/vim-qf'
- " search
- Plug 'junegunn/vim-slash'
- Plug 'mhinz/vim-grepper'
- " snippet
- Plug 'sirver/ultisnips' | Plug 'honza/vim-snippets'
- " text editing
- Plug 'chaoren/vim-wordmotion'
- Plug 'michaeljsmith/vim-indent-object'
- Plug 'ntpeters/vim-better-whitespace'
- Plug 'raimondi/delimitmate'
- Plug 'tommcdo/vim-lion'
- Plug 'wellle/targets.vim'
- " tpope
- Plug 'tpope/vim-abolish'
- Plug 'tpope/vim-commentary'
- Plug 'tpope/vim-endwise'
- Plug 'tpope/vim-eunuch'
- Plug 'tpope/vim-fugitive'
- Plug 'tpope/vim-repeat'
- Plug 'tpope/vim-rsi'
- Plug 'tpope/vim-sleuth'
- Plug 'tpope/vim-surround'
- Plug 'tpope/vim-unimpaired'
- " undo
- Plug 'mbbill/undotree'
- call plug#end()
- " ale
- let g:ale_lint_on_insert_leave = 1
- let g:ale_lint_on_text_changed = 'normal'
- let g:ale_set_quickfix = 1
- " better whitespace
- let g:better_whitespace_enabled = 1
- let g:better_whitespace_guicolor = '#e06c75'
- " colorizer
- let g:colorizer_colornames = 0
- " delimitmate
- let g:delimitMate_balance_matchpairs = 1
- let g:delimitMate_expand_cr = 1
- let g:delimitMate_expand_space = 1
- " deoplete
- let g:deoplete#enable_at_startup = 1
- " dirvish
- let g:dirvish_relative_paths = 1
- let g:loaded_netrw = 1
- let g:loaded_netrwPlugin = 1
- command! -nargs=? -complete=dir Explore silent Dirvish <args>
- command! -nargs=? -complete=dir Sexplore split | silent Dirvish <args>
- command! -nargs=? -complete=dir Vexplore vsplit | silent Dirvish <args>
- " fzf
- let g:fzf_history_dir = $HOME . '/.local/share/nvim/fzf'
- let g:fzf_layout = { 'down': '10' }
- command! -bang -nargs=* Rg
- \ call fzf#vim#grep(
- \ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(<q-args>), 1,
- \ <bang>0 ? fzf#vim#with_preview('up:60%') : fzf#vim#with_preview('right:50%:hidden', '?'), <bang>0)
- " gitgutter
- if executable('rg')
- let g:gitgutter_grep = 'rg'
- endif
- " gutentags
- if !executable('ctags')
- let g:gutentags_enabled = 0
- endif
- " go
- let g:go_fmt_command = 'goimports'
- let g:go_term_mode = 'split'
- " grepper
- let g:grepper = {
- \ 'dir': 'filecwd',
- \ 'jump': 1,
- \ 'quickfix': 0,
- \ 'switch': 0,
- \ 'tools': [ 'rg', 'ag', 'ack', 'grep', 'git', 'findstr', 'pt', 'sift' ],
- \ }
- " languageclient
- let g:LanguageClient_serverCommands = {
- \ 'c': [ 'clangd' ],
- \ 'cpp': [ 'clangd' ],
- \ 'javascript': [ 'javascript-typescript-stdio' ],
- \ 'python': [ 'pyls' ],
- \ 'ruby': [ 'solargraph', 'stdio' ],
- \ }
- " onedark
- let g:onedark_color_overrides = {
- \ 'comment_grey': { 'gui': '#7f848e', 'cterm': '59', 'cterm16': '15' },
- \ 'gutter_fg_grey': { 'gui': '#515a6b', 'cterm': '238', 'cterm16': '15' },
- \ 'special_grey': { 'gui': '#7f848e', 'cterm': '238', 'cterm16': '15' },
- \ 'vertsplit': { 'gui': '#515a6b', 'cterm': '59', 'cterm16': '15' },
- \ }
- " polyglot
- let g:jsx_ext_required = 1
- " qf
- let g:qf_auto_open_quickfix = 0
- " rooter
- let g:rooter_manual_only = 1
- " ultisnips
- let g:UltiSnipsJumpBackwardTrigger = '<a-b>'
- let g:UltiSnipsJumpForwardTrigger = '<a-f>'
- let g:UltiSnipsSnippetDirectories = [ 'snips' ]
- " undotree
- let g:undotree_SetFocusWhenToggle = 1
- " wordmotion
- let g:wordmotion_spaces = '_-.'
- " --------------------------------
- augroup Settings
- autocmd!
- " completion
- autocmd InsertLeave * if pumvisible() == 0 | pclose | endif
- augroup END
- augroup Plugins
- autocmd!
- " ale
- autocmd Filetype c,cpp let b:ale_enabled = 0
- " commentary
- autocmd Filetype c,cpp setlocal commentstring=//%s
- autocmd Filetype sql setlocal commentstring=--%s
- " curtineincsw
- autocmd Filetype c,cpp command! -bang A call CurtineIncSw()
- " go
- autocmd Filetype go command! -bang A call go#alternate#Switch(<bang>0, 'edit')
- augroup END
- " --------------------------------
- " normal + visual mappings
- noremap + "+
- noremap \ :
- noremap 0 ^
- noremap ^ 0
- " normal mappings
- nnoremap Y y$
- nnoremap <expr> i len(getline('.')) == 0 ? '"_cc' : 'i'
- " insert mappings
- inoremap <c-u> <c-g>u<c-u>
- if executable('fzf')
- imap <c-x><c-f> <plug>(fzf-complete-path)
- endif
- " g mappings
- nnoremap gb :Buffers<cr>
- map gs <plug>(GrepperOperator)
- " leader mappings
- let mapleader = "\<space>"
- nnoremap <leader>c :ColorToggle<cr>
- nnoremap <leader>n :Neoformat<cr>
- nnoremap <leader>s :StripTrailingWhitespace<cr>
- nnoremap <leader>u :UndotreeToggle<cr>
- nnoremap <leader>dd :DevDocs<space>
- nnoremap <leader>dc :DevDocsUnderCursor<cr>
- nnoremap <leader>fg :GFiles<cr>
- nnoremap <leader>fi :Files<cr>
- nnoremap <leader>fl :Lines<cr>
- nnoremap <leader>ft :Tags<cr>
- nnoremap <leader>gb :Gblame<cr>
- nnoremap <leader>gd :Gdiff<cr>
- nnoremap <leader>ge :Gedit<cr>
- nnoremap <leader>gg :Git<space>
- nnoremap <leader>gl :silent! Gllog<cr>
- nnoremap <leader>gm :Gmerge<cr>
- nnoremap <leader>gr :Gread<cr>
- nnoremap <leader>gs :Gstatus<cr>
- nnoremap <leader>gw :Gwrite<cr>
- nnoremap <leader>rb :Grepper-buffers<cr>
- nnoremap <leader>rg :Grepper<cr>
- " --------------------------------
- " buffer
- set hidden
- " color
- set termguicolors
- silent! colorscheme onedark
- " column
- set numberwidth=2
- set signcolumn=yes
- " completion
- set completeopt+=menuone,noinsert,noselect
- set pumheight=10
- " confirmation
- set confirm
- " cursor
- set nostartofline
- " indentation
- set expandtab
- set shiftround
- set shiftwidth=4
- set tabstop=4
- " matching
- set showmatch
- " message
- set noruler
- set noshowcmd
- set noshowmode
- set shortmess+=cF
- " scroll
- set scrolloff=1
- set sidescrolloff=5
- " search
- set gdefault
- set ignorecase
- set inccommand=nosplit
- set smartcase
- " swap
- set noswapfile
- " statusline
- set statusline=
- \\ %{&filetype!=#''?&filetype:'none'}
- \\ %{&readonly\|\|!&modifiable?&modified?'%*':'%%':&modified?'**':'--'}
- \\ %{expand('%:~:.')!=#''?expand('%:~:.'):'[No\ Name]'}
- \%=
- \%l/%L%1(%)
- \%p%%%1(%)
- " undo
- set undofile
- " update
- set lazyredraw
- set updatetime=150
- " window
- set splitbelow
- set splitright
- " wrapping
- set breakindent
- set linebreak
- let &showbreak = '↳ '
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement