2017-07-03 50 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