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á .