123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- " The default vimrc file.
- "
- " Maintainer: Bram Moolenaar <Bram@vim.org>
- " Last change: 2022 Mar 03
- "
- " This is loaded if no vimrc file was found.
- " Except when Vim is run with "-u NONE" or "-C".
- " Individual settings can be reverted with ":set option&".
- " Other commands can be reverted as mentioned below.
- " When started as "evim", evim.vim will already have done these settings.
- if v:progname =~? "evim"
- finish
- endif
- " Bail out if something that ran earlier, e.g. a system wide vimrc, does not
- " want Vim to use these default values.
- if exists('skip_defaults_vim')
- finish
- endif
- " Use Vim settings, rather than Vi settings (much better!).
- " This must be first, because it changes other options as a side effect.
- " Avoid side effects when it was already reset.
- if &compatible
- set nocompatible
- endif
- " When the +eval feature is missing, the set command above will be skipped.
- " Use a trick to reset compatible only when the +eval feature is missing.
- silent! while 0
- set nocompatible
- silent! endwhile
- " Allow backspacing over everything in insert mode.
- set backspace=indent,eol,start
- set history=200 " keep 200 lines of command line history
- set ruler " show the cursor position all the time
- set showcmd " display incomplete commands
- set wildmenu " display completion matches in a status line
- set ttimeout " time out for key codes
- set ttimeoutlen=100 " wait up to 100ms after Esc for special key
- " Show @@@ in the last line if it is truncated.
- set display=truncate
- " Show a few lines of context around the cursor. Note that this makes the
- " text scroll if you mouse-click near the start or end of the window.
- set scrolloff=5
- " Do incremental searching when it's possible to timeout.
- if has('reltime')
- set incsearch
- endif
- " Do not recognize octal numbers for Ctrl-A and Ctrl-X, most users find it
- " confusing.
- set nrformats-=octal
- " For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries.
- if has('win32')
- set guioptions-=t
- endif
- " Don't use Q for Ex mode, use it for formatting. Except for Select mode.
- " Revert with ":unmap Q".
- map Q gq
- sunmap Q
- " CTRL-U in insert mode deletes a lot. Use CTRL-G u to first break undo,
- " so that you can undo CTRL-U after inserting a line break.
- " Revert with ":iunmap <C-U>".
- inoremap <C-U> <C-G>u<C-U>
- " In many terminal emulators the mouse works just fine. By enabling it you
- " can position the cursor, Visually select and scroll with the mouse.
- " Only xterm can grab the mouse events when using the shift key, for other
- " terminals use ":", select text and press Esc.
- if has('mouse')
- if &term =~ 'xterm'
- set mouse=a
- else
- set mouse=nvi
- endif
- endif
- " Only do this part when Vim was compiled with the +eval feature.
- if 1
- " 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.
- " Revert with ":filetype off".
- filetype plugin indent on
- " Put these in an autocmd group, so that you can revert them with:
- " ":augroup vimStartup | exe 'au!' | augroup END"
- augroup vimStartup
- au!
- " When editing a file, always jump to the last known cursor position.
- " Don't do it when the position is invalid, when inside an event handler
- " (happens when dropping a file on gvim) and for a commit message (it's
- " likely a different one than last time).
- autocmd BufReadPost *
- \ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
- \ | exe "normal! g`\""
- \ | endif
- augroup END
- " Quite a few people accidentally type "q:" instead of ":q" and get confused
- " by the command line window. Give a hint about how to get out.
- " If you don't like this you can put this in your vimrc:
- " ":augroup vimHints | exe 'au!' | augroup END"
- augroup vimHints
- au!
- autocmd CmdwinEnter *
- \ echohl Todo |
- \ echo 'You discovered the command-line window! You can close it with ":q".' |
- \ echohl None
- augroup END
- endif
- " Switch syntax highlighting on when the terminal has colors or when using the
- " GUI (which always has colors).
- if &t_Co > 2 || has("gui_running")
- " Revert with ":syntax off".
- syntax on
- " I like highlighting strings inside C comments.
- " Revert with ":unlet c_comment_strings".
- let c_comment_strings=1
- endif
- " Convenient command to see the difference between the current buffer and the
- " file it was loaded from, thus the changes you made.
- " Only define it when not defined already.
- " Revert with: ":delcommand DiffOrig".
- if !exists(":DiffOrig")
- command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis
- \ | wincmd p | diffthis
- endif
- if has('langmap') && exists('+langremap')
- " Prevent that the langmap option applies to characters that result from a
- " mapping. If set (default), this may break plugins (but it's backward
- " compatible).
- set nolangremap
- endif
|