Created
July 29, 2013 03:25
-
-
Save ajace/6101976 to your computer and use it in GitHub Desktop.
my .vimrc for Web Development. PHP, Javascript, HTML, CSS, Ruby
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set nocompatible | |
"Enable filetypes | |
filetype on | |
filetype plugin on | |
filetype indent on | |
syntax on | |
"Write the old file out when switching between files. | |
set autowrite | |
"Display current cursor position in lower right corner. | |
set ruler | |
"Want a different map leader than \ | |
"set mapleader = ","; | |
"Ever notice a slight lag after typing the leader key + command? This lowers | |
"the timeout. | |
set timeoutlen=500 | |
"Switch between buffers without saving | |
set hidden | |
"/usr/share/vim/vimNN/colors | |
"Here's 100 to choose from: http://www.vim.org/scripts/script.php?script_id=625 | |
colorscheme slate | |
set background=dark " helps with syntax highlighting | |
"Set font type and size. Depends on the resolution. Larger screens, prefer h20 | |
set guifont=Menlo:h14 | |
"Tab stuff | |
set tabstop=3 | |
set shiftwidth=3 | |
set softtabstop=3 | |
set expandtab | |
" Insert Tab or complete identifier" | |
function MyTabOrComplete() | |
let col = col('.')-1 | |
if !col || getline('.')[col-1] !- '\k' | |
return "\<tab>" | |
else | |
return "\<C-N>" | |
endif | |
endfunction | |
inoremap <Tab> <C-R>=MyTabOrComplete()<CR> | |
"Show command in bottom right portion of the screen | |
set showcmd | |
"Show lines numbers | |
set number | |
"Prefer relative line numbering? | |
"set relativenumber" | |
"Indent stuff | |
set smartindent | |
set autoindent | |
"Always show the status line | |
set laststatus=2 | |
"Prefer a slightly higher line height | |
set linespace=3 | |
"Better line wrapping | |
set wrap | |
set textwidth=79 | |
set formatoptions=qrn1 | |
"Set incremental searching" | |
set incsearch | |
"Highlight searching | |
set hlsearch | |
" case insensitive search | |
set ignorecase | |
set smartcase | |
"Hide MacVim toolbar by default | |
set go-=T | |
"Hard-wrap paragraphs of text | |
nnoremap <leader>q gqip | |
"Enable code folding | |
set foldenable | |
"Hide mouse when typing | |
set mousehide | |
"Shortcut to fold tags with leader (usually \) + ft | |
nnoremap <leader>ft Vatzf | |
" Create dictionary for custom expansions | |
" set dictionary+=/Users/jeff_way/.vim/dict.txt | |
"Opens a vertical split and switches over (\v) | |
nnoremap <leader>v <C-w>v<C-w>l | |
"Split windows below the current window. | |
set splitbelow | |
" session settings | |
set sessionoptions=resize,winpos,winsize,buffers,tabpages,folds,curdir,help | |
"Set up an HTML5 template for all new .html files | |
"autocmd BufNewFile * silent! 0r $VIMHOME/templates/%:e.tpl | |
"Load the current buffer in Firefox - Mac specific. | |
"abbrev ff :! open -a firefox.app %:p<cr> | |
"Map a change directory to the desktop - Mac specific | |
"nmap <leader>d :cd ~/Desktop<cr>:e.<cr> | |
"Shortcut for editing vimrc file in a new tab | |
nmap <leader>ev :tabedit $MYVIMRC<cr> | |
"Change zen coding plugin expansion key to shift + e | |
"let g:user_zen_expandabbr_key = '<C-e>' | |
"Faster shortcut for commenting. Requires T-Comment plugin | |
"map <leader>c <c-_><c-_> | |
"Saves time; maps the spacebar to colon | |
nmap <space> : | |
"Automatically change current directory to that of the file in the buffer | |
autocmd BufEnter * cd %:p:h | |
"Map code completion to , + tab | |
imap <leader><tab> <C-x><C-o> | |
" More useful command-line completion | |
set wildmenu | |
"Auto-completion menu | |
set wildmode=list:longest | |
"http://vim.wikia.com/wiki/Make_Vim_completion_popup_menu_work_just_like_in_an_IDE | |
set completeopt=longest,menuone | |
inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>" | |
inoremap <expr> <C-n> pumvisible() ? '<C-n>' : | |
\ '<C-n><C-r>=pumvisible() ? "\<lt>Down>" : ""<CR>' | |
inoremap <expr> <M-,> pumvisible() ? '<C-n>' : | |
\ '<C-x><C-o><C-n><C-p><C-r>=pumvisible() ? "\<lt>Down>" : ""<CR>' | |
"Map escape key to jj -- much faster | |
imap jj <esc> | |
"Delete all buffers (via Derek Wyatt) | |
nmap <silent> ,da :exec "1," . bufnr('$') . "bd"<cr> | |
"Bubble single lines (kicks butt) | |
"http://vimcasts.org/episodes/bubbling-text/ | |
nmap <C-Up> ddkP | |
nmap <C-Down> ddp | |
"Bubble multiple lines | |
vmap <C-Up> xkP`[V`] | |
vmap <C-Down> xp`[V`] | |
" Source the vimrc file after saving it. This way, you don't have to reload Vim to see the changes. | |
if has("autocmd") | |
augroup myvimrchooks | |
au! | |
autocmd bufwritepost .vimrc source ~/.vimrc | |
augroup END | |
endif | |
" easier window navigation | |
nmap <C-h> <C-w>h | |
nmap <C-j> <C-w>j | |
nmap <C-k> <C-w>k | |
nmap <C-l> <C-w>l | |
"Helpful abbreviations | |
iab lorem Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. | |
iab llorem Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. | |
"Spelling corrects. Just for example. Add yours below. | |
iab teh the | |
iab Teh The | |
" Get to home dir easier | |
" <leader>hm is easier to type than :cd ~ | |
nmap <leader>hm :cd ~/ <CR> | |
" Alphabetically sort CSS properties in file with :SortCSS | |
:command! SortCSS :g#\({\n\)\@<=#.,/}/sort | |
" Shortcut to opening a virtual split to right of current pane | |
" Makes more sense than opening to the left | |
nmap <leader>bv :bel vsp | |
" Saves file when Vim window loses focus | |
au FocusLost * :wa | |
" Backups | |
set backupdir=~/.vim/tmp/backup/ " backups | |
set directory=~/.vim/tmp/swap/ " swap files | |
set backup " enable backup | |
" No more stretching for navigating files | |
"noremap h ; | |
"noremap j h | |
"noremap k gj | |
"noremap l gk | |
"noremap ; l | |
set guioptions-=l | |
set guioptions-=L | |
set guioptions-=r | |
set guioptions-=R | |
set guioptions-=T | |
set showmatch " show matching brackets | |
" print empty <a> tag | |
map! ;h <a href=""></a><ESC>5hi | |
execute pathogen#infect() | |
" ESC to escape search highlights | |
nnoremap <esc> :noh<return><esc> | |
" PHP " | |
let php_sql_query=1 " highlight sql in strings | |
let php_htmlInStrings " highlight HTML in string | |
let php_noShortTags=1 " disable short tags | |
let php_folding=1 " enable folding for classes and functions | |
" activate for nerdcommenter | |
" filetype plugin on |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment