Bash Vi-mode: Volta para a última barra

2

Estou usando o Bash no modo vi com set -o vi .

Geralmente, executo novamente um comando, mas preciso alterar o nome de um arquivo no mesmo diretório.

Exemplo:

mv /tmp/myfileA.txt /home/daniel/myfileA.txt

Então, decido também mover outro arquivo:

mv /tmp/w00t.txt /home/daniel/w00t.txt

Geralmente, pressiono a tecla de seta para cima para obter o último comando e pressiono b até chegar ao último caractere de barra e, em seguida, inserir o novo nome de arquivo. Desde que eu faço isso com muita freqüência, eu estou querendo saber se existe uma maneira fácil de obter o cursor logo após ou no último caractere de barra.

Por favor, note o acima é apenas um exemplo; Eu sei que eu poderia fazer algo como mv /tmp/{myfileA,w00t}.txt ... , mas muitas vezes eu simplesmente digito mais rápido do que eu penso: -)

    
por Daniel 25.11.2012 / 21:50

2 respostas

2

T/ coloca o cursor depois do último caractere / , portanto:

Acima Esc c Deslocamento + T / w00t.txt Digite

ou, para substituir apenas a primeira palavra no nome do arquivo:

Acima Esc Deslocamento + T / c w w00t Digite

ou, se houver várias palavras antes da extensão e você quiser manter a extensão:

Acima Esc Deslocamento + T / c t . w00t Digite

Alternativamente, com a expansão do histórico:

!!:h/w00t.txt
    
por 25.11.2012 / 22:09
1

Escapar

Deslocamento f

/

  • Escape coloca você no modo de edição

  • Desloca f Procura para trás pelo padrão:

  • /

Você pode então executar várias opções diferentes:

  • Controle k : apaga até o final da linha

  • d f / : o mesmo

i Coloca você de volta no modo de inserção ...

    
por 25.11.2012 / 22:02

Tags