Skip to content

Instantly share code, notes, and snippets.

@DimaD
Created May 9, 2009 07:20
Show Gist options
  • Save DimaD/109173 to your computer and use it in GitHub Desktop.
Save DimaD/109173 to your computer and use it in GitHub Desktop.
" An example for a vimrc file.
"
" Maintainer: Bram Moolenaar <[email protected]>
" Last change: 2002 Sep 19
"
" 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 then Vi settings (much better!).
" This must be first, because it changes other options as a side effect.
set nocompatible
set nobackup
set nowritebackup
set softtabstop=2
set shiftwidth=2
set expandtab
" allow backspacing over everything in insert mode
set backspace=indent,eol,start
set history=500 " 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
set number " display lines numbers
" 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
" This is an alternative that also works in block mode, but the deleted
" text is lost and it only works for putting the current register.
"vnoremap p "_dp
" 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
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("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
augroup END
else
set autoindent " always set autoindenting on
endif " has("autocmd")
set fileencodings=utf-8,cp1251,koi8-r,cp866
set wildmenu
set wcm=
menu Encoding.utf-8 :e ++enc=utf-8 <CR>
menu Encoding.koi8-r :e ++enc=koi8-r <CR>
menu Encoding.windows-1251 :e ++enc=cp1251 <CR>
menu Encoding.ibm-866 :e ++enc=ibm866 <CR>
menu Encoding.koi8-u :e ++enc=koi8-u <CR>
map :emenu Encoding.
set tags+=~/.vim/systags
if !exists('Tlist_Ctags_Cmd')
nnoremap <silent> <C-L> :TlistToggle<CR>
let Tlist_Ctags_Cmd = '/usr/local/bin/ctags'
let Tlist_Exit_OnlyWindow = 1
let Tlist_Close_On_Select = 0
let Tlist_Use_Right_Window = 1
let Tlist_Compact_Format = 0
let Tlist_File_Fold_Auto_Close = 0
let Tlist_Highlight_Tag_On_BufEnter = 1
let Tlist_Auto_Highlight_Tag = 1
let Tlist_WinWidth = 38
endif
setlocal omnifunc=syntaxcomplete#Complete
" Turn on language specific omnifuncs
autocmd FileType ruby set omnifunc=rubycomplete#Complete
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
autocmd FileType c set omnifunc=ccomplete#Complete
map <leader>d :execute 'NERDTreeToggle ' . getcwd()<CR>
" Show us the command we're typing
set showcmd
" Highlight matching parens
set showmatch
set completeopt=menu,preview
" Set to auto read when a file is changed from the outside
set autoread
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment