" Use Vim settings, rather then Vi settings (much better!). " This must be first, because it changes other options as a side effect. set nocompatible " Setzen des Runtimepath, in dem die Vimfiles gesucht werden: let runtimepath_orig = &runtimepath let &runtimepath = '' " zuerst in vimsuite suchen let &runtimepath = &runtimepath . ',' . g:vimfiles " dann in vim Installation suchen let &runtimepath = &runtimepath . ',' . runtimepath_orig " dann in vimsuite/after suchen let &runtimepath = &runtimepath . ',' . g:vimfiles . '/after' let &runtimepath = &runtimepath . ',' . g:vimsuite . '/vimfiles.stefan/after' " packages liegen unter vimsuite/pack execute "set packpath+=".g:vimsuite " Laden weiterer Einstellungen: if (has("win32") || has("win64")) let g:os ='dos' execute 'source ' . expand(g:vimfiles . '/vimrc.dos') else let g:os = 'linux' execute 'source ' . expand(g:vimfiles . '/vimrc.linux') endif if !exists('nobmsk') execute 'source ' . expand(g:vimfiles . '/vimrc.bmsk') endif " global settings " --------------- set nobackup " keep no backup file set history=50 " keep 50 lines of command line history set ruler " show the cursor position all the time set showcmd " display incomplete commands " filetype detection filetype on filetype plugin on filetype plugin indent on "syntax highlighing "syntax on syntax enable " no syntax highliting when printing set printoptions+=syntax:n "highlite search set incsearch set hlsearch " set global option for substitute set gdefault " case sensitive search set noignorecase " ignore some pattern in filesearch set wildignore+=.git set wildignore+=.svn " set very intelligent formatting set formatoptions=croqwan2 " -------- " Changing " -------- " overwrite selected text vnoremap p s0 vnoremap P s0 " ------- " Display " ------- " switchbuffer: use open window, split if new "set switchbuf=useopen,split set switchbuf=useopen " wrap long lines set wrap " show line-numbers set number " show title set title " show matching bracket set showmatch " matchtime in 1/10 seconds set matchtime=5 " show wrapped line set showbreak=--> " show position of cursor set ruler " show incomplete command set showcmd " match braces "nnoremap g4 /[\(\{\[]:nohlsv%o "vnoremap g4 vg4 " set textwidth to 78 set textwidth=100 " special characters " list special characters set list " special characters: set listchars=eol:$ set listchars+=tab:>\ set listchars+=trail:_ set listchars+=extends:° set listchars+=precedes:° " special characters for keywords " set iskeyword+= " ------------ " diff options " ------------ if &diff set guioptions+=b " turn off csv ftplugin in diff mode au! filetypedetect * *.csv,*.dat,*.tsv,*.tab endif " horizontal scrollbar in diff-mode set diffopt=filler,vertical " don't switch on DiffChar by default let g:DiffExpr = '' " turn diff off command DiffClose call DiffClose() function DiffClose() diffoff! :quit endfunction " options for DirDiff let g:DirDiffCommand = expand($VIMRUNTIME . '/diff') let g:DirDiffExcludes = '*.log,*.pyc,.svn,.git*,.asc,_ccmwaid.inf,.static_wa,out,Build,build,tags,cscope.out,.directory' "let g:DirDiffDynamicDiffText = 1 " ------ " Moving " ------ " scrollwith at ^U and ^D set scroll=5 " lines around the cursor set scrolloff=10 " wrap line at (b=, s=, h, l, <, >, [, ]) set whichwrap= " backspace deletes: (indent,eol,start) set backspace=indent set backspace+=start " mark word under cursor nnoremap gm :let @/ = "":set hlsearch vnoremap gm y:let @/ = "0":set hlsearch " go to tag under cursor nnoremap tt g " find next error nnoremap :cn " go back to previous edited file nnoremap gb :call GotoLastFile() " ----------- " come and go " ----------- set sessionoptions-=blank set sessionoptions+=buffers set sessionoptions+=curdir set sessionoptions+=folds set sessionoptions-=help set sessionoptions+=resize set sessionoptions+=tabpages set sessionoptions-=terminal set sessionoptions+=winsize " open window size if &diff autocmd GUIEnter * set lines=60 columns=200 else autocmd GUIEnter * set lines=60 columns=100 endif " read and write files automatically set autoread set autowrite set autowriteall " keep original files for these filetypes set patchmode= " jump to '" when reading a file "autocmd BufEnter * "autocmd BufReadPost * " \ if line("'\"") > 0 && line("'\"") <= line("$") | " \ execute "normal g'\"" | " \ endif " set nomodifiable on writeprotected files autocmd BufReadPost * \ if &readonly == 1 | \ execute ':set nomodifiable' | \ else | \ execute ':set modifiable' | \ endif " read all files on got of focus " autocmd FocusGained * execute " save all files on loss of focus autocmd FocusLost * execute ':silent! wa' " since we always save, don't use a swapfile set noswapfile " ----------- " spell check " ----------- set spelllang=de,en let &spellfile=g:vimfiles.'/spell/myspell.add' " ---------- " Completion " ---------- set completeopt=longest set completeopt+=menuone " -------------- " DoxygenToolkit " -------------- let g:DoxygenToolkit_authorName = "Stefan Liebl" let g:DoxygenToolkit_compactOneLineDoc = "yes" let g:DoxygenToolkit_compactDoc = "yes" let g:DoxygenToolkit_licenseTag = "Copyright (C) 2020 TOPTICA Photonics AG>" " ----- " netrw " ----- "let g:netrw_keepdir = 0 " --------- " T-Comment " --------- let g:tcomment#options = {'col': 1, 'whitespace': 'no'} " --------- " VC plugin " --------- let g:vc_log_name = '~/vc.log' " ---- " gitv " ---- let g:Gitv_OpenHorizontal = 1 " ------ " flake8 " ------ command Flake8 call Flake8() command PyFlake Flake8 " Flake8 options are stored in ~/.config/flake8 " ----- " Isort " ----- command PyIsort Isort " ---------- " Conque GDB " ---------- let g:ConqueGdb_GdbExe = '/opt/OSELAS.Toolchain-2012.12.1/arm-cortexa8-linux-gnueabi/gcc-4.7.3-glibc-2.16.0-binutils-2.22-kernel-3.6-sanitized/bin/arm-cortexa8-linux-gnueabi-gdb' " ------------------ " packages / plugins " ------------------ packadd! asyncrun packadd! conque "packadd! diffchar packadd! dirdiff packadd! DoxygenToolkit packadd! flake8 packadd! fugitive "packadd! gdb-from-vim packadd! gitv packadd! gundo packadd! isort packadd! linediff packadd! merginal "packadd! pyclewn "packadd! pylint packadd! python-pep8-indent packadd! qml packadd! rtags packadd! sessionman packadd! SrchRplcHiGrp packadd! syntastic packadd! tagbar "packadd! tail packadd! tcomment packadd! termdebug packadd! vc packadd! vimagit packadd! VisIncr packadd! xml packadd! yapf packadd! YouCompleteMe if exists('g:debug') if (g:debug > 0) echo 'loaded vimrc' endif endif