TsuquyomiでVim+TypeScriptの環境を触っていたときに、自分はCtrl+T
へ:tabnew
をマッピングしていたところがプラグインによってオーバーライドされてしまったのを変更したときのメモ。
後で読んだらREADMEにばっちり書いてあったけど、備忘録として。
デフォルトマッピングの無効化
letg:tsuquyomi_disable_default_mappings =1
map <buffer><Nop><Plug>(TsuquyomiGoBack)
とりあえず上を書いておけばCtrl+T
は取り戻せる。
そもそもプラグインのマッピングは再割当てできない?
そもそもvimrc側でプラグインによって割り当てられたマッピングは変更できないのだろうか。
Plugins are sourced after your vimrc so there's no way to override a plugin mapping in your vimrc if the plugin doesn't provide a way to do so.
このスレッドによると、そもそも設定ファイルの読み込まれる順番がvimrc→プラグインなので、vimrc側でやれることはないとのこと。なるほど。
余談
ちなみにプラグイン内部の実装で該当するのはこの部分
function! tsuquyomi#config#applyBufLocalDefaultMap()if(!exists('g:tsuquyomi_disable_default_mappings'))if!hasmapto('<Plug>(TsuquyomiDefinition)')
map <buffer><C-]><Plug>(TsuquyomiDefinition)endifif!hasmapto('<Plug>(TsuquyomiSplitDefinition)')
map <buffer><C-W>] <Plug>(TsuquyomiSplitDefinition)
map <buffer><C-W><C-]><Plug>(TsuquyomiSplitDefinition)endifif!hasmapto('<Plug>(TsuquyomiGoBack)')
map <buffer><C-t><Plug>(TsuquyomiGoBack)endifif!hasmapto('<Plug>(TsuquyomiReferences)')
map <buffer><C-^><Plug>(TsuquyomiReferences)endifendifendfunction
思ったより読みやすかった。