Вопрос или проблема
Bash предоставляет интерактивные команды forward-search-history
и reverse-search-history
, которые обычно связаны с клавишами CTRL-s
и CTRL-r
соответственно.
Есть ли чувствительные к регистру эквиваленты или есть ли конфигурация для выполнения этих команд без учета регистра?
bind -P | grep -iE 'search|case'
не дал ничего существенного.
Вы можете создать файл с именем .inputrc
в вашем домашнем каталоге и поместить в него следующую строку:
set completion-ignore-case on
для zsh я использую это
setopt NO_CASE_GLOB
setopt NO_CASE_MATCH
Ответ или решение
Настройка поиска в истории Bash с учетом регистра – это задача, которую нельзя решать простыми комбинациями клавиш CTRL-S и CTRL-R. По умолчанию, команды forward-search-history
и reverse-search-history
выполняют поиск с учетом регистра. Если вы ищете способ выполнить регистронезависимый поиск по истории команд Bash, существует некоторый трюк, связанный с файлом ~/.inputrc
.
Решение проблемы поиска в истории с учетом регистра в Bash
Для изменения поведения поиска на регистронезависимый следует использовать файл ~/.inputrc
. Это настройки, специфичные для Readline – библиотеки, которая контролирует взаимодействие интерактивного ввода в Bash.
-
Создайте или откройте файл
~/.inputrc
в вашем домашнем каталоге. -
Добавьте следующую строку в этот файл:
set completion-ignore-case on
- Однако важно понимать, что данная строка отвечает за регистронезависимость только в автодополнении команд и файлов, но не в поиске истории. Поэтому этот подход поможет избежать регистрозависимости при автодополнении, но поиск в истории останется без изменений.
-
Для фактической реализации регистронезависимого поиска в истории нет прямого классического решения в Bash. В качестве обходного пути можно использовать расширенные возможности других оболочек, таких как Zsh.
Пример для Zsh
Если вы используете Zsh, регистронезависимый поиск можно реализовать через следующие опции:
setopt NO_CASE_GLOB
setopt NO_CASE_MATCH
Эти команды изменяют поведение оболочки Zsh, делая ее нечувствительной к регистру при поиске и автодополнении.
Заключение
Хотя Bash в стандартной конфигурации и не поддерживает регистронезависимый поиск в истории, использование файла ~/.inputrc
предоставляет удобные средства для настройки параметров автодополнения. Для пользователей, нуждающихся в расширенной функциональности, стоит обратить внимание на использование оболочки Zsh, которая предоставляет более гибкие возможности.
Этот подход поможет оптимизировать работу в командной строке и адаптировать ваш рабочий процесс под личные предпочтения, одновременно углубив ваши знания об интерактивных оболочках.