Preciso adicionar algumas coisas ao meu inputrc. Estou usando o bash 4, como sistema operacional estou usando debian e OSX. Meus emuladores de terminal são rxvt-unicode-256 no debian e Terminal.app no OSX. Meu novo macbook não tem teclas Insert/Delete, Home/End, PgUp/PgDown...
Você poderia me dizer a tecla "Shift-Space"? Estou tentando vincular isso ao menu completo para trás. Shift-Tab completa o menu, o pressionamento de tecla para isso é "\e[Z".
"\e[Z": menu-complete
"(Shift-Space)": "\e-1\C-i"
Então eu gostaria de poder subir/descer a página no meu terminal. Não tenho certeza, como dizer isso. Por exemplo, no irssi, gostaria de rolar para cima/para baixo no registro do meu canal. As chaves "PgUp"/"PgDn" fazem isso, mas não tenho essas chaves no meu macbook. Então, eu gostaria de uma alternativa, como talvez "Shift-ArrowKeyUp" e "Shift-ArrowKeyDown". Além disso, não conheço os comandos do inputrc, que devo vincular a esse pressionamento de tecla.
O mesmo para as teclas "Home"/"End", que devem ir para o início/fim da linha. Eu gostaria de vincular isso a talvez "Shift-ArrowKeyLeft"/"Shift-ArrowKeyRight".
Muito obrigado pela sua ajuda!
EDITAR: Aqui está meu .inputrc ...http://paste.debian.net/69454/
Responder1
Solução
Antes de começar com minha solução, apenas uma observação rápida aqui. Muitos dos comandos listados acima (como Page Up/Down) não possuem uma .inputrc
variável. Eles também já possuem atalhos correspondentes (veja abaixo). Portanto, se quiser usar um atalho diferente, você terá que remapear o item de menu para um novo.
Para Mac OS
Atalhos
Em primeiro lugar, o terminal Mac OS possui um atalho de teclado integrado para rolar a página para cima e para baixo: Command+ ArrowKeyUpou Command+ ArrowKeyDown. Abaixo está uma tabela rápida destacando alguns dos comandos do menu e seus atalhos correspondentes no Terminal Mac:
| Function | Shortcut |
+-------------------------+------------------------+
| Page Up | Command + Up |
+-------------------------+------------------------+
| Page Down | Command + Down |
+-------------------------+------------------------+
| Line Up | Shift + Command + Up |
+-------------------------+------------------------+
| Line Down | Shift + Command + Down |
+-------------------------+------------------------+
| Go to beginning of line | Control + A |
+-------------------------+------------------------+
| Go to end of line | Control + B |
+-------------------------+------------------------+
Novos atalhos
Se não quiser usar os atalhos integrados, você terá que criar novos. Existem várias maneiras de fazer isso, mas acho que usar a GUI (em vez da CLI) é mais fácil nessa situação. No Mac OS, abra System Preferences
, vá para a Keyboard
seção e, por fim, clique em abrir a Shortcuts
guia:
Na barra lateral, clique na App Shortcuts
guia. Abaixo você encontrará um +
botão. Clique nele e o seguinte aparecerá:
Escolha Terminal no menu suspenso e digite o item de menu e o atalho de teclado que deseja mapear para ele. Abaixo está um exemplo de mapeamento Page Up
para Shift+ ArrowKeyUp:
Para Debian
Atalhos
Assim como o Mac OS, o Debian já possui todos os atalhos que você deseja integrados. Abaixo está outra tabela destacando esses atalhos:
| Function | Shortcut |
+-------------------------+------------------------+
| Page Up | Shift + Up |
+-------------------------+------------------------+
| Page Down | Shift + Down |
+-------------------------+------------------------+
| Line Up | Shift + Control + Up |
+-------------------------+------------------------+
| Line Down | Shift + Control + Down |
+-------------------------+------------------------+
| Go to beginning of line | Control + A |
+-------------------------+------------------------+
| Go to end of line | Control + B |
+-------------------------+------------------------+
Novos atalhos
Para criar um novo atalho no Debian, use a GUI. Abra Settings
, vá para Devices
e então Keyboard
. O seguinte aparecerá:
Role para baixo e clique no +
botão. Uma caixa de diálogo aparecerá com os campos de entrada:
- Nome
- Comando
- Atalho
Preencha-os, clique no Add
botão azul e pronto.