1
0
mirror of https://github.com/aquatix/dotfiles.git synced 2025-12-06 21:45:10 +01:00

Moved to vim-plug, removed Vundle and other things managed by plug

This commit is contained in:
2020-01-03 15:28:32 +01:00
parent aa8f86fcd7
commit b527d0f0ae

141
.vimrc
View File

@@ -12,44 +12,46 @@ set encoding=utf-8
let mapleader="," let mapleader=","
" == Vundle manages the plugins ================================================ " == vim-plug manages the plugins ================================================
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim if empty(glob('~/.vim/autoload/plug.vim'))
call vundle#begin() silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
call plug#begin('~/.vim/plugged')
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
" == Window chrome ============================================================= " == Window chrome =============================================================
" Display tags of the current file ordered by scope " Display tags of the current file ordered by scope
" You need ctags: `sudo apt-get install exuberant-ctags` or " You need ctags: `sudo apt-get install exuberant-ctags` or
" `brew install ctags` for example " `brew install ctags` for example
Plugin 'majutsushi/tagbar' Plug 'majutsushi/tagbar'
nmap <F8> :TagbarToggle<CR> nmap <F8> :TagbarToggle<CR>
" Nice statusbar, alternative for powerline. Get powerline font for best " Nice statusbar, alternative for powerline. Get powerline font for best
" looking result " looking result
Plugin 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes' Plug 'vim-airline/vim-airline-themes'
let g:airline_theme = "hybrid" let g:airline_theme = "hybrid"
" Disable showing current function in airline " Disable showing current function in airline
let g:airline#extensions#tagbar#enabled = 0 let g:airline#extensions#tagbar#enabled = 0
" Better showing of open buffers (open files), integrates with airline " Better showing of open buffers (open files), integrates with airline
Plugin 'bling/vim-bufferline' Plug 'bling/vim-bufferline'
" Version control notes in the line number bar " Version control notes in the line number bar
if has('nvim') || has('patch-8.0.902') if has('nvim') || has('patch-8.0.902')
Plugin 'mhinz/vim-signify' Plug 'mhinz/vim-signify'
else else
Plugin 'mhinz/vim-signify', { 'branch': 'legacy' } Plug 'mhinz/vim-signify', { 'branch': 'legacy' }
endif endif
" default updatetime 4000ms is not good for async update " default updatetime 4000ms is not good for async update
set updatetime=100 set updatetime=100
" Git wrapper " Git wrapper
Plugin 'tpope/vim-fugitive' Plug 'tpope/vim-fugitive'
" fugitive git bindings " fugitive git bindings
" borrowed from https://www.reddit.com/r/vim/comments/21f4gm/best_workflow_when_using_fugitive/ " borrowed from https://www.reddit.com/r/vim/comments/21f4gm/best_workflow_when_using_fugitive/
nnoremap <space>ga :Git add %:p<CR><CR> nnoremap <space>ga :Git add %:p<CR><CR>
@@ -71,19 +73,19 @@ nnoremap <space>gpl :Dispatch! git pull<CR>
" Think of sensible.vim as one step above 'nocompatible' mode: a universal " Think of sensible.vim as one step above 'nocompatible' mode: a universal
" set of defaults that (hopefully) everyone can agree on. " set of defaults that (hopefully) everyone can agree on.
Plugin 'tpope/vim-sensible' Plug 'tpope/vim-sensible'
" Nice colour scheme " Nice colour scheme
Plugin 'kristijanhusak/vim-hybrid-material' Plug 'kristijanhusak/vim-hybrid-material'
" Quick file system tree, mapped to Ctrl+n for quick toggle " Quick file system tree, mapped to Ctrl+n for quick toggle
Plugin 'scrooloose/nerdtree' Plug 'scrooloose/nerdtree'
Plugin 'Xuyuanp/nerdtree-git-plugin' Plug 'Xuyuanp/nerdtree-git-plugin'
map <C-n> :NERDTreeToggle<CR> map <C-n> :NERDTreeToggle<CR>
let NERDTreeIgnore = ['\.pyc$', 'tags'] let NERDTreeIgnore = ['\.pyc$', 'tags']
" close vim if the only window left open is a NERDTree " close vim if the only window left open is a NERDTree
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif
Plugin 'tiagofumo/vim-nerdtree-syntax-highlight' Plug 'tiagofumo/vim-nerdtree-syntax-highlight'
if has('patch-8.0-1364') if has('patch-8.0-1364')
@@ -93,20 +95,20 @@ if has('patch-8.0-1364')
" <c-w>gj: soft move down " <c-w>gj: soft move down
" <c-w>gk: soft move up " <c-w>gk: soft move up
" <c-w>gl: soft move right " <c-w>gl: soft move right
Plugin 'andymass/vim-tradewinds' Plug 'andymass/vim-tradewinds'
endif endif
" Rooter changes the working directory to the project root when you open a " Rooter changes the working directory to the project root when you open a
" file or directory. Useful when using fzf for example. " file or directory. Useful when using fzf for example.
Plugin 'airblade/vim-rooter' Plug 'airblade/vim-rooter'
" Do not echo the project directory " Do not echo the project directory
let g:rooter_silent_chdir = 1 let g:rooter_silent_chdir = 1
" Full path fuzzy file, buffer, mru, tag, ... finder " Full path fuzzy file, buffer, mru, tag, ... finder
" Quickly open files, fuzzy search on name " Quickly open files, fuzzy search on name
Plugin 'ctrlpvim/ctrlp.vim' Plug 'ctrlpvim/ctrlp.vim'
let g:ctrlp_map = '<c-p>' let g:ctrlp_map = '<c-p>'
" Search in Files, Buffers and MRU files at the same time: " Search in Files, Buffers and MRU files at the same time:
let g:ctrlp_cmd = 'CtrlPMixed' let g:ctrlp_cmd = 'CtrlPMixed'
@@ -120,7 +122,7 @@ let g:ctrlp_switch_buffer = 0
" Run your favorite search tool from Vim, with an enhanced results list. " Run your favorite search tool from Vim, with an enhanced results list.
" Supports Silver Searcher `ag`. Use with: " Supports Silver Searcher `ag`. Use with:
" :Ack [options] {pattern} [{directories}] " :Ack [options] {pattern} [{directories}]
Plugin 'mileszs/ack.vim' Plug 'mileszs/ack.vim'
" apt install silversearcher-ag " apt install silversearcher-ag
if executable('ag') if executable('ag')
"let g:ackprg = 'ag --nogroup --nocolor --column' "let g:ackprg = 'ag --nogroup --nocolor --column'
@@ -135,7 +137,7 @@ endif
" fzf integration for fast fuzzy finding, better and faster than ctrl-p " fzf integration for fast fuzzy finding, better and faster than ctrl-p
set rtp+=~/workspace/projects/others/fzf set rtp+=~/workspace/projects/others/fzf
set rtp+=/data/data/com.termux/files/usr/bin/fzf set rtp+=/data/data/com.termux/files/usr/bin/fzf
Plugin 'junegunn/fzf.vim' Plug 'junegunn/fzf.vim'
" Customize fzf colors to match your color scheme " Customize fzf colors to match your color scheme
let g:fzf_colors = let g:fzf_colors =
@@ -189,13 +191,13 @@ nnoremap <silent> ]f :lnext<CR>
" Web Development/Filetype icons " Web Development/Filetype icons
" Needs a font like found at " Needs a font like found at
" https://github.com/ryanoasis/nerd-fonts " https://github.com/ryanoasis/nerd-fonts
Plugin 'ryanoasis/vim-devicons' Plug 'ryanoasis/vim-devicons'
" Set guifont when using gvim: " Set guifont when using gvim:
"set guifont=Droid\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types\ 11 "set guifont=Droid\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types\ 11
" "
" undotree.vim : Display your undo history in a graph. " undotree.vim : Display your undo history in a graph.
Plugin 'mbbill/undotree' Plug 'mbbill/undotree'
nnoremap <Leader>u :UndotreeToggle<CR> nnoremap <Leader>u :UndotreeToggle<CR>
let g:undotree_SetFocusWhenToggle=1 " if undotree is opened, it is likely one let g:undotree_SetFocusWhenToggle=1 " if undotree is opened, it is likely one
" wants to interact with it. " wants to interact with it.
@@ -205,25 +207,25 @@ let g:undotree_SetFocusWhenToggle=1 " if undotree is opened, it is likely one
" transparent editing of gpg encrypted files. The filename must have a .gpg, " transparent editing of gpg encrypted files. The filename must have a .gpg,
" .pgp or .asc suffix. " .pgp or .asc suffix.
Plugin 'jamessan/vim-gnupg' Plug 'jamessan/vim-gnupg'
" tcomment provides easy to use, file-type sensible comments for Vim. It " tcomment provides easy to use, file-type sensible comments for Vim. It
" can handle embedded syntax. " can handle embedded syntax.
Plugin 'tomtom/tcomment_vim' Plug 'tomtom/tcomment_vim'
" Typescript syntax file and more " Typescript syntax file and more
Plugin 'leafgarland/typescript-vim' Plug 'leafgarland/typescript-vim'
autocmd BufNewFile,BufRead *.ts setlocal filetype=typescript autocmd BufNewFile,BufRead *.ts setlocal filetype=typescript
" handling column separated data (csv) " handling column separated data (csv)
Plugin 'chrisbra/csv.vim' Plug 'chrisbra/csv.vim'
autocmd BufNewFile,BufRead *.csv setlocal filetype=csv autocmd BufNewFile,BufRead *.csv setlocal filetype=csv
" .tmux.conf highlighting, help- and command integration " .tmux.conf highlighting, help- and command integration
Plugin 'tmux-plugins/vim-tmux' Plug 'tmux-plugins/vim-tmux'
" Automatically insert matching close bracket where it belongs " Automatically insert matching close bracket where it belongs
"Plugin 'seletskiy/vim-autosurround' "Plug 'seletskiy/vim-autosurround'
"inoremap ( (<C-O>:call AutoSurround(")")<CR> "inoremap ( (<C-O>:call AutoSurround(")")<CR>
" Spell Check (http://vim.wikia.com/wiki/Toggle_spellcheck_with_function_keys) " Spell Check (http://vim.wikia.com/wiki/Toggle_spellcheck_with_function_keys)
@@ -273,13 +275,13 @@ map <F9> :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<
" Show indentation marks, enables conceallevel 2, so for example hides quotes " Show indentation marks, enables conceallevel 2, so for example hides quotes
" in json files " in json files
Plugin 'Yggdroot/indentLine' Plug 'Yggdroot/indentLine'
let g:indentLine_char = '┊' let g:indentLine_char = '┊'
"let g:indentLine_setConceal = 0 "let g:indentLine_setConceal = 0
let g:indentLine_conceallevel = 1 let g:indentLine_conceallevel = 1
" Colour-match brackets " Colour-match brackets
Plugin 'luochen1990/rainbow' Plug 'luochen1990/rainbow'
let g:rainbow_active = 1 "set to 0 if you want to enable it later via :RainbowToggle let g:rainbow_active = 1 "set to 0 if you want to enable it later via :RainbowToggle
" Do not use rainbow parentheses in these file types: " Do not use rainbow parentheses in these file types:
let g:rainbow_conf = { let g:rainbow_conf = {
@@ -289,13 +291,13 @@ let g:rainbow_conf = {
\} \}
" Python goodness " Python goodness
"Plugin 'klen/python-mode' Plug 'python-mode/python-mode', {'for': 'python', 'branch': 'develop'}
" Python autocompletion " Python autocompletion
" On a machine with a Python3-only vim, use system packages like: " On a machine with a Python3-only vim, use system packages like:
" python-jedi python3-jedi to keep jedi working for Python 2 and 3. " python-jedi python3-jedi to keep jedi working for Python 2 and 3.
" Also, vim-nox-py2 might be needed " Also, vim-nox-py2 might be needed
Plugin 'davidhalter/jedi-vim' Plug 'davidhalter/jedi-vim'
"let g:jedi#force_py_version = 2 "let g:jedi#force_py_version = 2
" Even though in termux, ycm now compiles, one might want to not load it there " Even though in termux, ycm now compiles, one might want to not load it there
@@ -307,7 +309,7 @@ if !filereadable(skip_ycm) " Only load YouCompleteMe if ~/.dot_no_ycm does not
" sudo apt-get install python-dev " sudo apt-get install python-dev
" cd ~/.vim/bundle/YouCompleteMe " cd ~/.vim/bundle/YouCompleteMe
" ./install.py # For C-style languages: ./install.py --clang-completer " ./install.py # For C-style languages: ./install.py --clang-completer
Plugin 'ycm-core/YouCompleteMe' Plug 'ycm-core/YouCompleteMe'
" YouCompleteMe interpreter version (should be the same as what YCM was " YouCompleteMe interpreter version (should be the same as what YCM was
" compiled with): " compiled with):
if filereadable('/data/data/com.termux/files/usr/bin/python3') if filereadable('/data/data/com.termux/files/usr/bin/python3')
@@ -323,24 +325,24 @@ endif
if filereadable(skip_ycm) " Only load if YouCompleteMe is not loaded if filereadable(skip_ycm) " Only load if YouCompleteMe is not loaded
if has('nvim') if has('nvim')
Plugin 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
else else
Plugin 'Shougo/deoplete.nvim' Plug 'Shougo/deoplete.nvim'
Plugin 'roxma/nvim-yarp' Plug 'roxma/nvim-yarp'
Plugin 'roxma/vim-hug-neovim-rpc' Plug 'roxma/vim-hug-neovim-rpc'
endif endif
" deoplete language plugins " deoplete language plugins
" https://github.com/Shougo/deoplete.nvim/wiki/Completion-Sources " https://github.com/Shougo/deoplete.nvim/wiki/Completion-Sources
" python: " python:
Plugin 'zchee/deoplete-jedi' Plug 'zchee/deoplete-jedi'
" Many, based on syntax files " Many, based on syntax files
Plugin 'Shougo/neco-syntax' Plug 'Shougo/neco-syntax'
" Flow autocompletion for deoplete " Flow autocompletion for deoplete
Plugin 'wokalski/autocomplete-flow' Plug 'wokalski/autocomplete-flow'
" You will also need the following for function argument completion: " You will also need the following for function argument completion:
Plugin 'Shougo/neosnippet' Plug 'Shougo/neosnippet'
Plugin 'Shougo/neosnippet-snippets' Plug 'Shougo/neosnippet-snippets'
let g:deoplete#enable_at_startup = 1 let g:deoplete#enable_at_startup = 1
@@ -357,12 +359,12 @@ endif
" Improved Django handling " Improved Django handling
Plugin 'tweekmonster/django-plus.vim' Plug 'tweekmonster/django-plus.vim'
" Code checker. For python, install flake8 or pylint, preferably in the " Code checker. For python, install flake8 or pylint, preferably in the
" virtualenv. For Django support, install pylint-django " virtualenv. For Django support, install pylint-django
Plugin 'dense-analysis/ale' Plug 'dense-analysis/ale'
nmap <leader>= <Plug>(ale_fix) nmap <leader>= <Plug>(ale_fix)
" Quickly open the loclist to see syntax errors " Quickly open the loclist to see syntax errors
nmap <leader>; :lopen<CR> nmap <leader>; :lopen<CR>
@@ -392,32 +394,32 @@ let g:vim_markdown_folding_disabled = 1
set nofoldenable set nofoldenable
let g:vim_markdown_conceal = 0 let g:vim_markdown_conceal = 0
let g:vim_markdown_conceal_code_blocks = 0 let g:vim_markdown_conceal_code_blocks = 0
Plugin 'godlygeek/tabular' Plug 'godlygeek/tabular'
Plugin 'plasticboy/vim-markdown' Plug 'plasticboy/vim-markdown'
" Use filetype name as fenced code block languages for syntax highlighting " Use filetype name as fenced code block languages for syntax highlighting
let g:vim_markdown_fenced_languages = ['c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini', 'python=python'] let g:vim_markdown_fenced_languages = ['c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini', 'python=python']
if v:version >= 704 if v:version >= 704
" Pandoc, for stuff like autocompletion of citations from bibtex, other LaTeX " Pandoc, for stuff like autocompletion of citations from bibtex, other LaTeX
" stuff. Works with vim >= 7.4 " stuff. Works with vim >= 7.4
Plugin 'vim-pandoc/vim-pandoc' Plug 'vim-pandoc/vim-pandoc'
endif endif
" == Writing prose ============================================================= " == Writing prose =============================================================
" Distraction-free writing, start with <Leader>V (\V or ,V in this config) " Distraction-free writing, start with <Leader>V (\V or ,V in this config)
Plugin 'junegunn/goyo.vim' Plug 'junegunn/goyo.vim'
let g:goyo_width = 120 let g:goyo_width = 120
" Help focus on text by dimming other parts a bit " Help focus on text by dimming other parts a bit
Plugin 'junegunn/limelight.vim' Plug 'junegunn/limelight.vim'
let g:limelight_conceal_ctermfg = 'Grey69' let g:limelight_conceal_ctermfg = 'Grey69'
let g:limelight_conceal_ctermfg = 145 let g:limelight_conceal_ctermfg = 145
" Helps with writing prose (better line breaks, agnostic on soft line wraps vs " Helps with writing prose (better line breaks, agnostic on soft line wraps vs
" hard line breaks etc) " hard line breaks etc)
Plugin 'reedes/vim-pencil' Plug 'reedes/vim-pencil'
" Disable automatic formatting, as this automatically merges lines devided by " Disable automatic formatting, as this automatically merges lines devided by
" 1 hard enter only, which can be annoying " 1 hard enter only, which can be annoying
let g:pencil#autoformat = 0 let g:pencil#autoformat = 0
@@ -432,56 +434,53 @@ nmap <leader>V :Goyo <bar> :Limelight!! <bar> :TogglePencil <CR>
" The NERD Commenter: A plugin that allows for easy commenting of code for " The NERD Commenter: A plugin that allows for easy commenting of code for
" many filetypes. " many filetypes.
Plugin 'scrooloose/nerdcommenter' Plug 'scrooloose/nerdcommenter'
" Highlight colours in CSS (and html) files " Highlight colours in CSS (and html) files
Plugin 'ap/vim-css-color' Plug 'ap/vim-css-color'
" Highlight colours in fish shell files " Highlight colours in fish shell files
Plugin 'dag/vim-fish' Plug 'dag/vim-fish'
" Highlight colours in jade/pug templates " Highlight colours in jade/pug templates
Plugin 'digitaltoad/vim-pug' Plug 'digitaltoad/vim-pug'
" Highlight nginx " Highlight nginx
Plugin 'chr4/nginx.vim' Plug 'chr4/nginx.vim'
" Highlight jinja templates (e.g., .j2 files) and do proper indenting " Highlight jinja templates (e.g., .j2 files) and do proper indenting
Plugin 'Glench/Vim-Jinja2-Syntax' Plug 'Glench/Vim-Jinja2-Syntax'
au BufNewFile,BufRead *.j2,*.jinja2 set ft=jinja au BufNewFile,BufRead *.j2,*.jinja2 set ft=jinja
" Highlight special comments better " Highlight special comments better
"Plugin 'jbgutierrez/vim-better-comments' "Plug 'jbgutierrez/vim-better-comments'
" CSV filetype plugin " CSV filetype plugin
"Plugin 'chrisbra/csv.vim' " apparently doesn't work this way ;) "Plug 'chrisbra/csv.vim' " apparently doesn't work this way ;)
" Automatic generation of tags file (ctags), in a central place (~/.vimtags) " Automatic generation of tags file (ctags), in a central place (~/.vimtags)
"Plugin 'xolox/vim-misc' "Plug 'xolox/vim-misc'
"Plugin 'xolox/vim-easytags' "Plug 'xolox/vim-easytags'
" easytags highlighting is slow " easytags highlighting is slow
"let g:easytags_auto_highlight = 0 "let g:easytags_auto_highlight = 0
" Automatic generation of tags file (ctags: Exhuberant Ctags) " Automatic generation of tags file (ctags: Exhuberant Ctags)
Plugin 'ludovicchabant/vim-gutentags' Plug 'ludovicchabant/vim-gutentags'
" know when Gutentags is generating tags (prints 'TAGS' in status-line) " know when Gutentags is generating tags (prints 'TAGS' in status-line)
set statusline+=%{gutentags#statusline()} set statusline+=%{gutentags#statusline()}
let g:gutentags_ctags_exclude = ["*.min.*", "build", ".bundle", ".git", "log", "node_modules", "tmp", "vendor", "*.vim/bundle/*"] let g:gutentags_ctags_exclude = ["*.min.*", "build", ".bundle", ".git", "log", "node_modules", "tmp", "vendor", "*.vim/bundle/*"]
"let g:gutentags_trace = 1 "let g:gutentags_trace = 1
" All of your Plugins must be added before the following line " All of the plugins must be added before the following line
call vundle#end() " required call plug#end()
filetype plugin indent on " required
" == End of plugins ============================================================ " == End of plugins ============================================================
"filetype plugin on " Enable line numbers, highlighting of current line by default; syntax
" highlighting is enabled by vim-plug
" Enable line numbers, highlighting of current line and syntax highlighting by default
set number set number
set cursorline set cursorline
syntax on
if has('patch-7.4-338') if has('patch-7.4-338')
" automatically indents wrapped lines up to the previous line. You can also " automatically indents wrapped lines up to the previous line. You can also