├── .gitignore ├── .gitmodules ├── .gtkrc-2.0-vim ├── .vim ├── colors │ ├── Monokai.vim │ ├── molokai.vim │ └── slate.vim └── templates │ ├── html │ ├── perl │ ├── python │ ├── ruby │ └── sh ├── .vimrc ├── Gemfile ├── Gemfile.lock ├── README.md ├── Rakefile ├── config.yml ├── core ├── config.rb └── log.rb ├── gvim_for_rails └── gvim_for_rails.desktop /.gitignore: -------------------------------------------------------------------------------- 1 | .vim/tmp/undo/* 2 | .vim/tmp/swap/* 3 | .vim/tmp/backup/* 4 | *~ 5 | *.log 6 | /.vim/bundle/ack.vim 7 | /.vim/bundle/clang_complete 8 | /.vim/bundle/ctrlp.vim 9 | /.vim/bundle/delimitMate 10 | /.vim/bundle/gist-vim 11 | /.vim/bundle/gundo.vim 12 | /.vim/bundle/html5.vim 13 | /.vim/bundle/nerdcommenter 14 | /.vim/bundle/nerdtree 15 | /.vim/bundle/supertab 16 | /.vim/bundle/syntastic 17 | /.vim/bundle/tlib_vim 18 | /.vim/bundle/tmuxline.vim 19 | /.vim/bundle/vim-addon-mw-utils 20 | /.vim/bundle/vim-airline 21 | /.vim/bundle/vim-bundler 22 | /.vim/bundle/vim-coffee-script 23 | /.vim/bundle/vim-commentary 24 | /.vim/bundle/vim-css-color 25 | /.vim/bundle/vim-cucumber 26 | /.vim/bundle/vim-dispatch 27 | /.vim/bundle/vim-ember-script 28 | /.vim/bundle/vim-emblem 29 | /.vim/bundle/vim-endwise 30 | /.vim/bundle/vim-fugitive 31 | /.vim/bundle/vim-git 32 | /.vim/bundle/vim-javascript 33 | /.vim/bundle/vim-mustache-handlebars 34 | /.vim/bundle/vim-rails 35 | /.vim/bundle/vim-rake 36 | /.vim/bundle/vim-rspec 37 | /.vim/bundle/vim-ruby 38 | /.vim/bundle/vim-snipmate 39 | /.vim/bundle/vim-snippets 40 | /.vim/bundle/vim-surround 41 | /.vim/bundle/vim-tags 42 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule ".vim/bundle/vundle"] 2 | path = .vim/bundle/vundle 3 | url = https://github.com/gmarik/vundle.git 4 | -------------------------------------------------------------------------------- /.gtkrc-2.0-vim: -------------------------------------------------------------------------------- 1 | # fix for gvim border 2 | style "vim-fix" { 3 | bg[NORMAL] = "#242424" # this matches my gvim theme 'Normal' bg color. 4 | fg[NORMAL] = "#ffffff" 5 | } 6 | 7 | style "vim-fix-tabs" { 8 | bg[NORMAL] = shade(1.02, "#656565") 9 | bg[ACTIVE] = shade(1.25, "#878787") 10 | fg[ACTIVE] = "#323232" 11 | } 12 | 13 | widget "vim-main-window*" style "vim-fix" 14 | widget "vim-main-window.*.GtkNotebook*" style "vim-fix-tabs" 15 | -------------------------------------------------------------------------------- /.vim/colors/Monokai.vim: -------------------------------------------------------------------------------- 1 | " Vim color file 2 | " Converted from Textmate theme Monokai using Coloration v0.3.2 (http://github.com/sickill/coloration) 3 | 4 | set background=dark 5 | highlight clear 6 | 7 | if exists("syntax_on") 8 | syntax reset 9 | endif 10 | 11 | let g:colors_name = "Monokai" 12 | 13 | hi Cursor ctermfg=235 ctermbg=231 cterm=NONE guifg=#272822 guibg=#f8f8f0 gui=NONE 14 | hi Visual ctermfg=NONE ctermbg=59 cterm=NONE guifg=NONE guibg=#49483e gui=NONE 15 | hi CursorLine ctermfg=NONE ctermbg=237 cterm=NONE guifg=NONE guibg=#3c3d37 gui=NONE 16 | hi CursorColumn ctermfg=NONE ctermbg=237 cterm=NONE guifg=NONE guibg=#3c3d37 gui=NONE 17 | hi ColorColumn ctermfg=NONE ctermbg=237 cterm=NONE guifg=NONE guibg=#3c3d37 gui=NONE 18 | hi LineNr ctermfg=102 ctermbg=237 cterm=NONE guifg=#90908a guibg=#3c3d37 gui=NONE 19 | hi VertSplit ctermfg=241 ctermbg=241 cterm=NONE guifg=#64645e guibg=#64645e gui=NONE 20 | hi MatchParen ctermfg=197 ctermbg=NONE cterm=underline guifg=#f92672 guibg=NONE gui=underline 21 | hi StatusLine ctermfg=231 ctermbg=241 cterm=bold guifg=#f8f8f2 guibg=#64645e gui=bold 22 | hi StatusLineNC ctermfg=231 ctermbg=241 cterm=NONE guifg=#f8f8f2 guibg=#64645e gui=NONE 23 | hi Pmenu ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 24 | hi PmenuSel ctermfg=NONE ctermbg=59 cterm=NONE guifg=NONE guibg=#49483e gui=NONE 25 | hi IncSearch ctermfg=235 ctermbg=186 cterm=NONE guifg=#272822 guibg=#e6db74 gui=NONE 26 | hi Search ctermfg=NONE ctermbg=NONE cterm=underline guifg=NONE guibg=NONE gui=underline 27 | hi Directory ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE 28 | hi Folded ctermfg=242 ctermbg=235 cterm=NONE guifg=#75715e guibg=#272822 gui=NONE 29 | 30 | hi Normal ctermfg=231 ctermbg=235 cterm=NONE guifg=#f8f8f2 guibg=#272822 gui=NONE 31 | hi Boolean ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE 32 | hi Character ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE 33 | hi Comment ctermfg=242 ctermbg=NONE cterm=NONE guifg=#75715e guibg=NONE gui=NONE 34 | hi Conditional ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE 35 | hi Constant ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 36 | hi Define ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE 37 | hi DiffAdd ctermfg=231 ctermbg=64 cterm=bold guifg=#f8f8f2 guibg=#46830c gui=bold 38 | hi DiffDelete ctermfg=88 ctermbg=NONE cterm=NONE guifg=#8b0807 guibg=NONE gui=NONE 39 | hi DiffChange ctermfg=231 ctermbg=23 cterm=NONE guifg=#f8f8f2 guibg=#243955 gui=NONE 40 | hi DiffText ctermfg=231 ctermbg=24 cterm=bold guifg=#f8f8f2 guibg=#204a87 gui=bold 41 | hi ErrorMsg ctermfg=231 ctermbg=197 cterm=NONE guifg=#f8f8f0 guibg=#9E1828 gui=NONE 42 | hi WarningMsg ctermfg=231 ctermbg=197 cterm=NONE guifg=#f8f8f0 guibg=#9E1828 gui=NONE 43 | hi Float ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE 44 | hi Function ctermfg=148 ctermbg=NONE cterm=NONE guifg=#a6e22e guibg=NONE gui=NONE 45 | hi Identifier ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE 46 | hi Keyword ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE 47 | hi Label ctermfg=186 ctermbg=NONE cterm=NONE guifg=#e6db74 guibg=NONE gui=NONE 48 | hi NonText ctermfg=59 ctermbg=236 cterm=NONE guifg=#49483e guibg=#31322c gui=NONE 49 | hi Number ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE 50 | hi Operator ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE 51 | hi PreProc ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE 52 | hi Special ctermfg=231 ctermbg=NONE cterm=NONE guifg=#f8f8f2 guibg=NONE gui=NONE 53 | hi SpecialKey ctermfg=59 ctermbg=237 cterm=NONE guifg=#49483e guibg=#3c3d37 gui=NONE 54 | hi Statement ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE 55 | hi StorageClass ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE 56 | hi String ctermfg=186 ctermbg=NONE cterm=NONE guifg=#e6db74 guibg=NONE gui=NONE 57 | hi Tag ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE 58 | hi Title ctermfg=231 ctermbg=NONE cterm=bold guifg=#f8f8f2 guibg=NONE gui=bold 59 | hi Todo ctermfg=95 ctermbg=NONE cterm=inverse,bold guifg=#75715e guibg=NONE gui=inverse,bold 60 | hi Type ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 61 | hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline guifg=NONE guibg=NONE gui=underline 62 | hi rubyClass ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE 63 | hi rubyFunction ctermfg=148 ctermbg=NONE cterm=NONE guifg=#a6e22e guibg=NONE gui=NONE 64 | hi rubyInterpolationDelimiter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 65 | hi rubySymbol ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE 66 | hi rubyConstant ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE 67 | hi rubyStringDelimiter ctermfg=186 ctermbg=NONE cterm=NONE guifg=#e6db74 guibg=NONE gui=NONE 68 | hi rubyBlockParameter ctermfg=208 ctermbg=NONE cterm=NONE guifg=#fd971f guibg=NONE gui=NONE 69 | hi rubyInstanceVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 70 | hi rubyInclude ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE 71 | hi rubyGlobalVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 72 | hi rubyRegexp ctermfg=186 ctermbg=NONE cterm=NONE guifg=#e6db74 guibg=NONE gui=NONE 73 | hi rubyRegexpDelimiter ctermfg=186 ctermbg=NONE cterm=NONE guifg=#e6db74 guibg=NONE gui=NONE 74 | hi rubyEscape ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE 75 | hi rubyControl ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE 76 | hi rubyClassVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 77 | hi rubyOperator ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE 78 | hi rubyException ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE 79 | hi rubyPseudoVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 80 | hi rubyRailsUserClass ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE 81 | hi rubyRailsARAssociationMethod ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE 82 | hi rubyRailsARMethod ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE 83 | hi rubyRailsRenderMethod ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE 84 | hi rubyRailsMethod ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE 85 | hi erubyDelimiter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 86 | hi erubyComment ctermfg=95 ctermbg=NONE cterm=NONE guifg=#75715e guibg=NONE gui=NONE 87 | hi erubyRailsMethod ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE 88 | hi htmlTag ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 89 | hi htmlEndTag ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 90 | hi htmlTagName ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 91 | hi htmlArg ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 92 | hi htmlSpecialChar ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE 93 | hi javaScriptFunction ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE 94 | hi javaScriptRailsFunction ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE 95 | hi javaScriptBraces ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 96 | hi yamlKey ctermfg=197 ctermbg=NONE cterm=NONE guifg=#f92672 guibg=NONE gui=NONE 97 | hi yamlAnchor ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 98 | hi yamlAlias ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 99 | hi yamlDocumentHeader ctermfg=186 ctermbg=NONE cterm=NONE guifg=#e6db74 guibg=NONE gui=NONE 100 | hi cssURL ctermfg=208 ctermbg=NONE cterm=NONE guifg=#fd971f guibg=NONE gui=NONE 101 | hi cssFunctionName ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE 102 | hi cssColor ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE 103 | hi cssPseudoClassId ctermfg=148 ctermbg=NONE cterm=NONE guifg=#a6e22e guibg=NONE gui=NONE 104 | hi cssClassName ctermfg=148 ctermbg=NONE cterm=NONE guifg=#a6e22e guibg=NONE gui=NONE 105 | hi cssValueLength ctermfg=141 ctermbg=NONE cterm=NONE guifg=#ae81ff guibg=NONE gui=NONE 106 | hi cssCommonAttr ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=NONE 107 | hi cssBraces ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 108 | -------------------------------------------------------------------------------- /.vim/colors/molokai.vim: -------------------------------------------------------------------------------- 1 | " Vim color file 2 | " 3 | " Author: Tomas Restrepo 4 | " 5 | " Note: Based on the monokai theme for textmate 6 | " by Wimer Hazenberg and its darker variant 7 | " by Hamish Stuart Macpherson 8 | " 9 | 10 | hi clear 11 | 12 | set background=dark 13 | if version > 580 14 | " no guarantees for version 5.8 and below, but this makes it stop 15 | " complaining 16 | hi clear 17 | if exists("syntax_on") 18 | syntax reset 19 | endif 20 | endif 21 | let g:colors_name="molokai" 22 | 23 | if exists("g:molokai_original") 24 | let s:molokai_original = g:molokai_original 25 | else 26 | let s:molokai_original = 0 27 | endif 28 | 29 | 30 | hi Boolean guifg=#AE81FF 31 | hi Character guifg=#E6DB74 32 | hi Number guifg=#AE81FF 33 | hi String guifg=#E6DB74 34 | hi Conditional guifg=#F92672 gui=bold 35 | hi Constant guifg=#AE81FF gui=bold 36 | hi Cursor guifg=#000000 guibg=#F8F8F0 37 | hi Debug guifg=#BCA3A3 gui=bold 38 | hi Define guifg=#66D9EF 39 | hi Delimiter guifg=#8F8F8F 40 | hi DiffAdd guibg=#13354A 41 | hi DiffChange guifg=#89807D guibg=#4C4745 42 | hi DiffDelete guifg=#960050 guibg=#1E0010 43 | hi DiffText guibg=#4C4745 gui=italic,bold 44 | 45 | hi Directory guifg=#A6E22E gui=bold 46 | hi Error guifg=#960050 guibg=#1E0010 47 | hi ErrorMsg guifg=#F92672 guibg=#232526 gui=bold 48 | hi Exception guifg=#A6E22E gui=bold 49 | hi Float guifg=#AE81FF 50 | hi FoldColumn guifg=#465457 guibg=#000000 51 | hi Folded guifg=#465457 guibg=#000000 52 | hi Function guifg=#A6E22E 53 | hi Identifier guifg=#FD971F 54 | hi Ignore guifg=#808080 guibg=bg 55 | hi IncSearch guifg=#C4BE89 guibg=#000000 56 | 57 | hi Keyword guifg=#F92672 gui=bold 58 | hi Label guifg=#E6DB74 gui=none 59 | hi Macro guifg=#C4BE89 gui=italic 60 | hi SpecialKey guifg=#66D9EF gui=italic 61 | 62 | hi MatchParen guifg=#000000 guibg=#FD971F gui=bold 63 | hi ModeMsg guifg=#E6DB74 64 | hi MoreMsg guifg=#E6DB74 65 | hi Operator guifg=#F92672 66 | 67 | " complete menu 68 | hi Pmenu guifg=#66D9EF guibg=#000000 69 | hi PmenuSel guibg=#808080 70 | hi PmenuSbar guibg=#080808 71 | hi PmenuThumb guifg=#66D9EF 72 | 73 | hi PreCondit guifg=#A6E22E gui=bold 74 | hi PreProc guifg=#A6E22E 75 | hi Question guifg=#66D9EF 76 | hi Repeat guifg=#F92672 gui=bold 77 | hi Search guifg=#FFFFFF guibg=#455354 78 | " marks column 79 | hi SignColumn guifg=#A6E22E guibg=#232526 80 | hi SpecialChar guifg=#F92672 gui=bold 81 | hi SpecialComment guifg=#465457 gui=bold 82 | hi Special guifg=#66D9EF guibg=bg gui=italic 83 | hi SpecialKey guifg=#888A85 gui=italic 84 | if has("spell") 85 | hi SpellBad guisp=#FF0000 gui=undercurl 86 | hi SpellCap guisp=#7070F0 gui=undercurl 87 | hi SpellLocal guisp=#70F0F0 gui=undercurl 88 | hi SpellRare guisp=#FFFFFF gui=undercurl 89 | endif 90 | hi Statement guifg=#F92672 gui=bold 91 | hi StatusLine guifg=#455354 guibg=fg 92 | hi StatusLineNC guifg=#808080 guibg=#080808 93 | hi StorageClass guifg=#FD971F gui=italic 94 | hi Structure guifg=#66D9EF 95 | hi Tag guifg=#F92672 gui=italic 96 | hi Title guifg=#ef5939 97 | hi Todo guifg=#FFFFFF guibg=bg gui=bold 98 | 99 | hi Typedef guifg=#66D9EF 100 | hi Type guifg=#66D9EF gui=none 101 | hi Underlined guifg=#808080 gui=underline 102 | 103 | hi VertSplit guifg=#808080 guibg=#080808 gui=bold 104 | hi VisualNOS guibg=#403D3D 105 | hi Visual guibg=#403D3D 106 | hi WarningMsg guifg=#FFFFFF guibg=#333333 gui=bold 107 | hi WildMenu guifg=#66D9EF guibg=#000000 108 | 109 | if s:molokai_original == 1 110 | hi Normal guifg=#F8F8F2 guibg=#272822 111 | hi Comment guifg=#75715E 112 | hi CursorLine guibg=#3E3D32 113 | hi CursorColumn guibg=#3E3D32 114 | hi LineNr guifg=#BCBCBC guibg=#3B3A32 115 | hi NonText guifg=#BCBCBC guibg=#3B3A32 116 | else 117 | hi Normal guifg=#F8F8F2 guibg=#1B1D1E 118 | hi Comment guifg=#465457 119 | hi CursorLine guibg=#293739 120 | hi CursorColumn guibg=#293739 121 | hi LineNr guifg=#BCBCBC guibg=#232526 122 | hi NonText guifg=#BCBCBC guibg=#232526 123 | end 124 | 125 | " 126 | " Support for 256-color terminal 127 | " 128 | if &t_Co > 255 129 | hi Boolean ctermfg=135 130 | hi Character ctermfg=144 131 | hi Number ctermfg=135 132 | hi String ctermfg=144 133 | hi Conditional ctermfg=161 cterm=bold 134 | hi Constant ctermfg=135 cterm=bold 135 | hi Cursor ctermfg=16 ctermbg=253 136 | hi Debug ctermfg=225 cterm=bold 137 | hi Define ctermfg=81 138 | hi Delimiter ctermfg=241 139 | 140 | hi DiffAdd ctermbg=24 141 | hi DiffChange ctermfg=181 ctermbg=239 142 | hi DiffDelete ctermfg=162 ctermbg=53 143 | hi DiffText ctermbg=102 cterm=bold 144 | 145 | hi Directory ctermfg=118 cterm=bold 146 | hi Error ctermfg=219 ctermbg=89 147 | hi ErrorMsg ctermfg=199 ctermbg=16 cterm=bold 148 | hi Exception ctermfg=118 cterm=bold 149 | hi Float ctermfg=135 150 | hi FoldColumn ctermfg=67 ctermbg=16 151 | hi Folded ctermfg=67 ctermbg=16 152 | hi Function ctermfg=118 153 | hi Identifier ctermfg=208 154 | hi Ignore ctermfg=244 ctermbg=232 155 | hi IncSearch ctermfg=193 ctermbg=16 156 | 157 | hi Keyword ctermfg=161 cterm=bold 158 | hi Label ctermfg=229 cterm=none 159 | hi Macro ctermfg=193 160 | hi SpecialKey ctermfg=81 161 | 162 | hi MatchParen ctermfg=16 ctermbg=208 cterm=bold 163 | hi ModeMsg ctermfg=229 164 | hi MoreMsg ctermfg=229 165 | hi Operator ctermfg=161 166 | 167 | " complete menu 168 | hi Pmenu ctermfg=81 ctermbg=16 169 | hi PmenuSel ctermbg=244 170 | hi PmenuSbar ctermbg=232 171 | hi PmenuThumb ctermfg=81 172 | 173 | hi PreCondit ctermfg=118 cterm=bold 174 | hi PreProc ctermfg=118 175 | hi Question ctermfg=81 176 | hi Repeat ctermfg=161 cterm=bold 177 | hi Search ctermfg=253 ctermbg=66 178 | 179 | " marks column 180 | hi SignColumn ctermfg=118 ctermbg=235 181 | hi SpecialChar ctermfg=161 cterm=bold 182 | hi SpecialComment ctermfg=245 cterm=bold 183 | hi Special ctermfg=81 ctermbg=232 184 | hi SpecialKey ctermfg=245 185 | 186 | hi Statement ctermfg=161 cterm=bold 187 | hi StatusLine ctermfg=238 ctermbg=253 188 | hi StatusLineNC ctermfg=244 ctermbg=232 189 | hi StorageClass ctermfg=208 190 | hi Structure ctermfg=81 191 | hi Tag ctermfg=161 192 | hi Title ctermfg=166 193 | hi Todo ctermfg=231 ctermbg=232 cterm=bold 194 | 195 | hi Typedef ctermfg=81 196 | hi Type ctermfg=81 cterm=none 197 | hi Underlined ctermfg=244 cterm=underline 198 | 199 | hi VertSplit ctermfg=244 ctermbg=232 cterm=bold 200 | hi VisualNOS ctermbg=238 201 | hi Visual ctermbg=235 202 | hi WarningMsg ctermfg=231 ctermbg=238 cterm=bold 203 | hi WildMenu ctermfg=81 ctermbg=16 204 | 205 | hi Normal ctermfg=252 ctermbg=233 206 | hi Comment ctermfg=59 207 | hi CursorLine ctermbg=234 cterm=none 208 | hi CursorColumn ctermbg=234 209 | hi LineNr ctermfg=250 ctermbg=234 210 | hi NonText ctermfg=250 ctermbg=234 211 | end 212 | -------------------------------------------------------------------------------- /.vim/colors/slate.vim: -------------------------------------------------------------------------------- 1 | "%% SiSU Vim color file 2 | " Slate Maintainer: Ralph Amissah 3 | " (originally looked at desert Hans Fugal http://hans.fugal.net/vim/colors/desert.vim (2003/05/06) 4 | :set background=dark 5 | :highlight clear 6 | if version > 580 7 | hi clear 8 | if exists("syntax_on") 9 | syntax reset 10 | endif 11 | endif 12 | let colors_name = "slate" 13 | :hi Normal guifg=White guibg=grey15 14 | :hi Cursor guibg=khaki guifg=slategrey 15 | :hi VertSplit guibg=#c2bfa5 guifg=grey40 gui=none cterm=reverse 16 | :hi Folded guibg=black guifg=grey40 ctermfg=grey ctermbg=darkgrey 17 | :hi FoldColumn guibg=black guifg=grey20 ctermfg=4 ctermbg=7 18 | :hi IncSearch guifg=green guibg=black cterm=none ctermfg=yellow ctermbg=green 19 | :hi ModeMsg guifg=goldenrod cterm=none ctermfg=brown 20 | :hi MoreMsg guifg=SeaGreen ctermfg=darkgreen 21 | :hi NonText guifg=RoyalBlue guibg=grey15 cterm=bold ctermfg=blue 22 | :hi Question guifg=springgreen ctermfg=green 23 | :hi Search guibg=peru guifg=wheat cterm=none ctermfg=grey ctermbg=blue 24 | :hi SpecialKey guifg=yellowgreen ctermfg=darkgreen 25 | :hi StatusLine guibg=#c2bfa5 guifg=black gui=none cterm=bold,reverse 26 | :hi StatusLineNC guibg=#c2bfa5 guifg=grey40 gui=none cterm=reverse 27 | :hi Title guifg=gold gui=bold cterm=bold ctermfg=yellow 28 | :hi Statement guifg=CornflowerBlue ctermfg=lightblue 29 | :hi Visual gui=none guifg=khaki guibg=olivedrab cterm=reverse 30 | :hi WarningMsg guifg=salmon ctermfg=0 31 | :hi String guifg=SkyBlue ctermfg=darkcyan 32 | :hi Comment term=bold ctermfg=11 guifg=grey40 33 | :hi Constant guifg=#ffa0a0 ctermfg=brown 34 | :hi Special guifg=darkkhaki ctermfg=brown 35 | :hi Identifier guifg=salmon ctermfg=1 36 | :hi Include guifg=red ctermfg=red 37 | :hi PreProc guifg=red guibg=white ctermfg=red 38 | :hi Operator guifg=Red ctermfg=Red 39 | :hi Define guifg=gold gui=bold ctermfg=yellow 40 | :hi Type guifg=CornflowerBlue ctermfg=2 41 | :hi Function guifg=navajowhite ctermfg=brown 42 | :hi Structure guifg=green ctermfg=green 43 | :hi LineNr guifg=grey50 ctermfg=3 44 | :hi Ignore guifg=grey40 cterm=bold ctermfg=7 45 | :hi Todo guifg=orangered guibg=yellow2 46 | :hi Directory ctermfg=darkcyan 47 | :hi ErrorMsg cterm=bold guifg=White guibg=Red cterm=bold ctermfg=7 ctermbg=0 48 | :hi VisualNOS cterm=bold,underline 49 | :hi WildMenu ctermfg=0 ctermbg=3 50 | :hi DiffAdd ctermbg=4 51 | :hi DiffChange ctermbg=5 52 | :hi DiffDelete cterm=bold ctermfg=4 ctermbg=6 53 | :hi DiffText cterm=bold ctermbg=0 54 | :hi Underlined cterm=underline ctermfg=5 55 | :hi Error guifg=White guibg=Red ctermfg=7 ctermbg=0 56 | :hi SpellErrors guifg=White guibg=Red ctermfg=7 ctermbg=0 57 | -------------------------------------------------------------------------------- /.vim/templates/html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FIXME 5 | 13 | 14 | 15 | 16 | 17 | 18 | # cursor: 15 del 19 | -------------------------------------------------------------------------------- /.vim/templates/perl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | use strict; 3 | use warnings; 4 | 5 | 6 | # vim: set ts=8 et sw=8 sts=0 sta filetype=perl : 7 | -------------------------------------------------------------------------------- /.vim/templates/python: -------------------------------------------------------------------------------- 1 | # vim: set ts=4 et sw=4 sts=4 sta filetype=python : 2 | -------------------------------------------------------------------------------- /.vim/templates/ruby: -------------------------------------------------------------------------------- 1 | # vim: set ts=2 et sw=2 sts=2 sta filetype=ruby : 2 | 3 | -------------------------------------------------------------------------------- /.vim/templates/sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # vim: set ts=8 et sw=8 sts=0 sta filetype=sh : 4 | -------------------------------------------------------------------------------- /.vimrc: -------------------------------------------------------------------------------- 1 | " Init 2 | " {{{ 3 | set nocompatible 4 | filetype off 5 | 6 | set rtp+=~/.vim/bundle/vundle/ 7 | call vundle#rc() 8 | 9 | Bundle 'gmarik/vundle' 10 | 11 | " Core 12 | " {{{ 13 | Bundle 'kien/ctrlp.vim' 14 | Bundle 'tpope/vim-dispatch.git' 15 | Bundle 'szw/vim-tags.git' 16 | Bundle 'bling/vim-airline' 17 | Bundle 'edkolev/tmuxline.vim' 18 | "" }}} 19 | 20 | "" Helpers & Formatters 21 | "" {{{ 22 | Bundle 'sjl/gundo.vim' 23 | Bundle 'scrooloose/nerdtree' 24 | Bundle 'ervandew/supertab' 25 | Bundle 'scrooloose/syntastic' 26 | Bundle 'tomtom/tlib_vim' 27 | Bundle 'tpope/vim-commentary' 28 | Bundle 'tpope/vim-endwise' 29 | Bundle 'tpope/vim-fugitive' 30 | Bundle 'MarcWeber/vim-addon-mw-utils' 31 | Bundle 'tpope/vim-surround' 32 | Bundle 'scrooloose/nerdcommenter' 33 | Bundle 'Raimondi/delimitMate' 34 | "" }}} 35 | 36 | "" Languages 37 | "" {{{ 38 | Bundle 'ap/vim-css-color' 39 | Bundle 'othree/html5.vim' 40 | Bundle 'pangloss/vim-javascript' 41 | Bundle 'mustache/vim-mustache-handlebars' 42 | Bundle 'tpope/vim-rails' 43 | Bundle 'kchmck/vim-coffee-script' 44 | Bundle 'vim-ruby/vim-ruby' 45 | Bundle 'heartsentwined/vim-emblem' 46 | Bundle 'smolnar/vim-ember-script' 47 | Bundle 'tpope/vim-cucumber' 48 | "" }}} 49 | 50 | "" Tools 51 | "" {{{ 52 | Bundle 'mattn/gist-vim' 53 | Bundle 'mileszs/ack.vim' 54 | Bundle 'tpope/vim-git' 55 | Bundle 'tpope/vim-bundler' 56 | Bundle 'tpope/vim-rake' 57 | Bundle 'Rip-Rip/clang_complete' 58 | Bundle 'thoughtbot/vim-rspec' 59 | Bundle 'garbas/vim-snipmate' 60 | Bundle 'smolnar/vim-snippets.git' 61 | " }}} 62 | 63 | " Settings 64 | " {{{ 65 | " Basic {{{ 66 | filetype plugin indent on 67 | 68 | set backspace=indent,eol,start " make backspace a more flexible 69 | let loaded_matchparen=1 " match paranthesis 70 | set backup " create backup 71 | set backupdir=~/.vim/tmp/backup " where to put backup files 72 | set directory=~/.vim/tmp/swap " directory to place swap files in 73 | "set undodir=~/.vim/tmp/undo " directory to place undo files in 74 | "set undofile " create undo file 75 | set mouse=a " use mouse for everything 76 | set equalalways " split windows equally 77 | set splitright splitbelow " new splits right from current and other below 78 | set autoread " supress warnings 79 | set wildmenu " wildmenu when autocomplting option 80 | set wildmode=full " complete the full match, this is default behaviour 81 | set wildignore=*.o,*.obj,*.bak,*.exe,*.pyc,*.jpg,*.gif,*.png " there files will be ignored when completing in wild menu 82 | set clipboard+=unnamed,unnamedplus,autoselect " share clipboard 83 | set history=1000 84 | set tags=.tags;/ " save tags generated for files in current working directory 85 | set ttyfast " i got a fast terminal! 86 | set ttimeoutlen=50 " Make Esc work faster 87 | 88 | " }}} 89 | 90 | " UI {{{ 91 | colorscheme Monokai " Color scheme 92 | 93 | set tabstop=4 " when there's tab, it should be indented by 4 spaces 94 | set shiftwidth=2 " Number of spaces to use for each step of (auto)indent 95 | set shiftround " round the indent to shiftwidth (when at 3 spaces, and I hit > go to 4, not 5) 96 | set autoindent 97 | set infercase " case inferred by default, used for autocompletition in insert mode and so on.. 98 | set t_Co=256 99 | 100 | set ignorecase " ignore case when searching 101 | set hlsearch " highlight search matches 102 | set incsearch " search as you type 103 | set gdefault " global matching is default 104 | set smartcase " use smartcase, when search query starts with Uppercase, turn off case insensitive search 105 | 106 | "set list " show trailing characters 107 | "set listchars=tab:▸\ ,trail:¬,extends:❯,precedes:❮,nbsp:~ " it show ¬ character when as you type, fill free to comment out set list 108 | 109 | set number " set line numbering 110 | set novisualbell " do not blink 111 | set lazyredraw " get faster, redraw only when it's needed 112 | set nostartofline 113 | set linespace=0 114 | let c_no_trail_space_error = 1 " see c errors 115 | let java_space_errors = 1 " see java errors 116 | set showcmd " show the command being typed 117 | set ruler " always show current position 118 | set scrolloff=5 " Keep 5 lines (top/bottom) for scop 119 | set sidescrolloff=10 " Keep 10 lines at the size 120 | set showmode " show the current mode (Insert, Visual..) 121 | 122 | set expandtab " no real tabs! 123 | set wrap " wrap lines, we dont want long lines 124 | set showbreak=↪ " character show when wrapping line 125 | 126 | set foldenable " folding text into clusters (+) according to {{{ }}} or comments for example. 127 | set foldmethod=manual " default options, we create fold manually. 128 | set showmatch " when use insert bracket, briefly jump to matching one (i like it, but i might be annoying) 129 | 130 | set infercase " case inferred by default 131 | set shiftround " round the indent to shiftwidth (when at 3 spaces, and I hit > go to 4, not 5) 132 | set shiftwidth=2 " auto-indent amount when using >> << 133 | set softtabstop=2 " when hitting tab or backspace, how many spaces should a tab be (see expandtab) 134 | set tabstop=4 " real tabs should be 4, and they will show with set list on 135 | 136 | set completeopt=longest,menu,preview 137 | " }}} 138 | 139 | " Advanced macros 140 | " {{{ 141 | 142 | " Cursor highlight 143 | :hi CursorLine cterm=NONE ctermbg=8 144 | :hi CursorColumn cterm=NONE ctermbg=darkred ctermfg=white 145 | :nnoremap c :set cursorline! cursorcolumn! 146 | set cursorline 147 | 148 | "improve autocomplete menu color 149 | highlight Pmenu ctermbg=238 150 | " }}} 151 | " 152 | 153 | " Removes trailing spaces 154 | function! TrimWhiteSpace() 155 | if !&binary && &filetype != 'diff' 156 | normal mz 157 | normal Hmy 158 | %s/^\s\+$//e 159 | normal 'yz 160 | normal `z 161 | endif 162 | endfunction 163 | 164 | " Filter and trim whitespaces 165 | autocmd FileWritePre * :call TrimWhiteSpace() 166 | autocmd FileAppendPre * :call TrimWhiteSpace() 167 | autocmd FilterWritePre * :call TrimWhiteSpace() 168 | autocmd BufWritePre * :call TrimWhiteSpace() 169 | 170 | " Use relative numbering in insert mode 171 | autocmd InsertEnter * :set nonumber relativenumber 172 | autocmd InsertLeave * :set norelativenumber number 173 | 174 | "}}} 175 | 176 | " Binding 177 | " {{{ 178 | " Map leader 179 | let mapleader = ',' " used for lot of stuff, feel free to change it. 180 | 181 | " Open all folds 182 | nnoremap :%foldopen 183 | 184 | " convenient window switching 185 | map h 186 | map j 187 | map k 188 | map l 189 | 190 | " Emacs-like keybindings 191 | cnoremap 192 | cnoremap 193 | inoremap ^i 194 | inoremap A 195 | 196 | " Save like a pro (CTRL+s) 197 | nnoremap :w 198 | 199 | " Quit like a pro 200 | nnoremap :Kwbd 201 | nnoremap q :q 202 | 203 | " this key combination gets rid of the search highlights. 204 | nmap :noh 205 | 206 | " open vertical split and switch to it 207 | nnoremap v vl 208 | 209 | " open horizontal split and switch to it 210 | nnoremap h :split 211 | 212 | " tabs - moving around, (CTRL+n to new tab) 213 | map :tabnew 214 | map :tabedit % 215 | map :tabnext 216 | map :tabprevious 217 | 218 | " buffers - moving around 219 | map :bprevious 220 | map :bNext 221 | 222 | " Write and quit current buffer 223 | nnoremap :wq 224 | 225 | " run ctags silently 226 | map t :silent! !ctags -R . & 227 | 228 | " copy from clipboard with ease (p => paste what you copied by CTRL+c in clipboard) 229 | nnoremap p "+p 230 | nnoremap y "+yy 231 | 232 | " start ack search, (using ACK tool, like grep but for source code) 233 | nnoremap a :Ack 234 | 235 | " reformat whole file 236 | nnoremap = ggVG= 237 | 238 | " use :w!! to write to a file using sudo if you forgot to 'sudo vim file' 239 | " (it will prompt for sudo password when writing) 240 | cmap w!! %!sudo tee > /dev/null % 241 | 242 | " upper/lower word 243 | nmap u mQviwU`Q 244 | nmap l mQviwu`Q 245 | 246 | " upper/lower first char of word 247 | nmap wu mQgewvU`Q 248 | nmap wl mQgewvu`Q 249 | 250 | " cd to the directory containing the file in the buffer 251 | nmap cd :lcd %:h 252 | 253 | " Create the directory containing the file in the buffer 254 | nmap md :!mkdir -p %:p:h 255 | 256 | " Swap two words 257 | nmap gw :s/\(\%#\w\+\)\(\_W\+\)\(\w\+\)/\3\2\1/`' 258 | 259 | " Map the arrow keys to be based on display lines, not physical lines 260 | map gj 261 | map gk 262 | 263 | " Toggle hlsearch with hs 264 | nmap sh :set hlsearch! hlsearch? 265 | 266 | " }}} 267 | 268 | " Filetypes 269 | " {{{ 270 | 271 | " HTML, XML {{{ 272 | augroup FTHtml 273 | au! 274 | autocmd FileType html,xhtml,wml,cf setlocal ai et sta sw=2 sts=2 " set indent size and stuff 275 | autocmd FileType xml,xsd,xslt setlocal ai et sta sw=2 sts=2 ts=2 276 | autocmd FileType html setlocal iskeyword+=~ 277 | augroup END 278 | 279 | " CSS, SCSS {{{ 280 | augroup FTCss 281 | au! 282 | au BufRead,BufNewFile *.scss.erb set ft=scss 283 | autocmd FileType css,scss silent! setlocal omnifunc=csscomplete#CompleteCSS 284 | autocmd FileType css,scss setlocal iskeyword+=- 285 | autocmd FileType css,scss setlocal ai et sta sw=2 sts=2 286 | autocmd FileType scss,sass syntax cluster sassCssAttributes add=@cssColors 287 | au FileType css,scss nnoremap S ?{jV/\v^\s*\}?$k:sort:noh 288 | " Make { insert a pair of brackets in such a way that the cursor is 289 | " correctly positioned inside of them AND the following code doesn't get unfolded. 290 | au FileType css,scss inoremap { {}.k==A 291 | augroup END 292 | " }}} 293 | 294 | " }}} 295 | " Ruby {{{ 296 | augroup FTRuby 297 | au! 298 | autocmd FileType eruby,yaml,ruby setlocal ai et sta sw=2 sts=2 299 | autocmd BufNewFile,BufRead *.html.erb set filetype=eruby.html " load html snippets along with erb 300 | autocmd FileType ruby,eruby let g:rubycomplete_rails = 1 301 | autocmd FileType ruby,eruby let g:rubycomplete_classes_in_global=1 302 | autocmd FileType ruby,eruby let g:rubycomplete_buffer_loading = 1 303 | 304 | " Rspec {{{ 305 | autocmd BufRead *_spec.rb syn keyword rubyRspec describe context it specify it_should_behave_like before after setup subject its shared_examples_for shared_context expect let double mock 306 | highlight def link rubyRspec Identifier 307 | augroup END 308 | " }}} 309 | 310 | " Coffescript 311 | " {{{ 312 | au BufNewFile,BufReadPost *.coffee setl sw=2 expandtab 313 | "}}} 314 | 315 | augroup C 316 | au! 317 | ""autocmd FileType c,cpp,h,hpp colorscheme molokai 318 | augroup END 319 | 320 | " Git {{{ 321 | augroup FTGit 322 | au! 323 | autocmd FileType git,gitcommit setlocal foldmethod=syntax foldlevel=1 324 | autocmd FileType gitcommit setlocal spell 325 | augroup END 326 | " }}} 327 | " }}} 328 | 329 | " Plugins 330 | " {{{ 331 | 332 | " Clang 333 | " {{{ 334 | let g:clang_use_library=1 335 | let g:clang_library_path="/usr/lib/" 336 | let g:clang_periodic_quickfix=1 " update quickfix periodically 337 | " }}} 338 | 339 | " Html5 plugin 340 | " {{{ 341 | let g:html5_event_handler_attributes_complete = 0 342 | let g:html5_rdfa_attributes_complete = 0 343 | let g:html5_microdata_attributes_complete = 0 344 | let g:html5_aria_attributes_complete = 0 345 | " }}} 346 | 347 | " vim-javascript 348 | " {{{ 349 | let g:html_indent_inctags = "html,body,head,tbody" 350 | let g:html_indent_script1 = "inc" 351 | let g:html_indent_style1 = "inc" 352 | " }}} 353 | 354 | " vim-airline 355 | " {{{ 356 | set laststatus=2 357 | let g:airline_symbols = {} 358 | let g:airline_powerline_fonts = 1 359 | let g:airline_theme = 'powerlineish' 360 | let g:airline_powerline_fonts=1 361 | let g:airline_left_sep = '⮀' 362 | let g:airline_left_alt_sep = '⮁' 363 | let g:airline_right_sep = '⮂' 364 | let g:airline_right_alt_sep = '⮃' 365 | let g:airline_symbols.branch = '⭠ ' 366 | let g:airline_symbols.readonly = '⭤' 367 | let g:airline_symbols.linenr = '⭡' 368 | " }}} 369 | 370 | " CtrlP 371 | " {{{ 372 | set wildignore+=*/tmp/*,*.so,*.swp,*.zip " MacOSX/Linux 373 | nnoremap :CtrlP 374 | nnoremap :CtrlPBuffer 375 | nnoremap :CtrlPDir 376 | let g:ctrlp_custom_ignore = { 377 | \ 'dir': '\v[\/]\.(git|hg|svn)$', 378 | \ 'file': '\v\.(exe|so|dll|png|jpg)$' 379 | \ } 380 | 381 | map f :CtrlP 382 | map b :CtrlPMRU 383 | map cv :CtrlP app/views 384 | map cc :CtrlP app/controllers 385 | map cm :CtrlP app/models 386 | " }}} 387 | 388 | " Gist 389 | " {{{ 390 | let g:gist_clip_command = 'xclip -selection clipboard' 391 | let g:gist_detect_filetype = 1 392 | let g:gist_open_browser_after_post = 1 393 | let g:gist_browser_command = 'google-chrome %URL% &' " NOTE: use your browser! 394 | let g:gist_show_privates = 1 395 | " }}} 396 | 397 | " Supertab {{{ 398 | let g:SuperTabDefaultCompletionType = 'context' 399 | let g:SuperTabContextDefaultCompletionType = '' 400 | " }}} 401 | 402 | " Syntastic {{{ 403 | nnoremap :SyntasticCheck 404 | let g:syntastic_auto_loc_list=1 405 | let g:syntastic_enable_signs=1 406 | let g:synastic_quiet_warnings=1 407 | 408 | " }}} 409 | 410 | " Rubycomplete {{{ 411 | let g:rubycomplete_rails=1 412 | let g:rubycomplete_classes_in_global=1 413 | let g:rubycomplete_buffer_loading=1 414 | let g:rubycomplete_include_object=1 415 | let g:rubycomplete_include_objectspace=1 416 | " }}} 417 | 418 | " Gundo {{{ 419 | nnoremap gu :GundoToggle 420 | " }}} 421 | 422 | " Fugitive {{{ 423 | nnoremap gs :Gstatus 424 | nnoremap gc :Gcommit 425 | nnoremap gd :Gdiff 426 | " }}} 427 | 428 | " NERDTree {{{ 429 | nnoremap :NERDTreeToggle 430 | let g:NERDTreeMinimalUI=1 431 | let g:NERDTreeDirArrows=1 432 | let g:NERTreeHighlightCursorLine=1 433 | "}}} 434 | " 435 | " NerdTree Tabs {{{ 436 | nnoremap :NERDTreeTabsToggle 437 | let g:nerdtree_tabs_open_on_gui_startup=0 438 | " }}} 439 | 440 | " Rails 441 | " {{{ 442 | nnoremap :completefunc() 443 | nnoremap :Rails 444 | nnoremap :Rgenerate 445 | nnoremap :Rake 446 | nnoremap :Einitializer 447 | nnoremap :Emodel 448 | nnoremap :Eview 449 | nnoremap :Econtroller 450 | 451 | nnoremap ra :Rails 452 | nnoremap rg :Rgenerate 453 | nnoremap rr :Rake 454 | nnoremap ri :Einitializer 455 | " routes leads to empty initializer path 456 | nnoremap ro :Einitializer 457 | nnoremap rv :Eview 458 | nnoremap rc :Econtroller 459 | nnoremap rm :Emodel 460 | " }}} 461 | 462 | " }}} 463 | 464 | " GUI setting 465 | " {{{ 466 | if has('gui_running') 467 | set guifont=Dejavu\ Sans\ Mono\ 9 468 | set guioptions-=m "remove menu bar 469 | set guioptions-=T "remove toolbar 470 | set guioptions-=r "remove right-hand scroll bar 471 | set guioptions-=l 472 | set guioptions-=h 473 | set guioptions-=b 474 | set guioptions-=R 475 | set guioptions-=L 476 | set showtabline=2 " show tabs in gvim, not vim 477 | set guitablabel=%t " show simple filname as tabname 478 | 479 | " Bindings 480 | " {{{ 481 | nnoremap :browse tabnew :pwd 482 | nnoremap :browse saveas :pwd 483 | nnoremap :set guifont=* 484 | 485 | " Map Alt-# to switch tabs 486 | map 0gt 487 | imap 0gt 488 | map 1gt 489 | imap 1gt 490 | map 2gt 491 | imap 2gt 492 | map 3gt 493 | imap 3gt 494 | map 4gt 495 | imap 4gt 496 | map 5gt 497 | imap 5gt 498 | map 6gt 499 | imap 6gt 500 | map 7gt 501 | imap 7gt 502 | map 8gt 503 | imap 8gt 504 | map 9gt 505 | imap 9gt 506 | " }}} 507 | " }}} 508 | endif 509 | " }}} 510 | " }}} 511 | 512 | " Misc 513 | " {{{ 514 | "here is a more exotic version of my original Kwbd script 515 | "delete the buffer; keep windows; create a scratch buffer if no buffers left 516 | function s:Kwbd(kwbdStage) 517 | if(a:kwbdStage == 1) 518 | if(!buflisted(winbufnr(0))) 519 | bd! 520 | return 521 | endif 522 | let s:kwbdBufNum = bufnr("%") 523 | let s:kwbdWinNum = winnr() 524 | windo call s:Kwbd(2) 525 | execute s:kwbdWinNum . 'wincmd w' 526 | let s:buflistedLeft = 0 527 | let s:bufFinalJump = 0 528 | let l:nBufs = bufnr("$") 529 | let l:i = 1 530 | while(l:i <= l:nBufs) 531 | if(l:i != s:kwbdBufNum) 532 | if(buflisted(l:i)) 533 | let s:buflistedLeft = s:buflistedLeft + 1 534 | else 535 | if(bufexists(l:i) && !strlen(bufname(l:i)) && !s:bufFinalJump) 536 | let s:bufFinalJump = l:i 537 | endif 538 | endif 539 | endif 540 | let l:i = l:i + 1 541 | endwhile 542 | if(!s:buflistedLeft) 543 | if(s:bufFinalJump) 544 | windo if(buflisted(winbufnr(0))) | execute "b! " . s:bufFinalJump | endif 545 | else 546 | enew 547 | let l:newBuf = bufnr("%") 548 | windo if(buflisted(winbufnr(0))) | execute "b! " . l:newBuf | endif 549 | endif 550 | execute s:kwbdWinNum . 'wincmd w' 551 | endif 552 | if(buflisted(s:kwbdBufNum) || s:kwbdBufNum == bufnr("%")) 553 | execute "bd! " . s:kwbdBufNum 554 | endif 555 | if(!s:buflistedLeft) 556 | set buflisted 557 | set bufhidden=delete 558 | set buftype= 559 | setlocal noswapfile 560 | endif 561 | else 562 | if(bufnr("%") == s:kwbdBufNum) 563 | let prevbufvar = bufnr("#") 564 | if(prevbufvar > 0 && buflisted(prevbufvar) && prevbufvar != s:kwbdBufNum) 565 | b # 566 | else 567 | bn 568 | endif 569 | endif 570 | endif 571 | endfunction 572 | 573 | command! Kwbd call s:Kwbd(1) 574 | nnoremap Kwbd :Kwbd 575 | " }}} 576 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gem 'colored' 4 | gem 'settingslogic' 5 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | colored (1.2) 5 | settingslogic (2.0.9) 6 | 7 | PLATFORMS 8 | ruby 9 | 10 | DEPENDENCIES 11 | colored 12 | settingslogic 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Ruby on Rails Bundle for Vim 2 | 3 | Vim as a Ruby on Rails IDE with all the cool plugins and nifty configuration. 4 | Follow the simple installation guide and hack in no time! 5 | 6 | **Note**: We replaced old submodule architecture for bundles with neat [Vundle](https://github.com/gmarik/Vundle.vim), so 7 | there's no need to install submodules with Git anymore. We also ditched [Vim Powerline](https://github.com/Lokaltog/vim-powerline) in favor 8 | of [Vim Airline](https://github.com/bling/vim-airline). If you have any problems with fonts and rendering of statusline, please, refer to the [documentation of Vim Airline](https://github.com/bling/vim-airline/wiki/FAQ) first. 9 | 10 | [Screenshot](https://www.dropbox.com/s/a9srns8o0k09ugi/vim_rails_bundle.png)
11 | [Video](http://www.youtube.com/watch?v=hNW4gz7gwuY) 12 | 13 | ## Installation 14 | 15 | ### Requirements 16 | 17 | * **Vim/Gvim** 18 | * **Ruby, Rails, Bundler** ([rvm](https://rvm.io/rvm/install/) ftw!) 19 | * **Git** 20 | 21 | There are some core stuff that other plugin use. In order to make them work, you need to have 22 | these packages installed: 23 | 24 | * **Curl, xclip** for [Gist.vim](https://github.com/vim-scripts/Gist.vim) 25 | * **Ack** for [Ack.vim](https://github.com/mileszs/ack.vim) 26 | * **Clang** for [clang_complete.vim](https://github.com/Rip-Rip/clang_complete) 27 | 28 | To satisfy requirements, run (Ubuntu only): 29 | ``` 30 | sudo apt-get install vim vim-gtk git curl ack-grep clang xclip 31 | ``` 32 | For other distros or package managers, refer to package management documentation. 33 | 34 | ## Setup 35 | 36 | Clone the repository: 37 | ``` 38 | git clone git://github.com/smolnar/vim-rails-bundle.git .vim-rails-bundle 39 | cd .vim-rails-bundle 40 | 41 | # For Vundle 42 | git submodule init 43 | git submodule update 44 | ``` 45 | 46 | Install necessary gems: 47 | ``` 48 | bundle install 49 | ``` 50 | 51 | Install plugins by Vundle 52 | ``` 53 | vim +PluginInstall +qall 54 | ``` 55 | 56 | Choose what you want to install: 57 | 58 | * **rake bundle:config** symlinks `.vim` and `.vimrc` to your `$HOME` or other path if specified in `config.yml` and install Vundle bundles automatically. 59 | * **rake bundle:gtk** symlinks `.gtkrc-2.0-vim` in your `$HOME` or or other path if specified in `config.yml`. In order to autoload this file, it appends 60 | `include "...../.gtkrc-2.0-vim"` to your `.gtkrc-2.0`. 61 | * **rake bundle:desktop** symlinks `gvim_for_rails.desktop` file in `/usr/share/applications` and `gvim_for_rails` script in `/usr/bin`. Note, that `sudo` is required. 62 | 63 | Now, run `vim`, `gvim_for_rails` or open `Gvim for Rails` and start hackin'! 64 | 65 | If something isn't woking for you, create [an issue](https://github.com/smolnar/vim-rails-bundle/issues). 66 | 67 | ## Configuration 68 | 69 | ### Keyboard 70 | 71 | This bundle is shipped with some default keyboard mappings defined in `.vimrc`. Fell free to change them. I try to use as many comments as possible, but if you're not confident what the options does, refer to exhaustive [vim documantation](http://vimdoc.sourceforge.net/htmldoc/usr_toc.html). 72 | 73 | 74 | If you like trailing characters (`▸`,`¬`,`❯`,`❮`), you can easy set it up by uncommenting the following lines: 75 | ``` 76 | set list 77 | set listchars... 78 | ``` 79 | in `.vimrc`. 80 | 81 | `Leader` is a key defined in `let mapleader=...`. Bundle uses `,` as `Leader` by default. 82 | Note, that when pressing any `Leader` combo, you don't need to press all buttons at once, it's a sequence. 83 | 84 | | Keys | Action | 85 | | ------------- |:-------------:| 86 | | `Space` | Open all folds. | 87 | | `CTRL` + `a`| Go Home (at the beginning of a line. Emacs-like helper.)| 88 | | `CTRL` + `e`| Go to End (at the end of a line. Emacs-like helper.)| 89 | | `CTRL` + `s`| Save current file. (Works in Gvim out of the box. For terminal, set mapping of Ctrl - s.)| 90 | | `Leader` + `q` | Quit current buffer (If there is only one tab or buffer, it quits the vim as well!) | 91 | | `CTRL` + `ALT` + `q`| Quit current buffer or file (It does not quit the window, but creates empty buffer instead). | 92 | | `CTRL` + `ALT` + `w` | Write and quit. | 93 | | `Leader` + `Space`| Get rid of all search highlights. | 94 | | `Leader` + `s` + `h`| Toggle highlight of search results. | 95 | | `Leader` + `v`| Split window vertically and switch to it.| 96 | | `Leader` + `h`| Split window horizontally and switch to it.| 97 | | `Leader` + `t`| Run [ctags](http://en.wikipedia.org/wiki/Ctags) silently. | 98 | | `Leader` + `p`| Paste from clipboard.| 99 | | `Leader` + `y`| Copy to clipboard. | 100 | | `Leader` + `a`| Run [Ack](http://betterthangrep.com/) search. (Search in current dir (CWD) for specified parrtern.) | 101 | | `Leader` + `=`| Format whole file. | 102 | | `CTRL` + `n` or `CTRL` + `t` | Open new tab. | 103 | | `CTRL` + `ALT` + `n`| Open new tab with the content of current text file. | 104 | | `ALT` + `Left`| Previous tab. | 105 | | `ALT` + `Right` | Next tab. | 106 | | `ALT` + *n* | Move to *n*-th tab, where n is from 0..9. | 107 | | `Leader` + `u` | Uppercase all letters of current word. | 108 | | `Leader` + `l` | Lowercase all letters of current word. | 109 | | `Leader` + `w` + `u`| Uppercase first letter of current word.| 110 | | `Leader` + `w` + `l`| Lowercases first letter of current word.| 111 | | `Leader` + `c` + `d`| Change directory to the directory containing the file in the buffer.| 112 | | `Leader` + `g` + `w`| Swap two words. | 113 | | **Plugins** | | 114 | | `F3` or `Leader` + `f` | Start CtrlP search. (Kinda like CommandT in Textmate) | 115 | | `F4` | Start CtrlP search in open buffers. | 116 | | `F2` | Start CtrlP search dirs only. | 117 | | `Leader` + `e` + `v` | CtrlP search in app/views. | 118 | | `Leader` + `e` + `c` | CtrlP search in app/controllers.| 119 | | `Leader` + `e` + `m` | CtrlP search in app/models. | 120 | | `Leader` + `g` + `u` | Toggle Gundo undo list. | 121 | | `Leader` + `g` + `s` | Show git status by Fugitive plugin. | 122 | | `Leader` + `g` + `c` | Commit changes by Fugitive plugin. |a 123 | | `Leader` + `g` + `d` | See diff of current file by Fugitive plugin. | 124 | | `F1` | Toggle NERDTree. | 125 | | `F6` or `Leader` + `r` + `a` | Rails command. | 126 | | `F7` or `Leader` + `r`+ `g` | Rails generate command. | 127 | | `F8` or `Leader` + `r` + `r` | Rake command. | 128 | | `F9` or `Leader` + `r` + `i` | Initializers. (Empty argument leads to config/routes.rb) | 129 | | `Leader` + `r` + `o` | Go straight to config/routes.rb | 130 | | `F10` or `Leader` + `r` + `m` | Choose from app/models. | 131 | | `F11` or `Leader` + `r` + `v` | Choose from app/views. | 132 | | `F12` or `Leader` + `r` + `c` | Choose from app/controllers. | 133 | |**GUI**|| 134 | | `CTRL` + `o` | Dialog for open file. | 135 | | `CTRL` + `ALT` + `s` | Save as dialog. | 136 | | `CTRL` + `ALT` + `f` | Choose font dialog. | 137 | | `alt` + *n* | choose *n*-th tab, where *n* is from 0..9. | 138 | | **Navigation in NERDTree** | | 139 | | `c` + `d` | Change directory to hovered dir. | 140 | | `Shift` + `i` | Show hidden files. | 141 | | `Shift` + `u` | Go up in directory structure. | 142 | | `Shift` + `c` | Go to hovered directory. | 143 | | `m` | Modify hovered file/dir. | 144 | | `s` | Split hovered file/dir vertically. | 145 | | `t` | Open file in new tab. | 146 | 147 | 148 | ### UI 149 | 150 | Gvim uses gtk fixes in `.gtkrc-2.0-vim` to set colors of gtk backround and tabs. Adjust these values as you like. 151 | Default theme is `Monokai` colorscheme port from Textmate. If you want Monaco font (Textmate Monospaced font), follow [this guide](https://gist.github.com/epegzz/1634235) and then 152 | change font in `.vimrc` like this 153 | 154 | ``` 155 | set guifont=Monaco\ for\ Powerline\ 9 156 | ``` 157 | 158 | If you are not interested in relative numbering in Insert mode, comment out these lines in `.vimrc` 159 | ``` 160 | autocmd InsertEnter * :set relativenumber 161 | autocmd InsertLeave * :set number 162 | ``` 163 | 164 | ### Code snippets 165 | This bundle uses [Snipmate Snippets](https://github.com/honza/snipmate-snippets), so check out the [Ruby and Rails snippets definitions](https://github.com/honza/snipmate-snippets/blob/master/snippets/ruby.snippets) to speed up your coding. 166 | 167 | 168 | ## Contribution 169 | 170 | Vim configuration files are mainly based on [my dotfiles](https://github.com/smolnar/dotfiles), [kremso's dotfiles](https://github.com/kremso/dotfiles) and keyboard mappings in [Janus: Vim distribution](https://github.com/carlhuda/janus). 171 | 172 | If you know about some cool plugin that we've missed, send us a pull request. 173 | 174 | Follow the common rules: 175 | 176 | 1. Fork it 177 | 2. Create your feature branch (`git checkout -b my-new-feature`) 178 | 3. Commit your changes (`git commit -am 'Added some feature'`) 179 | 4. Push to the branch (`git push origin my-new-feature`) 180 | 5. Create new Pull Request 181 | 182 | ## License 183 | 184 | ### This code is free to use under the terms of the MIT license. 185 | 186 | Copyright (c) 2013 Samuel Molnár 187 | 188 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 189 | 190 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 191 | 192 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 193 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | require 'rubygems' 2 | require 'rake' 3 | require './core/log' 4 | require './core/config' 5 | 6 | namespace :bundle do 7 | 8 | PATH = Configuration.path.home || ENV['HOME'] 9 | 10 | task :greeting do 11 | Log.msg :green, Configuration.greeting 12 | end 13 | 14 | desc "Install vim configurations" 15 | task :config do 16 | Rake::Task['bundle:greeting'].invoke 17 | 18 | Log.info "Starting installing Vim to #{PATH} ..." 19 | 20 | warn = false 21 | 22 | dir = { src: File.join(File.dirname(__FILE__), Configuration.vim.dir) } 23 | conf = { src: File.join(File.dirname(__FILE__), Configuration.vim.config) } 24 | 25 | dir[:dest] = File.join(PATH, File.basename(dir[:src])) 26 | conf[:dest] = File.join(PATH, File.basename(conf[:src])) 27 | 28 | if File.exists?(dir[:dest]) 29 | Log.warn "#{dir[:dest]} already exists. Remove or merge it on your own!" 30 | 31 | warn = true 32 | else 33 | Log.info "Symlinking #{dir[:src]} to #{dir[:dest]}" 34 | 35 | FileUtils.ln_s dir[:src], dir[:dest] 36 | end 37 | 38 | if File.exists?(conf[:dest]) 39 | Log.warn "#{conf[:dest]} already exists. Remove or merge it on your own!" 40 | 41 | warn = true 42 | else 43 | Log.info "Copying #{conf[:src]} to #{conf[:dest]}" 44 | 45 | FileUtils.cp conf[:src], conf[:dest] 46 | end 47 | 48 | unless File.exists?(dir[:dest]) || File.exists?(conf[:dest]) 49 | Log.error "Something went wrong. The #{dir[:dest]} or #{conf[:dest]} does not exists!" 50 | exit 1 51 | end 52 | 53 | if warn 54 | Log.warn "Ooops. There's been some warning messages. You better check it out!" 55 | else 56 | 57 | Configuration.vim.tmp.each do |d| 58 | Log.info "Creating tmp dir #{d} in #{dir[:dest]}" 59 | 60 | FileUtils.mkdir_p File.join(dir[:dest], 'tmp', d) 61 | end 62 | 63 | Log.info 'Installing Vundle bundles by `vim +PluginInstall +qall`' 64 | 65 | sleep 2 66 | 67 | if system('vim +PluginInstall +qall') 68 | Log.success "Yay! It's probably done! Hack on!" 69 | else 70 | Log.error "There was an error while installing bundles." 71 | end 72 | end 73 | end 74 | 75 | 76 | desc 'Install gtk rules for more fancy GVim look.' 77 | task :gtk do 78 | Rake::Task['bundle:greeting'].invoke 79 | 80 | Log.info 'Installing fancy gtk roules for GVim appearance.' 81 | 82 | file = Configuration.vim.gtk 83 | gtk_vim = { src: File.join(File.dirname(__FILE__), file), dest: File.join(PATH, file) } 84 | gtk_rc = File.join(PATH, '.gtkrc-2.0') 85 | 86 | include_line = "include \"#{gtk_vim[:dest]}\"\n" 87 | 88 | File.open(gtk_rc, 'a+') do |f| 89 | f.write("#{include_line}") unless f.readlines.include?(include_line) 90 | end 91 | 92 | if File.exists?(gtk_vim[:dest]) 93 | Log.warn "#{gtk_vim[:dest]} already exists. Merge it on your own!" 94 | else 95 | FileUtils.ln_s gtk_vim[:src], gtk_vim[:dest] 96 | 97 | Log.success 'Yay! Fancy gtk colors are on!' 98 | end 99 | end 100 | 101 | desc 'Install gvim script files to run gvim' 102 | task :desktop do 103 | Rake::Task['bundle:greeting'].invoke 104 | 105 | Log.info 'Installing .desktop and shell script to run Gvim.' 106 | Log.info "We need to have sudo permissions for that. Dont worry, we only copy #{Configuration.gvim.desktop} and #{Configuration.gvim.script}." 107 | 108 | errors = "" 109 | 110 | desktop = { 111 | src: File.join(File.dirname(__FILE__), Configuration.gvim.desktop), 112 | dest: File.join(Configuration.path.desktop, Configuration.gvim.desktop) 113 | } 114 | 115 | script = { 116 | src: File.join(File.dirname(__FILE__), Configuration.gvim.script), 117 | dest: File.join(Configuration.path.bin, Configuration.gvim.script) 118 | } 119 | 120 | Log.info "Copying desktop file ..." 121 | `sudo ln -s "#{desktop[:src]}" "#{desktop[:dest]}"` 122 | 123 | Log.info "Copying script file ..." 124 | `sudo ln -s "#{script[:src]}" "#{script[:dest]}"` 125 | `sudo chmod +x "#{script[:dest]}"` 126 | end 127 | 128 | end 129 | -------------------------------------------------------------------------------- /config.yml: -------------------------------------------------------------------------------- 1 | version: 0.1 2 | 3 | path: 4 | home: # use custom path when needed 5 | desktop: /usr/share/applications 6 | bin: /usr/bin 7 | 8 | vim: 9 | dir: .vim 10 | config: .vimrc 11 | gtk: .gtkrc-2.0-vim 12 | tmp: [swap, backup] 13 | 14 | gvim: 15 | script: gvim_for_rails 16 | desktop: gvim_for_rails.desktop 17 | 18 | greeting: | 19 | ==================== 20 | Rails Bundle for Vim 21 | ==================== 22 | 23 | Ruby on Rails development environment inside Vim. 24 | Contribute to https://github.com/smolnar/vim-rails-bundle for everlasting fame and all the women! 25 | -------------------- 26 | -------------------------------------------------------------------------------- /core/config.rb: -------------------------------------------------------------------------------- 1 | require 'rubygems' 2 | require 'settingslogic' 3 | 4 | class Configuration < Settingslogic 5 | source File.join(File.dirname(__FILE__), '..', 'config.yml') 6 | end 7 | -------------------------------------------------------------------------------- /core/log.rb: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | 3 | require 'rubygems' 4 | require 'colored' 5 | 6 | class Log 7 | 8 | def self.colorize(color, str) 9 | if Colored.colors.include?(color.to_s) 10 | str.send(color) 11 | else 12 | str 13 | end 14 | end 15 | 16 | def self.format(char, msg) 17 | "#{prefix(char)}#{msg}" 18 | end 19 | 20 | def self.prefix(char) 21 | "[#{char}] " 22 | end 23 | 24 | def self.msg(color, msg) 25 | puts colorize(color, msg) 26 | end 27 | 28 | def self.info(msg) 29 | msg(:blue, format('*', msg)) 30 | end 31 | 32 | def self.warn(msg) 33 | msg(:yellow, format('~', msg)) 34 | end 35 | 36 | def self.error(msg) 37 | msg(:red, format('X', msg)) 38 | end 39 | 40 | def self.success(msg) 41 | msg(:green, format('✓', msg)) 42 | end 43 | 44 | end 45 | -------------------------------------------------------------------------------- /gvim_for_rails: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | shell_cfg="$HOME/.$(basename $SHELL)rc" 4 | 5 | echo "source \"$shell_cfg\"; gvim; exit" | $SHELL 6 | -------------------------------------------------------------------------------- /gvim_for_rails.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=GVim for Rails 3 | GenericName=Text Editor 4 | GenericName[de]=Texteditor 5 | Comment=Edit text files 6 | Comment[af]=Redigeer tekslêers 7 | Comment[am]=የጽሑፍ ፋይሎች ያስተካክሉ 8 | Comment[ar]=حرّر ملفات نصية 9 | Comment[az]=Mətn fayllarını redaktə edin 10 | Comment[be]=Рэдагаваньне тэкставых файлаў 11 | Comment[bg]=Редактиране на текстови файлове 12 | Comment[bn]=টেক্স্ট ফাইল এডিট করুন 13 | Comment[bs]=Izmijeni tekstualne datoteke 14 | Comment[ca]=Edita fitxers de text 15 | Comment[cs]=Úprava textových souborů 16 | Comment[cy]=Golygu ffeiliau testun 17 | Comment[da]=Redigér tekstfiler 18 | Comment[de]=Textdateien bearbeiten 19 | Comment[el]=Επεξεργασία αρχείων κειμένου 20 | Comment[en_CA]=Edit text files 21 | Comment[en_GB]=Edit text files 22 | Comment[es]=Edita archivos de texto 23 | Comment[et]=Redigeeri tekstifaile 24 | Comment[eu]=Editatu testu-fitxategiak 25 | Comment[fa]=ویرایش پرونده‌های متنی 26 | Comment[fi]=Muokkaa tekstitiedostoja 27 | Comment[fr]=Édite des fichiers texte 28 | Comment[ga]=Eagar comhad Téacs 29 | Comment[gu]=લખાણ ફાઇલોમાં ફેરફાર કરો 30 | Comment[he]=ערוך קבצי טקסט 31 | Comment[hi]=पाठ फ़ाइलें संपादित करें 32 | Comment[hr]=Uređivanje tekstualne datoteke 33 | Comment[hu]=Szövegfájlok szerkesztése 34 | Comment[id]=Edit file teks 35 | Comment[it]=Modifica file di testo 36 | Comment[ja]=テキスト・ファイルを編集します 37 | Comment[kn]=ಪಠ್ಯ ಕಡತಗಳನ್ನು ಸಂಪಾದಿಸು 38 | Comment[ko]=텍스트 파일을 편집합니다 39 | Comment[lt]=Redaguoti tekstines bylas 40 | Comment[lv]=Rediģēt teksta failus 41 | Comment[mk]=Уреди текстуални фајлови 42 | Comment[ml]=വാചക രചനകള് തിരുത്തുക 43 | Comment[mn]=Текст файл боловсруулах 44 | Comment[mr]=गद्य फाइल संपादित करा 45 | Comment[ms]=Edit fail teks 46 | Comment[nb]=Rediger tekstfiler 47 | Comment[ne]=पाठ फाइललाई संशोधन गर्नुहोस् 48 | Comment[nl]=Tekstbestanden bewerken 49 | Comment[nn]=Rediger tekstfiler 50 | Comment[no]=Rediger tekstfiler 51 | Comment[or]=ପାଠ୍ଯ ଫାଇଲଗୁଡ଼ିକୁ ସମ୍ପାଦନ କରନ୍ତୁ 52 | Comment[pa]=ਪਾਠ ਫਾਇਲਾਂ ਸੰਪਾਦਨ 53 | Comment[pl]=Edytor plików tekstowych 54 | Comment[pt]=Editar ficheiros de texto 55 | Comment[pt_BR]=Edite arquivos de texto 56 | Comment[ro]=Editare fişiere text 57 | Comment[ru]=Редактор текстовых файлов 58 | Comment[sk]=Úprava textových súborov 59 | Comment[sl]=Urejanje datotek z besedili 60 | Comment[sq]=Përpuno files teksti 61 | Comment[sr]=Измени текстуалне датотеке 62 | Comment[sr@Latn]=Izmeni tekstualne datoteke 63 | Comment[sv]=Redigera textfiler 64 | Comment[ta]=உரை கோப்புகளை தொகுக்கவும் 65 | Comment[th]=แก้ไขแฟ้มข้อความ 66 | Comment[tk]=Metin faýllary editle 67 | Comment[tr]=Metin dosyalarını düzenle 68 | Comment[uk]=Редактор текстових файлів 69 | Comment[vi]=Soạn thảo tập tin văn bản 70 | Comment[wa]=Asspougnî des fitchîs tecses 71 | Comment[zh_CN]=编辑文本文件 72 | Comment[zh_TW]=編輯文字檔 73 | Exec=gvim_for_rails 74 | Terminal=false 75 | Type=Application 76 | Icon=vim 77 | Categories=Utility;TextEditor; 78 | StartupNotify=true 79 | MimeType=text/plain; 80 | --------------------------------------------------------------------------------