Created
August 22, 2017 03:24
-
-
Save dvidsilva/a541fa9e37eedc5057627b1bb20715a5 to your computer and use it in GitHub Desktop.
.vimrc files
This file contains 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
" don't bother with vi compatibility | |
set nocompatible | |
" enable syntax highlighting | |
syntax enable | |
" configure Vundle | |
filetype on " without this vim emits a zero exit status, later, because of :ft off | |
filetype off | |
set rtp+=~/.vim/bundle/Vundle.vim | |
call vundle#begin() | |
" install Vundle bundles | |
if filereadable(expand("~/.vimrc.bundles")) | |
source ~/.vimrc.bundles | |
source ~/.vimrc.bundles.local | |
endif | |
call vundle#end() | |
" ensure ftdetect et al work by including this after the Vundle stuff | |
filetype plugin indent on | |
set autoindent | |
set autoread " reload files when changed on disk, i.e. via `git checkout` | |
set backspace=2 " Fix broken backspace in some setups | |
set backupcopy=yes " see :help crontab | |
set clipboard=unnamed " yank and paste with the system clipboard | |
set directory-=. " don't store swapfiles in the current directory | |
set encoding=utf-8 | |
set expandtab " expand tabs to spaces | |
set ignorecase " case-insensitive search | |
set incsearch " search as you type | |
set laststatus=2 " always show statusline | |
set list " show trailing whitespace | |
set listchars=tab:▸\ ,trail:▫ | |
set number " show line numbers | |
set ruler " show where you are | |
set scrolloff=3 " show context above/below cursorline | |
set shiftwidth=2 " normal mode indentation commands use 2 spaces | |
set showcmd | |
set smartcase " case-sensitive search if any caps | |
set softtabstop=2 " insert mode tab and backspace use 2 spaces | |
set tabstop=8 " actual tabs occupy 8 characters | |
set wildignore=log/**,node_modules/**,target/**,tmp/**,*.rbc | |
set wildmenu " show a navigable menu for tab completion | |
set wildmode=longest,list,full | |
" Enable basic mouse behavior such as resizing buffers. | |
set mouse=a | |
if exists('$TMUX') " Support resizing in tmux | |
set ttymouse=xterm2 | |
endif | |
" keyboard shortcuts | |
let mapleader = ',' | |
noremap <C-h> <C-w>h | |
noremap <C-j> <C-w>j | |
noremap <C-k> <C-w>k | |
noremap <C-l> <C-w>l | |
noremap <leader>l :Align | |
nnoremap <leader>a :Ag<space> | |
nnoremap <leader>b :CtrlPBuffer<CR> | |
nnoremap <leader>d :NERDTreeToggle<CR> | |
nnoremap <leader>f :NERDTreeFind<CR> | |
nnoremap <leader>t :CtrlP<CR> | |
nnoremap <leader>T :CtrlPClearCache<CR>:CtrlP<CR> | |
nnoremap <leader>] :TagbarToggle<CR> | |
nnoremap <leader><space> :call whitespace#strip_trailing()<CR> | |
nnoremap <leader>g :GitGutterToggle<CR> | |
noremap <silent> <leader>V :source ~/.vimrc<CR>:filetype detect<CR>:exe ":echo 'vimrc reloaded'"<CR> | |
" in case you forgot to sudo | |
cnoremap w!! %!sudo tee > /dev/null % | |
" plugin settings | |
let g:ctrlp_match_window = 'order:ttb,max:20' | |
let g:NERDSpaceDelims=1 | |
let g:gitgutter_enabled = 0 | |
" Use The Silver Searcher https://github.com/ggreer/the_silver_searcher | |
if executable('ag') | |
" Use Ag over Grep | |
set grepprg=ag\ --nogroup\ --nocolor | |
" Use ag in CtrlP for listing files. Lightning fast and respects .gitignore | |
let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""' | |
endif | |
" fdoc is yaml | |
autocmd BufRead,BufNewFile *.fdoc set filetype=yaml | |
" md is markdown | |
autocmd BufRead,BufNewFile *.md set filetype=markdown | |
autocmd BufRead,BufNewFile *.md set spell | |
" extra rails.vim help | |
autocmd User Rails silent! Rnavcommand decorator app/decorators -glob=**/* -suffix=_decorator.rb | |
autocmd User Rails silent! Rnavcommand observer app/observers -glob=**/* -suffix=_observer.rb | |
autocmd User Rails silent! Rnavcommand feature features -glob=**/* -suffix=.feature | |
autocmd User Rails silent! Rnavcommand job app/jobs -glob=**/* -suffix=_job.rb | |
autocmd User Rails silent! Rnavcommand mediator app/mediators -glob=**/* -suffix=_mediator.rb | |
autocmd User Rails silent! Rnavcommand stepdefinition features/step_definitions -glob=**/* -suffix=_steps.rb | |
" automatically rebalance windows on vim resize | |
autocmd VimResized * :wincmd = | |
" Fix Cursor in TMUX | |
if exists('$TMUX') | |
let &t_SI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=1\x7\<Esc>\\" | |
let &t_EI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=0\x7\<Esc>\\" | |
else | |
let &t_SI = "\<Esc>]50;CursorShape=1\x7" | |
let &t_EI = "\<Esc>]50;CursorShape=0\x7" | |
endif | |
" Don't copy the contents of an overwritten selection. | |
vnoremap p "_dP | |
" Go crazy! | |
if filereadable(expand("~/.vimrc.local")) | |
" In your .vimrc.local, you might like: | |
" | |
" set autowrite | |
" set nocursorline | |
" set nowritebackup | |
" set whichwrap+=<,>,h,l,[,] " Wrap arrow keys between lines | |
" | |
" autocmd! bufwritepost .vimrc source ~/.vimrc | |
" noremap! jj <ESC> | |
source ~/.vimrc.local | |
endif |
This file contains 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
" Plugins here are part of the CORE Maximum Awesome setup | |
" Do NOT add bundles to this list, as they might get removed when you upgrade | |
" Maximum Awesome. | |
" Please create ~/.vimrc.bundles.local and add any extra bundles you want there | |
Plugin 'VundleVim/Vundle.vim' | |
Plugin 'airblade/vim-gitgutter' | |
Plugin 'altercation/vim-colors-solarized' | |
Plugin 'austintaylor/vim-indentobject' | |
Plugin 'christoomey/vim-tmux-navigator' | |
Plugin 'juvenn/mustache.vim' | |
Plugin 'kchmck/vim-coffee-script' | |
Plugin 'ctrlpvim/ctrlp.vim' | |
Plugin 'leafgarland/typescript-vim' | |
Plugin 'majutsushi/tagbar' | |
Plugin 'rking/ag.vim' | |
Plugin 'garbas/vim-snipmate' | |
Plugin 'MarcWeber/vim-addon-mw-utils' | |
Plugin 'tomtom/tlib_vim' | |
Plugin 'nathanaelkane/vim-indent-guides' | |
Plugin 'nono/vim-handlebars' | |
Plugin 'pangloss/vim-javascript' | |
Plugin 'wookiehangover/jshint.vim' | |
Plugin 'scrooloose/nerdtree' | |
Plugin 'scrooloose/syntastic' | |
Plugin 'slim-template/vim-slim' | |
Plugin 'tpope/vim-bundler' | |
Plugin 'tpope/vim-commentary' | |
Plugin 'tpope/vim-cucumber' | |
Plugin 'tpope/vim-dispatch' | |
Plugin 'tpope/vim-endwise' | |
Plugin 'tpope/vim-fugitive' | |
Plugin 'tpope/vim-pastie' | |
Plugin 'tpope/vim-ragtag' | |
Plugin 'tpope/vim-rails' | |
Plugin 'tpope/vim-repeat' | |
Plugin 'tpope/vim-surround' | |
Plugin 'tpope/vim-unimpaired' | |
Plugin 'tpope/vim-vividchalk' | |
Plugin 'eventualbuddha/vim-protobuf' | |
Plugin 'vim-ruby/vim-ruby' | |
Plugin 'vim-scripts/Align' | |
Plugin 'vim-scripts/greplace.vim' | |
Plugin 'vim-scripts/matchit.zip' |
This file contains 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
" add this line to your .vimrc file | |
Plugin 'mattn/emmet-vim' | |
Plugin 'mxw/vim-jsx' | |
Plugin 'digitaltoad/vim-pug' | |
Plugin 'isRuslan/vim-es6' | |
Plugin 'scrooloose/nerdcommenter' |
This file contains 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
" highlight search | |
"set hlsearch | |
"nmap <leader>hl :let @/ = ""<CR> | |
" gui settings | |
if (&t_Co == 256 || has('gui_running')) | |
if ($TERM_PROGRAM == 'iTerm.app') | |
colorscheme solarized | |
else | |
colorscheme desert | |
endif | |
endif | |
" Disambiguate ,a & ,t from the Align plugin, making them fast again. | |
" | |
" This section is here to prevent AlignMaps from adding a bunch of mappings | |
" that interfere with the very-common ,a and ,t mappings. This will get run | |
" at every startup to remove the AlignMaps for the *next* vim startup. | |
" | |
" If you do want the AlignMaps mappings, remove this section, remove | |
" ~/.vim/bundle/Align, and re-run rake in maximum-awesome. | |
function! s:RemoveConflictingAlignMaps() | |
if exists("g:loaded_AlignMapsPlugin") | |
AlignMapsClean | |
endif | |
endfunction | |
command! -nargs=0 RemoveConflictingAlignMaps call s:RemoveConflictingAlignMaps() | |
silent! autocmd VimEnter * RemoveConflictingAlignMaps | |
colorscheme Tomorrow-Night | |
" let g:user_emmet_leader_key='<C-Z>' | |
" let g:user_emmet_leader_key='hh' | |
" So we don't have to press shift when we want to get into commandmode. | |
nnoremap ; : | |
vnoremap ; : | |
cmap Cd cd %:p:h | |
set nowrap | |
let g:user_emmet_install_global = 0 | |
autocmd FileType html,css EmmetInstall | |
imap <expr> <tab> emmet#expandAbbrIntelligent("\<tab>") | |
filetype plugin indent on | |
" show existing tab with 4 spaces width | |
set tabstop=4 | |
" when indenting with '>', use 4 spaces width | |
set shiftwidth=4 | |
" On pressing tab, insert 4 spaces | |
set expandtab | |
set guifont=Source\ Code\ Pro\ Light:h16 | |
let g:jsx_ext_required = 0 | |
let g:syntastic_javascript_checkers = ['eslint'] | |
let g:syntastic_javascript_checkers = ['jsxhint'] | |
let g:syntastic_javascript_jsxhint_exec = 'jsx-jshint-wrapper' | |
au BufNewFile,BufFilePre,BufRead *.md set filetype=markdown | |
set noerrorbells visualbell t_vb= | |
autocmd GUIEnter * set visualbell t_vb= | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment