Vim statusline设置 » 荒野无灯weblog

Keep It Simple, Stupid.

荒野无灯weblog

Vim statusline设置

如果只需要默认的状态栏,这样就行了:

" Always show status line, even for one window
set laststatus=2

" Show line, column number, and relative position within a file in the status line
set ruler

当然,用set statusline也可模拟 ‘ruler’ 设置的标准状态行

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

既然已经用vim了,当然要根据自己的需要个性化一下~~

:h statusline

查看帮助信息。statusline用的是类似printf函数的输出。这一点非常友好~~
如现在我的设置是这样的:

"状态栏,显示文件名,修改标志,光标处字符ASCII,十六进制ASCII,行,列,虚拟列号,位置百分比,git status
set statusline=%<%F%1*%m%*%r%y%=%b\ 0x%B\ \ [l,c]%l,%c%V\ %p%%\ %{GitBranchInfoString()}
hi User1 term=inverse,bold cterm=inverse,bold ctermfg=red
"F是全路径,f是仅文件名,%<表示如果过长,截断前面的部分。%1* 表示下面的标记要使用User1的highlight,%m表示“可修改”标识,%*是恢复normal高亮,%r是只读标记,%y是文件类型标识,%=是左对齐和右对齐项目之间的分割点。
"好了,然后是右边的,%b是光标处字符ASCII码的十进制值,\后面加一个空格表示空格,%l是行号,%c%V分别是列号和虚拟列号,%p是当前位置的百分比
"同printf一样,%%是显示一个百分号了
"%{GitBranchInfoString()}是我装了 Git Branch Info( http://www.vim.org/scripts/script.php?script_id=2258) 插件,用这个显示git status.

关于列号和虚拟列号,我解释下,如果某行前面有tag制表符或者一行全部为空的情况下就会显示,此时显示的列号是从制表符后面开始的,是“虚”的,因此叫虚拟列号。

Tagged in :

All Comments (0)
Gravatar image
No Comments