1" The default vimrc file. 2" 3" Maintainer: Bram Moolenaar <[email protected]> 4" Last change: 2016 Sep 02 5" 6" This is loaded if no vimrc file was found. 7" Except when Vim is run with "-u NONE" or "-C". 8" Individual settings can be reverted with ":set option&". 9" Other commands can be reverted as mentioned below. 10 11" When started as "evim", evim.vim will already have done these settings. 12if v:progname =~? "evim" 13 finish 14endif 15 16" Bail out if something that ran earlier, e.g. a system wide vimrc, does not 17" want Vim to use these default values. 18if exists('skip_defaults_vim') 19 finish 20endif 21 22" Use Vim settings, rather than Vi settings (much better!). 23" This must be first, because it changes other options as a side effect. 24set nocompatible 25 26" Allow backspacing over everything in insert mode. 27set backspace=indent,eol,start 28 29set history=200 " keep 200 lines of command line history 30set ruler " show the cursor position all the time 31set showcmd " display incomplete commands 32set wildmenu " display completion matches in a status line 33 34set ttimeout " time out for key codes 35set ttimeoutlen=100 " wait up to 100ms after Esc for special key 36 37" Show @@@ in the last line if it is truncated. 38set display=truncate 39 40" Show a few lines of context around the cursor. Note that this makes the 41" text scroll if you mouse-click near the start or end of the window. 42set scrolloff=5 43 44" Do incremental searching when it's possible to timeout. 45if has('reltime') 46 set incsearch 47endif 48 49" Do not recognize octal numbers for Ctrl-A and Ctrl-X, most users find it 50" confusing. 51set nrformats-=octal 52 53" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries. 54if has('win32') 55 set guioptions-=t 56endif 57 58" Don't use Ex mode, use Q for formatting. 59" Revert with ":unmap Q". 60map Q gq 61 62" CTRL-U in insert mode deletes a lot. Use CTRL-G u to first break undo, 63" so that you can undo CTRL-U after inserting a line break. 64" Revert with ":iunmap <C-U>". 65inoremap <C-U> <C-G>u<C-U> 66 67" In many terminal emulators the mouse works just fine. By enabling it you 68" can position the cursor, Visually select and scroll with the mouse. 69if has('mouse') 70 set mouse=a 71endif 72 73" Switch syntax highlighting on when the terminal has colors or when using the 74" GUI (which always has colors). 75if &t_Co > 2 || has("gui_running") 76 " Revert with ":syntax off". 77 syntax on 78 79 " I like highlighting strings inside C comments. 80 " Revert with ":unlet c_comment_strings". 81 let c_comment_strings=1 82endif 83 84" Only do this part when compiled with support for autocommands. 85if has("autocmd") 86 87 " Enable file type detection. 88 " Use the default filetype settings, so that mail gets 'tw' set to 72, 89 " 'cindent' is on in C files, etc. 90 " Also load indent files, to automatically do language-dependent indenting. 91 " Revert with ":filetype off". 92 filetype plugin indent on 93 94 " Put these in an autocmd group, so that you can revert them with: 95 " ":augroup vimStartup | au! | augroup END" 96 augroup vimStartup 97 au! 98 99 " When editing a file, always jump to the last known cursor position. 100 " Don't do it when the position is invalid or when inside an event handler 101 " (happens when dropping a file on gvim). 102 autocmd BufReadPost * 103 \ if line("'\"") >= 1 && line("'\"") <= line("$") | 104 \ exe "normal! g`\"" | 105 \ endif 106 107 augroup END 108 109endif " has("autocmd") 110 111" Convenient command to see the difference between the current buffer and the 112" file it was loaded from, thus the changes you made. 113" Only define it when not defined already. 114" Revert with: ":delcommand DiffOrig". 115if !exists(":DiffOrig") 116 command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis 117 \ | wincmd p | diffthis 118endif 119 120if has('langmap') && exists('+langremap') 121 " Prevent that the langmap option applies to characters that result from a 122 " mapping. If set (default), this may break plugins (but it's backward 123 " compatible). 124 set nolangremap 125endif 126