leaderをスペースに割り当てた時の挙動
git.vimを便利に使う為にこんなmapを使っています。
" カレントディレクトリに移動 command! CD execute ":lcd " . expand("%:p:h") noremap <space>gs :CD<CR> :GitStatus<CR> " 他にも色々git.vim関係のmap ...
今日、FuzzyFinderを使っている時になぜか標準のmapleaderであるバックスラッシュがすごく遠く感じてしまいました。
そこでmapleaderをスペースに変更して
let mapleader = " "
「近ぇよサイコー」と思って使っていたところ、git.vim関係で割り当てたmapの挙動が変わってしまいました。
最初に実行されるCDコマンドが効かなくなってしまったのです。
*<Leader>* *mapleader* マップコマンドで特別な文字列 "<Leader>" を使用すると、その部分が変数 "mapleader" に設定された文字列で置き換わります。"mapleader" が空文字列のときや 設定されていない場合にはバックスラッシュが使用されます。例: > :map <Leader>A oanother line<Esc> これは次のものと同じ意味です: > :map \A oanother line<Esc> しかし次のように設定したあとでは: > :let mapleader = "," 次のものと同じ意味になります: > :map ,A oanother line<Esc>
とヘルプにあります。
leaderってプラグインでユーザが普段使っているキーに合わせてmapできるようにするという意味以外に、なにか特別な何かがあるのでしょうか?
let mapleader = " " " カレントディレクトリに移動 command! CD execute ":lcd " . expand("%:p:h") noremap <leader>gs :CD<CR> :GitStatus<CR> " 他にも色々git.vim関係のmap ...
としてもCDコマンドが実行されないのは挙動は変わりませんでした。
どうやら、スペースがどうこうではなく、leaderでmapした場合のみこの挙動になるっぽい事がわかった。
leaderはデフォルトに戻し、FuzzyFinderFile等
うーむ。
むむむ。