NeoVim 和 LaTeX 配置
我此前一直使用 VSCode 编辑 LaTeX。VSCode 有一点让我不满:它的联想和自动补全太不可控了,并不能精确地让我用最少的按键操作实现最常用的输入。我需要更可订制的编辑器。先尝试了 Vim,可是 VimTeX 的反向同步在 Vim 上似乎有些问题,最终我发现 NeoVim 是一个很好的选项。
基础配置
安装和配置 neovim
下载 NeoVim:
1
brew install neovim
在 ~/.config/nvim 中写入配置文件。
安装 TeX 发行版
下载 MacTeX。
安装和配置 VimTeX
见配置文件。
编译 LaTeX 到 PDF
VimTeX 默认使用 latexmk 编译 TeX 文稿。
可通过如下命令安装:
1
sudo tlmgr install latexmk
Latexmk 可以由 .latexmkrc 文件设置其行为。例如如果要用 XeLaTeX 编译,则可以在 .latexmkrc 中写入
1
2
$pdf_mode = 5;
$dvi_mode = $postscript_mode = 0;
其中 $pdf_mode = 5 表示通过 XeLaTeX 来生成 PDF 文件,参见文档。更多 .latexmkrc 文件样例可参考样例库。
效率提升
使用 LuaSnip 实现片段补全
在 LaTeX 中敲公式时,往往会大量反复使用一些基础命令,例如 \frac{}{}、\mathrm{}、\left(\right) 等等。如果能用更简单的键盘操作实现这些命令,并将光标放置在合适的位置——例如花括号 {} 中,并通过 Tab 跳转出花括号或在不同的花括号间跳转——输入速度将得到极大提高。代码片段(snippet)补全功能正适合这个任务。
我采用 LuaSnip 插件来自定义代码片段,主要参考 Elijan Mastnak 的教程。这教程写得十分清楚详尽,这里无需重复其内容。
中英文切换
Rime 输入法支持对选定的应用开启 vim_mode。开启后,从输入模式按 Esc 键退出到常规模式时,输入法会自动切换到英文。例如,对于 Mac 系统上的鼠须管输入法,在 squirrel.custom.yaml 中插入如下代码,即可在 iTerm2 开启 vim 模式。
1
2
3
4
app_options:
com.googlecode.iterm2:
ascii_mode: true
vim_mode: true
更多讨论参考此帖。