2017-07-03 74 views
1

我认为这是常用操作,但无法找到任何关于此的信息。处于复印模式时(Ctrl + [)是否有快捷方式在光标下复制单词而无需手动创建选区?将光标复制到tmux中的光标下?

我试着切换到vi模式并使用yw,但它看起来并不像它的工作(事实上,我不完全确定除了将箭头键映射到hjkl之外还有什么vi模式)。

任何想法如何实现这一目标?

回答

2

编辑:正如@Sebastian Graf指出的,tmux现在有一个本地命令:send-keys -X select-word用于选择一个单词。接下来我离开后人......

bind -n -T copy-mode-vi C-d send-keys b \; send -X begin-selection \; send-keys E 

我使用上述至少选择光标在当前的单词。灵感来自Sublime Text的快捷方式是C-d。您还需要设置set-window-option -g mode-keys vi,但我相信这是默认设置。在vi模式下,b将光标移动到当前单词的开始位置,然后开始用begin-selection进行选择,然后将光标移动到当前单词的末尾,使用E

所以你也可以在字与复制:

bind -n -T copy-mode-vi C-d send-keys b \; send -X begin-selection \; send-keys E \; send -x copy-selection. 

我已经在这里包含所有的命令,因为我无法实际格式化它很好地在互联网上任何地方。

Function     Vi   Emacs 
------------------------------------------- 
Back to indentation  ^  M-m 
Bottom of history   G   M-< 
Clear selection   Esc  C-g 
Copy selection    Enter  M-w 
Cursor down    j   Down 
Cursor left    h   Left 
Cursor right    l   Right 
Cursor to bottom line  L  
Cursor to middle line  M   M-r 
Cursor to top line   H   M-R 
Cursor up     k   Up 
Delete entire line   d   C-u 
Delete/Copy to end of line D   C-k 
End of line    $   C-e 
Go to line     :   g 
Half page down    C-d  M-Down 
Half page up    C-u  M-Up 
Jump forward    f   f 
Jump backward    F   F 
Jump again     ;   ; 
Jump again in reverse  ,   , 
Next page     C-f  PgDown 
Next space     W 
Next space, end of word E 
Next word     w 
Next word end    e   M-f 
Paste buffer    p   C-y 
Previous page    C-b  PgUp 
Previous word    b   M-b 
Previous space    B 
Quit mode     q   Esc 
Rectangle toggle   v   R 
Scroll down    C-Down/C-e C-Down 
Scroll up     C-Up/C-y C-Up 
Search again    n   n 
Search again in reverse N   N 
Search backward   ?   C-r 
Search forward   /  C-s 
Start of line    0   C-a 
Start selection   Space  C-Space 
Top of history    g   M-> 
Transpose chars   C-t 
+1

请指点你去'发送密钥-X选择-word',喜欢这里https://stackoverflow.com/a/46638561/388010 –

+1

感谢,更新了我的答案 – tombh