dotfiles/nvim/.config/nvim/init.vim
Sanchayan Maity d8fc9facec nvim/git: Use vimdiff as merge tool & drop DiffConflicts
The conflict markers plugin is what we have been using all the time and
is useful even without resorting to merge tool. Drop the DiffConflicts
plugin and use vimdiff as the merge tool if at all we need to resort to
a full 3 way merge view.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-09-17 10:48:11 +05:30

110 lines
3 KiB
VimL

call plug#begin('~/.config/nvim/plugged')
" Vertical Motion
Plug 'justinmk/vim-sneak'
" Search
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
Plug 'PeterRincker/vim-searchlight'
Plug 'wincent/ferret'
Plug 'lambdalisue/reword.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 'nvim-lua/completion-nvim'
Plug 'steelsojka/completion-buffers'
" For tmux
Plug 'tmux-plugins/vim-tmux-focus-events'
" Git support
Plug 'rhysd/git-messenger.vim'
Plug 'tpope/vim-fugitive'
Plug 'airblade/vim-gitgutter'
Plug 'rhysd/conflict-marker.vim'
Plug 'salcode/vim-interactive-rebase-reverse'
Plug 'stsewd/fzf-checkout.vim'
" Boost vim command line mode
Plug 'vim-utils/vim-husk'
" Rainbow Parentheses
Plug 'luochen1990/rainbow'
" Formatting
Plug 'sbdchd/neoformat'
" Run things async
Plug 'hauleth/asyncdo.vim'
" Quickfix
Plug 'ronakg/quickr-cscope.vim'
Plug 'milkypostman/vim-togglelist'
Plug 'yssl/QFEnter'
" Text Object plugins
Plug 'wellle/targets.vim'
Plug 'tpope/vim-surround'
Plug 'coderifous/textobj-word-column.vim'
Plug 'tommcdo/vim-exchange'
Plug 'chaoren/vim-wordmotion'
" Tim pope essentials
Plug 'tpope/vim-commentary'
Plug 'tpope/vim-repeat'
Plug 'tpope/vim-sleuth'
" Show indentation levels
Plug 'Yggdroot/indentLine'
" 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'
" Toggle terminal
Plug 'voldikss/vim-floaterm'
" Take care of sudo
Plug 'lambdalisue/suda.vim'
" LSP
Plug 'neovim/nvim-lspconfig'
Plug 'nvim-lua/diagnostic-nvim'
Plug 'nvim-lua/lsp-status.nvim'
" Language support & syntax highlighting
" Haskell
Plug 'neovimhaskell/haskell-vim'
Plug 'Twinside/vim-hoogle', { 'for': 'haskell' }
Plug 'godlygeek/tabular', { 'for': 'haskell' }
Plug 'ndmitchell/ghcid', { 'rtp': 'plugins/nvim' }
" For C, Lua and Rust
Plug 'nvim-treesitter/nvim-treesitter'
" Purescript
Plug 'purescript-contrib/purescript-vim'
" 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' }
" 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 'mtdl9/vim-log-highlighting'
Plug 'martinda/Jenkinsfile-vim-syntax'
call plug#end()
let g:vim_home = get(g:, 'vim_home', expand('~/.config/nvim/'))
let config_list = [
\ 'autocmd.vim',
\ 'config.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