En el modo bash emacs, ¿hay alguna forma de eliminarlo hasta el carácter de barra diagonal anterior? Por ejemplo, si ingresé el comando cp /usr/local/bin/reallylongincorrectfolder /home/myname/reallylong_and_correct_path
y solo quiero eliminar el reallylongincorrectfolder
. ¿Hay algún acceso directo? Este es un escenario muy comandante para mí en bash. Algo como dF<char>
en vi?
15
~/.inputrc
, añadir una línea como esta en el archivo:"\C-b": unix-filename-rubout
. Para ver el efecto, deberá iniciar un nuevo shell bash (o ejecutar algún otro programa que use la biblioteca de línea de lectura GNU).Alt- Backspacey Ctrl- wcomúnmente se asignan a
backward-kill-word
, lo que hace eso. Si desea averiguar a qué está asignado en su sistema (si corresponde), ejecutebind -P | grep '^backward-kill-word'
.Según lo explicado por @Barmar , esto es diferente de
unix-word-rubout
, lo que lleva al límite de espacio anterior.fuente
unix-word-rubout
: matar la palabra detrás del punto, utilizando espacios en blanco como límite de la palabra.unix-filename-rubout
es un poco mejor, ya que se detendrá en el espacio en blanco y se reducirá.Pon esto en tu
.inputrc
y comienza un nuevo shell:C-b:unix-filename-rubout
Ctrl- bahora borra hacia atrás a la siguiente barra inclinada.
¡Nirvana!
No se olvide Ctrl- XCtrl- Epondrá en marcha su editor para que pueda editar una línea de comandos complicados cómodamente.
fuente