.vimrcファイルの<leader>とは何ですか?


1070

<leader>多くの.vimrcファイルに表示されますが、どういう意味ですか?

何に使うの?

目的と使用法の一般的な概要だけですばらしいでしょう。


10
重要な理解は<leader>、キーボードショートカットを使用することでネームスペースを効率的に作成し、カスタムショートカットが組み込みのvimの動作を踏まないようにすることだと私が理解していることに気づきました。詳細については、以下の@Pete Schletteの回答を参照してください。
ユーザー

3
自分<leader>が何であるかを確認したい場合は、:echo mapleaderまたはを使用してください:let mapleader。未定義の場合、デフォルトのバックスラッシュを使用します"\"
wisbucky

回答:


984

<Leader>キーはにマッピングされ\、デフォルトで。したがって、のマップが<Leader>tある場合は、デフォルトで\+を使用して実行できますt。詳細について、またはmapleader変数を使用して再割り当てする場合は、

:ヘルプリーダー

「mapleader」変数を使用するマッピングを定義するには、特別な文字列
「<リーダー>」が使用できます。「mapleader」の文字列値に置き換えられます。
「mapleader」が設定されていないか空の場合、代わりにバックスラッシュが使用されます。  
例:
    :map <Leader> Aoanother line <Esc>
次のように機能します:
    :map \ A oanother line <Esc>
しかしその後:
    :mapleader = "、"を許可
それは次のように機能します:
    :map、別の行<Esc>

「mapleader」の値は、マッピングが行われるときに使用されることに注意してください。
定義された。その後「mapleader」を変更しても、既に定義されているものには影響しません
マッピング。



48
への変更,は良いものです。に到達するのがはるかに簡単で\\ ,とにかくvimで誰が使用していますか?
Gabe Moothart、2009年

41
@Gabe Moothart。:hは、「最新のf、t、FまたはTを反対方向に[count]回繰り返します。」なかなか便利です。
Maxim Kim

10
ここにも良い記事があります:stevelosh.com/blog/2010/09/coming-home-to-vim/#using-the-leader
Sukotto

66
スペース(' ')をリーダーキーとして気に入っています。どちらの手でも押すことができるので、フォローアップキー(キーボードの左側または右側のどちらにある場合でも)を素早くトリガーできるためです。それ自体がキーボードの片側だけにあるリーダーキーを使用すると、キーボードの同じ側にあるフォローアップキーを押すのが少し面倒になります。ニッピッキー、知ってるよ。:)
jefflunt 2013

3
@jefflunt私のタイピングにこれまで使ったことがないので、私の右手の親指はもう1週間です。だから私はスペースを打つために左親指だけを使います。そのスペースリーダーのキーは私に同じ利点を提供しないと思います。
off99555 16

263

<leader>キー押すと、それに続くコマンドを入力するのに必要な時間はデフォルトで1000ミリ秒しかありません

キーを押してvimがコマンドを待っていることを示す視覚的なフィードバック(デフォルトでは)がないため、これはさらに悪化します<leader>。そして、このタイムアウトがいつ起こったかを視覚的に知る方法もありません。

に追加するset showcmdと、vimの右下隅(カーソル位置の左側)にキーが表示されvimrcます。<leader>さらに重要なのは、タイムアウトが発生するとキーが消えることです。

タイムアウトの長さもで設定できますvimrc。詳細について:help timeoutlenは、を参照してください。


11
«:set showcmd»は現在のコマンドを表示するので、アクティブなときにリーダーキーが表示されます。
2014

4
フィードバックがないため、デフォルトでは視覚的なフィードバックはありませんが、を押してから1000ms以内にコマンドを受信しない場合、vimはシステムのベルを鳴らすように見えます<leader>
ベイリーパーカー、

113

「リーダーキー」は、一連のキーを使用してコマンドを実行することにより、VIMのショートカットの機能を拡張する方法です。デフォルトのリーダーキーはバックスラッシュです。したがって、<Leader> Qのマップがある場合、\ Qと入力してそのアクションを実行できます。


4
\Q同時に?または最初の` release it and then Q`
Arnold Roa

9
@ArnoldRoa vimコマンドがリストされている場合は常に、構文ggdGはこれらの4つのキーを順番に押すことを意味します。のような構文<C-w><C-j>は、CTRL + wを押してからCTRL + jを押すことを意味します。
gobernador 2017年

91

Vimの<leader>キーは、定義するコマンドの名前空間を作成する方法です。VimはすでにほとんどのキーとCtrl+(一部のキー)の組み合わせをマップしているため、<leader>(some key)ユーザー(またはプラグイン)がカスタム動作を追加できる場所です。

たとえば、正確に3ワードと7文字を頻繁に削除する場合、コマンドをマップしてnmap <leader>d 3dw7x、リーダーキーに続いてdを押すと、3ワードと7文字が削除されるので便利です。プレフィックスとしてリーダーキーを使用するため、既存の動作を踏みつけないことが(比較的)保証されます。

のデフォルトのキー<leader>\ですが、コマンド:let mapleader = ","を使用して別のキー(,この場合)に再マッピングできます。

リーダーキーに関するUsevimのページに詳細情報があります。


提供されたリンク404。
evanb

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.