Além de ^ A e ^ E, você pode fazer
- Esc - b para retornar uma palavra
- Esc - f para avançar uma palavra
- Ctrl - b para mover um caractere para trás
- Ctrl - f para avançar um caractere
Veja o manual do bash para comandos para mover .
Muitas vezes eu me pego escrevendo longos comandos no shell bash - coisas com muitos argumentos, endereços da web, rotas, etc e assim por diante. De vez em quando eu vou perceber que eu esqueci de, digamos, colocar o meu "bundle exec" no início do comando, ou escrever algo errado, ou esquecer aspas. Ou algo tão simples como colocar "cd" em vez de "vim".
Assim começa o tedioso processo de segurar a tecla de seta para a esquerda até eu voltar ao início do comando.
Existe alguma maneira de pular para o começo da linha novamente?
Além de ^ A e ^ E, você pode fazer
Veja o manual do bash para comandos para mover .
Você pode usar os comandos do Emacs, por exemplo:
Isso é bash, não específico para Mac.
set -o vi
Então Esc seguido por
^ início da linha $ fim da linha b uma palavra backword w uma palavra a frente
Isso não responde à sua pergunta, mas pode resolver seu problema em alguns casos.
Em bash
, o !!
token é substituído por seu comando anterior. Então, se você esquecer de adicionar algo ao início de um comando (como sudo
), você pode fazer algo parecido com isto
# ./super_secret_command --with-args
=> ACCESS DENIED
# sudo !!
sudo ./super_secret_command --with-args
=> ACCESS GRANTED
Você pode configurar os atalhos Ctrl/Opt+Left/Right
regulares para uso no Terminal. Dessa forma, você não precisa reaprender tudo quando estiver usando o Terminal.
Abra o Terminal »Preferências…» Configurações »(selecione um perfil)» Teclado .
Lá, atribua os seguintes atalhos:
Control + Cursor Left
: Envia a string 3[1~
para shell
Control + Cursor Right
: Envia a string 3[4~
para shell
Option + Cursor Left
: Envia a string 3[5D
para shell
Option + Cursor Right
: Envia a string 3[5C
para shell
Eu também gosto do seguinte ( Fn + Left/Right
):
Home
: Envie a string 3[1~
para shell End
: Envia a string 3[4~
para shell
Eu precisava disso no Cygwin, não no Mac, mas adicionar o seguinte a ~/.inputrc
também pode ajudar:
"\e[1;5C": forward-word # ctrl + right
"\e[1;5D": backward-word # ctrl + left
Eu não sou usuário de Mac, mas e a tecla Home ? Isso funciona bem em um terminal Linux.
A melhor maneira de percorrer a linha de comando no Mac Os X é usar meu perfil: link
Ele fornece os seguintes atalhos (intuitivos):
ALT-left: move one word backward
ALT-right: move one word forward
CTRL-left: move to the beginning of the line
CTRL-right: move to the end of the line
ALT-backspace: kill one word backward
ALT-del: kill one word forward
ALT-up: set word after cursor to uppercase
ALT-down: set word after cursor to lowercase
home: move to the beginning of the line
end: move to the end of the line
CTRL-backspace: Same as ALT-backspace
CTRL-del: Same as ALT-del