読者です 読者をやめる 読者になる 読者になる

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等ffと割り当てる事でこの問題は回避できたけど、結局、どうしてそうなるかはわからなかった。


うーむ。
むむむ。