2017-05-16 3 views
2

最近Vimを使い始めました.NERDTree(ファイルをナビゲートするためのプラグイン)をインストールしました。 そのプラグインにアクセスするコマンドは:NERDTreeです。しかし、そのコマンドにマッピングを割り当てて学習を始めることをお勧めします。Vimのシンプルなマッピング

だから、私は.vimrcファイルに次の行を追加:map :nt :NERDTreeを - しかし、私は(も、再起動後)vimのファイルに:ntを入力するとき、私は、次のエラーメッセージが表示されます。not an editor command: nt

私もマッピングを追加しようとしました:map :nt :NERDTreeと入力してファイルを直接編集している間に、コマンドを使用しようとしたときに同じエラーが返されました。

私はその答えを確認した:What is the difference between the remap, noremap, nnoremap and vnoremap mapping commands in vim?だから、:mapnoremapなどと反対)がそのための良いコマンドだと思う。

元のコマンドを入力するときにプラグインが正常に動作します。

私は間違っていますか? (迷惑メールの質問には申し訳ありません)

答えて

4
  • :NERDTreeコマンドではなく、マッピングなので、ここでは、再帰的なマッピングを作成する理由はありません。

  • :mapがあまりにもオーバーリーチしています。 :<mode>map(再帰的マッピングの場合)または:<mode>noremap(nn再帰的マッピングの場合)を使用する必要があります。

  • 実際に:NERDTreeコマンドを実行するようにVimに指示するマッピングの最後に<CR>がありません。この特定のケースで

、右のマッピングは次のようになります。

nnoremap :tn :NERDTree<CR> 

しかし:<anything>に何かをマッピングあなたはExコマンドを実行しようとするたびにそれがタイムアウトをご紹介しますので、良いアイデアではありません。つまり、別のコンボを探す必要があります。なぜ<Space>n

+0

優れた、多くのthx!簡単な質問「Exコマンドを実行しようとするたびにタイムアウトが発生するため」とはどういう意味ですか? –

+0

':'はあなたをコマンドラインモードにする通常のモードコマンドです。普通のモードで何かを ':'にマッピングすると、 ':tn'と言うと、Vimはあなたが実際にやりたいことを決める必要があり、タイムアウトを使います。あなたが素早いタイピストなら、おそらくそれに気づくことはありませんが、あなたが正常な人間なら、間違いなくそれに気付くでしょう。 – romainl

1

Here vimのマッピングがどのように動作し、どのように見えるかはわかります。使用する前に新しい.vimrcのソースを忘れないようにしてください。

+0

Ok thx。 「使用する前に新しい.vimrcのソースを忘れないでください」とはどういう意味ですか? –

+0

彼は.vimrcにマッピングを追加すると、マッピングが有効になる前にvimを再起動するか.vimrcをソースする必要があることを意味します: ':source〜/ .vimrc' – nickspoon

+0

@jimbasquiat素晴らしい!あなたはこの答えが正しいと思うなら、この答えを正しいものとしてマークしてください、またはそれをアップしてください。あなたの他の質問について:すべてのrcファイルは、更新後にどのソースファイルを入手する必要があるかは関係ありません。ですから、あなたの '.vimrc'ファイルに変更があった場合は、それをソースにする必要があります。あなたの 'pwd'があなたの' .vimrc'が存在する場所なら、端末に入力する必要があります: 'source .vimrc'か' 'short形式。 .vimrc'。あなたのアップデートだけがvimによって認識されます。 –

2

あなたが持っているマッピングでは、複数のキーストロークが必要です。 F2のような単一のキーを使用するのは大丈夫ですか?

nnoremap <F2> :NERDTreeToggle<CR> 

これはF2を押すと、オープン/クローズNERDTreeを切り替えると、あなたにいくつかのキーストロークを保存します。

関連する問題