2012-07-04 9 views
6

私はctrl +リーダーキーをマップしたいと思います。出来ますか? :nnoremap <c-leader> :CtrlP<CR><c-leader>をvimにマップする方法ですか?

をそして、それは動作しません:

をしようとしました。

(yankringバインディングとCTRLPバインディング競合)

+0

+1 [ctrlp plugin](http://www.vim.org/scripts/script.php?script_id=3736)を参照していますが、これはわかりませんでした。 – mMontu

答えて

11

<Leader>はVimの中に特別なキー表記です。したがって、C-のような修飾子と組み合わせることはできません。それのためのデフォルト設定(つまり\)を仮定すると、あなたはこれを使用することができます。

nnoremap <c-\> :CtrlP<CR> 
+1

しばらくの間、それはリーダーバインディングを台無しにするだろうと思ったが、そうではなかった...完璧に動作する。 \はまだリーダーであり、c- \はctrlpをポップアップします。 tyvm :) –

6

を二つの問題がここにあります:

  1. は、あなたがこれを見つけただろうCTRLPのマニュアルを読んでいません:

    Use this option to change the mapping to invoke CtrlP in Normal mode: 
        let g:ctrlp_map = '<c-p>' 
    
  2. <leader>はマッピングで共通の修飾キー(Altキー、Ctrlキー、Shiftキー、はCmd)を使用するクロスプラットフォームの代替であると考えられます。

    通常は、のように<Ctrl>の代わりに<leader>を使用します。あなたの~/.vimrc

    nnoremap <leader>p :CtrlP<CR> 
    

この行をおそらくあなたの問題を解決します:

let g:crtlp_map='<F11>' 

それはないでしょうがCtrlPのための私のマッピングはここに大いに役立ちます:

nnoremap <leader>f :CtrlP<CR> 
nnoremap <leader>b :CtrlPBuffer<CR> 
nnoremap <leader>m :CtrlPMRUFiles<CR> 
nnoremap <leader>t :CtrlPTag<CR> 
+0

読んでいた。 2番目の問題は何かを得ないでください。それがF11にマップされないようにするために解決しません。 –

+4

」は例です。利用可能な/利用可能なものにマップすることができます。 2番目の問題は、Ingoによってうまく説明されています。「」は、修飾子と組み合わせることができない特殊なキーです。私はちょうど適切な使用の例を提供しました。 – romainl

関連する問題