Se eu abrir uma janela do Terminal e digitar a letra "e" (sem aspas, é claro), ela emitirá um bipe e não digitará a letra. Todas as outras cartas funcionam bem no Terminal. E maiúsculo funciona também. Apenas o minúsculo e não faz.
Em todos os outros aplicativos no meu computador, minúsculas e funciona sem problema, por isso não é um problema de teclado.
Isso começou na última semana. Eu uso muito o Terminal no meu trabalho e isso nunca foi um problema. Eu reiniciei (não consertei). Eu tenho o terminal de reset (não consertei).
Como não sei a data exata em que isso começou, não tenho certeza se fiz alguma alteração ou software instalado. Estou tentando remover qualquer coisa que eu tenha instalado recentemente.
FYI Eu tentei usar o terceiro partido iTerm2 e faz a mesma coisa.
TAMBÉM - se eu colar algo com um e menor, faz a mesma coisa - não vai aguentar. Tem que ser algum problema de configuração bash terminal eu acho.
Na verdade, eu copiei o seguinte sentido e colei no terminal. O que aparece? sns e você pode ouvir dois bipes.
Além disso - caso não esteja claro - isso acontece com o teclado embutido no MBP, bem como com um teclado externo. Com base nisso e no problema de colagem, não acho que isso seja um problema de teclado físico.
Especificações: 2015 MacBook Pro, totalmente atualizado OS X
applescript
pesquisando em destaque e digitandodelay 10
em seguida, pressione voltar e escrevertell application "System Events" to keystroke "e"
exatamente como escrito. Quando o jogo for pressionado, ele esperará 10 segundos e, em seguida, pressionará e por si mesmo. Vá para o terminal antes que o tempo expire e teste-o. Se isso não funcionar, você terá um sério problema interno com o seu computador.cat filnam.txt
onde o arquivo chamadofilnam.txt
contém algum texto ASCII come
?Respostas:
Vamos depurar isso.
$(which zsh)
.bash_profile
,.bashrc
, etc. e abra uma nova guia / janela de terminal. Se isso resolver o problema, algo que está sendo carregado no ambiente do shell está consumindo a letrae
por razões que a ciência pode nunca ser capaz de explicar.cat
ing um arquivo que contém a letrae
para ver se será exibido: (Crédito para @techraf)e
s e salve o arquivo (foo.txt
?)cat
o arquivo:cd /path/to/folder; cat foo.txt
e
s render então o terminal pode lidar com isso, se não, então isso é super estranho.Experimente o applescript. (Crédito para @ALX)
Crie o arquivo Applescript com este conteúdo:
Execute o arquivo de script e navegue rapidamente até a janela do terminal. Em alguns segundos, ele praticamente pressionará o
e
chave e espero aparecer em seu terminal. Isso indicaria que poderia haver um problema de driver de entrada / dispositivo (embora eu não saiba o que isso poderia ser)Eu não vou mentir, eu estou absolutamente fascinado por esta questão e não posso esperar para saber qual é a causa. Não é hardware porque funciona em outras aplicações, o que significa que é software e não consigo imaginar quem iria engolir a carta
e
com código.fonte
Acabei de encontrar este tópico depois de me deparar com o mesmo problema.
.inputrc
Eu tinha 2 linhas em
.inputrc
, adicionado em um momento de ignorância descuidada, começando come
es
(que são configurações bash válidas, mas não válidas readline config). Eles parecem ter sido interpretados como aliases de atalhos de teclado para personalização de readline.Removendo as linhas de
.inputrc
, Eu confirmei, resolvi meu problema.Obrigado @ user208052 para o lembrete relevante para verificar
.inputrc
.A configuração Readline do shell
A concha
bind
comando permite a visualização e modificação da configuração Readline. (Vejohelp bind
.help
éman
para comandos internos do shell).Visão
bind -p
(talvez cano para menos|less
ou redirecionar para um arquivo> binds.txt
). isto "lista [s] funções e ligações em um formulário que pode ser reutilizado como entrada" .Tem entradas como
"c": self-insert
para cada caractere na faixa ASCII, então a configuração defeituosa pode substituirself-insert
com alguma outra função Readline.Tem algumas pedras preciosas; visualizá-lo apenas me ensinou que
C-=
(\e=
) imprime possíveis conclusões, na minha configuração padrão. Parece mostrar a configuração atual completa do Readline para o seu shell ... bastante útil e poderoso. Bom para explorar.Teste de ponta a ponta
e
trabalhoinserir linha errônea em
.inputrc
Abrir novo shelle
aparentemente é um não-opbind -p
(| grep -i '"E"'
) mostra"E": self-insert
,"e": self-insert
"A": self-insert
e"a": self-insert
estão presentes.fonte
Estou um pouco enferrujado, mas colando no Terminal funciona de forma diferente do que colando em um programa GUI: cada caractere é enviado como um pressionamento de tecla separado, não como um memcopy da área de transferência para o buffer do aplicativo. Então, se o "e" foi remapeado, ele será remapeado na pasta também.
Verifique os seguintes locais:
System Preferences > Keyboard > Shortcuts
~/Library/KeyBindings/KeyBindings.dict
$ defaults read com.apple.Automator NSUserKeyEquivalents
fonte
e
chave foi remapeada.Outra coisa que você pode tentar é configurar o Terminal para abrir um editor de texto (emacs, vi, etc) quando uma nova janela for aberta. Por exemplo, nas preferências do Terminal para "Shell", você pode tê-lo Comando de execução tal como
/usr/bin/emacs
. Se você não pode entrar e no painel de preferências, então algo ainda mais estranho do que o que foi proposto até agora está acontecendo ...Quando uma nova janela do Terminal é aberta, o emacs
vaideve começar, e você pode tentar pressionar e Eu não tenho idéia do que vai acontecer, mas como @Pierce acima, estou curioso para saber o que está acontecendo.fonte
Verifique a configuração stty e certifique-se de que 'e' acidentalmente não tenha sido definido como backspace ou similar. Estive lá, fiz isso. Stty algo \ e Faria isso A recomendação para desabilitar / comentar o .bash * provavelmente também o descobriria.
fonte
Eu tive o mesmo problema que foi causado por ter um erro de digitação
/etc/inputrc
:ao invés de
fonte
Basta apagar o arquivo .inputrc, ele está no diretório raiz. (É um arquivo oculto).
fonte