Existe um atalho no bash para excluir o último segmento de um caminho?

8

Eu me tornei bastante proficiente com um número de teclas de atalho bash que tornam meu bash-ing mais rápido: Ca / Ce, Cu, Cw, Mf / Mb, Cr etc. Uma tarefa comum que eu não encontrei um bom atalho para isso é quando eu quero excluir o último segmento de um caminho:

Digamos que eu tenha

ls ~/projects/arcaneweb/libraries

e percebo que realmente quis dizer

ls ~/projects/arcaneweb/sources

Existe uma maneira de excluir apenas libraries , salvando uma carga de pressionamentos de teclas?

    
por davidtbernal 28.12.2011 / 19:58

3 respostas

18

Um único atalho: M-backspace

Alt +

    
por 05.01.2012 / 17:13
5

Existe uma opção de substituição, mas não tenho certeza se realmente salvaria as teclas digitadas, a menos que o caminho fosse longo.

^ abc ^ xyz

Isto irá substituir a primeira ocorrência de abc com xyz.

[root~]# ls -l /var/log/messages
-rw-------  1 root root 850312 Dec 28 14:08 /var/log/messages
[root ~]# ^messages^secure
ls -l /var/log/secure
-rw-------  1 root root 652614 Dec 28 14:08 /var/log/secure

Referência de atalho do Bash: link

    
por 28.12.2011 / 20:12
5

M-b, C-k é o mais rápido que eu encontrei, feito um pouco menos devido à necessidade de usar ESC como Meta. Se você tiver Alt / Option ligado como Meta, isso seria razoavelmente rápido quando você desenvolver a memória muscular para isso.

    
por 28.12.2011 / 20:15

Tags