Vim'de LaTeX sembollerini nasıl arayabilirim?


12

Vim'e bir çeşit sembol tamamlama entegre edebilir miyim? Texmaker gibi Adanmış Tex editörler tamamlanması için sembollerin bir listesini sağlar (örneğin, \albir listesini gösterir \alpha, \lagösterir \lambdave \langle).

Manuel eşleştirmesini içeren öneri, böylece TeX semboller oldukça büyük bir sayıda olduğunu unutmayınız \aliçin \alphayararsız olacaktır.

İlgili eklentiler var:

  • SuperTab ile let g:SuperTabDefaultCompletionType="context"ve set omnifunc=syntaxcomplete#Complete
  • LaTeX-Box

Eğer önemliyse, derlemek için XeLaTeX kullanıyorum.

İlişkili:


Bu tamamlayıcı, orada Detexify Bir karakteri çizmek için ancak komutun adını hatırlamıyorum nasıl zaman için.
Gilles 'SO

Örneğin tarafından kullanılan sözlük tamamlama dayalı, vimtex böyle bir özellik eklemeyi planlıyorum latex-suite. vimtexnispeten yeni bir eklentidir ve LaTeX-Box'a dayanmaktadır, bu yüzden biraz tanıdık hissetmelidir.
Karl Yngve Lervåg

@ KarlYngveLervåg Son zamanlarda vimtex'e geçtim. Bu özelliği eklemeye başladınız mı? Sonra sözlüğü nuke ve belki bir cevap olarak vimtex kullanarak gönderebilirsiniz.
muru

Evet. snippetsKarmaşık genişletmeler için kullanmanızı tavsiye ederim , ancak basit olanlar için :h vimtex-imapsvimtex'te uygulanan özelliğin açıklamasına bakabilirsiniz.
Karl Yngve Lervåg

Yanıtlar:


9

LaTeX komutları genişletmek için, ben kopyalanan bir sözlük kullanmak lateks-suite (ayrıntılarda, bu bir ) ve koyun ~/.vim/dictionarieskullanarak sonra ve

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

Buradan fikir . Supertab ile kullanıyorum; sözlük dosyası tam olarak tamamlanmamıştır (var \alphaama değil \langle), ancak bu tamamlanması meselesidir ...

Sembolleri eklemek için bir seçenek detexify veritabanını ayrıştırmak (karmaşık değil --- sadece biraz kabuk büyüsü yapacak) olacaktır . Örneğin, aşağıdakiler kullanılabilir:

{ 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'nun doğru senaryoyu bulmaya direnmeyeceğini biliyordum! Btw, ayrıca latex-suite sözlüğünden anahtar kelimeler eklemek daha iyi olurdu ...
Rmano

1
Bitti. Detexify'dan listeye 600+ kelime ekledi. :)
15'te muru

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.