当我尝试在整个窗口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框重新启动并且我尝试从vi交换文件中恢复文件之前,一切都运转良好。
有想法该怎么解决这个吗?
[edit]:我尝试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 xterm
作为我的〜/ .tmux.conf的第一行,它工作正常。
但是,正如@jasonwryan指出的那样,TMUX FAQ明确指出:
大多数显示问题是由于不正确的术语造成的!在报告问题之前,请确保tmux内部和外部的TERM设置正确。
在tmux内,TERM必须为“屏幕”或类似名称(例如“ screen-256color”)。在外面,它必须与您的终端相匹配...
我只发布此答案,因为它实际上解决了我的问题。请随时添加您的替代解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句