vimtexがfiletypeで起動しない。

Neovim-Qtとlervag/vimtexで\(\rm\LaTeX\)文書をドラッグ&ドロップするとちゃんと動いていたのに、起動しなくなってしまいました。

検索してみたところ、vimtexのhelpになにか書いてありました。

COMMENT ON INTERNAL TEX PLUGIN                        *vimtex-comment-internal*

Vim ships with some LaTeX support out of the box. In particular, it provides
good syntax highlighting (|ft-tex-syntax|), indentation (see the source file
$VIMRUNTIME/indent/tex.vim for the documentation), and some sensible options
(|ft-tex-plugin|).

When |vimtex| is active, it will be used as the main |ftplugin|. It will
define the same set of sensible settings as the internal plugin. However,
|vimtex| does not provide its own syntax, instead it adds a few minor
improvements to |ft-tex-syntax|, see |vimtex-syntax|. |vimtex| also provides its
own indentation plugin, see |vimtex-indent|.

Vim will generally autodetect filetypes automatically. In most cases this
works as expected, however, in some cases it will detect a file with the `tex`
suffix as a |plaintex|. To prevent this, one may set the option
|g:tex_flavor| in ones `vimrc` file, that is: >

  let g:tex_flavor = 'latex'

Vimはすぐに使えるようにいくつかのLaTeXサポート機能が同梱されています。とりわけ、すぐれたシンタックスハイライト(ft-tex-syntax)、インデンテーション、気の利いたオプション(ft-tex-plugin)を提供しています。

vimtexがアクティブならば、メインのファイルタイププラグインとして使用されます。これは内部プラグインの気の利いた設定と同等のことを定義します。けれども、vimtexは独自のシンタックスを提供する代わりに、ft-tex-syntaxにいくつかの些細な改良を加えています。vimtexはまた独自のインデンテーションを提供しています(vimtex-indent)。

Vimは一般的にファイルタイプを自動的に検出します。ほとんどの場合これは期待通りに動作しますが、いくつかの場合には"tex"拡張子のファイルタイプをplaintexと検出してしまいます。これを防ぐには、g:tex_flavorオプションを設定すると良いかもしれません。

とのことです。
ところがこれをやってみても、どうにもうまく検出してくれません。もしかしたらvimtexのオプション設定でどこかミスがあって、それがvimtexモードになるのを阻害しているのかもしれませんが…。

vimtexの便利な機能が使えないのは結構困るのですが、とりあえず保存するたびにコンパイルしてくれるようにしたいので、以下のようにしました。

latexmk -pvc -view=none %1
というバッチファイルを作成し、ルートtexファイル(\includeなどでいくつかのファイルを読み込んでいる場合の一番親ファイル)を食わせると、子ファイルに変更があったときでも自動でコンパイルを始めてくれます。

それからこんな記事を見つけました。
Writing LaTeX in Neovim with Vimtex
あとで読んでみようと思います。

0 件のコメント:

コメントを投稿

Windowsでシンボリックリンクを試してみる。

きっかけは、1つのファイルを別の名前で起動したら違う動きになるようなスクリプトを書く、でした。  busybox なんかでは、同じ実行形式ファイルの名前を、lsにすればlsと同じ、cpとすればcpと同じ動作をするようにしてますが、Pythonスクリプトでそれと同じように argv...