" Some global settings
set nocompatible
+" 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
set number
set cursorline
set incsearch
set hlsearch
+set foldcolumn=4
set colorcolumn=+1
set mouse=a
+set wildmenu
set wildmode=longest,list:full
set tabpagemax=100
-" Some terminals cause weired symbols due to broken cursor-shape termcodes.
-if has('nvim')
- "set guicursor=
- " Workaround some broken plugins which set guicursor indiscriminately.
- "au OptionSet guicursor noautocmd set guicursor=
-end
-
syntax on
" Load some macros
" Some filetype-specific settings
au FileType text,markdown,mail,tex,gitcommit,mediawiki,vimwiki setlocal spell
-au FileType text,markdown,mail,gitcommit,mediawiki,vimwiki setlocal fo+=n
+au FileType text,markdown,mail,gitcommit,mediawiki,vimwiki setlocal formatoptions+=n
+au Filetype mail setlocal formatoptions+=o
+" Add | for block quotation, such that gq respects it
+au Filetype mail setlocal comments+=n:\|
au Filetype go setlocal shiftwidth=8 tabstop=8 noexpandtab
au Filetype tex setlocal shiftwidth=2 tabstop=2
-au FileType mediawiki setlocal wrap linebreak tw=0
+au FileType mediawiki setlocal wrap linebreak textwidth=0
"git scissor line
au Filetype mail syn match Statement /^\s*-*\s*>8\s*-*\s*$/
" Minimum indenting for source code
au FileType java,cpp,c,cs let g:detectindent_min_indent = 4
-au BufReadPost *.java :DetectIndent
+" Consider using localvimrc config file or editorconfig instead
+"au BufReadPost *.java :DetectIndent
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'
+au BufNewFile *.{h,hpp,hxx} call AddIncludeGuards()
+
+augroup autofoldcolumn
+ au!
+ au CursorHold,BufWinEnter * AutoOrigamiFoldColumn
+augroup END
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Some plugin-specific settings
+let g:localvimrc_persistent = 1
+
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']
:let g:org_todo_keywords = [['TODO(t)', 'WAITING(w)', '|', 'DONE(d)'],
\ ['|', 'OBSOLETE(o)', 'WONT(n)'],
au FileType java nmap <F7> <Plug>(JavaComplete-Imports-RemoveUnused)
au FileType java imap <F7> <Plug>(JavaComplete-Imports-RemoveUnused)
+let g:VimMailContactsProvider=['khard']
+let g:VimMailContactsCommands={
+ \'khard':
+ \{ 'query' : "khard email --parsable --search-in-source-files",
+ \'sync': "/bin/true"}
+ \}
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""