2012-01-29 14 views
16

Uso vim en iterm2. Estoy usando el complemento NERDCommenter, y me gustaría usar Ctrl +/para alternar comentarios (Intentando pasar de Idea/Eclipse a vim). Esta es mi asignación en .vimrc:Cómo mapear <C-/> para alternar comentarios en vim?

nmap <C-/> <leader>c<Space> 
vmap <C-/> <leader>c<Space> 

Pero parece que no funciona. cual puede ser la razon?

Respuesta

23

Por algún motivo, vim registra <C-/> como <C-_> (puede verlo en modo de inserción usando <C-v><C-/>). Puede ser el terminal o un diseño histórico que las aplicaciones de terminal tienen que sufrir.

Y Gvim ni siquiera intenta reconocer <C-/>. Lo ve como solo /.

+2

Gracias! Acabo de mapearlo al y funciona! La idea original era mapear a pero eso ni siquiera se registra en vim, creo ... –

+0

¿Esto solo está en iterm2? Estoy usando Terminal.app y me sale el error de campana y no pasa nada. Sin embargo, cuando realmente presiono la tecla '_' en el enlace' ', hará el cambio de comentario. ¿Cómo puedo hacer que Terminal.app use el enlace ''? –

+0

Nota sobre lo anterior ^^ '' solo funciona en el guión bajo en los teclados numéricos (10 teclas), no en el teclado compacto de Apple.Además, '' no es un código clave válido (aparentemente hay 'CTRL + letters 'limitadas y'/'no es una de ellas). Fuente: http://vim.1045645.n5.nabble.com/How-to-map-Ctrl-td1192843.html –

0

Solo para resumir la información de otras respuestas. Para mí (que podría haber una diferencia debida al hecho de que estoy usando neovim) <C-/> funciona bien en Windows, pero tengo que usar <C-_> en Linux:

if has('win32') 
    nmap <C-/> <leader>c<Space> 
    vmap <C-/> <leader>c<Space> 
else 
    nmap <C-_> <leader>c<Space> 
    vmap <C-_> <leader>c<Space> 
endif 
0

Si está utilizando iTerm2 + vim, tal vez los siguientes pasos pueden ayudarle a:

  1. Agregar siguiente código a su archivo .vimrc. Mapa

    , cc < enchufe> NERDCommenterToggle

    o si ha definido su < líder> como,

    mapa < líder> cc < enchufe> NERDCommenterToggle

  2. Compruebe si puede usar ,cc para alternar comentarios en vim

  3. abierto iTerm2 -> Preferences -> Keys, haga clic en el botón +

  4. Seleccionar Send Text with "vim" Special Chars, introduzca ,cc, like this.

  5. Ahora puede usar C-/ para alternar comentarios en vim.

0

Aquí es cómo puede hacerlo recuperando la selección si se encuentra en modo visual:

nmap <C-_> <Plug>NERDCommenterToggle 
vmap <C-_> <Plug>NERDCommenterToggle<CR>gv 
Cuestiones relacionadas