Skip to content

Instantly share code, notes, and snippets.

@y00rb
Created December 24, 2016 02:00
Show Gist options
  • Save y00rb/af0512fa90a18ca0cb85f3c513b12a06 to your computer and use it in GitHub Desktop.
Save y00rb/af0512fa90a18ca0cb85f3c513b12a06 to your computer and use it in GitHub Desktop.
my vim config file
runtime macros/matchit.vim
color Tomorrow-Night-Bright
set background=dark
set guifont=Monaco:h13
"colorscheme solarized
let g:solarized_termcolors = 256
let g:solarized_visibility = "high"
let g:solarized_contrast = "high"
let g:ruby_path = system('rvm current')
if janus#is_plugin_enabled('fugitive')
set statusline+=%{fugitive#statusline()}
endif
if janus#is_plugin_enabled('syntastic')
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
endif
"For switch current windows
map <C-h> <C-w>h
map <C-j> <C-w>j
map <C-k> <C-w>k
map <C-l> <C-w>l
"For relative line
nmap <leader>rnu :set rnu!<CR>
:set rnu!
"For gf Path
augroup rubypath
autocmd!
autocmd FileType ruby setlocal path+=lib
augroup end
"vim-ctrlspace
hi CtrlSpaceSelected term=reverse ctermfg=187 guifg=#d7d7af ctermbg=23 guibg=#005f5f cterm=bold gui=bold
hi CtrlSpaceNormal term=NONE ctermfg=244 guifg=#808080 ctermbg=232 guibg=#080808 cterm=NONE gui=NONE
hi CtrlSpaceSearch ctermfg=220 guifg=#ffd700 ctermbg=NONE guibg=NONE cterm=bold gui=bold
hi CtrlSpaceStatus ctermfg=230 guifg=#ffffd7 ctermbg=234 guibg=#1c1c1c cterm=NONE gui=NONE
"For Rainbow parentheses
let g:rbpt_colorpairs = [
\ ['brown', 'RoyalBlue3'],
\ ['Darkblue', 'SeaGreen3'],
\ ['darkgray', 'DarkOrchid3'],
\ ['darkgreen', 'firebrick3'],
\ ['darkcyan', 'RoyalBlue3'],
\ ['darkred', 'SeaGreen3'],
\ ['darkmagenta', 'DarkOrchid3'],
\ ['brown', 'firebrick3'],
\ ['gray', 'RoyalBlue3'],
\ ['black', 'SeaGreen3'],
\ ['darkmagenta', 'DarkOrchid3'],
\ ['Darkblue', 'firebrick3'],
\ ['darkgreen', 'RoyalBlue3'],
\ ['darkcyan', 'SeaGreen3'],
\ ['darkred', 'DarkOrchid3'],
\ ['red', 'firebrick3'],
\ ]
let g:rbpt_max = 16
let g:rbpt_loadcmd_toggle = 0
au VimEnter * RainbowParenthesesToggle
au Syntax * RainbowParenthesesLoadRound
au Syntax * RainbowParenthesesLoadSquare
au Syntax * RainbowParenthesesLoadBraces
runtime macros/matchit.vim
" For ruby-block
"interface "{{{1
call textobj#user#plugin('rubyblock', {
\ '-': {
\ '*sfile*': expand('<sfile>:p'),
\ 'select-a': 'ar', '*select-a-function*': 's:select_a',
\ 'select-i': 'ir', '*select-i-function*': 's:select_i'
\ }
\ })
"Misc. "{{{1
let s:comment_escape = '\v^[^#]*'
let s:block_openers = '\zs(<def>|<if>|<do>|<module>|<class>)'
let s:start_pattern = s:comment_escape . s:block_openers
let s:end_pattern = s:comment_escape . '\zs<end>'
let s:skip_pattern = 'getline(".") =~ "\\v\\S\\s<(if|unless)>\\s\\S"'
function! s:select_a()
let s:flags = 'W'
call searchpair(s:start_pattern,'',s:end_pattern, s:flags, s:skip_pattern)
let end_pos = getpos('.')
"Jump to match
normal %
let start_pos = getpos('.')
return ['V', start_pos, end_pos]
endfunction
function! s:select_i()
let s:flags = 'W'
if expand('<cword>') == 'end'
let s:flags = 'cW'
endif
call searchpair(s:start_pattern,'',s:end_pattern, s:flags, s:skip_pattern)
"Move up one line, and save position
normal k^
let end_pos = getpos('.')
"Move down again, jump to match, then down one line and save position
normal j^%j
let start_pos = getpos('.')
return ['V', start_pos, end_pos]
endfunction
" Fin. "{{{1
let g:loaded_textobj_rubyblock = 1
"__END__
" vim: foldmethod=marker
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment