在前面兩篇文章里, 我簡單地介紹了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}
了. ?