Когда я пытаюсь открыть файл, используя vim
внутри tmux
все окно зависает. Я должен убить окно с C-a &
.
Вот мои ~/.vimrc
настройки:
:set autoindent
:set ts=4
:set number
:set shiftwidth=4
:set showmode
:filetype on
:filetype plugin on
:syntax enable
:set mouse=a
и ~/.tmux.conf
# I like Ctrl-a as the default hotkey
unbind C-b
set-option -g prefix C-a
# Split window using | and -
unbind %
bind | split-window -h
bind - split-window -v
# Set status bar
set -g status-bg black
set -g status-fg white
set -g status-left ‘#[fg=green]#H’
# Highlight active window
set-window-option -g window-status-current-bg red
# Makes window numbering start from 1, instead of 0
set -g base-index 1
Я сталкиваюсь с проблемой в RHEL. Однако тот же конфиг прекрасно работает на моем Mac. Я думаю, все работало нормально, пока мой RHEL box не был перезапущен, и я попытался восстановить файл из файла подкачки vi.
Любые идеи о том, как это исправить?
[править]: Я пытался ssh
открыть другую коробку внутри tmux
и запустить vi
там. Прекрасно работает в удаленной коробке!
[добавлено позже] Следуя предложению @jasonwryan, я добавил строку set -g default-terminal screen-256color
в конце tmux.conf
. Это мешало таким программам less
работать.
echo $TERM
внутри tmux это "screen", а снаружи tmux это "xterm".
Поиск $ TERM привел меня к https://wiki.archlinux.org/index.php/Tmux , откуда я добавил строку set -g default-terminal "screen-256color"
в качестве первой строки tmux.conf
. Это сделало $TERM
внутри tmux "screen-256color". Но теперь, когда я запускаю vi
внутри tmux, он отображает следующую ошибку:
E558: Terminal entry not found in terminfo
'screen-256color' not known. Available builtin terminals are:
builtin_riscos
builtin_amiga
builtin_beos-ansi
builtin_ansi
builtin_pcansi
builtin_win32
builtin_vt320
builtin_vt52
builtin_xterm
builtin_iris-ansi
builtin_debug
builtin_dumb
defaulting to 'ansi'
Похоже, я решил проблему. Просто добавили set -g default-terminal xterm
в качестве первой строки моего ~ / .tmux.conf, и это сработало!
set -g default-terminal screen-256color
Ответы:
Я решил проблему, добавив строку
как первая строка моего ~ / .tmux.conf, и он работал нормально.
Однако, как указал @jasonwryan, в часто задаваемых вопросах TMUX четко говорится, что:
Я только отправляю этот ответ, поскольку это фактически решило мою проблему. пожалуйста, не стесняйтесь добавлять свои альтернативные решения.
источник
Я просто столкнулся с той же проблемой на старой коробке CentOS, с которой мне пришлось поработать. Для меня установка TERM в tmux на xterm вызвала другие странные проблемы. Однако я смог это исправить, комментируя
set mouse=a
в моем .vimrc cf https://lists.gnu.org/archive/html/screen-users/2005-04/msg00039.htmlВидимо добавляя
set ttymouse=xterm2
в ваш .vimrc также может помочь.Для всех, кто сталкивается с подобными проблемами, я рекомендую временно переместить ваш .vimrc, чтобы увидеть, есть ли причина в этом.
источник