2014-08-28 33 views
1

我想知道可能的選項是什麼tmux vi-copy綁定。我在我的.tmux.conf如下:如何在tmux vi-copy模式下快速滾動時保留上下文?

bind -t vi-copy e  start-of-line 
bind -t vi-copy r  end-of-line 
bind -t vi-copy v  begin-selection 
bind -t vi-copy V  rectangle-toggle 
bind -t vi-copy K  page-up 
bind -t vi-copy J  page-down 
bind -t vi-copy h  cursor-left 
bind -t vi-copy j  cursor-down 
bind -t vi-copy k  cursor-up 
bind -t vi-copy l  cursor-right 
bind -t vi-copy C-f cancel 

Q1:我已經有一陣子我的配置文件,有這個,而且不知道哪裏在最後一欄的選項從何而來。谷歌搜索只顯示了我的其他論壇,有這樣的代碼片段。我無法找到關於這些關鍵字的文檔。有任何想法嗎?不,不是manpage :)

Q2:如果可能的話,我想至K改變(的嘗試和失敗)半向上翻頁,甚至像「上浮5行」,以保存上下文。

嘗試和失敗:

1) bind -t vi-copy K half-page-up 
2) bind -t vi-copy K M-Up 
3) bind -t vi-copy K C-u  // already configured half page-up 

THX!

回答

2

您可以使用tmux list-keys -t vi-copy查看在vi-copy模式下映射的所有功能的列表。如果你希望看到所有可能的命令,你可以看看源代碼,特別是mode-key.c。我不認爲有任何文件將它們全部列出。

你正在尋找的映射是:

bind-key -t vi-copy 'K' halfpage-up 
bind-key -t vi-copy 'J' halfpage-down 
+0

看起來我和我的第一次嘗試'半頁'是如此接近。 Thx爲mode-key.c上的提示。應該有自己的想法。我在那裏找到了89個映射選項的列表。會「上移5行」還是「左移5列」? – gospes 2014-08-29 08:12:48

0

不幸的是,這部分沒有很好地TMUX記錄。

append-selection 
back-to-indentation 
begin-selection 
bottom-line 
cancel 
clear-selection 
copy-end-of-line 
copy-line 
copy-pipe 
copy-selection 
cursor-down 
cursor-left 
cursor-right 
cursor-up 
end-of-line 
goto-line 
halfpage-down 
halfpage-up 
history-bottom 
history-top 
jump-again 
jump-backward 
jump-forward 
jump-reverse 
jump-to-backward 
jump-to-forward 
middle-line 
next-space 
next-space-end 
next-word 
next-word-end 
other-end 
page-down 
page-up 
previous-space 
previous-word 
rectangle-toggle 
scroll-down 
scroll-up 
search-again 
search-backward 
search-forward 
search-reverse 
select-line 
start-named-buffer 
start-number-prefix 
start-of-line 
top-line 

所有這些命令都適用於VI複製和emacs複製模式,但行爲可能會有所不同:

這是「複製模式」的完整清單,從源代碼撕去了2.2版本的命令儘管如此,使它與vi或emacs一致。

有一些不足之處時,TMUX是「在模式」:

  • 沒有理智的命令列表或選項卡中完成的「模式」命令
  • 沒有辦法命令在「模式」相結合:可以只將一個動作綁定到按鍵上,而這組動作是有限的。

還有一個補丁解決這些問題:http://ershov.github.io/tmux/

它增加了全面的腳本支持到TMUX。

利用這一點,你可以列出所有可用的命令:

info commands ::tmux::* 

列出所有 '模式' 命令:

info commands ::tmux::mode::* 

列出所有 '複製模式' 命令:

info commands ::tmux::mode::copy::* 

在複製模式下綁定多個操作:

bind-key -t vi-copy K tcl { scroll-up ; scroll-up }