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

10

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

Diga que eu tenho

ls ~/projects/arcaneweb/libraries

e percebo que realmente quis dizer

ls ~/projects/arcaneweb/sources

Existe uma maneira de excluir libraries, salvando uma carga de pressionamentos de tecla?

davidtbernal
fonte
1
Você está perguntando sobre o bash, então eu estou postando isso como um comentário em vez de uma resposta: No zsh, você pode realizar o que deseja definindo a WORDCHARSvariável env: WORDCHARS=${WORDCHARS//[-\/]}(remove - e / de fazer parte de uma "palavra"). Acho isso muito útil, então pensei em compartilhar.
James O'Gorman
Eu geralmente bato M-Backspacerepetidamente até que o efeito desejado seja alcançado.
jw013

Respostas:

21

Um único atalho: M-backspace

Alt + ←      

olibre
fonte
1
Uau, isso é tão óbvio! Eu acho que sempre assumi que isso seria o mesmo que Cw por algum motivo.
Davidtbernal
1
No zsh, você pode precisar adicionar bindkey "^[^?" vi-backward-kill-wordao seu .zshrc.
Jul12
6

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

^ abc ^ xyz

Isso substituirá a primeira ocorrência de abc por 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 do atalho do Bash: http://www.skorks.com/2009/09/bash-shortcuts-for-maximum-productivity/


fonte
1
Oh, isso é demais. Não é bom para este caso de uso específico, mas definitivamente será útil em outros lugares.
5

Mb, Ck é o mais rápido que eu encontrei, tornou um pouco menos devido à necessidade de usar ESC como Meta. Se você tiver a opção Alt / Option ligada como Meta, isso seria razoavelmente rápido quando você desenvolver a memória muscular para isso.

Brent Bourgoine
fonte
A opção de ligação ao meta é a primeira coisa que faço ao configurar meu terminal :). Mb, Ck é muito bom, acho que posso me acostumar com isso.
1
há também Mb, Md mas todos esses são os atalhos de teclado Emacs, há também vi-mode
Samus_