"plugins (vim-plug) "------------------ "vim-plug paths let plugDir = expand("$HOME/.vim/autoload/plug.vim") let pluginDir = expand("$HOME/.vim/plugged") let plugRemote = "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" "ensure vim-plug is installed on VimEnter if empty(glob(plugDir)) silent execute "!curl -fLo " . shellescape(expand(plugDir)) . " --create-dirs " . shellescape(plugRemote) autocmd VimEnter * PlugInstall --sync | source $MYVIMRC endif call plug#begin(pluginDir) Plug 'junegunn/vim-plug' " quality of life "normal mode keybinds Plug 'tpope/vim-commentary' Plug 'tpope/vim-surround' Plug 'tpope/vim-unimpaired' "command mode keybinds Plug 'tpope/vim-rsi' Plug 'tpope/vim-eunuch' Plug 'tpope/vim-repeat' "async task runner Plug 'tpope/vim-dispatch' "git Plug 'tpope/vim-fugitive' Plug 'tpope/vim-rhubarb' Plug 'airblade/vim-gitgutter' "fzf Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } Plug 'junegunn/fzf.vim' "snippet engine Plug 'SirVer/ultisnips' Plug 'honza/vim-snippets' " syntax and colorscheme packs Plug 'flazz/vim-colorschemes' Plug 'sheerun/vim-polyglot' " linting and lsp Plug 'w0rp/ale' " extra language plugins "go Plug 'fatih/vim-go' "html Plug 'mattn/emmet-vim' "markdown Plug 'plasticboy/vim-markdown' " other useful things "editorconfig Plug 'editorconfig/editorconfig-vim' "browser/url opener Plug 'tyru/open-browser.vim' "tables Plug 'godlygeek/tabular' call plug#end() "plugin settings "---------------{{{ "netrw let g:netrw_banner = 0 let g:netrw_winsize = 24 let g:netrw_liststyle = 3 let g:netrw_preview = 1 let g:netrw_alto = 0 let g:netrw_usetab = 1 let g:netrw_browsex_viewer = "xdg-open" let g:NetrwIsOpen = 0 "for toggle function let g:netrw_nogx = 1 "ale let g:ale_linters = { \ 'python': ['flake8', 'pylint'], \ 'javascript': ['eslint'], \ 'markdown': ['mdl', 'write-good'] \} let g:ale_fixers = { \ '*': ['remove_trailing_lines', 'trim_whitespace'], \ 'python': ['yapf', 'black'], \ 'javascript': ['prettier', 'eslint'], \ 'css': ['prettier'], \ 'html': ['prettier'], \ 'markdown': ['prettier'] \} let g:ale_sign_error = '->' let g:ale_sign_warning = '--' let g:ale_lint_on_save = 1 let g:ale_fix_on_save_ignore = 1 highlight clear SignColumn "vim-markdown let g:vim_markdown_folding_disabled = 1 let g:vim_markdown_toc_autofit = 1 let g:vim_markdown_conceal = 0 let g:vim_markdown_frontmatter = 1 "vim-emmet let g:user_emmet_install_global = 0 "UltiSnips let g:UltiSnipsExpandTrigger="" let g:UltiSnipsJumpForwardTrigger="" let g:UltiSnipsJumpBackwardTrigger="" "}}} "plugin keybinds "{{{ "netrw nnoremap e :call ToggleNetrw() "vim-plug nnoremap pi :source $MYVIMRC :PlugInstall nnoremap pu :source $MYVIMRC :PlugUpdate nnoremap pc :source $MYVIMRC :PlugClean "openbrowser nnoremap ob :OpenBrowser nnoremap obs :OpenBrowserSearch nmap gx (openbrowser-smart-search) vmap gx (openbrowser-smart-search) "ale nnoremap at :ALEToggle nmap af (ale_fix) nmap aK (ale_hover) nmap agd (ale_go_to_definition) nmap agd (ale_go_to_definition) "vim-emmet let g:user_emmet_leader_key = ',' "git-gutter nnoremap ggt :GitGutterToggle "vim-fugitive nnoremap gw :Gwrite nnoremap gl :Glog nnoremap gs :Gstatus nnoremap gd :Gdiffsplit nnoremap gp :Gpush nnoremap ga :Git add % nnoremap ga. :Git add . nnoremap gcm :Gcommit "fzf nnoremap f :GitFiles nnoremap F :Files nnoremap b :Buffers nnoremap h :Helptags nnoremap m :Maps nnoremap sn :Snippets "UltiSnips inoremap :Snippets nnoremap sne :UltiSnipsEdit "}}}