".vimrc Marvin Johanning @ marvinjohanning.de set nocompatible filetype off set swapfile set dir=~/tmp " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' " Plugins Plugin 'vim-airline/vim-airline' "Airline status bar Plugin 'vim-airline/vim-airline-themes' Plugin 'vim-syntastic/syntastic' "Syntax check Plugin 'scrooloose/nerdtree' "NerdTree, file tree Plugin 'ctrlpvim/ctrlp.vim' "CtrlP Plugin 'dylanaraps/wal.vim' "Pywal Plugin 'tpope/vim-surround' "For better surrounding Plugin 'christoomey/vim-system-copy' Plugin 'terryma/vim-smooth-scroll' "Smooth scrolling Plugin 'mhartington/oceanic-next' "Theme OceanicNext Plugin 'jacoborus/tender.vim' "Theme Tender " Plugin 'thoughtbot/vim-rspec' "RSpec Plugin Plugin 'MikeCoder/markdown-preview.vim' "Markdown preview Plugin 'lervag/vimtex' " LaTeX " All of your Plugins must be added before the following line call vundle#end() filetype plugin indent on "Other plugin stuff let g:airline#extensionstabline#enabled=1 let g:airline_powerline_fonts=1 let g:airline_theme='luna' autocmd StdinReadPre * let s:std_in=1 autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | endif "Key Mapping let mapleader="," autocmd FileType ruby nnoremap c I# autocmd FileType vim nnoremap c I" autocmd FileType vim inoremap fc function! ()<+++>endfunction3bi autocmd FileType ruby inoremap fc def ()<+++>end3bi let g:ctrlp_map = '' " For CtrlP Plugin let g:ctrlp_cmd = 'CtrlP' noremap :NERDTreeToggle nnoremap :call ToggleRelativeNumbers() nnoremap :call ToggleHighlights() "Ctrl + A will yank entire file nnoremap ggVGy "nnoremap da ggVGdd nnoremap u "leader plus ( will create () and put user inside nnoremap " viwa"bi"lel nnoremap ' viwa'bi'll nnoremap <+++>ca< "- will delete the line and paste it on the line below nnoremap - 0y$Dop$i "Open .vimrc (ev) and source it (sv) nnoremap ev :vsplit $MYVIMRC nnoremap sv :source $MYVIMRC "Smooth scrolling mappings noremap :call smooth_scroll#up(&scroll, 0, 2) noremap :call smooth_scroll#down(&scroll, 0, 2) noremap :call smooth_scroll#up(&scroll*2, 0, 4) noremap :call smooth_scroll#down(&scroll*2, 0, 4) "RSpec mappings "map t :call RunCurrentSpecFile() "map s :call RunNearestSpec() "map l :call RunLastSpec() "map a :call RunAllSpecs() "For creating German-style quotation for LaTeX's babel package nnoremap q i"`<+++>"' let g:vimtex_view_general_viewer = 'zathura' " Setting Zathura as the default viewer for LaTeX "Colour stuff syntax on "colorscheme jellybeans "colorscheme tender colorscheme wal "Functions function! ToggleHighlights() if &hlsearch == 1 set nohlsearch else set hlsearch endif endfunction function! ToggleRelativeNumbers() if &rnu == 1 set nornu else set rnu endif endfunction "Other set tabstop=2 set shiftwidth=2 set softtabstop=2 set expandtab set number "line numbers enabled set relativenumber "Relative line numbers set hlsearch "highlight all occurences of a word that was searched set noeb vb t_vb= "Beeping can fuck right off set t_ut="" "Disabling Vim's 'Background Color Erase' option to mitigate the problem of wrong background colour rendering set breakindent "For better indentation autocmd BufWritePost config.h !sudo make clean install