Sanchayan Maity
467a660409
Profiling with below nvim -c 'profile start vim.log' -c 'profile func *' -c 'q' shows that neomake adds to the start up time. Currently we only use it for two tasks. Running hlint for Haskell and stack build asynchronously. Use asyncdo and define a generic wrapper command for running makeprg asynchronously. This can be used for anything as long as makeprg is set correctly. vim-grepper also adds somewhat to the startup time though not much. We do not need the functionality of switching between grep tools. Here again just use asyncdo and define a generic command for running grepprg asynchronously. Drop QFGrep as we can use in built Cfilter plugin for filtering the quickfix list. Note that all start times mentioned above are a few milliseconds not even more than 5ms. However, we would like to be as fast as possible and use in built functions. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
127 lines
3.6 KiB
VimL
127 lines
3.6 KiB
VimL
call plug#begin('~/.config/nvim/plugged')
|
|
|
|
" Tab completion
|
|
Plug 'ervandew/supertab'
|
|
" Motions
|
|
Plug 'haya14busa/incsearch.vim'
|
|
Plug 'rhysd/clever-f.vim'
|
|
" Fuzzy search
|
|
Plug 'junegunn/fzf.vim'
|
|
" Remove extraneous whitespace when edit mode is exited
|
|
Plug 'axelf4/vim-strip-trailing-whitespace'
|
|
" Manage Project sessions
|
|
Plug 'thaerkh/vim-workspace'
|
|
" For autocompletion
|
|
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
|
|
Plug 'Shougo/neco-syntax'
|
|
Plug 'deoplete-plugins/deoplete-tag'
|
|
" For tmux
|
|
Plug 'tmux-plugins/vim-tmux-focus-events'
|
|
Plug 'wellle/tmux-complete.vim'
|
|
" Git support
|
|
Plug 'lambdalisue/gina.vim'
|
|
Plug 'airblade/vim-gitgutter'
|
|
Plug 'rhysd/git-messenger.vim'
|
|
Plug 'rhysd/conflict-marker.vim'
|
|
Plug 'whiteinge/diffconflicts'
|
|
Plug 'salcode/vim-interactive-rebase-reverse'
|
|
" Boost vim command line mode
|
|
Plug 'vim-utils/vim-husk'
|
|
" GDB
|
|
Plug 'sakhnik/nvim-gdb', { 'do': ':UpdateRemotePlugins' }
|
|
" Rainbow Parentheses
|
|
Plug 'luochen1990/rainbow'
|
|
" Formatting
|
|
Plug 'sbdchd/neoformat'
|
|
" Run things async
|
|
Plug 'hauleth/asyncdo.vim'
|
|
" Quickfix
|
|
Plug 'ronakg/quickr-cscope.vim'
|
|
Plug 'stefandtw/quickfix-reflector.vim'
|
|
Plug 'milkypostman/vim-togglelist'
|
|
Plug 'skywind3000/vim-quickui'
|
|
Plug 'yssl/QFEnter'
|
|
" Text Object plugins
|
|
Plug 'kana/vim-textobj-user'
|
|
Plug 'danidiaz/vim-textobj-do-block'
|
|
Plug 'michaeljsmith/vim-indent-object'
|
|
Plug 'wellle/targets.vim'
|
|
Plug 'tpope/vim-surround'
|
|
Plug 'junegunn/vim-easy-align'
|
|
Plug 'tommcdo/vim-exchange'
|
|
" Tim pope essentials
|
|
Plug 'tpope/vim-commentary'
|
|
Plug 'tpope/vim-repeat'
|
|
Plug 'tpope/vim-sleuth'
|
|
" Show indentation levels
|
|
Plug 'Yggdroot/indentLine'
|
|
" Floating terminal
|
|
Plug 'voldikss/vim-floaterm'
|
|
" Smooth scrolling
|
|
Plug 'psliwka/vim-smoothie'
|
|
" Directory viewer
|
|
Plug 'justinmk/vim-dirvish'
|
|
" Handle line & column jump specifications as found in stack traces
|
|
Plug 'wsdjeg/vim-fetch'
|
|
" Show leader key bindings
|
|
Plug 'liuchengxu/vim-which-key'
|
|
" Clipboard
|
|
Plug 'christoomey/vim-system-copy'
|
|
" Language support & syntax highlighting
|
|
" Haskell
|
|
Plug 'neovimhaskell/haskell-vim'
|
|
Plug 'Twinside/vim-haskellFold'
|
|
Plug 'Twinside/vim-hoogle', { 'for': 'haskell' }
|
|
Plug 'godlygeek/tabular', { 'for': 'haskell' }
|
|
Plug 'ndmitchell/ghcid', { 'rtp': 'plugins/nvim' }
|
|
" Rust
|
|
Plug 'rust-lang/rust.vim'
|
|
Plug 'sebastianmarkow/deoplete-rust', { 'for': 'rust' }
|
|
" Purescript
|
|
Plug 'purescript-contrib/purescript-vim'
|
|
Plug 'frigoeu/psc-ide-vim'
|
|
" Lisp
|
|
Plug 'wlangstroth/vim-racket'
|
|
Plug 'guns/vim-clojure-static'
|
|
Plug 'guns/vim-sexp', { 'for': [ 'racket', 'scheme', 'lisp', 'clojure' ] }
|
|
Plug 'tpope/vim-sexp-mappings-for-regular-people', { 'for': [ 'racket', 'scheme', 'lisp', 'clojure' ] }
|
|
" Erlang
|
|
Plug 'vim-erlang/vim-erlang-runtime', { 'for': 'erlang' }
|
|
Plug 'vim-erlang/vim-erlang-tags', { 'for': 'erlang' }
|
|
Plug 'vim-erlang/vim-erlang-omnicomplete', { 'for': 'erlang' }
|
|
Plug 'vim-erlang/vim-erlang-compiler', { 'for': 'erlang' }
|
|
" Python
|
|
Plug 'vim-python/python-syntax'
|
|
Plug 'deoplete-plugins/deoplete-jedi'
|
|
Plug 'davidhalter/jedi-vim', { 'for': 'python' }
|
|
" C/C++
|
|
Plug 'vim-jp/vim-cpp'
|
|
Plug 'octol/vim-cpp-enhanced-highlight'
|
|
" LaTeX
|
|
Plug 'lervag/vimtex'
|
|
" Dhall & nix
|
|
Plug 'vmchale/dhall-vim'
|
|
Plug 'LnL7/vim-nix'
|
|
" Other syntax highlighting support
|
|
Plug 'georgewitteman/vim-fish'
|
|
Plug 'elzr/vim-json'
|
|
Plug 'lifepillar/pgsql.vim'
|
|
Plug 'plasticboy/vim-markdown'
|
|
Plug 'mtdl9/vim-log-highlighting'
|
|
|
|
call plug#end()
|
|
|
|
let g:vim_home = get(g:, 'vim_home', expand('~/.config/nvim/'))
|
|
let config_list = [
|
|
\ 'autocmd.vim',
|
|
\ 'config.vim',
|
|
\ 'functions.vim',
|
|
\ 'keymappings.vim',
|
|
\ 'plugin_settings.vim',
|
|
\]
|
|
for files in config_list
|
|
for f in glob(g:vim_home.files, 1, 1)
|
|
exec 'source' f
|
|
endfor
|
|
endfor
|