Терминал с кнопкой «повторить последний»

Я часто компилирую материал и, следовательно, повторяю одну и ту же команду снова и снова, поэтому я хотел бы воспользоваться моей «визуальной памятью» и иметь некоторую кнопку «повторить последнюю команду», прикрепленную к терминалу. Точнее, вот как я это вижу:

  • Мой «специальный» терминал будет похож на стандартный эмулятор терминала с дополнительной строкой ввода внизу, в которой будет установлена ​​кнопка «запустить». Нажатие кнопки запускает команду, не стирая ее.
  • Возможно, даже произвольное количество таких команд может быть сложено (так как мне часто нужно чередовать 2 или 3 команды).

Я знаю, что могу использовать только Ввод с клавиатурой для повтора последней команды, но часто случается, что я забыл, что мне просто нужно было ввести другую команду (чтобы исправить что-то или что-то еще), поэтому не приведет к правильной команде из история. Поэтому вместо рефлекса я должен фактически прочитать (по крайней мере, обезжирить) команду перед нажатием Enter.

Есть ли такое приспособление где-то? Я часто использую несколько терминалов, чтобы убедиться, что каждый из них всегда имеет правильную команду как последнюю, но мои навыки Alt + Tab обычно заставляют меня заходить в неправильное окно. И мне нужна информация о терминале, такая как среда и cwd, поэтому я не могу просто попытаться «интегрировать» ее в свой редактор кода. Я имею в виду, используя Alt + F2, а затем Enter не будет работать (так как мне также нужно прочитать вывод с терминала). Я просто хочу иметь возможность использовать лучшее из клавиатуры и визуальной памяти (через клики) одновременно.

4 Solutions collect form web for “Терминал с кнопкой «повторить последний»”

Я думаю, что расширение истории может быть очень полезно здесь. Например, typing !p выполнит последнюю команду, начинающуюся с 'p'. Аналогично !vi выполнит последнюю команду, начинающуюся с «vi» и т. Д. Больше информации здесь . Если вы не уверены, какой из них был последним, вы можете установить параметр shell histverify ( shopt -s histverify ), чтобы вы могли редактировать (или проверять) команду перед ее выполнением. Подробнее об этом здесь .

Кроме того, вы можете использовать функцию поиска истории. В bash нажмите Ctrl+R и введите команду, которую вы хотите найти в истории (начиная с самой последней, которая соответствует критериям). Нажав Ctrl+R repeatateadly, вы получите старые команды, соответствующие вашим критериям. Подробнее здесь и здесь

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

Взгляните на функциональность истории вашей оболочки. В моем zsh:

 !! 

повторяет последнюю команду.

Введите history чтобы просмотреть последние несколько записей.

Чтобы получить нужный буфер в оболочке:

 man zshzle 

или

 man readline 

Кроме того, вы можете вставить вкладку

 make long_target ls some_path ... make l<TAB> # prints 'make long_target' without running it 

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

Используя zsh вы можете сделать это с помощью Esc + A. Введите команду, затем нажмите Esc + A вместо Enter . Команда будет выполнена, и эта же команда будет находиться в буфере строк после завершения команды.

Похоже, вам нужен очень простой ответ. Поскольку вы упомянули Alt + Tab , я предполагаю, что вы используете (X) окна. Вы выделите команду с помощью мыши, прежде чем нажимать «Enter». Он автоматически копируется на панель клипов, когда вы выделяете ее. Чтобы вставить его, нажмите среднюю кнопку мыши (колесо прокрутки) или введите Shift + Insert .

  • как начать графический режим пользовательского интерфейса в oracle linux 7.2
  • ctrl + alt + f7 не может переключиться
  • Стандартное решение для отображения сообщений на оболочке или с помощью оконных менеджеров gui
  • Инструмент GUI для мониторинга Java-процесса
  • Панель запуска приложений с сеткой, например, горячие клавиши
  • Зачем графическим программам нужно назначить окно?
  • Есть ли скриптовый почтовый клиент с богатым ui?
  • Может ли Aura работать на других дистрибутивах Linux?
  • Медленная система после запуска приложения KDE GUI из Debian Squeeze chroot
  • Как установить путь к использованию приложений OSX
  • apache2 gui / Comanche Замена
  • Interesting Posts

    «Ключи GPG, перечисленные для репозитория« atomicrocketturtle.com », уже установлены, но они неверны для этого пакета».

    QEMU с многоканальным звуком (5.1 и так далее)

    Принимая аргументы оболочки и обновляя значения

    Изменение структуры ОС Fedora

    Измените, какая клавиша является первичной и какая вторичная (необходимо удерживать Shift для доступа)

    Порядок аргументов для поиска

    Правильное имя домена для серверной настольной машины

    Msgstr "sudo: извините, вы должны иметь tty для запуска sudo" при использовании sudo в удаленном скрипте

    Используйте curl для отправки двоичного файла через POST с помощью типа multipart / form-data;

    Как установить беспроводной маршрутизатор Realtek RTL8723BE на debian?

    Утилита для копирования тегов ID3v2 в ID3v1?

    Как выполнить программу в Xfce и использовать другую тему xfwm4, отличную от стандартной?

    В сценарии проверьте, не поступает ли стандартный ввод из файла или канала

    Как устранить большую нагрузку, когда модуль ядра подозревается?

    Как я могу использовать виртуальных пользователей в «списке записи» и «списке чтения» в samba?

    Linux и Unix - лучшая ОС в мире.