não pode usar o vim da sessão Putty ssh

0

Eu configurei com sucesso o vim na minha máquina remota para trabalhar com telnet, em 256 cores. No entanto, eu não sou capaz de fazê-lo funcionar no ssh, mesmo com a configuração mais simples (sem cores, apenas vim simples no ssh). Não sei se o quebrei com a configuração de cores ou se nunca funcionou.

Ou seja, o vim começa, mas congela, não aceita comandos: i, [Esc],: q, [Ctrl] -C ... Nada.

Aqui você tem algumas informações adicionais:

  • o vi funciona, mas não é um alias para um lançamento do vim, ele aponta para o / bin / vi executable
  • TERM está definido como vt100
  • Eu inicio o vim como: vim -u NONE -U NONE
  • Eu tentei ambos -v (vi -compatible) e vim regular

Meu perfil:

set -o emacs

export TERM=vt100
#export TERM=xterm-256color

export HOME=/home/node.mgr

export JAVA_HOME=...

export PATH=$PATH:$JAVA_HOME/bin:.:$HOME/scripts

#
# bindings per i tasti direzione
# vedi http://unix.derkeiler.com/Newsgroups/comp.unix.questions/2005-01/0086.html
case $- in
*i*) #interactive ksh
  # This stuff lets the arrow keys work in an xterm...
  alias __A='echo "0"' # up arrow == ^p == back a command
  alias __B='echo "6"' # dn arrow == ^n == down a command
  alias __C='echo "
> stty -a
speed 38400 baud;
erase = ^H; kill = ^X; intr = ^C; quit = ^\; susp = ^Z; eof = ^Y
eol = ^M; stop = ^S; start = ^Q
-parenb -parodd cs7 -cstopb hupcl cread -clocal
ignbrk -brkint ignpar -parmrk -inpck istrip -inlcr -igncr icrnl
ixon -ixoff
isig icanon echo echoe echok echonl -noflsh
-tostop -iexten
opost -ocrnl
6"' # rt arrow == ^f == forward a character alias __D='echo "
> uname -a
NONSTOP_KERNEL svimi2 H06 20 NSE-A


> cat .vimrc
set nocompatible

set incsearch
set smartcase
set scrolloff=2
set wildmode=longest,list

set number
set nuw=6

set tabstop=4
set shiftwidth=4
set expandtab
set softtabstop=4
set autoindent

colorscheme elflord

syntax on

filetype plugin on

:let mapleader = ","

"fix backspace
:set t_kb
:fixdel
2"' # lf arrow == ^b == back a character esac cd $HOME

Editar: Em resposta a @RedGrittyBrick

saída stty:

set -o emacs

export TERM=vt100
#export TERM=xterm-256color

export HOME=/home/node.mgr

export JAVA_HOME=...

export PATH=$PATH:$JAVA_HOME/bin:.:$HOME/scripts

#
# bindings per i tasti direzione
# vedi http://unix.derkeiler.com/Newsgroups/comp.unix.questions/2005-01/0086.html
case $- in
*i*) #interactive ksh
  # This stuff lets the arrow keys work in an xterm...
  alias __A='echo "0"' # up arrow == ^p == back a command
  alias __B='echo "6"' # dn arrow == ^n == down a command
  alias __C='echo "
> stty -a
speed 38400 baud;
erase = ^H; kill = ^X; intr = ^C; quit = ^\; susp = ^Z; eof = ^Y
eol = ^M; stop = ^S; start = ^Q
-parenb -parodd cs7 -cstopb hupcl cread -clocal
ignbrk -brkint ignpar -parmrk -inpck istrip -inlcr -igncr icrnl
ixon -ixoff
isig icanon echo echoe echok echonl -noflsh
-tostop -iexten
opost -ocrnl
6"' # rt arrow == ^f == forward a character alias __D='echo "
> uname -a
NONSTOP_KERNEL svimi2 H06 20 NSE-A


> cat .vimrc
set nocompatible

set incsearch
set smartcase
set scrolloff=2
set wildmode=longest,list

set number
set nuw=6

set tabstop=4
set shiftwidth=4
set expandtab
set softtabstop=4
set autoindent

colorscheme elflord

syntax on

filetype plugin on

:let mapleader = ","

"fix backspace
:set t_kb
:fixdel
2"' # lf arrow == ^b == back a character esac cd $HOME

Além disso,

  • "Redefinindo Terminal" via PuTTY não funciona
  • Não consigo encontrar o comando "Você está aí"; Estou usando o PuTTY v0.61.
  • vim --version | grep terminfo dá: ... + terminfo ...
  • Enviar SIG * via menu PuTTY não tem efeito
  • alterar TERM para xterm (tanto na variável env como na configuração da sessão Putty) não tem efeito

Editar: Em resposta a @BlakBat

echo $ DISPLAY dá string vazia

%pre%     
por AndreaG 28.11.2011 / 14:15

2 respostas

3

  • O tipo de terminal nativo para Putty (configuração padrão) é "xterm" e não "vt100".
  • Você não deve precisar codificar TERM em .profile.
  • Use stty intr ^C no servidor para especificar o que o Ctrl + C faz.
  • Putty tem uma opção "Reset Terminal" no seu menu
  • O menu de Putty tem um "Comando especial" de "Você está aí" (a resposta é "[SIM]").
  • Eu não vejo como esses aliases poderiam funcionar, Putty não envia __A.

O vi moderno usa o terminfo para encontrar uma string de inicialização para enviar para o Putty. Sua instalação do vim pode estar usando termcap em vez disso (consulte vim --version | grep terminfo : o resultado deve incluir -terminfo ou +terminfo )

    
por 28.11.2011 / 16:07
0

Qual é a saída 'uname -a' da sua máquina?

Caso contrário, não configure o TERM dentro do seu perfil. Você pode configurá-lo nas janelas de configuração do PuTTY. Dependendo do sistema remoto, você pode querer tentar definir "TERM = putty".

Quando você inicia o vim, ele pode tentar se conectar a uma sessão X, qual é a saída de "echo $ DISPLAY"?

Para ativar as cores no vim, você deve emitir o comando 'syntax on', que pode ser colocado dentro do seu arquivo .vimrc?

    
por 20.01.2012 / 12:46

Tags