315 lines
7.2 KiB
VimL
315 lines
7.2 KiB
VimL
" 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
|
||
|
||
" ------------------
|
||
" packages / plugins
|
||
" ------------------
|
||
packadd! asyncrun
|
||
packadd! conque
|
||
"packadd! diffchar
|
||
packadd! dirdiff
|
||
packadd! DoxygenToolkit
|
||
packadd! flake8
|
||
packadd! flog
|
||
packadd! fugitive
|
||
"packadd! gdb-from-vim
|
||
packadd! gundo
|
||
packadd! isort
|
||
packadd! linediff
|
||
packadd! merginal
|
||
"packadd! pyclewn
|
||
"packadd! pylint
|
||
packadd! python-pep8-indent
|
||
packadd! qml
|
||
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
|
||
|
||
" 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 s<C-R>0<ESC>
|
||
vnoremap P s<C-R>0<ESC>
|
||
|
||
" -------
|
||
" 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 /[\(\{\[]<CR>:nohls<CR>v%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:<3A>
|
||
set listchars+=precedes:<3A>
|
||
" 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=<BS>, s=<space>, h, l, <, >, [, ])
|
||
set whichwrap=
|
||
" backspace deletes: (indent,eol,start)
|
||
set backspace=indent
|
||
set backspace+=start
|
||
" mark word under cursor
|
||
nnoremap gm :let @/ = "<C-R><C-W>"<CR>:set hlsearch<CR>
|
||
vnoremap gm y:let @/ = "<C-R>0"<CR>:set hlsearch<CR>
|
||
" go to tag under cursor
|
||
nnoremap tt g<C-]>
|
||
" find next error
|
||
nnoremap <C-N> :cn<CR>
|
||
" go back to previous edited file
|
||
nnoremap gb :call GotoLastFile()<CR>
|
||
|
||
" -----------
|
||
" 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'
|
||
" save session if available
|
||
autocmd FocusLost * execute ':if v:this_session != "" | SessionSave'
|
||
" 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'
|
||
|
||
" ------
|
||
" 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'
|
||
|
||
" -------------
|
||
" YouCompleteMe
|
||
" -------------
|
||
let g:ycm_clangd_binary_path = exepath('clangd')
|
||
let g:ycm_clangd_uses_ycmd_caching = 0 " Let clangd fully control code completion
|
||
"let g:ycm_clangd_args = ['--all-scopes-completion', '--clang-tidy', '--header-insertion=iwyu', '--suggest-missing-includes', '--enable-config']
|
||
let g:ycm_clangd_args = ['--all-scopes-completion', '--header-insertion=iwyu', '--suggest-missing-includes', '--enable-config']
|
||
|
||
|
||
if exists('g:debug')
|
||
if (g:debug > 0)
|
||
echo 'loaded vimrc'
|
||
endif
|
||
endif
|
||
|