" leader key :let mapleader = "," " vim statusline - kein plugin " https://shapeshed.com/vim-statuslines/ function! GitBranch() return system("git rev-parse --abbrev-ref HEAD 2>/dev/null | tr -d '\n'") endfunction function! StatuslineGit() let l:branchname = GitBranch() return strlen(l:branchname) > 0?' '.l:branchname.' ':'' endfunction set statusline= set statusline+=%#PmenuSel# set statusline+=%{StatuslineGit()} set statusline+=%#LineNr# set statusline+=\ %f set statusline+=%m\ set statusline+=%= set statusline+=%#CursorColumn# set statusline+=\ %y set statusline+=\ %{&fileencoding?&fileencoding:&encoding} set statusline+=\[%{&fileformat}\] set statusline+=\ %p%% set statusline+=\ %l:%c set statusline+=\ " Vundle set nocompatible filetype off " Set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim " Download plug-ins to the ~/.vim/plugged/ directory call vundle#begin('~/.vim/plugged') " Let Vundle manage Vundle Plugin 'VundleVim/Vundle.vim' "muss immer der erste eintrag sein Plugin 'sheerun/vim-polyglot' Plugin 'Xuyuanp/nerdtree-git-plugin' Plugin 'jeetsukumaran/vim-buffergator' Plugin 'mhinz/vim-signify' Plugin 'ctrlpvim/ctrlp.vim' Plugin 'lifepillar/vim-solarized8' Plugin 'Yggdroot/indentLine' Plugin 'tpope/vim-fugitive' Plugin 'jiangmiao/auto-pairs' Plugin 'preservim/nerdtree' Plugin 'unkiwii/vim-nerdtree-sync' " Install: " vim +PluginInstall +qall " oder " :PluginInstall call vundle#end() " " auto-pairs let g:AutoPairsShortcutToggle = '' " Toogle Auto-Pairs mit Strg+P " zur Autovervollständigung von Klammern " " NERDtree + nerdtree-sync "https://github.com/preservim/nerdtree let NERDTreeShowHidden = 1 " Show hidden files let NERDTreeShowLineNumbers = 0 " Hide line numbers let NERDTreeMinimalMenu = 1 " Use the minimal menu (m) let NERDTreeWinSize = 31 " Set panel width to 31 columns nmap :NERDTreeToggle " ruft NERDtree mit F2 auf " Start NERDTree. If a file is specified, move the cursor to its window. autocmd StdinReadPre * let s:std_in=1 autocmd VimEnter * NERDTree | if argc() > 0 || exists("s:std_in") | wincmd p | endif let g:nerdtree_sync_cursorline = 1 " highlight the file in tree " open the existing NERDTree on each new tab. autocmd BufWinEnter * silent NERDTreeMirror " " exit Vim if NERDTree is the only window left. autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | \ quit | endif " " Tastenkürzel " nmap :tabnew:NERDTreeFind " erstellt neuen tab und öffnet den open-dialog " " buffers " https://joshldavis.com/2014/04/05/vim-tab-madness-buffers-vs-tabs/ " " This allows buffers to be hidden if you've modified a buffer. " " This is almost a must if you wish to use buffers in this way. set hidden " " To open a new empty buffer " This replaces :tabnew which I used to bind to this mapping nmap :enew " "" Move to the next buffer nmap :bnext " Move to the previous buffer nmap :bprevious " " Close the current buffer and move to the previous one " This replicates the idea of closing a tab nmap :bp bd # " " nerdtree-git-plugin let g:NERDTreeGitStatusIndicatorMapCustom = { \ 'Modified' :'*', \ 'Staged' :'+', \ 'Untracked' :'', \ 'Renamed' :'*', \ 'Unmerged' :'', \ 'Deleted' :'-', \ 'Dirty' :'', \ 'Ignored' :'', \ 'Clean' :'', \ 'Unknown' :'?', \ } " " " indentLine " fügt vertikale Striche bei Einrückungen ein filetype plugin indent on " " allgemeine Optionen set showcmd set showbreak=+++ set textwidth=100 set showmatch set virtualedit=onemore set encoding=UTF-8 set visualbell set hlsearch set smartcase set gdefault set ignorecase set incsearch set autoindent set smartindent set smarttab set softtabstop=4 set ruler set undolevels=1000 set backspace=indent,eol,start set nu " Enable line numbers syntax on " Enable syntax highlighting set tabstop=4 " How many columns of whitespace a \t is worth set shiftwidth=4 " How many columns of whitespace a level of indentation is worth set expandtab " Use spaces when tabbing set incsearch " Enable incremental search set hlsearch " Enable highlight search set termwinsize=12x0 " Set terminal size set splitbelow " Always split below set mouse=a " Enable mouse drag on window splits " " aussehen set background=light " dark or light colorscheme solarized8 " Your favorite color scheme's name " " ripgrep und ctrlp " sudo apt install ripgrep(rg) if executable('rg') let g:ctrlp_user_command = 'rg %s --files --hidden --color=never --glob ""' endif let g:ctrlp_map = '' "aufruf mit strg+f " ignore files " https://github.com/ctrlpvim/ctrlp.vim set wildignore+=*/tmp/*,*.so,*.swp,*.zip " MacOSX/Linux set wildignore+=*\\tmp\\*,*.swp,*.zip,*.exe " Windows