quinta-feira, 10 de março de 2016

Gnu Linux - Atalhos de teclado em Bash

Colaboração: Rubens Queiroz de Almeida
Fonte: www.dicas-l.com.br

Estou listando alguns "stupid bash tricks" que podem ser úteis ou mesmo divertidos :)
Estarei usando a notação do Emacs: C-a significa "segure a tecla Ctrl e aperte a tecla a" M-a significa "Use a tecla Meta junto com a tecla a", em que a tecla Meta pode ser o Alt da esquerda, a tecla de função do windows ao lado dela ou o Esc (nesse último caso, não é preciso manter o Esc apertado enquanto se aperta o "a", basta apertar o Esc e em seguida o "a"). A tecla que responde pela Meta varia com cada configuração de teclado.
Além disso, estou assumindo uma configuração padrão do bash. Há configurações alternativas e configurações customizadas podem ser feitas no arquivo ~/.inputrc . Para mais informações, man bash .=
  C-a : Ir para o começo da linha
  C-e : Ir para o final da linha
  M-f : Andar com o cursor uma palavra para a frente        
  M-b : Andar com o cursor uma palavra para a trás
  C-w : Apagar do cursor até o começo da palavra
  C-u : Apagar do cursor até o começo da linha
  C-k : Apagar do cursos até o final da linha
  C-y : Re-inserir o último trecho apagado com C-u, C-k ou C-w
  C-d : Apaga o caracter sob o cursor (como o "Delete", no DOS e em algumas 
        configurações de teclado no Linux)
  C-h : Apaga o caracter anterior ao cursor. Era o comportamento padrão da
        tecla Delete, até não muito tempo atrás.
  C-t : Inverte o caracter sob o cursor e o imediatamente anterior a ele
        (Para, por exemplo, quando você digitar "celar" ao invés de "clear") 
  C-r : Faz busca incremental para trás no histórico de comandos. 
        Durante uma busca incremental, para se executar o comando exibido na 
        linha, basta usar Enter. Para simplesmente deixar a linha pronta para
        execução ou edição, use Esc. Para cancelar a busca sem utilizar a
        linha que estiver na tela, use C-g.
Você já se sentiu frustrado por ter de digitar
  man make-ssh-known-hosts
E não poder usar o TAB para completar o nome do comando? Bem, em primeiro lugar, o TAB não funciona porque o comando associado a ele ("complete") é sensível a contexto. Ou seja, se você aperta TAB enquanto está digitando a primeira palavra na linha, supõe-se que você esteja digitando um comando e a busca por nomes para completar o que você já digitou é feita na variável PATH. Se a palavra está mais adiante na linha, supõe-se que seja um nome de arquivo e tenta-se completar a palavra com os nomes de arquivo no diretório atual. Bem, há alguns comandos que possibilitam complementação de palavras independentemente de contexto:
  M-/ : Tenta completar assumindo que se trata de um nome de arquivo
  M-~ : Tenta completar assumindo que se trata de um nome de usuário naquela=
        máquina 
  M-@ : Tenta completar assumindo que se trata de um nome de máquina listado 
        em /etc/hosts
  M-! : Tenta completar assumindo que se trata de um comando

Nenhum comentário:

Postar um comentário