在前面两篇文章里, 我简单地介绍了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
- labels: >
\ref{sec:<CTRL-X><CTRL-O> - numbers: >
\eqref{2<CTRL-X><CTRL-O> - labels and numbers together (separated by whitespace): >
\eqref{eq 2<CTRL-X><CTRL-O>
至于其他的自动补全, 可以参考YouCompleteMe
插件.
相关文章:
-
比如在一个环境
align
周围, 我们按下按键cse
, 在命令行里就会出现:Change surrounding environment: align
的提示, 然后输入equation
, 那么这个环境就会变成\begin{equation} ... \end{equation}
了. ↩
网友评论