06 — En el proyecto
Editor y pestañas
Edición, guardado, cambios externos, portapapeles y ciclo de vida de los documentos.
En esta página
Trabajar con varios archivos
Abrir otro archivo sincroniza el buffer actual y añade o reutiliza una pestaña por ruta; no pide descartar los cambios anteriores. Shift+Tab avanza circularmente. Ctrl+W cierra la activa; al cerrar la última se limpia el editor y se enfoca el Explorador.
La barra puede ocupar varias filas. Cerrar con × una pestaña inactiva primero la activa. No hay restauración persistente de pestañas, cursor, scroll ni trabajo sin guardar al reiniciar.
Editar y seleccionar
Ctrl+A selecciona todo el archivo activo sin modificarlo, con foco en el editor fuente y fuera de búsquedas o diálogos. También funciona con perfil Vim y aparece en paleta como Seleccionar todo el archivo. Se reasigna con editor.selectAll en keyboard.bindings global. El plugin 0.1.2 ofrece la misma acción en su editor.
El textarea aporta movimientos, selección con Shift, borrado y undo/redo. PageUp/PageDown mueve una página visual. Alt+Shift+Down duplica arriba y Alt+Shift+Up abajo. OEC reserva Ctrl+B, Ctrl+F, Ctrl+W y Ctrl+Shift+flechas; Tab cambia foco. Home/End son extremos del documento; Ctrl+E va al final de línea. Super+A sigue como selección total heredada si el terminal lo transmite.
Guardar y resolver cambios externos
Ctrl+S guarda el contenido de la pestaña, también desde preview, usando temporal exclusivo y rename. Compara contra disco; ante cambios externos permite recargar, sobrescribir o cancelar. Guardado y recarga conservan identidad del documento al cambiar de pestaña y no descartan ediciones nuevas durante I/O. Eliminar, renombrar y descartar Git se bloquea sobre archivos con operaciones pendientes.
Conserva CRLF si el original lo usaba y permisos POSIX o ACL Windows. Windows → WSL guarda dentro de la distribución con propietario, permisos y atributos Linux; requiere coreutils y no tiene fallback inseguro. F5 no recarga automáticamente el documento autónomo.
Cambios pendientes al cerrar o salir
Cerrar comprueba la pestaña actual; salir y actualizar comprueban todas. Hay tres opciones: guardar y quedarse, guardar y continuar, o continuar sin guardar. Esc cancela. La selección inicial es la tercera opción, sin guardar.
El guardado de estas confirmaciones no pasa por el mismo wrapper de Ctrl+S: omite formato al guardar y el salto automático al diálogo de conflicto externo. Un fallo mantiene la confirmación.
Portapapeles
Ctrl+C requiere selección y copia por OSC 52, incluso desde el registro seleccionable F12; Ctrl+C no termina OEC. Ctrl+V usa Get-Clipboard -Raw en Windows o el primer ejecutable disponible entre wl-paste, xclip y xsel en Linux. El helper elimina un salto final del texto recibido.
El pegado enviado directamente por el terminal también lo recibe OpenTUI. Si falla copiar, comprueba soporte OSC 52; si falla pegar, comprueba la herramienta del sistema y el foco en una vista editable.
Numeración y resaltado
Numeración lógica opcional y scrollbar visual. El resaltado es regex por línea, diferido 120 ms, y se desactiva por encima de 200.000 caracteres. Reconoce .ts .tsx .js .jsx .json .css .html .svg .md .py .yml .yaml .sh. SVG resalta etiquetas y atributos. Los literales hexadecimales completos de seis dígitos muestran su color de fondo y texto contrastante; no se pintan los de tres u ocho dígitos.
No hay análisis semántico, LSP, autocompletado de código ni diagnóstico del compilador integrado. Los colores y atributos de siete tokens se configuran en editor.syntax.styles.
Fuentes del capítulo
Enlaces fijados al commit revisado; no siguen main.