blob: 215fd24658ed7a43aae46153674693e8c48f9e0d [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 Moolenaar4391cf92014-11-05 17:44:52 +01004" Last change: 2014 Nov 05
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
Bram Moolenaar5c736222010-01-06 20:54:52 +010017" Use Vim settings, rather than Vi settings (much better!).
Bram Moolenaar071d4272004-06-13 20:20:40 +000018" 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
Bram Moolenaar76756882014-02-05 22:02:01 +010027 set backup " keep a backup file (restore to previous version)
28 set undofile " keep an undo file (undo changes after closing)
Bram Moolenaar071d4272004-06-13 20:20:40 +000029endif
30set history=50 " keep 50 lines of command line history
31set ruler " show the cursor position all the time
32set showcmd " display incomplete commands
33set incsearch " do incremental searching
34
35" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries
36" let &guioptions = substitute(&guioptions, "t", "", "g")
37
38" Don't use Ex mode, use Q for formatting
39map Q gq
40
Bram Moolenaaraba88572008-06-25 20:13:35 +000041" CTRL-U in insert mode deletes a lot. Use CTRL-G u to first break undo,
42" so that you can undo CTRL-U after inserting a line break.
43inoremap <C-U> <C-G>u<C-U>
44
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000045" In many terminal emulators the mouse works just fine, thus enable it.
Bram Moolenaarc236c162008-07-13 17:41:49 +000046if has('mouse')
47 set mouse=a
48endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000049
50" Switch syntax highlighting on, when the terminal has colors
51" Also switch on highlighting the last used search pattern.
52if &t_Co > 2 || has("gui_running")
53 syntax on
54 set hlsearch
55endif
56
57" Only do this part when compiled with support for autocommands.
58if has("autocmd")
59
60 " Enable file type detection.
61 " Use the default filetype settings, so that mail gets 'tw' set to 72,
62 " 'cindent' is on in C files, etc.
63 " Also load indent files, to automatically do language-dependent indenting.
64 filetype plugin indent on
65
66 " Put these in an autocmd group, so that we can delete them easily.
67 augroup vimrcEx
68 au!
69
70 " For all text files set 'textwidth' to 78 characters.
71 autocmd FileType text setlocal textwidth=78
72
73 " When editing a file, always jump to the last known cursor position.
74 " Don't do it when the position is invalid or when inside an event handler
75 " (happens when dropping a file on gvim).
Bram Moolenaaraba88572008-06-25 20:13:35 +000076 " Also don't do it when the mark is in the first line, that is the default
77 " position when opening a file.
Bram Moolenaar071d4272004-06-13 20:20:40 +000078 autocmd BufReadPost *
Bram Moolenaaraba88572008-06-25 20:13:35 +000079 \ if line("'\"") > 1 && line("'\"") <= line("$") |
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000080 \ exe "normal! g`\"" |
Bram Moolenaar071d4272004-06-13 20:20:40 +000081 \ endif
82
83 augroup END
84
85else
86
87 set autoindent " always set autoindenting on
88
89endif " has("autocmd")
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000090
91" Convenient command to see the difference between the current buffer and the
92" file it was loaded from, thus the changes you made.
Bram Moolenaaraba88572008-06-25 20:13:35 +000093" Only define it when not defined already.
94if !exists(":DiffOrig")
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020095 command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis
Bram Moolenaaraba88572008-06-25 20:13:35 +000096 \ | wincmd p | diffthis
97endif
Bram Moolenaar4391cf92014-11-05 17:44:52 +010098
99if has('langmap') && exists('+langnoremap')
100 " Prevent that the langmap option applies to characters that result from a
101 " mapping. If unset (default), this may break plugins (but it's backward
102 " compatible).
103 set langnoremap
104endif