2010-12-01 148 views
9

~/.vimrc使用下面的状态行设置使用Vim,我如何'设置statusline'来对齐?

set statusline=%F%m%r%h%w\ %{&ff}\ %Y\ [0x\%02.2B]\ %l/%L,%v\ %p%% 

一切都是左对齐。 help 'statusline'表示-字符用于“左对齐该项目。当minwid大于该项目的长度时,默认值为右对齐。”

但是,我还没有能够使用(或不使用)-永远对齐的权利。

什么是一组项左对齐和一组右对齐的示例?

我也试过使用=,但它只是打印=标志。

回答

11

您需要在=前加百分号:%=

使用你的例子:

set statusline=%F%m%r%h%w\ %{&ff}\ %Y\ [0x\%02.2B]\ %=l/%L,%v\ %p%% 

将右对齐 “%l/%L,%v\ %p%%” 组。你也应该可能迫使一个合适的地方使用%<截断,以适应狭窄的窗口:

set statusline=%F%m%r%h%w%<\ %{&ff}\ %Y\ [0x\%02.2B]\ %=l/%L,%v\ %p%% 
+2

`%=%l`因为我想当前行号 – Robert 2010-12-01 22:53:32

4

您必须使用%=

什么是在%=左侧将左对齐,什么是在右边的%=将右对齐。

例如,以下是我使用的状态行。

set statusline=%f%m%r%h\ [%L]\ [%{&ff}]\ %y%=[%p%%]\ [line:%05l,col:%02v]

1

同意Xavier T

使用%=这意味着以下项目

休耕是我的vimrc右对齐

set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}][TYPE=%Y][ASCII=\%03.3b][HEX=\%02.2B]%=[POS=%04l,%04v][%p%%][LEN=%L]

相关问题