diff options
| author | Florian Fischer <florian.fl.fischer@fau.de> | 2015-07-13 13:07:07 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fl.fischer@fau.de> | 2015-07-13 13:07:07 +0200 |
| commit | 215132eeb92a0e95cd6424de2fd9f9b9563557a7 (patch) | |
| tree | 690c088258d0c19cd0b881bfbea1a1e72d40bf28 /vimrc | |
| parent | cf70c57848905d810541f454a6d272da6ed47b25 (diff) | |
| download | dotfiles-215132eeb92a0e95cd6424de2fd9f9b9563557a7.tar.gz dotfiles-215132eeb92a0e95cd6424de2fd9f9b9563557a7.zip | |
changed .* to *;
Diffstat (limited to 'vimrc')
| -rw-r--r-- | vimrc | 122 |
1 files changed, 122 insertions, 0 deletions
@@ -0,0 +1,122 @@ +" All system-wide defaults are set in $VIMRUNTIME/debian.vim and sourced by +" the call to :runtime you can find below. If you wish to change any of those +" settings, you should do it in this file (/etc/vim/vimrc), since debian.vim +" will be overwritten everytime an upgrade of the vim packages is performed. +" It is recommended to make changes after sourcing debian.vim since it alters +" the value of the 'compatible' option. + +" Uncomment the next line to make Vim more Vi-compatible +" NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous +" options, so any other options should be set AFTER setting 'compatible'. +"set compatible + +" Vim5 and later versions support syntax highlighting. Uncommenting the next +" line enables syntax highlighting by default. + +execute pathogen#infect() +filetype plugin indent on + +set t_Co=256 +syntax on +set background=dark" dark | light " +colorscheme solarized +hi Normal ctermbg=none + +set cursorline +set colorcolumn=80 + +" The following are commented out as they cause vim to behave a lot +" differently from regular Vi. They are highly recommended though. +set showcmd " Show (partial) command in status line. +set showmatch " Show matching brackets. +"set ignorecase " Do case insensitive matching +"set smartcase " Do smart case matching +"set incsearch " Incremental search +"set autowrite " Automatically save before commands like :next and :make +"set hidden " Hide buffers when they are abandoned +"set mouse=a " Enable mouse usage (all modes) +set backup " Enable backup files +"set number " Enable line numbers + +" Return to last edit position when opening files (You want this!) +autocmd BufReadPost * +\ if line("'\"") > 0 && line("'\"") <= line("$") | +\ exe "normal! g`\"" | +\ endif + +"""""""""""""""""""""""""""""" +" => Highlight Groups +"""""""""""""""""""""""""""""" +:highlight ExtraWhitespace ctermbg=red guibg=red + +"""""""""""""""""""""""""""""" +" => Visual mode related +"""""""""""""""""""""""""""""" +" Visual mode pressing * or # searches for the current selection +" Super useful! From an idea by Michael Naumann +vnoremap <silent> * :call VisualSelection('f', '')<CR> +vnoremap <silent> # :call VisualSelection('b', '')<CR> + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => Text, tab and indent related +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Use spaces instead of tabs +set expandtab +" Be smart when using tabs ;) +set smarttab +" 1 tab == 4 spaces +set shiftwidth=4 +set tabstop=4 +" Linebreak on 500 characters +set lbr +set tw=500 +set ai "Auto indent +set si "Smart indent +set wrap "Wrap lines + +"""""""""""""""""""""""""""""" +" => Status line +"""""""""""""""""""""""""""""" +" Always show the status line +set laststatus=2 +" Format the status line +set statusline=\ %{HasPaste()}%F%m%r%h\ \ \ CWD:\ %r%{getcwd()}%h\ \ \ Line:\ %l + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => Helper functions +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +function! CmdLine(str) + exe "menu Foo.Bar :" . a:str + emenu Foo.Bar + unmenu Foo +endfunction + +function! VisualSelection(direction, extra_filter) range + let l:saved_reg = @" + execute "normal! vgvy" + + let l:pattern = escape(@", '\\/.*$^~[]') + let l:pattern = substitute(l:pattern, "\n$", "", "") + + if a:direction == 'b' + execute "normal ?" . l:pattern . "^M" + elseif a:direction == 'gv' + call CmdLine("Ack \"" . l:pattern . "\" " ) + elseif a:direction == 'replace' + call CmdLine("%s" . '/'. l:pattern . '/') + elseif a:direction == 'f' + execute "normal /" . l:pattern . "^M" + endif + + let @/ = l:pattern + let @" = l:saved_reg +endfunction + +" Returns true if paste mode is enabled +function! HasPaste() + if &paste + return 'PASTE MODE ' + en + return '' +endfunction + |
