Недавно я заметил 2 функции в Fish, и мне было интересно, если кто-нибудь знал, были ли они также доступны в Bash?
Подсветка синтаксиса
Особенности:
- Вы быстро заметите, что fish выполняет подсветку синтаксиса при вводе текста. Недопустимые команды по умолчанию окрашены в красный цвет:
- Команда может быть недействительной, потому что она не существует, или ссылается на файл, который вы не можете выполнить. Когда команда становится действительной, она отображается другим цветом
- fish будет указывать правильные пути к файлам по мере их ввода
- Это говорит о том, что существует файл, который начинается с 'somefi', что является полезной обратной связью при вводе.
Автоматические предложения
Особенности:
- fish предлагает команды при вводе и показывает предложение справа от курсора серым цветом.
- Он знает о путях и вариантах
- Чтобы принять автозаполнение, нажмите стрелку вправо или Control-F. Если самовнушение не то, что вы хотите, просто игнорируйте его.
bash
имеет автозаполнение. К сожалению,fish
сценарии настолько элементарны, что это очень плохая замена для того, чем я обычно занимаюсьbash
.cd -@
,wait -n
,globasciiranges
, и$BASH_COMPAT
, что хотел много людей. Почти все остальное - просто пожаротушение.Ответы:
Я не уверен насчет подсветки Bash, но функция автозаполнения в Bash, скорее всего, поддерживает автоматическое предложение, как вы упоминали.
Несмотря на то, что автозаполнение Bash не может отображать предложения так, как вы хотите, но фактически оно заполняет содержимое, когда вы нажимаете [TAB]. Если есть много вариантов завершения контента, дважды нажмите [TAB], и он покажет все варианты.
Например:
=> ничего не происходит
=> показывает все файлы / каталоги, начинающиеся с "/ etc / pa"
Вы можете настроить автоматическое заполнение с помощью любой команды, параметров, файлов / каталогов ... или поиграть с ним, как программирование.
Дополнительная информация по адресу: http://www.linuxjournal.com/content/more-using-bash-complete. -command
Если вы хотите перейти к предыдущей команде, нажмите ^ R, а затем введите несколько символов:
=> перейти к последней команде, начинающейся с "cd"
Я знаю, что это не совсем то, чего вы хотите, но это почти то же самое, что поможет вам достаточно удобно.
источник
К сожалению, нет. Но я предсказываю, что bash сильно замедлится, если вы попытаетесь реализовать эти функции. Возможно, поэтому никто еще не «портировал» эти функции.
Самым близким, что я нашел, был https://github.com/dvorka/hstr , ящик для предложений оболочки
в сторону Баш:
Я не тестировал его, но единственная найденная мною «портированная альтернатива» была написана для
zsh
: https://github.com/zsh-users/zsh-autosuggestionsНекоторые qwant'ing также приводят меня к https://websetnet.com/shell-packs-power-python-bash/ и https://github.com/xonsh/xonsh псевдоним http://xon.sh , возможно, это также поддерживает это из коробки
... но я уверен, что вас не интересуют другие альтернативы bash, потому что тогда вы можете просто переключиться на рыбку;)
источник