Merge branch 'vundle-to-vimplug'
This commit is contained in:
commit
02dac2ffab
1 changed files with 112 additions and 44 deletions
156
dotfiles/.vimrc
156
dotfiles/.vimrc
|
|
@ -1,7 +1,10 @@
|
|||
set encoding=utf-8
|
||||
|
||||
|
||||
"vim-plug installation
|
||||
set nocompatible " be iMproved, required
|
||||
|
||||
|
||||
"vim-plug installation (auto installs on new machines)
|
||||
|
||||
if empty(glob('~/.vim/autoload/plug.vim'))
|
||||
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
|
||||
|
|
@ -10,36 +13,89 @@ if empty(glob('~/.vim/autoload/plug.vim'))
|
|||
endif
|
||||
|
||||
|
||||
set nocompatible " be iMproved, required
|
||||
|
||||
call plug#begin('~/.vim/bundle')
|
||||
|
||||
|
||||
" Add git changes to fron of the line
|
||||
Plug 'airblade/vim-gitgutter'
|
||||
|
||||
" Java autocomplete
|
||||
Plug 'artur-shaik/vim-javacomplete2'
|
||||
|
||||
" Generates a lift of todo comments
|
||||
Plug 'chauncey-garrett/vim-tasklist'
|
||||
<<<<<<< HEAD
|
||||
Plug 'Yggdroot/indentLine'
|
||||
Plug 'preservim/nerdcommenter'
|
||||
=======
|
||||
|
||||
" Fuzzy file finder
|
||||
>>>>>>> vundle-to-vimplug
|
||||
Plug 'ctrlpvim/ctrlp.vim'
|
||||
|
||||
" I need thsi for python
|
||||
Plug 'davidhalter/jedi-vim'
|
||||
|
||||
" Linter and analyse tool
|
||||
Plug 'dense-analysis/ale'
|
||||
|
||||
" Forces <Tab> to do what I want (autocomplete etc.)
|
||||
Plug 'ervandew/supertab'
|
||||
|
||||
" Adds the closing equivalent of everything that opens: ""[]()....
|
||||
Plug 'jiangmiao/auto-pairs'
|
||||
|
||||
" Git commit browser
|
||||
Plug 'junegunn/gv.vim'
|
||||
|
||||
" When pressing " or @, it shows a popup with the register content.
|
||||
Plug 'junegunn/vim-peekaboo'
|
||||
|
||||
" The package manager itself.
|
||||
Plug 'junegunn/vim-plug'
|
||||
|
||||
" Add swift support
|
||||
Plug 'keith/swift.vim'
|
||||
|
||||
" Latex, I guess? Have to check if I actually need this.
|
||||
Plug 'LaTeX-Box-Team/LaTeX-Box'
|
||||
|
||||
" I use it as my snippet manager, but it is actually for HTML.
|
||||
Plug 'mattn/emmet-vim'
|
||||
|
||||
" Necessary to use my emmet json snippet file
|
||||
Plug 'mattn/webapi-vim'
|
||||
|
||||
" vue support
|
||||
Plug 'posva/vim-vue'
|
||||
|
||||
" Makes (un)commenting out stuff much easier.
|
||||
Plug 'preservim/nerdcommenter'
|
||||
|
||||
" My light theme.
|
||||
Plug 'NLKNguyen/papercolor-theme'
|
||||
|
||||
" File browser
|
||||
Plug 'scrooloose/nerdtree'
|
||||
|
||||
" Language pack for most languages I use.
|
||||
Plug 'sheerun/vim-polyglot'
|
||||
|
||||
" Git support for vim
|
||||
Plug 'tpope/vim-fugitive'
|
||||
|
||||
" Change surrounding stuff fast and reliable
|
||||
Plug 'tpope/vim-surround'
|
||||
|
||||
" Status line for the bottom of the screen (and a themes pack)
|
||||
Plug 'vim-airline/vim-airline'
|
||||
Plug 'vim-airline/vim-airline-themes'
|
||||
<<<<<<< HEAD
|
||||
" Plug 'Yilin-Yang/vim-markbar' "Does not work that good, seems too buggy atm
|
||||
=======
|
||||
|
||||
" Shows vertical lines to make indents more visible
|
||||
Plug 'Yggdroot/indentLine'
|
||||
>>>>>>> vundle-to-vimplug
|
||||
|
||||
call plug#end()
|
||||
|
||||
|
|
@ -109,8 +165,8 @@ augroup END
|
|||
" Softtabs, 4 spaces
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
set shiftround
|
||||
set expandtab
|
||||
set shiftround " Tabs are rounded to multiples of shiftwidth
|
||||
set expandtab " Tabs are spaces
|
||||
|
||||
" Display extra whitespace
|
||||
set list listchars=tab:»·,trail:·,nbsp:·
|
||||
|
|
@ -118,14 +174,10 @@ set list listchars=tab:»·,trail:·,nbsp:·
|
|||
" Use one space, not two, after punctuation.
|
||||
set nojoinspaces
|
||||
|
||||
" Use The Silver Searcher https://github.com/ggreer/the_silver_searcher
|
||||
"if executable('ag')
|
||||
" " Use Ag over Grep
|
||||
" set grepprg=ag\ --nogroup\ --nocolor
|
||||
|
||||
" " Use ag in fzf for listing files. Lightning fast and respects .gitignore
|
||||
" let $FZF_DEFAULT_COMMAND = 'ag --literal --files-with-matches --nocolor --hidden -g ""'
|
||||
" Make it obvious where 80 characters is (Python only)
|
||||
autocmd FileType python setlocal colorcolumn=81
|
||||
|
||||
<<<<<<< HEAD
|
||||
" if !exists(":Ag")
|
||||
" command -nargs=+ -complete=file -bar Ag silent! grep! <args>|cwindow|redraw!
|
||||
" nnoremap \ :Ag<SPACE>
|
||||
|
|
@ -134,11 +186,22 @@ set nojoinspaces
|
|||
|
||||
" Make it obvious where 80 characters is
|
||||
" autocmd FileType python setlocal textwidth=80 colorcolumn=+1
|
||||
=======
|
||||
" Highlight "self." in different color in python files:
|
||||
augroup python_syntax_extra
|
||||
autocmd!
|
||||
autocmd! Syntax python :syn keyword Keyword self
|
||||
augroup END
|
||||
>>>>>>> vundle-to-vimplug
|
||||
|
||||
" Numbers
|
||||
" Line numbers with the width of 5 digits
|
||||
set number
|
||||
set numberwidth=5
|
||||
|
||||
" Relative line numbers, but real line number for current line
|
||||
set number relativenumber
|
||||
set nu rnu
|
||||
|
||||
" Autocomplete menu for command mode
|
||||
set wildmenu
|
||||
set wildmode=longest:full,full
|
||||
|
|
@ -159,15 +222,6 @@ set complete+=kspell
|
|||
"Autocompletion syntax:
|
||||
set omnifunc=syntaxcomplete#Complete
|
||||
|
||||
" Local config
|
||||
if filereadable($HOME . "/.vimrc.local")
|
||||
source ~/.vimrc.local
|
||||
endif
|
||||
|
||||
" Relative line numbers, but real line number for current line
|
||||
set number relativenumber
|
||||
set nu rnu
|
||||
|
||||
" Keep 8 rows above and below the kk
|
||||
set scrolloff=8
|
||||
|
||||
|
|
@ -175,6 +229,10 @@ set scrolloff=8
|
|||
nnoremap j gj
|
||||
nnoremap k gk
|
||||
|
||||
" Use e and E to jump to start or end of a line.
|
||||
nnoremap e ^
|
||||
nnoremap E $
|
||||
|
||||
" Do not cut words when breaking lines.
|
||||
set linebreak
|
||||
|
||||
|
|
@ -183,8 +241,15 @@ set ignorecase
|
|||
set smartcase
|
||||
set hlsearch
|
||||
|
||||
<<<<<<< HEAD
|
||||
" Search replace bind:
|
||||
|
||||
=======
|
||||
" Stop highlighting search results.
|
||||
nnoremap <leader><space> :nohlsearch<CR>
|
||||
|
||||
" Search replace bind:
|
||||
>>>>>>> vundle-to-vimplug
|
||||
nnoremap S :%s//g<Left><Left>
|
||||
|
||||
" Strip trailing whitespaces on each save
|
||||
|
|
@ -197,27 +262,17 @@ endfun
|
|||
autocmd BufWritePre * :call <SID>StripTrailingWhitespaces()
|
||||
|
||||
" Indent and unindent with tab.
|
||||
|
||||
nnoremap <Tab> >>_
|
||||
nnoremap <S-Tab> <<_
|
||||
inoremap <S-Tab> <C-D>
|
||||
vnoremap <Tab> >gv
|
||||
vnoremap <S-Tab> <gv
|
||||
|
||||
" Fuzzy file search by default:
|
||||
set path+=**
|
||||
|
||||
"Python paths (installed with "pip3 install <package> --user)
|
||||
"let $PATH.=':' . $HOME . '/Library/Python/3.7/'
|
||||
|
||||
" Remap buffer navigation:
|
||||
map gn :bn<cr>
|
||||
map gN :bp<cr>
|
||||
map gp :bp<cr>
|
||||
|
||||
" indent for curly brackets:
|
||||
"inoremap {<cr> {<cr>}<c-o><s-o>
|
||||
|
||||
" Toggle through splits:
|
||||
nnoremap <leader>w <C-w>w
|
||||
nnoremap <leader>W <C-w>W
|
||||
|
|
@ -227,20 +282,16 @@ let g:user_emmet_leader_key=','
|
|||
let g:user_emmet_settings = webapi#json#decode(join(readfile(expand('~/.vim/customizations/vim-emmet-mysnippets.json')), "\n"))
|
||||
|
||||
" jedi-vim:
|
||||
|
||||
let g:jedi#popup_on_dot = 0
|
||||
|
||||
let g:jedi#popup_on_dot = 1
|
||||
|
||||
" Peekaboo window width
|
||||
let g:peekaboo_window = 'vert bo 65new'
|
||||
|
||||
|
||||
" javacomplete2
|
||||
autocmd FileType java setlocal omnifunc=javacomplete#Complete
|
||||
|
||||
|
||||
" tasklist settings
|
||||
let g:tlTokenList = ["FIXME", "TODO", "todo"]
|
||||
let g:tlTokenList = ["FIXME", "TODO", "todo"] " keywords for todos
|
||||
let g:tlWindowPosition = 1 "Open window on bottom, 0 would be top
|
||||
let g:tlRememberPosition = 0
|
||||
map <leader>t <Plug>TaskList
|
||||
|
|
@ -252,16 +303,14 @@ map <C-n> :NERDTreeToggle<CR>
|
|||
let g:airline#extensions#tabline#enabled = 1 " Show buffers as tabs
|
||||
|
||||
" ale settings
|
||||
|
||||
|
||||
let g:ale_linters = {'python': ['flake8', 'mypy', 'pylint', 'prospector']}
|
||||
|
||||
let g:ale_fixers = {'python': ['isort', 'black'],
|
||||
\'json': ['fixjson'],
|
||||
\'java': ['uncrustify'],
|
||||
\'tex': ['latexindent']}
|
||||
|
||||
|
||||
<<<<<<< HEAD
|
||||
" Install the linter and fixer for a specific language automatically
|
||||
|
||||
"todo Find better solution to do this
|
||||
|
|
@ -270,11 +319,18 @@ let g:ale_fixers = {'python': ['isort', 'black'],
|
|||
|
||||
" colorscheme toggle:
|
||||
|
||||
=======
|
||||
" colorscheme toggle dark/light:
|
||||
>>>>>>> vundle-to-vimplug
|
||||
function! s:SwitchColorscheme()
|
||||
if g:colors_name == 'darcula'
|
||||
colorscheme default
|
||||
set background=light
|
||||
colorscheme PaperColor
|
||||
AirlineTheme papercolor
|
||||
else
|
||||
colorscheme darcula
|
||||
set background=dark
|
||||
AirlineTheme dark
|
||||
endif
|
||||
endfunction
|
||||
map <silent> <F4> :call <SID>SwitchColorscheme()<CR>
|
||||
|
|
@ -282,7 +338,6 @@ map <silent> <F4> :call <SID>SwitchColorscheme()<CR>
|
|||
colorscheme darcula
|
||||
|
||||
" Highlight whole todo comment, not just the keyword itself:
|
||||
|
||||
augroup myTodo
|
||||
autocmd!
|
||||
autocmd Syntax * syntax match myTodo /\v\_.<(TODO|FIXME|todo|fixme).*/hs=s+1 containedin=.*Comment
|
||||
|
|
@ -310,7 +365,10 @@ set autoread
|
|||
" helptags ~/.vim/doc
|
||||
"endif
|
||||
|
||||
<<<<<<< HEAD
|
||||
|
||||
=======
|
||||
>>>>>>> vundle-to-vimplug
|
||||
" Use persistent history. (so undo from older sessions can be used)
|
||||
if !isdirectory("$HOME/.vim/.vim-undo-dir")
|
||||
silent !mkdir -p $HOME/.vim/.vim-undo-dir
|
||||
|
|
@ -320,3 +378,13 @@ set undofile
|
|||
|
||||
" Set the character which is used as tab indent marker
|
||||
let g:indentLine_char = '┊'
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
|
||||
" Load local config if there is one
|
||||
if filereadable($HOME . "/.vimrc.local")
|
||||
source ~/.vimrc.local
|
||||
endif
|
||||
|
||||
|
||||
>>>>>>> vundle-to-vimplug
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue