2011-08-25 14 views
8

Deseo poder usar la combinación de teclas gq en Vim para formatear el texto en mis diapositivas Beamer LaTeX.Formateo personalizado de tramas LaTeX (beamer) en Vim usando el comando gq

Por ejemplo, me gustaría gqap para transformar este:

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

en esto:

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

Específicamente, me gustaría observar las siguientes reglas:

  • \item siempre comienza en una nueva línea
  • \begin y \end siempre comenzar en una nueva línea de
  • \begin{frame} y \end{frame} siempre comienzan en la columna 1
  • ambientes dentro de los entornos son sangría 2 plazas de
  • \item tiene sangría 2 espacios dentro de su entorno

Por lo tanto, mi pregunta principal se refiere a cómo se puede lograr lo anterior.

Alternativamente, cualquier sugerencia sobre puntos de partida o tutoriales útiles sería de gran ayuda. También me interesaría cualquier comentario sobre los méritos relativos de formatexpr, formatprg o el formateo interno para realizar dicho formateo.

+3

@ El que votó a favor de cerrar: se ha establecido desde hace tiempo que las preguntas acerca de las herramientas de programación, en particular Emacs y Vim, son * en el tema * aquí. –

Respuesta

1

Después de buscar un poco encontré this useful answer on Tex.SE to a similar question. Proporciona una función dedicada para formatear la fuente de contexto, que podría adaptarse a LaTeX.

Creo que preferiría algo integrado con la funcionalidad incorporada gq en Vim. Y la respuesta aún requiere un poco de trabajo para configurar LaTeX, y no estoy seguro de qué tipo de sangrado proporciona. De todos modos, pensé que lo compartiría en caso de que fuera útil para otros.

0

¿por qué no tratar de snipmate complemento

begin<tab> 

a

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