Vim ожидает находить свои файлы установки (например, система справочной информации, определения для подсветки синтаксиса) в конкретном месте, но может работать без многих из них. Возможно, что, в то время как можно выполнить Vim, он не может определить местоположение этих файлов установки.
Vim попробует несколько методов для определения местоположения этих файлов, но если у Вас будет необычная установка затем, то они не будут найдены.
Если можно получить доступ к системе справочной информации, считайте эти темы: :help $VIM
и :help $VIMRUNTIME
. Вы, вероятно, не найдете их со своей текущей конфигурацией, поэтому считать версии в сети, например: $VIM справки и: $VIMRUNTIME справки.
Я подозреваю, что можно решить проблему путем корректной установки один или оба из VIM и переменных среды VIMRUNTIME.
Вы могли бы обнаружить что vim
двоичные и файлы во время выполнения существуют в разрозненных деревьях каталогов и что необходимо будет искать для файлов во время выполнения ниже некоторого пути, например: find /path -type d -name 'vim[0-9]*'
Я полагаюсь на экземпляр Vim, который связывается пакетом разработки Studio Sun, который наш SysAdmin обеспечил через удаленное монтирование. vim
двоичный файл расположен в /remote/sunstudio12/SUNWspro/contrib/vim/bin/vim
(например, which vim
) и файлы во время выполнения расположены в /remote/sunstudio12/SUNWspro/contrib/vim/share/vim/vim63
.
У меня была подобная проблема к Вашему. Во-первых, я пытался экспортировать VIM=/remote/sunstudio12/SUNWspro/contrib/vim
, но это не работало. Отдельно, я пытался экспортировать VIMRUNTIME=/remote/sunstudio12/SUNWspro/contrib/vim/share/vim/vim63
, который работает правильно (в то время как VIM остается сброшенным). VIMRUNTIME
должен указать на каталог, содержащий файлы такой как menu.vim
, scripts.vim
и каталоги такой как colors
, doc
, syntax
и т.д. (возможно иждивенец версии, YMMV).
Я также изменил мой PATH
располагаться vim
двоичный файл, однако, уже можно успешно выполнить двоичный файл.
Я пересмотрел свои настройки среды оболочки для вышеупомянутого и нашел тот экспорт VIM=/remote/sunstudio12/SUNWspro/contrib/vim/share/vim
(и сбрасывание VIMRUNTIME
) также работавший - моя начальная буква экспериментирует с установкой VIM
были дезинформированы. Местоположение, которым указывают VIM
содержит каталог, vim63
, содержа файлы во время выполнения, в которых я нуждаюсь.
Я все еще полагаюсь PATH
располагаться vim
двоичный файл.
После входа в систему вы можете выполнить что-то вроде:
export TERM=vt100
-121--48350- Если у вас есть корневой доступ к удаленному поле, установите пакет NCURSS-TERM
.
Это обеспечит RXVT-256COLOR
TERMINFO.
Как пользователь без корня, вы также можете скопировать записи RXVT Terminfo для
$ Home / .terminfo / R /
на удаленном компьютере и экспорте TERMINFO = $ HOME / .terminfo
.
ssh <host> 'mkdir -p .terminfo/r'
scp /usr/share/terminfo/r/rxvt-unicode-256color <host>:~/.terminfo/r/
Процесс SSHD (от SSHD (8)) будет читать ...
6. Reads the file ~/.ssh/environment, if it exists, and users are
allowed to change their environment. See the PermitUserEnvironment
option in sshd_config(5).
и
8. If ~/.ssh/rc exists, runs it; else if /etc/ssh/sshrc exists,
runs it; otherwise runs xauth. The “rc” files are given the X11
authentication protocol and cookie in standard input. See SSHRC, below.
Вы можете изменить для редактирования ~ / .ssh / rc
, чтобы настроить значение этого слова, поскольку этот файл будет прочитан до Профиль раковины.
Обычно TERM
передается из вашей локальной среды без изменений в удаленную среду. Если вы установите TERM
на локальной стороне при вызове ssh
, это сделает то, что необходимо.
Например, если на удаленном конце есть описание терминала для rxvt
(но не rxvt-unicode
), этого будет достаточно для функциональных клавиш и т. Д.
Предполагая, что bash или какая-либо оболочка, совместимая с POSIX, вы можете сделать это с помощью
TERM = rxvt ssh
remotehost
. Это повлияет только на команду ssh
, а не на вашу локальную среду. . Я использую эту функцию для работы с типичными машинами, у которых нет описания для screen.xterm-new
.В зависимости от удаленной машины может быть подходящий пакет, который можно установить для полной базы данных терминала , а может и не быть. Некоторые (например, Solaris и FreeBSD) требуют обходного пути.
Дополнительная литература: