Shell de comandos Fish Shell, popular entre los usuarios de terminales, se ha actualizado a la versión 4.0, que trae cambios y mejoras significativas.
La principal novedad es que Fish Shell ahora está completamente reescrito en el lenguaje de programación Rust. Sin embargo, para los usuarios habituales, esta transición será prácticamente imperceptible: los comandos, configuraciones e interacciones típicas permanecerán iguales.
Otros cambios significativos
- Un nuevo sistema de enlace de teclas. Fish Shell 4.0 presenta un sistema de enlace de teclas actualizado y una mayor compatibilidad con terminales. Ahora es posible reemplazar las secuencias de esc no intuitivas por comandos más legibles, como bind ctrl-right. Gracias al soporte del protocolo de teclado Kitty, Fish puede diferenciar secuencias de control que anteriormente parecían idénticas, como bind ctrl-i, bind ctrl-I y bind tab.
- Integración con las capacidades del terminal. Fish ahora utiliza automáticamente secuencias OSC 133 para sugerencias y salida de comandos, lo que ayuda a una sincronización más fluida con varios terminales que antes dependían de scripts adicionales de integración de shell.
- Mejor manejo de comandos largos. El shell ahora maneja más cuidadosamente las líneas de comandos largas, desplazándose en lugar de mostrarse incorrectamente. Cualquier cambio provocado por los enlaces de la línea de comandos se muestra de inmediato, lo que proporciona una experiencia de usuario más intuitiva.
- Historial de comandos. El paginador de historial de comandos, presentado por primera vez en Fish 3.6, ha sido mejorado. Ahora se puede usar la sintaxis glob para filtrado más preciso de los registros de historial, por ejemplo, la búsqueda por * glob syntax — git*HEAD devolverá todo donde haya git y HEAD en ese orden.
- Un nuevo tema predeterminado. En la nueva versión, el tema predeterminado ha sido ligeramente modificado: los comandos ahora se muestran en el color 'normal' del terminal en lugar del 'azul' difícil de leer. Los usuarios existentes mantendrán sus configuraciones actuales a menos que recarguen manualmente el tema a través de fish_config.
- Construcciones autoinstalables. La nueva función de construcciones autoinstalables puede ser un verdadero avance para los usuarios que trabajan a menudo a través de SSH. como en entornos de nube públicos o privados. sin privilegios administrativos. Después de compilar Fish, se puede ejecutar un archivo binario autónomo que extrae todo lo necesario: funciones, páginas de manual e incluso una herramienta web de configuración, en el directorio personal.
- Exclusión de comandos del historial. Finalmente llegó la esperada función que permite excluir ciertos comandos del historial. Definiendo la función personalizada fish_should_add_to_history, se puede decidir exactamente qué comandos se guardarán.
- Mejoras para scripting:
- string match ahora admite la opción —max-matches, que permite limitar el número de coincidencias procesadas;
- los bucles for ya no recordarán variables locales de iteraciones anteriores;
- set recibe la opción —no-event para suprimir eventos de cambio de variables;
- time comienza a medir antes, capturando la duración de cualquier sustitución de comandos antes de su ejecución;
- complete —erase desactiva completamente la autocompletación de finales para los comandos especificados.
Fuente: linux.org.ru
