Автоматическое заполнение для часто используемых команд командной строки?

Проверено сегодня (07 января 2015 г.).

Эти настройки работают хорошо для меня:

APT::Install-Recommends "false"; APT::Install-Suggests "false";

Это решение не работает:

APT::Get::Install-Recommends "false"; APT::Get::Install-Suggests "false";
1
задан 23 May 2017 в 15:39

6 ответов

Вставить (Ctrl-Shift-V) следующее в экран терминала:

echo '"\e[A": history-search-backward' > ~/.inputrc
echo '"\e[B": history-search-forward' >> ~/.inputrc
echo 'set show-all-if-ambiguous on' >> ~/.inputrc
echo 'set completion-ignore-case on' >> ~/.inputrc

Выйти (Ctrl-D) на экран терминала, затем снова открыть терминал.

Теперь вы можете просто ввести первые пару символов, затем нажмите «Вверх» или «Вниз», чтобы прокрутить список фильтров

8
ответ дан 24 May 2018 в 21:01
  • 1
    Это самый простой ответ, который выполняет свою работу! – cxrodgers 19 June 2013 в 07:37

Окончательный срок

Существует очень многообещающий конечный термин Terminal App Called Final Term. Среди его многочисленных функций он также имеет историю воспоминаний команд, так что вы можете выбрать его. Вот еще несколько функций:

Вы можете узнать больше об этом в этом окончательном сроке .

Вот веб-сайт от создателей. http://finalterm.org/

Чтобы установить его

sudo add-apt-repository ppa:versable/finalterm-daily
sudo apt-get update
sudo apt-get install finalterm

Warning

Я сказал, что он многообещающий. Единственная проблема заключается в том, что она находится в версии 0.1. Поэтому некоторые вещи, такие как vim и nano, пока не работают. Я также заметил, что он еще не поддерживает Drag-and-Drop, а также копирует и вставляет. Но у него есть функция, которую вы запрашиваете.

Скриншот

Вот функция в действии:

Final Term [ ! d4]

Надеюсь, это поможет.

* Я на Saucy, поэтому у меня есть фон Salamander:)

8
ответ дан 24 May 2018 в 21:01
  • 1
    Спасибо за совет! Я проверил finalterm, и он выглядит хорошо. К сожалению, пока не поддерживается копирование. Я попробовал Ctrl + V, Ctrl + Shift + V и щелкнул правой кнопкой мыши, но ни один из них не работает. Поэтому я буду помнить об этом в будущем! – kramer65 17 June 2013 в 11:33
  • 2
    Это самый большой недостаток, который я видел. Однако проект молод, и поэтому я надеюсь, что это будет добавлено в ближайшее время. Я вижу приложение терминала с поддержкой копирования вставки. – Max Tither 17 June 2013 в 23:22

Используйте команду alias для всей команды или добавьте каталог в свой $PATH. Кроме того, вам не нужно менять директории, где ваш исполняемый файл (или сценарий или что-то еще) должен запускать его, поэтому он довольно прост. Оба метода требуют перезапуска терминала, который вы используете, прежде чем изменения вступят в силу.

Вот как создать bash alias для вашего примера (добавьте следующую строку в ваш файл ~/.bashrc ):

alias runmyproject='an/extremely/long/path/in/which/I/have/some/kinda/project/runmyproject --with some --command line --options set'

Таким образом, все, что вам нужно сделать, это ввести runmyproject в терминал, где бы вы ни находились, без указания опций / аргументов.

В качестве альтернативы вы могли бы добавьте путь к проекту в переменную среды $PATH. Для этого добавьте следующие строки в ваш файл ~/.bashrc:

PATH=an/extremely/long/path/in/which/I/have/some/kinda/project:$PATH
export PATH

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

7
ответ дан 24 May 2018 в 21:01
  • 1
    Дело в том, что я хотел бы, чтобы терминал реагировал на мое использование. При этом мне приходится менять псевдоним каждый раз, когда я начинаю работать над новыми проектами или когда меняю структуру каталогов моего проекта. Основная часть моего вопроса заключается в том, что я хочу, чтобы он учился на том, что я использую, вместо того, чтобы говорить, что делать. – kramer65 17 June 2013 в 11:34
  • 2
    Ах я вижу. Тогда в настоящий момент лучший ответ должен сделать трюк. Или, по крайней мере, близко. – oaskamay 18 June 2013 в 01:58

Когда мне часто приходится переходить в такой каталог:

cd an/extremely/long/path/in/which/I/have/some/kinda/project

Я бы просто сделал это один раз:

ln -s an/extremely/long/path/in/which/I/have/some/kinda/project ~/project

И с этого момента используйте :

cd ~/pr[tab]

Когда дело доходит до:

./runmyproject --with some --command line --options set

Я бы использовал поиск истории bash. В командной строке просто нажмите Ctrl-R и введите «runmy». Voila, вся команда со всеми параметрами, поскольку она была последней введенной, находится прямо там, чтобы ее снова ввести. Если мне не нравятся параметры, которые я использовал в последний раз, и мне хотелось посмотреть на более ранние команды, я бы продолжал нажимать Ctrl-R, чтобы перебирать все предыдущие команды, содержащие «runmy».

Поиск истории Ctrl-R может помочь с помощью команды «cd», если вам не нравится идея symlink. [Ctrl-R] ​​/ proj действительно может вернуть последнюю команду, которую вы использовали для cd, в этот каталог.

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

4
ответ дан 24 May 2018 в 21:01
  • 1
    Спасибо за ваше предложение. Дело в том, что я не хочу устанавливать другую вещь, о которой я забочусь, когда, например, изменяется папка проекта, или я запускаю новый проект. Дело в том, что я хотел бы, чтобы терминал реагировал на мое использование. Основная часть моего вопроса заключается в том, что я хочу, чтобы он учился на том, что я использую, вместо того, чтобы говорить, что делать. Мне действительно нравится функция Ctrl-R. Спасибо за это! – kramer65 17 June 2013 в 11:38

нажмите Ctrl + R на клавиатуре - он поместит вас в режим обратной истории, и вы можете ввести часть, которую знаете, и вся команда покажет

. Здесь перечислены другие способы

http://www.talug.org/events/20030709/cmdline_history.html

Я предпочитаю использовать управление R, хотя

4
ответ дан 24 May 2018 в 21:01

Попробуйте это ... Это работает для всех команд в вашем файле истории ... это то же самое, что и Ctrl + R, но я думаю, что это более интуитивно понятно:)

edit /etc/inputrc [ f1] раскомментировать или добавить эту две строки
"\e[5~": history-search-backward

"\e[6~": history-search-forward
logout / login

, тогда попробуйте написать некоторую команду, перечисленную в истории ...

like .. .

ls -lah

напишите

ls

и нажмите

Ctrl или Страница Dn, чтобы перейти через ваш файл истории в поиске команд, начинающихся с «ls»

Если вы все сделали правильно, он должен автоматически завершить вашу команду ...

2
ответ дан 24 May 2018 в 21:01

Другие вопросы по тегам:

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