【问题标题】:vim -X flag as .vimrc entryvim -X 标志为 .vimrc 条目
【发布时间】:2012-05-23 10:59:28
【问题描述】:

我可以在我的 .vimrc 中放置一个配置条目,它的效果与在运行 vim 时传递 -X 标志相同。

提供一些上下文: 我最近发现我在屏幕 (tmux) 会话中的 vim 启动时间非常长(~6 秒)

使用 vim --startuptime 标志,很明显问题是由于连接到 X 服务器以设置 X 剪贴板。

运行vim -X 修复了我缓慢的启动时间。我宁愿修改我的 .vimrc,而不是创建一个 bash 别名来解决这个问题。

【问题讨论】:

    标签: vim xserver tmux


    【解决方案1】:

    您可能需要查看clipboard 设置 (:help 'clipboard')。以下是 Gary Johnson (source, via web.archive.org) 的建议。


    你可能想在你的 .vimrc 中设置 'clipboard' 这样你就不会 必须一直使用 -X 。在我的情况下,我使用 vim 我从其他各种机器登录的机器,其中一些 即使他们没有 X 服务器,也要设置 $DISPLAY。这是 我的 .vimrc 中有什么:

    " Prevent vim from trying to connect to the X server when connecting 
    " from home, which causes a startup delay of about 14 seconds. I 
    " usually connect from home via screen. 
    " 
    "set clipboard=autoselect,exclude:cons\\\|linux\\\|screen 
    " 
    " Using $DISPLAY instead of 'term' should be more reliable. It avoids 
    " the problem of starting vim without first starting screen and allows 
    " screen to be used locally without losing vim's X features. 
    " 
    if $DISPLAY =~ '\(\(cos\|scs\)\d\+nai\d\+\)\|\(spkpc\d\+\)\|\(tc-garyjohn\)' 
    set clipboard=autoselect,exclude:.* 
    endif 
    

    (请注意,您需要调整 if $DISPLAY 行以匹配您自己的 $DISPLAY 变量)。

    【讨论】:

    • 对于 cygwin:set clipboard=autoselect,exclude:cons\\\|linux\\\|screen\\\|rxvt\\\|cygwin。谢谢!
    • 源链接已失效。
    【解决方案2】:

    只需添加到您的 ~/.vimrc

    set clipboard=exclude:.*
    

    主要对您的 root 用户执行此操作。其他用户应该可以正常连接$DISPLAY 和剪贴板。

    【讨论】:

    • 这将在 root 下运行启用 GUI 的 vim 实例时停止 No protocol specified 错误。
    猜你喜欢
    • 1970-01-01
    • 2012-12-07
    • 2020-09-01
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多