Игнорирование регистра при автодополнении (Tab) в Linux

Автодополнение (Tab) облегчает ввод путей и имён в терминале. По умолчанию в Linux система чувствительна к регистру: “Documents” и “documents” считаются разными. Чтобы ускорить работу и не подбирать точный регистр, можно настроить поведение автодополнения через файл .inputrc.
Что делает настройка
Коротко: файл .inputrc управляет поведением readline — библиотеки, которую использует bash и другие приложения для чтения ввода в интерактивном режиме. Добавив строку
set completion-ignore-case onв .inputrc, вы позволяете автодополнению игнорировать регистр символов при попытке дополнить имя файла или каталога.
Важно: это влияет на программы, использующие readline (например, bash). Другие оболочки (zsh, fish) и некоторые программы могут игнорировать .inputrc.
Пошаговая инструкция
- Откройте терминал (Ctrl+Alt+T).
- Решите, хотите ли вы изменить настройку для всего компьютера (всё пользователи) или только для своей учётной записи:
- Локально (для текущего пользователя): ~/.inputrc
- Глобально (для всех пользователей): /etc/.inputrc
- Пример с gedit, используем тот же редактор, что в демонстрации:
gksu gedit ~/.inputrcЕсли вы предпочитаете использовать другой редактор (без gksu):
- Nano (в консоли):
nano ~/.inputrc- Vi / Vim:
vi ~/.inputrc- Если gksu отсутствует в вашей системе, используйте pkexec или sudo с графическим редактором (например, sudo -H gedit /etc/.inputrc) с осторожностью.

- Введите пароль, если появится системный диалог с запросом (в графическом режиме). В консоли sudo запрос пароля отобразится прямо в терминале.

- Если файл пустой, это нормально. Добавьте одну строку:
set completion-ignore-case onСохраните файл и закройте редактор.

- Закройте окно редактора и текущую сессию терминала. Новая настройка применяется только при запуске новой интерактивной сессии bash.

- Закройте терминал (команда exit или крестик). Иногда при завершении сессии могут появляться предупреждения — они не влияют на настройку.

- Откройте новый терминал и проверьте: напишите
cd docuи нажмите Tab — автодополнение должно раскрытьDocuments/(даже если вы ввели строчные буквы).


Альтернативные способы и варианты
- Если вы используете zsh, fish или другую оболочку, настройка .inputrc не сработает. Для zsh есть собственные плагины/опции (например, настройки плагина completion или опция CASE_SENSITIVE) — ищите документацию по вашей оболочке.
- Если вы не хотите вносить постоянные изменения, можно временно изменить поведение: в некоторых системах readline поддерживает команду bind -f, но обычно проще редактировать .inputrc.
- Для графических файловых менеджеров и приложений изменение .inputrc не влияет — это только для интерактивной работы в терминале.
Когда это не сработает
- Вы используете оболочку, не использующую readline (например, fish).
- Программа явно переопределяет поведение автодополнения.
- На удалённом сервере, где ваш .inputrc не доступен, или политика безопасности перезаписывает конфигурацию.
Откат изменений
Чтобы вернуть прежнее поведение (чувствительность к регистру):
- Откройте тот же файл (~/.inputrc или /etc/.inputrc).
- Удалите строку
set completion-ignore-case on- Сохраните файл и закройте терминал; затем откройте новый терминал.
Критерии приёмки
- В новой сессии терминала ввод
cd docu+ Tab завершается автодополнением вDocuments/при наличии каталога с таким именем. - Для других оболочек (zsh/fish) ожидается отсутствие изменения; это нормально.
Быстрая методология (шаблон действий)
- Решите: локально или глобально.
- Сделайте резервную копию файла перед изменением:
cp ~/.inputrc ~/.inputrc.backup- Отредактируйте файл, добавьте
set completion-ignore-case on. - Сохраните, закройте терминал, откройте новый терминал.
- Протестируйте автодополнение.
- При проблемах восстановите резервную копию:
mv ~/.inputrc.backup ~/.inputrcТесты и приёмочные критерии
Тест 1 — базовая проверка:
- Создайте каталог “Documents” (если не существует).
- Введите
cd docuи нажмите Tab. - Ожидаемый результат: автодополнение до
Documents/.
Тест 2 — конфликт с глобальным файлом:
- Если изменение сделано только локально, проверьте, что глобальный файл /etc/.inputrc не содержит противоположной директивы.
Тест 3 — проверка оболочки:
- Запустите
echo $SHELLи убедитесь, что используемая оболочка — bash. Если нет, настройка может не применяться.
Роли и короткий чеклист
Пользователь:
- Создал резервную копию .inputrc.
- Добавил строку и протестировал в новом терминале.
Системный администратор:
- Решил о внесении в /etc/.inputrc при необходимости для всех пользователей.
- Уведомил пользователей о системном изменении и предоставил инструкции по откату.
Короткий глоссарий
- readline — библиотека для интерактивного чтения ввода в терминале.
- .inputrc — конфигурационный файл readline для пользовательских настроек.
- gksu / pkexec — инструменты для запуска графических приложений с повышенными привилегиями.
Примечания и советы
Важно: используйте привилегии (sudo/gksu/pkexec) аккуратно при редактировании /etc/.inputrc. Рекомендуется редактировать локальный ~/.inputrc для персональных настроек.
Если вы часто переключаетесь между оболочками, рассмотрите настройку автодополнения отдельно в каждой (bash — .inputrc, zsh — .zshrc или плагины completion).
Резюме:
- Добавьте строку
set completion-ignore-case onв ~/.inputrc или /etc/.inputrc. - Закройте и откройте терминал, чтобы изменения вступили в силу.
- Для других оболочек используйте их собственные настройки.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента