карты ключей vim не работают после повторного подключения к сеансу tmux по ssh

#linux #vim #ssh #tmux

#linux #vim #ssh #tmux

Вопрос:

Немного контекста: я использую vimx (то есть совместимую версию терминала vim для RedHat, которая дает мне возможность работать с регистрами буфера обмена и * X в vim). Я подключаю ssh к своему серверу (с переадресацией X с использованием опции -Y) и запускаю vim (т.е. vimx) в tmux. Если я отсоединяю сеанс tmux и снова подключаюсь к нему в том же сеансе ssh, все работает нормально. Однако, если я выхожу из сеанса ssh и снова вхожу в систему, а затем подключаюсь к моему сеансу tmux (в котором запущен vim), тогда привязка ключей vim и сопоставления ключей (например, ctrl n для новой вкладки) и команды vim (например, «: buffers» для отображения буферов vim или «: reg»для отображения регистров) больше не будет работать, пока я не закрою vim и не открою его снова. Я подозреваю, что это проблема с отображением X11 в vim и tmux, однако я не могу найти, что происходит не так в vim или tmux.

Краткое описание проблемы и способы ее воспроизведения:

1) выполните ssh для сервера: ssh -Y user @server

2) откройте новый сеанс tmux: tmux -2

3) откройте vimx: vimx myfile.cc

4) отсоединиться от tmux: ctrl b d

5) выход из сеанса ssh: введите exit в терминале или нажмите ctrl d

6) повторное подключение к серверу: ssh -Y user @server

7) повторное подключение к сеансу tmux: подключение tmux-2

на шаге 7 я снова подключусь к сеансу vimx, однако ни одно из моих сопоставлений ключей vim или команд для vim сейчас не работает. (Они исправляются, если я закрываю и снова открываю vim, но в этом случае, что хорошего в tmux для удаленной работы с vim ?! :))

Ответ №1:

Вместо перезапуска vim просто используйте команду :source для перезагрузки вашего vimrc.

:so ~/.vimrc

Это проще, чем перезапуск, и будет работать даже в процессе редактирования файла.