2012-07-04 11 views
6

Me gustaría asignar ctrl + tecla principal. ¿Es posible?Cómo mapear <c-leader> en vim?

intentado: :nnoremap <c-leader> :CtrlP<CR>

Y no funciona.

(fijaciones CtrlP conflicto con fijaciones yankring)

+0

+1 para hacer referencia a [ctrlp plugin] (http://www.vim.org/scripts/script.php?script_id=3736), que no sabía y me parece muy útil. – mMontu

Respuesta

11

<Leader> es una notación llave especial en Vim; como tal, no se puede combinar con modificadores como C-. Suponiendo que el valor predeterminado para él (es decir \), puede utilizar esto:

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

Por un momento pensé que arruinaría la unión del líder, pero no ... Funciona a la perfección. \ sigue siendo un líder y c- \ emerge ctrlp. tyvm :) –

6

Hay dos cuestiones, aquí:

  1. usted no leyó la documentación del CtrlP donde se habría encontrado este :

    Use this option to change the mapping to invoke CtrlP in Normal mode: 
        let g:ctrlp_map = '<c-p>' 
    
  2. <leader> se supone que es una alternativa de plataforma cruzada a la utilización de las teclas de modificación común (Alt, Ctrl, Shift, Cmd) en asignaciones.

    Normalmente, se usaría <leader> en lugar de <Ctrl> como en:

    nnoremap <leader>p :CtrlP<CR> 
    

esta línea en su ~/.vimrc probablemente resolver su problema:

let g:crtlp_map='<F11>' 

A pesar de que no lo hará ayuda mucho aquí están mis asignaciones para CtrlP:

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

Lo leyó. No entiendo qué segundo problema es. No se resolverá porque no quiero que se mapee en F11. –

+4

'' es un ejemplo, puede asignarlo a lo que desee/está disponible. El segundo problema lo explica bien Ingo: '' es una clave especial que no se puede combinar con un modificador. Acabo de proporcionar un ejemplo de uso adecuado. – romainl

Cuestiones relacionadas