Vim-LaTeX - 如何自动关闭括号以及如何使用 vim-commands 进行编译

Vim-LaTeX - How to auto close brackets and how to compile using vim-commands

我想知道如何在使用 Vim-LaTeX 时仅通过键入 (、{ 或 [ 来关闭 ()、{} 和 [] 等方括号。我还想知道如何以某种方式进行操作,以便在 vim 关闭括号后我的光标在括号内结束。截至目前,我尝试在我的 .vimrc 文件中编写以下内容,但它不起作用.tex 文件:

inoremap { {}<Left>
inoremap {{ {
inoremap {} {}<Left>

inoremap ( ()<Left>
inoremap (( (
inoremap () ()<Left>

inoremap [ []<Left>
inoremap [[ [
inoremap [] []<Left>

有大佬知道怎么解决吗? 另一个问题:现在我通过按 \ll 在 Vim-LaTeX 中编译 LaTeX 文件,但是有没有办法使用 vim-command 来完成它?喜欢

:CompileSomething
  1. 问题。

    您可以使用以下语句修改您的 .vimrc 文件:

:inoremap ( ()<Esc>i

这里有一个更清楚的解释: Autobrackets

编辑: 您是否在 .vimrc 文件中完成了这些操作? Correct Settings for VIM Latex

vim-latex 使用特定的 pattern 来定义映射:它依赖于名为 IMAP(或 IMAPS?)的插件。如果您想在有 IMAP 的情况下定义映射,最好使用它的函数。否则你可能会观察到奇怪的行为。

关于括号系统和与 IMAP 的兼容性,我的 lh-brackets 在定义其映射之前检测是否安装了 IMAP 以便定义兼容的映射。打开括号字符(比如 ()将触发相关对的插入 + 占位符(如 vim-latex)+ 光标移动到正确的位置(-> (<cursor>)<+placeholder+> ).如果光标正好在右括号字符之前,则点击右括号键将跳转到占位符(从而关闭括号对)。但是我不确定这是否正是您要找的。
但是,可以分析上下文以调整确切的行为。例如,请参阅降价括号映射。

编辑:关于命令,您可以随时使用(未经测试)

command -nargs=0 CompileLaTeX :exe "normal \ll"