Ctrl + A deve funcionar. Ctrl + E corresponde ao final da linha de comando.
Ao escrever um longo comando na linha de comando * nix e ter que voltar ao primeiro caractere, para adicionar algo no começo (por exemplo, um nohup
, quando você perceber que o processo será longo , ou um sudo
, quando você percebe que precisa de permissões de root) pode levar muito tempo para o cursor retornar ao primeiro caractere ...
Existe um atalho que permite que você pule direto para lá?
Estou usando um mac, então Início não é uma opção
Isso depende do shell em questão.
Algumas conchas (como AT & T ksh88) praticamente não oferecem edição de linha de entrada.
Em shells implementando a edição do modo vi
(você pode ter que habilitar isso com set -o vi
), isso é feito pressionando Esc (para mudar do modo de inserção) seguido por 0 para pular para o início da linha ou $ para pular para o final da linha. Em seguida, entre novamente no modo de inserção pressionando i - o cursor permanecerá onde está - ou a - o cursor moverá um para a direita para acrescentar texto.
vi
foi recentemente solicitada pelo padrão POSIX.
A edição do muito mais comum emacs
(graças a Deus, não tem nada a ver com o sistema operacional-slash editor-slash) usa Ctrl-A para pular para o início da linha e Ctrl-E para pular para o final da linha. Este modo requer que você execute set -o emacs
em muitos shells (mais proeminentemente AT & T ksh93), mas está ativado por padrão em mksh e bash do GNU.
A maioria dos shells modernos suportam os modos emacs
e vi
. (Ambos os modos requerem um tty para trabalhar.)
Em muitos shells, você pode personalizar atalhos de teclado; geralmente para o modo emacs
, embora alguns shells também permitam personalizar o atalho para o modo vi
. Se você tem uma chave que você preferiria ter este limite, primeiro você precisa descobrir as seqüências de teclas que produz (por exemplo, no meu sistema, Alt-CursorLeft produz Esc + [+ 1 +; + 3 + D ( ^[[1;3D
; ^X
é Ctrl-X e ^[
é Esc ), então eu posso digitar algo como
bind '^[[1;3D=beginning-of-line'
bind '"\e[1;3D":beginning-of-line'
e terá essa ligação de teclas alterada, dependendo do shell. Geralmente, você pode persistir no arquivo de inicialização ( ~/.mkshrc
, ~/.kshrc
) ou, para o GNU bash, em ~/.inputrc
. Note que nem todos os shells suportam bindind todas as chaves em todas as versões.
Geralmente, você pode descobrir quais caracteres uma chave gera apenas executando cat
no shell, digitando a tecla e assistindo. Em seguida, pressione ^C
( Ctrl-C ) para abortar cat
.
Se você tiver mudado para o modo vi
, usando set -o vi
, você pode pressionar Esc e I ou A para insira texto no início ou no final da linha. Ou se você está apenas olhando para mover o cursor, é ^ e $ .
No modo emacs (alterado por: set -o emacs
) é pressionando:
No modo vi (comutado por: set -o vi
) quando no modo de comando ( Esc ) é pressionando:
Veja também:
Você já tentou a tecla Home? Eu uso o MobXterm para conectar a caixa Linux e usar as teclas Home e End no teclado para ir para o primeiro ou último caractere do comando.