" Set settings set autoindent set title "set notitle set ruler set nocompatible set showcmd set ts=2 set shiftwidth=2 set expandtab set shiftround set smarttab set tw=72 set backspace=indent,eol,start set incsearch set showmatch set pastetoggle=<F11> filetype plugin on syntax on colors ron let mapleader="," " Remember where I last edited a file set viminfo='10,"100,:20,%,n~/.viminfo au BufReadPost * if line("'"") > 0|if line("'"") <= line("$")|exe("norm '"")|else|exe "norm $"|endif|endif if &term =~ "xterm-debian" || &term =~ "xterm-xfree86" || &term =~ "Eterm" set t_Co=16 set t_Sf=^[[3%dm set t_Sb=^[[4%dm endif " Settings set " Map mappings :inoremap ( ()<ESC>i :inoremap [ []<ESC>i :inoremap " ""<ESC>i :inoremap { {}<ESC>i :inoremap < <><ESC>i "map W :!aspell -c -x % " old - vim7 has spellcheck now map F gqap " http://vim.sourceforge.net/tips/tip.php?tip_id=465 " make an element out of anything you type with a CR in the middle inoremap ,,, <esc>diwi<<esc>pa><cr></<esc>pa><esc>kA " Fix common typos iab teh the iab hte the iab adn and iab nad and iab taht that iab htat that iab fo of iab ot to iab wiht with set pastetoggle=<F10> " SmartTab wrapper function! SmartTab() let col = col('.') - 1 if !col || getline('.')[col - 1] !~ 'k' return "<tab>" else return "<c-p>" endif endfunction " turn on SmartTabs inoremap <tab> <c-r>=SmartTab()<cr> " Turn on the spellcheck setlocal spell spelllang=en_us set spellfile=~/.vimspell.utf8.add " Mappings mapped " Language-specific skeleton files " Perl autocmd BufNewFile *.pl 0r ~/.vim/skel/skel.pl " HTML autocmd BufNewFile *.html 0r ~/.vim/skel/skel.html " Python autocmd BufNewFile *.py 0r ~/.vim/skel/skel.py
Seven Habits of Effective Text Editing
Like so many of the tips and tricks and hither-to unknown commands that I find in vim, I wish I have known about this years ago. There are a ton of little tricks in this short piece that are hugely useful.
One trick that I think is just the bee’s knees is *
. If you are on a word in command mode, hit *
and you will search for that word. Even better though, is the gd
trick. When the cursor is on a variable name, typing gd
will take you to the declaration of that variable.
The last thing that I think is awesome is "repeat the last change". If I am doing something repetitive, like creating an associative array of static values, I can type the first declaration and then start hitting .
in command mode until I have enough declarations for the whole array. Very sweet.
vimrc on Windoze
" This is for vim 7.0 - which has several great improvements. set nocompatible "source $VIMRUNTIME/vimrc_example.vim "source $VIMRUNTIME/mswin.vim "behave mswin set diffexpr=MyDiff() function MyDiff() let opt = '-a --binary ' if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif let arg1 = v:fname_in if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif let arg2 = v:fname_new if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif let arg3 = v:fname_out if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif let eq = '' if $VIMRUNTIME =~ ' ' if &sh =~ '<cmd' let cmd = '""' . $VIMRUNTIME . 'diff"' let eq = '"' else let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . 'diff"' endif else let cmd = $VIMRUNTIME . 'diff' endif silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq endfunction " It takes a lot of doing to get vim (which is really gvim) " to behave properly on Windoze, but I've got something that " works a bit. I have to turn auto-indenting off because it " constantly screws up, but it's better than notepad. colors pablo set guifont=Lucida_Console:h10:cANSI set nocompatible set backspace=indent,eol,start set ruler set nocompatible set showcmd set ts=2 set shiftwidth=2 set expandtab set shiftround set smarttab set tw=72 set hlsearch set lines=56 set autoindent set incsearch filetype plugin on syntax on :inoremap ( ()<Esc>i :inoremap [ []<Esc>i :inoremap " ""<Esc>i :inoremap { {}<Esc>i :inoremap < <><Esc>i :abbr teh the :abbr hte the :abbr adn and :abbr nad and :abbr taht that :abbr htat that :abbr fo of :abbr ot to " SmartTab wrapper function! SmartTab() let col = col('.') - 1 if !col || getline('.')[col - 1] !~ 'k' return "<tab>" else return "<c-p>" endif endfunction " turn on SmartTabs inoremap <tab> <c-r>=SmartTab()<cr> " Turn on the spellcheck setlocal spell spelllang=en_us