VIM rc-file
August 10th, 2007 by exhuma.twn
Due to inane network restrictions I am maintaining several copies of my vimrc file. I would syncronize it though other means. Alas, the restrictions not only cover the network. So I have to resort to simply posting it here.
This is not meant to be an explanation of vim configuration file. However, it contains lots of comments, and might prove a good primer/starting-point. Eventually I will also include other modifications I made in my vim-home-folder as they are either used in the vimrc or just plain useful 😉
The .vimrc
" $Id$
"-----------------------------------------------------------------------------
set nocompatible " Behave like vim and not like vi!
if has("vms") "{{{ Stuff from stack.nl (see bottom of file)
set nobackup " do not keep a backup file, use versions instead
else
set backup " keep a backup file
endif
" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
if &t_Co > 2 || has("gui_running")
syntax on
set hlsearch
endif
" Only do this part when compiled with support for autocommands.
if has("autocmd")
" 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.
filetype plugin indent on
" Put these in an autocmd group, so that we can delete them easily.
augroup vimrcEx
au!
" For all text files set 'textwidth' to 78 characters.
autocmd FileType text setlocal textwidth=78
" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
" (happens when dropping a file on gvim).
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
augroup END
else
endif " has("autocmd") }}}
"
" VIM 7 Settings
" ----------------------------------------------------------------------------
if v:version >= 700
set cursorline
endif
" Indentation settings
" ----------------------------------------------------------------------------
set autoindent " always set autoindenting on
set shiftwidth=3 " Force indentation to be 3 spaces
set tabstop=3 " -- idem --
set list " EOL, trailing spaces, tabs: show them.
set lcs=tab:>· " Tabs are shown as >·
set lcs+=trail:. " Trailing spaces are shownas periods
set expandtab " always expand tabs to spaces
" Development helpers
" ----------------------------------------------------------------------------
set showmatch " Show matching braces
" for ctrl-P and ctrl-N completion, get things from syntax file
autocmd BufEnter * exec('setlocal complete+=k$VIMRUNTIME/syntax/'.&ft.'.vim')
" Insert LGPL Header
imap <F1> <C-o>:r ~/.vim/licenses/LGPL.h<CR>
" Insert GPL Header
imap <F2> <C-o>:r ~/.vim/licenses/GPL2.h<CR>
" Insert indentation modeline
imap <F12> # vim: set shiftwidth=3 tabstop=3 expandtab ai:<CR>
" Map Meta-Left & Meta-Right to step through the error-list which is also used
" for vimgrep.
map <M-Right> :cn<CR>
map <M-Left> :np<CR>
" Display
" ----------------------------------------------------------------------------
set title " display title in X.
set foldcolumn=4 " display folds
set nowrap " Prevent wrapping
colorscheme blackbeauty
set background=dark
" UI Tweaks
" ----------------------------------------------------------------------------
" make search results appear in the middle of the screen:
nmap n nzz
nmap N Nzz
nmap * *zz
nmap # #zz
nmap g* g*zz
nmap g# g#zz
nmap <kMinus> :bprevious<CR> " Switch to previous buffer
nmap <kPlus> :bnext<CR> " Switch to next buffer
nmap <C-s> :w<CR>
set backspace=indent,eol,start " allow backspacing over everything in insert mode
set history=50 " keep 50 lines of command line history
set ruler " show the cursor position all the time
set showcmd " display incomplete commands
set so=7 " Keep a 7-lines lookahead when scrolling
set wildmenu " Show auto-complete matches
nnoremap Q gq " Don't use Ex mode, use Q for formatting
" Print Settings
" ----------------------------------------------------------------------------
set printoptions=header:3,number:y,left:10mm,right:10mm,top:10mm,bottom:10mm
" Abbreviations
" ----------------------------------------------------------------------------
iab miam Michel Albert <mymail@example.com>
" EOF... sort of ;)
" good example at http://www.stack.nl/~wjmb/stuff/dotfiles/vimrc.htm
"
" vim: set shiftwidth=3 tabstop=3 expandtab:
" vim: set foldmethod=marker foldmarker={{{,}}} foldenable foldlevel=0:
The .gvimrc
" Things to override for the GTK interface " ---------------------------------------------------------------------------- colorscheme my_inkpot map <F2> :colorscheme my_inkpot<CR>:set background=dark<CR> set cmdheight=2 " How many lines does the command-line occupy? set mousehide " Hide the mouse pointer while typing set guifont=Monospace\ 12
Posted in Babble, Coding Voodoo | 2 Comments »
