2011-08-25 31 views
8

Chcę móc używać kombinacji klawiszy gq w Vimie do formatowania tekstu na slajdach Beamer LaTeX.Niestandardowe formatowanie ramek LaTeX (beamer) w Vimie za pomocą polecenia gq

Na przykład, chciałbym gqap przekształcić następująco:

\begin{frame}{Some title} 
\begin{itemize}\item first point 
\item second point 
\item etc. point \end{itemize} \end{frame} 

do tego:

\begin{frame}{Some title} 
    \begin{itemize} 
    \item first point 
    \item second point 
    \item etc. point 
    \end{itemize} 
\end{frame} 

Konkretnie chciałbym przestrzegać następujących zasad:

  • \item zawsze rozpoczyna się w nowej linii
  • \begin i \end zawsze zaczynają się od nowej linii
  • \begin{frame} i \end{frame} zawsze zaczynają się w kolumnie 1
  • środowiskach, w środowisku wcięciem 2 miejsca
  • \item jest wcięcie 2 miejsca jego otoczeniu

Zatem moje główne pytanie dotyczy tego, jak można to osiągnąć.

Pomocne mogą być wszelkie sugestie dotyczące punktów początkowych lub przydatnych samouczków. Byłbym również zainteresowany wszelkimi uwagami na temat względnych zalet formatexpr, formatprg lub wewnętrznego formatowania takiego formatowania.

+3

@ Kto głosował zamknąć: to już od dawna, że ​​pytania na temat narzędzi programistycznych, zwłaszcza Emacs i vim są * na temat * tutaj. –

Odpowiedz

1

Po krótkich poszukiwaniach znalazłem this useful answer on Tex.SE to a similar question. Zapewnia dedykowaną funkcję formatowania źródła kontekstu, które można dostosować do LaTeX.

Myślę, że wolałbym coś zintegrowanego z wbudowaną funkcją Vim w wersji gq. Odpowiedź wymaga jeszcze trochę pracy, aby skonfigurować LaTeX, i nie jestem pewien, co zapewnia wcięcie. W każdym razie, pomyślałem, że podzielę się nim na wypadek, gdyby był przydatny dla innych.

0

dlaczego nie spróbować snipmate wtyczki

begin<tab> 

do

begin{<cursor>env}                                           
    %text                                         
\end{env}