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

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

  • Мой «специальный» терминал будет похож на стандартный эмулятор терминала с дополнительной строкой ввода внизу, в которой будет установлена ​​кнопка «запустить». Нажатие кнопки запускает команду, не стирая ее.
  • Возможно, даже произвольное количество таких команд может быть сложено (так как мне часто нужно чередовать 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 .

  • Минимальный gui для Eclipse Indigo на Ubuntu
  • Изменить (уменьшить) Gnome 3 горизонтальное заполнение значка в области уведомлений (Debian Wheezy)
  • Миксер Alsa для назначения определенных приложений на определенную звуковую карту?
  • Медленная система после запуска приложения KDE GUI из Debian Squeeze chroot
  • Каков самый простой способ рисовать графику на фреймбуфере Linux?
  • запустить графический веб-браузер в подсистеме Windows для Linux?
  • Как я могу наблюдать за графическим интерфейсом рабочего стола с оболочкой?
  • Как восстановить графический интерфейс процесса после сломанной трубы
  • Ranger - open_with без приостановки
  • Проблемы с Dropbox GUI в Fedora 23, работающие с Cinnamon
  • Есть ли какая-либо система Windows X, которая является HTML, CSS, Javascript? Например, веб-браузер?
  • Как изменить количество доступных рабочих областей в Cinnamon?
  • Interesting Posts

    Должно ли приостановленное приложение в фоновом режиме (ctrl + z) запускаться или оно должно прекратиться?

    Eclipse не является исполняемым

    Изменить группу по умолчанию для любого нового пользователя

    Как настроить мостовую сеть с виртуальной машиной и хостом с KVM (Virt-Manager)?

    Как шифровать файловую систему F2FS?

    Подсчитать количество значений в пределах диапазона в определенном столбце

    Почему «systemctl enable rpcbind» меняет громкость моего звука? И как я могу это предотвратить?

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

    Как разрешить «xrandr: не удается найти crtc для вывода»?

    Как я могу остановить grep, возвращая себя

    Альтернатива POSIX для предиката GNOME find -printf

    Как я могу достичь root после переключения с bash на zsh?

    изменения разрешения каталога отслеживания

    Определение функции оболочки: почему есть место после открытия скобки?

    Настройка часового пояса по всему миру для OpenIndiana Hipster?

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