Un recorrido
Cada pantalla que tiene Textchum, en el orden en que las irías encontrando, en los dos entornos: la app de macOS a la izquierda y la de GTK a la derecha. Las capturas vienen de un proyecto ficticio pequeño — Harbor, un gestor de puertos que existe solo para que estas imágenes tengan algo honesto que mostrar — y cada una sigue tu ajuste de tema claro u oscuro.
Los dos entornos son el mismo editor sobre el mismo núcleo, así que las imágenes se diferencian sobre todo en lo que aporta la plataforma: el marco de la ventana, dónde se dibuja un panel y qué tipografía entrega el sistema.
La ventana
Un documento por ventana, pestañas por defecto, y un cajón navegador con dos mitades: arriba los búferes abiertos agrupados por proyecto, abajo el árbol de archivos de ese proyecto.
La barra de título lleva los datos del documento — codificación, tamaño, lenguaje y el número de problemas en cuanto el servidor de lenguaje opina. El árbol acompaña: cambiar de pestaña despliega la ruta del archivo actual y lo resalta.
Al hacer clic derecho en el texto aparece el menú del editor: saltar a la definición, buscar referencias, renombrar el símbolo, el diagnóstico de la línea, el blame de la línea, formatear el documento y las propiedades del archivo, junto a cortar, copiar, pegar y las sugerencias de ortografía. Esos comandos actúan sobre el carácter en el que se hizo clic, no sobre el cursor, que el clic deja donde estaba. Lo que el documento no puede usar no está: sin servidor no hay buscar referencias, sin hallazgos no hay filas de diagnósticos.
Plegado
Fold (⌘[, Ctrl+[ en Linux) cierra el bloque que abre en la línea del cursor; Fold All (⌥⌘[, Ctrl+Alt+[) cierra todos los que no estén ya dentro de uno cerrado, y Unfold All (⌘], Ctrl+]) los abre de nuevo. Un bloque cerrado muestra su línea de apertura con puntos suspensivos detrás.
Los bloques salen del mismo árbol que usa el coloreado, y los pliegues son del documento: cerrar una función en una vista la cierra en todas las vistas de ese archivo.
Columnas
Una ventana es una fila de columnas. Una columna muestra un archivo a la vez y sostiene una o más vistas de él, apiladas.
New Column (⌘\, Ctrl+\ en Linux) pone una columna al lado de
esta, mostrando el mismo archivo hasta que se le dé otro; Close
Column (⇧⌘\, Ctrl+Shift+\) la quita. Second View (⌥⌘\,
Ctrl+Alt+\) apila otra vista del archivo de la columna bajo la
primera, y Close View (⇧⌥⌘\, Ctrl+Alt+Shift+\) la retira. Next
Pane (⌥⌘, Ctrl+Alt+) mueve el teclado entre ellas.
Cada vista se desplaza por su cuenta, que es de lo que se trata: leer el principio de un archivo mientras se edita el final. La columna es dueña del archivo que muestra, así que cambiar su pestaña lleva todas sus vistas al archivo nuevo.
Los dos lados son un solo documento. Hay una historia y un guardado, así que una edición en cualquiera de los dos es la misma edición y ninguna vista puede quedarse vieja. Ambos toolkits están hechos para esto —un búfer de texto que varias vistas comparten— y lo que no sale gratis es el coloreado, que en macOS vive en el layout y no en el texto; se pinta cada vista.
Servidores de lenguaje
Los diagnósticos llegan como marcas tintadas en el texto y un contador en la barra de título. Nada del editor espera al servidor: se conecta cuando puede, y lo dice cuando no.
Dejar el puntero sobre un símbolo muestra la documentación del servidor, con el Markdown que envía ya renderizado — bloques de código en monoespaciada, énfasis con estilo. ⌃⌘H la pide para el símbolo bajo el cursor, lo que funciona incluso con el hover del ratón apagado.
Ir a la línea (⌘L, Ctrl+L en Linux) acepta un número, o el
src/main.rs:412:8 entero pegado desde un registro de compilación —
el nombre del archivo y el ruido sobrante se ignoran, la línea queda
centrada, y Atrás vuelve a donde se interrumpió la lectura.
Una barra de cambios baja por la izquierda del margen y dice qué líneas difieren del archivo tal como está en git: una franja verde para una línea nueva, azul para una que dice otra cosa, y una cuña roja en el límite donde se borraron líneas —las líneas borradas no ocupan alto, así que una franja no tendría nada que cubrir—. Sigue al búfer y no al archivo en disco, así que acierta antes de guardar, y se recalcula cuando la escritura se detiene. Un archivo sin versión confirmada, o fuera de un repositorio, no lleva marcas en vez de dar todas sus líneas por nuevas.
Autoría de la línea (⌃⌘B, Ctrl+Alt+B en Linux) le pregunta a git quién tocó por última vez la línea bajo el cursor: el commit, el autor y cuándo la escribió, el asunto y el cuerpo del mensaje —donde suele estar el porqué— y el nombre que tenía el archivo entonces si se ha renombrado desde. El commit queda a un botón del portapapeles, que es para lo que sirve la respuesta. Una línea escrita desde el último commit lo dice, en vez de tomar prestado un autor ajeno.
Pregunta con el texto del búfer y no con el archivo en disco, así que una edición sin guardar por encima del cursor no puede desplazar la respuesta a la línea vecina.
En el espacio inicial de una línea, dos teclas hacen algo más de lo habitual. Retroceso borra hasta la parada de tabulación anterior en vez de espacio a espacio, y Tab alinea la línea con la primera línea no vacía de arriba —al pulsarla otra vez, ya alineada, baja un nivel más—. En el resto de la línea ambas teclas son ellas mismas: decide la posición y no un modo, que es lo que evita que sorprendan. Una línea con tabuladores se deja a su propio carácter, que ya es una pulsación por nivel.
Con texto seleccionado, escribir un delimitador de apertura —(, [,
{, ', ", `— envuelve la selección en el par en vez de
reemplazarla. Lo envuelto sigue seleccionado, así que pulsar otro lo
envuelve a su vez: [, ( y { sobre hello dan [({hello})].
Escribir cualquier otra cosa reemplaza la selección como siempre.
El autocompletado aparece al escribir tras caracteres de identificador
y .; ↑/↓ eligen, ⏎ o ⇥ aceptan, ⎋ descarta. Un snippet llega con su
primer marcador seleccionado, así que escribir lo reemplaza; ⇥ pasa al
siguiente marcador y ⇧⇥ al anterior, y uno escrito dos veces se copia
mientras se teclea. El último ⇥ deja el cursor donde el snippet lo
pidió y devuelve las teclas.
⇧⌘O lista los símbolos del archivo, filtrables desde el teclado.
Vista ▸ Estado de servidores responde a «¿está vivo mi servidor?» — qué corre y dónde, y las transiciones recientes de la sesión, refrescado en vivo.
Encontrar cosas
⌘T abre archivos por nombre difuso dentro del proyecto. El ámbito se recorre una vez y se filtra en memoria, así que escribir es instantáneo; la línea de estado dice cuántos de cuántos archivos coinciden y qué hace cada tecla — ⏎ busca, ⌘⏎ abre, para que afinar una consulta nunca abra un archivo por accidente.
⇧⌘F busca en el contenido con una expresión regular, con filtros apilados que refinan por texto de línea o por ruta. La línea de estado siempre dice qué hizo la búsqueda.
⇧⌘P es la paleta de comandos: cada acción de menú, buscable de forma difusa, con su atajo al lado.
Markdown y prosa
Los documentos Markdown abren con una vista previa viva junto al texto, y el corrector ortográfico de prosa — apagado hasta que elijas un diccionario — marca las faltas en púrpura, distinto de los diagnósticos. En código solo mira los comentarios; los identificadores nunca se marcan.
Ajustes
Los ajustes son un archivo JSON plano que la ventana edita; el archivo es la escotilla de escape, y está vigilado, así que una edición en otro editor se aplica al instante.
Proyectos decide cómo se encuentran las raíces, qué oculta el árbol y qué ajustes del editor sobrescribe una raíz.
Los nombres ocultos son patrones glob, editados uno por línea, con un menú que añade un preajuste con nombre en un clic.
Presets edita esos conjuntos con nombre del mismo modo. Empiezan como integrados; edita cualquiera y tu lista toma el mando, así que el que borres sigue borrado hasta que restaures los integrados. Esta pantalla y la siguiente no tienen imagen del entorno GTK porque allí no son pantallas: los presets están dentro de Projects, y los preprocesadores dentro de Language Servers.

Servidores de lenguaje sobrescribe qué comando sirve un lenguaje, para todos los proyectos o para una raíz.
Preprocesadores ejecuta formateadores antes de cada guardado: un comando por línea, cada uno leyendo el documento por la entrada estándar y devolviéndolo por la salida estándar.

Cosas pequeñas
⇧⌘N empieza un documento nuevo en el lenguaje que elijas, filtrado desde el teclado, para que el coloreado funcione antes del primer guardado.
Y el panel Acerca de dice qué compilación estás usando — una versión real, incluso para una compilación local.



































































