]> git.rmz.io Git - dotfiles.git/blobdiff - vim/vimrc
weechat: add missing typing.conf
[dotfiles.git] / vim / vimrc
index b7188f1b5c58152436d0d6e3e296ddf542b6d3bc..245fbf1f19716977a132a79516837eadc4291879 100644 (file)
--- a/vim/vimrc
+++ b/vim/vimrc
@@ -62,7 +62,21 @@ Plug 'vim-scripts/yankring.vim'
 Plug 'wincent/loupe'
 
 " colorschemes
 Plug 'wincent/loupe'
 
 " colorschemes
-Plug 'morhetz/gruvbox'
+Plug 'morhetz/gruvbox' " {{{2
+let g:gruvbox_contrast_dark  = 'hard'
+let g:gruvbox_contrast_light = 'soft'
+
+Plug 'arcticicestudio/nord-vim' " {{{2
+let g:nord_bold = 1
+let g:nord_italic = 1
+let g:nord_italic_comments = 1
+let g:nord_underline = 1
+let g:nord_uniform_status_lines = 0
+let g:nord_uniform_diff_background = 0
+let g:nord_cursor_line_number_background = 0
+let g:nord_bold_vertical_split_line = 0
+
+"}}}
 
 " snippets
 Plug 'sirver/ultisnips'
 
 " snippets
 Plug 'sirver/ultisnips'
@@ -76,8 +90,6 @@ Plug 'kana/vim-operator-user'
 
 " staging
 " Check LucHermites plugins: https://github.com/LucHermitte/lh-cpp
 
 " staging
 " Check LucHermites plugins: https://github.com/LucHermitte/lh-cpp
-Plug 'dense-analysis/ale' " {{{2
-let g:ale_echo_msg_format = '[%linter%] %code: %%s'
 
 Plug 'git@github.com:/ram-z/vim-orgmode', { 'branch': 'dev' } " {{{2
 Plug 'vim-scripts/syntaxrange'
 
 Plug 'git@github.com:/ram-z/vim-orgmode', { 'branch': 'dev' } " {{{2
 Plug 'vim-scripts/syntaxrange'
@@ -92,12 +104,19 @@ let g:haskell_enable_pattern_synonyms = 1 " to enable highlighting of `pattern`
 let g:haskell_enable_typeroles = 1        " to enable highlighting of type roles
 let g:haskell_enable_static_pointers = 1  " to enable highlighting of `static`
 let g:haskell_backpack = 1                " to enable highlighting of backpack keywords
 let g:haskell_enable_typeroles = 1        " to enable highlighting of type roles
 let g:haskell_enable_static_pointers = 1  " to enable highlighting of `static`
 let g:haskell_backpack = 1                " to enable highlighting of backpack keywords
+
+let g:haskell_indent_before_where = 2
 " }}}
 
 Plug 'aklt/plantuml-syntax'
 
 Plug 'mtth/scratch.vim'  " {{{2
   let g:scratch_no_mappings = 1
 " }}}
 
 Plug 'aklt/plantuml-syntax'
 
 Plug 'mtth/scratch.vim'  " {{{2
   let g:scratch_no_mappings = 1
+  let g:scratch_autohide = 0
+"}}}
+
+Plug 'vim-utils/vim-man'  " {{{2
+let g:man_width = 80
 "}}}
 
 call plug#end()
 "}}}
 
 call plug#end()
@@ -107,11 +126,12 @@ filetype plugin indent on
 " colorscheme {{{1
 syntax on
 set background=dark
 " colorscheme {{{1
 syntax on
 set background=dark
-let g:gruvbox_contrast_dark  = 'hard'
-let g:gruvbox_contrast_light = 'soft'
-colorscheme gruvbox
-" override the background to be black
-highligh Normal ctermbg=None
+let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
+let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
+set termguicolors
+colorscheme $THEME
+"TODO see how I can integrate this into a theme that customises upstream Nord
+hi debugPC term=reverse ctermbg=8
 
 " options {{{1
 " moving around, searching and patterns {{{2
 
 " options {{{1
 " moving around, searching and patterns {{{2
@@ -141,8 +161,9 @@ set listchars+=extends:❯,precedes:❮
 set listchars+=trail:·
 augroup trailing
     au!
 set listchars+=trail:·
 augroup trailing
     au!
-    au InsertEnter * :set listchars-=trail:·
-    au InsertLeave * :set listchars+=trail:·
+    au FileType qf setlocal listchars-=trail:·
+    au InsertEnter * set listchars-=trail:·
+    au InsertLeave * set listchars+=trail:·
 augroup END
 
 set scrolloff=5                 " number of screen lines to show around the cursor
 augroup END
 
 set scrolloff=5                 " number of screen lines to show around the cursor
@@ -244,6 +265,8 @@ set viewoptions+=folds          " save folds
 set diffopt+=filler         " show filler lines
 set diffopt+=vertical       " always vertical split
 set diffopt+=context:10     " 10 lines context between changes
 set diffopt+=filler         " show filler lines
 set diffopt+=vertical       " always vertical split
 set diffopt+=context:10     " 10 lines context between changes
+set diffopt+=internal
+set diffopt+=algorithm:patience
 
 " reading and writing files {{{2
 set modeline                    " read modelines
 
 " reading and writing files {{{2
 set modeline                    " read modelines
@@ -421,7 +444,11 @@ noremap ' `
 nnoremap vv ^vg_
 
 " Unfuck my screen
 nnoremap vv ^vg_
 
 " Unfuck my screen
-nnoremap U :syntax sync fromstart<cr>:AirlineRefresh<cr>:redraw!<cr>
+nnoremap U
+      \ :syntax sync fromstart<cr>
+      \ :AirlineRefresh<cr>
+      \ :call popup_clear(1)<cr>
+      \ :redraw!<cr>
 
 " Ranger
 " nnoremap <leader>r :silent !ranger %:h<cr>:redraw!<cr>
 
 " Ranger
 " nnoremap <leader>r :silent !ranger %:h<cr>:redraw!<cr>
@@ -543,6 +570,7 @@ nmap <silent> <leader>qq :echo "hi<" . synIDattr(synID(line("."),col("."),1),"na
 " airline {{{2
 let g:airline#extensions#whitespace#enabled = 1
 let g:airline#extensions#tabline#enabled = 1
 " airline {{{2
 let g:airline#extensions#whitespace#enabled = 1
 let g:airline#extensions#tabline#enabled = 1
+let g:airline#extensions#searchcount#enabled = 0
 let g:airline_powerline_fonts = 1
 
 " checkattach {{{2
 let g:airline_powerline_fonts = 1
 
 " checkattach {{{2
@@ -571,7 +599,16 @@ autocmd BufReadPost fugitive://* set bufhidden=delete
 
 nnoremap <silent> <leader>gs :Git<CR>
 nnoremap <silent> <leader>gd :Gdiffsplit<CR>
 
 nnoremap <silent> <leader>gs :Git<CR>
 nnoremap <silent> <leader>gd :Gdiffsplit<CR>
-nnoremap <silent> <leader>gc :tab G commit -v<CR>
+nnoremap <silent> <leader>gc :echohl WarningMsg \| echo "use \<leader>gcc instead" \| echohl None<CR> 
+nnoremap <silent> <leader>gcc :tab G commit -v<CR>
+nnoremap <silent> <leader>gca :tab G commit -v --amend<CR>
+nnoremap          <leader>gcf :tab G commit -v --fixup=
+nnoremap <silent> <leader>gp :echohl WarningMsg \| echo "use \<leader>gpp instead" \| echohl None<CR> 
+nnoremap <silent> <leader>gpp :Git push \| copen<CR>
+nnoremap <silent> <leader>gpf :Git push --force-with-lease \| copen<CR>
+nnoremap <silent> <leader>gll :Git pull<CR>
+nnoremap <silent> <leader>gru :Git rebase --interactive @{upstream}<CR>
+nnoremap <silent> <leader>grp :Git rebase --interactive @{push}<CR>
 nnoremap <silent> <leader>ga :Gwrite<cr>
 nnoremap <silent> <leader>gb :G blame<cr>
 
 nnoremap <silent> <leader>ga :Gwrite<cr>
 nnoremap <silent> <leader>gb :G blame<cr>
 
@@ -582,6 +619,7 @@ augroup end
 
 " Gundo {{{2
 nnoremap <F7> :GundoToggle<CR>
 
 " Gundo {{{2
 nnoremap <F7> :GundoToggle<CR>
+let g:gundo_prefer_python3 = 1
 
 " indent-guides {{{2
 let g:indent_guides_default_mapping = 0
 
 " indent-guides {{{2
 let g:indent_guides_default_mapping = 0
@@ -710,7 +748,7 @@ if executable('ag')
 end
 nnoremap <silent> [unite]a :<C-u>Unite grep:.::\12\17<CR>
 nnoremap <silent> [unite]A :<C-u>Unite grep:.:-w:\12\17<CR>
 end
 nnoremap <silent> [unite]a :<C-u>Unite grep:.::\12\17<CR>
 nnoremap <silent> [unite]A :<C-u>Unite grep:.:-w:\12\17<CR>
-command! -nargs=1 Ag Unite grep:.::<args>
+command! -nargs=+ Ag Unite -input=<args> grep:.:
 
 " unite-file_rec {{{3
 if executable('ag')
 
 " unite-file_rec {{{3
 if executable('ag')
@@ -761,6 +799,15 @@ let g:ycm_complete_in_comments = 1
 let g:ycm_complete_in_strings  = 1
 let g:ycm_autoclose_preview_window_after_insertion = 0
 
 let g:ycm_complete_in_strings  = 1
 let g:ycm_autoclose_preview_window_after_insertion = 0
 
+let g:ycm_language_server =
+    \ [
+    \   {
+    \     'name': 'haskell',
+    \     'cmdline': [ 'haskell-language-server-wrapper', '--lsp' ],
+    \     'filetypes': [ 'haskell', 'lhaskell'  ]
+    \   },
+    \ ]
+
 " vim-easy-align {{{2
 " start interactive EasyAlign in visual mode
 vmap <Enter> <Plug>(EasyAlign)
 " vim-easy-align {{{2
 " start interactive EasyAlign in visual mode
 vmap <Enter> <Plug>(EasyAlign)