Last active
August 29, 2015 14:16
-
-
Save irrationalistic/a5b7756de2979ef7425f to your computer and use it in GitHub Desktop.
Vim
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
" File: .vimrc | |
" Author: Chris Rolfs | |
" | |
" Gotta be first | |
set nocompatible | |
filetype off | |
set guifont=Meslo\ LG\ S\ DZ\ Regular\ for\ Powerline:h14 | |
set rtp+=~/.vim/bundle/Vundle.vim | |
call vundle#begin() | |
Plugin 'gmarik/Vundle.vim' | |
" ----- Making Vim look good ------------------------------------------ | |
Plugin 'altercation/vim-colors-solarized' | |
Plugin 'tomasr/molokai' | |
Plugin 'bling/vim-airline' | |
" ----- Vim as a programmer's text editor ----------------------------- | |
Plugin 'scrooloose/nerdtree' | |
Plugin 'jistr/vim-nerdtree-tabs' | |
Plugin 'scrooloose/syntastic' | |
Plugin 'xolox/vim-misc' | |
Plugin 'xolox/vim-easytags' | |
Plugin 'majutsushi/tagbar' | |
Plugin 'kien/ctrlp.vim' | |
Plugin 'vim-scripts/a.vim' | |
" ----- Working with Git ---------------------------------------------- | |
Plugin 'airblade/vim-gitgutter' | |
Plugin 'tpope/vim-fugitive' | |
" ----- Other text editing features ----------------------------------- | |
Plugin 'Raimondi/delimitMate' | |
" ----- man pages, tmux ----------------------------------------------- | |
Plugin 'jez/vim-superman' | |
Plugin 'christoomey/vim-tmux-navigator' | |
" ----- Syntax plugins ------------------------------------------------ | |
Plugin 'jez/vim-c0' | |
Plugin 'jez/vim-ispc' | |
Plugin 'kchmck/vim-coffee-script' | |
" ---- Extras/Advanced plugins ---------------------------------------- | |
" Highlight and strip trailing whitespace | |
"Plugin 'ntpeters/vim-better-whitespace' | |
" Easily surround chunks of text | |
Plugin 'tpope/vim-surround' | |
" Align CSV files at commas, align Markdown tables, and more | |
"Plugin 'godlygeek/tabular' | |
" Automaticall insert the closing HTML tag | |
Plugin 'HTML-AutoCloseTag' | |
" Make tmux look like vim-airline (read README for extra instructions) | |
"Plugin 'edkolev/tmuxline.vim' | |
" All the other syntax plugins I use | |
"Plugin 'ekalinin/Dockerfile.vim' | |
Plugin 'digitaltoad/vim-jade' | |
"Plugin 'tpope/vim-liquid' | |
Plugin 'cakebaker/scss-syntax.vim' | |
Plugin 'pangloss/vim-javascript' | |
Plugin 'elzr/vim-json' | |
Plugin 'jelera/vim-javascript-syntax' | |
Plugin 'scrooloose/nerdcommenter' | |
Plugin 'godlygeek/tabular' | |
Plugin 'mattn/emmet-vim' | |
Plugin 'wellle/targets.vim' | |
call vundle#end() | |
filetype plugin indent on | |
" --- Custom Plugin Maps --- | |
if exists(":Tabularize") | |
nmap <Leader>a= :Tabularize /=<CR> | |
vmap <Leader>a= :Tabularize /=<CR> | |
nmap <Leader>a: :Tabularize /:\zs<CR> | |
vmap <Leader>a: :Tabularize /:\zs<CR> | |
endif | |
" --- General settings --- | |
set backspace=indent,eol,start | |
set ruler | |
" set relativenumber | |
set number | |
set cursorline | |
set showcmd | |
set incsearch | |
set hlsearch | |
syntax on | |
set mouse=a | |
set tabstop=2 | |
set shiftwidth=2 | |
set expandtab | |
set guioptions-=L | |
set guioptions-=T | |
set guioptions-=r | |
" ----- Plugin-Specific Settings -------------------------------------- | |
" ----- altercation/vim-colors-solarized settings ----- | |
" Toggle this to "light" for light colorscheme | |
set background=dark | |
" Uncomment the next line if your terminal is not configured for solarized | |
"let g:solarized_termcolors=256 | |
" Set the colorscheme | |
colorscheme molokai | |
" ----- bling/vim-airline settings ----- | |
" Always show statusbar | |
set laststatus=2 | |
" Fancy arrow symbols, requires a patched font | |
" To install a patched font, run over to | |
" https://github.com/abertsch/Menlo-for-Powerline | |
" download all the .ttf files, double-click on them and click "Install" | |
" Finally, uncomment the next line | |
let g:airline_powerline_fonts = 1 | |
" Show PASTE if in paste mode | |
let g:airline_detect_paste=1 | |
" Show airline for tabs too | |
let g:airline#extensions#tabline#enabled = 1 | |
" Enable fugitive | |
let g:airline#extensions#branch#enabled = 1 | |
" ----- jistr/vim-nerdtree-tabs ----- | |
" Open/close NERDTree Tabs with \t | |
nmap <silent> <leader>t :NERDTreeTabsToggle<CR> | |
" To have NERDTree always open on startup | |
let g:nerdtree_tabs_open_on_console_startup = 1 | |
" ----- scrooloose/syntastic settings ----- | |
let g:syntastic_error_symbol = '✘' | |
let g:syntastic_warning_symbol = "▲" | |
augroup mySyntastic | |
au! | |
au FileType tex let b:syntastic_mode = "passive" | |
augroup END | |
" ----- xolox/vim-easytags settings ----- | |
" Where to look for tags files | |
set tags=./tags;,~/.vimtags | |
" Sensible defaults | |
let g:easytags_events = ['BufReadPost', 'BufWritePost'] | |
let g:easytags_async = 1 | |
let g:easytags_dynamic_files = 2 | |
let g:easytags_resolve_links = 1 | |
let g:easytags_suppress_ctags_warning = 1 | |
" ----- majutsushi/tagbar settings ----- | |
" Open/close tagbar with \b | |
nmap <silent> <leader>b :TagbarToggle<CR> | |
" Uncomment to open tagbar automatically whenever possible | |
"autocmd BufEnter * nested :call tagbar#autoopen(0) | |
" ----- airblade/vim-gitgutter settings ----- | |
" Required after having changed the colorscheme | |
hi clear SignColumn | |
" In vim-airline, only display "hunks" if the diff is non-zero | |
let g:airline#extensions#hunks#non_zero_only = 1 | |
" ----- Raimondi/delimitMate settings ----- | |
let delimitMate_expand_cr = 1 | |
augroup mydelimitMate | |
au! | |
au FileType markdown let b:delimitMate_nesting_quotes = ["`"] | |
au FileType tex let b:delimitMate_quotes = "" | |
au FileType tex let b:delimitMate_matchpairs = "(:),[:],{:},`:'" | |
au FileType python let b:delimitMate_nesting_quotes = ['"', "'"] | |
augroup END | |
" ----- Vim Indent Guides ----- | |
" let g:indent_guides_guide_size = 1 | |
" let g:indent_guides_start_level = 1 | |
source ~/my_colemak2.vim | |
source ~/.vim/scripts/bufkill.vim | |
let &t_SI = "\<Esc>]50;CursorShape=1\x7" | |
let &t_EI = "\<Esc>]50;CursorShape=0\x7" |
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
" colemak rebind | |
map n gj | |
map e gk | |
nnoremap i l|xnoremap i l | |
" bump n to c-k and N to c-m | |
nnoremap <c-u> n|xnoremap <c-u> n|onoremap <c-u> n| | |
nnoremap <c-y> N|xnoremap <c-y> N|onoremap <c-y> N| | |
" use k for insert/command | |
imap kk <Esc> | |
noremap k i | |
noremap K I | |
" colemak u | |
noremap l u | |
noremap L U | |
" insert quick movement | |
" imap <c-h> <left> | |
" imap <c-n> <down> | |
" imap <c-e> <up> | |
" imap <c-i> <right> | |
" window movement | |
nnoremap <c-w>n <c-w>j | |
nnoremap <c-w>i <c-w>l | |
nnoremap <c-w>e <c-w>k | |
" quick window move | |
map <C-h> <C-w>h | |
map <C-n> <C-w>j | |
map <C-e> <C-w>k | |
map <C-i> <C-w>l | |
" this nerdtree mapping interferes with movement | |
let g:NERDTreeMapOpenExpl = "j" | |
silent! nmap <C-p> :NERDTreeToggle<CR> | |
silent! map <F3> :NERDTreeFind<CR> | |
let g:NERDTreeMapActivateNode="<F3>" | |
let g:NERDTreeMapPreview="<F4>" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment