SciTE: Mi editor de texto favorito

domingo, julio 27, 2008




SciTE es un excelente editor de texto que fue desarrollado en un principio para demostrar el poder de Scintilla (un componente/librería para la edición de texto). Sin embargo ha crecido tanto que ha llegado a opacar un poco a la propia librería.

¿Y qué tiene de grandioso el SciTE? se preguntarán. Pues quizás no sea nada del otro mundo, pero es que su sencillez, su funcionalidad y su alto grado de personalización lo hacen (al menos para mi) el editor de texto perfecto. Al momento de escribir este post SciTE está disponible en las arquitecturas de 32 bits para sistemas GNU/Linux y Windows.

En la lista que sigue trataré de describir las funcionalidades básicas del SciTE:
  • Edición de Texto: Estándar y con resaltado de sintaxis. Soporta gran cantidad de lenguajes de programación y puede expandirse para lenguajes que aún no estén soportados

  • Subsistema de comandos: Permite ejecutar herramientas (compiladores, interpretes, etc) dentro de la misma interfaz del SciTE

  • Pestañas: Permite abrir entre 1-100 documentos al mismo tiempo, visualizando uno a la vez y los demás en memoria. Además se puede guardar el estado de las pestañas en archivos de sesiones y recuperarlas cuando se desee

  • Atajos de teclado: Facilitan la interacción entre el usuario y el editor (siguen las convenciones más comunes de GNU/Linux y Windows)

  • Abreviaturas: Una función poderosa constituida por pares abrev = texto definidos por el usuario. Al escribir abrev en el editor y presionar Ctrl+B, se reemplaza abrev por texto

  • Plegado: Una de mis funciones favoritas. Permite plegar o expandir fragmentos de código basados en identación (en el caso de Python) o en llaves de apertura y cierre (en el caso de otros lenguajes). Muestra símbolos al margen izquierdo del editor para expandir o contraer los fragmentos

  • Archivos de propiedades: Permiten definir el comportamiento y la configuración general del editor

Luego de mencionar algunas de las características del SciTE veamos como personalizarlo. SciTE posee 4 tipos de archivos de configuración:
  • "SciTE.properties" (propiedades locales)

  • "SciTEDirectory.properties" (propiedades de directorio)

  • ".SciTEUser.properties" en GNU/Linux o "SciTEUser.properties" en Windows (propiedades de usuario)

  • "SciTEGlobal.properties" (propiedades globales)

El archivo de propiedades locales debe estar presente en el mismo directorio donde se encuentra el archivo que estamos editando.

El archivo de propiedades de directorio se usa para definir el comportamiento del editor (o de sus herramientas) sobre todos los archivos contenidos dentro de un directorio.

El archivo de propiedades de usuario define el comportamiento del editor para cada usuario del equipo y se encuentra en el directorio home del usuario en los sistemas GNU/Linux o en el directorio de perfil de usuario definido en la variable USERPROFILE de Windows (si la variable USERPROFILE no está definida se ubica en el directorio del ejecutable)

El archivo de propiedades globales define el comportamiento por defecto del editor y se encuentra en /usr/share/scite para los sistemas GNU/Linux y en el directorio del ejecutable para Windows.

Las propiedades locales anulan a las propiedades de usuario que a su vez anulan a las propiedades globales.

Ahora voy a comentar la configuración que he realizado del SciTE usando el archivo de propiedades de usuario (".SciTEUser.properties" en mi caso):

# Se define el ancho de una tabulación equivalente a 4 espacios en blanco, se
# establece el ancho de la identación a 4 caracteres y se indica que se usarán
# espacios en lugar de tabulaciones para la identación
tabsize=4
indent.size=4
use.tabs=0

# Define la cantidad de pestañas simultáneas
buffers=15

# Permite visualizar una línea en el borde derecho del editor con un ancho de
# 100 caracteres y de color #C0DCC0
edge.column=100
edge.mode=1
edge.colour=#C0DCC0

# Muestra una lista de autocompletado cuando se escriben palabras que ya se
# encuentran dentro del texto
autocompleteword.automatic=1

# Visualiza el número de línea en el márgen izquierdo
line.margin.visible=1

Para una descripción detallada de cada una de las propiedades del SciTE visite la página de documentación oficial


Actualización: 13/11/2008

Acá les dejo mi archivo personal de configuración del SciTE; allí, además de lo mencionado arriba, configuro el editor para que use fuentes monospace y uno que otro truquillo :D

# Se define el ancho de una tabulación equivalente a 4 espacios en blanco, se
# establece el ancho de la identación a 4 caracteres y se indica que se usarán
# espacios en lugar de tabulaciones para la identación
tabsize=4
indent.size=4
use.tabs=0

# Define la cantidad de pestañas simultáneas
buffers=15

# Permite visualizar una línea en el borde derecho del editor con un ancho de
# 100 caracteres y de color #C0DCC0
edge.column=80
edge.mode=1
edge.colour=#C0DCC0

# Muestra una lista de autocompletado cuando se escriben palabras que ya se
# encuentran dentro del texto
autocompleteword.automatic=1

# Visualiza el número de línea en el márgen izquierdo
line.margin.visible=1

# Default
style.*.32=$(font.monospace)
style.cpp.32=$(font.monospace)
style.python.32=$(font.monospace)
# Line number
#style.*.33=back:#C0C0C0,$(fontmonospace)
# Brace highlight
#style.*.34=fore:#0000FF,bold
# Brace incomplete highlight
#style.*.35=fore:#FF0000,bold
# Control characters
#style.*.36=
# Indentation guides
#style.*.37=fore:#C0C0C0,back:#FFFFFF

font.base=font:!Bitstream Vera Sans Mono,size:9
font.small=font:!Bitstream Vera Sans Mono,size:8
font.comment=font:!Bitstream Vera Sans Mono,size:9
font.code.comment.box=$(font.comment)
font.code.comment.line=$(font.comment)
font.code.comment.doc=$(font.comment)
font.code.comment.nested=$(font.comment)
font.text=font:!Bitstream Charter Mono,size:9
font.text.comment=font:!Bitstream Vera Sans Mono,size:9
font.embedded.base=font:!Bitstream Vera Sans Mono,size:9
font.embedded.comment=font:!Bitstream Vera Sans Mono,size:9
font.monospace=font:!Bitstream Vera Sans Mono,size:9
font.vbs=font:!Bitstream Vera Sans Mono,size:9


Los invito a que lo prueben y digan que les parece... para mi es el mejor y ¿para ti?

8 comentarios:

Adel86 dijo...

Tambien

Junior dijo...

Muchas gracias por compartir.Yo tengo Windows, he instalado el SCite para probar. Y me parece sencilla pero potente. Por favor desearia si me podrias ayudar para configurar el TAMAÑO y TIPO de la fuente del editor de codigo. Ya lo ubique la fuente de la ventana de resultados pero la fuente del editor de codigo NO LO UBICO. Muchas gracias por todo.

Enzo dijo...

Hola, que tal! El programa esta muy bueno, la verdad es que se ve bastante sencillo y práctico. Aunque tengo un problema, no se como agregar otro lenguaje. Si puedieras ayudarme te lo agradecería mucho. GRACIAS!

Satanas dijo...

@Julio
Amigo, la fuente y el tipo de letra lo puedes conseguir en la línea:

font.base=font:!Bitstream Vera Sans Mono,size:9

En el archivo de configuración de ejemplo del post puedes encontrarla casi al final.

Saludos

Satanas dijo...

@Enzo Si, el SciTE es muy útil para programar y tiene soporte para muchos lenguajes. ¿Qué lenguaje deseas agregar exáctamente?

Enzo dijo...

@Satanas Estoy programando en assembler para el microprocesador de motorola 68HC11. He estado estudiando un poco como cambiar las opciones, pero todavia no logro que me identifique las instrucciones.

Anónimo dijo...

hola como se cambia el fondo blanco¿

Anónimo dijo...

Se que este post se hizo ase años pero tengo que hacerlo xD:

Sublime Text.