Я успешно настроил vim на своей удаленной машине для работы с telnet в 256 цветах. Тем не менее, я не могу заставить его работать на SSH, даже с самой простой конфигурацией (без цветов, просто VIM на SSH). Я не знаю, сломал ли я его с помощью цветового конфига, или он никогда не работал.

То есть vim запускается, но зависает, не принимает никаких команд: i, [Esc],: q, [Ctrl] -C ... Ничего такого.

Здесь у вас есть дополнительная информация:

  • vi работает, но это не псевдоним для запуска vim, он указывает на исполняемый файл /bin /vi
  • TERM установлен на vt100
  • Я запускаю vim как: vim -u NONE -U NONE
  • Я пробовал как -v (vi -совместимый), так и обычный vim

Мой профайл:

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 "\020"` # up arrow == ^p == back a command
  alias __B=`echo "\016"` # dn arrow == ^n == down a command
  alias __C=`echo "\006"` # rt arrow == ^f == forward a character
  alias __D=`echo "\002"` # lf arrow == ^b == back a character
esac

cd $HOME

Изменить: в ответ на @RedGrittyBrick

вывод stty:

> 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

Кроме того,

  • "Сброс терминала" через PuTTY не работает
  • Я не могу найти команду "Ты там"? Я использую PuTTY v0.61.
  • vim - версия | grep terminfo дает: ... +terminfo ...
  • Отправка SIG * через меню PuTTY не имеет никакого эффекта
  • изменение TERM на xterm (как в переменной env, так и в конфигурации сеанса Putty) не имеет никакого эффекта

Изменить: в ответ на @BlakBat

echo $ DISPLAY дает пустую строку

> 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 ответа2

3
  • Собственный тип терминала для Putty (конфигурация по умолчанию) - "xterm", а не "vt100".
  • Вам не нужно жестко кодировать TERM в .profile.
  • Используйте stty intr ^C на сервере, чтобы указать, что делает Ctrl+C.
  • У Putty в меню есть пункт "Сбросить терминал"
  • В меню Putty есть "Специальная команда" "Ты там" (ответ «[ДА]»).
  • Я не понимаю, как эти псевдонимы могут работать, Putty не отправляет __A.

Современный vi использует terminfo для поиска строки инициализации для отправки в Putty. Ваша установка vim может вместо этого использовать termcap (см. vim --version | grep terminfo: результат должен включать либо -terminfo либо +terminfo)

0

Что выводит uname -a на вашем компьютере?

В противном случае не устанавливайте TERM в своем профиле. Вы можете настроить его в окнах конфигурации PuTTY. В зависимости от удаленной системы, вы можете попробовать установить «TERM = putty».

Когда вы запускаете vim, он может попытаться подключиться к сеансу X, что выдает «echo $ DISPLAY»?

Чтобы включить цвета в vim, вы должны ввести команду 'syntax on', которую можно поместить в ваш файл .vimrc?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .