Теперь для копирования в системный буфер обмена я должен выделить с помощью мыши текст в окне tmux с помощью Shift
клавиши. И тогда мне нужно запустить эту команду:
tmux save-buffer - | reattach-to-user-namespace pbcopy
Есть ли возможность проще сохранить в системный буфер обмена? Привязка клавиш или лучше сделать это автоматически после отпускания Shift.
Моя конфигурация tmux: https://gist.github.com/3641580
macos
shell
command-line
tmux
Tomekfranek
источник
источник
osx
, но в ответах говорится о левом и среднемОтветы:
Если вы используете iTerm2, вы можете копировать текст в сеансе Tmux, удерживая Optionклавишу при перетаскивании мыши, чтобы сделать выбор.
Тогда должна быть возможность вставить текст куда угодно с Cmd+, Vкак обычно. Нашел здесь: http://web.archive.org/web/20131226003700/http://ootput.wordpress.com/2013/08/02/copy-and-paste-in-tmux-with-mouse/
источник
Если вы используете iTerm2 3.x, вы можете заставить работать копирование / вставку, включив
Applications in terminal may access clipboard
:Просто выделите текст мышью, чтобы скопировать его в буфер обмена OS X! Нет необходимости нажимать, Optionкак это предлагается в ответе на вопрос о допустимости.
Вы также можете вставить из буфера обмена OS X в tmux с помощью обычного Cmd+ V.
источник
reattach-to-user-namespace
подходы, основанные на -базах, не работают для меня, потому что я часто использую ssh на Linux-машинах. Однако это решение отлично работает! Спасибо!set clipboard=unnamed
в свой vimrc для этой целиЗдесь есть аналогичный вопрос: /unix/15715/getting-tmux-to-copy-a-buffer-to-the-clipboard
Решение найдено там:
# move x clipboard into tmux paste buffer bind C-p run "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer" # move tmux copy buffer into x clipboard bind C-y run "tmux show-buffer | xclip -i"
Проверьте также: http://awhan.wordpress.com/2012/04/18/tmux-copy-paste-with-mouse/
если вы установили следующие параметры:
панель выбора мыши
окно выбора мыши
вы заметите, что вообще не можете выделить текст.
hold down the shift key and then left click and drag across the target text. you must also hold down the shift key and then middle click in order to paste the text.
источник
xclip -o
=>pbpaste
,xclip -i
=>pbcopy
.Для os x, если вы используете приложение «Терминал». Вы можете отключить прокрутку мыши и использовать обычные функции копирования / вставки (cmd + c / cmd + v):
или вы можете использовать прокрутку мыши и выбрать текст с помощью клавиши «fn»:
источник
fn
ключ наконечник спасатель жизни! Многие люди предлагают использовать,ALT
но он не работает на последнейВ OSX с использованием tmux версии 2.2 или новее добавьте в файл tmux.conf следующее:
bind-key -t emacs-copy MouseDragEnd1Pane copy-pipe "pbcopy" bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "pbcopy"
Для tmux версии 2.4, поскольку они любезно решили изменить синтаксис команды, вы должны использовать:
bind-key -T copy-mode MouseDragEnd1Pane send -X copy-pipe-and-cancel "pbcopy"
Обратите внимание, что вам также может потребоваться использовать
reattach-to-user-namespace pbcopy
вместо plainpbcopy
.источник
Помещение этого в мой файл ~ / .tmux.conf работает для меня:
bind y run-shell "reattach-to-user-namespace -l zsh -c 'tmux show-buffer | pbcopy'"
Все другие возможные решения, которые я нашел, заключались в копировании какого-то пустого содержимого в буфер обмена OSX.
Единственная проблема заключается в том, что это, кажется, помещает возврат каретки в конец вставленного содержимого.
источник
нажмите левую кнопку мыши и удерживайте ее, выделите текст на панели и удерживайте кнопку нажатой. затем нажмите «y», чтобы сохранить выделение в буфере обмена и выйти из режима выделения / копирования.
здесь работает с iTerm 3.1.beta.5, tmux 2.5 и следующей конфигурацией:
### copy & paste ------------------------------------------------------- # Use vim keybindings in copy mode setw -g mode-keys vi # Setup 'v' to begin selection as in Vim bind-key -T copy-mode-vi v send -X begin-selection bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy" # Update default binding of `Enter` to also use copy-pipe unbind -T copy-mode-vi Enter bind-key -T copy-mode-vi Enter send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
источник
unbind
.copy-mode-vi
тогда как более старая версия используетcopy-mode
.нажмите клавишу Shift, а затем щелкните мышью !! Проверьте эту ссылку. http://awhan.wordpress.com/2012/04/18/tmux-copy-paste-with-mouse/
источник
Мне удалось решить эту проблему с помощью
CMD
+C
после выбора текста с помощьюFN
+mouse drag with left button down
изtmux
окна вTerminal
приложении macOS High Sierra.источник
Сегодня я сделал довольно простую версию с использованием netcat.
https://github.com/base698/tmux-copy-paste-mac-osx
Вот tmux.conf:
bind -t vi-copy 'v' begin-selection bind -t vi-copy 'y' copy-pipe 'nc localhost 5682' bind p run-shell 'nc localhost 5683; nc localhost 5683 | tmux load-buffer -' \; paste-buffer
Работает и с мышью в 1.8
источник
Вот решение, которое я использую для
tmux
версии 2.8, macOS Mojave 10.14.1 и Terminal.app.После отпускания кнопки мыши это удаляет выделение при копировании в системный буфер обмена (а также в
tmux
буфер):bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pbcopy"
источник
Надежное решение, которое работает с любой комбинацией mosh + tmux + vim + вложенных сеансов.
Потратив много дней на решение этой проблемы, на сегодняшний день самым надежным решением, которое я обнаружил, является опубликованное решение Сураджа Н. Курапати . Решение работает локально с (и без) tmux v3.2 и / или vim, а также удаленно с (и без) tmux и / или vim , используя как клавиши режима копирования, так и простой выбор мышью.
Если в сочетании с ( в настоящее время открыт) Майк Гулик по запросу тянуть все эти комбинации работают с Mosh , а также.
Пока решение Майка не будет объединено в mosh, вы можете вытащить его изменения и построить локально, используя:
Ubuntu:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key C99B11DEB97541F0 \ && sudo apt-add-repository https://cli.github.com/packages \ && sudo apt update \ && sudo apt install -y gh autoconf automake perl protobuf-compiler libprotobuf-dev libncurses-dev zlib1g-dev libutempter-dev libssl-dev pkg-config \ && mkdir -p ~/tmp/mosh \ && git clone https://github.com/mobile-shell/mosh ~/tmp/mosh \ && cd ~/tmp/mosh \ && gh pr checkout 1104 \ && ./autogen.sh \ && ./configure \ && make \ && sudo make install
macOS:
Я думаю, вам нужно сначала установить инструменты командной строки Apple Xcode / Developer (которые, IIRC, теперь можно сделать, просто запустив
gcc
и выйдя), а затем запустив:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" \ && brew install gh autoconf automake && mkdir -p ~/tmp/mosh \ && git clone https://github.com/mobile-shell/mosh ~/tmp/mosh \ && cd ~/tmp/mosh \ && gh pr checkout 1104 \ && ./autogen.sh \ && ./configure \ && make \ && sudo make install
Благодаря этим обновлениям, наконец, стал святым Граалем буфера обмена!
Однако это очень новая информация, поэтому этот мой пост довольно изменчив. Следовательно:
Пожалуйста, исправьте мой пост, если:
gh pr checkout 1104
изменений Майка больше не требуется, потому что они были объединены в mosh, илиисточник