自动化rails.vim

时间:2009-06-18 18:37:58

标签: ruby-on-rails vim

我在OSX或Ubuntu上使用vim(在控制台中)7.1进行rails开发。 这是我编辑rails文件时反复执行的操作。

cd RAILS_ROOT VIM

:Rproject .project

有没有办法让最后一部分自动完成? 例如,我只输入'vim -some_arg'并自动触发“:Rproject .project”? 如果那是不可能的,我可以将“Rproject .project”别名为“Rp”吗?

我熟悉vim编辑但不熟悉vim脚本。 请帮帮我。

萨姆

1 个答案:

答案 0 :(得分:3)

可能有更好的方法来做到这一点,但我不想搞乱加载顺序等。

您可以编辑rails.vim并添加一行。它的工作方式与我在测试中的预期相同。

" Initialization {{{1

augroup railsPluginDetect
  autocmd!
  autocmd BufNewFile,BufRead * call s:Detect(expand("<afile>:p"))
  autocmd VimEnter * if expand("<amatch>") == "" && !exists("b:rails_root") | call s:Detect(getcwd()) | endif | if exists("b:rails_root") | silent doau User BufEnterRails | endif
  autocmd FileType netrw if !exists("b:rails_root") | call s:Detect(expand("<afile>:p")) | endif | if exists("b:rails_root") | silent doau User BufEnterRails | endif
  autocmd BufEnter * if exists("b:rails_root")|silent doau User BufEnterRails|endif
  autocmd BufLeave * if exists("b:rails_root")|silent doau User BufLeaveRails|endif
  autocmd Syntax railslog if s:autoload()|call rails#log_syntax()|endif

  " Add this line here
  autocmd VimEnter * if expand("<amatch>") == "" && !exists("b:rails_root") | call s:Detect(getcwd()) | endif | if exists("b:rails_root") | Rproject .project | endif
  " ^ this one

augroup END