1

Я заметил, что для многих команд, которые я использую в bash, я фактически узнал, сколько букв команды я должен набрать, прежде чем я смогу нажать [TAB], чтобы bash успешно завершил автозаполнение команды. Например, при открытии хрома я обычно не набираю всю команду, а вместо этого набираю

$ chrom[TAB][ENTER]

и bash успешно завершает команду chromium до того, как я нажму клавишу [ENTER]. Есть ли способ заставить автозаполнение работать, не нажимая [TAB]? Я думаю, что если я наберу

$ chrom[ENTER]

Баш мог проверить и убедиться , что chrom Isnt действительной команды, но это будет иметь смысл для автозаполнения его chromium , так как это единственная команда , которая начинается с chrom

2 ответа2

1

Это всего лишь идея, так как я чувствую, что TAB не так уж и сложен, мышечная память - удивительная вещь.

Но если мы собираемся для максимальной извращенности:

Оболочка BASH имеет функцию, включающую функцию "command_not_found_handler", которая часто используется во многих ситуациях как уведомитель "Команда не найдена", где она сообщает вам, где вы можете найти больше информации о том, что вы опечатали. Это часто предустановлено в Ubuntu.

Конечно, больше информации легко найти на странице руководства BASH, попробуйте поискать «not_found».

Это можно превратить в представление и использовать для реализации вашего желания «завершить вкладку при неудаче ^ H ^ H ^ Henter». Актуальный код оставлен в качестве упражнения для читателя.

Я полностью согласен с @Marco выше, что я ДЕЙСТВИТЕЛЬНО хочу, чтобы отзывы увидели / узнали, что я напечатал и что я получил, в значительной степени похожи.

Звучит скорее как инновация Microsoft.

0

Псевдонимы, безусловно, ваш друг здесь, например, у меня есть:

alias code='cd ~/Dropbox/97_2012/work/ror/code'
alias docs='cd ~/Dropbox/97_2012/work/setups'

так что я могу просто напечатать

$ code

или же

$ docs

и я буду помещен в соответствующий каталог.

Вы помещаете их в файл .bash_aliases в вашем домашнем каталоге (" ~ ").

Вы включаете это (и этот код, скорее всего, уже существует) в ваш файл .bashrc с помощью:

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

Если вы добавили их и хотите немедленно их увидеть, либо начните новый сеанс оболочки, либо запустите ваш .bashrc в текущем терминальном сеансе, например . ~/.bashrc или даже только псевдонимы . ~/.bash_aliases

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .