Created
June 3, 2013 07:31
-
-
Save jk/5696591 to your computer and use it in GitHub Desktop.
my current ~/.vimrc based on http://amix.dk/vim/vimrc.html
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| set number | |
| set ruler | |
| set history=700 | |
| set cmdheight=2 | |
| set backspace=eol,start,indent | |
| set whichwrap+=<,>,h,l | |
| set ignorecase | |
| set smartcase | |
| set hlsearch | |
| set incsearch | |
| set magic | |
| set showmatch | |
| set mat=2 | |
| set noerrorbells | |
| set novisualbell | |
| set t_vb= | |
| set tm=500 | |
| syntax enable | |
| colorscheme desert | |
| set background=dark | |
| if has("gui_running") | |
| set guioptions-=T | |
| set guioptions+=e | |
| set t_Co=256 | |
| set guitablabel=%M\ %t | |
| endif | |
| set encoding=utf8 | |
| set ffs=unix,dos,mac | |
| set nobackup | |
| set nowb | |
| set noswapfile | |
| set shiftwidth=4 | |
| set tabstop=4 | |
| set ai "Auto indent | |
| set si "Smart indent | |
| set wrap "Wrap lines | |
| """""""""""""""""""""""""""""" | |
| " => 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> | |
| " Treat long lines as break lines (useful when moving around in them) | |
| map j gj | |
| map k gk | |
| " Map <Space> to / (search) and Ctrl-<Space> to ? (backwards search) | |
| map <space> / | |
| map <c-space> ? | |
| """""""""""""""""""""""""""""" | |
| " => Status line | |
| """""""""""""""""""""""""""""" | |
| " Always show the status line | |
| set laststatus=2 | |
| " Format the status line | |
| set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ 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) 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("vimgrep " . '/'. 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 | |
| " Don't close window, when deleting a buffer | |
| command! Bclose call <SID>BufcloseCloseIt() | |
| function! <SID>BufcloseCloseIt() | |
| let l:currentBufNum = bufnr("%") | |
| let l:alternateBufNum = bufnr("#") | |
| if buflisted(l:alternateBufNum) | |
| buffer # | |
| else | |
| bnext | |
| endif | |
| if bufnr("%") == l:currentBufNum | |
| new | |
| endif | |
| if buflisted(l:currentBufNum) | |
| execute("bdelete! ".l:currentBufNum) | |
| endif | |
| endfunction |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment