Last active
July 26, 2016 19:33
-
-
Save cszentkiralyi/529fdfa6b774cadd0c1a to your computer and use it in GitHub Desktop.
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
execute pathogen#infect() | |
syntax on | |
filetype plugin indent on | |
set ffs=unix,dos | |
set nocompatible | |
set expandtab | |
set smarttab | |
set shiftwidth=2 | |
set softtabstop=2 | |
set shiftround | |
set wildmode=full | |
set wildmenu | |
set wildignorecase | |
set linebreak " Gives breakindent hints on appropriate word boundaries | |
set breakindent | |
"set breakindentopt=shift:4,sbr | |
set showbreak=>>>\ | |
set formatoptions+=n " respect lists when indenting | |
set formatoptions+=j " smart comment joins | |
set scrolloff=2 " 2 line padding between top of screen and current line | |
set ignorecase | |
set smartcase " ignore case only when searching all lower-case | |
set incsearch | |
set encoding=utf-8 | |
set diffexpr= | |
set number | |
set backspace=indent,eol,start | |
"""""""""""""" | |
" Appearance " | |
"""""""""""""" | |
"colorscheme tomorrow-night | |
"colorscheme base16-mocha | |
colorscheme base16-twilight | |
"set colorcolumn=+1 | |
set textwidth=170 | |
set foldmethod=manual | |
set foldlevelstart=99 | |
set laststatus=2 " Force statusline to show up in all situations | |
let g:airline_left_sep='[' | |
let g:airline_right_sep=']' | |
let g:airline#extensions#tabline#enabled = 1 | |
let g:airline#extensions#tabline#show_tab_nr = 0 | |
let g:airline#extensions#tabline#show_tab_type = 1 | |
let g:airline#extensions#tabline#formatter = 'unique_tail_improved' | |
set showtabline=0 | |
let g:airline_section_a = airline#section#create(['mode', ' ', 'branch']) | |
set guitablabel=%m\ %.30f%R | |
set statusline+=%#warningmsg# | |
set statusline+=%{SyntasticStatuslineFlag()} | |
set statusline+=%* | |
let g:syntastic_javascript_checkers = ["eslint"] | |
let g:syntastic_always_populate_loc_list = 1 | |
let g:syntastic_auto_loc_list = 1 | |
let g:syntastic_check_on_open = 0 | |
let g:syntastic_check_on_wq = 0 | |
let g:rainbow#max_level = 32 " Default is dumb, like 16 or something | |
let g:rainbow#pairs = [['(',')'], ['[',']'], ['{','}']] " Defaults to just () | |
function! SelectiveRainbowParens() | |
if &ft =~ 'lisp\|clojure\|scheme' | |
RainbowParentheses | |
endif | |
endfunction | |
augroup rainbow_list | |
autocmd! | |
" autocmd FileType,Syntax lisp,clojure,scheme RainbowParentheses | |
autocmd FileType,Syntax * call SelectiveRainbowParens() | |
augroup END | |
""""""""""""""" | |
" GVim config " | |
""""""""""""""" | |
if has("gui_running") | |
set noshowmode | |
set cursorline | |
"set cursorcolumn | |
set guioptions-=T " no toolbar | |
"set lines=60 columns=100 | |
"set guifont=Lucida_Console:h9:cANSI " Old size: h10 | |
let g:airline_section_a = airline#section#create(['mode']) | |
set guifont=Hack:h9:cANSI | |
let g:airline_powerline_fonts = 1 | |
let g:airline_left_sep='' | |
let g:airline_left_alt_sep='' | |
let g:airline_right_sep='' | |
let g:airline_right_alt_sep='' | |
if !exists('g:airline_symbols') | |
let g:airline_symbols = {} | |
endif | |
let g:airline_symbols.branch = '' | |
let g:airline_symbols.readonly = '' | |
"let g:airline_symbols.linenr = '' | |
let g:airline_symbols.linenr = 'ln' | |
endif | |
"""""""""""""""""" | |
" netrw Behavior " | |
"""""""""""""""""" | |
"let g:netrw_browse_split = 4 " <Enter> opens a vsplit instead of using the same window | |
let g:netrw_preview = 1 " vertical preview | |
let g:netrw_winsize = 25 " 30% of the screen is netrw | |
let g:netrw_liststyle = 3 " tree | |
let g:netrw_banner = 0 " no banner | |
function! ToggleVExplore() | |
if exists("t:expl_buf_num") | |
let expl_win_num = bufwinnr(t:expl_buf_num) | |
if expl_win_num != -1 | |
let cur_win_num = winnr() | |
exec expl_win_num . 'wincmd w' | |
close | |
exec cur_win_num . 'wincmd w' | |
unlet t:expl_buf_num | |
else | |
unlet t:expl_buf_num | |
endif | |
else | |
exec '1wincmd w' | |
Vexplore | |
let t:expl_buf_num = bufnr("%") | |
endif | |
endfunction | |
"""""""""""""""""""""""""""" | |
" quick-scope modification " | |
"""""""""""""""""""""""""""" | |
let g:qs_highlight_on_keys = [ 'f', 'F', 't', 'T' ] | |
"let g:qs_enable = 0 | |
"let g:qs_enable_char_list = [ 'f', 'F', 't', 'T' ] | |
"function! Quick_scope_selective(movement) | |
" let needs_disabling = 0 | |
" if !g:qs_enable | |
" QuickScopeToggle | |
" redraw | |
" let needs_disabling = 1 | |
" endif | |
" let letter = nr2char(getchar()) | |
" if needs_disabling | |
" QuickScopeToggle | |
" endif | |
" return a:movement . letter | |
"endfunction | |
" | |
"""""""""""""""" | |
" CtrlP config " | |
"""""""""""""""" | |
let g:ctrlp_map = '' " Unset, custom one below | |
"let g:ctrlp_user_command = 'dir %s /-n /b /s /a-d' " Windows | |
"let g:ctrlp_custom_ignore = '\v(node_modules|\.git|resources)$' | |
let g:ctrlp_custom_ignore = { 'dir': '\v(node_modules|\.git|resources)' } | |
"""""""""""""""""""""" | |
" Speed improvements " | |
"""""""""""""""""""""" | |
"set lazyredraw | |
let g:gitgutter_realtime = 0 | |
"""""""""""" | |
" Commands " | |
"""""""""""" | |
command! XDev :lcd D:\src\xledger\ | |
command! XWeb :lcd D:\src\xledger\X.Web | |
command! XWebPublic :lcd D:\src\xledger\X.Web\Public | |
command! XSrc :lcd D:\src\xledger\X.Web\Public\Scripts\Src | |
command! XSrc2 :lcd D:\src\xledger\X.Web\Public\Scripts\Src2 | |
function! UseLightTheme(is_light) | |
if a:is_light == 1 | |
"colorscheme base16-solarized | |
colorscheme base16-atelierforest | |
set background=light | |
else | |
colorscheme base16-twilight | |
set background=dark | |
endif | |
endfunction | |
command! -nargs=1 UseLightTheme :call UseLightTheme(<args>) | |
"""""""""""" | |
" Mappings " | |
"""""""""""" | |
"nnoremap <silent> <C-e> :call ToggleVExplore()<CR> | |
nnoremap <silent> <C-E> :Vexplore .<CR> | |
cnoremap <C-h> <Left> | |
cnoremap <C-j> <Down> | |
cnoremap <C-k> <Up> | |
cnoremap <C-l> <Right> | |
nnoremap <Space> <Nop> | |
" Font size changes using <C-Up>/<C-Down> | |
nnoremap <C-Up> :silent! let &guifont = substitute( | |
\ &guifont, | |
\ ':h\zs\d\+', | |
\ '\=eval(submatch(0)+1)', | |
\ '')<CR> | |
nnoremap <C-Down> :silent! let &guifont = substitute( | |
\ &guifont, | |
\ ':h\zs\d\+', | |
\ '\=eval(submatch(0)-1)', | |
\ '')<CR> | |
" quick_scope maps, operator-pending mode included (can do 'df' with hint) | |
"for i in g:qs_enable_char_list | |
" execute 'noremap <expr> <silent>' . i . " Quick_scope_selective('". i . "')" | |
"endfor | |
" Center the active line when switching windows | |
nnoremap <C-w>h <C-w>h | |
nnoremap <C-w>k <C-w>k | |
nnoremap <C-w>j <C-w>j | |
nnoremap <C-w>l <C-w>l | |
let mapleader="," | |
let maplocalleader=" " | |
nnoremap <silent> <leader>n :set relativenumber!<CR> | |
nnoremap <silent> <leader>h :set hls!<CR> | |
nnoremap <silent> <leader>r :RainbowParentheses!!<CR> | |
nnoremap <silent> <leader>ss :SyntasticCheck<CR> | |
nnoremap <silent> <leader>sr :SyntasticReset<CR> | |
nnoremap <silent> <leader>tn :tabn<CR> | |
nnoremap <silent> <leader>tp :tabp<CR> | |
nnoremap <silent> <leader>te :tabe<CR> | |
nnoremap <silent> <leader>f :CtrlP<CR> | |
nnoremap <silent> <leader>b :CtrlPBuffer<CR> | |
" I think Undotree is broken? Maybe lack of diff | |
" nnoremap <silent> <leader>u :UndotreeToggle<CR> | |
" Clojure commands | |
nnoremap <leader>cd yiw/\v(defn\-? <C-R>"\|<C-R>"[ \r\n]+("[^"]+"[ \r\n]+)?\(fn)/<CR> | |
nmap <leader>cc mdvaf<Esc>%mf%a<CR><Esc>'fi;; <Esc>'d | |
vnoremap <leader>cc I;; <Esc> | |
vnoremap <leader>cu 2lx<Esc> | |
" Om.next commands | |
nnoremap <leader>cod yiw?def <C-R>"<CR>/factory <CR>f lyiw?defui <C-R>"<CR> | |
" Javascript commands | |
nnoremap <leader>jc mcI//<Esc>`c:delmarks c<CR> | |
nnoremap <leader>ja mq:%s/^\(.*\)}, \(.*\): function\(.*\){/\1}, \2: function\3{\r\1 console.log("\2");/<CR>'q | |
nnoremap <leader>jd yiw/\v(<C-R>": func\|function <C-R>"\(\|<C-R>" = func)/<CR> | |
" Markdown commands | |
nnoremap <leader>m1 yyp:.s/./=/g<CR> | |
nnoremap <leader>m2 yyp:.s/./-/g<CR> | |
nnoremap <leader>m3 I### <Esc> | |
nnoremap <leader>m4 I#### <Esc> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment