Vim Statusline - Virtualenv功能

时间:2013-06-10 13:01:35

标签: vim vim-plugin

我刚刚向vim添加了virtualenv。我希望在状态行中显示活动的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

1 个答案:

答案 0 :(得分:2)

在最简单的形式中,您的状态行可以缩小到~/.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片段放在所需的位置,例如在状态标志之后:

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

但所有这些都在:help statusline明确解释。