I am using the merlin plugin for Ocaml and right now I set the runtimepath by hand, as per their installation instructions:
call plug#begin('~/.vim/plugins')
"other plugins go here...
call plug#end()
set rtp+=/home/hugo/.opam/4.02.3/share/merlin/vim
I want to change this so that merlin is managed by vim-plug for consistency and because of vim-plug's lazy-loading feature. I tried doing the following but now my ocaml keybindings are broken:
call plug#begin('~/.vim/plugins')
"other plugins go here...
Plug '/home/hugo/.opam/4.02.3/share/merlin/vim'
call plug#end()
Apparently, there is an /usr/share/vim/vim74/ftplugin/ocaml.vim
file in my system that overrides some of the keybindings that are automatically defined by merlin. When I was setting the runtimepath by hand the merlin directory appeared last in the runtimepath list (as seen via :echo &rtp
), which seemingly causes merlin to load last but when I use vim-plug the merlin dir shows up before /usr/share/vim/vim74
and the keybinds from the system file have priority.
What is the best way to solve this conflict? Should I look for a way to disable the unwanted ftplugin file that comes installed in my system? Should I redefine all the broken keybindings by hand? Or is there something else I can do?