Vim Latex 的使用和配置技巧 (三)

作者: 李老师的好学生 | 来源:发表于2019-05-20 12:32 被阅读9次

    在前面两篇文章里, 我简单地介绍了vim latex suite的用法和配置. 在这一篇文章里, 我将简单地介绍一下另外一个latex的插件---vimtex.

    6. vimtex 插件

    6.1 vimtex 插件的安装

    如果你用vundle的插件管理器, 在vimrc文件中, 加入这么一行:

    Plugin 'lervag/vimtex'
    

    6.2 vimtex的基本用法

    6.2.1 imaps 映射

    如下表:

    按键 效果 模式
    \li 文件信息显示 n
    \lt 打开目录 n
    \ll 编译文档 n
    \lv 查看文档 n
    \lc 清除latex编译文件 n
    6.2.2 模块编辑

    在vim中, 可以快速编辑一些模块. 比如: di)是删除( )内的东西, 这里, ) 就代表( )的模块. 在vimtex中, 我们定义了一些常用的latex模块. 比如:

    按键 效果 模式
    dse 删除光标周围的\begin \end环境 n
    dsc 删除光标周围的\command{} 环境 n
    ds$ 删除光标周围的$ $ 环境 n
    dsd 删除光标周围的括号 n
    cse [1] 修改光标周围的\begin \end环境 n
    csc 修改光标周围的\command{} 环境 n
    cs$ 修改光标周围的$ $ 环境 n
    csd 修改光标周围的括号模式 n
    tsc \command{}\command*{}的互换 n
    tse \begin{env}\begin{env*}的互换 n
    tsd ( ... )\left( ... \right) 的互换 n

    在这里, tsd默认的变换list

    let g:vimtex_delim_toggle_mod_list = [
          \ ['\left', '\right'],
          \ ['\mleft', '\mright'],
          \]
    

    当然我们可以进行修改, 比如, 在tex.vim中, 我们可以设置:

    let g:vimtex_delim_toggle_mod_list = [
          \ ['\bigl', '\bigr'],
          \ ['\Bigl', '\Bigr'],
          \ ['\biggl', '\biggr'],
          \ ['\Biggl', '\Biggr'],
          \]
    

    这样一来, 通过tsd命令, 我们可以在这些型号的括号选择了.

    另外还有下面的几个常用textobj模块, 这些可以和y(复制), d (删除)c (修改)搭配使用:

    按键 效果 模式
    ]] 补全括号和环境[^2] i
    ac 全部\command命令 xo
    ic \command{...} 括号内的内容 xo
    ad 整个括号和括号里的内容 xo
    id 括号里的内容 xo
    ae 整个环境和环境里的内容 xo
    ie 环境里的内容 xo
    a$ 整个$ ... $的内容 xo
    i$ $ ... $ 里的内容 xo
    K \usepackage{package} 跳到package的帮助文档 n

    vim-textobj-user的帮助下, 我们开可以自己定义模块, 比如说:

    call textobj#user#plugin('latex', {
    \  'bracket-math': {
    \     '*pattern*': ['\\\[', '\\\]'],
    \     'select-a': 'au',
    \     'select-i': 'iu',
    \   },
    \  'paren-math': {
    \     '*pattern*': ['\\(', '\\)'],
    \     'select-a': 'a\',
    \     'select-i': 'i\',
    \   },
    \  'double-quote': {
    \     '*pattern*': ['``', "''"],
    \     'select-a': 'aQ',
    \     'select-i': 'iQ',
    \   },
    \  'biglimiter': {
    \     '*pattern*': ['\\{', '\\}'],
    \     'select-a': 'aU',
    \     'select-i': 'iU',
    \   },
    \ })
    

    在这里, 我们定义了\( \), \{ \}, quotes\[ \]的几个模块.

    6.2.3 自动补全label
    1. labels: >
      \ref{sec:<CTRL-X><CTRL-O>
    2. numbers: >
      \eqref{2<CTRL-X><CTRL-O>
    3. labels and numbers together (separated by whitespace): >
      \eqref{eq 2<CTRL-X><CTRL-O>

    至于其他的自动补全, 可以参考YouCompleteMe 插件.


    相关文章:


    1. 比如在一个环境align周围, 我们按下按键cse, 在命令行里就会出现: Change surrounding environment: align 的提示, 然后输入equation, 那么这个环境就会变成\begin{equation} ... \end{equation}了.

    相关文章

      网友评论

        本文标题:Vim Latex 的使用和配置技巧 (三)

        本文链接:https://www.haomeiwen.com/subject/npaqzqtx.html