Existe algum shells unix que suporte o relatório do mouse? [fechadas]

3

Atualmente estou usando o bash no OSX (via iTerm2). Às vezes eu tenho que executar programas com um conjunto muito longo de argumentos de linha de comando. Se eu descobri que eu escrevi errado, demora muito para voltar ao erro e corrigi-lo. Eu sei que alguns programas, como o nano, suportam o relatório do mouse para posicionamento do cursor. Isso é suportado por qualquer shells, ou (melhor ainda) como uma opção para bash?

    
por John Didion 12.08.2011 / 15:38

4 respostas

4

Parece que você se beneficiaria de investir um curto período de tempo no aprendizado alguns atalhos de teclado readline padrão. Observe que user606723 responder acima dá alguns básicos, mas o Home e As teclas Alt + seta não funcionam em todos os terminais. Aqui está um alguns dos que eu acho o seguinte mais útil e que também trabalham em mais terminais.

(Salvo indicação em contrário, "palavra" significa uma cadeia alfanumérica.)

  • Alt-f : vai uma palavra para a frente.
  • Alt-b : retorna uma palavra .
  • Ctrl-a : vai para o começo da linha
  • Ctrl-e : vai para o final da linha
  • Alt-d : deletar ao final da palavra
  • Alt-Backspace : apaga para o início da palavra
  • Ctrl-w : excluir de volta para o espaço em branco
  • Ctrl-y : colar o texto excluído mais recentemente
  • Ctrl-b , Ctrl-f : retrocede / avança um caractere equivalente a à esquerda e à direita
  • Ctrl-h , Ctrl-d : equivalente a Backspace e Apagar , respectivamente.

Eu listo as últimas porque eu as acho mais convenientes do que alcançar o teclas de seta ou delete / backspace. Você pode ver como com esses atalhos básicos você pode fazer um pouco de edição com bastante facilidade. Mas tem mais:

  • Alt -. : gira a última palavra (delimitada por espaços em branco) de as linhas anteriores da história. Usá-lo você recebe o último argumento do comando mais recente que você digitou.
  • Ctrl -_ : desfazer (incremental)
  • Ctrl -] : procura por caractere (como f no vim, mas menos conveniente)
  • Ctrl-r : pesquisa de histórico inversa
  • Alt-0 ... Alt-9 : argumento numérico para o próximo comando. Para Por exemplo, se você quiser excluir 4 palavras: Alt-4 Alt-d . Ou se você precisar de 1024 A na linha de comando por algum motivo: Alt-1 0 2 4 A .
  • Ctrl-u : apaga da posição do cursor para o início da linha
  • Ctrl-k : apaga da posição do cursor para o final da linha

E estes são apenas alguns dos que eu uso - há muitos mais na manpage.

    
por 12.08.2011 / 19:17
3

Eu não sei, mas ...

Expansão do histórico

para repetir o último comando depois de corrigir teh para the

^teh^the^

para repetir o último comando que continha a palavra foo depois de alterar a primeira ocorrência de bar para qax

!?foo?:s/bar/qax/

Edição de linha

você pode usar comandos de edição no estilo emacs para se mover rapidamente pela linha.

Eu prefiro o modo vi set -o vi , o que significa que eu posso usar b e w para mover uma palavra de cada vez e usar f x para mover o cursor para a próxima ocorrência de um caractere específico x .

    
por 12.08.2011 / 16:51
1

O GPM (General Purpose Mouse) é um servidor de mouse para o console e xterm

EDIT: Aparentemente, há também uma versão 2 .

    
por 12.08.2011 / 16:49
0

Esta não é uma resposta, mas é uma solução. Estou enviando-o como uma resposta porque eu preciso do quarto extra.

Você tentou usar uma combinação de Início e Alt + Esquerda

  • Início - Irá para a frente do comando.
  • End - leva ao end do comando.
  • Alt + Esquerda - Levará uma "palavra" para a esquerda.
  • Alt + Direita - Levará uma "palavra" para o direito.

Com estes combos chave, deve ser muito mais fácil voltar ao erro =)

    
por 12.08.2011 / 17:14