Відповіді:
Вам доведеться використовувати ярлики tmux. Якщо припустити, що ваш ярлик команди tmux є типовим: Ctrl+ b, тоді:
Ctrl+ b, [Введіть режим копіювання (?).
Перемістіть на початок / кінець тексту для виділення.
Ctrlspace
Почніть виділяти текст (на Arch Linux). Коли я компілював tmux з джерела на OSX та інших Linux, Spaceзазвичай сам по собі працює. Вибраний текст змінює кольори, тож ви дізнаєтесь, чи працювала команда.
Перейдіть до протилежного кінця тексту, щоб скопіювати.
Alt+ wКопіює вибраний текст у буфер обміну tmux. (У Mac використовується Esc+ w.)
Перемістіть курсор до протилежної області tmux або зовсім іншого вікна tmux. Покладіть курсор туди, де ви хочете вставити текст, який ви тільки що скопіювали.
Ctrl+ b, ]Вставити скопійований текст із буфера обміну tmux.
tmux дуже хороший у зіставленні команд на спеціальні комбінації клавіш.
Дивіться Ctrl+ b, ?для повного списку встановлених комбінацій клавіш.
screen
ярлики: Ctrl + A [
(введіть режим копіювання), Space
(почати виділення), Enter
(закінчити виділення), Ctrl + A ]
(вставити).
Enter
ключ.
На жаль, я поки що не можу додати коментар до відповіді Алекса Ліха, тому я збираюся тут включити додаток для користувачів Mac OS X:
byobu
/ tmux
з усіма налаштуваннями за замовчуванням, це спрацювало, Alt + w не зробив.
Якщо ви використовуєте vim та tmux на macOS (випробувано на macOS 10.12.2, tmux 2.3):
(Припустимо, що комбінація ключових префіксів tmux є prefix. Префікс ctrl+ bза замовчуванням.)
Я підключаюся до свого сервера CentOS на машині Windows за допомогою клієнтського ssh- терміналу ZOC . Ось що для мене працює:
<prefix>
+[
<Space>
<Enter>
<prefix>
+]
Ви можете використати системну дошку для кліпів з "* y і" * p замість звичайних y і p.
"+2yy
скопіювати - скопіювати два рядки в буфер обміну X11 "+dd
- лінію зрізу до буфера обміну X11 "+p
- вставити буфер обміну X11
h,j,k,l
для Я також бачив іноді в моїй програмі Ubuntu VM, "+" реєстр зникає з невідомих причин. Щоб перевірити, чи є у вас +
регістр, ви можете ввести :reg
та перевірити, чи є рядок "+
у першому стовпчику.
y
і p
до "+y
і "+p
?
Якщо у вас vim
відкрито, краще скопіювати текст копії vim для копіювання тексту.
Tmux copy paste буде працювати, проте є кілька недоліків.
По-перше, при копіюванні декількох рядків тексту вам доведеться вибрати кілька рядків. Копія паста Tmux зазвичай не розуміє, чи vim
є номери ліній або є жолоби в жолобі vim (наприклад, відносні числа / абсолютні числа). Як результат, вони копіюватимуть і ці.
По-друге, я виявив, що якщо текст має певне для конкретної мови форматування, і ви безпосередньо намагаєтесь скопіювати пасту за допомогою tmux для vim, це зіпсує форматування. Цього можна уникнути, використовуючи set paste!
. Однак для цього потрібно значно більше роботи.
"+y
для копіювання та "+p
вставкиVim
споконвічно надає спосіб копіювання пасти між буфером vim та системним буфером, використовуючи "+y
або "*y
. Потім вставляємо за допомогою "+p
або "*p
. Це дозволить уникнути копіювання відносних чисел у жолобі чи інших випадкових позначок, які не мають відношення до vim
Кілька варіантів використання vim, оскільки послідовність ярликів tmux трохи довга, і мені важко запам'ятати
Як і вищезгадані відповіді, ви можете використовувати "+y
і "*y
копіювати, і потім, "+p
і "*p
відповідно вставляти. Якщо ви хочете, щоб vim використовував буфер обміну за замовчуванням, то ви можете просто скористатися y/p
безпосередньо тоді.
set clipboard=unamed "sets the default copy register to be *
set clipboard=unamedplus "sets the default copy register to be +
джерело для команди буфера обміну: https://vi.stackexchange.com/questions/84/how-can-i-copy-text-to-the-system-clipboard-from-vim
:w /tmp/lines
, а потім:r /tmp/lines
в іншому випадку). Або якщо ваш Vim знає, як спілкуватися з вашим системним буфером обміну, ви можете скористатися+
або*
зареєструватися, щоб уникнути тимчасового файлу.