... e isso está me deixando louco.
Basicamente (isso vem acontecendo nos últimos dois meses), faço logon em alguns servidores CentOS diferentes (um Linode, outro VPS e um host compartilhado ao qual tenho acesso ao shell), executando 5.5, 5.7 e 6, do meu Mac executando o OS X Lion, usando o Terminal.
Basicamente:
$ ssh [email protected]
[remote-host] $ nano somefile.txt
Depois que eu começar a editar o arquivo, se eu usar as teclas de seta para mover o cursor ou começar a excluir e digitar novamente, o cursor saltará um pouco e, se eu salvar o arquivo e reabri-lo, é óbvio que o cursor estava , de fato, pulando por toda parte em uma linha sem motivo aparente.
Acabo recebendo coisas como "Este é um texto neof." Quando eu digitei (para o editor louco pelo cursor) "Esta é uma linha de texto".
É um grande problema quando se trata de editar arquivos de configuração, porque geralmente tenho que editar uma linha, salvar e fechar e reabrir apenas para garantir que a linha esteja correta ... depois edite outra linha ... e está ficando muito chato .
Encontrei problemas de renderização do Linode Lish Shell Vim e Nano: linhas não aparecendo / posições do cursor incorretas , mas não sei se isso se relaciona muito, pois isso se refere especificamente a lish.
Respostas:
[ Atualização: A partir do Mac OS X Mountain Lion 10.8, o Terminal suporta a sequência de escape Backtab, eliminando esse problema.]
As versões do nano nesses servidores às vezes enviam uma sequência Backtab (ESC [Z) ao mover o cursor para a esquerda por um caractere, mas o Terminal não suporta essa sequência, portanto, o nano acha que o cursor se moveu quando não possui ' te sua idéia sobre a posição atual do cursor está fora de sincronia com o terminal.
Por razões que não consigo entender, o nano envia uma Backtab ao mover para a esquerda e o cursor é um caractere à direita de uma tabulação. Da mesma forma, o IIRC envia uma guia (Control-I) ao mover para a direita e o cursor é um caractere à esquerda de uma parada de tabulação. Não sei por que isso faz com que a guia pare em vez de sempre mover para a esquerda / direita usando as mesmas seqüências de caracteres. A versão do nano fornecida com o Mac OS X Lion 10.7 não faz isso.
O Nano só faz isso quando o terminfo diz que o
cbt
recurso é suportado. O terminfo padrão para o Terminal éxterm-256color
, que declara esse recurso e o mapeia para a sequência Backtab. Uma solução alternativa é definir aTERM
variável de ambiente para algo que não declare esse recurso. Você pode fazer isso na máquina local antes de chamarssh
ou no arquivo de inicialização do shell no host remoto. A configuração éxterm-color
fácil, embora não seja recomendável, pois desativa outros comportamentos importantes (por exemplo, 256 cores, BCE, preservação de conteúdo alternativo da tela). (Uma abordagem mais pesada é personalizar seu arquivoxterm-256color
(ouxterm
) terminfo no host remoto para removercbt
.)É recomendável personalizar o host remoto (de uma maneira ou de outra), para que as personalizações não se apliquem localmente ou a outros hosts remotos, mas a solução mais simples é alterar uma configuração de preferência do Terminal para usar em
xterm-color
vez dexterm-256color
:Eu recomendo duplicar um perfil de configurações existente, personalizá-lo e usá-lo apenas quando você estiver se conectando a esses hosts remotos.
fonte
cbt=\E[Z
entrada no.ti
arquivo de origem.Eu estava tendo o mesmo problema. Encontrei este segmento que recomendava, entre outras soluções, uma variável de ambiente no servidor remoto:
Adicionar isso a ~ / .bash_profile resolveu o problema para mim. Esta solução é simples e tem o benefício de afetar apenas um usuário específico em um host específico.
fonte
Eu tive o mesmo problema no programa MobaXTerm. A causa do problema foi a tecla -K, que eu usei para ativar o numpad no Nano ao usar o PuTTY. Como descobri no MobaXTerm -K não é necessário (o numpad funciona por padrão) e sem ele as teclas de seta funcionam corretamente e não inserem lixo aleatoriamente.
fonte
OSX 10.7.4 com o Centos em execução como sistema operacional convidado
Nas preferências do terminal OSX, configurações, opções avançadas
Não há mais problemas :)
fonte
Para usuários do MobaXterm. Se você não estiver usando -K e ainda estiver com o problema. Verifique se as seguintes linhas estão comentadas no seu arquivo / etc / nanorc.
# set rebinddelete
# set rebindkeypad
fonte
O provável problema é que, sim, sua máquina local e seu servidor ESTÃO em sistemas unix com nano, mas essas versões podem ser diferentes.
fonte
Se o que você recebe é "Este é um texto novo" e o que você digitou é "Esta é uma linha de texto" (devo presumir que seu relatório está correto), você tem uma chave "controle" esquisita, independentemente do que estiver no Mac (comando ? maçã?). Como o nano está usando as teclas control + para "pular" e você tem menos caracteres do que digitados, temos a) caracteres desaparecidos b) seqüências de controle que aparecem do nada, deduzindo que a) se torna b) é lógico.
Você também pode ter algum programa desagradável de tecla de atalho / macro / outros enfeites. Suspeito que isso pertença ao superusuário e não à falha do servidor, mas manterei a sinalização, talvez alguém tenha uma resposta realista e vinculada ao SSH.
fonte