我一直在环顾四周,人们说放
set -g mouse-mode on
Run Code Online (Sandbox Code Playgroud)
应该让你在运行tmux时滚动终端输出.但是,在将它放入我的~/.tmux.conf文件并说明tmux set -g mouse-mode on在tmux会话中之后,没有任何变化.当我滚动时,我仍然在tmux之外,就像在vim中使用默认设置滚动一样.
有谁知道这是为什么?
Gra*_*ham 519
所以此选项已在2.1版(2015年10月18日)中重命名
来自更改日志:
Mouse-mode has been rewritten. There's now no longer options for:
- mouse-resize-pane
- mouse-select-pane
- mouse-select-window
- mode-mouse
Instead there is just one option: 'mouse' which turns on mouse support
Run Code Online (Sandbox Code Playgroud)
所以这就是我现在在我的.tmux.conf文件中使用的内容
set -g mouse on
Run Code Online (Sandbox Code Playgroud)
Umu*_*rin 69
正如@ Graham42所说,鼠标选项在2.1版中已经改变.现在滚动需要您先进入复印模式.要使滚动几乎与2.1之前的滚动相同,请将以下内容添加到您的.tmux.conf.
set-option -g mouse on
# make scrolling with wheels work
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
bind -n WheelDownPane select-pane -t= \; send-keys -M
Run Code Online (Sandbox Code Playgroud)
这将允许在窗格上滚动滚动,您将能够逐行滚动该窗格.
资料来源:https://groups.google.com/d/msg/tmux-users/TRwPgEOVqho/Ck_oth_SDgAJ
小智 56
只是快速向正在失去理智的其他人提出挑战:
https://github.com/tmux/tmux/blob/310f0a960ca64fa3809545badc629c0c166c6cd2/CHANGES#L12
所以这就是
:setw -g mouse
Run Code Online (Sandbox Code Playgroud)
loc*_*jay 30
这应该工作:
setw -g mode-mouse on
Run Code Online (Sandbox Code Playgroud)
然后资源然后配置文件
tmux source-file ~/.tmux.conf
Run Code Online (Sandbox Code Playgroud)
或杀死服务器
J-L*_*J-L 18
这行:
\nset -g mouse-mode on\nRun Code Online (Sandbox Code Playgroud)\n在你的~/.tmux.conf文件中将不起作用。
一方面,正确的设置是mode-mouse,而不是mouse-mode。
其次,它仅适用于旧版本tmux(版本 2 之前的版本);您可以运行tmux -V来查看您拥有的版本,但您也可以运行man tmux来查看是否mode-mouse是受支持的选项)。
第三,从技术上讲,该选项与( )man tmux一起使用,而不是与( ) 一起使用,尽管我已经看到它与( 以及) 一起使用。mode-mousesetwset-window-optionsetset-optionsetsetw
这些行应该有效:
\n如果您的版本tmux足够新(即,如果tmux -V显示版本 2 或更高版本),您可以将此行放入您的~/.tmux.conf文件中:
set-option -g mouse on\nRun Code Online (Sandbox Code Playgroud)\n但如果您使用旧版本的tmux,请将这些行放入您的~/.tmux.conf文件中:
set-window-option -g mode-mouse on\n\nset-option -g mouse-resize-pane on\nset-option -g mouse-select-pane on\nset-option -g mouse-select-window on\nRun Code Online (Sandbox Code Playgroud)\n同样,如果您不确定要放入~/.tmux.conf文件中的哪一行,请运行man tmux并搜索mouse-mode、mouse-resize-pane、mouse-select-pane和/或mouse-select-window。如果找到它们,请使用这些选项(旧版本的选项tmux)。
将这些行放入将允许您使用鼠标滚轮,它将允许您单击各个窗格来激活它们,并且将允许您只需通过单击并拖动其分割分隔符来调整窗格的大小。
\n您还可以使用鼠标进行复制和粘贴。但是,您可能会注意到,使用鼠标进行复制和粘贴可能无法像在控制台上通常那样进行。为了解决这个问题,我注意到SHIFT在使用鼠标的复制/粘贴功能时按住按键可以使它们再次正常工作。(在 MacOS 上,fn似乎比 更适合我SHIFT。)或者你可以学习tmux的复制粘贴方法(我推荐)。
使用注意事项tmux本机复制/选择/粘贴功能的注意事项:
就我个人而言,我觉得这些vi键比默认键对我来说更有意义(例如,使用mode退出选择模式比使用模式+或+退出选择模式emacs感觉更自然),所以我在我的viENTERemacsCTRLwALTw~/.tmux.conf文件中包含以下内容:
# For vi-like keys in copy/paste/selection mode:\nset-window-option -g mode-keys vi\nRun Code Online (Sandbox Code Playgroud)\n但是,我注意到在旧版本上tmux,这条线不起作用,除非我也包含此行:
set-window-option -g mode-mouse on\nRun Code Online (Sandbox Code Playgroud)\n很高兴知道: 有时,当您使用鼠标滚轮时,您会发现您的窗格/屏幕似乎被冻结或锁定(它不会响应键盘输入),并且不清楚该怎么办来解锁它。
\n它没有被锁起来。你很可能在tmux选择模式。要摆脱它,请尝试以下方法之一:
vi模式下工作。)emacs模式下工作。)emacs模式下工作。)emacs模式下工作。)emacs模式下工作。)vi模式下工作,并且可能在emacs,也可能在模式下最后,您可以尝试点击:
\nCTRL+ w\xc2\xa0 \xc2\xa0ENTER
\n或者:
\nEsc\xc2\xa0 \xc2\xa0q
\n有可能,这会让您回到正常模式,键盘再次响应。
\n使用鼠标vim:
我发现将此行放入我的~/.vimrc文件中:
:set mouse=a\nRun Code Online (Sandbox Code Playgroud)\n似乎与 配合得很好tmux,比这条线更好:
:set mouse=r\nRun Code Online (Sandbox Code Playgroud)\n我无法真正解释其中的差异;如果您是vim用户,请尝试一下,看看哪种设置最适合您。
如果您需要测试这些tmux选项,您可能会发现自己正在编辑~/.tmux.conf文件,退出tmux,然后重新启动tmux。这可能会成为一个乏味的过程,因此如果您想要一些解决方法,这里有一些选择:
选项1: 编辑(并保存)~/.tmux.conf文件后,运行此命令(在 中tmux):
CTRL+B :source-file ~/.tmux.conf ENTER
这将立即将文件中的新设置应用~/.tmux.conf到当前tmux会话中,而无需重新启动tmux。
选项 2: 如果您处于tmux会话中,您可以通过在 Unix shell 提示符下运行如下命令来暂时打开/关闭该会话的选项:
tmux set-option -g mouse on
tmux set-window-option -g mode-keys vi
选项 3: 您还可以通过以下方式临时打开/关闭tmux会话中的选项:
CTRL+B :set-option -g mouse on ENTER
CTRL+B :set-window-option -g mode-keys vi ENTER
祝你好运,并享受使用的乐趣tmux!
Ale*_*sco 15
正如@ Graham42所说,从版本2.1开始,鼠标选项已重命名,但您可以将鼠标与任何版本的tmux一起使用,将其添加到〜/ .tmux.conf中:
is_older=$([[ $(tmux -V | cut -d' ' -f2) < 2.1 ]] && echo true || echo false)
if-shell "$is_older" "set -g mode-mouse on; set -g mouse-resize-pane on;\
set -g mouse-select-pane on; set -g mouse-select-window on" "set -g mouse on"
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助
小智 14
粘贴在〜/ .tmux.conf中
set -g mouse on
Run Code Online (Sandbox Code Playgroud)
并在终端上运行
tmux source-file ~/.tmux.conf
Run Code Online (Sandbox Code Playgroud)
根据您当前的 Tmux 版本,您仍然可以使用设置选项的魔鬼逻辑:请参阅我之前的答案。
但是从 Tmux v1.7 开始,set-option添加了“-q”以消除错误并且不打印任何内容(请参阅更改日志)。我建议使用此功能,它更具可读性且易于扩展。
将此添加到您的~/.tmux.conf:
# from v2.1
set -gq mouse on
# before v2.1
set -gq mode-mouse on
set -gq mouse-resize-pane on
set -gq mouse-select-pane on
set -gq mouse-select-window on
Run Code Online (Sandbox Code Playgroud)
重新启动 tmux 或source-file您的新.tmux.conf
旁注:如果人们喜欢这个答案,我愿意删除我的旧答案
| 归档时间: |
|
| 查看次数: |
107397 次 |
| 最近记录: |