我记得前段时间我总是使用 VIM 中的快捷方式来输入以下内容(<X>
指示光标的位置):
... rest of document ...
\begin{<ENVIRONMENT>}
some text
more text
<X>
... document continues ....
然后我会在位置输入一些快捷方式并插入<X>
匹配:\end{<ENVIRONMENT>}
... rest of document ...
\begin{<ENVIRONMENT>}
some text
more text
\end{<ENVIRONMENT>}
... document continues ....
当然,这里<ENVIRONMENT>
可以是任何东西,例如align
或itemize
。
我知道 VIM 的<C-x> + <C-p>
、<C-x + <C-n>
和<C-x> + <C-o>
。最后一个对于关闭 HTML 标签非常有用,但在 LaTeX 中不起作用。
我忘了它是什么了,希望这里有人知道。它可能是一个插件,但我不这么认为。如果有人能告诉我它是什么,我将永远感激不尽。
编辑:当然了是使用 LaTeX-Suite (或者 vim-latex,希望他们坚持使用一个名字)。
答案1
使用时VimTeX,你可以]]
在插入模式下输入 来关闭当前环境。
答案2
同样有用的是nameofenvironment
输入F5
\begin{nameofenvironment}
\end{nameofenvironment}<++>
并将光标放在环境主体中。您可以通过按CTRL J
答案3
上述所有解决方案都会在您输入后为您关闭环境,\begin{<environment name>}...
但我更喜欢只输入环境名称,然后填写vim
和\begin{...}
标签\end{...}
。为此,我在 中有以下几行~/.vim/ftplugin/tex.vim
:
" put \begin{} \end{} tags tags around the current word
map <C-B> YpkI\begin{<ESC>A}<ESC>jI\end{<ESC>A}<esc>kA
map! <C-B> <ESC>YpkI\begin{<ESC>A}<ESC>jI\end{<ESC>A}<esc>kA
这样我就可以在行首输入一个单词,例如align
、itemize
、theorem
、 ... 然后按 control-B 将其更改为环境的标记。例如,如果我输入后align*
按 control-B,则 vim 会将其转换为:
\begin{align*}
\end{align*}
我的宏的一个有用功能是它保留了环境名称的缩进。
编辑正如评论所指出的,这是 vim-latex 的标准部分。
答案4
在你的 vimrc 中输入:
inoremap \end <><Esc>?begin<Enter>Vy/<><Enter>pfbcwend<Esc>kddo
工作原理:innoremap 在插入 \end 时在插入模式下创建一个映射键。输入“<>”字符串,找到(/)单词“begin”并复制整行(Vy),然后返回到“<>”(\<>)并粘贴该行(p),找到行中的第一个 b 并将单词(cw)更改为“end”,之后删除“<>”字符串并进入插入模式。
所以:文本必须是这样的:
\begin{something}
some texot o comands
在不同的线路上。它必须起作用。