" Start: Manage plugins set nocompatible filetype off set runtimepath+=~/.vim/bundle/Vundle.vim call vundle#begin() " Plugin-Manager Plugin 'git@github.com:VundleVim/Vundle.vim' " A wiki within vim Plugin 'git@github.com:vimwiki/vimwiki' " A navigable visualization of vim's file-history Plugin 'git@github.com:mbbill/undotree' " A handy file-browser for vim Plugin 'git@github.com:scrooloose/nerdtree' " Utilities which are required by vim-snipmate Plugin 'git@github.com:MarcWeber/vim-addon-mw-utils' " Utilities which are required by vim-snipmate Plugin 'git@github.com:tomtom/tlib_vim' " Manage snippets as short cuts for vim Plugin 'git@github.com:garbas/vim-snipmate' " Add support for typecript-syntax Plugin 'git@github.com:leafgarland/typescript-vim' " Improve foldings on yaml-files (These are otherwise really unconvenient in vim) Plugin 'git@github.com:pedrohdz/vim-yaml-folds' " Add git-support, especially the command :Git Plugin 'git@github.com:tpope/vim-fugitive' " Autoformat tables in vim Plugin 'git@github.com:godlygeek/tabular' " Add git-status-marker in nerdtree Plugin 'git@github.com:Xuyuanp/nerdtree-git-plugin' " Enable syntax-checks Plugin 'git@github.com:vim-syntastic/syntastic' " Add markers for changed lines Plugin 'git@github.com:airblade/vim-gitgutter' " A magigical search-term for pretty much everything within vim Plugin 'git@github.com:ctrlpvim/ctrlp.vim' " Add a bunch of support for csv-files Plugin 'git@github.com:chrisbra/csv.vim' " A navigable view of the tags/marks within a file Plugin 'git@github.com:preservim/tagbar' " Add support for js-syntax Plugin 'git@github.com:jelera/vim-javascript-syntax' " A 'surround' command similiar to the 'inner' commands (cs'" to change quotes) Plugin 'git@github.com:tpope/vim-surround' " A cool theme with good readability Plugin 'git@github.com:lifepillar/vim-gruvbox8' " A tool to remove every noisy output to concentrate on writing! Plugin 'git@github.com:junegunn/goyo.vim' " Add support for hcl (terraform, packer, etc.) Plugin 'git@github.com:jvirtanen/vim-hcl' " Add closing-tags in HTML/XML Plugin 'git@github.com:alvan/vim-closetag.git' " A tool to build HTML with a simplified selector-language Plugin 'git@github.com:mattn/emmet-vim.git' " Add a status/tabline at the bottom Plugin 'git@github.com:vim-airline/vim-airline.git' call vundle#end() " End: Manage plugins filetype plugin on syntax on let mapleader = "," let g:gruvbox_contrast_dark = 'hard' let g:vimwiki_table_mappings = 0 let g:vimwiki_folding = 'expr' let g:vimwiki_list = [{'path': '~/Development/nemoinho/gitea.nehrke.info/nemoinho/vimwiki/', 'auto_export': 1}] let g:NERDTreeGitStatusShowIgnored = 1 let NERDTreeMinimalUI = 1 let NERDTreeDirArrows = 1 let g:snipMate = { 'snippet_version' : 1 } let g:tagbar_ctags_bin = '~/.local/opt/ctags/bin/ctags' set bg=dark " Settings set listchars=tab:›\ ,trail:·,nbsp:_,extends:»,precedes:« set list set hlsearch set number set relativenumber set nowrap set linebreak " Enable vim configs in the first or last lines of a file set modeline set modelineexpr set tabstop=4 set shiftwidth=4 set expandtab set backspace=indent,eol,start highlight LineNr ctermfg=7 highlight CusrsorLineNr ctermbg=green highlight CusrsorLine ctermbg=green colorscheme gruvbox8 " General utilities nmap gg :Goyo nmap l :set nu! relativenumber! wrap! nmap tw :set textwidth=72 nmap q :qa! nmap gv :vertical wincmd f nnoremap cd :cd %:p:h " Open shell with Ctrl+d to enable a toggle between a shell and vim nnoremap :botright terminal ++close inoremap :botright terminal ++close " Handle nerdtree and other utility-windows nmap , :NERDTreeFocus nmap c :NERDTreeClose nmap n :NERDTreeToggle nmap t :TagbarToggle nmap u :UndotreeToggle " Git nmap ga. :Git add % nmap gaa :Git add . nmap gb :Git blame nmap gc :Git commit nmap gd :Git diff nmap gl :Git lg nmap gp :Git push -u origin nmap gs :Git status " Install these files to ~/.vim/spell/ " http://ftp.vim.org/vim/runtime/spell/en.utf-8.spl " http://ftp.vim.org/vim/runtime/spell/de.utf-8.spl nmap ss :set spell! nmap sd :set spelllang=de_de nmap se :set spelllang=en_us " Tabularize nmap t, :Tabularize /,/l1 nmap tc :Tabularize /;/l1 nmap tp :Tabularize /\|/l1 nmap tt :Tabularize /\|/l1 augroup jsgroup autocmd! autocmd FileType javascript set tabstop=2 softtabstop=2 shiftwidth=2 expandtab foldlevel=5 augroup end augroup yamlgroup autocmd! autocmd FileType yaml set tabstop=2 softtabstop=2 shiftwidth=2 expandtab foldlevel=4 augroup end augroup nerdtreegroup autocmd! " Close when only Nerdtree would remain autocmd BufEnter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif augroup end augroup diffgroup autocmd! " Copy global wrap in diff (This way I can use the same behavior in diff as in normal views) autocmd FilterWritePre * if &diff | setlocal wrap< | endif if &diff nmap 1 :diffget LOCAL nmap 2 :diffget BASE nmap 3 :diffget REMOTE endif augroup end augroup vimwikigroup autocmd! autocmd BufRead,BufNewFile diary.wiki VimwikiDiaryGenerateLinks autocmd FileType vimwiki set tabstop=2 softtabstop=2 shiftwidth=2 expandtab foldlevel=10 autocmd FileType vimwiki nmap d :VimwikiDiaryIndex autocmd FileType vimwiki nmap to :VimwikiTOC autocmd FileType vimwiki noremap ZZ :Goyo!:q " Fix broken backspace functionality on mac if has("unix") let s:uname = system("uname -s") if s:uname == "Darwin" autocmd FileType vimwiki nnoremap VimwikiGoBackLink endif endif augroup end