Оболочка Fish - по настоящему интерактивная оболочка

Не так издавна вышла еще одна версия оболочки Fish. Название расшифровывается как Friendly Interactive Shell, что на 100 процентов соответствует правде. Если сравнивать её со значительно более известными Bash и Zsh, то настройку Fish проще создавать без прямого редактирования конфигурационных файлов, потому что всё необходимое для настройки есть в самой оболочке и использовать эти средства удобней, чем другие.

Разработчики Fish отлично усвоили правило «встречают по одёжке». В этой оболочке реализован не только действующий, ну и прекрасный режим подсветки синтаксиса, который работает при вводе хоть какой команды. Если цвет символов красный, то нет никакого смысла нажимать на «Ввод», потому что система такой команды не знает. А вот когда цвет сменится на голубий (или другой, зависимо от избранной цветовой схемы), то всё в порядке.

Относится это не только к самой команде, ну и к её опциям. Подсветка позволяет контролировать правильность написания по ходу ввода, что очень комфортно.

Например, если пользователь вводит название каталога и он существует, то название будет подчёркиваться. Причём, уже в процессе ввода.

Это позволяет минимизировать количество ошибок при вводе и таким образом уменьшить время на выполнение пользовательских операций. Причём функция не просит никаких дополнительных опций. Разве что, можно выбрать более приятное глазу цветовое решение.

Функция автоматического дополнения широко применяется пользователями других оболочек, потому что позволяет не только уменьшить время ввода команды, ну и избежать ошибок. В Fish эта функция автодополнения активна по умолчанию и не просит использования дополнительных кнопок. Стоит юзеру начать ввод команды, оболочка предлагает ему более вероятные варианты продолжения.

Если Fish «угадал», чего непосредственно вожделеет пользователь, то достаточно нажать на кнопку «Влево». Если же предложенный вариант не устраивает, то при помощи кнопки «Вверх» можно пролистать все команды, в которые входит уже набранная композиция символов.

Кнопка Tab в Fish предназначена для показа возможных вариантов продолжения. Причём, подходящий можно выбрать при помощи кнопок со стрелками, как в обычном менеджере файлов.

Несмотря на то, что настраивать Fish практически всегда не нужно, оболочка имеет очень успешный инструмент для конфигурирования. Команда fish_config позволяет это сделать при помощи обыденного браузера — налицо и наглядность, и отсутствие лишних сущностей.

Через веб-интерфейс можно настроить практически всё — от внешнего вида до функций. Никакой необходимости редактировать файл конфигурации нет.

Кстати, документация в оболочке также реализована в виде веб-страницы, которая раскрывается в браузере командой help. Если бы она ещё была переведена на русский язык, то вышел бы практически идеал дружелюбия.

Нередко нет необходимости и в команде fish_config. Достаточно один раз объяснить оболочке, что от неё требуется.

Допустим, юзеру приходится часто использовать некую длинную команду. Для экономии времени имеет смысл сделать аббревиатуру командой abbr -a «имя» 'команда'. Fish запомнит это надолго. А чтобы самому не запутаться в собственных сокращениях следует периодически просматривать их полный перечень командой abbr -s.

Для перенаправления стандартных ввода и вывода в других оболочках употребляются операторы < и >. Разработчики Fish решили пойти дальше и реализовали аналогичную функциональность для ошибок при помощи оператора ^. Вышло очень шикарно. Если юзеру нужно получить информацию об ошибках при выполнении какой-либо команды, то это решается очень просто: «команда» ^«файл» и cat «файл».

При разработке оболочки особенное внимание уделялось простоте и понятности. Например, для подстановки в Fish употребляются не кавычки, ассоциирующиеся у обыденного пользователя с комментарием, а скобки, расположенный в каких текст воспринимается оболочкой как список команд и заменяется их результатом после выполнения.

В Fish допускается создание функций. Причём, в интерактивном режиме — достаточно ввести function «имя функции» и её код.

И, естественно, для Fish уже есть плагины, расширяющие функциональность оболочки. Например, модуль fishmarks позволяет назначать закладки на более нужные сборники, чтобы быстро перейти в их при необходимости.

20.07.2015
1252

Комментарии

Нет комментариев. Ваш будет первым!