vim - tmux 在复制模式下使用 vim 键绑定(bind)跨面板移动

标签 vim tmux

我目前正在我的 .tmux.conf 上使用它

bind -n C-h if "[ $(tmux display -p '#{pane_current_command}') = vim ]" "send-keys C-h" "select-pane -L"
bind -n C-j if "[ $(tmux display -p '#{pane_current_command}') = vim ]" "send-keys C-j" "select-pane -D"
bind -n C-k if "[ $(tmux display -p '#{pane_current_command}') = vim ]" "send-keys C-k" "select-pane -U"
bind -n C-l if "[ $(tmux display -p '#{pane_current_command}') = vim ]" "send-keys C-l" "select-pane -R"

这让我只需按下:ctrl + [hjkl] 就可以像在 vim 中那样移动(左、下、上、右),但在 tmux 中进入复制模式时:

ctrl + b + [

我的绑定(bind)停止工作,如果我想移动我需要使用箭头键:

ctrl + b + 方向键

关于如何保持 vim 绑定(bind)在复制模式下工作或使它们在任何使用模式下永久有效的想法?

我想在复制模式下跨面板移动,不要将其与尝试复制类似 vim 的文本混淆。

最佳答案

我遇到了同样的问题。这似乎是 tmux 2.4 的问题。您可以在之前的回复 (https://github.com/christoomey/vim-tmux-navigator/issues/159) 中提到的插件上查看此问题。

简而言之,只需将其添加到您的 .tmux.conf

bind-key -T copy-mode-vi C-h select-pane -L
bind-key -T copy-mode-vi C-j select-pane -D
bind-key -T copy-mode-vi C-k select-pane -U
bind-key -T copy-mode-vi C-l select-pane -R
bind-key -T copy-mode-vi C-\ select-pane -l

关于vim - tmux 在复制模式下使用 vim 键绑定(bind)跨面板移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42202936/

相关文章:

vim - <SID> 与foldexpr

tmux - tmux 中的 Ctrl-C 关闭窗口 Pane 但不退出 tail -F

node.js - 使用 tmux 时,未获取 nvm

gnu-screen - 从客户端运行 gnu-screen/tmux/byobu

Vimscript : Trigger when cursor moved between lines

vim - 如何在 Vim 中创建新目录和文件

python - 如何匹配此模式和字符串中的最后一个空格?

linux - 如何使用 bash 脚本中的 tmux 将屏幕分成 3 部分

macos - 如何使用鼠标在 tmux 中滚动?

vim - 在插入模式下使用 vim 文件名完成遍历目录 (Ctrl-X Ctrl-F)