如何使用vimscript在文件名,行和列号上写入状态行的文本?

时间:2010-12-08 16:50:14

标签: vim

有没有办法以编程方式在vim窗口下方的栏上书写?我指的是显示文件名,光标行+列以及窗口底部上方文档百分比的栏。

3 个答案:

答案 0 :(得分:7)

它被称为状态行。

您可以输入:help statusline来获取更多信息。

这是我使用的那个,包括右下角的行和列。

set statusline=%f%m%r%h\ [%L]\ [%{&ff}]\ %y%=[%p%%]\ [line:%05l,col:%02v]   
                | | | |    |       |      |    |           |       |  
                | | | |    |       |      |    |           |       +- column number  
                | | | |    |       |      |    |           + -- line number  
                | | | |    |       |      |    +-- percentage in file  
                | | | |    |       |      +-- file type  
                | | | |    |       +-- file format (dos/unix)  
                | | | |    +-- total number of line in file  
                | | | +-- help flag  
                | | +-- read only flag  
                | +-- modified flag : [+] if modified, [-] if not modifiable  
                +-- relative`  

渲染并不理想,但是当你向下时,从左到右描述以%符号开头的选项。它们都在帮助中描述。

这是一个非常静态的配置,如果你愿意使用vim-plugin,有些像vim-airline那样提供更高级的功能,比如git integration。

答案 1 :(得分:2)

该栏中的信息在选项statusline中设置。您可以使用let &statusline =在脚本中设置此项,就像使用任何其他vim选项一样。

有关详细信息,请参阅:help statusline

答案 2 :(得分:1)

这是我对这个问题的看法。

我设置laststatus以关闭“专用”状态行,如果只有一个窗口,只需使用命令行区域进行状态(使用rulerformat而不是statusline)。

set laststatus=1
set statusline=%F\ %(%w%h%r%m%)%=%2v:%4l/%4L\ 0x%02B
set rulerformat=%25(%w%h%r%<%m%=%2v:%4l/%4L\ 0x%02B%)

状态行显示文件名(带路径),然后显示空格,并为[Preview][help][RO][+]添加可选指标(如果文件是修改)取决于文件状态。单窗口版本省略了文件名。在两者中,然后我用空格填充,所以其余部分是右对齐的,为光标列添加两个字符,然后列出行号和行总数,然后是光标下字符的十六进制ASCII码。

帮助文件中有许多有趣的示例,正​​如其他人所说,请查看:help statusline