質問

私は「USEPACKAGE {sagemath} \」.texファイルは、コマンドが含まれているときを検出するためにVimを設定しようとすると、それに応じてコマンドを実行しています。私は

を得ています
:au BufReadPost,BufWritePost *.tex TTarget sagepdf

が、それは私が欲しいものではありませんこれは、すべての.texファイルのために発生します。

役に立ちましたか?

解決

htmlのタイプを区別する方法についての私のfiletype.vimで

Theresの例。あなたは簡単にあなたのロジックに合わせて変更することができます。注のgetline(N)=〜行

" HTML (.shtml and .stm for server side)
au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm  call s:FThtml()

" Distinguish between HTML, XHTML and Django
fun! s:FThtml()
  let n = 1
  while n < 10 && n < line("$")
    if getline(n) =~ '\<DTD\s\+XHTML\s'
      setf xhtml
      return
    endif
    if getline(n) =~ '{%\s*\(extends\|block\)\>'
      setf html.django_template
"      setf htmldjango
      return
    endif
    let n = n + 1
  endwhile
  setf html
endfun

他のヒント

まず、あなたはA モードラインの使用を検討してください。

:あなたはモードラインであなたが欲しいものを得ることができない場合は、

、あなたはこのように、autocmdで独自の機能を使用することができます

function! MyFunction()
  ...
endfunction

autocmd BufReadPost,BufWritePost *.tex call MyFunction()

、あなたはおそらく、特定のパターンと一致するかどうかをチェックし、その後、あなたが好きな実行という関数を記述することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top