X-Git-Url: https://git.sthu.org/?p=shutils.git;a=blobdiff_plain;f=dotfiles%2Fvim%2F.vimrc;h=df65e4a1e854e135ceaf320bac618b1585aef3e8;hp=62ca06d8387969cdff3a60cde0c1f02765d2448f;hb=4682ad935b632a1997c2df5bbe3e30ef42ea399e;hpb=7475051f66d41ab4f726866bb33c89baa1ecb506 diff --git a/dotfiles/vim/.vimrc b/dotfiles/vim/.vimrc index 62ca06d..df65e4a 100644 --- a/dotfiles/vim/.vimrc +++ b/dotfiles/vim/.vimrc @@ -5,12 +5,12 @@ "profile func * "profile file * - -set nocompatible set encoding=utf8 set number set backspace=indent,eol,start +set mouse=a + set tagstack set grepprg=grep\ -nH\ $* set foldcolumn=1 @@ -20,6 +20,7 @@ set hlsearch set cursorline set laststatus=2 +set scrolloff=4 set listchars=tab:»­,trail:·,eol:$ set virtualedit=block @@ -39,24 +40,68 @@ set wildmode=longest,list:longest set tags=./tags;/ -" Pathogen runtime path manipulation -"call pathogen#infect() "Using the infect method breaks ft detection -filetype off -call pathogen#runtime_append_all_bundles() -call pathogen#helptags() - syntax on filetype plugin indent on +runtime! autoload/plug.vim +" Check if there is vim-plug installed +if exists('g:loaded_plug') + call plug#begin('~/.config/nvim/plugged') + Plug 'Glench/Vim-Jinja2-Syntax' + Plug 'LaTeX-Box-Team/LaTeX-Box' + Plug 'benekastah/neomake' + Plug 'vim-airline/vim-airline' + Plug 'vim-airline/vim-airline-themes' + Plug 'chrisbra/csv.vim' + Plug 'craigemery/vim-autotag' + Plug 'godlygeek/tabular' + "Plug 'kien/ctrlp.vim' + Plug 'junegunn/fzf' + Plug 'majutsushi/tagbar' + Plug 'mhinz/vim-signify' + Plug 'msanders/snipmate.vim' + Plug 'scrooloose/nerdcommenter' + Plug 'scrooloose/nerdtree' + " Plug 'scrooloose/syntastic' + Plug 'sjl/splice.vim' + Plug 'Shougo/deoplete.nvim' + Plug 'suan/vim-instant-markdown' + Plug 't4ku/marktag' + Plug 'thinca/vim-fontzoom' + Plug 'tpope/vim-ragtag' + Plug 'vim-scripts/CSApprox' + Plug 'vim-scripts/DetectIndent' + Plug 'vim-scripts/git_patch_tags.vim' + Plug 'vim-scripts/loremipsum' + call plug#end() + + autocmd! BufWritePost,BufEnter * Neomake + +" If there is no vim-plug, try pathogen +else + runtime autoload/pathogen.vim + if exists("g:loaded_pathogen") + " Pathogen runtime path manipulation + call pathogen#runtime_append_all_bundles() + call pathogen#helptags() + endif +endif + -"Power saving tip: powertop-homepage -let &guicursor = &guicursor . ",a:blinkon0" -"According to vim help -- enable mouse in xterm... -set mouse=a +if has('nvim') + set rtp^=/usr/share/vim/vimfiles +else + set nocompatible +endif -" Use 256 colors -set t_Co=256 +" Color settings +if !has('nvim') + set t_Co=256 +else + let $NVIM_TUI_ENABLE_TRUE_COLOR=1 +endif let g:CSApprox_attr_map = { 'bold' : 'bold', 'italic' : 'underline', 'sp' : 'bg' } + colorscheme shuber-wombat @@ -73,9 +118,6 @@ if exists(":DetectIndent") endif -let g:syntastic_mode_map = { 'mode' : 'active', 'active_filetypes' : [], 'passive_filetypes' : ['html'] } - - """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Airline """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" @@ -86,7 +128,7 @@ let g:airline_theme = 'wombat' let g:airline#extensions#tabline#enabled = 1 let g:airline#extensions#tagbar#enabled = 0 let g:airline#extensions#whitespace#enabled = 0 -let g:airline#extensions#branch#enabled = 0 +let g:airline#extensions#branch#enabled = 1 let g:airline#extensions#branch#use_vcscommand = 1 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" @@ -110,10 +152,10 @@ map NERDCommenterToggle nmap :NERDTreeToggle nmap :TagbarToggle -nmap :q -nmap :w -vmap gv -imap +"nmap :q +"nmap :w +"vmap gv +"imap """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" @@ -129,13 +171,13 @@ au Filetype fortran set cindent cst csto=0 " C, C++, C#, objc, java """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -au Filetype c,cpp,cs,objc,java map :cnext -au Filetype c,cpp,cs,objc,java map :cprevious -au Filetype c,cpp,cs,objc,java map :AS -au Filetype c,cpp,cs,objc,java map :A +au Filetype c,cpp,cs,objc,java map :cnext +au Filetype c,cpp,cs,objc,java map :cprevious +au Filetype c,cpp,cs,objc,java map :AS +au Filetype c,cpp,cs,objc,java map :A au Filetype c,cpp,cs,objc,java set cindent cst csto=0 -au Filetype c,cpp,cs,objc map :make -au Filetype java map :!ant -f ../build.xml +au Filetype c,cpp,cs,objc map :make +au Filetype java map :!ant -f ../build.xml au Filetype c,cpp,cs,objc set makeprg=make @@ -251,7 +293,6 @@ au BufRead,BufNewFile *.wxm set filetype=maxima " LaTeX """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - let g:LatexBox_split_side = "rightbelow" "let g:LatexBox_split_resize = 1 let g:LatexBox_ref_pattern = '\c\\\a*ref\*\?\_\s*{' @@ -264,17 +305,17 @@ let g:LatexBox_latexmk_preview_continuously = 1 "let g:LatexBox_show_warnings = 0 let g:LatexBox_quickfix = 4 - if version >= 700 au Filetype tex set spell endif au BufRead,BufNewFile *.cls set filetype=tex au Filetype tex set textwidth=80 +au Filetype tex set shiftwidth=2 au Filetype tex set smartindent " Override Tagbar Toggle with LatexBox TOC -au Filetype tex nmap :LatexTOCToggle -au Filetype tex nmap :LatexLabels +au Filetype tex nmap :LatexTOCToggle +au Filetype tex nmap :LatexLabels "Remove Umlaute @@ -300,7 +341,7 @@ endfunction " python """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -au Filetype python map :!python % +au Filetype python map :!python % " vimrc file for following the coding standards specified in PEP 7 & 8. @@ -312,21 +353,30 @@ au Filetype python set expandtab " Wrap text after a certain number of characters au Filetype python set textwidth=79 +let g:syntastic_python_checkers = ["pyflakes"] """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " XML, Ipe """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "Opens the current file in ipe -au Filetype xml map :call OpenIn("ipe") +au BufRead,BufNewFile *.ipe set filetype=ipe +au Filetype xml,ipe map :call OpenIn("ipe") +au Filetype xml let g:tagbar_sort = 0 +let g:tagbar_type_xml = { + \ 'ctagstype' : 'xml', + \ 'kinds' : [ + \ 't:Tag' + \ ] +\ } """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " gnuplot """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "Opens the current file in ipe -au Filetype gnuplot map :call OpenIn("gnuplot -persist") +au Filetype gnuplot map :call OpenIn("gnuplot -persist") """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" @@ -337,25 +387,69 @@ au BufRead,BufNewFile */.remind/* set filetype=remind """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" closetag +" vim-orgmode """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -let g:unaryTagsStack = "" -au Filetype html,xml,xsl source /usr/share/vim/vimfiles/plugin/closetag.vim +au BufRead,BufNewFile *.org set filetype=org +let g:org_todo_keywords=['TODO', 'FEEDBACK', 'VERIFY', '|', 'DONE', 'DELEGATED'] +let g:org_todo_keyword_faces = [['FEEDBACK', 'magenta'], ['TODO', 'yellow']] +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" markdown +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +let g:instant_markdown_autostart = 0 +let g:instant_markdown_slow = 1 +au Filetype markdown map :InstantMarkdownPreview +au Filetype markdown let g:tagbar_sort = 0 + +let g:tagbar_type_markdown = { + \ 'ctagstype' : 'markdown', + \ 'kinds' : [ + \ 'h:Heading_L1', + \ 'i:Heading_L2', + \ 'k:Heading_L3' + \ ] +\ } + +if executable('marktag') + let g:tagbar_type_markdown = { + \ 'ctagstype' : 'markdown', + \ 'ctagsbin' : 'marktag', + \ 'kinds' : [ + \ 'h:header' + \ ], + \ 'sro' : '.', + \ 'kind2scope' : { + \ 'h' : 'header' + \ }, + \ 'scope2kind' : { + \ 'header' : 'h' + \ } + \ } +end + + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" deoplete +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +let g:deoplete#enable_at_startup = 1 + """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " youcompleteme """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" let g:ycm_global_ycm_extra_conf = '~/.ycm_extra_conf.py' +let g:ycm_confirm_extra_conf = 0 let g:ycm_min_num_of_chars_for_completion = 4 let g:ycm_collect_identifiers_from_tags_files = 1 let g:ycm_autoclose_preview_window_after_completion = 1 let g:ycm_key_list_select_completion = [''] -nnoremap jd :YcmCompleter GoToDefinitionElseDeclaration +nnoremap jd :YcmCompleter GoToDefinitionElseDeclaration let g:ycm_filetype_whitelist = { 'c' : 1, 'cpp' : 1, 'cs' : 1, 'objc' : 1, 'java' : 1, 'python' : 1 } @@ -363,6 +457,25 @@ let g:ycm_filetype_whitelist = { 'c' : 1, 'cpp' : 1, 'cs' : 1, 'objc' : 1, 'java "let g:ycm_server_log_level = 'debug' +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" syntastic +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +let g:syntastic_mode_map = { 'mode' : 'active', 'active_filetypes' : [], 'passive_filetypes' : ['html'] } +let g:ycm_show_diagnostics_ui = 0 +let g:syntastic_c_checkers = ["cppcheck"] +let g:syntastic_cpp_checkers = g:syntastic_c_checkers + + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" signify +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +let g:signify_vcs_list = ['git'] + + + + if filereadable($HOME . "/.vimrc-local") source ~/.vimrc-local endif