dotfiles/.vimrc

167 lines
5.5 KiB
VimL
Raw Normal View History

2021-05-27 17:54:53 +02:00
" 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')
2021-06-01 17:44:59 +02:00
" Let Vundle manage Vundle; muss immer der erste eintrag sein
Plugin 'VundleVim/Vundle.vim'
2021-05-31 20:04:54 +02:00
Plugin 'nestorsalceda/vim-strip-trailing-whitespaces'
2021-05-31 20:44:56 +02:00
" entferne trailing whitespaces
Plugin 'itchyny/lightline.vim'
" statusline
2021-05-27 17:54:53 +02:00
Plugin 'sheerun/vim-polyglot'
2021-06-01 17:44:59 +02:00
" languagepack
2021-05-28 08:51:12 +02:00
Plugin 'jeetsukumaran/vim-buffergator'
2021-06-01 17:44:59 +02:00
" buffer wechseln
2021-05-27 22:27:43 +02:00
Plugin 'mhinz/vim-signify'
2021-06-01 17:44:59 +02:00
" change icons neben der zeilennummerierung
2021-05-27 17:54:53 +02:00
Plugin 'ctrlpvim/ctrlp.vim'
2021-05-31 20:44:56 +02:00
" fuzzy finder
2021-05-27 17:54:53 +02:00
Plugin 'lifepillar/vim-solarized8'
2021-05-31 20:44:56 +02:00
" farbschema
2021-05-27 17:54:53 +02:00
Plugin 'Yggdroot/indentLine'
2021-05-31 20:44:56 +02:00
" einrückungsmarkierungen
2021-05-27 17:54:53 +02:00
Plugin 'tpope/vim-fugitive'
2021-05-31 20:44:56 +02:00
" git integration G:
2021-05-27 17:54:53 +02:00
Plugin 'jiangmiao/auto-pairs'
2021-05-31 20:44:56 +02:00
" autovervollständigung symbole wie klammern
2021-05-31 19:50:49 +02:00
Plugin 'jreybert/vimagit'
2021-06-01 17:44:59 +02:00
" git integration
2021-05-27 17:54:53 +02:00
call vundle#end()
2021-06-01 17:44:59 +02:00
" allgemeine Optionen
2021-06-10 15:06:10 +02:00
set showcmd " Show (partial) command in status line.
2021-06-01 17:44:59 +02:00
set showbreak=+++
2021-06-10 15:06:10 +02:00
set autoindent
2021-07-02 17:34:35 +02:00
set wrap linebreak "https://vim.fandom.com/wiki/Automatic_word_wrapping
2021-06-01 17:44:59 +02:00
set virtualedit=onemore
2021-06-10 15:06:10 +02:00
set showmatch " When a bracket is inserted, briefly jump to the matching
" one. The jump is only done if the match can be seen on the
" screen. The time to show the match can be set with
" 'matchtime'.set virtualedit=onemore
2021-06-01 17:44:59 +02:00
set encoding=UTF-8
set visualbell
2021-06-10 15:06:10 +02:00
set smartcase " Override the 'ignorecase' option if the search pattern
" contains upper case characters.
set hlsearch " When there is a previous search pattern, highlight all
" its matches.
2021-06-08 18:50:05 +02:00
set gdefault "global bei suche immer mit an"
set nowrap "verhindert zeilenumbrüche
2021-06-10 15:06:10 +02:00
set ignorecase " Ignore case in search patterns.
set incsearch " While typing a search command, show immediately where the
" so far typed pattern matches.set autoindent
2021-06-01 17:44:59 +02:00
set smartindent
2021-06-10 15:06:10 +02:00
set smarttab " When on, a <Tab> in front of a line inserts blanks
" according to 'shiftwidth'. 'tabstop' is used in other
" places. A <BS> will delete a 'shiftwidth' worth of space
" at the start of the line.set softtabstop=4
2021-06-01 17:44:59 +02:00
set ruler
set undolevels=1000
set backspace=indent,eol,start
2021-06-10 15:06:10 +02:00
set number " Show line numbers.
syntax on " Enable syntax highlighting
set tabstop=4 " Number of spaces that a <Tab> in the file counts for.
set shiftwidth=4 " Number of spaces to use for each step of (auto)indent.
set expandtab " Use the appropriate number of spaces to insert a <Tab>.
" Spaces are used in indents with the '>' and '<' commands
" and when 'autoindent' is on. To insert a real tab when
" 'expandtab' is on, use CTRL-V <Tab>.
2021-06-01 17:44:59 +02:00
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
set clipboard=unnamedplus " https://unix.stackexchange.com/questions/12535/how-to-copy-text-from-vim-to-an-external-program
" Keybindings"
:let mapleader = ","
2021-05-27 17:54:53 +02:00
" auto-pairs
2021-05-31 20:24:43 +02:00
let g:AutoPairsShortcutToggle = '<C-P>'
2021-06-01 17:44:59 +02:00
" lightline/statusline
set laststatus=2
let g:lightline = {
\ 'colorscheme': 'wombat',
\ 'active': {
\ 'left': [ [ 'mode', 'paste' ],
\ [ 'gitbranch', 'readonly', 'filename', 'modified' ] ]
\ },
\ 'component_function': {
\ 'gitbranch': 'FugitiveHead'
\ },
\ }
2021-06-01 17:44:59 +02:00
" buffergator
2021-05-28 08:51:12 +02:00
" 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
2021-05-28 09:19:23 +02:00
" To open a new empty buffer
2021-05-28 08:51:12 +02:00
nmap <C-t> :enew<cr>
2021-06-01 17:46:00 +02:00
" Move to the next buffer
2021-05-28 08:51:12 +02:00
nmap <C-l> :bnext<CR>
" Move to the previous buffer
2021-05-28 09:19:23 +02:00
nmap <C-h> :bprevious<CR>
" Close the current buffer and move to the previous one
2021-05-28 08:51:12 +02:00
" This replicates the idea of closing a tab
2021-05-28 09:24:32 +02:00
nmap <C-q> :bp <BAR> bd #<CR>
2021-06-01 17:44:59 +02:00
2021-05-27 17:54:53 +02:00
" indentLine
" fügt vertikale Striche bei Einrückungen ein
filetype plugin indent on
2021-06-01 17:44:59 +02:00
2021-05-27 17:54:53 +02:00
" aussehen
2021-06-26 14:06:47 +02:00
"set background=dark " dark or light
"colorscheme solarized8 " Your favorite color scheme's name
2021-06-01 17:44:59 +02:00
2021-05-27 17:54:53 +02:00
" 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 = '<c-f>' "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
2021-05-28 13:26:56 +02:00
let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn)$'
2021-05-27 22:27:43 +02:00
2021-05-31 19:45:32 +02:00
"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
2021-06-01 17:44:59 +02:00
2021-05-31 19:56:37 +02:00
" vimagit
" https://github.com/jreybert/vimagit#mappings
nmap <Leader>m :Magit<cr>
2021-06-01 17:44:59 +02:00
2021-05-31 21:10:00 +02:00
" toggle linenumbers
nmap <Leader>c :set norelativenumber!<CR>:set nonu!<CR>
2021-07-01 09:53:16 +02:00
" speichern
nmap <Leader>s :w<CR>
2021-07-21 08:40:23 +02:00
" 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,*~