diff options
Diffstat (limited to 'conf/skel/.vimrc')
-rw-r--r-- | conf/skel/.vimrc | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/conf/skel/.vimrc b/conf/skel/.vimrc new file mode 100644 index 0000000..cf143fd --- /dev/null +++ b/conf/skel/.vimrc @@ -0,0 +1,150 @@ +" An example for a vimrc file. +" +" Maintainer: Bram Moolenaar <Bram@vim.org> +" Last change: 2015 Mar 24 +" +" To use it, copy it to +" for Unix and OS/2: ~/.vimrc +" for Amiga: s:.vimrc +" for MS-DOS and Win32: $VIM\_vimrc +" for OpenVMS: sys$login:.vimrc + +" When started as "evim", evim.vim will already have done these settings. +if v:progname =~? "evim" + finish +endif + +" Use Vim settings, rather than Vi settings (much better!). +" This must be first, because it changes other options as a side effect. +set nocompatible + +" allow backspacing over everything in insert mode +set backspace=indent,eol,start + +if has("vms") + set nobackup " do not keep a backup file, use versions instead +else + set backup " keep a backup file (restore to previous version) + set undofile " keep an undo file (undo changes after closing) +endif + +set history=50 " keep 50 lines of command line history +set ruler " show the cursor position all the time +set showcmd " display incomplete commands +set incsearch " do incremental searching + +" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries +" let &guioptions = substitute(&guioptions, "t", "", "g") + +" Don't use Ex mode, use Q for formatting +map Q gq + +" 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. +inoremap <C-U> <C-G>u<C-U> + +" In many terminal emulators the mouse works just fine, thus enable it. +if has('mouse') + set mouse=a +endif + +" Switch syntax highlighting on, when the terminal has colors +" Also switch on highlighting the last used search pattern. +if &t_Co > 2 || has("gui_running") + syntax on + set hlsearch + colorscheme wombat256mod +endif + +" Only do this part when compiled with support for autocommands. +if has("autocmd") + + " 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. + filetype plugin indent on + + " Put these in an autocmd group, so that we can delete them easily. + augroup vimrcEx + au! + + " For all text files set 'textwidth' to 78 characters. + autocmd FileType text setlocal textwidth=78 + + " When editing a file, always jump to the last known cursor position. + " Don't do it when the position is invalid or when inside an event handler + " (happens when dropping a file on gvim). + autocmd BufReadPost * + \ if line("'\"") >= 1 && line("'\"") <= line("$") | + \ exe "normal! g`\"" | + \ endif + + augroup END + +else + + set autoindent " always set autoindenting on + +endif " has("autocmd") + +" 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. +if !exists(":DiffOrig") + command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis + \ | wincmd p | diffthis +endif + +if has('langmap') && exists('+langnoremap') + " Prevent that the langmap option applies to characters that result from a + " mapping. If unset (default), this may break plugins (but it's backward + " compatible). + set langnoremap +endif + +map <F2> :tabnew +map <F3> :tabprevious<CR> +map <F4> :tabnext<CR> + +" Show Line Numbers +set nu +set complete=.,b,u,] +set wildmode=longest,list:longest +set completeopt=menu,preview + +" Directories +set backupdir=~/.vim/backup +set undodir=~/.vim/undodir +set viewdir=~/.vim/views +set directory=~/.vim/swap + +" Spell Check +set spell spelllang=en_us + +" Strips whitespace +nnoremap <leader>W :%s/\s\+$//<cr>:let @/=''<CR> + +" Whitespace fixes +highlight ExtraWhitespace ctermbg=red guibg=red +match ExtraWhitespace /\s\+$/ +autocmd BufWinEnter * match ExtraWhitespace /\s\+$/ +autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/ +autocmd InsertLeave * match ExtraWhitespace /\s\+$/ +autocmd BufWinLeave * call clearmatches() + + +" For tab characters that appear 4-spaces-wide +set tabstop=4 +" If you're using actual tab character in your source code you probably also +" want these settings (these are actually the defaults,set them defensively): +set softtabstop=0 noexpandtab +" Finally, if you want an indent to correspond to a single tab, you should also use: +set shiftwidth=4 +" For indents that consist of 4 space characters but are entered with the tab key: +set tabstop=8 softtabstop=0 expandtab shiftwidth=4 smarttab +set list +" set past gives problems with tabs +" set paste + + |