Eu faço Ctrl+W
no terminal mac para excluir uma palavra (exclui de onde o cursor está no início da palavra)
Como faço o contrário - exclui de onde está o cursor até o final da palavra?
Isso depende do seu shell e do modo ativo de edição da linha de comando.
Para um shell com o modo de edição de linha de comando do Emacs ( set -o emacs
em alguns shells), use Alt+D(isso não funciona no macOS por qualquer motivo, mas imprime o caractere ∂
, use-o Escd).
Para um shell com o modo de edição de linha de comando do Vi ( set -o vi
em alguns shells), use Escdw(isso também funciona no macOS).
bash
novi
modo, você pode usardW
para eliminar aquelesPara a disciplina tty line,
^W
exclui a palavra anterior delimitada por espaço em branco .No
vi
editor no modo de inserção,^W
exclui para trás o início da primeira sequência de alnums ou não-alnums (ativadofoo-+-bar.. baz
, ele exclui primeirobaz
, depois..
, depoisbar
e-+-
depoisfoo
).No
emacs
editor,^W
exclui da posição do cursor até a marca (a que você definiu Ctrl+Space).Alguns editores de linha como
readline
(usado porbash
,gdb
...),zle
(usado porzsh
),pdksh
são quando novi
modo, se comportam comovi
nesse sentido e quando noemacs
modo se comportam como a disciplina da linha tty (nãoemacs
).libedit
(usado pelos shells BSD ou (opcionalmente)dash
),tcsh
AT&Tksh
, noemacs
modo, se comporta comoemacs
onde é^W
excluído da marca (inicialmente no início do buffer).Para excluir uma palavra para a frente, no
vi
editor, você faria isso no modo de comando ( normal ) comdw
para excluir o início da próxima sequência de alnums ou não-alnums (ou o final da linha) edW
excluir o próxima sequência de não espaços em branco (o pingente da^W
disciplina tty line).No
emacs
editor de linha, excluiria Meta-Daté o final da próxima sequência de caracteres de alnum. A palavra operadores de movimento ( Meta-B, Meta-F) se comporta de maneira semelhante.Os editores de linha de comando, quando no
vi
modo, se comportam comovi
, mas noemacs
modo, você tem duas escolas principais: atcsh
escola e aksh
escola.A
ksh
escola (readline
,ksh
,yash
) se comporta principalmente comoemacs
(fish
's comportamento é ligeiramente diferente na forma como ele trata não alnum, caracteres não-espaço em branco em ambasemacs
evi
mode).Na
tcsh
escola (tcsh
,libedit
,zsh
), movimentos de palavras são baseadas em palavras delimitados por espaços e por isso são consistentes com a tty linha disciplina^W
da 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 atcsh
escola (e Meta-Dexcluir o mesmo tipo de palavra que o Ctrl-Wfaz) adicionando ao seu~/.inputrc
:Ou, por outro lado, alinhe
^W
aos outros widgets de movimento de palavras (se comportam como Meta-Backscape) com:Quanto à Metachave, veja lá .
fonte
No Linux, tente
Ctrl+k
excluir de onde o cursor está até o final da palavra.Existem alguns outros atalhos listados abaixo (trabalhando no Linux):
Ctrl+e
-> Pega o cursor no final da palavra.Ctrl+t
-> Inter-mudar a posição dos alfabetos.Ctrl+y
-> adiciona o postfix "hh" à palavra atual.Ctrl+u
-> Exclui toda a linha.Ctrl+o
-> Funciona da mesma forma que a tecla Enter.Ctrl+p
-> Funciona da mesma forma que o botão de seta para cima.Ctrl+a
-> Traz o cursor para a posição inicial do comando.Ctrl+d
-> Fecha o terminal.Ctrl+f
-> Move o cursor para frente em um caractere.Ctrl+h
-> Funciona da mesma forma que a tecla Backspace.Ctrl+j
-> Funciona da mesma forma que a tecla Enter.Ctrl+m
-> Funciona da mesma forma que a tecla Enter.Ctrl+b
-> Funciona da mesma forma que a tecla de seta para a direita. 14Ctrl+4
-> Exclui a palavrafonte
Ctrl+k
exclui até o final da linha .Ctrl+u
exclui a linha inteira (se o cursor estiver no final).Ctrl+d
envia EOF.Ctrl+e
vai para o final da linha , etc.