VIM latex书写环境配置

用vim有一个好处, 就是任何的编辑工作全部可以用它来解决, 一个用IDE的人在学一门语言的时候第一反应是找一个这门语言的IDE,而用vim的人在学一门语言的时候第一反应是去github找几个最好用的插件。

记录一下自己的vim环境配置。
首先说下背景, 电脑为mac环境, 使用brew进行包管理。
vim为brew安装的macvim, 版本为8.0.136, 使用vim-plug来进行插件管理。

配置latex环境

使用brew cask来安装latex, 我选择的是mactex发行版的精简版, 也就是basictex. 好处是比较小只有70M,和完整版的2G精简太多, 坏处是很多包没有, 只能在需要的时候动态下载。

brew cask install basictex

注意使用这个命令安装后, 其实只是完成了basictex软件包的清理和下载工作, 一般下载到了类似
/usr/local/Caskroom/basictex/2017.0607/mactex-basictex-20170607.pkg
这样的地方,具体可以使用
mdfind -name mactex-basictex
来查看。

需要再进入此下载文件夹, 双击进行安装。中间需要输入密码。
安装完成。
由于这个安装包是精简版, 因此在稍后编译latex的时候会出现有些包缺失的时候, 那么就需要在缺失的时候自动地下载安装, 因此需要安装一个texliveonfly程序。其作用和latex一样进行编译, 但是与latex不同的是,当存在包缺失的时候, 会自动进行下载。
sudo tlmgr install texliveonfly

这就完成了latex环境的配置。

配置vim

首先安装vimtex插件.
在vimrc的plug列表区加入
Plug 'lervag/vimtex', {'for': ['tex', 'plaintex', 'bst']}
因为我的插件比较多, 因此选择动态加载,仅当文件类型是tex时, 才加载这个插件。

加入vimtex的插件配置:

"tex preview config
let g:texflavor = 'latex'
let g:texindentitems = 0
let g:TexDefaultTargetFormat = 'pdf'
let g:TexCompileRulepdf = 'pdflatex -src-specials -synctex=1 -interaction=nonstopmode $'
let g:TexFormatDependencypdf = 'pdf'
let g:vimtexviewmethod = 'general'
let g:vimtexenabled = 1
let g:vimtexcompleteimgusetail = 1
let g:vimtexviewgeneralviewer = 'open'
let g:vimtexviewgeneraloptions = '-r @line @pdf @tex'
vimtex默认使用latexmk来进行latex编译, 这也是basictex所缺失的包。因此还需要安装和配置latexmk

sudo tlmgr install latexmk
同时在根目录下建立.latexmkrc文件。其内容为:
$pdf_mode = 1;
$pdflatex = "pdflatex --shell-escape -src-specials -synctex=1 -interaction=nonstopmode %O %S";
$recorder = 1;

由于系统自带的pdf浏览器preview无法动态地更新latex生成的pdf内容,因此使用pdf-expert软件来代替, 安装pdf-expert后,整个工作就完成了。

测试

下载一个示例latex文件:
wget https://www.apptic.me/blog/sample-tex.zip
unzip sample-tex.zip
使用vim打开sample.tex, 敲\ll来触发即时生成pdf。
就可以好好地写latex了。