Karşılaştırma yapamam, çünkü Vim-LaTeX kullandığım tek LaTeX eklentisi. Neredeyse bir yıldır Vim-LaTeX kullanıyorum. Bu yüzden sadece Vim-LaTeX hakkında konuşacağım.
Orada birçok Vim-LaTeX mevcut özellikler. Hepsini hatırlamıyorum. Sadece sürekli bildiğim ve kullandığım özelliklerden bahsedeceğim.
Not: Bunlar sınırlı kullanıcı deneyimimdir ve bu çok yanıltıcı olabilir . Ben tecrübeli bir Vim kullanıcısı değilim. Ve vimscript hakkında hiçbir şey bilmiyorum.
IMAP () ve <C-j>
Atlama
IMAP()
fonksiyonu ve <C-j>
jumpping fonksiyonları bir eklentisi olarak ayrıca temin edilmektedir imaps.vim
Vim-Lateks paket. Bunlar güçlü özelliklerdir ve LaTeX yazmıyor olsanız bile çok faydalı olabilirler.
IMAP()
işlev, ekleme modu eşlemeleri yapmak ve yerleşik imap
ve iabbrev
IMO'dan genel olarak ayarlanması için daha doğal bir yol sağlar .
<C-j>
atlama, birçok Vim-LaTeX tamamlama özelliği tarafından kullanılır. Bir atlama noktası ile gösterilir <++>
.
Yerleşik ekleme modu tuşu eşlemeleri IMAP()
aramalar olarak uygulanır . Örneğin, uzun bir yararlı IMAP()
arama listesini main.vim
dosyada bulabilirsiniz:
call IMAP ('__', '_{<++>}<++>', "tex")
call IMAP ('()', '(<++>)<++>', "tex")
call IMAP ('[]', '[<++>]<++>', "tex")
call IMAP ('{}', '{<++>}<++>', "tex")
...
call IMAP ('((', '\left( <++> \right)<++>', "tex")
call IMAP ('[[', '\left[ <++> \right]<++>', "tex")
call IMAP ('{{', '\left\{ <++> \right\}<++>', "tex")
...
Ardından, şunu yazdığınızda ()
, imleç parantez arasında otomatik olarak yer değiştirecek ve ilkini değiştirecektir <++>
. İçine yazmayı tamamladıktan sonra, tekmeleyip <C-j>
vurursun, imleç parantezden dışarı çıkar ve yazmaya devam edersin. Bir kere alıştıysanız, bağımlılık yaratan bir yazma akışı oluşturmaya başlar ...
Yukarıda gördüğünüz bir \left
\right
çift, açma dirseğinin iki vuruşuyla kolayca yazılabilir. Ve <C-j>
jumpping yazarak akış yapar.
Bir büyük aksaklık IMAP()
ve <C-j>
bir şey olduğunu onlar son değişiklik geçmişini karıştıran biridir . (Uzun süredir düzeltmek istediğim bir hata.) Bu nedenle, .
"sözde son değişiklik" iniz bu işlev çağrıları içeriyorsa , son değişikliklerinizi yinelemeye çalışırken beklenmeyen davranışlarla karşılaşabilirsiniz .
IMAP()
Basit anahtar eşlemelerden daha karmaşık şablonlara kadar her türlü eşlemeyi yapabilirsiniz . Haritalarımın ( ftplugin/tex.vim
) bazı örnekleri :
call IMAP('*EEQ',"\\begin{equation*}\<CR><++>\<CR>\\end{equation*}<++>",'tex')
call IMAP('DEF',"\\begin{definition}[<++>]\<CR><++>\<CR>\\end{definition}<++>",'tex')
call IMAP('BIC','\binom{<++>}{<++>}<++>','tex')
call IMAP('PVERB','\PVerb{<++>}<++>','tex')
call IMAP('VERB','\verb|<++>|<++>','tex')
imaps.vim
Eklenti ile ilgili ilginç bir gerçek , LaTeX'in ötesinde potansiyel kullanımı anlamına gelen küresel bir eklenti olmasıdır. Aslında, C kod kod şablonları oluşturmak için kullanıyorum <++>
ve <C-j>
jumppings (diğer eklentileri ile birleştirerek).
<F5> <F7>
Komutların ve Ortamların Eklenmesi
Bunun bir dezavantajı IMAP()
, tuş kombinasyonunun artık normal metinde kullanılamamasıdır (eşlemeyi geri almadığınız sürece u
). Durumlarda sadece istediğiniz tetiklemek istediğiniz gibi eşleme <F5>
ve <F7>
kullanışlı. Bu iki tuş , sırasıyla ortamları ve satır içi komutları yerleştirmeyi tetiklemek için kullanılır . Ve kullanıcının modunu ve özelleştirmelerini temel alarak farklı davranırlar.
Ekle / Normal Mod'da, imleç bir kelime eklerken veya kelime içindeyken, tuşuna basmak <F5>
varsayılan olarak formun temel bir ortamını ekleyecektir.
\begin{word}
<Cursor>
\end{word}<++>
kelimeye göre; tuşuna basarak <F7>
varsayılan \word{}<++>
olarak kelimeye göre formun basit bir satır içi komutunu ekleyiniz .
"Varsayılan olarak", <F5>
/ tarafından tetiklendiğinde belirli bir kelimenin davranışını özelleştirebileceğiniz anlamına gelir <F7>
. İşte ayarlarımdan bazıları ( .vimrc
):
let g:Tex_Com_newcommand = "\\newcommand{<++>}[<++>]{<++>}<++>"
let g:Tex_Com_latex = "{\\LaTeX}<++>"
let g:Tex_Com_D = "\\D{<++>}{<++>}<++>"
İmleç edilir Ekle / Normal Mod, içinde değil (aka şey takılı yalnız ), pres <F5>
/ <F7>
ekleme çevre / komutu seçmek için bir menü size isteyecektir. Veya en alttaki istediğiniz ortam / komutun adını yazabilirsiniz. Şahsen, nadiren kullanırım <F5>
/ <F7>
bu şekilde.
Görsel olarak bir metin parçasını seçtikten sonra <F5>
/ tuşuna basıldığında <F7>
, metin sarma için bir menü görüntülenir . Ardından seçilen metin seçtiğiniz veya yazdığınız ortama / komuta sarılır.
Insert / Normal Mode'da, imleç bir ortam / komutun kapsamı içindeyken, tuşuna basın <Shift>+<F5>/<F7>
, ortam / komutun değiştirilmesi için bir menü soracaktır .
Çeşitli Anahtar Eşlemeleri
- Yunan harfleri.
`a
için `z
ve karşılık gelen harfler.
- Semboller gibi
`8
için \infty
, `<
için \le
, `I
için \int_{<++>}^{<++>}<++>
, vs.
"
İki kez basmak bir çift TeX çift tırnak alır. Yani edebi "
karakter yazmak için kullanmanız gerekir.
- Birkaç numaralandırma ortamına basmak uygun
\item
etiketi ekleyecektir .
- Sen de matematik görsel seçilen bölümünü sarabilirsiniz
\left
\right
tarafından çifti `(
, `[
ve `{
.
- Katlama özelleştirilebilir. Katlanabilir neler Üç küresel değişken kontrolü:
Tex_FoldedSections
, Tex_FoldedMisc
, ve Tex_FoldedEnvironments
.
Bazen yerleşik eşlemeler çok fazla ileri gitti veya istediğinizi bırakmıyor. Yerleşik eşlemeleri, içinde yeniden tanımlayarak geçersiz kılabilirsiniz after/ftplugin/tex.vim
:
call IMAP('`|','\abs{<++>}<++>','tex')
call IMAP('ETE',"\\begin{table}\<CR>\\centering\<CR>\\caption{<+Caption text+>}\<CR>\\label{tab:<+label+>}\<CR>\\begin{tabular}{<+dimensions+>}\<CR><++>\<CR>\\end{tabular}\<CR>\\end{table}<++>",'tex')
call IMAP('==','==','tex')
call IMAP('`\','`\','tex')
Çoklu Derleme Motorunu Ayarla
Her zaman motor pdflatex
ile xelatex
motor arasında geçiş yapmam gerekiyor . Böylece, benim içinde aşağıdaki satırları var .vimrc
:
"switch to pdflatex
function SetpdfLaTeX()
let g:Tex_CompileRule_pdf = 'pdflatex --interaction=nonstopmode -synctex=1 -src-specials $*'
endfunction
noremap <Leader>lp :<C-U>call SetpdfLaTeX()<CR>
"switch to xelatex
function SetXeLaTeX()
let g:Tex_CompileRule_pdf = 'xelatex --interaction=nonstopmode -synctex=1 -src-specials $*'
endfunction
noremap <Leader>lx :<C-U>call SetXeLaTeX()<CR>
Vim ve PDF görüntüleyici arasında PDF'yi Görüntüleme, İleri ve Geri Arama
Bu dağınık ve karmaşık bir konudur. Belirli PDF görüntüleyicileri ve belirli bir miktardaki şansları ile çok kolay olabilir. Ama bu esas olarak google arama meselesi.
Öneriler
- LaTeX yolu ile Vim-LaTeX yolu arasındaki dengeyi bulmalısın.
- Vim-LaTeX hiç hafif değil. Muhtemelen asla kullanmayacağınız bazı özellikler ve / veya önemli eşlemeler var ve bunları manuel olarak geçersiz kılmanız gerekiyor.
- Vim kullanıyorsun. Sabrın ne demek olduğunu biliyorsun . :-)
Genel olarak, canavarı evcilleştirmek için zaman ayırmaya istekli olmanız durumunda işe yarayacağını düşünüyorum. Söylendiği gibi, zamanım ve yeterli bilgim olsaydı, genel gider özelliklerini kesinlikle gözden geçireceğim ve diğer eklentilerle entegrasyon potansiyellerini keşfedeceğim.
Referanslar
vimtex
yan yana çalışabilirLatex-Suite
, bu da iki eklentiden aynı anda en iyi sonucu alabileceğiniz anlamına gelir . :)