每当我从tmux缓冲区复制某些内容(通常使用鼠标),稍后将其粘贴到ViM中时,内容将被截断。最后的尝试只给了我大约750字节的我复制的整个块。
这是在Mac上的iTerm。
答案 0 :(得分:3)
我遇到了同样的问题,并且导致粘贴步骤错误。我遇到了this post。
我试图做的是简单地使用ctrl-v从系统剪贴板粘贴(虽然有效,但只是部分,如你在问题中所解释的那样)。
相反,使用ctrl-b ]
从tmux缓冲区粘贴可以正确完成工作。
答案 1 :(得分:1)
使用tmux 1.8,iTerm2和reattach-to-user-namespace
时遇到了同样的问题。我遇到了修复问题的tmux配置绑定:它将最后一个缓冲区选择显式复制到剪贴板:
bind-key q run "tmux save-buffer - | reattach-to-user-namespace pbcopy"
将其放入~/.tmux.conf
,然后C-b q
会在选择后将所有内容都放入剪贴板。
答案 2 :(得分:0)
要在没有鼠标的情况下复制到Vim,您可以将tmux paste-buffer
命令输出正确粘贴到您正在编辑的文件中。
noremap <leader>p :r !tmux paste-buffer<cr>
将其保存在vimrc
。
它将 \ + p 映射到来自tmux缓冲区的粘贴。
<leader>
默认为反斜杠( \ )。
但您可以通过设置:
将其更改为您喜欢的任何其他键(*)let mapleader="\<Space>"
例如。
(*)在Vim的限制范围内,即。
答案 3 :(得分:0)
解决了问题。几点指示。
Sub MG30Nov12()
'Updateby20150519
Dim Rng As Range
Dim InputRng As Range
Dim nRng As Range
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set InputRng = InputRng.Parent.Range(InputRng.Columns(1).Address)
With CreateObject("scripting.dictionary")
.CompareMode = vbTextCompare
For Each Rng In InputRng
If Not .Exists(Rng.Value) Then
.Add Rng.Value, Rng.Offset(, 1)
Else
.Item(Rng.Value).Value = .Item(Rng.Value).Value + Rng.Offset(, 1)
If nRng Is Nothing Then
Set nRng = Rng
Else
Set nRng = Union(nRng, Rng)
End If
End If
Next
If Not nRng Is Nothing Then
nRng.EntireRow.Delete
End If
End With
End Sub
不是必需的。只需reattach-to-user-namespace
。pbcopy
tmux 2.3
事件触发MouseDragEnd1Pane
。pbcopy
表示鼠标支持正常工作。
仅iTerm2
只需tmux v2.1
。set-option -g mouse on
绑定如下这是我的精简MouseDragEnd1Pane
~/.tmux.conf
答案 4 :(得分:0)
我回答了类似的问题here。有几件可能会影响你的地方:
如果您尝试从系统缓冲区粘贴并获得此行为,则终端可能会限制截断tmux可以设置的数据大小。解决方案(在tmux 2.6+中)使用类似的东西:
# disable built-in setting of system clipboard
set-option -g set-clipboard off
# use external utility for setting system clipboard
# on Linux - xclip (+ssh display forwarding for remote machines)
# on osx - pbcopy
# on cygwin - cat > /dev/clipboard
# on Windows Subsystem for Linux (WSL) - clip.exe
# copy-pipe-* commands also copy to the tmux clipboard
# y yanks to clipboards but stays in copy mode
bind -T copy-mode-vi y send-keys -X copy-pipe "xclip -in -selection clipboard"
# Remove default handling
unbind -T copy-mode-vi Enter
# Enter yanks to clipboards then exits copy mode
bind -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xclip -in -selection clipboard"