Nie mogę dokonać porównania, ponieważ Vim-LaTeX jest jedyną wtyczką LaTeX, z której korzystałem. Używam Vim-LaTeX od prawie roku. Opowiem więc o samym Vim-LaTeX.
W Vim-LaTeX jest wiele funkcji. Nie pamiętam ich wszystkich. Opowiem tylko o funkcjach, które znam i których używam stale.
Uwaga: są to moje ograniczone doświadczenia użytkownika , które mogą być bardzo mylące . Nie jestem wytrawnym użytkownikiem Vima. I nic nie wiem o vimscript.
IMAP () i <C-j>Jumpping
IMAP()funkcje i funkcje <C-j>skokowe są dostarczane osobno jako wtyczka imaps.vimw pakiecie Vim-LaTeX. Są to zaawansowane funkcje i mogą być bardzo przydatne, nawet jeśli nie piszesz LaTeX.
IMAP()funkcja zapewnia bardziej naturalny sposób wykonywania mapowań w trybie wstawiania i szablonów w ogóle niż wbudowane imapi iabbrevIMO.
<C-j>przeskakiwanie jest wykorzystywane przez wiele funkcji uzupełniających Vim-LaTeX. Punkt przeskoku jest oznaczony symbolem <++>.
Wbudowane odwzorowania klawiszy w trybie wstawiania są implementowane jako IMAP()wywołania. Na przykład możesz znaleźć długą listę przydatnych IMAP()połączeń w main.vimpliku:
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")
...
Następnie, gdy wpiszesz say (), kursor będzie automatycznie znajdować się między nawiasami, zastępując pierwszy <++>. Po zakończeniu pisania w środku, kopniesz <C-j>i uderzysz, kursor wyjdzie z nawiasu i po prostu będziesz pisać dalej. Kiedy już się do tego przyzwyczaisz, zaczyna tworzyć ciąg pisania, który jest trochę uzależniający ...
Widzisz z góry \left \rightparę można łatwo wpisać za pomocą podwójnego pociągnięcia uchwytu otwierającego. A <C-j>skakanie sprawia, że pisanie jest płynne.
Jednym z głównych usterki od IMAP()i <C-j>rzeczą jest to, że oni bałagan ostatnią historię zmian . (Jeden błąd, który chcę naprawić przez długi czas.) Dlatego możesz napotkać nieoczekiwane zachowanie podczas próby powtórzenia ostatniej zmiany, .jeśli „domniemana ostatnia zmiana” zawiera te wywołania funkcji.
Możesz wykonywać wszelkiego rodzaju mapowania IMAP(), od prostych mapowań kluczowych do bardziej złożonych szablonów. Oto kilka przykładów moich mapowań ( ftplugin/tex.vim):
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')
Ciekawym faktem na temat imaps.vimwtyczki jest to, że jest to wtyczka globalna, co sugeruje jej potencjalne wykorzystanie poza LaTeX. Rzeczywiście, używam <++>i <C-j>przeskakuję (łącząc się z innymi wtyczkami) do tworzenia szablonów fragmentów kodu w C.
<F5> <F7> Wstawianie poleceń i środowisk
Jedną wadą IMAP()jest to, że kombinacji klawiszy nie można już używać w normalnym tekście (chyba że cofniesz mapowanie przez u). W przypadkach, w których chcesz uruchomić mapowanie według własnego uznania, <F5>i <F7>przydadzą się. Te dwa klucze są używane odpowiednio do uruchamiania środowisk i wstawiania poleceń wbudowanych. I zachowują się inaczej w zależności od trybu i ustawień użytkownika.
W trybie wstawiania / normalnym, gdy kursor dołącza słowo lub znajduje się w nim, naciśnięcie <F5>domyślnie wstawia podstawowe środowisko formularza
\begin{word}
<Cursor>
\end{word}<++>
na podstawie słowa; naciśnięcie <F7>domyślnie wstawi podstawowe polecenie wstawiane w formularzu \word{}<++>na podstawie słowa.
„Domyślnie” mam na myśli to, że możesz dostosować zachowanie określonego słowa, gdy zostanie wywołane przez <F5>/ <F7>. Oto niektóre z moich ustawień ( .vimrc):
let g:Tex_Com_newcommand = "\\newcommand{<++>}[<++>]{<++>}<++>"
let g:Tex_Com_latex = "{\\LaTeX}<++>"
let g:Tex_Com_D = "\\D{<++>}{<++>}<++>"
W trybie wstawiania / normalnym, gdy kursor nie jest podłączony do niczego (aka sam ), naciśnięcie przycisku <F5>/ <F7>spowoduje wyświetlenie menu do wyboru środowiska / polecenia do wstawienia. Lub możesz wpisać nazwę żądanego środowiska / polecenia na dole. Osobiście rzadko używam <F5>/ w <F7>ten sposób.
Naciśnij <F5>/ <F7>po wizualnym wybraniu fragmentu tekstu spowoduje wyświetlenie menu do zawijania tekstu . Następnie zaznaczony tekst zostanie zawinięty w wybranym środowisku lub poleceniu.
W trybie wstawiania / normalnym, gdy kursor znajduje się w zakresie środowiska / polecenia, naciśnięcie <Shift>+<F5>/<F7>powoduje wyświetlenie menu zmiany środowiska / polecenia .
Różne kluczowe mapowania
- Litery greckie.
`ado `zi odpowiednich stolic.
- Symbole jak
`8na \infty, `<na \le, `Ina \int_{<++>}^{<++>}<++>, itd.
"Dwukrotne naciśnięcie daje parę podwójnych cudzysłowów TeX-a. Aby wpisać dosłowny "znak, musisz użyć.
- Naciśnięcie w kilku środowiskach wyliczania spowoduje wstawienie odpowiedniego
\itemznacznika.
- Możesz owinąć wizualnie wybraną część matematyki
\left \rightparami przez `(, `[i `{.
- Składanie można dostosować. Trzy zmienna globalna kontrola co można złożyć:
Tex_FoldedSections, Tex_FoldedMisc, i Tex_FoldedEnvironments.
Czasami wbudowane mapowania po prostu zaszły za daleko lub nie wychodzą z tego, co chcesz. Możesz zastąpić wbudowane odwzorowania, zmieniając je w 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')
Ustaw silnik wielokrotnej kompilacji
Zawsze muszę przełączać się między silnikiem pdflatexa xelatexsilnikiem. Tak więc mam następujące wiersze .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>
Przeglądaj PDF, wyszukiwanie do przodu i do tyłu między Vimem a przeglądarką PDF
To jest bałaganiarski i skomplikowany temat. Dzięki pewnej przeglądarce plików PDF i pewnej odrobinie szczęścia może to być bardzo łatwe. Ale to głównie kwestia wyszukiwania w Google.
Propozycje
- Powinieneś znaleźć równowagę między sposobem LaTeX a sposobem Vim-LaTeX.
- Vim-LaTeX nie jest wcale lekki. Istnieją pewne funkcje i / lub kluczowe odwzorowania, których prawdopodobnie nigdy nie użyjesz i musisz je ręcznie zastąpić.
- Używasz Vima. Wiesz, co oznacza cierpliwość . :-)
Ogólnie rzecz biorąc, myślę, że będzie działać dobrze, jeśli będziesz chciał zainwestować trochę czasu, aby oswoić bestię. Biorąc to pod uwagę, gdybym miał czas i odpowiednią wiedzę, z pewnością przerzedzę ogólne funkcje i zbadam potencjał integracji z innymi wtyczkami.
Bibliografia
vimtexmożna pracować obok siebieLatex-Suite, co oznacza, że możesz uzyskać najlepszą z dwóch wtyczek jednocześnie . :)