Вы можете использовать, bind -x
чтобы привязать команду к ярлыку в Bash. Например, чтобы связать git status
команду с ярлыком Crtl+, pвы можете использовать:
bind -x '"\C-p":git status'
Поместите это в ~/.bashrc
файл, чтобы запомнить это. С man-страницы:
-x keyseq: команда оболочки
Заставить команду оболочки выполняться всякий раз, когда вводится keyseq. Когда команда shell выполняется, оболочка устанавливает переменную READLINE_LINE на содержимое буфера строки Readline, а переменную READLINE_POINT - текущее местоположение точки вставки. Если выполненная команда изменит значение READLINE_LINE или READLINE_POINT, эти новые значения будут отражены в состоянии редактирования.
bindkey -s '^[^M' 'git status\n'
что связывает с ALT + ENTER.bind -x '"\C-k":firefox'
Я использую это, но не работает~/.bashrc
файла. Если это все еще не работает, проверьте этоbind
можно найти здесь: stackoverflow.com/a/4201274/7123341. Автоматически откройте новое окно терминала, показывая вывод вашей команды
Поскольку вам нужно держать терминал открытым после выполнения команды, введите:
под сочетанием клавиш, сделает работу. Это откроет новое
gnome-terminal
окно и запустит команду внутри него.Добавить его в ярлык
Выберите: «Системные настройки»> «Клавиатура»> «Ярлыки»> «Пользовательские ярлыки». Нажмите «+» и добавьте команду:
к Ctrl+Enter
Заметка
Хотя предлагаемый вами ярлык работает, вы можете выбрать другую комбинацию клавиш, а затем Ctrl+ Enter, поскольку он по крайней мере конфликтует с
LibreOffice
ярлыком для перехода на новую страницу.объяснение
Чтобы
gnome-terminal
открыть новое окно из командной строки и запустить в нем команду, вы можете использовать:Однако, хотя команда будет выполнена успешно, окно терминала закроется немедленно, прежде чем вы сможете прочитать вывод.
Секция:
затем держать терминал открытым (пока вы не нажмете Enter) после запуска команды.
Другие команды
Таким образом, вы можете запустить любую (сложную) команду в терминале, не закрывая ее немедленно:
выдаст (если
wmctrl
установлен):После нажатия Enterтерминал закроется.
2. Выполнение команды в текущем активном окне gnome-терминала
Конечно, вы можете поместить простую однострочную клавишу под сочетанием клавиш (при условии, что вы
xdotool
установили):Это, однако, будет вводить команду вслепую в любом приложении, и ввод этой команды - не самый чистый вариант.
Поэтому небольшой скрипт ниже:
gnome-terminal
окном (по его pid)gnome-terminal
окно, нажимает Return.Если нет, скрипт ничего не делает , поэтому он не будет вставлен в другие приложения.
Поскольку сценарий принимает целевую команду в качестве аргумента, вы можете поместить несколько команд в несколько сочетаний клавиш.
Сценарий
Как пользоваться
Скрипт нуждается
xdotool
sudo apt-get установить xdotool
Создайте каталог,
~/bin
если он еще не существует, выйдите из системы, войдите или запуститеsource ~/.profile
gterm_keys
(без расширения)~/bin
и сделайте его исполняемым.Теперь вы можете запустить любую команду с помощью сочетания клавиш в главном
gnome-terminal
окне, добавив команду:к сочетанию клавиш, как описано в
[1]
источник
Если вместо bash используется zsh, следующая строка
~/.zshrc
связываетсяgit status
с ALT+ ENTER.Чтобы получить ALT+ ENTERв Bash, я использую эту строку:
источник