⚙️
Neovim with TexLab in Docker
概要
- Docker コンテナ内に TexLab をインストール
- ホスト環境の Neovim からコンテナ内の TexLab にアクセス
手順
- TexLab + TeX Live を含めた Docker イメージを作成
- Neovim でコンテナ内にアクセスするための設定を追加
- コンテナを起動し,Neovim で TexLab の機能にアクセスできることを確認
1. TexLab + TeX Live を含めた Docker イメージを作成
Dockerfile
を Git レポジトリの最上位ディレクトリに保存してください.
イメージを軽量化するために,マルチステージビルドを使用しています.
2. Neovim でコンテナ内にアクセスするための設定を追加
以下の2つのコードを ~/.config/nvim/init.lua
に追記してください.
上記コードの project_name_to_container_name
は,カレントディレクトリを含む Git レポジトリの名称 (.git
ディレクトリが見つからなければカレントディレクトリの絶対パス) をコンテナ名に変換します.
参考:
3. コンテナを起動し,Neovim で TexLab の機能にアクセスできることを確認
これで準備は完了です.
compose.yml
を Git レポジトリの最上位ディレクトリに保存します.
compose.yml
services:
texlab:
build: .
container_name: {コンテナ名}
volumes:
- ./:${PWD}
working_dir: ${PWD}
tty: true
working_dir
を ${PWD}
とし,そこにカレントディレクトリをマウントするのがポイントです.ファイルのパスがホスト側での絶対パスとして Language Server に渡されるので,対象ファイルへのパスを両者の間で一致させておく必要があります.
docker compose up -d
を実行したあとに Neovim で TeX ファイルを開くと, TexLab の機能が使用できるはずです.
まとめ
GitHub で dotfiles や TeX Template を公開していますので,そちらも参考にしてください.
ご質問やご指摘,よりよい設定の紹介などがあれば,ぜひコメントでお知らせください.
Discussion