在使用屏幕一段时间后,我最近才开始使用tmux 1.8。在Internet上到处阅读这些内容之后,我想到了以下〜/ .tmux.conf。但是,当我打开vim并尝试用鼠标滚动时,tmux会滚动其滚动缓冲区,而不是将滚动命令发送给vim。有解决方法吗?以下是我的配置:
set-option -g default-shell /bin/bash
set -g status-utf8 on
set -g status-keys vi
set -g status-interval 1
set -g prefix `
bind ` send-key `
bind-key -n F9 resize-pane -Z
bind-key -n F11 prev
bind-key -n F12 next-window
bind-key | split-window -h
bind-key - split-window -v
set -s escape-time 0
set -g history-limit 100000
set -g mode-mouse on
set -g mouse-resize-pane on
set -g mouse-select-pane on
set -g mouse-select-window on
set-option -g mouse-utf8 on
set -g status-bg '#666666'
set -g status-fg '#aaaaaa'
set -g status-left ''
set -g status-right ''
set-option -sg escape-time 1
更新:
找到了答案。我不得不将我的术语设置为xterm,它正在获得屏幕的价值。当我执行以下操作时:
export TERM=xterm
在vim内部:
set mouse=a
在tmux下在vim中打开的文件中,滚动时我没有任何问题。如果必须滚动到历史记录缓冲区,请执行(前缀)[,然后使用鼠标。它就像一个魅力!
vim是否启用了鼠标?在三个不同的OS上,tmux内部的vim出现零问题(同时打开tmux和vim鼠标模式)。
—
2013年
在vim中执行mouse = a并在tmux中的vim中打开一个新文件后,vim什么都没有显示。显示卡在我执行vim的命令行中。我要么必须杀死它,要么拆分窗口并“不拆分”它。我尝试在vim中设置和不设置mouse = a的情况下进行上述设置。他们都不工作。
—
Thequark