Терминал: привязка горячих клавиш к текстовым командам

Есть ли способ привязать горячие клавиши к текстовым командам в терминале? Например: ctrl+b == git branch <ret>

5
задан 22 November 2012 в 16:53

4 ответа

Вы можете использовать команду bash bind , как показано в связанном ответе Stackoverflow.

В вашем случае команда будет выглядеть следующим образом:

bind '"\C-b":"git branch\n"'

Чтобы привязать его от сеанса к сеансу, а затем добавить его к ~/.inputrc

Bash bind reference. (также доступно как man bash)

0
ответ дан 22 November 2012 в 16:53

Конечно.

Лучший способ был бы к:

  • Запишите сценарий с командой, которую Вы хотите выполнить
  • Создайте .desktop файл для этого .sh файла
  • Присвойте сочетание клавиш этому .desktop файлу
0
ответ дан 22 November 2012 в 16:53

Вместо горячей клавиши, как насчет псевдонима bash ?

Например:

alias b='git branch'

сейчас b является псевдонимом для git branch, и вы можете просто набрать b <ret> в своем терминале.

Это намного лучше, чем «горячая клавиша», поскольку вы все равно можете добавить другие опции в свою команду, прежде чем нажать Enter. Например:

b --all
b --remotes
b -m newbranch

... и т. Д.

Чтобы сделать этот псевдоним постоянным, добавьте его в конец вашего ~/.bashrc или ~/.bash_aliases. Последний вариант предпочтителен, но работает только в том случае, если ваш ~ / .bashrc его использует. По умолчанию для Ubuntu 12.04.

Вы можете проверить, назначена ли данная команда псевдониму, программе, функции или встроенной функции, используя type <command>:

$ type b
b is aliased to `git branch'

$ type cp
cp is /bin/cp

$ type cd
cd is a shell builtin

$ type quote
quote is a function
quote () 
{ 
    echo \'${1//\'/\'\\\'\'}\'
}

$ type c
bash: type: c: not found

И последнее, но не менее важное: также стоит проверить наличие команд, которые не существует в вашей системе , но может существовать в репозиториях Ubuntu:

$ blender
The program 'blender' is currently not installed.  You can install it by typing:
sudo apt-get install blender

Таким образом, ваш псевдоним не затеняет никакую (текущую или будущую) команду

0
ответ дан 22 November 2012 в 16:53

Может помочь такая программа, как xmacro:

 xmacrorec can be used to record mouse and keyboard events on any X11 display.
 .
 xmacroplay can be used to playback recorded events or send any other
 mouse/keyboard events you choose. It is very handy for scripting an
 X display - for example controlling a presentation in mgp or ultrapoint
 from a script, network connection...
 .
 xmacroplay-keys is a script to help use the above.

См. этот вопрос и его ответ для более подробной информации.

0
ответ дан 22 November 2012 в 16:53

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

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