Существует ли решение для назначения специальных комбинаций клавиш для слов в терминальном использовании. Например, команда less очень полезна, и я много использую ее, чтобы передать через нее вывод другого процесса.
Идея заключалась бы в том, чтобы установить специальные комбинации клавиш, которые активны только при использовании терминала, назначенного для написания различных команд? Таким образом, нажатие Ctrl kbd> + L kbd> в окне терминала может написать
| less
или Ctrl kbd> + G kbd > может означать
| grep
Примечание: я просто имею в виду добавление букв в командную строку, а не выполнение в конце. Похожий способ, что табуляции, но более конкретный.
Да, вы можете использовать команду bind
bind '"\ey"':"\"less \C-m\""
, которая отображает Alt-e на команду less и выполняет ее (с помощью \ Cm aka Ctrl-m)
Вероятно, для | Вы должны избежать этого.
bind '"\ey"':"\"\|less \C-m\""
Если вы хотите просто добавить его в командную строку, удалите * \ Cm \ ""
Будьте осторожны, поскольку уже определены некоторые привязки:
Ctrl + A Go to the beginning of the line you are currently typing on
Ctrl + E Go to the end of the line you are currently typing on
Ctrl + L Clears the Screen, similar to the clear command
Ctrl + U Clears the line before the cursor position. If you are at the end of the line, clears the entire line.
Ctrl + H Same as backspace
Ctrl + R Let’s you search through previously used commands
Ctrl + C Kill whatever you are running
Ctrl + D Exit the current shell
Ctrl + Z Puts whatever you are running into a suspended background process. fg restores it.
Ctrl + W Delete the word before the cursor
Ctrl + K Clear the line after the cursor
Ctrl + T Swap the last two characters before the cursor
Esc + T Swap the last two words before the cursor
Alt + F Move cursor forward one word on the current line
Alt + B Move cursor backward one word on the current line
Tab Auto-complete files and folder names
Клавиша Control, как вы можете видеть выше, создается с помощью Cm, поэтому вы можете запустить команду less с помощью Ctrl-g следующим образом:
bind '"\ Cg"': "\" \ | less * \ Cm \ ""
Чтобы получить коды клавиш для Alt (только для ALT), вы можете использовать команду чтения из оболочки:
@~$ read
^[y
^ [y is равно \ ey
Для получения дополнительной информации на этот вопрос также ответили в stackoverflow:
https://stackoverflow.com/questions/4119991/bash-call-script-with -Customized-клавиатура-ярлыков