昨天,我升级到了MacOS Sierra,它在我的tmux + neovim设置中破坏了我的剪贴板功能。
以下是行为:
每当我在tmux会话中使用vim中的剪贴板时,我都会收到以下vim错误:
clipboard: error:
我的.vimrc
很大,但我觉得这可能是相关的:
set clipboard=unnamed
在我的.tmux.conf
中(为简洁起见也被截断):
set -g prefix ` # use tilde key as prefix
bind ` send-key ` # insert tilde by pressing twice
set -g history-limit 100000 # set buffer size
set -s escape-time 0 # fix escape key in vim
set -g allow-rename off # keep window names static
set -g default-terminal "screen-256color" # set the TERM to 256 colors
set -g base-index 1 # start window count at 1
set -g pane-base-index 1 # start pane count at 1
set -g default-shell $SHELL # use zsh as shell
编辑:这似乎与此处报告的错误相关:
https://github.com/tmux/tmux/issues/543
https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/issues/53
答案 0 :(得分:59)
这似乎是对macOS Sierra的回归。 Josh McGinnis https://github.com/tmux/tmux/issues/543提到了一个对我有用的解决方案:
brew install reattach-to-user-namespace
确保在.tmux.conf中设置以下内容:
set -g default-shell $SHELL
set -g default-command "reattach-to-user-namespace -l ${SHELL}"
在.vimrc或〜/ .config / nvim / init.vim(对于Neovim):
set clipboard=unnamed
现在一切顺利,我可以在系统< - >之间复制/粘贴vim会话使用vim键绑定和/或系统ctrl + c / ctrl + p。
答案 1 :(得分:9)
升级brew + vim + tmux为我解决了这个问题:
<Window.Resources>
<ResourceDictionary>
...
<DataTemplate DataType="{x:Type sys:String}">
<TextBlock Background="ForestGreen" Text="{Binding .}"/>
</DataTemplate>
<DataTemplate DataType="{x:Type local:CustomObject}">
<StackPanel Orientation="Horizontal">
<TextBlock Background="Red" Text="{Binding firstString}"/>
<TextBlock Background="Red" Text="{Binding secondString}"/>
</StackPanel>
</DataTemplate>
</ResourceDictionary>
</Window.Resources>
<ItemsControl>
...
<ItemsControl.ItemTemplate>
<DataTemplate>
<ContentControl Content="{Binding .}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
...
</ItemsControl>
备注:强>
brew update
brew upgrade vim
brew upgrade tmux
brew link --overwrite ruby
# set-option -g status-utf8 on
(事后看来这可能搞砸我的xcode-select --install
安装:/。买家要小心)< / LI>
react-native
brew时抱怨它没有brew update
的写入权限,因此我自己成为/usr/local
非回归的所有者。更新brew后告诉我,我可以将所有者更改回/usr/local
。答案 2 :(得分:1)
升级到塞拉利昂后,我也看到了同样的情况。在我的情况下,它源于安装了YankRing插件。
将以下内容添加到我的.vimrc中为我修复了它:
$("#scroll").on("change", function() {
variable= $("#scroll").val();
}