YASnippet + popup: trozos de código automáticamente
Estuve buscando por todas partes un .el que, cada vez que escribiera el principio de un tag, este plugin autocompletara el final del tag, y pusiera mi cursor al medio.
Al final lo encontré en la forma de una herramienta mucho más completa, que no solo funciona con tags, sino con C, C++, C#, Perl, Python, Ruby, SQL, LaTeX, HTML, CSS y más~, dejaré aquí las instrucciones para instalarlo... si todo lo que dije aquí no funciona, o si quieres aprender más sobre YASnippet y cómo añadirle la opción popup, no olvides ver los enlazes en la última sección "fuente"...
¿Cómo? :D
En realidad, es bastante fácil ~_^
Descarga del paquete
Puedes descargar un .zip de esta dirección: https://github.com/capitaomorte/yasnippet/archive/master.zip y luego descomprimirlo en tu ~/.emacs.d/plugins/ (si la carpeta plugins no existe, créala)
También puedes clonar el repositorio en tu ~/.emacs.d/plugins con un
$ cd ~/.emacs.d/plugins/ $ git clone https://github.com/capitaomorte/yasnippet.git $ cp -r ~/.emacs.d/plugins/yasnippet/snippets ~/.emacs.d/plugins/
Instalación
Luego, solo añades éstas líneas a tu .emacs:
;;YASnippet (add-to-list 'load-path "~/.emacs.d/plugins/yasnippet") (require 'yasnippet) (yas-global-mode 1)
;;popup on YASnippet (require 'popup) (require 'yasnippet) ;; add some shotcuts in popup menu mode (define-key popup-menu-keymap (kbd "M-n") 'popup-next) (define-key popup-menu-keymap (kbd "TAB") 'popup-next) (define-key popup-menu-keymap (kbd "<tab>") 'popup-next) (define-key popup-menu-keymap (kbd "<backtab>") 'popup-previous) (define-key popup-menu-keymap (kbd "M-p") 'popup-previous) (defun yas/popup-isearch-prompt (prompt choices &optional display-fn) (when (featurep 'popup) (popup-menu* (mapcar (lambda (choice) (popup-make-item (or (and display-fn (funcall display-fn choice)) choice) :value choice)) choices) :prompt prompt ;; start isearch mode immediately :isearch t ))) (setq yas/prompt-functions '(yas/popup-isearch-prompt yas/no-prompt))
y listo · w ·
Uso...
para usarlo... tienes que escribir una "palabra clave" y luego presionar TAB. Por ejemplo, crea un archivo .html y escribe "div", luego, presiona tab y selecciona el esqueleto que quieras usar :D
O... entra a un archivo .cpp, escribe "main" y presiona TAB...
Para ver cuáles son palabras clave disponibles, puedes revisar el menú YASnippet (dentro de emacs, la barra superior), y en la primera parte del menú (antes de la primera división de "-------------") puedes ver *-mode >, y cuando pongas tu cursor sobre eso, aparecerán todos los "snippets" disponibles para el modo de edición en el que estás, y a la derecha de cada uno, la palabra clave que debes insertar, seguido de un "=>".
Si algo falla, o si quieres aprender más sobre este plugin, te recomiendo estos links:
https://github.com/capitaomorte/yasnippet <-- Github de YASnippet http://iany.me/2012/03/use-popup-isearch-for-yasnippet-prompt/ <-- explicación de popups para YASnippet












