Оболочка Fish, отключить навигацию по пейджеру через Tab / Shift Tab

О чем вы?

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

Вас раздражает ввод этих двух дополнительных символов, точки и пробела, во время живого сеанса bash? Просто определите псевдоним .

alias script.sh='. /path/to/script.sh'

И, как и исполняемые файлы в вашем PATH, псевдонимы будут автоматически заполняться при вводе.

ПС. Для PATH -, например включения вашей растущей коллекции скриптов, вы можете создать все псевдонимы в своем ~/.bashrc с помощью некоторого фрагмента, например:

for F in $(find /path/to/collection); do alias ${F##*/}=". $F"; done
2
01.02.2020, 11:44
1 ответ

В рыбной оболочке вкладка завершает общий префикс, если только общий префикс не пуст, и в этом случае запускается пейджер. Это конкретное поведение не настраивается.

Внутри пейджера можно перемещаться множеством способов:

  1. Использовать вкладку для следующего, сдвиг -вкладку для предыдущего
  2. Используйте клавиши со стрелками для перемещения по сторонам света
  3. Нажмите элемент управления -S, чтобы открыть поле поиска для дальнейшей фильтрации
  4. Escape для отмены, возвращая вас назад до срабатывания пейджера

Выход (через привязку cancel)избавляет вас от необходимости возвращаться назад, если вы передумаете.

Можно заменить поведение вкладки по умолчанию. Например, чтобы вкладка ничего не делала, если пейджер виден:

 bind \t 'if not status -P ; commandline -f complete; end'

Здесь говорится: «Если пейджер не отображается, выполните «полную» функцию чтения».

4
28.04.2021, 23:25

Теги

Похожие вопросы