为什么statusline的%R不起作用?
发表于 : 2011-06-07 17:45
我写了个简单的vimscript函数,用于定制statusline
[vim]
set statusline=%!NpplikeStatusLine()
set laststatus=2
function NpplikeStatusLine()
let ft = &fileencoding
let bom = &bomb
let bommsg = bom ? ' with BOM' : ' without BOM'
if ft ==? 'utf-8'
let ret = '[%R] [FORMAT=%{&ff}] [ENCODING=%{&fileencoding}'
let ret .= bommsg
let ret .= '] [TYPE=%Y] [ASCII=\%03.3b] [HEX=\%02.2B] [POS=%04l,%04v][%p%%] [LINES=%L]'
return ret
else
return '[%R] [FORMAT=%{&ff}] [ENCODING=%{&fileencoding}] [TYPE=%Y] [ASCII=\%03.3b] [HEX=\%02.2B] [POS=%04l,%04v][%p%%] [LINES=%L]'
endfunction
[/vim]
可是令人奇怪的是,为什么显示后,%R没有值呢?%Y都是有的。 我用的是windowsxp上面的gvim 7.3
[vim]
set statusline=%!NpplikeStatusLine()
set laststatus=2
function NpplikeStatusLine()
let ft = &fileencoding
let bom = &bomb
let bommsg = bom ? ' with BOM' : ' without BOM'
if ft ==? 'utf-8'
let ret = '[%R] [FORMAT=%{&ff}] [ENCODING=%{&fileencoding}'
let ret .= bommsg
let ret .= '] [TYPE=%Y] [ASCII=\%03.3b] [HEX=\%02.2B] [POS=%04l,%04v][%p%%] [LINES=%L]'
return ret
else
return '[%R] [FORMAT=%{&ff}] [ENCODING=%{&fileencoding}] [TYPE=%Y] [ASCII=\%03.3b] [HEX=\%02.2B] [POS=%04l,%04v][%p%%] [LINES=%L]'
endfunction
[/vim]
可是令人奇怪的是,为什么显示后,%R没有值呢?%Y都是有的。 我用的是windowsxp上面的gvim 7.3