2009-06-18 57 views
1

我使用vim(在控制台)7.1在OSX或Ubuntu上进行rails开发。 这是我在编辑导轨文件时重复执行的操作。自动化rails.vim

CD RAILS_ROOT VIM

:Rproject。项目

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

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

山姆

回答

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