plugins: Change easychair2 url
[vimconf.git] / plugins.vim
index fa57cc581e255a5978dce64681f875745fa5e2cc..66939e622131dafdff86b125b44b48433dc2451f 100644 (file)
@@ -8,6 +8,7 @@ Plug 'dstein64/vim-startuptime'
 
 Plug 'vim-airline/vim-airline'
 Plug 'gruvbox-community/gruvbox'
+Plug 'liuchengxu/vim-which-key'
 
 Plug 'benknoble/vim-auto-origami'
 
@@ -24,52 +25,51 @@ Plug 'junegunn/vim-easy-align'
 
 Plug 'thinca/vim-fontzoom'
 
-Plug 'lambdalisue/vim-manpager', {'on': 'MANPAGER'}
+Plug 'lambdalisue/vim-manpager'
 
 " Make . more useful after a plugin map
 Plug 'tpope/vim-repeat'
-
 Plug 'flwyd/vim-conjoin'
 
+Plug 'nfnty/vim-nftables'
 
-function PluginsConfig()
-    let g:localvimrc_persistent = 1
-
-    let g:fastfold_minlines = 0
 
-    au FileType markdown call RagtagInit()
-
-    let g:detectspelllang_langs = {}
-    let g:detectspelllang_langs.aspell =[ 'en_US', 'de_AT']
-    au FileType mail let g:VimMailSpellLangs=['de', 'en']
+function PluginsConfig()
 
-    let g:org_todo_keywords = [['TODO(t)', 'WAITING(w)', '|', 'DONE(d)'],
-                \ ['|', 'OBSOLETE(o)', 'WONT(n)'],
-                \ ['CANCELED(c)']]
+    " Some preferences for indent detection
+    let g:detectindent_min_indent = 2
+    let g:detectindent_max_indent = 4
+    let g:detectindent_preferred_indent = 4
 
-    let g:vimwiki_list = [{'path': '~/.vimwiki/',
-                \ 'template_path': '~/.vim/vimwiki/templates',
-                \ 'template_default': 'default',
-                \ 'template_ext': '.html'}]
-    let g:vimwiki_global_ext = 0
+    " Minimum indenting for source code
+    au FileType c,cpp,objc,java,cs let g:detectindent_min_indent = 4
+    " Consider using localvimrc config file or editorconfig instead
+    "au BufReadPost *.java :DetectIndent
 
-    " Java completion
-    au FileType java setlocal omnifunc=javacomplete#Complete
-    au FileType java JCEnable
+    let g:airline_powerline_fonts=1
+    let g:airline#extensions#tabline#enabled=1
+    let g:airline#extensions#branch#enabled=1
 
-    let g:VimMailContactsProvider=['khard']
-    let g:VimMailContactsCommands={
-                \'khard':
-                \{ 'query' : "khard email --parsable --search-in-source-files",
-                \'sync': "/bin/true"}
-                \}
+    let g:gruvbox_contrast_light='hard'
+    let g:gruvbox_contrast_dark='hard'
+    set bg=dark
 
-    let g:vimtex_fold_enabled = 1
-    let g:vimtex_fold_levelmarker = '➜'
+    if &term =~ 'linux'
+        let g:gruvbox_termcolors=16
+    else
+        " Setting termguicolors has two implications:
+        " - Breaks colors for some versions of mosh, but not if tmux is used on top of
+        "   mosh. See https://github.com/mobile-shell/mosh/issues/928
+        set termguicolors
+        let g:gruvbox_italic = 1
+    endif
+    colorscheme gruvbox
 
-    " termdebug split windows
-    let g:termdebug_wide = 1
-    let termdebugger = $HOME . '/.vim/gdb.sh'
+    " let NERDTreeWinPos="right"
+    let NERDTreeHijackNetrw=0
+    let NERDTreeWinSize=22
+    let NERDTreeQuitOnOpen=1
+    "au VimEnter * if !argc() | Startify | NERDTree | wincmd w
 
     let g:startify_files_number = 5
     let g:startify_session_persistence = 1
@@ -97,5 +97,32 @@ function PluginsConfig()
                     \ '',
                     \ ]
     endif
+
+    au BufEnter *.c* let b:fswitchlocs='reg:/lib/include/,rel:.'
+    au BufEnter *.h* let b:fswitchlocs='reg:/include/lib/,rel:.'
+    au BufEnter *.cpp,*.cc,*.cxx let b:fswitchdst='h,hxx,hpp,hh'
+    au BufEnter *.h,*.hh,*.hxx let b:fswitchdst='cc,c,cxx,cpp'
+
+    let g:mapleader = "\<Space>"
+    let g:maplocalleader = ','
+    nnoremap <silent> <leader>      :<c-u>WhichKey '<Space>'<CR>
+    nnoremap <silent> <localleader> :<c-u>WhichKey ','<CR>
+    vnoremap <silent> <leader>      :<c-u>WhichKeyVisual '<Space>'<CR>
+    vnoremap <silent> <localleader> :<c-u>WhichKeyVisual ','<CR>
+
+    let g:which_key_map =  {}
+    au VimEnter * call which_key#register('<Space>', 'g:which_key_map')
+    let g:which_key_map.b = {
+      \ 'name': '+buffer',
+      \ '1':    ['b1',        'buffer 1'],
+      \ '2':    ['b2',        'buffer 2'],
+      \ 'd':    ['bd',        'delete-buffer'],
+      \ 'f':    ['bfirst',    'first-buffer'],
+      \ 'h':    ['Startify',  'home-buffer'],
+      \ 'l':    ['blast',     'last-buffer'],
+      \ 'n':    ['bnext',     'next-buffer'],
+      \ 'p':    ['bprevious', 'previous-buffer'],
+      \ }
+
 endfunction