previous-window
我刚刚将Tmux 中的命令的键绑定配置为Ctrl-[
.当我这样做时,我注意到我的Escape
行为与命令相同Ctrl-[
。换句话说,Escape
当我按下该键时,该键也开始更改为上一个窗口。这是非常有问题的,因为例如,当我在 vim 中编辑时,我无法进入正常模式,因为 Tmux 试图更改为前一个窗口。
我已经尝试通过将unbind-key -a
(我也在底部包含我的配置文件)放在我的 Tmux 配置文件的顶部来解除所有以前的 Tmux 键绑定。我也尝试过单独解绑Escape
密钥,但也没有成功。之后我尝试交换线路bind-key -n C-[ previous-window
以bind-key -n Escape previous-window
检查相反的情况是否成立。毫不奇怪,即使退出键必然会更改为上一个窗口,按下Ctrl-[
它仍然有效。最后我检查了系统设置中的键盘布局是否正确,也没有问题...请注意,source-file ~/.tmux.conf
在更改配置文件中的任何内容后,我总是重新启动 Tmux。
此时,我唯一的猜测是 Tmux 将Ctrl-[
相同的组合视为Escape
密钥,我觉得这非常令人困惑。如果是这样的话,我不知道如何或去哪里解决它。
这是我的 .tmux.conf 文件(其中大部分可能是不必要的,但无论如何我都将其包含在内):
unbind-key -a
## Use default gnome terminal PS1
set-option -g default-command bash
# remap prefix from 'C-b' to 'C-a'
unbind Escape
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
# split panes using | and -
bind -n C-\\ split-window -h
bind -n C-_ split-window -v
unbind '"'
unbind %
# Create new window with ctrl+w and unbind previous commands
bind-key -n C-n new-window
bind-key -n C-] next-window
bind-key -n C-[ previous-window
unbind &
unbind c
# unbind C-p
# Resize panes using alt and vim commands
bind -n M-h resize-pane -L 5
bind -n M-j resize-pane -D 5
bind -n M-k resize-pane -U 5
bind -n M-l resize-pane -R 5
# Unbind previous pane resize commands
unbind C-Left
unbind C-Right
unbind C-Up
unbind C-Down
# Reload tmux configuration with prefix (Ctrl+A) and r
bind-key r source-file ~/.tmux.conf \; display-message "~/.tmux.conf reloaded"
# switch panes using Alt-arrow without prefix
bind -n C-h select-pane -L
bind -n C-l select-pane -R
bind -n C-k select-pane -U
bind -n C-j select-pane -D
# Keys for ending sessions and windows etc.
bind -n C-w kill-window
bind -n C-q kill-server
# bind -n C-e kill-pane
# Enable mouse mode (tmux 2.1 and above)
set -g mouse on
setw -g monitor-activity on
# don't rename windows automatically
set-option -g allow-rename off
# PLUGIN MANAGER
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Theme plugin
set -g @plugin 'jimeh/tmux-themepack'
# Theme to use
set -g @themepack 'powerline/default/blue'
# Enable tmux vi mode
# setw -g mode-keys vi
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run -b '~/.tmux/plugins/tpm/tpm'
我非常感谢所有的帮助,并提前感谢大家。