У мене запущена остання версія tmux (із сховища git) та xclip (0,12), і я хотів би мати можливість використовувати прив’язки клавіатури до Emacs для переміщення тексту в тексті copy-mode
, копіювання ( M-w
) виділення до буфера обміну та вставити ( C-y
) з / в буфер для копіювання до буфера обміну.
Поки що мені вдалося вставити текст C-y
і переміщатися за copy-mode
допомогою прив’язок клавіатури до Emacs, але я все ще не можу скопіювати текст із буфера tmux (наприклад, у copy-mode
)
Я знайшов цей потік для копіювання всього буфера до буфера обміну (і viceversa), але він, здається, не працює для мене.
Також у списку tmux-users
пошти мені сказали, що останні версії tmux (лише у git repo) містять команду, яку називають copy-pipe
. Сторінка man говорить про цю команду:
Одна команда приймає аргумент, copy-pipe, який копіює виділення і передає його команді. Наприклад, наступне буде прив'язувати "C-q" для копіювання виділення в / tmp, а також буфера вставлення:
bind-key -temacs-copy C-q copy-pipe "cat >/tmp/out"
Схоже, copy-pipe
це призначене частково використовувати для передачі вибору іншій команді. У цьому описі та в команді також здається, що є помилки (що це temacs-copy
?)
У будь-якому випадку, що я хотів би зробити:
Копіювання:
- Введіть режим копіювання
- Перейти до тексту , який я хочу , щоб скопіювати з допомогою команд навігації Emacs (тобто
C-f
,C-b
,M-f
,M-b
,C-a
, іC-e
т.д. , щоб перемістити курсор). Ніякого префікса для жодного з них - Скопіюйте вибраний текст у буфер обміну за допомогою:
M-w
( жодного префіксу немає )
Вставка:
- Я хотів би мати можливість
C-y
( без введенняcopy-mode
) вставляти текст у термінал (також немає префіксу )
Я спробував скопіювати наступне без удачі:
bind-key -n M-w run "tmux save-buffer - | xclip -i -selection clipboard"
Однак обклеювання чудово працює:
bind-key -n C-y run "xclip -o | tmux load-buffer - ; tmux paste-buffer"
Дивно те, що я знаю, що " xclip -i -selection clipboard
" команда копіювання вище "" працює добре, оскільки я можу скопіювати речі в буфер обміну в командному рядку, наприклад:
echo "Hello world. How are you?" | xclip -i -selection clipboard
З усього цього, як я можу скопіювати виділення з режиму копіювання до буфера обміну?