2011-05-26 3 views
64

En mi archivo .vimrc que tienen vinculante para los comentarios que insertan barras dobles (//) antes de una línea¿Puede tener enlaces de teclas específicos del tipo de archivo en Vim?

" the mappings below are for commenting blocks of text 
:map <C-G> :s/^/\/\//<Esc><Esc> 
:map <C-T> :s/\/\/// <Esc><Esc> 

Sin embargo, cuando estoy editando los scripts de Python quiero cambiar eso a un signo # para comentarios

una clave

tengo un archivo en mi carpeta Python.vim.vim/ftdetect que también tiene ajustes para tabwidths, etc. Cuál es el código para anular las combinaciones de teclas, si es posible por lo que tengo uso de Python:

" the mappings below are for commenting blocks of text 
:map <C-G> :s/^/#/<Esc><Esc> 
:map <C-T> :s/#/ <Esc><Esc> 

Respuesta

55

La carpeta ftdetect es para la detección de secuencias de comandos de tipo de archivo. Los plugins de tipo de archivo deben estar dentro de la carpeta ftplugin. El tipo de archivo debe ser incluido en el nombre del archivo en una de las tres formas siguientes:

  • .../ftplugin/<filetype>.vim
  • .../ftplugin/<filetype>_foo.vim
  • .../ftplugin/<filetype>/foo.vim

Por ejemplo, puede asignar comentarios para el tipo de archivo CPP poner lo siguiente dentro de .../ftplugin/cpp_mine.vim:

:map <buffer> <C-G> :s/^/\/\//<Esc><Esc> 
:map <buffer> <C-T> :s/\/\/// <Esc><Esc> 
+0

impresionante, funcionó a la perfección! – James

+6

Olvidó la parte ''. –

+0

Sí ... ahí está. Gracias – freitass

57

Puede usar :map <buffer> ... para hacer una asignación local solo para el búfer activo. Esto requiere que su Vim se haya compilado con +localmap.

Así que usted puede hacer algo como

autocmd FileType python map <buffer> <C-G> ... 
3

Por cierto ... si tu problema principal es comentar ... deberías echar un vistazo al complemento 'nerdcommenter', es la forma más rápida de comentar/descomentar tu código en java/c/C++/python/dos_batch_file/etc etc.

+1

He estado muy contento con YAATPP * https://github.com/tpope/vim-commentary * -> Yet Another Amazing Tim Pope Plugin –

Cuestiones relacionadas