Created
March 21, 2016 16:36
-
-
Save cmosguy/f02fd09d90453e4128c0 to your computer and use it in GitHub Desktop.
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
let &runtimepath.=',$HOME/.vim' | |
set nocompatible "we want latest vim settings and options | |
so ~/.vim/plugins.vim | |
"so ~/.vim/indent/tcl.vim | |
"-------------General Settings--------------" | |
set directory+=$HOME | |
set directory+=$TEMP | |
set nowrap | |
syntax enable | |
"colorscheme desert | |
if has('gui_running') | |
colorscheme atom-dark | |
else | |
let g:solarized_termcolors=256 | |
colorscheme solarized | |
set background=dark | |
endif | |
set backspace=indent,eol,start "Make backspace behave like every other editor. | |
let mapleader = ',' "The default leader is \, but a comma is much better. | |
set number "Let's activate line numbers. | |
set autochdir "Set current working directory to automatically be where the current file is located | |
set noerrorbells visualbell t_vb= "No damn bells! | |
set visualbell t_vb= "no bells in gvim | |
set autowriteall "automatically write when writing buffers | |
set complete=.,w,u "set desired autocompletion to current buffer (.), window (w), buffer (b) | |
set statusline=2 "showing stausline | |
set laststatus=2 "need to set to always show status line in last window for some reason | |
set autoread "When file changed outside vim auto read | |
autocmd FileChangedShell * | |
\ echohl WarningMsg | | |
\ echo "File has been changed outside of vim." | | |
\ echohl None | |
"-------------Visuals--------------" | |
set t_CO=256 "Use 256 colors. This is useful for Terminal Vim. | |
if has("win32") || has("win16") | |
set guifont=consolas:h12 "Set the default font family and size. | |
else | |
set guifont=Monospace\ 12 | |
endif | |
set linespace=5 "Macvim-specific line-height. | |
set guioptions-=l "Disable Gui scrollbars. | |
set guioptions-=L | |
set guioptions-=r | |
set guioptions-=R | |
set guioptions-=e "remove the tabs in the gui | |
"make side line number background more pretty | |
hi LineNr guibg=bg | |
"get rid of ugly split borders | |
hi vertsplit guifg=bg guibg=bg | |
"set tab spacing to 4 and for auto indenting | |
set tabstop=4 | |
set shiftwidth=4 | |
"-------------Search--------------" | |
set hlsearch | |
set incsearch | |
"-------------Split Management--------------" | |
set splitbelow "Make splits default to below... | |
set splitright "And to the right. This feels more natural. | |
"We'll set simpler mappings to switch between splits. | |
nmap <C-J> <C-W><C-J> | |
nmap <C-K> <C-W><C-K> | |
nmap <C-H> <C-W><C-H> | |
nmap <C-L> <C-W><C-L> | |
"-------------Mappings--------------" | |
"Make it easy to edit the Vimrc file. | |
"nmap <Leader>ev :tabedit $MYVIMRC<cr> | |
nmap <Leader>ev :tabedit ~/.vim/vimrc.vim<cr> | |
nmap <Leader>es :e ~/.vim/snippets | |
nmap <Leader>csh :e ~/.cshrc.$USER<cr> | |
"Add simple highlight removal. | |
nmap <Leader><space> :nohlsearch<cr> | |
"easily replace under word and search and replace | |
nnoremap <Leader>s :%s/\<<C-r><C-w>\>/ | |
"Make NERDTree easier to toggle | |
nmap <A-1> :NERDTreeToggle<cr> | |
"Quickly browse to any tag/symbol in the project. | |
"Tip: run ctags -R to regenerated the index. | |
nmap <Leader>f :tag<space> | |
" CTRL-P plugin | |
nmap <c-R> :CtrlPBufTag<cr> | |
nmap <space><space> :CtrlPMRUFiles<cr> | |
" auto indent parts of the file | |
map <c-F> mzgg=G`z | |
"NERD commenter | |
"nmap <c-B> NERDComToggleComment | |
"open hosts.lm file | |
if has("win32") || has("win16") | |
nmap <Leader>h :tabedit C:\Windows\System32\drivers\etc\hosts<cr> | |
endif | |
"Sort PHP use statements | |
"http://stackoverflow.com/questions/11531073/how-do-you-sort-a-range-of-lines-by-length | |
vmap <Leader>su ! awk '{ print length(), $0 \| "sort -n \| cut -d\\ -f2-" }'<cr> | |
"-------------Plugins--------------" | |
"/ | |
"/ CtrlP | |
"/ | |
let g:ctrlp_custom_ignore = 'node_modules\DS_Store\|git' | |
let g:ctrlp_match_window = 'top,order:ttb,min:1,max:30,results:30' | |
"let g:ctrlp_extensions = ['symbol'] | |
"let g:symbol_patterns['javascript'] = '\.prototype.\zs\w\+\ze\ = function' | |
"/ | |
"/ NERDTree | |
"/ | |
let NERDTreeHijackNetrw = 0 | |
"/ | |
"/ tcl.vim | |
"/ | |
let tcl_extended_syntax=1 | |
au BufRead,BufNewFile *.test setfiletype tcl | |
" | |
" perforce.vim | |
" | |
runtime perforce/perforceutils.vim | |
runtime perforce/perforcemenu.vim | |
" | |
" snipmate | |
" | |
"let g:snippets_dir='$HOME\vimfiles\snippets,$HOME\vimfiles\bundle\snipmate.vim\snippets' | |
let g:snippets_dir='$HOME\.vim\snippets' | |
" | |
" vim-php-namespace | |
" | |
function! IPhpInsertUse() | |
call PhpInsertUse() | |
call feedkeys('a', 'n') | |
endfunction | |
autocmd FileType php inoremap <Leader>n <Esc>:call IPhpInsertUse()<CR> | |
autocmd FileType php noremap <Leader>n :call PhpInsertUse()<CR> | |
function! IPhpExpandClass() | |
call PhpExpandClass() | |
call feedkeys('a', 'n') | |
endfunction | |
autocmd FileType php inoremap <Leader>nf <Esc>:call IPhpExpandClass()<CR> | |
autocmd FileType php noremap <Leader>nf :call PhpExpandClass()<CR> | |
"status line | |
set encoding=utf-8 | |
scriptencoding utf-8 | |
let g:lightline = { | |
\ 'active': { | |
\ 'left': [ [ 'mode', 'paste' ], | |
\ [ 'fugitive', 'readonly', 'filename', 'modified' ] ] | |
\ }, | |
\ 'component': { | |
\ 'readonly': '%{&filetype=="help"?"":&readonly?"?":""}', | |
\ 'modified': '%{&filetype=="help"?"":&modified?"+":&modifiable?"":"-"}', | |
\ 'fugitive': '%{exists("*fugitive#head")?fugitive#head():""}' | |
\ }, | |
\ 'component_visible_condition': { | |
\ 'readonly': '(&filetype!="help"&& &readonly)', | |
\ 'modified': '(&filetype!="help"&&(&modified||!&modifiable))', | |
\ 'fugitive': '(exists("*fugitive#head") && ""!=fugitive#head())' | |
\ }, | |
\ 'separator': { 'left': '', 'right': '' }, | |
\ 'subseparator': { 'left': '|', 'right': '|' } | |
\ } | |
" | |
" Gist vim | |
" | |
let g:gist_open_browser_after_post = 1 | |
"set misc filetypes | |
au BufRead,BufNewFile *.scs setfiletype spectre | |
"-------------Auto-Commands--------------" | |
"Automatically source the Vimrc file on save. | |
augroup autosourcing | |
autocmd! | |
autocmd BufWritePost $MYVIMRC nested source $MYVIMRC | |
autocmd BufWritePost ~/.vim/vimrc.vim nested source % | |
augroup END | |
"-------------Tips and Reminders--------------" | |
"switch between buffers :bn (next buffer) | |
"zz - center screen to cursor line | |
"C-W f - open file under cursor in split window | |
"zc - close fold | |
"zo - open fold | |
"tpopes vim-surround | |
"cs - change surrounding with character then replaced character: ie cs(' | |
"change () wih '' | |
"ls - list all buffers | |
"bd - destroy current buffer |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment