我想禁用 tmux 上的默认状态栏。我更喜欢将 screen/tmux 视为持久会话管理器,并弃用菜单/窗口内容以支持我的系统窗口管理器。我怀疑 Tmux 可能比 screen 更适合这个角色。
如果可能的话,我可以在运行时用和弦来做吗?
在雪豹上运行从端口安装的 tmux 1.4 我无法使用内置的 OSXpbcopy命令。
之外tmux:
> echo "abc" | pbcopy
> echo $(pbpaste) # or using ^v
abc
Run Code Online (Sandbox Code Playgroud)
但里面tmux:
> echo "123" | pbcopy
> echo $(pbpaste)
abc
Run Code Online (Sandbox Code Playgroud)
我已经搜索了手册页,但找不到任何可能与此行为相关的选项。我也不明白为什么tmux会搞乱 shell 重定向。
有人有任何线索吗?
我的~/.tmux.conf:
set -g prefix C-a
unbind C-b
bind C-a send-prefix
bind-key o split-window -v
bind-key e split-window -h
bind-key w kill-pane
Run Code Online (Sandbox Code Playgroud)
(使命令键与 GNOME 终结者相同)
情况:将窗口水平拆分为2个窗格后,切换到带有Ctrl+a Up箭头的窗格后,我必须等待一段时间(2-3秒)才能在此窗格中查看shell历史命令。因为如果我Up再次按,它将切换回另一个窗格,而不是向我显示 shell 历史命令。我怎么能拒绝这个?
这一切都在 OS X 上的 iTerm2 中。
我曾经有过
export TERM='xterm-256color'
Run Code Online (Sandbox Code Playgroud)
在我的.bashrc. 这意味着 tmux 中的 Vim 确实使用了 256 种颜色。
一旦我添加
set -g xterm-keys on
Run Code Online (Sandbox Code Playgroud)
然后带有修饰符的键盘快捷键在 Vim 中运行良好。即:shift+left/right我映射到切换 Vim 选项卡,ctrl+up/down我映射到移动(“气泡”)行,并且shift+left/right在命令行模式下开箱即用以逐字跳转(例如,在键入类似的内容时:e foo bar baz)。
然而,这种设置有问题,即Vim的背景颜色只能说明后面的文字,提到这里。
所以我删除了
export TERM='xterm-256color'
Run Code Online (Sandbox Code Playgroud)
从我的.bashrc,而不是把它放在我的.tmux.conf:
set -g default-terminal "screen-256color"
Run Code Online (Sandbox Code Playgroud)
这修复了 Vim 的背景颜色,但破坏了键盘快捷键 - 他们做了意想不到的事情(移动光标,删除文本)。
通过使用ctrl+v插入来自组合键逐字输出(如描述在这里),我是能够解决它:
map [1;5A <C-Up>
map [1;5B <C-Down>
map [1;2D <S-Left>
map [1;2C <S-Right>
cmap [1;2D <S-Left> …Run Code Online (Sandbox Code Playgroud) 我开始使用 tmux,而且我已经喜欢上了它。但如果我可以搜索回滚历史,那就更好了(例如在 iTerm2 中)。目前有没有办法做到这一点?
是否可以将 tmux 命令绑定到组合键并直接使用它而无需先按前缀?
我觉得C-b + n切换窗格太麻烦,所以我想知道我是否可以绑定C-1,例如切换到窗格 #1。
或者也许有一种方法可以让终端模拟器中的快捷方式在C-b + 1我按下时发送C-1?
谢谢!
我正在使用带有 vi 键的 tmux,只要您选择一行文本,或者如果您只有一个窗口,复制/粘贴就可以正常工作。当我想选择一个文本块(多行,但不是全宽)时,我遇到了麻烦。如果我打开了多个 vim 窗口,那么它将从所有窗口中选择文本,而我需要的是仅从一个窗口中选择文本。也就是说,就像 vim 中的视觉选择一样。
这是可能的吗?
我目前正在运行备份,现在需要将其转移到可拆卸的,例如 ontmux或screen。当命令当前正在运行时,有没有办法做到这一点?
我可以通过按Ctrl+将命令发送到后台,Z然后通过发出fg命令将其恢复。但我不知道当我退出终端时该会话是否可以返回。
tmux.conf只有当我的操作系统是 Mac 时,我才会执行一些我的代码。但是,我想tmux.conf在多个不同的操作系统上使用我的。如何使命令以 tmux 当前运行的操作系统为条件?
tmux ×10
gnu-screen ×2
vim ×2
command-line ×1
history ×1
macos ×1
scrolling ×1
shell ×1
terminal ×1
timeout ×1