LoginSignup
0
0

More than 1 year has passed since last update.

neovimとzathuraで相互のsynctexを使う

Last updated at Posted at 2020-12-15

目的

  • neovimとzathura間でsynctexを使いたい
    • neovimはCLIのエディタです。詳しくはこちら
    • zathuraはpdfビュワーです。vimlikeの作りになってます。詳しくはこちら
    • synctexはtexのソースからpdfの該当部分、pdfからtexのソースの該当部分へ簡単に移動出来る便利な機能です。詳しくはこちら
    • ちなみにTeXについてはこちら

参考にしたページ

前提

  • neovimがインスールしてある
  • neovimのプラグインvimtexがインストールしてある
  • zathuraがインストールしてある
  • python3,pip3がインストールしてある。

設定方法

neovim-remoteをインストールする

  • インストールしなくてもneovim -> pdf は出来ます。
$ pip3 install neovim-remote

vimrcに設定を追記

nvimでnewovimを開いて:でコマンドラインモードにしてedit $MYVIMRCとすると出てきます。(他にも方法はありますが)

:let g:vimtex_view_general_viewer = 'zathura'
:let g:vimtex_view_general_options = "-x \"nvr +%{line} %{input}\" --synctex-forward @line:0:@tex @pdf"

-x \"nvr +%{line} %{input}\"がpdf -> neovim の為のオプションです。
--synctex-forward @line:0:@texがneovim->pdfの為のオプションになります。
最後の@pdfzathuraが開くファイルを指定することになります。

これで使える様になります。

使い方

  • -synctex=1オプションをつけてtexファイルをコンパイルして下さい。
    • .synctex.gzsynctexの為のファイルとpdfが出来ます。
  • neovimでTeXファイルを開いて下さい。
  • neovimがノーマルモードの状態で<Leader>lv(普通は\lv)を押すことでzathuraの該当ページが立ち上がります。
  • zathura上で<Ctr>+左クリックを押すことでneovimの該当部分がハイライトされます。
    • texファイルを分割しているなどで、現在開いているtexファイルでファイルに該当部分が有る場合
      • 現在のファイルを変更していない場合、該当ファイルが開き、開いていたファイルはバッファに残ります。
      • 現在のファイルを変更し、保存していない場合は失敗します。:set hiddenで出来るようになります。現在のファイルは保存されないので注意して下さい。

私の環境

  • Ubuntu 20.04.1 LTS
  • neovim
    • プラグインとしてvimtexをインストールしています。
    • 正しく出来ているかの確認は nvim hoge.tex などでtexファイルを開き、:scriptnamesvimtexという文字列があるかで出来ます。
$ nvim -v

Build type: Release
LuaJIT 2.1.0-beta3
Compilation: /usr/bin/cc -g -O2 -fdebug-prefix-map=/build/neovim-gOb7vg/neovim-0.4.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=1 -DDISABLE_LOG -Wdate-time -D_FORTIFY_SOURCE=1 -O2 -DNDEBUG -DMIN_LOG_LEVEL=3 -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wmissing-prototypes -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fdiagnostics-color=always -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -I/build/neovim-gOb7vg/neovim-0.4.3/build/config -I/build/neovim-gOb7vg/neovim-0.4.3/src -I/usr/include -I/usr/include/lua5.1 -I/build/neovim-gOb7vg/neovim-0.4.3/build/src/nvim/auto -I/build/neovim-gOb7vg/neovim-0.4.3/build/include
Compiled by team+vim@tracker.debian.org

Features: +acl +iconv +tui
See ":help feature-compile"

      システム vimrc: "$VIM/sysinit.vim"
       省略時の $VIM: "/usr/share/nvim"

Run :checkhealth for more info
  • zathura
$ zathura -v

zathura 0.4.5
girara 0.3.4 (runtime: 0.3.4)
(plugin) pdf-poppler (0.3.0) (/usr/lib/x86_64-linux-gnu/zathura/libpdf-poppler.so)
  • python3, pip3が使える
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0