【问题标题】:Vim Statusline - Virtualenv FunctionVim 状态行 - Virtualenv 函数
【发布时间】:2013-06-10 13:01:35
【问题描述】:

我刚刚将 virtualenv 添加到 vim。我想在状态栏中显示活动的 virtualenv,这样我就知道我在哪个环境中。

来自 Virtualenv 帮助

g:virtualenv_stl_format 
    Format string for the statusline

Example:
    let g:virtualenv_stl_format = '[%n]'

To sue the statusline flag, this must appear in your 'statusline' setting
    %{virtualenv#statusline()}

所以我去搜索状态栏,发现 writing a valid statusline

他们远远超出了我想要做的事情,我真的不明白。我只想简单地将 %{virtualenv#statusline()} 添加到我现在拥有的任何行中,我该怎么做?

我引用的插件是这个https://github.com/jmcantrell/vim-virtualenv#readme

【问题讨论】:

    标签: vim vim-plugin


    【解决方案1】:

    在最简单的形式中,您的状态行可以简化为~/.vimrc 中的这一行(注意=):

    set statusline=%{virtualenv#statusline()}
    

    如果您希望该信息显示在当前状态行的末尾,请将以下行粘贴到您的 ~/.vimrc(注意 +=)中:

    set statusline+=%{virtualenv#statusline()}
    

    或者放在开头(注意^=):

    set statusline^=%{virtualenv#statusline()}
    

    如果您想将此信息放置在自定义状态行中的任意位置,您只需编辑~/.vimrc 中的相应行。但是您已经知道如何做到这一点,因为您已经有了自定义状态栏,对吗?


    如果您使用默认状态行,则需要按照:help statusline 中给出的示例复制它:

    set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P
    

    并将 virtualenv sn-p 放在所需的位置,比如在状态标志之后:

    set statusline=%<%f\ %h%m%r%{virtualenv#statusline()}%=%-14.(%l,%c%V%)\ %P
    

    但所有这些都在:help statusline 中得到了清楚的解释。

    【讨论】:

    • 不,还没有自定义状态行。我使用的是 virtualenv 插件,默认情况下你不知道它是否做了任何事情,所以希望在状态行中显示反馈
    • 好的,那就按照最后一种方法吧。
    猜你喜欢
    • 1970-01-01
    • 2021-06-09
    • 1970-01-01
    • 2021-08-08
    • 2012-01-17
    • 2013-06-20
    • 2017-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多