Como você pode reverter a direção do período alternativo no Bash?

10

No Bash, você pode pressionar Alt- .para inserir o último argumento do comando anterior. Se você pressionar várias vezes, ele percorrerá os últimos argumentos de todos os comandos do seu histórico. No entanto, às vezes pressiono muitas vezes e quero reverter a direção do ciclismo e, portanto, avançar. Isso é possível?

(ou seja, se você fizer uma pesquisa inversa com Ctrl- r, poderá alterar as direções com Ctrl- s. Para que serve o analógico Alt- .?)

Sparhawk
fonte

Respostas:

11

Se você fornecer um argumento negativo para Alt- ., ele reverte a direção. A maneira mais fácil de fazer isso (com atalhos de teclado padrão) é Alt- -(equivalente a um argumento de -1).

Então, depois de uma ou mais Alt- .keypresses, pressionando Alt- -fará com que a próxima Alt- .para ir na direção inversa. (Apenas ignore a caixa de diálogo de argumento que aparece quando você pressiona Alt- -.)

rici
fonte
1
Não tenho certeza do que você quer dizer exatamente. Pressionar Alt+ -remove o prompt da linha de comando e o insere (arg: -1). O comando em si é inalterado.
Sparhawk
1
Em seguida, alt. (com -1 arg) avançará.
Ric 12/13/13
Isso é ótimo! Editei a resposta para torná-la um pouco mais clara. O que alt+ -faz exatamente?
Sparhawk
1
@ Sparhawk: como eu disse, alt -produz um argumento -1para o próximo comando readline. Ou, mais precisamente, ele inicia um argumento negativo, portanto alt -, alt` 2produziria um argumento de -2. No caso de alt ., apenas o sinal do argumento importa, e somente se for negativo, alt -é suficiente. (A primeira alt .lida com o seu argumento diferente Consulte o manual do bash..)
rici
Obrigado. Costumo achar man bashum pouco opaco para essas situações, mas acho que ficou mais claro aqui.
Sparhawk 14/05