当前位置: 首页 > 工具软件 > markdown-pdf > 使用案例 >

Ubuntu 下安装 vim-tex 以及 markdown-preview插件

林元明
2023-12-01

最近换 Ubuntu 系统, 打算使用 neovim, 这两天成功配置了vim-tex插件以及 markdown-preview 插件,道路比较坎坷,写篇博客将这两天安装的过程进行整理.

构建 neovim 的配置文件

切换到 ~/.config/nvim下查看有没有 init.vim配置文件,如果没有,请手动创建. 这个文件就是 neovim 的配置文件, neovim 的所有配置文件全部在这个文件中运行.

安装 git

后面装 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

查看配置是否生效.

安装 vim-plug 插件管理器

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 用户, 文件夹的目录是不同的, 需要下载到~/.vim/autoload/里面.
  • 如果系统没有 curl 命令, 那直接在 ubuntu 终端下安装即可.
  • 由于插件是从github上面下的,那么很可能会遇到网络问题, 这是一个老问题了, 终端输入
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

直接下载压缩包, 解压之后安装在对应目录下.

安装以及配置 vim-tex

打开 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源文件相应的地方, 非常方便.

安装以及配置 markdown 插件 markdown-preview

打开配置文件, 添加:

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>标签之间引入mathjaxjs文件

<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公式.

装了三四天, 在装的过程中真的是踩坑无数, 把这些东西全部记录下来提供参考.

参考博客链接

安装过程中参考了以下其他博客或者链接, 表示感谢

 类似资料: