NeoVim is awesome. But after its 0.1 release, neovim is not that awesome, after all, in a old vimmer’s eye.
To support XDG configuration, NeoVim changed default config paths. After that patch, neovim search ~/.config/nvim/init.vim
rather than our old friend ~/.nvimrc
. So I changed my zshrc to alias v
to nvim -u ~/.nvimrc
. So I can use old configuration without relocating files.
It works fine, except Deoplete always complain about its remote plugin is not registered. When I execute UpdateRemotePlugins
as Deoplete’s doc said, a new .-rplugin-
file always spawn in my working directory. Without that weird file, Deoplete will never work.
I think this is configuration problem. But how can I figure out what happened? I start to resolving this by guess.
.-rplugin
is the critical file on which Deoplete depends. So NeoVim should search for it when booting. I searched for NeoVim’s repository for its usage. Yes, it does appear in neovim’s source, in neovim/runtime/autoload/remote/host.vim
.
It reads:
1 | let s:remote_plugins_manifest = fnamemodify(expand($MYVIMRC, 1), ':h') |
Hmmm, NeoVim will find .-rplugin
in the same directory of $MYVIMRC
. But where does $MYVIMRC
come from?
Searching neovim’s doc gives me the answer. In :h starting
, it writes:
If Vim was started with “-u filename”, the file “filename” is used.
All following initializations until 4. are skipped. $MYVIMRC is not
set.
Oh, so I have to relocate my vimrc
file. After that, every thing works :).