blob: a2a891c16745ae068ba3958af0c203265df182fa [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" An example for a vimrc file.
2"
3" Maintainer: Bram Moolenaar <Bram@vim.org>
Bram Moolenaaraba88572008-06-25 20:13:35 +00004" Last change: 2008 Jun 16
Bram Moolenaar071d4272004-06-13 20:20:40 +00005"
6" To use it, copy it to
7" for Unix and OS/2: ~/.vimrc
8" for Amiga: s:.vimrc
9" for MS-DOS and Win32: $VIM\_vimrc
10" for OpenVMS: sys$login:.vimrc
11
12" When started as "evim", evim.vim will already have done these settings.
13if v:progname =~? "evim"
14 finish
15endif
16
17" Use Vim settings, rather then Vi settings (much better!).
18" This must be first, because it changes other options as a side effect.
19set nocompatible
20
21" allow backspacing over everything in insert mode
22set backspace=indent,eol,start
23
24if has("vms")
25 set nobackup " do not keep a backup file, use versions instead
26else
27 set backup " keep a backup file
28endif
29set history=50 " keep 50 lines of command line history
30set ruler " show the cursor position all the time
31set showcmd " display incomplete commands
32set incsearch " do incremental searching
33
34" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries
35" let &guioptions = substitute(&guioptions, "t", "", "g")
36
37" Don't use Ex mode, use Q for formatting
38map Q gq
39
Bram Moolenaaraba88572008-06-25 20:13:35 +000040" CTRL-U in insert mode deletes a lot. Use CTRL-G u to first break undo,
41" so that you can undo CTRL-U after inserting a line break.
42inoremap <C-U> <C-G>u<C-U>
43
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000044" In many terminal emulators the mouse works just fine, thus enable it.
45set mouse=a
Bram Moolenaar071d4272004-06-13 20:20:40 +000046
47" Switch syntax highlighting on, when the terminal has colors
48" Also switch on highlighting the last used search pattern.
49if &t_Co > 2 || has("gui_running")
50 syntax on
51 set hlsearch
52endif
53
54" Only do this part when compiled with support for autocommands.
55if has("autocmd")
56
57 " Enable file type detection.
58 " Use the default filetype settings, so that mail gets 'tw' set to 72,
59 " 'cindent' is on in C files, etc.
60 " Also load indent files, to automatically do language-dependent indenting.
61 filetype plugin indent on
62
63 " Put these in an autocmd group, so that we can delete them easily.
64 augroup vimrcEx
65 au!
66
67 " For all text files set 'textwidth' to 78 characters.
68 autocmd FileType text setlocal textwidth=78
69
70 " When editing a file, always jump to the last known cursor position.
71 " Don't do it when the position is invalid or when inside an event handler
72 " (happens when dropping a file on gvim).
Bram Moolenaaraba88572008-06-25 20:13:35 +000073 " Also don't do it when the mark is in the first line, that is the default
74 " position when opening a file.
Bram Moolenaar071d4272004-06-13 20:20:40 +000075 autocmd BufReadPost *
Bram Moolenaaraba88572008-06-25 20:13:35 +000076 \ if line("'\"") > 1 && line("'\"") <= line("$") |
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000077 \ exe "normal! g`\"" |
Bram Moolenaar071d4272004-06-13 20:20:40 +000078 \ endif
79
80 augroup END
81
82else
83
84 set autoindent " always set autoindenting on
85
86endif " has("autocmd")
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000087
88" Convenient command to see the difference between the current buffer and the
89" file it was loaded from, thus the changes you made.
Bram Moolenaaraba88572008-06-25 20:13:35 +000090" Only define it when not defined already.
91if !exists(":DiffOrig")
92 command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
93 \ | wincmd p | diffthis
94endif