copy-paste не работает в MacVim при запуске в tmux
19
Копирование-вставка MacVim перестает работать, когда я запускаю его с терминала tmux (на zsh). Если я выхожу из tmux, а затем запускаю MacVim copy-past works. Есть идеи как это исправить?
Резюме: я нашел патч ненадежным. Он разрешил доступ с картона, но вызвал много предупреждающих сообщений от моей установки libevent версии 2 (возможно, версия 1 менее затронута). Это также препятствует тому, чтобы сервер tmux выполнял свой обычный fork (2) (через daemon (3) ), что является значительным изменением того, как серверный процесс был разработан для работы.
Я закончил тем, что опубликовал программу, которая работает вокруг проблемы без исправления Tmux . Люди, у которых были проблемы с использованием монтажной панели под tmux (и те, для которых вышеупомянутый патч не работает удовлетворительно), могут попробовать мой обходной путь.
Большое спасибо за ваше исследование об этой действительно раздражающей проблеме и блестящем решении, это работает как очарование
mko
Большое спасибо за это. Я могу скопировать текст из iTerm и вставить в Mac vim, запущенный сейчас в tmux. Однако, если я ^b + [начну режим просмотра и использую Space+ Enterдля выделения и копирования текста, я не смогу вставить его в Mac vim. Пожалуйста посоветуй?
Фуонг Нгуен
1
@PhuongNguyen: выход, copy-modeподобный этому, просто копирует в буфер tmux , а не в монтажную панель Mac. Вы можете использовать команду Vim, например, :r!tmux save-buffer -для чтения буфера. Или вы можете организовать копирование данных на монтажную панель Mac: tmux save-buffer - | reattach-to-user-namespace pbcopy(может быть, через привязку tmux через run-shell) или (в tmux 1.8+) выйти copy-modeс привязкой типа bind -t vi-copy y copy-pipe 'reattach-to-user-namespace pbcopy'(то есть использовать это yвместо того, Enterчтобы выбрать).
Ответы:
Вы можете попробовать патч, упомянутый в связанном потоке ( «OSX 10.6.5, Terminal.app, iTerm.app pbpaste, pbcopy не работают под tmux» ) из списка рассылки tmux-users (фактически размещенного на sf.net, но Я ненавижу их интерфейс архива ).
Примечание: исправление было когда-то применено к порту MacPorts, но позже оно было отменено, когда предполагалось, что оно вызывает другие ошибки . Однако эти ошибки могли быть вызваны неправильной версией libevent (и кажется, что последние версии tmux будут работать с любой версией libevent ).
Поскольку helgeg поднял его , я упомяну свои заметки о моей попытке использовать вышеупомянутый патч.
Резюме: я нашел патч ненадежным. Он разрешил доступ с картона, но вызвал много предупреждающих сообщений от моей установки libevent версии 2 (возможно, версия 1 менее затронута). Это также препятствует тому, чтобы сервер tmux выполнял свой обычный fork (2) (через daemon (3) ), что является значительным изменением того, как серверный процесс был разработан для работы.
Я закончил тем, что опубликовал программу, которая работает вокруг проблемы без исправления Tmux . Люди, у которых были проблемы с использованием монтажной панели под tmux (и те, для которых вышеупомянутый патч не работает удовлетворительно), могут попробовать мой обходной путь.
источник
^b + [
начну режим просмотра и используюSpace
+Enter
для выделения и копирования текста, я не смогу вставить его в Mac vim. Пожалуйста посоветуй?copy-mode
подобный этому, просто копирует в буфер tmux , а не в монтажную панель Mac. Вы можете использовать команду Vim, например,:r!tmux save-buffer -
для чтения буфера. Или вы можете организовать копирование данных на монтажную панель Mac:tmux save-buffer - | reattach-to-user-namespace pbcopy
(может быть, через привязку tmux черезrun-shell
) или (в tmux 1.8+) выйтиcopy-mode
с привязкой типаbind -t vi-copy y copy-pipe 'reattach-to-user-namespace pbcopy'
(то есть использовать этоy
вместо того,Enter
чтобы выбрать).y
: DКрис Джонсен создал оболочку, которая решает проблему использования pbcopy и pbpase в OSX. https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard (основная причина проблемы MacVim выше).
источник
Еще один хакерский способ обойти проблему, которую Крис Йонсен подробно описал,
(Короче говоря: Tmux теряет доступ к буферу вставки OS X из-за того, как он запускается сам)
это всегда не забывать открывать MacVim из папки приложений или сеанса терминала не tmux.
и использовать это
http://webexpose.org/2008/10/13/open-macvim-tabs-from-command-line
учебник о том, чтобы всегда открывать файлы в новой вкладке в том же окне MacVim.
Это окно MacVim уже будет иметь доступ к буферу вставки, и вам не придется проходить через другие циклы.
Но вы должны помнить, чтобы не запускать MacVim с tmux при первой загрузке :(
источник