From 5430828f3126c495ff75e702c8475a0671ba8091 Mon Sep 17 00:00:00 2001 From: Blubber Date: Sun, 23 Oct 2016 16:11:12 +0200 Subject: cleaned up and refactored vim settings --- .vimrc | 309 ----------------------------------------------------------------- 1 file changed, 309 deletions(-) delete mode 100644 .vimrc (limited to '.vimrc') diff --git a/.vimrc b/.vimrc deleted file mode 100644 index c834476..0000000 --- a/.vimrc +++ /dev/null @@ -1,309 +0,0 @@ -" dotfiles -- .vimrc -" author: johannst - -set nocompatible " make vim less vi - -"{{{ Vundle - - " to install plugins open vim and run :PluginInstall from within vim OR - " vim +PluginInstall +qall from cmd line - - filetype off " necessary for vundle!!! - set rtp+=~/.vim/bundle/Vundle.vim - - call vundle#begin() - Plugin 'VundleVim/Vundle.vim' - Plugin 'jlanzarotta/bufexplorer' - Plugin 'ap/vim-buftabline' -" Plugin 'vim-airline/vim-airline' -" Plugin 'vim-airline/vim-airline-themes' - Plugin 'majutsushi/tagbar' - Plugin 'kien/ctrlp.vim' - " c++ modifief headers: http://www.vim.org/scripts/script.php?script_id=2358 - "Plugin 'vim-scripts/OmniCppComplete' - call vundle#end() - -"}}} -"{{{ Plugin Config - - " powerline - let g:airline#extensions#tabline#enabled = 1 - let g:airline#extensions#tabline#fnamemod = ':t' - let g:airline_powerline_fonts = 1 - if !exists('g:airline_symbols') - let g:airline_symbols = {} - endif - - " tagbar - let g:tagbar_ctags_bin='~/.vim/bin/ctags' - - " CtrlP - let g:ctrlp_buftag_ctags_bin='~/.vim/bin/ctags' - let g:ctrlp_extensions = ['buffertag', 'line', 'changes', 'mixed'] - - " buftabline - let g:buftabline_indicators = 1 - - " omni complete - " add tags - " set tags+=~/.vim/tags/cpp_tags - "let OmniCpp_NamespaceSearch = 1 - "let OmniCpp_GlobalScopeSearch = 1 - "let OmniCpp_ShowAccess = 1 - "let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters - "let OmniCpp_MayCompleteDot = 1 " autocomplete after . - "let OmniCpp_MayCompleteArrow = 1 " autocomplete after -> - "let OmniCpp_MayCompleteScope = 1 " autocomplete after :: - "let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"] - "" automatically open and close the popup menu / preview window - "au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif - "set completeopt=menuone,menu,longest,preview - -"}}} - -augroup aug:AutoSaveResore - autocmd! - "autocmd VimEnter * silent! source .vim_last_session - autocmd QuitPre * mksession! .vim_last_session -augroup end - - -function! TriggerSCons(arg_string) - let base_cmd = "scons -u " - let &makeprg=base_cmd.a:arg_string - make -endfunction -" use like :SCons -j20 ... -command! -nargs=1 SCons call TriggerSCons() - -" +----------------------------+ -" | Color Settings | -" +----------------------------+ -syntax on -set background=dark -colorscheme buddy - -" +----------------------------+ -" | Basic Settings | -" +----------------------------+ -set timeoutlen=1000 " time in ms until keymap interpreted -set ttimeoutlen=100 " time in ms for key code delay, NEVER USE 0 again!!! if random numbers/letters occur, maybe change this value - -filetype plugin indent on " enable loading indent file for filetype -set ffs=unix,dos,mac " try recognizing dos, unix, and mac line endings. -set encoding=utf-8 " set default encoding to UTF-8. - -" Basic settings -set title " show title in console title bar -set confirm " prompt if closing with unsaved changes. -set laststatus=2 " always show status line -set shortmess+=a " Use [+]/[RO]/[w] for modified/readonly/written. -set showcmd " show command in status line. -set mouse=a " enable mouse usage (all modes) -set history=1000 " sets how many lines of history VIM has to remember -set tabpagemax=100 " sets how many tabs will be opened -set scrolloff=3 " set vertical scroll distance to 7 lines -set backspace=2 " had some issues with BS on empty line didn't deleted line -set noautowrite " never write a file unless I request it. -set noautowriteall " NEVER. -set noautoread " don't automatically re-read changed files. -set nowrap - -" Line/Column settings -set number " Display line numbers -set relativenumber " Display relative line numbers -set ruler " display cursor position -set cursorline " cursor line highlighting -set cursorcolumn " cursor column highlighting - -" buffer settings -set hidden " do not unload abandoned buffers - -" Tab settings -set expandtab " expand tabs to spaces -set tabstop=8 " number of columns a tab counts -set shiftwidth=3 " number of columns text is indented -set softtabstop=3 " number of columns tab counts in insert mode -set shiftround " rounds indent to a multiple of shiftwidth -"set smarttab " Handle tabs more intelligently - -" Fold settings -set foldmethod=marker " set fold method - -" Indentation settings -set autoindent " copy indent from current line when starting a new line -set smartindent " use smart indent if there is no indent file - -augroup aug:CLangStyle - autocmd! - autocmd BufRead,BufNewFile *.h,*.hh,*.hpp,*.c,*.cc,*.cpp set cinoptions=:1,=2,g1,h2 " switch-case/class-lable indentation - autocmd BufRead,BufNewFile * setlocal formatoptions-=cro " disable auto-comment -augroup end - -" Invisible character settings -"set list " show invisible character -set listchars=tab:>-,eol:$,trail:-,precedes:<,extends:> - -" Search settings -set ignorecase " case insensitive matching -set incsearch " incremental search -set hlsearch " highlight search results -set smartcase " overwrite ignorecase if pattern contains capital letters -set showmatch " show matching brackets. -set matchtime=2 " how many tenths of a second to blink when matching brackets -set matchpairs+=<:> " show matching <> as well -set magic " for regular expressions turn magic on - -" Vim command completion settings -set wildmenu " turn on the wild menu -set wildmode=longest:full " cycles between all matching choices. -set wildignore+=*.o,*.obj,.git,*.pyc,*~ " Ignore these files when completing - -" No annoying sound on errors -set noerrorbells -set novisualbell - -" automatically open Quickfix -augroup aug:QuickFixConfig - autocmd! - autocmd QuickFixCmdPost [^l]* nested botright cwindow - autocmd QuickFixCmdPost l* nested botright lwindow -augroup end - -"{{{ Keymaps - - " unset . -" noremap . - " set leader key - "execute "set =\es" - let mapleader=";" - - " re-source .vimrc - nnoremap v :source ~/.vimrc - - "remap esc button -" inoremap - inoremap jj - - " quit buffer - noremap q :bd - - " re-adjust indentation - nnoremap f mzgg=G`z - - " navigate between different splits - nnoremap j - nnoremap k - nnoremap l - nnoremap h - nnoremap j - nnoremap k - nnoremap l - nnoremap h - - " resize splits - "map 5- - "map 5+ - "map 5< - "map 5> - - " navigate between different buffers - nnoremap :bprevious - nnoremap :bnext - nnoremap :bprevious - nnoremap :bnext - - " ctrl-ae jump to line start/end - nnoremap 0 - nnoremap $ - inoremap 0 - inoremap $ - vnoremap 0 - vnoremap $ - cnoremap - cnoremap - - " Shortcut to toggle relative numbering mode - nnoremap :call ToggleRelativeNumber() - - " add a marker fold snippet (for C/C++) - nnoremap o//{{{ o//}}}A - inoremap o//{{{ o//}}}A - " only works with v-block (not v-line) - vnoremap VV''>o//}}}'<A - - " substitute selection - vnoremap "hy:%s/h/h/gc - - " yank/paste into/from register - vnoremap "ay - inoremap a - cnoremap a - - " +-----------------+ - " | Plugin specific | - " +-----------------+ - " Open BufferExplorer - nnoremap :call BufExplorer() - - " Toggle Tagbar - nnoremap t :TagbarToggle - - " build tags of your own project with Ctrl-F12 - map :!ctags -R --sort=yes --c++-kinds=+pl --fields=+iaS --extra=+q --language-force=C++ . - -"}}} -"{{{ Global Highlighting - - " hi clear CursorLine - " augroup aug:CLClear - " autocmd! ColorScheme * hi clear CursorLine - " augroup end - - "hi LineNr ctermfg=208 - - " Highlight color of current line - hi CursorLineNR cterm=bold ctermfg=255 ctermbg=208 - "hi CursorLineNR cterm=bold ctermfg=226 - augroup aug:CLNRSet - autocmd! ColorScheme * hi CursorLineNR cterm=bold ctermfg=255 ctermbg=208 - "autocmd! ColorScheme * hi CursorLineNR cterm=bold ctermfg=226 - augroup end - - " matching brackets - "hi MatchParen cterm=underline ctermbg=141 ctermfg=yellow - hi MatchParen cterm=underline ctermbg=89 ctermfg=208 - "hi MatchParen cterm=underline ctermbg=DarkMagenta ctermfg=12 - -"}}} -"{{{ Functions - " Split Window and scroll down - function! SplitScroll() - :wincmd v - :wincmd w - execute "normal! \" - :set scrollbind - :wincmd w - :set scrollbind - endfunc - - " toggle relative line number mode - function! ToggleRelativeNumber() - if(&relativenumber == 1) - set norelativenumber - else - set relativenumber - endif - endfunc -"}}} - -" +----------------------------+ -" | Tmux specific settings | -" +----------------------------+ -" tmux will send xterm-style keys when its xterm-keys option is on -if &term =~ '^screen' - execute "set =\e[1;*A" - execute "set =\e[1;*B" - execute "set =\e[1;*C" - execute "set =\e[1;*D" -endif -- cgit v1.2.3