" autocomd の railsPluginDetect グループを定義 augroup railsPluginDetect " ファイル .vimrc が2回読み込まれるとき、autocommand は二度現れる。 " これを避けるため " 現在のグループに対する「全て」の autocommand を削除。 autocmd! " 全てのファイルに対して " 存在しないファイルの編集を始めたとき、新しいバッファの編集を始めたとき " ファイルの読み書き用のファイル名(?)を完全パスにして " Detact を呼び出す autocmd BufNewFile,BufRead * call s:Detect(expand("<afile>:p")) " ファイル .vimrc の読み込みを含む、全てのスタートアップ処理 " autocommand の実行時、この自動コマンドが実行されたときの " マッチが空で b:rails_root が存在しない場合 " 現在のディレクトリ名を引数にして Detect を呼び出す。 " b:rails_root が存在する場合、 " User グループのカレントファイル名にマッチする " BufEnterRails イベントを可憐とバッファに適用する。 autocmd VimEnter * if expand("<amatch>") == "" && !exists("b:rails_root") | call s:Detect(getcwd()) | endif | if exists("b:rails_root") | silent doau User BufEnterRails | endif " FileType が netrw の場合に " b:rails_root が存在しない場合 Detect を呼び出す。 " b:rails_root が存在する場合 " User グループのカレントファイル名にマッチする " BufEnterRails イベントを可憐とバッファに適用する。 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 " 全てのファイルのバッファに入った後 " b:rails_root が存在していれば " User グループのカレントファイル名にマッチする " BufEnterRails イベントを可憐とバッファに適用する。 autocmd BufEnter * if exists("b:rails_root") |silent doau User BufEnterRails|endif " 全てのファイルの他のバッファに移る際 " b:rails_root が存在していれば " User グループのカレントファイル名にマッチする " BufEnterRails イベントを可憐とバッファに適用する。 autocmd BufLeave * if exists("b:rails_root") |silent doau User BufLeaveRails|endif " Syntax が railslog で " autoload が true の場合 rails#log_syntax を呼び出す autocmd Syntax railslog if s:autoload() |call rails#log_syntax()|endif augroup END " Rails コマンド定義 command! -bar -bang -nargs=* -complete=dir Rails :if s:autoload() |call rails#new_app_command(<bang>0,<f-args>)|endif