我正在使用 tmux 和 zsh,最近我在学习 ssh-agent 和 keychain。从 zsh 的手册页中可以看出,.zlogin只有当 shell 是登录 shell 时,它才会获取源代码。
按照我读到的建议,我坚持keychain --clear了我的.zlogin,效果非常好。当我登录盒子时,我必须解锁我的钥匙。然而,每次我在 tmux 中创建一个新窗口时,它都会清除/让我重新添加我的密钥。这有点烦人......但如果事实上每个新的 tmux 窗口都是一个登录窗口,我可以理解。
除了有关该主题的联机帮助页之外,我无法找到太多帮助。那么每个新的 tmux 窗口都是一个登录 shell,还是有什么方法可以让它仅在创建 tmux 窗口时才清除我的密钥?
?因此,在 tmux 的复制模式下,您可以使用(至少在 vi 模式下)搜索文本。但是,它仅查找具有相同大小写的匹配项。我还想要具有不同大小写的匹配。因此,当我搜索cow它时,还应该找到诸如Cow、COW甚至 之类的匹配项CoW。默认情况下似乎没有这样做。
有谁知道是否有办法使搜索不区分大小写?我在文档中或通过互联网搜索都找不到它。
ATM 我使用 GNU Screen,并且一直使用复制模式。现在尝试切换到 tmux,但如果没有此功能,我真的无法切换。
我知道如何将键绑定到 tmux 中的命令,但我想创建一个自定义命令(您可以使用前缀键 + 冒号键入)。在此自定义命令中,我想执行其他几个命令。
我的想法是有这样的东西:
no-side-status() {
set status-left-length 0
set status-right-length 0
}
side-status() {
set status-left-length 50
set status-right-length 150
}
Run Code Online (Sandbox Code Playgroud)
所以我可以打字:no-side-status隐藏左右状态栏,打字:side-status恢复左右状态栏。
是否可以创建这样的自定义命令?如果是这样怎么办?如果没有,还有其他方法可以实现我想要的吗?
我有一个特定于项目的 shell 脚本,它创建环境变量、别名并运行一些命令。
我想为此项目创建一个 tmux 会话,该会话将在 tmux 会话中创建新窗格或窗口时获取我的 shell 脚本。
如何指定 tmux 在特定会话的每个新窗格或窗口中获取文件或运行命令?
升级到 El Capitan 后,我的tmux回滚缓冲区仅限于单个屏幕。如果我向上滚动,我可以看到 Mac 的输出Terminal,但所有tmux输出都被截断。
ls在屏幕截图中,您可以看到,它显示的是tmux我在 OSX 中所做的最后一件事,而不是预期的 me -ing 显示Terminal。
我set -g history-limit 100000的tmux.conf,但该文件尚未从 Yosemite 更改为 El Capitan。
我正在使用konsole-4.14.3,tmux-2.6我的 shell 是 bash。在 tmux 之外,换行工作正常,文本会移动到下一行。在 tmux 中,这不起作用。我用谷歌搜索了很长时间,但没有找到任何有效的修复方法。在我的~/.bashrc我有
export PS1="\[\e[1;92m\]\u@\h: \w \\$ \[\e[m\]"
export PS2='> '
Run Code Online (Sandbox Code Playgroud)
我把它们取下来再试一次,但结果是一样的。我使用的是 Slackware 14.2,问题似乎与某些系统设置有关,因为在相同的情况下~/.tmux.conf,换行在 Ubuntu 16.04 上可以按预期工作。
在我的绑定中,前缀 + CTRL-Z 触发 tmux 中的“暂停客户端”命令。我错误地触发了很多次,并且在没有提示的情况下留下了“僵尸终端”,我不知道如何“唤醒”它。
根据 tmux 手册页:
suspend-client [-t target-client]
(alias: suspendc)
Suspend a client by sending SIGTSTP (tty stop).
Run Code Online (Sandbox Code Playgroud)
有没有“回去的路”,或者我只需要杀死终端?
它是干什么用的?
我已经设置了取消绑定Ctrl+B和在Ctrl+上绑定 tmux 的选项,A但Ctrl+A不起作用,Ctrl+B仍然有效。我的 tmux 配置在正确的位置,就好像我更改了其他一些选项一样,我可以看到结果。
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
Run Code Online (Sandbox Code Playgroud)
怎么了?如何使它工作?
我在 MacOS 上的 alacritty 中使用 tmux + zsh。当我将 tmux 切换到复制模式,选择大部分文本并按 时y,该文本不在我的缓冲区中,我无法粘贴它。但在 iTerm 中它可以工作。这是我的tmux.conf:
setw -g mode-keys vi
set -g default-terminal screen-256color
# bind y key in copy mode to select and copy to system clipboard
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-
cancel "reattach-to-user-namespace pbcopy"
# bind ctrl+v to paste in tmux
bind-key -n C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\";
tmux paste-buffer"
# smart pane …Run Code Online (Sandbox Code Playgroud) 我正在将 tmux 与 WSL(Ubuntu 18.04)一起使用,但我不知道如何粘贴到 tmux 中。只需右键单击即可在普通终端上进行粘贴,但这在 tmux 中不起作用。
所有在线教程似乎都解释了如何将文本从 tmux 复制到我通过 tmux-yank 工作的系统剪贴板,但系统剪贴板到 tmux 没有运气。
编辑:默认情况下,这似乎适用于大多数人。我可以提供哪些对调试最有帮助的信息?
更新:我意识到右键单击当前可以让我移动分隔两个垂直选项卡的栏。我没有在任何地方设置这种行为,这可能来自哪里?这是我上网的 tmux conf:
# Set a new prefix / leader key.
set -g prefix M-j
bind M-j send-prefix
# Allow opening multiple terminals to view the same session at different sizes.
setw -g aggressive-resize on
# Remove delay when switching between Vim modes.
set -sg escape-time 10
# Allow Vim's FocusGained to work when your terminal gains focus.
# Requires Vim plugin: https://github.com/tmux-plugins/vim-tmux-focus-events …Run Code Online (Sandbox Code Playgroud)