Saludos a los seguidores de GUTL. Muchos de los que nos leen a diario seguramente pasan buena parte de su tiempo activo enfrascados en proyectos informáticos donde deben escribir, leer o modificar código en variados lenguajes de programación. Para facilitar este trabajo en grandes proyectos existen los llamados entornos de desarrollo integrado, llamados también IDE (sigla en inglés de integrated development environment). Pero en ocasiones hay trabajos de programación en los cuales con un potente editor de texto plano podríamos tener el problema resuelto. Sublime Text es uno de los mejores editores de código que existen, es un excepcional editor de textos que aporta muchas características útiles a la hora de programar o editar código. Hoy en GUTL hablaremos de Sublime Text.
Sublime Text se distribuye de forma gratuita, sin embargo no es software libre o de código abierto. Se puede obtener una licencia para su uso ilimitado, pero el no disponer de esta no genera ninguna limitación más allá de una alerta cada cierto tiempo (yo jamás he solicitado licencia alguna). También puede obtenerse alguna especie de generador de seriales para usar una licencia ilegal, práctica que GUTL no recomienda en lo absoluto, recordemos que la ética es fundamental y activar una aplicación informática de manera ilegal nos acerca bastante a convertirnos en ciberbándalos…
Sublime Text fue creado en Python desarrollado originalmente como una extensión de Vim y con el tiempo fue creando una identidad propia.
El editor está cargado de funcionalidades útiles y cómodas desde el punto de la usabilidad y eficiencia, convirtiendo nuestro trabajo de edición de texto en una experiencia cada vez más sencilla y agradable, a medida que vamos aprendiendo a utilizar todas sus funcionalidades. Es multiplataforma y puede utilizarse desde Windows, GNU/Linux o Mac OS X (10.7+).
Si estás interesado en probar Sublime Text 3 puedes ir a la página del Proyecto. Si usas Ubuntu o derivados, puedes añadir un repositorio PPA e instalarlo de la siguiente manera:
sudo add-apt-repository ppa:webupd8team/sublime-text-3 sudo apt-get update sudo apt-get install sublime-text-installer
Características interesantes
Pestañas
Al igual que otras aplicaciones de la actualidad, Sublime Text soporta pestañas, una característica que popularizaron los navegadores web. En cada una de estas pestañas, se muestra una x para cerrar la misma, que cambia a un circulo gris cuando se han escrito cambios en el archivo y no se han guardado todavía.
Autocompletado
Sublime Text tiene resaltado a color de sintaxis para facilitar la lectura de código, así como numerado de línea. También muestra un pequeño índice gráfico a la derecha, por el cuál podemos desplazarnos rápidamente a golpe de clic del ratón. Pero quizás una de las características que más se agradecen (sobre todo a los usuarios que no tienen buena memoria), es el autocompletado. Esta funcionalidad nos ayudará a recordar como se escriben ciertos comandos, funciones o textos del lenguaje o marcado en el que nos encontramos.
Además, en muchos lenguajes (como por ejemplo, PHP), este editor nos facilita el orden de los parámetros, por si no los recordamos, algo muy común en PHP con funciones como strpos o explode, donde el orden de los parámetros es diferente.
Selecciones múltiples
Una de las características más interesantes de Sublime Text es su flexibilidad para realizar tareas comunes de una forma sencilla y rápida. Por ejemplo, si seleccionamos una palabra con el ratón, pulsando CTRL+D podremos ir seleccionando las siguientes coincidencias y modificarlas todas a la vez. También podemos usar la combinación CTRL+K para saltarnos alguna selección que no necesitemos incluir en el reemplazo.
Ediciones múltiples
Seleccionando varias líneas y utilizando la combinación de teclas CTRL+SHIFT+L puedes editar varias líneas a la vez, muy útil para cambios paralelos repetitivos.
Acceso directo a métodos o funciones
Es posible acceder directamente a métodos o funciones de un archivo con código fuente, lo cuál es muy interesante cuando nuestro código alcanza grandes proporciones. Se puede hacer pulsando la combinación de teclas CTRL+R, y escribiendo a continuación el nombre de la función.
Auto-cerrado de etiquetas
Si nos acostumbramos a utilizarla, la combinación de teclas ALT+. puede ayudarnos a cerrar rápidamente cualquier etiqueta HTML que tengamos abierta de forma instantánea.
Acceder a una línea concreta
Existe un atajo mediante el cual es posible saltar a una línea concreta de un archivo, simplemente pulsando la combinación de teclas CTRL+G y escribiendo a continuación el número de la línea deseada.
Combinaciones de teclado
Existen muchas otras combinaciones de teclas que convendría conocer, ya que son acciones que utilizaremos frecuentemente:
Atajo de teclado | Significado | Atajo de teclado | Significado |
---|---|---|---|
CTRL+N | Nueva pestaña | CTRL+Z | Deshacer último cambio |
CTRL+W | Cerrar pestaña | CTRL+Y | Revertir último cambio |
CTRL+S | Salvar pestaña actual | CTRL+X | Cortar texto seleccionado |
CTRL+SHIFT+T | Reabrir pestaña cerrada | CTRL+C | Copiar texto seleccionado |
CTRL+M | Saltar a llave/paréntesis | CTRL+V | Pegar texto seleccionado |
Code-folding
Sublime Text también proporciona la posibilidad de plegar o desplegar bloques de código, tanto en HTML como en lenguajes de programación. De esta forma, podemos centrarnos en la parte del código que nos interesa sin desorientarnos o perder el foco en lo que no tenemos intención de tocar.
Para utilizar esta funcionalidad, basta con mover el ratón hacia la parte izquierda del código (donde aparecen los números) y pulsar sobre las flechas para contraer o desplegar el código. La zona reducida se mostrará con un pequeño símbolo … que indica que hay más contenido en su interior.
Búsquedas
A medida que el código que manejamos se hace más grande, necesitaremos realizar operaciones de búsquedas de la forma más rápida posible. Para ello, pulsamos CTRL+F y nos aparecerá un pequeño panel donde escribir nuestra búsqueda. Esto resaltará en color la primera coincidencia y en color «hueco» las coincidencias sucesivas a medida que escribimos la palabra a buscar.
Por otro lado, si lo que queremos es realizar una búsqueda para reemplazar un texto por otro, pulsamos CTRL+H, lo que hará que nos aparezca el mismo menú, pero esta vez preparado para realizar una búsqueda con posibilidad de reemplazo.
Expresiones regulares
Es muy interesante saber que Sublime Text permite realizar búsquedas o reemplazos utilizando Expresiones regulares. Esto es una forma excelente de hacer cambios utilizando patrones no exactos. Para activar el soporte de expresiones regulares simplemente hay que pulsar el primer botón de la barra de búsqueda, simbolizado por los caracteres .*.
Una vez activo, podremos realizar búsquedas o reemplazos utilizando expresiones regulares. En el siguiente ejemplo se ha utilizado la expresión regular d.. que significa «Cualquier texto con una d seguido de dos caracteres cualquiera».
Snippets
Tanto con documentos de texto como lenguajes de marcado o etiqueta o código de programación, es muy común encontrarnos en la situación de tener que escribir textos repetitivos frecuentemente, lo que puede resultar algo tedioso y hasta desagradable.
Sublime Text permite crear snippets: pequeño fragmentos de código que puedes expandir a partir de la escritura de un pequeño texto seguido de la tecla TAB, ahorrando así mucho tiempo. En el siguiente ejemplo veremos como crear un sencillo snippet utilizando el texto disparador «hola», que lo expanderá a un texto predefinido más largo.
Creación de un Snippet
Lo primero, nos dirigimos al menú Tools / New Snippet…. Se nos creará un nuevo documento XML con la estructura apropiada para crear el snippet. Esta estructura tiene tres partes que debemos modificar:
1. Etiqueta content
Dentro de la etiqueta content escribiremos el texto expandido. Este texto debe estar rodeado de las etiquetas <[CDATA[ y ]]> para evitar problemas con el escapado. Escribimos el texto en su interior, teniéndo en cuenta que también se puede utilizar el formato ${1:palabra} para que al expandir un texto se seleccione automáticamente esa palabra (y podamos cambiar a las sucesivas pulsando TAB). De esta forma facilitaremos la edición del snippet.
2. Etiqueta tabTrigger
Esta será la palabra que tenemos que escribir y pulsar TAB para expandir. Utiliza palabras lo suficientemente complejas para no escribirlas accidentalmente, pero lo suficientemente sencillas como para resultar cómodas y útiles.
3. Etiqueta scope
Este parámetro (opcional) nos permite especificar si el snippet funcionará sólo en un tipo de archivo concreto, como archivos HTML (text.html) o código fuente Python (source.python), por ejemplo.
Eso es todo. Con esos parámetros especificados tendremos el snippet preparado para funcionar. Guardamos el archivo en la carpeta Data Packages User con el nombre hola.sublime-snippet (debe acabar con la extensión .sublime-snippet).
Paquetes (plugins)
Por si pareciera poco y Sublime Text no fuera ya un excelente editor con sus funcionalidades de serie, también permite extender sus capacidades mediante la instalación de plugins (paquetes) desde un extenso repositorio.
¿Cómo instalar paquetes?
Por defecto, el Package Control viene desactivado en Sublime Text. Para activarlo, vamos al menú View / Show Console y pegamos el siguiente texto (ST3):
import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
Con esto ya tendremos el gestor de paquetes preparado para Sublime Text 3.
Ahora, cada vez que queramos buscar un paquete en el repositorio para instalarlo, pulsamos CTRL+SHIFT+P y escribimos Install Package. Entonces podremos buscar entre la gran cantidad de paquetes que existen para Sublime Text e instalarlos con un simple click.
De la misma forma, pulsando CTRL+SHIFT+P y escribiendo Remove Package podemos desinstalar paquetes que no queramos utilizar más. Si lo deseas, también puedes acceder a Package Control Repository para buscar paquetes vía web, categorizados en secciones como nuevos, tendencias, populares, autores u otros.
- IMPORTANTE: Asegúrate de instalar plugins compatibles con la versión de Sublime Text que estés utilizando. Si estás utilizando ST3, es posible que no puedas utilizar paquetes diseñados para otra versión.
Quedan muchos otros aspectos por conocer de Sublime Text pero creo que lo mejor es que ustedes mismos lo prueben y dejen sus experiencias en los comentarios.
Descargar desde GUTL
Fuente:
@Canelo, tu crees, si no es mucha molestia claro, que lo puedas subir para GUTL o al menos un enlace a «.cu»? Recuerda que algunos no tenemos «intejné».
@leslito hijo, tu no crees, digo si no es mucha molestia, que si lo hubiera podido subir no lo hubiera hecho???? A GUTL solo puedo subir archivos de hasta 10 MB (el PDF de la revista aquella que pesaba mas de 80 fue porque compacté los PDF luego de subidos al server)
Nada, ojalá llegue el día que el cubano no tenga que mendigar Internet y favores y no haga falta estar subiendo cosas, sino simplemente dejar los enlaces oficiales, como hace todo el mundo en el resto del planeta… disculpa la muela, es que hay cosas que cansan. Saludos hermano, no me hagas caso, si encuentro algún enlace nacional con sublimetext lo comparto por aca, aunque creo que en algun momento lo habia subido a algun rincon de GUTL (obviamente una version vieja de sublime) tengo que revisar.
Créeme, soy uno de esos…
Pá los demás, ni por asomo vayan a armar flame al respecto, sigamos con sublime y en español, ni en inglés o japonés. No es que me moleste el inglés, pero a veces suena a pentaclownsada… Ufff, tengo el «cubano obstináo hoy a tope»
Tranquilo, prometo no trolear más ningun post con otro idioma… Creeme te entiendo cuando dices lo de los enlaces a sitios oficiales… Pero que le vamos a hacer, ojala llegue el tan ansiado dia…
Ya los puse a descargar, luego veo si puedo subirlo.
btw: Atom Editor es el hombre!
Yo tenía versiones viejas que pesaban menos de 10 Mb, al menos en .deb, Versiones actuales pesan más, además borré de mi ordenador más de X GB de archivos DEB que ya no necesito, entre estos esos viejos sublimestexts. En GUTL había subido versiones de algún momentos a final de 2015 que eran de post de SWL-X pero como borré SWL-X eliminé del server de GUTL todo eso que no debía estar ahí ocupando espacio.
Algo que veo en la versión de sublime que tengo instalada en Manjaro (la descargué hace poco así que debe ser la última) es que me consume mucho menos, no se si será por Manjaro o porque simplemente consume menos…
Estoy descargando los .debs, 7.30Mb, cada uno, luego te actualizo la entrada con los links de descarga y si me animo hago uno de Atom, aunque recuerdo que lo hice para SWLX. De hecho, en la recién finalizada PyCon 2016, Miguel Grinberg usa Atom en su conferencia Flask at Scale.
Tengo un clon completo de SWL-X (pero sin imagenes) y ahí está tu post sobre Atom, un excelente y completo post que deberías transcribir a GUTL, no lo transcribo yo porque me faltan las imágenes y creo que algunos complementos que incluiste en el artículo.
Bueno, si los deb pesan menos de 10 pues lo puedes subir a GUTL. Parece que mis ojos se están haciendo ciegos a los archivos DEB 🙁
Esta última build (3114) no superan los 10MB. Pero yo hace un tiempo quise compartir SublimeText y si mal no recuerdo pesaban más.
Ahhh, ya veo que no estoy loco…
OT: Si comentas sin autenticarte tus comentarios pasan por moderación hasta que los aprobemos a mano alzada, se verifica autenticidad del email usado, IP y hasta etc, jejeje. Saludos
Mándame el articulo: codeshard (at) openmailbox (dot) org
OK, luego te lo envío, repito, no tiene imágenes, solo el texto, el clon de SWL-X que tengo es a partir de un respaldo en .xml, en Reflejos no podía aspirarse a más 🙁
Arghhhh!!!
Crees posible hacer un post acerca de Atom? Yo no lo conozco, sólo lo he oido mencionar…
Luego me pongo a hacerlo.
Ya están los enlaces de descarga. Que lo disfrutes.
Descargado, up&running y camina mejor que el 2.0.2 que tenía instalado… gracias Oskar
Yo tengo Sublime Text acá pero no se quien fue quien me dijo una vez algo como «el único problema de Sublime Text es que no es completamente libre» lo cual a la manera de ver de la mayoría de los cubanos le importaría lo mismo que a Blizzard los reclamos de los linuxeros por tener un WoW Nativo es decir… nada 😉
Hola colegas, esta limetext, que es un clon completamente libre de sublime-text, aun en desarrollo, no lo he usado porque no he tenido tiempo de ponerme a compilar, pero he leído muy buenos comentarios y se ha vuelto muy popular en github (con cerca de 12500 estrellas).
Saludos.
Good to know!
Recuerda que los anglicismos se los tragan pero ….. De todas maneras es bueno saber que existe una opción libre a sublime-text
Ufff, tengo que probar ese limetext
Comenta cuando lo pruebes…
Parece interesante esta alternativa, lo que observo es que no tiene mucho movimiento estos últimos meses, no se si se deba a que Sublime Text esté más estable o los desarrolladores no tienen tiempo suficiente para llevar a cabo el proyecto por ellos mismos -como ocurre con muchos proyectos open source-.
Hola, quería sabe cómo editar un snippet ya existente, para corregir…etc. Gracias.