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

Если вы используете Debian Jessie (или Ubuntu 13.10+), попробуйте

sudo apt-get install lib32stdc++6

1
задан 22 November 2012 в 18:53

3 ответа

Вместо горячей клавиши, как насчет псевдонимов 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

Last но не в последнюю очередь, также стоит проверить доступность для команд, которые не существуют bash alias , но могут существовать в репозиториях Ubuntu:

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

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

2
ответ дан 25 May 2018 в 04:06
  • 1
    Это очень хороший ответ об псевдонимах, но, увы, я не хочу, чтобы это был псевдоним, в частности, чтобы использовать мой большой палец правой руки. – EpsilonVector 24 November 2012 в 05:11
  • 2
    @EpsilonVector: Я не понимаю, почему CTRL + b будет любым другим, «большим пальцем», чем b + ENTER. Оба являются двумя нажатиями клавиш. Но эй, все, что плавает твоя лодка: P – MestreLion 24 November 2012 в 05:21
  • 3
    Сразу после ввода ничего не изменилось (вам нужно перевести руку вправо, чтобы попасть в / ctrl), но между вводом ctrl находится мой правый большой палец. – EpsilonVector 24 November 2012 в 05:31
  • 4
    @EpsilonVector: кстати ... был git branch просто примером, или вы действительно просто хотите иметь быстрый способ «знать, какая ветка у вас есть»; при использовании терминала и просмотра репозиториев? Потому что есть гораздо лучшие решения для этого, используя PS1 – MestreLion 24 November 2012 в 13:49
  • 5
    Просто пример ... Но PS1 выглядит очень полезно. Спасибо за совет. – EpsilonVector 25 November 2012 в 13:02

Конечно.

Лучший способ:

Создать сценарий с помощью команды, которую вы хотите выполнить. Создайте файл .desktop для этого файла .sh. Назначьте ярлык в этот файл .desktop
0
ответ дан 25 May 2018 в 04:06
  • 1
    Я уверен, что это не то, чего хочет OP. Он хочет выдать команду в своем текущем терминале , как если бы он копировал и вставлял ее. Кроме того, писать 1-строчный скрипт оболочки для файла .desktop глупо: вы можете просто вызвать свою команду непосредственно в файле .desktop – MestreLion 22 November 2012 в 20:13
  • 2
    Кроме того, для конкретной команды git branch такой файл рабочего стола бесполезен, так как он всегда по умолчанию $HOME является его рабочим каталогом, и нет возможности указать файл рабочего стола, где находится репозиторий. – MestreLion 22 November 2012 в 20:31
  • 3
    @MestreLion - причина, по которой я упомянул сценарий в своем ответе. Сценарий может содержать команду cd / path / where / git / resides перед командой git – deshmukh 23 November 2012 в 10:31
  • 4
    @MestreLion, если речь идет о ярлыке для команды в текущем терминале, псевдоним bash будет адекватным – deshmukh 23 November 2012 в 10:32
  • 5
    Сценарий, содержащий путь к конкретному репозиторию git, не намного лучше: он был бы полезен только для одного синхронного репо. – MestreLion 24 November 2012 в 13:45

Программа, такая как 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
ответ дан 25 May 2018 в 04:06

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

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