最近换 Ubuntu 系统, 打算使用 neovim, 这两天成功配置了vim-tex插件以及 markdown-preview 插件,道路比较坎坷,写篇博客将这两天安装的过程进行整理.
切换到 ~/.config/nvim
下查看有没有 init.vim
配置文件,如果没有,请手动创建. 这个文件就是 neovim 的配置文件, neovim 的所有配置文件全部在这个文件中运行.
后面装 vim-plug 插件管理器以及其他的插件都是从 github 上面下载的, 因此首先需要安装 git, 在终端下运行
sudo apt-get install git
安装完成之后, 输入:
git --version
如果出来版本号, 说明 git 安装成功, 用以下指令配置全局账户,密码和邮箱,
git config --global user.name "MyUserName"
git config --global user.email "MyEmail@gmail.com"
设置好之后, 利用
git--config
查看配置是否生效.
neovim 用户在终端下输入
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim--create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
安装 vim-plug 插件管理器,上面指令意思是将 ````vim-plug`` 从后面的 github 链接上下载并安装到文件夹 ~/.local/share/nvim/site/autoload/
下面, 可能会用到如下几个问题:
~/.vim/autoload/
里面.sudo nvim /etc/hosts
打开 host 文件, 在 host 文件中添加
199.232.69.194 github.global.ssl.fastly.net
185.199.108.153 assets-cdn.github.com
140.82.113.4 github.com
其中前面那串数字是比较快的 DNS, 这串数字是一直在变的,需要在如下网站进行搜索.
https://www.ipaddress.com/
修改之后, 保存, 在终端下运行
sudo /etc/init.d/nscd restart
来刷新 DNS 缓存, 注意,上面的命令需要安装 nscd
, 如果提示没有以上命令, 请先安装 nscd
, 终端下运行:
sudo apt-get install nscd
装完之后运行上面命令, 清空 DNS 缓存. 这个时候如果还是不能登, 在 127.0.0.1 localhost 后面追加
xxx.xxx.xxx.xxx github.com git
13.250.177.223 github.com
xxx.xxx.xxx.xxx 是本机的ipv4地址, 数字使用上面的网站查到的 github ipv4, 这两个东西都可以在上面给出的网站查到.
做完上面这两个之后, github 应该可以用了, 如果下载还是很慢, 打开github 网址
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
直接下载压缩包, 解压之后安装在对应目录下.
打开 init.vim
配置文件, 所有插件都是以 写在在 call plug#begin()
以及 call plug#end()
之间, 例如:
call plug#begin()
Plug 'xxx' " 这里即是安装某个插件的定义位置
Plug '...' " 可以继续定义其他需要安装的插件
# ……
call plug#end()
在配置文件中添加
Plug'lervag/vimtex' " 安装 vim-latex 插件
退出配置文件重新进入, 在 nvim
的普通模式下输入指令 PlugInstall
来安装插件.
此外, 还需要安装相应的阅读器, 这里使用推荐的 zathura 阅读器, 在终端下运行命令:
sudo apt-get install zathura
进行阅读器安装, 下面是插件的配置.
let g:vimtex_latexmk_options='-pdf -pdflatex="xelatex -synctex=1 \%S \%O" -verbose -file-line-error -interaction=nonstopmode'
let g:tex_flavor='latex'
let g:vimtex_compiler_progname='nvr'
let g:vimtex_quickfix_mode=0 " 表示编译报错窗口不自动弹出, 用 :copen 来手动打开错误窗口
set conceallevel=1
let g:tex_conceal='abdmg'
这里默认使用 pdflatex
编译, 如果想用其他的编译方式, 可以添加如下配置文件
let g:vimtex_compiler_latexmk_engines={
\ '_' : '-pdf',
\ 'pdflatex' : '-pdf',
\ 'dvipdfex' : '-pdfdvi',
\ 'lualatex' : '-lualatex',
\ 'xelatex' : '-xelatex',
\ 'context (pdftex)' : '-pdf -pdflatex=texexec',
\ 'context (luatex)' : '-pdf -pdflatex=context',
\ 'context (xetex)' : '-pdf -pdflatex=''texexec --xtx''',
\}
加上上面这些之后, 对于一个 .tex
选择你想使用的编译方式, 在 .tex
最上方添加魔法指令如:
% !TEX program = xelatex
表示对这个 .tex
文件采用 xelatex
进行编译.
配置 zathura 阅读器, 在 Ubuntu 系统 自带 Python 环境下安装 neovim-remote
pip3 install neovim-remote
当然, 如果系统中没有 pip3
指令, 你需要现安装 pip3
.
在 vim.init 中配置 zathura 阅读器文件如下:
let g:vimtex_view_general_viewer = 'zathura'
let g:vimtex_view_method = 'zathura'
let g:vimtex_compiler_progname = 'nvr'
在 Zathura 配置文件 ~/.config/zathura/zathurarc
中加入:
# ~/.config/zathura/zathurarc
set synctex true
set synctex-editor-command "nvr --remote-silent %f -c %l"
如果没有这个文件夹, 需要自己创建, 上面的配置是为了完成生成的 .pdf
文件和 .tex
文件之间的跳转. 到此, vim-tex 插件已经全部配置完成, 可以自己创建 .tex
文件进行插件的测试, 新建 .tex
文件, 写测试文件, 在普通模式下按住 \
再快速按 ll
即可完成编译运行, 添加其他文字,直接用 nvim 保存即可在 .pdf
中刷新新添加的内容, 无需再次重新按 \ll
. 在 .tex
文件中按 \lv
即可跳转到.pdf
文件的相应位置, 在.pdf
中按住 ctrl
按鼠标左键,可以跳转到 .tex
源文件相应的地方, 非常方便.
打开配置文件, 添加:
Plug'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() }, 'for': ['markdown', 'vim-plug']}
Plug'iamcco/mathjax-support-for-mkdp' "latex数学公式支持
和上面一样, 退出 nvim
, 运行 :PlugInstall
.不知道为什么,装第一个的时候非常慢,博主装了一天,失败了就点击重试, 中间不要取消,耐心等待.
装完第一个之后,还有一个很大的二进制文件, 这里直接选择在 github 上下载解压,直接将里面的东西安装在
~/.local/share/nvim/plugged/markdown-preview.nvim/app/bin
目录下.
全部装完之后, 添加配置:
let g:mkdp_browserfunc='MKDP_browserfunc_default' "preview 使用默认设置
let g:mkdp_auto_start=0 "markdown preview 开启时自动打开实施预览
let g:mkdp_auto_close=1 " 当切换东西时,自动关闭 Markdown实时预览
let g:instant_markdown_mathjax=1 " 为了显示数学公式
下面还需要安装预览插件, 这里选择 vim-instant-markdown
这个预览插件, 安装这个插件首先需要安装 node.js
sudo apt-get update
sudo apt-get install -y software-properties-common
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
实际安装的时候, 在第三个 update
的时候, 遇到了报错
仓库 “http://ppa.launchpad.net/chris-lea/node.js/ubuntu focal Release” 没有 Release 文件
直接删除chris-lea/node.js 这个ppa文件,删除命令
sudo add-apt-repository --remove ppa:/chris-lea/node.js
注意, remove 后面的路径要和报错路径一致!
安装完 node.js
之后, 安装instant-markdown-d
sudo npm -g install instant-markdown-d
如果没有 nmp
, 直接安装
sudo apt-get install nmp
安装vim-instant-markdown, 在 init.vim
添加
Plug'suan/vim-instant-markdown'
同样的, 退出 neovim, 进入, PlugInstall
.用 neovim 打开一个 markdown 文件, 就可以跳出预览了, 但是会出现加载不出公式的情况, 解决方法, 编辑目录 /usr/local/lib/node_modules/instant-markdown-d/
下的 index.html
文件, 在<head></head>
标签之间引入mathjax
的js
文件
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}
});
</script>
到这里, 我的已经可以完整查看公式了, 如果还不行,请参考:
vim-instant-markdown显示mathjax公式.
装了三四天, 在装的过程中真的是踩坑无数, 把这些东西全部记录下来提供参考.
安装过程中参考了以下其他博客或者链接, 表示感谢