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?
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?
Respuestas:
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).
Para 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 (activado foo-+-bar.. baz
, primero elimina baz
, luego ..
, luego bar
, luego -+-
, luego foo
).
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 por bash
, gdb
...), zle
(usado por zsh
), pdksh
cuando están en vi
modo, se comportan como vi
en ese sentido y cuando están en emacs
modo se comportan como la disciplina de línea tty (no emacs
).
libedit
(utilizado por shells BSD u (opcionalmente) dash
), tcsh
AT&T ksh
, en emacs
modo, se comportan como emacs
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 ) con dw
para eliminar al comienzo de la siguiente secuencia de alnums o no alnums (o al final de la línea) y dW
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 como vi
, pero en emacs
modo, tienes dos escuelas principales: la tcsh
escuela y la ksh
escuela.
La ksh
escuela ( readline
, ksh
, yash
) se comporta igual que la mayoría emacs
( fish
el comportamiento 's es ligeramente diferente en la forma en que trata a no alnum, caracteres no está en blanco tanto emacs
y vi
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 la tcsh
escuela (y Meta-Deliminar el mismo tipo de palabra que lo Ctrl-Whace) agregando a su ~/.inputrc
:
set keymap vi-move
"\e[EMACS~": emacs-editing-mode
set keymap emacs
"\e[VI~": vi-movement-mode
"\ed": "\e[VI~dW\e[EMACS~"
"\ef": vi-fWord
"\eb": vi-bWord
O, por otro lado, alinee ^W
a los otros widgets de movimiento de palabras (se comportan como Meta-Backscape) con:
set keymap emacs
"\C-W": backward-kill-word
En cuanto a cuál es la Metaclave, ver allí .
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. 14 Ctrl+4
-> elimina la palabraCtrl+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.
bash
envi
el modo, se puede utilizardW
para eliminar los