xref: /vim-8.2.3635/runtime/vimrc_example.vim (revision c81e5e79)
1071d4279SBram Moolenaar" An example for a vimrc file.
2071d4279SBram Moolenaar"
3071d4279SBram Moolenaar" Maintainer:	Bram Moolenaar <[email protected]>
4*c81e5e79SBram Moolenaar" Last change:	2006 Nov 16
5071d4279SBram Moolenaar"
6071d4279SBram Moolenaar" To use it, copy it to
7071d4279SBram Moolenaar"     for Unix and OS/2:  ~/.vimrc
8071d4279SBram Moolenaar"	      for Amiga:  s:.vimrc
9071d4279SBram Moolenaar"  for MS-DOS and Win32:  $VIM\_vimrc
10071d4279SBram Moolenaar"	    for OpenVMS:  sys$login:.vimrc
11071d4279SBram Moolenaar
12071d4279SBram Moolenaar" When started as "evim", evim.vim will already have done these settings.
13071d4279SBram Moolenaarif v:progname =~? "evim"
14071d4279SBram Moolenaar  finish
15071d4279SBram Moolenaarendif
16071d4279SBram Moolenaar
17071d4279SBram Moolenaar" Use Vim settings, rather then Vi settings (much better!).
18071d4279SBram Moolenaar" This must be first, because it changes other options as a side effect.
19071d4279SBram Moolenaarset nocompatible
20071d4279SBram Moolenaar
21071d4279SBram Moolenaar" allow backspacing over everything in insert mode
22071d4279SBram Moolenaarset backspace=indent,eol,start
23071d4279SBram Moolenaar
24071d4279SBram Moolenaarif has("vms")
25071d4279SBram Moolenaar  set nobackup		" do not keep a backup file, use versions instead
26071d4279SBram Moolenaarelse
27071d4279SBram Moolenaar  set backup		" keep a backup file
28071d4279SBram Moolenaarendif
29071d4279SBram Moolenaarset history=50		" keep 50 lines of command line history
30071d4279SBram Moolenaarset ruler		" show the cursor position all the time
31071d4279SBram Moolenaarset showcmd		" display incomplete commands
32071d4279SBram Moolenaarset incsearch		" do incremental searching
33071d4279SBram Moolenaar
34071d4279SBram Moolenaar" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries
35071d4279SBram Moolenaar" let &guioptions = substitute(&guioptions, "t", "", "g")
36071d4279SBram Moolenaar
37071d4279SBram Moolenaar" Don't use Ex mode, use Q for formatting
38071d4279SBram Moolenaarmap Q gq
39071d4279SBram Moolenaar
40*c81e5e79SBram Moolenaar" In many terminal emulators the mouse works just fine, thus enable it.
41*c81e5e79SBram Moolenaarset mouse=a
42071d4279SBram Moolenaar
43071d4279SBram Moolenaar" Switch syntax highlighting on, when the terminal has colors
44071d4279SBram Moolenaar" Also switch on highlighting the last used search pattern.
45071d4279SBram Moolenaarif &t_Co > 2 || has("gui_running")
46071d4279SBram Moolenaar  syntax on
47071d4279SBram Moolenaar  set hlsearch
48071d4279SBram Moolenaarendif
49071d4279SBram Moolenaar
50071d4279SBram Moolenaar" Only do this part when compiled with support for autocommands.
51071d4279SBram Moolenaarif has("autocmd")
52071d4279SBram Moolenaar
53071d4279SBram Moolenaar  " Enable file type detection.
54071d4279SBram Moolenaar  " Use the default filetype settings, so that mail gets 'tw' set to 72,
55071d4279SBram Moolenaar  " 'cindent' is on in C files, etc.
56071d4279SBram Moolenaar  " Also load indent files, to automatically do language-dependent indenting.
57071d4279SBram Moolenaar  filetype plugin indent on
58071d4279SBram Moolenaar
59071d4279SBram Moolenaar  " Put these in an autocmd group, so that we can delete them easily.
60071d4279SBram Moolenaar  augroup vimrcEx
61071d4279SBram Moolenaar  au!
62071d4279SBram Moolenaar
63071d4279SBram Moolenaar  " For all text files set 'textwidth' to 78 characters.
64071d4279SBram Moolenaar  autocmd FileType text setlocal textwidth=78
65071d4279SBram Moolenaar
66071d4279SBram Moolenaar  " When editing a file, always jump to the last known cursor position.
67071d4279SBram Moolenaar  " Don't do it when the position is invalid or when inside an event handler
68071d4279SBram Moolenaar  " (happens when dropping a file on gvim).
69071d4279SBram Moolenaar  autocmd BufReadPost *
70071d4279SBram Moolenaar    \ if line("'\"") > 0 && line("'\"") <= line("$") |
71*c81e5e79SBram Moolenaar    \   exe "normal! g`\"" |
72071d4279SBram Moolenaar    \ endif
73071d4279SBram Moolenaar
74071d4279SBram Moolenaar  augroup END
75071d4279SBram Moolenaar
76071d4279SBram Moolenaarelse
77071d4279SBram Moolenaar
78071d4279SBram Moolenaar  set autoindent		" always set autoindenting on
79071d4279SBram Moolenaar
80071d4279SBram Moolenaarendif " has("autocmd")
81*c81e5e79SBram Moolenaar
82*c81e5e79SBram Moolenaar" Convenient command to see the difference between the current buffer and the
83*c81e5e79SBram Moolenaar" file it was loaded from, thus the changes you made.
84*c81e5e79SBram Moolenaarcommand DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
85*c81e5e79SBram Moolenaar	 	\ | wincmd p | diffthis
86