当我尝试在整个窗口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
Run Code Online (Sandbox Code Playgroud)
和 ~/.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
Run Code Online (Sandbox Code Playgroud)
我在 RHEL 中遇到了这个问题。但是,相同的配置在我的 Mac 中运行良好。我想,在我的 RHEL 盒重新启动之前一切正常,我尝试从 vi 交换文件中恢复文件。
有想法该怎么解决这个吗?
[编辑]:我试图ssh
在其他盒子里面tmux
运行vi
。在远程盒子中工作正常!
[稍后添加] 按照@jasonwryan 的建议,我set -g default-terminal screen-256color
在tmux.conf
. 这阻止了像这样的程序less
工作。
echo $TERM
tmux 内部是“屏幕”,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'
Run Code Online (Sandbox Code Playgroud)
看起来我已经解决了这个问题。刚刚添加set -g default-terminal xterm
为我的 ~/.tmux.conf 的第一行,它起作用了!
BiG*_*YaN 12
我通过添加行解决了这个问题
set -g default-terminal xterm
Run Code Online (Sandbox Code Playgroud)
作为我的 ~/.tmux.conf 的第一行,它运行良好。
然而,正如@jasonwryan 所指出的,TMUX 常见问题解答明确指出:
大多数显示问题是由于不正确的 TERM!在报告问题之前,请确保 TERM 设置在 tmux 内外都是正确的。
内部 tmux TERM 必须是“screen”或类似的(例如“screen-256color”)。在外面,它必须与您的终端相匹配......
我只发布这个答案,因为它实际上解决了我的问题。请随意添加您的替代解决方案。