2

ビーマー tex スライド プレゼンテーションを作成するとき、texビーマー ドキュメントでデフォルトで操作したいファイル タイプにいくつかの変更を加えました。

ビーマー ドキュメントを作成する.texと、最初の数行にファイル拡張子と次のような行があります。

\documentclass[...]{beamer}

簡単にするために、.tex拡張子とテキストbeamerが最初の 5 行の任意の場所にあるファイルは、デフォルトで filetype にすべきであると言えますbeamer

  • beamerファイル拡張子からの情報とファイルの最初の数行の両方を使用するようにファイルタイプを自動的に設定するにはどうすればよいですか?

よくあることですが、質問を定式化する過程で にたどり着きました:h new-filetype-scriptsが、これにはまだかなりの解読が必要です。どんなヒントでも大歓迎です。

4

2 に答える 2

2

ご指摘のヘルプ記事によると、 scripts.vimvim ランタイム ディレクトリに次のような内容のファイルを作成する必要があります。

if did_filetype()
  finish
endif

if expand('%:e') == 'tex'
  for n in range(1, 5)
    if getline(n) =~ 'beamer'
      setfiletype beamer
      break
    endif
  endfor
endif

興味深いことに、これは私にはうまくいきません。私はそれを入れてftplugin/beamer.vim次のように少し変更することでそれを行うことができました:

for n in range(1, 5)
  if getline(n) =~ 'beamer'
    set filetype=beamer
    break
  endif
endfor

ファイルタイプがロードされるたびtexに、ビーマー固有のものもソースされます。最初にこのアプローチを試して、scripts.vimうまくいかない場合は 2 番目のアプローチを検討することをお勧めします。

于 2011-08-05T07:34:27.543 に答える
0

私はまだ実験中ですが、予備的な解決策は、次のコマンドで呼び出さbeamer.vimれるファイルを追加することのようです。~/.vim/ftdetect

au BufRead,BufNewfile *.tex if getline(1) =~ 'beamer' | set filetype=beamer.tex | endif  

上記の仕様からコマンドを少し簡略化したことに注意してください。filetypebeamer.texには、tex機能とビーマーのカスタマイズの両方が組み込まれています。

于 2011-08-05T09:31:55.280 に答える