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 descarta ediciones anteriores. Shift+Tab avanza circularmente. Ctrl+W cierra la activa; al cerrar la última se enfoca Explorador. El clic central cierra desde cualquier punto de la pestaña y conserva la confirmación de cambios pendientes.
La barra admite varias filas; × sobre una pestaña inactiva primero la activa. No hay restauración persistente de pestañas, cursor, scroll ni trabajo sin guardar al reiniciar.
Barras arrastrables y ratón
Las barras vertical y horizontal permiten desplazarse arrastrando; Shift+rueda desplaza horizontalmente si no hay ajuste de línea. Los controles clicables muestran manito si el terminal soporta OSC 22. El ratón complementa los controles de teclado.
Editar y seleccionar
Ctrl+A selecciona todo el archivo activo sin modificarlo, con foco en fuente y fuera de búsquedas o diálogos. Funciona con Vim y desde paleta. Se reasigna con editor.selectAll en keyboard.bindings global. El plugin actual también permite seleccionar todo.
El textarea aporta movimiento, selección con Shift, borrado y undo/redo. PageUp/PageDown recorre páginas; Alt+Shift+Down duplica arriba y Alt+Shift+Up abajo. F7/F8 alternan paneles, Ctrl+Shift+flechas mueve el foco y Tab lo recorre. Home/End son extremos del documento; Ctrl+E va al final de línea. Super+A es el alias heredado de seleccionar todo.
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.