MAC + LINUX + VIM + GIT + Latex + MarkdownVim Latex配置LaTeX科研写作

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

2019-05-20  本文已影响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}了.

上一篇下一篇

猜你喜欢

热点阅读