vim tmux backspace ^?

2

Estou tendo um problema estranho:

Ao sshing em um host particular (do OSX ao RHEL5), o vim parece esquecer como retroceder, mas somente em uma sessão do tmux, ou seja:

  ssh [email protected]
  vim test

Backspace funciona bem acima.

No entanto, isso não acontece:

  ssh [email protected]
  tmux
  vim test

Acertar o backspace no modo de inserção produz ^? Qual poderia ser o problema?

    
por Clustermagnet 10.04.2012 / 18:59

4 respostas

5

Talvez seja necessário alterar o Terminal para enviar ^h quando você digitar Backspace .

Nas preferências do Terminal, a configuração faz parte do perfil, para que você possa configurar um perfil dedicado para sua conexão SSH com o sistema RHEL5.

    
por 10.04.2012 / 20:03
0

Acho que estou dando este comando

stty erase Ctrl-V BACKSPACE

funciona para mim. No entanto, preciso fazer isso em todos os painéis.

    
por 05.12.2013 / 20:00
0

Você pode mapear a tecla de retrocesso para o que precisa, como Kevin disse. Parece que você precisa mapeá-lo para ^? (em vez de ^ H)

Para fazer isso, use o seguinte comando:

stty erase "^?"

Isso pode ser adicionado aos seus scripts de inicialização ( .login ou .tcshrc ou .bashrc , ou outros arquivos, dependendo de qual shell você usa).

    
por 06.08.2014 / 17:01
0

Eu fiz uma solução alternativa

  1. crie um alias em .alias

alias emacs (ou vi) = 'apaga stty' ^ H "

emacs '

2 faça um script de shell,

nome do arquivo tmuxsh

stty ek
cmd=$(which tmux)      # tmux path
session=$1
if [ $# = 0 ]; then
   $cmd ls
   exit 0
fi
$cmd has -t $session 2> /dev/null
if [ $? != 0 ]; then
     $cmd new -s $session
     exit 0
fi
$cmd att -t $session
exit 0

é claro, você pode criar um alias também, alias tm = tmuxsh. então você poderia usar o emacs / vi tanto no tmux quanto no tmux. Por que criar um alias do emacs na etapa 1? porque se apenas usar o passo 2, depois de sair do tmux para o shell normal, o emacs / vi também encontrará o problema.

Funciona bem para mim

    
por 19.09.2014 / 17:42

Tags