Para a disciplina de linha tty, ^W
exclui a palavra delimitada por espaço em branco anterior.
No editor vi
no modo de inserção, ^W
é excluído para o início da primeira seqüência de alnums ou não-alnums (em foo-+-bar.. baz
, ele primeiro exclui baz
, depois ..
, em seguida bar
, depois -+-
, depois foo
).
No editor emacs
, ^W
apaga da posição do cursor para a marca (aquela que você definiu com Ctrl + Espaço ).
Alguns editores de linha como readline
(usado por bash
, gdb
...), zle
(usado por zsh
), pdksh
quando estão no modo vi
, se comportam como vi
a esse respeito e quando no modo emacs
se comportam como a disciplina de linha tty (não emacs
).
libedit
(usado por shells BSD ou (opcionalmente) dash
), tcsh
, AT & T ksh
, no modo emacs
, comporta-se como emacs
em que ^W
é excluído do < em> mark (inicialmente no início do buffer).
Para deletar uma palavra para frente, no editor vi
, você faria no modo ( normal ) com dw
para apagar até o começo da próxima seqüência de alnums ou não-alnums (ou o fim da linha) e dW
para excluir a próxima sequência de não-brancos (o pingente da ^W
da disciplina de linha tty).
No editor de linha emacs
, Meta-D excluiria o fim da próxima seqüência de caracteres alnum. Os operadores de movimento de palavras ( Meta-B , Meta-F ) se comportam de maneira semelhante.
editores de linha de comando, quando no modo vi
, se comportam como vi
, mas no modo emacs
, você tem duas escolas principais: a tcsh
school e a ksh
school.
O ksh
school ( readline
, ksh
, yash
) se comporta principalmente como emacs
( fish
tem um comportamento ligeiramente diferente no tratamento de caracteres não-alnum e não brancos em emacs
e vi
mode).
Na tcsh
school ( tcsh
, libedit
, zsh
), os movimentos das palavras baseiam-se em palavras delimitadas por espaço em branco, portanto, são consistentes com a disciplina de linha tty ^W
a esse respeito.
Em zsh
, o comportamento é personalizável com diferentes estilos de palavras para todos os widgets de movimento de palavras.
Para readline
, você pode obter a tcsh
school (e ter Meta-D para excluir o mesmo tipo de palavra que Ctrl-W ) adicionando para o seu ~/.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
Ou, por outro lado, alinhe ^W
com os outros widgets de movimento de palavra (se comportem como Meta-Backscape ) com:
set keymap emacs
"\C-W": backward-kill-word
Quanto ao que é a chave Meta , veja lá .