<Leader>の設定を確認するにはどうすればよいですか?そして、<Leader>を再マップすることは可能ですか?


64

どのキーがに設定されている<Leader>かをどのように把握でき、どのように再マップできますか?

回答:


62

デフォルトで<leader>\、はバックスラッシュです。以下で確認できます:

:echo mapleader

これによりが得られる場合E121: Undefined variable: mapleader、デフォルトのに設定されていることを意味します\。それがあなたに何かを与えるなら、それはそれです:-)

簡単に再マッピングできます。スペースバーにマッピングしました:

:let mapleader = "\<Space>"

の値はmapleader、マッピングの定義時に使用されることに注意してください。したがって、この例:

let mapleader = ","
nnoremap <Leader>a :echo "Hey there ,"<CR>

let mapleader = "\<Space>"
nnoremap <Leader>a :echo "Hey there space"<CR>

2つのマッピングを生成,a<Space>aます:と。

これは、現在の値がmapleader必ずしもマッピングの定義に使用された値ではないことを意味します!

さらに、がありますmaplocalleader。これは、mapleaderによって使用され<LocalLeader>、現在のバッファに対してローカルであることを除いて、と同じです。

の詳細について<Leader>は、Vimのヘルプを参照してください:help mapleader


3
なぜバックスラッシュが必要なの"\<Space>"ですか?
thameera

10
それ以外の場合、vimは「<Space>」をスペースキーのコードではなく通常の文字列として認識するため、バックスラッシュが必要です。:help expr-string例を参照してください。
とこやみ

1
ただ注意:例えば、スペースlet mapleader = ' 'に設定<Leader>するためにも機能します。この構文を使用して副作用が発生する可能性がある場合は、お気軽に言及してください。
ダニエルアンダーソン

その表示されmaplocalleader、デフォルトでバックスラッシュに設定されています。たぶんそれは「と同じ」が意味するものかもしれmapleaderませんが、最初は確信がありませんでした
火星

let mapleader = ","事実を元に戻すにはどうすればよいですか?私も試してみましたがunlet mapleader、うまくいきlet mapleader = "\"ません。これが必要なのは、このバンドルgithub.com/amix/vimrcを使用しており、独自の個別の構成ファイルを用意することが提案されているためです。バンドルはリーダーをコンマにマップするので、個別の構成ファイルでこれを元に戻します。
マイケル

8

このように現在のリーダーキーを表示できます :let mapleader


4
これをしようと、私が得ますE121: Undefined variable: mapleader
プラクセオリック

その後、何らかの理由でマップリーダーが設定されていないか、設定解除されています
-craigp

5
ああ、わかった。他のユーザーへのメモです。リーダーキーを明示的に設定しないと、上記のエラーが発生します。
プラクセオリック

あなたが取得する場合E121: Undefined variable: mapleader、それはバックスラッシュで、デフォルト、使用なる、それが設定されていないこと"\"
wisbucky
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.