Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1319925
  • 博文数量: 482
  • 博客积分: 13297
  • 博客等级: 上将
  • 技术积分: 2890
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-12 16:25
文章分类

全部博文(482)

文章存档

2012年(9)

2011年(407)

2010年(66)

分类: LINUX

2011-09-07 19:09:06

在Vim的下方, 你可以看到两个东西: 命令缓冲区(你可以键入命令的地方), 还有一个状态条. 在默认的配置中, Vim中的状态条非常得简单, 并不提供多少信息. 它就在右边显示了光标所在的行数和列数, 在左边显示了文件名(如果有的话).

当你执行一条命令的时候, 状态条就是隐藏, 命令缓冲区就会出现. 如果你执行的命令输出了某些信息, 信息就会在右边的状态条中显示.

对于简单和快速的编辑文件, 这种状态条是合适的. 但是如果你要每天都使用Vim并且有很多不同的文件格式, 有一个能显示更多信息的状态条会好一些.

在这个方案中, 给出几个例子, 来看看状态条是怎么能显示更多的信息.

这个命令是设置状态条应该如何显示:

:set statusline format

format是用一个printf格式的字符串(从C语言中过渡来的)来描述状态条的显示方式的.

如里你通过:help 'statusline'去Vim的帮助系统查看, 你就会知道状态条可以包含很多信息, 有一些在你日常工作中是非常重要的.

我的状态条包含了下面这些信息:

    我正在编辑的文件的文件名
    我正在编辑的文件的格式(DOS, UNIX)
    我正在编辑的文件所属的文件类型(Vim能够识别的)
    光标所在字符的ASCII码和16进制
    光标所在文档的行数和列数
   
下面的命令将会把你的状态条变成一个能显示上面全部信息的新正的信息栏.
:set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ [POS=%04l,%04v][%p%%]\ [LEN=%L]
我在每部分信息的两边都加了一对'[]', 这样他们就比较容易辨认了. 这只是为了视觉效果, 如果不需要可以去掉的.

不过, 我们现在看到的状态栏还是先前的预设的那一个. 这个问题是因为Vim默认地不会显示我们状态条的. 它只会显示一个带有一点信息的命令缓冲区. 要通过Vim你想到显示一个新的状态条, 只要把下面的这个命令加入到vimrc文件中. 这个命令会确保你的状态条总会显示在窗口的倒数第二行:
:set laststatus=2

你会发现命令缓冲存在窗口的最后一行, 状态条在它上面. 现在你可以一直都能看到你的文件中的全部信息. 这个状态条确定占用了一点地方, 但是你可以决定它要不要显示. 你可以通过下面的命令将其隐藏(下次重启Vim会恢复显示):

:set laststatus=0

====
http://xugming.iteye.com/blog/333199
阅读(429) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~