Перенос слов в Vim (сохранение отступов) в латексном документе - PullRequest
0 голосов
/ 21 февраля 2019

Я только что посмотрел этот пост, который описывает, как обернуть целые слова в vim.Я ищу способ ввода отступа или, в моем случае, его отсутствие.

Обычно я выбираю пару строк с помощью V и нажимаю gq, чтобы переформатировать его и повторно обернуть.линии.

Допустим, у меня есть следующий документ

 *Inside of window                        *Outside of window
|---------------------------------------|    
|This is a bla like of text that will wr|ap here                            
|can you see the wrap                   |
|                                       |
|---------------------------------------|

Результат будет:

 *Inside of window                        *Outside of window
|---------------------------------------|    
|This is a bla like of text that will   |                            
|wrap here can you see the wrap         |
|                                       |
|---------------------------------------|

Пока все хорошо.

Теперь допустим, у меня есть следующий документ с некоторыми латексными тегами

 *Inside of window                        *Outside of window
|---------------------------------------|    
|\begin{abstract}                       |
|This is a bla like of text that will wr|ap here                            
|can you see the wrap                   |
|\end{abstract}                         |
|                                       |
|---------------------------------------|

Результат следующий, который содержит нежелательный \t в следующей строке

 *Inside of window                        *Outside of window
|---------------------------------------|    
|\begin{abstract}                       |
|This is a bla like of text that will   |
|    wrap here can you see the wrap     |
|\end{abstract}                         |
|                                       |
|---------------------------------------|

Но,Моя цель - получить результат, подобный следующему, без нежелательного \t в следующей строке.

 *Inside of window                        *Outside of window
|---------------------------------------|    
|\begin{abstract}                       |
|This is a bla like of text that will   |
|wrap here can you see the wrap         |
|\end{abstract}                         |
|                                       |
|---------------------------------------|

Я попытался добавить set breakindent к своему .vimrc, но это не сработало.В настоящее время я использую эти строки для упаковки.

set wrap                                    " Wrap                                 
set textwidth=79                            " Default Text Width

1 Ответ

0 голосов
/ 22 февраля 2019

Отступ для латекса определяется функцией GetTeXIndent() (которую можно узнать с помощью :setlocal indentexpr?).Соответствующий скрипт в $VIMRUNTIME/indent/tex.vim имеет документацию в заголовке.В нем упоминается (среди прочего) параметр конфигурации, который влияет на отступ окружения.

" * g:tex_noindent_env
"
"   A list of environment names. separated with '\|', where no indentation is
"   required. The default is 'document\|verbatim'.

Если вы добавите туда элемент \begin{...} (поместив конфигурацию в ~/.vimrc), никакого дополнительного отступа не будетслучается:

let g:tex_noindent_env .= '\|begin'

Предостережение: я очень мало знаю о синтаксисе латекса;это может иметь нежелательные побочные эффекты для форматирования в другом месте.Прочитайте всю документацию по отступам, чтобы понять ваши варианты настройки.

...