Lo hago Ctrl+W
en la terminal de Mac para eliminar una palabra (elimina desde donde se encuentra el cursor al comienzo de la palabra)
¿Cómo hago lo contrario: elimina desde donde está el cursor hasta el final de la palabra?
Esto depende de su shell y su modo de edición de línea de comando activo.
Para un shell con el modo de edición de línea de comandos de Emacs ( set -o emacs
en algunos shells), use Alt+D(esto no funciona en macOS por cualquier razón, pero imprime el carácter ∂
, use Escden su lugar).
Para un depósito con el modo de línea de comandos de edición Vi ( set -o vi
en algunas conchas), uso Escdw(esto lo hace el trabajo en MacOS también).
bash
envi
el modo, se puede utilizardW
para eliminar losPara la disciplina de línea tty,
^W
elimina la palabra delimitada por espacios en blanco anterior .En el
vi
editor en modo de inserción,^W
elimina hacia atrás al inicio de la primera secuencia de alnums o no alnums (activadofoo-+-bar.. baz
, primero eliminabaz
, luego..
, luegobar
, luego-+-
, luegofoo
).En el
emacs
editor,^W
elimina de la posición del cursor a la marca (la que configuró con Ctrl+Space).Algunos editores de línea como
readline
(usado porbash
,gdb
...),zle
(usado porzsh
),pdksh
cuando están envi
modo, se comportan comovi
en ese sentido y cuando están enemacs
modo se comportan como la disciplina de línea tty (noemacs
).libedit
(utilizado por shells BSD u (opcionalmente)dash
),tcsh
AT&Tksh
, enemacs
modo, se comportan comoemacs
donde se^W
borran a la marca (inicialmente al comienzo del búfer).Para eliminar una palabra hacia adelante, en el
vi
editor, lo haría en modo comando ( normal ) condw
para eliminar al comienzo de la siguiente secuencia de alnums o no alnums (o al final de la línea) ydW
eliminar al siguiente secuencia de no espacios en blanco (el colgante de la^W
disciplina tty line).En el
emacs
editor de líneas, Meta-Deliminaría hasta el final de la siguiente secuencia de caracteres alnum. La palabra operadores de movimiento ( Meta-B, Meta-F) se comportan de manera similar.los editores de línea de comandos, cuando están en
vi
modo, se comportan comovi
, pero enemacs
modo, tienes dos escuelas principales: latcsh
escuela y laksh
escuela.La
ksh
escuela (readline
,ksh
,yash
) se comporta igual que la mayoríaemacs
(fish
el comportamiento 's es ligeramente diferente en la forma en que trata a no alnum, caracteres no está en blanco tantoemacs
yvi
modo).En la
tcsh
escuela (tcsh
,libedit
,zsh
), los movimientos de palabras se basan en palabras delimitadas por espacio de manera son consistentes con la línea TTY de la disciplina^W
en ese sentido.En
zsh
, el comportamiento es personalizable con diferentes estilos de palabras para todos los widgets de movimiento de palabras.Para
readline
, puede obtener latcsh
escuela (y Meta-Deliminar el mismo tipo de palabra que lo Ctrl-Whace) agregando a su~/.inputrc
:O, por otro lado, alinee
^W
a los otros widgets de movimiento de palabras (se comportan como Meta-Backscape) con:En cuanto a cuál es la Metaclave, ver allí .
fuente
En Linux intente
Ctrl+k
eliminar desde donde está el cursor hasta el final de la palabra.Hay algunos otros atajos enumerados a continuación (trabajando en Linux):
Ctrl+e
-> Toma el cursor al final de la palabra.Ctrl+t
-> Intercambia la posición de los alfabetos.Ctrl+y
-> agrega postfix "hh" a la palabra actual.Ctrl+u
-> Elimina toda la línea.Ctrl+o
-> Funciona igual que la tecla Intro.Ctrl+p
-> Funciona igual que el botón de flecha hacia arriba.Ctrl+a
-> Lleva el cursor a la posición inicial del comando.Ctrl+d
-> Cierra la terminal.Ctrl+f
-> Mueve el cursor hacia adelante por un personaje.Ctrl+h
-> Funciona igual que la tecla Retroceso.Ctrl+j
-> Funciona igual que la tecla Intro.Ctrl+m
-> Funciona igual que la tecla Intro.Ctrl+b
-> Funciona igual que la tecla de flecha derecha. 14Ctrl+4
-> elimina la palabrafuente
Ctrl+k
elimina al final de la línea .Ctrl+u
elimina toda la línea (si el cursor está al final).Ctrl+d
envía EOF.Ctrl+e
va al final de la línea , etc.