Esiste un collegamento in bash per eliminare l'ultimo segmento di un percorso?


10

Sono diventato abbastanza abile con una serie di tasti scorciatoia bash che rendono il mio bash più veloce: Ca / Ce, Cu, Cw, Mf / Mb, Cr ecc. Un'attività comune per la quale non ho trovato una buona scorciatoia è quando voglio eliminare l'ultimo segmento di un percorso:

Di 'che ho

ls ~/projects/arcaneweb/libraries

e capisco che intendevo davvero

ls ~/projects/arcaneweb/sources

C'è un modo per eliminare semplicemente libraries, salvando un carico di sequenze di tasti?


1
Stai chiedendo di bash, quindi sto postando questo come un commento invece che una risposta: in zsh puoi ottenere ciò che vuoi impostando la WORDCHARSvariabile env: WORDCHARS=${WORDCHARS//[-\/]}(rimuove - e / dall'essere parte di una "parola"). Lo trovo molto utile, quindi ho pensato di condividerlo.
James O'Gorman,

Di solito premo solo M-Backspaceripetutamente fino a raggiungere l'effetto desiderato.
jw013,

Risposte:


21

Una singola scorciatoia: M-backspace

Alt + ←      


1
Wow, è così ovvio! Immagino di aver sempre pensato che sarebbe stato lo stesso di Cw per qualche motivo.
davidtbernal,

1
In zsh, potrebbe essere necessario aggiungere bindkey "^[^?" vi-backward-kill-wordal tuo .zshrc.
Juliano,

6

C'è un'opzione di sostituzione, ma non sono sicuro che salverebbe i tasti a meno che il percorso non sia lungo.

^ ^ Abc xyz

Questo sostituirà la prima occorrenza di abc con 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

Riferimento scorciatoia Bash: http://www.skorks.com/2009/09/bash-shortcuts-for-ma maximum-productivity/


1
Oh, è fantastico. Non eccezionale per questo particolare caso d'uso, ma sicuramente sarà utile altrove.

5

Mb, Ck è il più veloce che ho trovato, reso un po 'meno quindi a causa della necessità di utilizzare ESC come Meta. Se hai Alt / Opzione associato come Meta, questo sarebbe ragionevolmente veloce una volta sviluppata la memoria muscolare per questo.


L'opzione vincolante per meta è la prima cosa che faccio quando installo il mio terminale :). Mb, Ck è abbastanza buono, penso di potermi abituare.

1
c'è anche Mb, Md ma tutti quelli sono per i keybind di emacs, c'è anche vi-mode
Samus_
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.