Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры


UnixForum
Беспроводные выключатели nooLite купить дешевый 
компьютер родом из Dhgate.com


Lines Club

Ищем достойных соперников.

Библиотека сайта или "Мой Linux Documentation Project"

Как игнорировать регистр символов при использовании функции автодополнения команд в терминале Linux

Оригинал: How to Ignore Case When Using Tab Completion in the Linux Terminal
Автор: Lori Kaufman
Дата публикации: 16 августа 2016 г.
Перевод: А.Панин
Дата перевода: 6 октября 2016 г.

Как игнорировать регистр символов при использовании функции автодополнения команд в терминале Linux

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

Функция автодополнения по клавише Tab позволяет ускорить и упростить ввод имен директорий. Вы можете просто начать ввод имени директории после приглашения командной оболочки и нажать клавишу Tab для автоматического завершения ввода ее имени. Например, для перехода в директорию Documents вы можете просто начать ввод с cd Docu, после чего нажать клавишу Tab. В результате сработает функция автодополнения команды и введенная команда превратится в cd Documents/.

Вы можете сделать данную функцию регистронезависимой, добавив специальную директиву в файл конфигурации Linux с именем .inputrc. Данный файл конфигурации предназначен для описания раскладок клавиатуры для определенных условий на уровне командной оболочки (например, bash) и позволяет тонко настроить поведение интерфейса командной строки системы. Добавление директивы в упомянутый файл конфигурации не представляет каких-либо сложностей и мы покажем, как это сделать.

Существует два файла .inputrc: глобальный файл, директивы из которого влияют на поведение командных оболочек всех пользователей системы (/etc/.inputrc) и локальный файл в домашней директории текущего пользователя, директивы из которого влияют на поведение командной оболочки лишь этого пользователя (~/.inputrc). Символ ~ соответствует домашней директории пользователя, такой, как /home/lori/. Локальный файл .inputrc имеет приоритет над глобальным и это означает, что все директивы, которые вы добавили в локальный файл, будут использоваться вне зависимости от содержимого глобального файла. В данной статье мы будем добавлять специальную директиву для игнорирования регистра символов в локальный файл из домашней директории пользователя, вы же можете добавлять ее в любой из упомянутых файлов.

Воспользуемся текстовым редактором под названием gedit для добавления директивы в файл конфигурации .inputrc. Используйте комбинацию клавиш Ctrl+Alt+T для открытия окна эмулятора терминала. После этого введите следующую команду для открытия файла .inputrc в текстовом редакторе и нажмите клавишу Enter:

gksu gedit ~/.inputrc

Если вы хотите модифицировать глобальный файл .inputrc, введите вместо нее следующую команду:

gksu gedit /etc/.inputrc

Если в вашей системе нет файла .inputrc, он будет автоматически создан в результате исполнения одной из этих команд либо в вашей домашней директории, либо в директории /etc.

Ввод команды для редактирования файла конфигурации

После исполнения команды должен появиться диалог с предложением ввести ваш пароль, поэтому следует ввести в соответствующее поле пароль, который вы используете для входа в систему и нажать на кнопку "OK".

Ввод пароля

Файл .inputrc может оказаться пустым и это вполне нормально. Для того, чтобы командная оболочка игнорировала регистр символов при использовании функции автодополнения команд следует добавить следующую строку в данный файл:

set completion-ignore-case on

После этого следует нажать на кнопку "Save" ("Сохранить").

Добавление директивы в файл .inputrc

Для закрытия окна текстового редактора gedit следует нажать на кнопку "X" в его левом верхнем углу.

Закрытие окна gedit

Директива, добавленная в файл конфигурации .inputrc, никоим образом не повлияет на текущую сессию эмулятора терминала. Вы должны закрыть окно терминала и открыть его снова для того, чтобы изменения вступили в силу. Поэтому введите команду exit после приглашения командной оболочки и нажмите клавишу Enter, либо нажмите на кнопку "X" верхнем левом углу окна.

Примечание: вы можете увидеть несколько предупреждений в окне эмулятора терминала, но они никоим образом не влияют на работоспособность рассматриваемой функции.

Закрытие окна эмулятора терминала

Теперь, к примеру, при вводе cd docu и нажатии клавиши Tab...

Ввод команды cd

функция автодополнения будет работать даже несмотря на то, что регистр всех введенных символов не совпадает с регистром символов имени директории.

Регистронезависимое автодополнение по клавише Tab

Если вы захотите отменить внесенные изменения и вернуться к стандартному поведению функции автодополнения команд, вы сможете просто открыть файл .inputrc, в который была добавлена директива, убрать строку с директивой, сохранить файл и закрыть текстовый редактор. Помните о том, что необходимо закрыть и снова открыть окно эмулятора терминала после редактирования файла .inputrc для вступления изменений в силу.


Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют