Rails.vimでどのように行われるかを確認する必要があります。これはTimPopeのRailsプラグインであり、そのように機能します。
Railsプロジェクトから*.rb(Rubyファイル)を編集している場合は、特定のRails構成を有効にします。ただし、Rails以外のrubyファイルを編集している場合はそうではありません。
ソースコードを自分で確認する必要がありますが、検出のエントリポイントは次のとおりです。
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
augroup END
基本的s:Detect
には、Railsプロジェクトのルートを見つけて、存在するかどうかを確認します。存在する場合は、でイベント
を./config/environment.rb
作成し、BufEnterRailsが発生した場合に備えて別の自動コマンドがあります。BufEnterRails
silent doau User BufEnterRails
プラグインについても同じパスをたどる必要があります。バッファを開くときは、編集しているhtmlファイルパスで特定のDjangoファイルまたはディレクトリを見つけて、Djangoプロジェクトにいるかどうかを判断する必要があります。
Djangoがわからないため、どのファイルを探すべきかわかりませんが、すべてのDjangoプロジェクトに共通のプロジェクト構成ファイルがある可能性があります。