Tentei mapeá-lo em Preferências -> Configurações -> Teclado, mas a caixa de combinação "tecla" possui apenas "exclusão direta", mas nenhuma "exclusão". Meu teclado, por outro lado, possui apenas "exclusão" e nenhuma "exclusão direta"!
Existe alguma outra maneira de fazer isso, exceto pelas preferências?
Respostas:
Ativar chave de opção como meta-chave
Terminal
>Preferences
>Profiles
>Keyboard
Use option key as meta key
.Imagem
No macOS High Sierra 10.13.6, capturado em 23 de outubro de 2018.
Notas
Muitos aplicativos (incluindo bash e tcsh) tratam o Meta-Delete como "palavra de exclusão reversa".
fonte
{
, porque isso não funcionará quando a tecla de opção for usada como meta-chave.O terminal do OS X executa o bash, que inclui suporte à linha de leitura. Siga o conselho da Glomek e diga ao terminal para usar a opção como meta-chave (ou então use Esc) e então você terá várias opções úteis: Ctrl+ wexclui a palavra anterior (como o Meta + exclui conforme mencionado), mas você também pode usar o Meta + f e Meta + b para avançar e retroceder através das palavras, Ctrl+ ae Ctrl+ epara o início e o fim da linha, Ctrl+ kexcluir (matar) do cursor até o final da linha e muito mais.
Consulte http://www.bigsmoke.us/readline/shortcuts para obter uma pequena e agradável tabela de referência.
fonte
delete
com qualificadores para excluir palavras.cat .git/refs/heads
, Ctrl-w resulta emcat
. Meta + excluir resultados emcat .git/refs/
Exclua uma palavra retornando:
Ctr-w.
fonte
cat .git/refs/heads
, Ctrl-w resulta emcat
. Meta + excluir resultados emcat .git/refs/
Por padrão, o meta backspace faz uma palavra inversa puxar na maioria dos shells. Se você pressionar escape e depois pressionar backspace, isso funcionará praticamente em todos os lugares.
fonte
<Esc> b
e<Esc> f
também trabalho para voltar ou avançar uma palavra.⌃W
(controle + W) não é a mesma coisa que meta + delete (ESC + delete se você não tiver marcado a opção de uso como tecla-meta) meta + delete tratará/ _
como delimitador de palavras, onde^W
considerará o espaço como delimitador.por exemplo, usando ESC + Bakcspace (cursor no final)
dá
enquanto ^ W no mesmo dará
Portanto, é melhor usar \ 033 \ 177 em vez de ^ W ao definir a modificação do perfil do terminal. Dessa forma, você está realmente mapeando ⌥⌫ para o que esc⌫ está fazendo e continua tendo ^ W para apagar as palavras com base no delimitador de espaço.
Eu adoraria poder postar uma imagem de como fazer isso, mas como iniciantes não posso.
consulte o comentário bouke para ver como modificar o perfil do terminal.
fonte
iterm2
, você pode ir em Preferências> Chaves> adicionar o Mapeamento de Chaves⌥⌫
para enviar códigos hexadecimais0x1B 0x7F
. Q\033\177
é isso que deseja "excluir parte de uma palavra"?No perfil do seu terminal, você pode vincular ⌥⌫ (opção + excluir) a ⌃W (controle + W), para que funcione de maneira semelhante a outros aplicativos.
fonte
Atalhos de edição de comandos
Ctrl + a - vá para o início da linha de comando
Ctrl + e - vá para o final da linha de comando
Ctrl + k - excluir do cursor até o final da linha de comando
Ctrl + u - exclui do cursor até o início da linha de comando
Ctrl + w - excluir do cursor para o início da palavra (ou seja, excluir uma palavra para trás)
Ctrl + y - cole a palavra ou o texto que foi cortado usando um dos atalhos de exclusão (como o acima) após o cursor
Ctrl + xx - move entre o início da linha de comando e a posição atual do cursor (e vice-versa)
Alt + b - recua uma palavra (ou vá para o início da palavra em que o cursor está ativado)
Alt + f - avança uma palavra (ou vai para o final da palavra em que o cursor está ativado)
Alt + d - excluir para o final da palavra começando no cursor (palavra inteira se o cursor estiver no início da palavra)
Alt + c - coloque em maiúscula no final da palavra começando no cursor (palavra inteira se o cursor estiver no início da palavra)
Alt + u - faz maiúsculas do cursor até o final da palavra
Alt + l - faz minúsculas do cursor até o final da palavra
Alt + t - troca a palavra atual pela anterior
Ctrl + f - avança um caractere
Ctrl + b - retrocede um caractere
Ctrl + d - exclui caracteres sob o cursor
Ctrl + h - exclui o caractere antes do cursor
Ctrl + t - troca o caractere sob o cursor pelo anterior
Atalhos de Recuperação de Comando
Ctrl + r - pesquisa o histórico para trás
Ctrl + g - escape do modo de pesquisa de histórico
Ctrl + p - comando anterior no histórico (ou seja, retornar ao histórico de comandos)
Ctrl + n - próximo comando no histórico (ou seja, avançar no histórico de comandos). - use a última palavra do comando anterior
Atalhos de controle de comando
Ctrl + l - limpa a tela
Ctrl + s - interrompe a saída da tela (para comando detalhado de longa duração)
Ctrl + q - permite saída para a tela (se anteriormente interrompida usando o comando acima)
Ctrl + c - finaliza o comando
Ctrl + z - suspender / parar o comando
Comandos do Bash Bang (!) O Bash também possui alguns recursos úteis que usam o! (bang) para permitir que você faça coisas divertidas com os comandos do bash.
!! - execute o último comando! Blah - execute o comando mais recente que começa com 'blah' (por exemplo! Ls)
! blah: p - imprima o comando que o! blah executaria (também o adiciona como o comando mais recente no histórico de comandos)
! $ - a última palavra do comando anterior (o mesmo que Alt +.)
! $: p - imprima a palavra que! $ substituirá
! * - o comando anterior, exceto a última palavra (por exemplo, se você digitar '_find somefile.txt /', então! * Daria a você '_find somefile.txt')
! : p - imprima o que! substituiria
fonte
Com a
Natural Text Editing
predefinição ativada em Perfil -> Chaves. Você pode simplesmente remover a palavraalt + delete
fn + alt + delete
fonte