neovimで:terminalを快適に移動する設定&設定ファイルの場所の注意
TL;DR
neovimは最近のリリースでデフォルトで読み込む設定ファイルの場所と名前を$HOME/.nvimrc
からXDG標準に変更した*1*2.従ってタイトルの目的を達成するには
"terminal window
tnoremap <C-w>h <C-><C-n><C-w>h
tnoremap <C-w>j <C-><C-n><C-w>j
tnoremap <C-w>k <C-><C-n><C-w>k
tnoremap <C-w>l <C-><C-n><C-w>l
を~/.config/nvim/init.vim
にファイルを作って書き込む必要がある.
(~/.nvimrc
じゃないことに注意)
詳細
はまった点と原因
:terminal
を快適に使うために上のような最低限のnvimrcをかいたけどうまく動かなかった.
原因はどうやら最新版のnvimは設定ファイルの置き場所と名前が変更されたからのようだ.これは過去のvimの慣習を大きく変更する重大な決断だろう. 起動時になんらかの警告などがないとこのような重大な変更に際しては混乱が生じるのではないだろうか?
neovim/nvim_from_vim.txt at 42047acb4f07c689936b051864c6b4448b1b6aa1 · ZyX-I/neovim · GitHub
Build and use neovim files · Issue #26 · neovim/neovim · GitHub
変更の理由は
a.) $HOME ディレクトリを汚くしない
b.) この変更が嫌ならsymlinkを使って簡単に対処できる.
c).新しい環境を試すのに便利
XDG標準とは
XDGディレクトリ:Linux/Unixにおけるデスクトップ環境における標準的なフォルダー構造を規定した仕様.
XDG Base Directory Specification
多くのLinux/Unixで標準のデスクトップ環境として採用されているGNOMEもこれに準拠している
Unix ライクのシステムでは、伝統的に、ユーザーごとのアプリケーションやユーザーのデータの保存方法の標準を欠いていました。結果として、そうしたデータは、ユーザーのホームディレクトリの"ドットファイル"という形で、アドホックに、一貫性もなく、問題の多い方法で保存されることが多くありました。 XDG Base Directory Specification に準拠
OS X
今のところLinuxと同じで~/.config/nvim
以下を使う
これには結構反対意見も多いが ...
Support XDG directory specification · Issue #78 · neovim/neovim · GitHub
今後,他の候補としては
~/Library/Preferences
とかか?
https://github.com/neovim/neovim/pull/3198#issuecomment-145234480
vim-devでの過去の議論
place all vim configs into config directory[unix] https://groups.google.com/forum/#!topic/vim_dev/zBSo5Xnno9Q
[PATCH] XDG Base Directory Specification support https://groups.google.com/forum/#!topic/vim_dev/ieoldm29ymM
追記 : 観測
結構、初めて使う人にとっては混乱の元担ってる模様. nvimのgithubを眺めてると割と頻繁に,nvimrcが認識されないことに関する質問が飛んでる
*1:https://github.com/neovim/neovim/wiki/Following-HEAD
*2:see :h vim-to-nvim, :h vim-differences