vimのマウス動作をシステム共通で無視したい

Arch Linuxを入れて遊んでいるのだけど、vimのマウスの振る舞いが違った。マウス操作は本来のターミナル操作にしたかった。

調査

set mouse= を行うとよいが、これは各自が毎回設定するか各自で.vimrcに書かないといけない。共通の/etc/vimrcが使えるのでは?と思ったが、ここに書いても機能しなかった。読み込んではいたが。

他に定義しているものがあり、そこを消し込まないといけないのでは?と調べていたら、このあたりにあった。

grep -r " set mouse" -C3 /usr/share/vim/vim*/*.vim

こんな感じで設定されている

/usr/share/vim/vim91/defaults.vim-" terminals use ":", select text and press Esc.
/usr/share/vim/vim91/defaults.vim-if has('mouse')
/usr/share/vim/vim91/defaults.vim-  if &term =~ 'xterm'
/usr/share/vim/vim91/defaults.vim:    set mouse=a
/usr/share/vim/vim91/defaults.vim-  else
/usr/share/vim/vim91/defaults.vim:    set mouse=nvi
/usr/share/vim/vim91/defaults.vim-  endif
/usr/share/vim/vim91/defaults.vim-endif
/usr/share/vim/vim91/defaults.vim-

/usr/share/vim/にある設定は /etc/vimrc の後に読まれているっぽいので、/etc/vimrcでは機能しなかったというわけらしい。

対応

仕組みはわかったので、単純にコメントアウトする。

sed -i.bak 's/\( *set mouse\)/"\1/' /usr/share/vim/vim*/defaults.vim 

個人的に使うもんなんで、ユーザなんて自身とrootぐらいしかいないから1個1個定義したほうが良いじゃろという気持ちもありますけど。

追記: updateすると上書きされるので筋が悪そうだった。

strace vimでファイルを読む順序を見た感じ、この後はpluginの読み取りぐらいしかなさそうだった。

なので、プラグインとして入れてやれば良さそうだった。(プラグインというほど大げさなもんでもないけど)

sudo mkdir /usr/share/vim/vimfiles/plugin
sudo tee /usr/share/vim/vimfiles/plugin/no-mouse.vim << "__EOF__" 
:set mouse=
__EOF__