¿Hay un acceso directo en bash para eliminar el último segmento de una ruta?

10

Me he vuelto bastante competente con una serie de teclas de acceso directo de bash que hacen que mi golpe sea más rápido: Ca / Ce, Cu, Cw, Mf / Mb, Cr, etc. Sin embargo, una tarea común para la que no he encontrado un buen atajo es cuando quiero eliminar el último segmento de una ruta:

Di que tengo

ls ~/projects/arcaneweb/libraries

y me doy cuenta de que realmente quería decir

ls ~/projects/arcaneweb/sources

¿Hay alguna manera de simplemente eliminar libraries, guardar una carga de teclas?

davidtbernal
fuente
1
Estás preguntando sobre bash, así que estoy publicando esto como un comentario en lugar de una respuesta: en zsh puedes lograr lo que deseas estableciendo la WORDCHARSvariable env: WORDCHARS=${WORDCHARS//[-\/]}(elimina - y / de ser parte de una "palabra"). Esto me parece muy útil, así que pensé en compartirlo.
James O'Gorman
Por lo general, solo golpeo M-Backspacerepetidamente hasta que se alcanza el efecto deseado.
jw013

Respuestas:

21

Un solo atajo: M-backspace

Alt + ←      

olibre
fuente
1
Wow, eso es tan obvio! Supongo que siempre asumí que esto sería lo mismo que Cw por alguna razón.
davidtbernal
1
En zsh, es posible que deba agregar bindkey "^[^?" vi-backward-kill-worda su .zshrc.
Juliano
6

Hay una opción de reemplazo, pero no estoy seguro de que realmente guarde las pulsaciones del teclado a menos que la ruta sea larga.

^ abc ^ xyz

Esto reemplazará la primera aparición de 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

Referencia de acceso directo de Bash: http://www.skorks.com/2009/09/bash-shortcuts-for-maximum-productivity/


fuente
1
Oh eso es asombroso. No es excelente para este caso de uso en particular, pero definitivamente será útil en otros lugares.
5

Mb, Ck es el más rápido que he encontrado, un poco menos debido a la necesidad de usar ESC como Meta. Si tiene Alt / Option enlazado como Meta, esto sería razonablemente rápido una vez que desarrolle la memoria muscular para ello.

Brent Bourgoine
fuente
La opción de vincular a meta es lo primero que hago al configurar mi terminal :). Mb, Ck es bastante bueno, creo que puedo acostumbrarme a eso.
1
también hay Mb, Md, pero todos son para las combinaciones de teclas de emacs, también hay modo vi
Samus_