修复Vim Tmux yank /粘贴在未命名的寄存器

当在一个tmux会话中使用vim时,我无法转储或粘贴到未命名的寄存器。去一个命名的寄存器工作正常,但未命名从不工作。

错误是:

E353: nothing in register *

没有tmux,vim工作正常使用我当前的设置。如何解决它,所以我可以使用y然后p没有错误,没有指定的注册表?

错误消息(寄存器*中没有),看起来当你做一个简单的? p,你的Vim实例使用 *register而不是 unnamed register *。这可能是因为您的 clipboard option包括未命名的值。当以这种方式配置时,Vim将认使用*寄存器而不是未命名的寄存器用于yank,delete,change和put操作(即除非你指定另一个带有前缀的寄存器,例如ap从a寄存器) 。

*未命名的寄存器实际上被命名为“(双引号)。它只是”未命名“,在你不必命名它使用它(它是认值)的意思,你不必说”从无名寄存器,只是p。

剪贴板的认值不包含未命名,因此它可能来自您的配置(或插件)的一些位。命令:verbose set clipboard?将显示设置当前值的脚本。如果这是在你的配置文件中,那么你可能不想做,当你在tmux下运行。例如:

if $TMUX == ''
    set clipboard+=unnamed
endif

或者,可以有一些方法让Vim-inside-tmux的实例访问GUI选择/剪贴板(从而使用*寄存器和/或在剪贴板中未命名)。如果您正在运行Mac OS X,您可能需要查看my workaround wrapper,为在tmux会话中运行的进程重新启用剪贴板访问。如果你使用一些其他的操作系统或图形用户界面,那么你需要找出Vim如何正常地与GUI通信,以及为什么它不工作(例如,在X11下错误disPLAY值,可能是由于附加到正在运行的旧会话具有过期值的shell)。

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...