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- .?)

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- -.)


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.