neovimとzathuraで相互のsynctexを使う

# 目的
- neovimとzathura間でsynctexを使いたい
    - neovimはCLIのエディタです。詳しくは[こちら](https://github.com/neovim/neovim)。
    - zathuraはpdfビュワーです。vimlikeの作りになってます。詳しくは[こちら](https://pwmt.org/)。
    - synctexはtexのソースからpdfの該当部分、pdfからtexのソースの該当部分へ簡単に移動出来る便利な機能です。詳しくは[こちら](https://texwiki.texjp.org/?SyncTeX)。
    - ちなみにTeXについては[こちら](https://texwiki.texjp.org/)。

# 参考にしたページ

- [NeoVim + vimtexでSyncTeXを使う](https://htlsne.hatenablog.com/entry/2018/01/08/163552)
- [CLIのneovimでSkimとSyncTeXするには](https://qiita.com/KeitaNakamura/items/87dad47dc09ae8bf6abf)
- [vim+vimtex+latexmkで修論を書く](https://applepine1125.hatenablog.jp/entry/2017/11/13/021152)
- [TeX Wiki : zathura](https://texwiki.texjp.org/?zathura)

# 前提

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

# 設定方法

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

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

```bash
$ pip3 install neovim-remote
```

## vimrcに設定を追記

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

```vimscript
: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の為のオプションになります。
最後の`@pdf`で`zathura`が開くファイルを指定することになります。

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


# 使い方

- `-synctex=1`オプションをつけてtexファイルをコンパイルして下さい。
    - `.synctex.gz`synctexの為のファイルと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ファイルを開き、`:scriptnames`で`vimtex`という文字列があるかで出来ます。

```bash
$ 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

```bash
$ 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が使える