vim statusline设置

vim中默认的状态行,左边显示当前打开的文件名,右边显示当前所处的行列位置。
如果只需要默认的状态栏,这样就行了:
set laststatus=2 “ 总是显示状态栏
set ruler “ 在状态栏显示行号和列号

如果想根据自己的需求修改的话,可以用以下命令查看帮助信息。
:h statusline

我们可以使用以下命令来定义状态行:
:set statusline=format
这个format跟printf函数的参数有些相似。

例如以下命令就是设置在状态栏显示文件名。
:set statusline="%f"

例如想在状态栏显示当前的时间可以用这个命令。
:set statusline+=%-16{strftime(\"%Y-%m-%d\ %H:%M\")}

以下是format的参数列表

%(...%)     定义一个项目组。
%{n}*     %对其余的行使用高亮显示组Usern,直到另一个%n*。数字n必须从1到9。用%*或%0*可以恢复正常的高亮显示。
%<     如果状态行过长,在何处换行。缺省是在开头。
%=     左对齐和右对齐项目之间的分割点。
%     字符%
%B     光标下字符的十六进制形式
%F     缓冲区的文件完整路径
%H     如果为帮助缓冲区则显示为HLP
%L     缓冲区中的行数
%M     如果缓冲区修改过则显示为+
%N     打印机页号
%O     以十六进制方式显示文件中的字符偏移
%P     文件中光标前的%
%R     如果缓冲区只读则为RO
%V     列数。如果与%c相同则为空字符串
%W     如果窗口为预览窗口则为PRV
%Y     缓冲区的文件类型,如vim
%a     如果编辑多行文本,这个字行串就是({current} of {arguments}),例如:(5 of 18)。如果在命令行中只有一行,这个字符串为空
%b     光标下的字符的十进制表示形式
%c     列号
%f     缓冲区的文件路径
%h     如果为帮助缓冲区显示为[Help]
%l     行号
%m     如果缓冲区已修改则表示为[+]
%n     缓冲区号
%o     在光标前的字符数(包括光标下的字符)
%p     文件中所在行的百分比
%r     如果缓冲区为只读则表示为[RO]
%t     文件名(无路径)
%v     虚列号
%w     如果为预览窗口则显示为[Preview]
%y     缓冲区的文件类型,如[vim]
%{expr}     表达式的结果