" Vundle 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; muss immer der erste eintrag sein Plugin 'VundleVim/Vundle.vim' " statusline Plugin 'itchyny/lightline.vim' " languagepack Plugin 'sheerun/vim-polyglot' " buffer wechseln Plugin 'jeetsukumaran/vim-buffergator' " fuzzy finder Plugin 'ctrlpvim/ctrlp.vim' " git integration G: Plugin 'tpope/vim-fugitive' " git integration Plugin 'jreybert/vimagit' " auto einrueckung Plugin 'tpope/vim-sleuth' " zeilen ein/auskommentieren Plugin 'tpope/vim-commentary' call vundle#end() " allgemeine Optionen set showcmd " Show (partial) command in status line. set virtualedit=onemore set encoding=UTF-8 set visualbell set ruler set undolevels=1000 set backspace=indent,eol,start set ignorecase " Ignore case in search patterns. set smartcase " Override the 'ignorecase' option if the search pattern contains upper case characters. set nowrap " verhindert zeilenumbrüche set showbreak=+++ set wrap linebreak " https://vim.fandom.com/wiki/Automatic_word_wrapping set hlsearch " When there is a previous search pattern, highlight all its matches. set gdefault " global bei suche immer mit an set incsearch " While typing a search command, show immediately where the so far typed pattern matches. set number " Show line numbers. "https://jeffkreeftmeijer.com/vim-number/ set number relativenumber augroup numbertoggle autocmd! autocmd BufEnter,FocusGained,InsertLeave * set relativenumber autocmd BufLeave,FocusLost,InsertEnter * set norelativenumber augroup END " toggle linenumbers nmap :set norelativenumber!:set nonu! syntax on " Enable syntax highlighting set shiftwidth=4 " Number of spaces to use for each step of (auto)indent. set mouse=a " Enable mouse drag on window splits set clipboard=unnamedplus " https://unix.stackexchange.com/questions/12535/how-to-copy-text-from-vim-to-an-external-program " Keybindings " Ctrl+S zum speichern nmap :w " ctrl+W zum schließen nmap :q " ctrl+P: set paste nmap :set paste! " ctrl+t fuer neuen tab nmap :tabnew " leader-key :let mapleader = "," " lightline/statusline " blende insert/visual/... in der commandline aus, steht in lightline set noshowmode set laststatus=2 let g:lightline = { \ 'active': { \ 'left': [ [ 'mode', 'paste' ], \ [ 'gitbranch', 'readonly', 'filename', 'modified' ] ] \ }, \ 'component_function': { \ 'gitbranch': 'FugitiveHead' \ }, \ } " buffergator " 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. " https://medium.com/usevim/vim-101-set-hidden-f78800142855 set hidden " öffne buffergator drawer horizontal unten " https://github.com/jeetsukumaran/vim-buffergator/blob/master/doc/buffergator.txt let g:buffergator_viewport_split_policy = 'B' " gibt an wie hoch der drawer sein soll let g:buffergator_hsplit_size = '10' " Move to the next buffer nmap :bnext " Move to the previous buffer nmap :bprevious " 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 nmap :CtrlP " ignore files " https://github.com/ctrlpvim/ctrlp.vim set wildignore+=*/tmp/*,*.so,*.swp,*.zip " MacOSX/Linux set wildignore+=*\\tmp\\*,*.swp,*.zip,*.exe " Windows let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn)$' " stelle standard keybinding um let g:ctrlp_map = '' " vimagit " https://github.com/jreybert/vimagit#mappings nmap m :Magit " Kommandovervollständigung " https://www.reddit.com/r/vim/comments/oo9gms/any_way_to_get_vim_to_not_defaulting_to_the_first/h5wygix/?context=8&depth=9 set wildmode=longest,list,full set wildmenu set wildignore=*.o,*~ " zeige "matching" klammer usw. set showmatch