2009-06-18 3 views
1

J'utilise vim (dans la console) 7.1 pour les développements de rails sur OSX ou Ubuntu. Voici ce que je fais à plusieurs reprises quand j'édite des fichiers de rails.Automate rails.vim

cd RAILS_ROOT vim

: Rproject .project

Est-il possible que la dernière partie se fait automatiquement? Par exemple, je tape juste 'vim -some_arg' et il déclenche automatiquement ": Rproject .project"? Si ce n'est pas possible, puis-je alias "Rproject .project" à "Rp"? Je suis familier avec l'édition vim mais pas le script vim. Aidez-moi s'il vous plaît.

Sam

Répondre

3

il y a probablement une meilleure façon de le faire, mais je ne me sens pas comme jouer avec ordre de chargement ou similaire.

Vous pouvez modifier rails.vim et ajouter une ligne. Cela fonctionne comme je m'y attendrais dans mes tests.

" 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