Para ir para a palavra anterior em uma linha de comando, uso Alt + b
. No entanto, os nomes dos meus arquivos são bem longos e se parecem com isso:
2018_09_03_abcdef_ghijkl_mnopqr_stuvwx_yz.txt
Quando eu quero mudar o nome desses arquivos, eu uso o comando mv e um atalho ** que me permite colar a primeira palavra / argumento (o nome atual do arquivo). Isso me dá o seguinte comando:
$ mv 2018_09_03_abcdef_ghijkl_mnopqr_stuvwx_yz.txt 2018_09_03_abcdef_ghijkl_mnopqr_stuvwx_yz.txt
Em seguida, quero alterar a data do dia e / ou as primeiras letras do nome do arquivo para obter, por exemplo, a linha de comando final:
$ mv 2018_09_03_abcdef_ghijkl_mnopqr_stuvwx_yz.txt 2018_09_04_ABcd1234_ghijkl_mnopqr_stuvwx_yz.txt
Para fazer a alteração no início do nome do arquivo, eu tenho que digitar o atalho Alt + b
várias vezes, já que este atalho considera cada letra separada por um sublinhado como uma palavra.
Eu gostaria de poder pular diretamente para o início do nome (não o começo da linha) para modificá-lo. Um atalho visando o espaço em branco seria ideal.
Não consegui encontrar um atalho que pule os sublinhados e vá diretamente para o espaço em branco anterior.
Alguém já criou um atalho no bash que permite fazer isso?
A única maneira possível de conseguir isso seria mudar do modo emacs para o modo vi ( set -o vi
) e usar o atalho vi: F
+ space
?
Muito obrigado antecipadamente!
** O atalho que encontrei para colar a palavra anterior na linha de comando atual e colá-la na mesma linha de comando atual usa Alt + j
e deve ser adicionado no arquivo '~ / .inputrc' (seguido por bind -f ~/.inputrc
):
"\ej":"!#:$\e^"
Tags bash