Fish Shell 4.5: исправления Vi-режима и улучшенный поиск по истории

Вышла версия 4.5 популярной командной оболочки Fish (Friendly Interactive Shell), ориентированной на интерактивность и удобство пользователя. Обновление в основном сосредоточено на исправлении регрессий Vi-режима, появившихся в версии 4.4, а также на доработке механизма поиска по истории команд.
Fish давно позиционируется как более дружелюбная альтернатива Bash и Zsh, предлагая автоподсказки, подсветку синтаксиса и удобную работу с историей без дополнительной настройки. Новая версия продолжает эту линию, устраняя проблемы, мешавшие опытным пользователям, особенно тем, кто работает в стиле Vim.
Исправления регрессий Vi-режима
Главный акцент релиза — устранение ошибок, возникших после предыдущего обновления. В версии 4.4 пользователи Vi-режима столкнулись с некорректной работой некоторых клавиатурных команд и нестабильностью поведения оболочки.
В Fish 4.5 исправлены, в частности:
- некорректная работа сочетаний клавиш вроде
d,f; - неправильное удаление пробелов при использовании команд типа
c,w; - сбои при выполнении сложных команд редактирования после автоподсказок;
- ошибка при вызове функции
fish_vi_key_bindingsс аргументами.
Таким образом, Vi-режим снова стал предсказуемым и пригодным для повседневной работы разработчиков, привыкших к Vim-подобной навигации.
Улучшения поиска по истории
Поиск по истории — одна из ключевых функций Fish, позволяющая быстро находить ранее выполненные команды. В новой версии он получил несколько важных исправлений:
- сочетание
Ctrl+Lбольше не прерывает поиск; - корректно работает позиционирование курсора при наличии символов разной ширины (например, Unicode).
Эти изменения делают поиск стабильнее в реальных сценариях, особенно при работе с многоязычными командами и сложными строками.
Изменения в работе терминалов
Разработчики продолжают упрощать архитектуру оболочки. В версии 4.5 Fish отказался от зависимости от базы terminfo и библиотеки ncurses для изменения поведения в зависимости от переменной окружения TERM.
Теперь оболочка ориентируется на современные терминальные эмуляторы и может некорректно работать лишь на очень старых устройствах, что в современных условиях практически не имеет значения.
Патч-релиз с акцентом на стабильность
Несмотря на отсутствие крупных новых функций, релиз важен как стабилизационный. В него вошли десятки коммитов от нескольких авторов, направленных на устранение проблем, выявленных после предыдущего обновления.
Подобный подход показывает зрелость проекта: вместо гонки за новыми возможностями разработчики сосредоточились на надежности и предсказуемости поведения оболочки.
Блок экспертности
Мнение специалиста
Fish постепенно превращается в стандарт де-факто для интерактивной работы в терминале, особенно среди разработчиков, которые ценят удобство без длительной настройки. Исправления Vi-режима в версии 4.5 критически важны, поскольку именно продвинутые пользователи чаще всего используют этот режим.
С практической точки зрения:
- если вы работаете в стиле Vim — обновление практически обязательно;
- если используете Fish как основную оболочку — версия 4.5 повышает стабильность;
- если только переходите с Bash или Zsh — сейчас один из лучших моментов попробовать Fish.
Также важно, что проект постепенно избавляется от устаревших зависимостей и ориентируется на современные терминалы. Это снижает вероятность неожиданных ошибок и упрощает поддержку.
В долгосрочной перспективе Fish укрепляет репутацию оболочки «из коробки»: минимальная настройка, максимальная продуктивность.
Подробнее см. список изменений.
Редактор: AndreyEx