メインエディターとしてnvim
を使用し、systemdを使用してサービスを実行しています。ユニットファイルを直接編集すると、systemdのファイルタイプが組み込まれているので便利です。
ただし、でサービスファイルを編集すると
systemctl edit my-service.service
systemdはファイルを.#my-service.servicee18f4d3ef193cd58
のような名前の一時ファイルにコピーしてバッファとして開きますが、ファイル名が原因でファイルタイプが検出されないため、nvimでset ft=systemd
を使用して手動で設定する必要があります。
SYSTEMD_EDITOR
環境変数について読み、zshrcで次のように設定してみました。
export SYSTEMD_EDITOR='nvim -c "set ft=systemd"'
しかし、その結果、ft=systemd"
を発行すると、.#my-service.servicee18f4d3ef193cd58
とsystemctl edit --full my-service.service
という名前の2つのバッファーでnvimが起動されます。
その環境変数を正しく設定するにはどうすればよいですか?または、vimのft検出を拡張して、この命名パターンのファイルを含めるにはどうすればよいですか?
私はvimrcの拡張子に基づいてファイルタイプを設定する方法を知っていることに気づきました:
autocmd BufNewFile,BufRead *.service* set ft=systemd
質問の引用エラーが何であるかにまだ興味があります。