Выбор текста в режиме копирования Tmux


73

Я запускаю Tmux в режиме Vi. Vi-подобная навигация в режиме копирования работает нормально. Тем не менее, я не могу выбрать любой текст. Ни v, ни v не переключаются в Vi-подобный режим выбора текста.

Чего мне не хватает?

Кстати, можно ли отображать номера строк в режиме копирования?

PS: я запускаю Tmux на Mac OS с оболочкой Z

Ответы:


90

Краткий ответ: пробел начинает выделение и ввод копий.

Для дальнейшего использования я получил это со страницы руководства tmux:

       Function                vi             emacs
       Back to indentation     ^              M-m
       Clear selection         Escape         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 to end of line   D              C-k
       End of line             $              C-e
       Goto line               :              g
       Half page down          C-d            M-Down
       Half page up            C-u            M-Up
       Next page               C-f            Page down
       Next word               w              M-f
       Paste buffer            p              C-y
       Previous page           C-b            Page up
       Previous word           b              M-b
       Quit mode               q              Escape
       Scroll down             C-Down or J    C-Down
       Scroll up               C-Up or K      C-Up
       Search again            n              n
       Search backward         ?              C-r
       Search forward          /              C-s
       Start of line           0              C-a
       Start selection         Space          C-Space
       Transpose chars                        C-t

Обновление: tmux list-keysкоманда также перечислит любые пользовательские привязки клавиш, которые у вас есть.


70

Вы используете пробел для начала выделения и вводите для конца.

копия:

  • Ctrlb[
  • Space
  • Enter

вставить:

  • Ctrlb]

1
Это должно быть ответом. Это можно улучшить, объяснив вход / выход из режима копирования.
mcsilvio

2
Отлично, краткий ответ. Просто примечание для неофитов vi [m]: если вы используете модальный редактор или командную строку, вам нужно убедиться, что вы находитесь в режиме вставки, прежде чем пытаться вставлять, используя вышеупомянутые Ctrl+b+]. Ретроспективно, но отправил меня туда-сюда несколько раз, пока я не набросился
JM Janzen

Я думаю, что форматирование и краткость были бы отличной заменой раздела «краткий ответ» в моем ответе. Есть ли способ объединить ответы, которые дают кредит, где кредит должен?
Блюхавана

хм ... думая дальше, я думаю, что два ответа более уместны, просто хотелось бы, чтобы это было как-то выше.
Блюхавана

23

Вы также можете настроить файл .tmux.conf, добавив:

# Use v to trigger selection    
bind-key -T copy-mode-vi v send-keys -X begin-selection

# Use y to yank current selection
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel

что позволит 'v' и 'y' войти в визуальный режим и копировать, как в vim.

( Источник )


1
Я получаю «команда не найдена: bind-key» в tmux 1.9a
Оливье Лалонд

Ой, я случайно положил его в свой .zshrc, nvm :)
Оливье Лалонд

7
Этот материал изменился в новых версиях Tmux. Это сейчасbind-key -T copy-mode-vi ...
Стивен Лу

21

В апстриме (2.4+) tmux изменился способ привязки для начала выбора. Чтобы создать привязку для того, что запрашивает OP, используйте -Tsend-keys с -X:

# Use v to trigger selection    
bind-key -T copy-mode-vi v send-keys -X begin-selection

# Use y to yank current selection
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel

Мой режим копирования tmux просто перестал работать полностью, и я не мог разобраться, это исправило это.
GTF

tmuxобновления ломают мои конфиги чаще, чем хотелось бы ... :-(
Чиро Сантилли 新疆 改造 中心 法轮功 六四 事件

2

Я считаю, что вход в режим vi - это мое узкое место, для которого я использую следующее:

setw -g mode-keys vi
set-window-option -g mode-keys vi  
unbind [
bind-key -n F2 copy-mode
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.