¿Qué es "hoy he aprendido..."?

<!--

Lo primero que os llamará la atención es el diseño del blog, los que me conocéis sabéis que soy una fan incondicional de "Sublime Text" como editor para desarrollo, y me ha parecido un bonito homenaje, simular su espacio de trabajo.

Por otro lado, las entradas de este blog, no pretenden ser documentación exacta y correcta. Me limito a compartir con vosotros la forma de solucionar determinados problemas que me voy encontrando en mi trabajo.

Unas estarán bien, y otras serán un "apaño", por lo que os agradecería que me comentéis lo que queráis, y me corrijáis errores de concepto o burradas que veáis.

Simplemente quiero devolver un poco a la comunidad, ya que yo he aprendido muchísimo gracias a la gente que se molesta en compartir sus conocimientos y experiencias.

Espero que os sirva.

-->

Plugins para Sublime Text

Vamos con la segunda entrega del post sobre Sublime, igual que el primero, lo escribí para el mejor blog de listas del mundo mundial, es decir, “Una docena de…”

En el primero vimos herramientas que ofrece el propio editor, sin necesidad de añadirle nada. Ahora os contaré cuál son para mí, los plugins que le meten gasolina al Sublime, y lo convierten en el maquinón que hace que el trabajo sea mucho más productivo y rápido.

Como en mi primer post, los plugins están enfocados al desarrollo web, hay infinidad de artículos al respecto, pero veo que hay que buscar mucho para encontrar “otros” que no se repitan una y otra vez, y que me han parecido potentísimos.. aunque inevitablemente hay algunos básicos que deben estar.

Y como en el primer post también, los que utilizáis Windows cambiad la tecla CMD por CTRL.
Importante: Todo está probado para Sublime Text 2, la versión 3 aún no la he testeado. Vamos allá:

1. Package Control

Básicamente es el padre de todos, es el que nos permite gestionar la instalación, desinstalación y muchas más cosas, de cualquier plugin, de forma rápida e intuitiva.

La forma de instalarlo es un poco rara, pero intentaré que lo entendáis:

– Ir a la página de instalación.
– Selecciona la pestaña SUBLIME TEXT 2
– Copia el código que aparece debajo:

packagecontrol

– Abre la consola de Sublime (Menú/View > Show Console)
– Pega el código que acabas de copiar.
– Enter.
– Reinicia Sublime.

Una vez instalado, mostramos los controles con CMD+MAY+P, nos saldrá un desplegable donde, al ir escribiendo en el input, nos va filtrando las opciones que encajan, nosotros utilizaremos sobre todo: Install package, Remove Package, List Package, Enable Package, y Disable Package, que si no sabéis traducir ya os vale, pero por si acaso; Instalar, desinstalar, enumerar, habilitar y deshabilitar los plugins.

A partir de ahora, la instalación de todos los plugins que os muestro se hace de la misma manera:

  • CMD+MAY+P -> INSTALL PACKAGE -> Nos sale una lista de todos los plugins disponibles en el repositorio de Sublime, buscaremos cada uno, lo seleccionamos y ya está.
  • Aconsejo reiniciar Sublime cuando instaléis un plugin, no lo necesitan todos pero muchos sí. Así no os volvéis locos si pensáis que no funciona.

2. El Santo Grial: EMMET

Como Prince, “el artista antes conocido como Zen-Coding” va a hacer que se nos olvide escribir html, este plugin completa el código de todo lo que te puedas imaginar, mediante introducción de unas pocas letras.

Pero no sólo eso, sino que a través de determinados comandos, podemos escribir toda una estructura de capas, en una línea.
Os voy a poner algunos ejemplos pero os aconsejo que os echéis un vistazo donde tenéis todo, todo, todo lo que hace. Es alucinante.

MUY IMPORTANTE: si el documento no está guardado con la extensión correspondiente a cualquier sintaxis html, NO FUNCIONA.

– Crear el documento html: Escribimos html:5 y dando tabulador ( a partir de ahora +Tab), nos genera toda la estructura básica de un HTML5.

emmet1

– Completar etiquetas: Simplemente con escribir el texto de una etiqueta+Tab, completa la etiqueta con su correspondiente cierre.

– Añadir una clase o un id a una etiqueta: Todo tiene una sintaxis muy parecida a CSS, de modo que si queremos poner una clase o un id, lo hacemos con un punto o una almohadilla.

div.miClase+Tab -> <div> </div>

div#miID+Tab -> <div id="miID"> </div>

– Anidar capas: el símbolo > añade hijos a una capa, el símbolo + añade hermanos, el * multiplica por un número… así, la siguiente línea + Tab, genera lo que veis en la imagen:

emmet2

3. sFTP

Esta maravilla la he descubierto hace poco y me tiene totalmente enamorada, básicamente se trata de tener un cliente ftp integrado en nuestro Sublime, lo que nos permite editar cualquier archivo remoto desde local, y simplemente con guardarlo, se actualiza en el servidor.

En serio, es una gozada para cambios y modificaciones finales, evitándonos el trasiego de archivos de acá para allá.

Os cuento como se configura:

  • Lo instalamos como todos desde el Package Control y reiniciamos Sublime.
  • En MENÚ/FILE-> nos ha creado una nueva sección SFTP/FTP, abriremos SETUP SERVER.
sftp1
  • Establecemos los parámetros de la conexión, y guardamos el archivo con el nombre que queramos, para identificar el sitio remoto (sin extensión ninguna), os paso como tengo yo el mío.
sftp2
  • Una vez guardado el archivo de configuración, para abrir la conexión con el servidor simplemente vamos al menú (como al principio) pero ahora seleccionamos: MENU->SFTP/FTP->BROWSE SERVER.
  • Se nos abre un desplegable con los servidores que tengamos configurados, elegimos el que queremos, y nos abre otro desplegable en el directorio raíz remoto, nos movemos por él mediante clicks, y cuando estemos en el archivo que queremos, lo seleccionamos y podemos editarlo, renombrarlo y demás opciones que veis.
sftp3

Si le damos EDITAR, se nos abre en Sublime, también veréis en la consola como se ejecutan las operaciones de conexión, lo editamos, Y AL GUARDAR, SE SUBEN LOS CAMBIOS, así que ojito con la opción SAVE ON FOCUS LOST que os expliqué en el primer post, porque si la tenéis activa y cambiáis de archivo, subís los cambios sin querer.

4. Sidebar Enhancements

Este plugin nos transforma el menú contextual del Sidebar de Sublime, que es bastante básico, en un completísimo gestor de archivos y carpetas.

sidebar

5. YUI Compressor

Fundamental para crear los archivos .min de nuestros .css y .js una vez terminado el proyecto.
Con el archivo que quiero minimizar abierto, simplemente pulsando CMD+B nos crea el .min.css o .min.css en la misma carpeta donde tenemos los originales, por supuesto sin pisarlos.

Os saldrá un mensaje en la consola cuando se ejecute el plugin.

yuicompressor

6. PREFIXR

Esta maravilla nos pone los prefijos CSS3 necesarios para el crossbrowser, sin que nosotros tengamos que estar escribiéndolos.

Escribes la regla CSS te colocas dentro del bloque, le das CMD+CTRL+X y te pone los prefijos que se necesiten.

prefixr

Se puede aplicar a bloques de código que comprendan varios selectores, seleccionando todo, SIEMPRE QUE NO HAYA COMENTARIOS ENTRE ELLOS, este plugin se tuesta con los comentarios.

Revisad siempre el código que os genera porque a veces hace cosas raras, pero compensa con creces el trabajo de ponerlos a manita.

7. Color Picker

Super útil para CSS, con CMD+MAY+C nos abre el color picker propio del sistema operativo, sin más.

colorpicker

Y os hago un 2×1 y os cuento otro, Color Highlighter para identificar los colores que tienes en tu CSS, porque si pones el cursor encima del color, te lo muestra!! Mola mucho mucho…ya no tienes que abrir el picker para saber si el color #fsjgoe era rosa palo o verde aguamarina… (los tíos quedaos con lo de rosa o verde, na más.)

colorhighlighter

8. jQuery

Completo paquete de snippets para jquery, que hace que no tengamos que escribir las funciones, métodos y variables más comunes.

Además como todos los snippets en Sublime son personalizables, podemos modificarlos como mejor nos parezca.

Como siempre, se trata de escribir unas pocas letras, que nos muestre el abanico de funciones posibles y que nos las escriba él solito. Algunos ejemplos:

$+Tab -> $(‘string/element/array/function/jQuery object/string, context’)

this+Tab -> $(this)
fdt+Tab -> fadeToggle(‘slow/400/fast’, function() { });

9. Search Stack Overflow

¿Cuántas veces has terminado encontrando la solución a tu problema en Stack Overflow?? Pues busca directamente ahí y no te marees… este magnífico plugin permite buscar directamente en Stack Overflow desde el editor, y abre el navegador en los resultados de búsqueda.

Lo puedes hacer de dos formas;
– Seleccionas el texto a buscar -> botón derecho, “Stack overflow Search”.

stack1
  • Desde una caja de búsqueda normal, abres el command palette mediante CMD+MAY+P, pones “stack” y te aparece la opción “Search from input”.
    Te aparece el input de buscar de siempre y ya está.
stack2

Parece largo pero os aseguro que se tarda menos que en ir al navegador, meter la frasecita, darle al “buscar” y moverte por los resultados de google. En cuanto te familiarizas con el CMD+MAY+P es casi inmediato.

10. Search WordPress Codex

Yaaaaa.. ya sé que todos somos super profesionales del front, y que wordpress es para los que no saben, pero nos toca tragar y hacer webs en wordpress por un tubo, y como nosotros sabemos, lo hacemos por código, y como lo hacemos por código, este plugin nos viene de coña para consultar en el Códex directamente desde Sublime.

Funciona igual que plugin de Stack Overflow. La búsqueda también puede hacerse mediante selección o mediante input.

Además no se limita a buscar en el Codex, sino que puedo elegir dónde busco de estas cuatro opciones:
– Search WordPress Codex
– WordPress Function Reference
– Search QueryPosts
– QueryPost Function Reference

Maravilloso, si tienes dudas de lo que hace una función, la buscas en el Function Reference y te abre la página de ESA función…en fin…una gozada.

11. WordPress Package

Seguimos con WordPress, este plugin es una completísima colección de snippets para autocompletar todo lo que os imaginéis de sintaxis de nuestro querido CMS.

Está basado en el paquete para TextMate, de modo que para ver cómo funcionan los snippets debéis consultar en el original.

Merece la pena echar un vistazo a toda la documentación porque dejaréis de escribir código cuando desarrolléis WP.

12. Clipboard History

Este plugin también lo descubrí hace poco, y aunque en principio no parece muy útil, estoy viendo que lo es más de lo que creía.

Se trata de tener accesible el histórico de lo que has copiado.

Cuántas veces copias una línea, y cuando te das cuenta, resulta que has copiado otra después, sin haber utilizado la primera, y te metes en un bucle de: “pego ésto ahora, porque si no también lo pierdo, y vuelvo a por lo otro que copié, espera, dónde estaba…me lo apunto en un archivo nuevo para cogerlo ahora, guardar, no, espera joder!! me lo tatúo en la frente? Ahhhhgggg!!!”

Pues eso, abres el histórico y punto. Nada de tatuajes en la frente.

La pega que le pongo es que la combinación de teclas es como para unas prisas, desde luego los que seáis poco coordinados lo tenéis chungo, pero al menos están todas juntas.

CMD+ALT+CTRL+V y nos sale el desplegable:

clipboard

Y con esto amiguitos, cumplo con mis posts sobre Sublime Text, espero que os sea útil la información.
Me encantaría que me contarais cuál usáis vosotros, porque seguro que habéis descubierto plugins muy interesantes que desconozco.
Si tenéis alguna duda, estoy a vuestra entera disposición. A disfrutar desarrollando!

Trucos y configuración de Sublime Text para front-end

Este post lo escribí para “Una docena de…”, un blog genial, hecho por gente aún más genial.

A pesar de que ya está disponible Sublime Text 3, en versión beta, yo voy a hablaros de la 2, porque supongo que las funcionalidades se mantendrán, y principalmente, porque no lo he usado, qué pasa..!?

Mi intención es que éste, sea el primero de dos artículos entorno a Sublime Text, que considero complementarios para sacar todo el provecho a este magnífico editor de código. En el primero, os voy a contar herramientas con las que cuenta Sublime Text, por si sólo, y alguna configuración personal, que me parece muy útil a la hora de trabajar de manera rápida y eficiente. En el segundo, os haré una relación de los plugins que considero indispensables.

Debo puntualizar que la configuración y plugins que voy a mostraros, están enfocados principalmente al perfil de Desarrollador Front-End, (los que hacemos páginas web, pa las madres…), porque es a lo que me dedico y evidentemente es dónde tengo criterio suficiente para opinar al respecto. Además procuraré contaros cosas que realmente utilizo, hay mil artículos donde describen todo lo que hace Sublime, pero no he conseguido encontrar uno que reúna lo que a mí me resulta más útil, así es que os transmito el conjunto de lo aprendido en diversas lecturas.

Otra puntualización, cuando diga CMD, los de Windows leeréis CTRL, si no especifico otra cosa… ¿Ha quedado un poco chulito? Bien, es lo que pretendía. Vamos a ello entonces, veamos qué cositas ofrece Sublime, recordad, sin plugins:

1. Múltiples Cursores

Sin lugar a dudas es lo que más utilizo, se trata de que podemos trabajar con múltiples cursores, para seleccionar o escribir, en varios sitios a la vez.

Lo conseguimos, haciendo click con en ratón donde queremos un cursor, y manteniendo la tecla CMD apretada. Con cada click, ¡un cursor nuevo!
multicursor

En la imagen podéis ver cómo he escrito la etiqueta

al principio de varios párrafos a la vez, y podéis distinguir los cursores justo después de las etiquetas.

2. Multi-Selección, Multi-Copy, Multi-Paste

Ampliamos un poco más, a partir del multi-cursor.

Puedo seleccionar varios textos al mismo tiempo, simplemente manteniendo pulsada la tecla CMD y una vez seleccionado todo, puedo cortarlo, borrarlo…lo habitual.

Pero aquí me toca contaros uno de mis grandes descubrimientos, os lo diré en plan teorema:

“Si el número de elementos cortados/copiados es igual al número de cursores que habilito para pegarlos, CADA selección se pegará ordenadamente en UN cursor.”

Ojo! si no coinciden en número, se copiará toooodo, en cada cursor.

Os habéis quedao muertos eh?… (explicación con dibujitos para los de la LOGSE:
multiseleccion

multiseleccion2 multiseleccion3

3. Multi-Layouts

Podemos dividir la pantalla de Sublime como más nos guste para trabajar, yo personalmente suelo tener a la izquierda el archivo js o css, y a la derecha tengo visible el html, para localizar selectores y ver los nodos.

Lo hacemos desde el menú : VIEW/LAYOUT -> y elegimos la opción, o bien con las combinaciones de teclas CMD+ALT+1, 2, 3, …con las divisiones que queramos.

Una observación, podéis pasar las pestañas de una a otra ventana, simplemente arrastrando.

layouts

4. Visualizar un archivo sin abrirlo

Si pinchas en un archivo del explorador de carpetas de Sublime, te lo muestra en la pantalla sin necesidad de abrirlo, os parecerá una pijada pero a mí me parece muy práctico.

Otra manera de visualizar archivos sin abrirlos, es utilizar la potente herramienta “Go to Anything”, con ella, podemos buscar cualquier archivo dentro del proyecto y previsualizarlo, para verificar si es el que buscamos.

CMD+P -> y empezamos a escribir el nombre del archivo.

Nos abre un desplegable con los posibles archivos, si me desplazo CON LAS FLECHAS DEL TECLADO a uno de ellos, lo previsualizo, y si lo pincho, me lo abre.

5. Save on Focus Lost

Para los de la LOGSE, Autoguardado al perder el foco. Lo que hace es guardar automáticamente el archivo, cuando pinchamos en cualquier otro sitio que no sea el propio archivo.

Con esto, por ejemplo, nos ahorramos el paso de guardar, para ver los cambios en el navegador, pero también sabemos que aunque se nos cierre el ordenador de manera inesperada, o se cuelgue (eso va para los de Windows más bien), siempre tenemos guardada la última versión.

Para habilitar esa propiedad, tenemos que meternos en las tripas de Sublime.
Habréis leído en mil sitios que Sublime es totalmente personalizable, y es cierto, mediante “SETTINGS-USER”, podemos hacer y cambiar lo que nos venga en gana, como ejemplo, la propiedad que vamos a activar.

Vamos a PREFERENCES->SETTINGS USER, y si no habéis configurado nada, estará vacío, tenéis que añadir la siguiente línea:

save

Importante: NUNCA cambies las propiedades “Settings-Default”, si quieres cambiar alguna propiedad, la copias y la pegas en “Settings-User” modificada, así no te cargarás nada que luego no sepas arreglar.

Y por cierto, altamente recomendable darse una vuelta por “Settings-Default”, para que veáis la cantidad de cosas que podéis personalizar.

6. Resaltar las pestañas modificadas

Lo que vemos es que los archivos modificados y NO guardados, aparecen con el nombre en la pestaña, resaltado en color naranja.

Imprescindible para identificar el archivo en el que estas trabajando y los que has modificado.

Vamos de nuevo a Settings User y añadimos una nueva línea:

highlight

7. Reindent

Teníamos nuestro código tan colocadito, tabulado como queríamos, y de repente el cliente cabrón nos pide que metamos no se qué, que quitemos no se cúal, y por supuesto, para ayer.. cuando terminamos, tenemos el código como el rosario de la Aurora… que ya no se sabe quién está dentro de quién (salidos, relajaos..)

No pasa nada amiguitos, papá Sublime nos ayuda, y lo coloca todo de nuevo;

SELECCIONAMOS EL TEXTO-> EDIT-> LINE-> REINDENT

He de decir que no es perfecto, pero que le falta poco, alguna línea os puede quedar descolocada, pero nada comparado con ir una a una.

8. Modificar atajos de Teclado

Otra de las ventajas de Sublime, es que podemos personalizar los atajos de teclado como queramos, ya sabemos que cada desarrollador es un mundo, y que lo que yo uso un montón, tú no lo utilizas nunca, así es que el 99% de las combinaciones de teclas nos sobran, y echamos de menos una que querríamos y no existe, ¡¡pues la hacemos nosotros!!

Concretamente yo me hice una para la utilidad del punto anterior, me parecía muy útil y no existía, os la pongo como ejemplo.

Vamos al menú PREFERENCES-> KEY BINDINGS –>USER

Como antes, si no habéis cambiado nada, estará vacío, para habilitar la opción “Reindent” desde el teclado, añadimos esta línea:

keybindings

En mi caso le puse el atajo CMD+SHIFT+R, porque ví en los “Key Bindings–Default”, que no lo usaba ningún comando, tenéis que echar un vistazo antes de asignar la combinación de teclas, porque si sobrescribís alguno, perderéis funcionalidades.

9. Ocultar Líneas

Cuando trabajamos con archivos grandes, se hace muy pesado ir de un lado a otro teniendo que pasar el archivo entero, para evitar eso, podemos “recoger” unas cuantas líneas y que se oculten, (como cuando desplegamos o cerramos una carpeta en el explorador de un ordenador).

Hay dos formas de hacerlo:

Por defecto, cada bloque de código que Sublime reconoce como “independiente”, (p.e. o una función en js), nos permite ocultarlo entero, nos pondremos al lado del número de línea, y veremos una flecha en la que, al pinchar, oculta o despliega el bloque.

En la foto, vemos esas flechas en la etiqueta <body> y en los <ul>:

ocultar

Pero si lo que queremos es ocultar un gran bloque, que no se corresponde con unidades de código, lo podemos hacer también, en este caso lo seleccionamos y vamos a:
EDIT->CODE FOLDING->FOLD.
Luego para desplegarlos, bien hacemos doble click en la señal que nos aparece al recoger, o bien lo seleccionamos y vamos a:
EDIT->CODE FOLDING->UNFOLD.

10. Buscar y Reemplazar en archivos del proyecto

Hace poco me encontraba haciendo un curso para una escuela de formación, 17 lecciones y 84 apartados, y cuando el proyecto se termina, me dice el querido cliente, que hay que cambiar una flecha hecha con css, por una imagen…¿pensé en suicidarme? No, pensé en arrancarle las 20 uñas poco a poco y echarle sal y limón en las heridas..

Menos mal, que papá Sublime de nuevo, acudió en mi ayuda, hay una función MARAVILLOSA, para sustituir algo en TODOS los archivos del proyecto que lo contengan, pero no solo eso, sino que puedes seleccionar en cuales lo quieres cambiar y en cuales no, es decir, no tiene por qué cambiarse en TODOS, te muestra las coincidencias y tú decides.
Vamos al menú FIND->FIND IN FILES -> y os lo enseño en el editor.

find

11. Cerrar varias pestañas a la vez

Y después de sustituir las flechitas de los webos, me encontré con las 84 pestañas abiertas, más las que tenía en desarrollo, no quería cerrar todas, porque estaba modificando archivos, pero de una en una tampoco XD!!

Pues hasta para esta pijada, Sublime nos da opciones, me pongo en una pestaña y doy al botón derecho:
CLOSE TABS TO THE RIGHT: Cierra las que están a la derecha de la que he pinchado, de modo que las que están a la izquierda NO SE CIERRAN, una gran opción para cerrar de golpe muchos archivos, pero no TODOS.
CLOSE OTHERS: Cierra todas menos la que he pinchado. Evidente.

12. Snippets

Dejo para el final, lo que considero más complicado, pero que no tiene misterio cuando haces dos, además, los snippets son la madre del cordero de las funcionalidades de Sublime y todos los plugins.

Para los que no sepan qué son, los snippets son trozos de código predefinidos, a los que asignamos una combinación de teclas para que aparezcan, y que mediante campos, vamos rellenando para darles funcionalidad.

Hay mil ejemplos y tutos para que aprendáis a hacer snippets, pero os doy unas nociones básicas y os enseño el que más utilizo yo, el snippet Alert(‘hola’);

Útil eh? Jiji.. Pues ahora os lo enseño, antes las reglas básicas para hacer un snippet:

Guardarlo con extensión .sublime-snippet
Tu snippet es todo lo que está dentro de <![CDATA[ AQUÍ TU CÓDIGO ]]>
Para escribir los distintos parámetros configurables, pondrás:
${1: VALOR POR DEFECTO QUE VA A APARECER }
${2: VALOR POR DEFECTO QUE VA A APARECER }...

Esto hace que al ejecutar el snippet, mediante la tecla Tab, te moverás por estos campos, para meter los datos concretos que necesites.

En mi ejemplo alert(‘hola’), el cursor se pone dentro del “hola” por si quiero poner otra cosa, por ejemplo, “soy IE6 y doy mucho asco”.

Vemos el ejemplo:

snippets

 

Y hasta aquí, la clase de hoy, acabo con la sensación contradictoria de que ha sido un post larguísimo, y que a la vez, me dejo mil cosas interesantes que querría contaros.

Si no me tiráis muchos tomates, escribiré el segundo relativo a Plugins para Sublime Text, y por supuesto, si os quedan dudas, estoy a vuestra entera disposición. Además molaría que vosotros me contaseis vuestros trucos de Sublime.

Me voy a tomar una birra a vuestra salud, que me la he ganado.

Error al instalar WAMP

Esta tarde me disponía a instalar WAMPSERVER en mi pc, cosa que hice sin problema en un portátil, también con WinXP hace una semana, y al terminar la instalación me he encontrado con el siguiente error:

“Aestan Tray Menu ha detectado un problema y debe cerrarse.”

Tras buscar toda la tarde por internet e intentar todas las soluciones que proponen, mi caso no cuadraba con ninguno de ellos:

  • no tengo instalado skype, ni IIS, de modo que no era el tema de que compartian puerto.
  • estaba segura que había instalado la versión correcta, tanto del WAMP, como del Visual C++, (en mi caso para WinXP 32 bits)…

Os cuento lo que pasaba:

Aunque instales el VC++ 2010 que indica la página de wampserver, SI NO TIENES INSTALADO PREVIAMENTE EL VC++ 2008, NO FUNCIONA, y resulta que el portátil donde instalé el wamp anteriormente, ya tenía la versión 2008, sin embargo mi pc no.

Resumiendo:

  1. Instalas el VC++ 2008 : http://www.microsoft.com/en-us/download/details.aspx?id=29
  2. Instalas el VC++ 2010 que indica la página de wampserver: http://www.microsoft.com/download/en/details.aspx?id=8328
  3. Después instalas el wampserver.

Si tras ésto, sigues teniendo problemas con ese error, echa un vistazo porque todas las soluciones que hay en foros, son las que indican cómo cambiar el puerto del IIS, ó skype para que no entren en conflicto.

Problemas con PyV8 – Instalación de Emmet en Sublime Text 2

Me dispuse a instalar Emmet en Sublime, y no me funcionaba bien, se debe a un error que da el paquete PyV8 al instalarlo desde el Package Control.

Lo solucioné instalando directamente dicho paquete desde github, antes del Emmet, por ahora no me da problemas.

  1. Con Sublime cerrado, descargar la versión correspondiente a tu SO en https://github.com/emmetio/pyv8-binaries/downloads
  2. Descomprimir en directorio Packages/PyV8 (tienes que crearlo, si no has instalado Emmet previamente, no existe).
  3. Arranca Sublime e instala Emmet desde el Package Control.
  4. Reinicia Sublime.