乳胶文档中的Vim中的自动换行(保留缩进)

时间:2019-02-21 19:34:09

标签: vim word-wrap tex

我只是在看this帖子,它描述了如何在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 :(得分:0)

乳胶的缩进由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'

注意事项:我对Latex语法了解甚少;这可能会对其他地方的格式化产生有害的副作用。阅读整个缩进文档,以了解调整它的选项。