statusline
来源:互联网 发布:保卫萝卜3炮台数据 编辑:程序博客网 时间:2024/05/22 09:41
VIM学习笔记 状态行(statusline)
默认的状态行,左侧显示当前打开的文件名,右侧显示当前所处的行列位置。当你执行Vim命令时,状态行将消失并显示命令输入及输出。
通常状态行用反色显示。你可以通过修改highlight选项中的s字符来改变。例如,sb设置为粗体字。如果状态行没有启用高亮 (sn),那么字符^表示当前窗口,字符=表示其它窗口。如果支持鼠标并且已经通过设置mouse选项使之启动,那么你可以用鼠标拖动状态行以改变窗口的大小。
定制状态行
我们可以使用以下命令来定义状态行:
:set statusline format
例如下面的命令:
:set statusline=The file is"%f"
其中,%用来指明一个特殊区域。例如%f,将在状行中包含文件名。
选项包含printf风格的%项目,中间可以间杂普通文本。内容默认为右对齐,如果希望左对齐,那么可以在%后面加上-。数字内容是忽略开头0显示的,如果需要显示前导0,那么可以在%后加上一个"0"。单个百分号可以用"%%"给出。最多可给出80个项目。
如果此选项以 "%!" 开始,它用作表达式。计算此表达式的结果用作选项值。
显示状态行
即使已经使用以上命令设置选项,状态行还是保持原样,这是因为Vim在默认情况下是不显示状态行的,而仅显示命令缓冲区等极少的信息。我们可以使用以下命令,将状态行显示在窗口底部倒数第二行:
:set laststatus=2
你也可以使用以下命令,移去状态行:
:set laststatus=0
状态行实例
利用以下命令,可以在状态行中显示:当前文件名,文件格式(DOS, Unix),文件类型 (XHTML),当前位置和文件总行数。
:set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%04l,%04v][%p%%]\ [LEN=%L]
实际效果如下图所示:
除了显示的内容,你还可以使用以下命令定义显示的颜色。
:set statusline=%2*%n%m%r%h%w%*\ %F\ %1*[FORMAT=%2*%{&ff}:%{&fenc!=''?&fenc:&enc}%1*]\ [TYPE=%2*%Y%1*]\ [COL=%2*%03v%1*]\ [ROW=%2*%03l%1*/%3*%L(%p%%)%1*]\
需要使用以下命令,自定义高亮显示颜色。
hi User1 guifg=gray
hi User2 guifg=red
hi User3 guifg=white
实际效果如下图所示:
你还可以通过在_vimrc文件中包括以下命令,使状态行根据状态的不同,显示不同的颜色。
function! InsertStatuslineColor(mode)
if a:mode == 'i'
hi statusline guibg=peru
elseif a:mode == 'r'
hi statusline guibg=blue
else
hi statusline guibg=black
endif
endfunction
au InsertEnter * call InsertStatuslineColor(v:insertmode)
au InsertLeave * hi statusline guibg=orange guifg=white
hi statusline guibg=black
如下图所示,状态行的文件名部分,在插入状态时显示为橘色背景,这样就能很明显地提醒我们所处的状态:
:set statusline format
定制状态行:set laststatus
显示/取消状态行- statusline
- vim 状态栏statusline
- 关于statusLine中的sp,lf,cr
- VIM 的状态行(statusline)设置
- Vim配置系列(二) —- 好看的statusline
- 【vim】【statusline】【状态栏】设置,显示更多有用的信息
- 又有变化
- 作业
- 【学习点滴 -数据结构-二叉树】 二叉树的遍历(全)
- SQL Server IO 子系统浅究 I
- DS18B20驱动
- statusline
- #ifdef 标识符
- 尝试下MySQL水平分区
- 在win7上安装Oracle10g的注意点
- SQL Server IO 子系统浅究 II
- Android的线程使用来更新UI----Thread、Handler、Looper、TimerTask等
- 身体小恙,胡乱感慨
- Objective-C 编程语言官网文档(四)-协议
- ServletAPI详解(一)