目标:我想在(1)tmux复制/粘贴缓冲区,(2)系统剪贴板,(3)Vim "*
或"+
寄存器之间进行无缝集成。我不希望Vim在每个yank和put上默认为剪贴板集成;我想用这些寄存器中的任何一个显式调用它。
状态:当我在tmux之外运行Vim时,这可以正常工作。 tmux复制/粘贴和我的剪贴板之间的集成也可以正常工作(没有reattach-to-user-namespace
)。我唯一的问题是当我在tmux中运行Vim并想要使用这些寄存器时 - 在这种情况下,它们与我的tmux复制/粘贴缓冲区的系统剪贴板完全分开。
我认为我不应该需要reattach-to-user-namespace
,因为我的tmux / clipboard集成已经在Vim之外正常工作了。我认为我不需要set clipboard=unnamed
,因为我想使用默认的剪贴板寄存器。但我不完全确定我做需要什么。
Specs&设置:我正在使用+clipboard
运行OS X Sierra 10.12.3,tmux 2.3和Vim 8。我在iTerm 2(版本3.0.14)中运行这一切,不使用iTerm-tmux集成,并启用“终端中的应用程序可以访问剪贴板”。以下是我认为可能与我的dotfiles相关的设置。
~/.tmux.conf
:
set-option -g focus-events on
bind-key v copy-mode
bind-key p paste-buffer
bind-key -t vi-copy v begin-selection
bind-key -t vi-copy y copy-selection
bind-key -t vi-copy Enter copy-selection
bind-key -t vi-copy MouseDragEnd1Pane copy-selection
bind-key -t vi-copy r rectangle-toggle
~/.vimrc
Plugin 'tmux-plugins/vim-tmux-focus-events'
Plugin 'christoomey/vim-tmux-navigator'
如果有其他可能相关的设置,我很乐意根据要求添加到此列表中。我不想发布完整的tmux.conf
和vimrc
文件,因为这样会臃肿。
不是重复:在OS X中有很多与Vim / tmux剪贴板集成有关的问题,我已经阅读了它们但我仍然遇到了麻烦。我认为这不是这些问题的重复。
更新:我尝试使用reattach-to-user-namespace
并且效果很好。我不明白为什么Vim需要这个,但只是从tmux那里定期复制/粘贴没有。