Skip to content

Instantly share code, notes, and snippets.

@arctouch-shadowroldan
Created October 19, 2011 23:34
Show Gist options
  • Save arctouch-shadowroldan/1299998 to your computer and use it in GitHub Desktop.
Save arctouch-shadowroldan/1299998 to your computer and use it in GitHub Desktop.
my vimrc
" 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 paste
set nowritebackup
set history=100 " keep 100 lines of command line history
set ruler " show the cursor position all the time
set showcmd " display incomplete commands
set incsearch " do incremental searching
" 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")) && !exists("syntax_on")
syntax on
set nohlsearch
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")
" if has("folding")
" set foldenable
" set foldmethod=syntax
" set foldlevel=1
" set foldnestmax=2
" set foldtext=strpart(getline(v:foldstart),0,50).'\ ...\ '.substitute(getline(v:foldend),'^[\ #]*','','g').'\ '
" endif
" Softtabs, 2 spaces
set tabstop=2
set shiftwidth=2
set expandtab
" Always display the status line
set laststatus=2
" <Space> is the leader character
let mapleader = " "
" Hide search highlighting
map <Leader>l :set invhls <CR>
" Opens an edit command with the path of the currently edited file filled in
" Normal mode: <Leader>e
map <Leader>e :e <C-R>=expand("%:p:h") . "/" <CR>
" Opens a tab edit command with the path of the currently edited file filled in
" Normal mode: <Leader>t
map <Leader>te :tabe <C-R>=expand("%:p:h") . "/" <CR>
" Inserts the path of the currently edited file into a command
" Command mode: Ctrl+P
cmap <C-P> <C-R>=expand("%:p:h") . "/" <CR>
" Maps autocomplete to tab
imap <Tab> <C-P>
" Duplicate a selection
" Visual mode: D
vmap D y'>p
" For Haml
au! BufRead,BufNewFile *.haml setfiletype haml
" Press ^F from insert mode to insert the current file name
imap <C-F> <C-R>=expand("%")<CR>
" Press Shift+P while in visual mode to replace the selection without
" overwriting the default register
vmap P p :call setreg('"', getreg('0')) <CR>
" Display extra whitespace
set list listchars=tab:»·,trail:·
" Edit routes
command! Rroutes :e config/routes.rb
command! RTroutes :tabe config/routes.rb
" Local config
if filereadable(".vimrc.local")
source .vimrc.local
endif
" Color scheme
highlight NonText guibg=#060606
highlight Folded guibg=#0A0A0A guifg=#9090D0
" Numbers
set number
set numberwidth=5
" Snippets are activated by Shift+Tab
let g:snippetsEmu_key = "<S-Tab>"
" Tab completion options
set wildmode=list:longest,list:full
set complete=.,w,t
" Tags
let g:Tlist_Ctags_Cmd="ctags --exclude='*.js'"
" Rails configuration
autocmd User Rails Rnavcommand step features/step_definitions -glob=**/* -suffix=_steps.rb
autocmd User Rails Rnavcommand config config -glob=**/* -suffix=.rb -default=routes
autocmd User Rails map <Leader>p :Rstep
autocmd User Rails map <Leader>sp :RSstep
autocmd User Rails map <Leader>tp :RTstep
autocmd User Rails map <Leader>m :Rmodel
autocmd User Rails map <Leader>c :Rcontroller
autocmd User Rails map <Leader>v :Rview
autocmd User Rails map <Leader>u :Runittest
autocmd User Rails map <Leader>f :Rfunctionaltest
autocmd User Rails map <Leader>i :Rintegrationtest
autocmd User Rails map <Leader>h :Rhelper
autocmd User Rails map <Leader>tm :RTmodel
autocmd User Rails map <Leader>tc :RTcontroller
autocmd User Rails map <Leader>tv :RTview
autocmd User Rails map <Leader>tu :RTunittest
autocmd User Rails map <Leader>tf :RTfunctionaltest
autocmd User Rails map <Leader>ti :RTintegrationtest
autocmd User Rails map <Leader>sm :RSmodel
autocmd User Rails map <Leader>sc :RScontroller
autocmd User Rails map <Leader>sv :RSview
autocmd User Rails map <Leader>su :RSunittest
autocmd User Rails map <Leader>sf :RSfunctionaltest
autocmd User Rails map <Leader>si :RSintegrationtest
autocmd User Rails map <Leader>g :Rconfig
autocmd User Rails map <Leader>sg :RSconfig
autocmd User Rails map <Leader>tg :RTconfig
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment