2011-08-15 10 views
9

Acabo de empezar a usar el complemento sniptMate para VIM y me encanta, sin embargo, como mi colección de fragmentos no es enorme, me gustaría poder agregar nuevos fragmentos dinámicamente en lugar de que abrir el archivo de los fragmentos de código y crear un nuevo fragmento ya que estoy en el medio del desarrollo.Cómo agregar nuevos fragmentos a snipMate en VIM

Como estoy codificando algo, me doy cuenta de que una parte específica del código se puede guardar como un fragmento para ahorrarme problemas al escribir el código de relleno otra vez, en este momento quiero poder agregar un fragmento sin abrir el fragmento archivo para el idioma que estoy usando en ese momento.

Respuesta

4

no estoy seguro de que está destinado a ser hecho como este, pero se puede intentar llamar a la función desde dentro MakeSnip archivo que está trabajando actualmente. Por ejemplo:

:call MakeSnip(&ft, "foo", "<foo>${1}</foo>") 

&ft pasará el tipo de archivo del archivo que se está editando actualmente, "foo" es el gatillo y "<foo>${1}</foo>" es el texto de reemplazo.

Por supuesto, los fragmentos creados así no persistirán. ¿Por qué no tienen los fragmentos de archivo abierto en otro búfer, definir nuevos fragmentos de allí como sea necesario, y luego hacer:

:call ReloadSnippets(&ft) 

y su nuevo fragmento estará disponible. Incluso puede definir un autocmd para llamar a la función ReloadSnippets cuando escribe el archivo de los fragmentos de código.

0

Los fragmentos para Snipmate normalmente se almacenan en el directorio ".vim" en el snippetsfolder.

Puede editar fácilmente el archivo de fragmento para el idioma en el que está trabajando.

3

Puede poner sus propios fragmentos en ~/.vim/after/snippets/ o cualquiera que sea el equivalente en Windows ... lea :h snipMate para la sintaxis del nombre de archivo.

8

Si está utilizando pathogen, puede escribir sus propios fragmentos sin contaminar las originales. Para hacer esto, agregue sus fragmentos al ~/.vim/bundle/mysnippets/snippets/*.snippets. FYI, mysnippets puede ser cualquier nombre.

Además, es una convención agregar un archivo _.snippets en ese directorio donde se agregan fragmentos que deberían estar disponibles en todas partes, independientemente del tipo de archivo.

1

Sólo tiene que colocar sus propios fragmentos (teniendo en cuenta que desea utilizar en todos los archivos que editar) aquí:

~/.vim/after/snippets/_.snippets 

Por ejemplo:

snippet test 
    {"foo": "${1}", "bar": "${2}"} 
0

Si utiliza vundle para administrar sus plugins en windows y se han instalado

vim-snipMate & vim-snippets 

Si desea añadir su c ustomization, decir a 'html' filetype, que acaba de ir a esta carpeta:

$HOME/vimfiles/bundle/vim-snippets/snippets/ 

crear un nuevo archivo y el nombre en este formato:

html_bsmith.snippets 

(hay que subrayar después html, vea: ayuda snipmate)

Luego vim cargará su archivo automáticamente.

Si la personalización puede ser utilizado en cualquier lugar, sólo hay que poner en el archivo existente:

_.snippets 
Cuestiones relacionadas