Tmux 滚动模式:vim 键绑定?

don*_*lan 7 tmux

因此,如果我在 Tmux 中并且有一堆输出到达终端,我可以按以下键滚动浏览它:

ctrl-b [
Run Code Online (Sandbox Code Playgroud)

现在,我必须举起手并使用箭头键向上滚动。

如何在滚动模式下映射 vim 键?

jer*_*ile 14

2020 年更新:我认为任何人都不应该使用低于 2 的任何版本的 tmux,因此现代 tmux 的简洁配置只是

set-window-option -g mode-keys vi
bind-key -T copy-mode-vi v send -X begin-selection
bind-key -T copy-mode-vi V send -X select-line
bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
Run Code Online (Sandbox Code Playgroud)

上一个答案

不确定您拥有哪个 tmux。这适用于 1.8 和 2.6,这是我被迫使用的两个。

run-shell "tmux setenv -g TMUX_VERSION $(tmux -V | cut -c 6-)"
if-shell -b '[ "$(echo "$TMUX_VERSION < 2.4" | bc)" = 1 ]' \
  "setw -g mode-keys vi; \
  bind-key Escape copy-mode; \
  bind-key -t vi-copy v begin-selection; \
  bind-key -t vi-copy V select-line; \
  bind-key -t vi-copy y copy-pipe 'xclip -in -selection clipboard'"

if-shell -b '[ "$(echo "$TMUX_VERSION >= 2.4" | bc)" = 1 ]' \
  "set-window-option -g mode-keys vi; \
  bind-key -T copy-mode-vi v send -X begin-selection; \
  bind-key -T copy-mode-vi V send -X select-line; \
  bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel 'xclip -in -selection clipboard'"
Run Code Online (Sandbox Code Playgroud)

hjkl 的相关部分仅setw -g mode-keys vi适用于 1.8 和set-window-option -g mode-keys vi2.6(这些甚至可能是别名并且在两个版本中都可以使用,不确定)。话虽如此,vV映射xclip绝对有用。


don*_*lan 9

为了补充已接受的答案,我发现以下几.tmux.conf行完成了我所需要的大部分内容:

set-window-option -g mode-keys vi
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
Run Code Online (Sandbox Code Playgroud)