VimでLaTeXシンボルを検索するにはどうすればよいですか?


12

何らかの形のシンボル補完をVimに統合できますか?TeXMakerのような専用のTeXエディタは、(例えば、完了のためにシンボルのリストを提供する\alのリストを示し\alpha\la番組\lambda\langle)。

TeXにはかなり多数のシンボルがあるため、\altoの手動マッピングを含む提案\alphaは役に立たないことに注意してください。

私が持っている関連プラグイン:

  • SuperTablet g:SuperTabDefaultCompletionType="context"し、 set omnifunc=syntaxcomplete#Complete
  • LaTeX-Box

問題があれば、XeLaTeXを使用してコンパイルします。

関連:


これを補完するものとして、キャラクターの描画方法は知っているがコマンドの名前を覚えていないときのためのデテキシファイがあります。
ジル 'SO-悪であるのをやめる'

例えば、辞書補完に基づいて、vimtexにそのような機能を追加する予定ですlatex-suitevimtexは比較的新しいプラグインであり、LaTeX-Boxに基づいているため、多少馴染みがあるはずです。
カールYngveLervåg15年

@KarlYngveLervåg最近vimtexに切り替えました。この機能の追加に取り掛かりましたか?その後、辞書を削除し、おそらくvimtexを使用して投稿することができます。
ムル

はい。snippets複雑な拡張には使用することをお勧めしますが、単純な拡張には、:h vimtex-imapsvimtexに実装されている機能の説明を見ることができます。
カールイングヴェレーヴァーグ

回答:


9

LaTeXでコマンドを展開するには、latex-suiteからコピーされた辞書(詳細はこの1つ)を~/.vim/dictionaries使用し、それを配置してから

autocmd FileType * exec("setlocal dictionary+=".$HOME."/.vim/dictionaries/".expand('<amatch>'))
set completeopt=menuone,longest,preview
set complete+=k

ここからのアイデア。スーパータブで使用します。辞書ファイルは実際には完全ではありません(完全ではあり\alphaません\langle)が、それは完全な問題です...

シンボルを追加するための1つのオプションは、detexifyデータベースを解析することです(複雑ではありません-ほんの少しのシェルマジックで実行できます)。たとえば、次のものを使用できます。

{ curl -sL https://raw.githubusercontent.com/kirel/detexify/master/lib/latex/symbols.yaml |
   grep -Po '(?<=\\)[[:alpha:]]{2,}';
   curl -sL https://raw.githubusercontent.com/gerw/vim-latex-suite/master/ftplugin/latex-suite/dictionaries/dictionary
} | sort -u | tee ~/.vim/dictionaries/tex

@muruが正しいスクリプトを見つけることに抵抗しないことは知っていました!ところで、ラテックススイート辞書からキーワードも追加する方が良いでしょう...
Rmano

1
できた detexifyのリストに600以上の単語を追加しました。:)
ムル

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.