I reread "vimtutor" for the first time in years. I learned a few things:
- e
- "e" is a motion that means "to the end of the word". "ce" is useful.
- /searchterm<enter>nN
- When searching, "n" to search forward, "N" to go backwards. Start with "?" to aways go backwards. I had forgotten about "N".
- :#,#s/old/new/g
- Do a search and replace only between two line numbers.
- :%s/old/new/gc
- Do a search and replace with prompts.
- :r !shellcommand
- Execute a shell command and insert the results at the cursor.
- R
- This is over-write mode.
- partial-command^D<tab>
- Show possible command completions, then tab to complete.
- evim
- gvim in "easy" mode.
" These are general settings.Now that I know how to turn on intelligent indentation *and* still control it on a per-language basis, I'm even happier :)
colorscheme torte
set autoindent
set guifont=Monospace\ 9
set hlsearch
set incsearch
set ruler
set showcmd
" Allow backspacing over everything in insert mode.
set backspace=indent,eol,start
" "T" toggles the taglist for ctags.
map T :TlistToggle<CR>
" Enable file type detection. Use the default filetype settings, so that
" mail gets 'tw' set to 72, 'cindent' is on in C files, etc. Also load
" indent files, to automatically do language-dependent indenting.
syntax on
filetype plugin indent on
" Put these in an autocmd group, so that we can delete them easily.
augroup vimrc
au!
autocmd FileType css setlocal sw=4 sts=4 et
autocmd FileType html setlocal sw=2 sts=2 et
autocmd FileType java setlocal sw=4 sts=4 et
autocmd FileType javascript setlocal sw=4 sts=4 et
autocmd FileType mason setlocal sw=2 sts=2 et
autocmd FileType ocaml setlocal sw=2 sts=2 et
autocmd FileType php setlocal sw=2 sts=2 et
autocmd FileType perl setlocal sw=4 sts=4 et
autocmd FileType python setlocal sw=4 sts=4 et tw=72
autocmd FileType scheme setlocal sw=2 sts=2 et
autocmd FileType sql setlocal et
autocmd FileType htmlcheetah setlocal sw=2 sts=2 et
autocmd FileType text setlocal sw=2 sts=2 et tw=79
augroup END
Comments
I got two things from this set of tips that will really help me. Two things that have been bugging me for ages that I always do.
The highlight search... which used to be on with vim 6.x, also the shell command insert.
I use the shell command insert now for quickly inserting the date into my log files that I keep for every project. Now no more typing into the shell, and copy/pasting it.
:r !date
Thanks again!
As far as using :r !shellcommand, I personally use !!shellcommand which replaces current line with the shell command's output.
Also, a good alternative to R for replacing text (e.g. "write over mode") is c[motion/distance] to change only the specified amount of text. For example, to change the current line 'cc' To change just 3 words 'c3w' To change text to a pattern 'c/pattern'
Glen