[Hacking VIM]之定制:自定义状态栏

在Vim编辑器的底部,你可以发现两个东西:一个是命令行缓冲(可以输入命令),另外一个是状态栏。在默认情况下,Vim显示的信息是很简短的,只是在右边显示当前光标所在的行和列以及当前打开的文件(如果有的话)。

当你执行一个命令的时候,状态栏将会被命令行替代,如果命令执行后输出了信息,则也会显示在状态栏的右边。

如果只是为了简单和快速的编辑,则这个状态栏也已经足够了,但是如果你每天使用Vim来编辑许多不同类型的文件,则最好使用一个信息丰富的状态栏。在这个技巧中,我们将看到状态栏如何显示丰富的文件信息。

设置状态栏如何显示可以简单的调用命令:
: set  statusline format

这里的format是一个类似printf的字符串(从c语言中借鉴过来),用来描述状态栏如何显示。

如果你使用 :help 'statusline' 来查看Vim帮助,你可以看到状态栏包含大量的信息,可能有些在你日常工作中还有用。

我的状态栏中总是包含下面的信息:
  • 正在编辑的文件名
  • 正在编辑的文件格式(DOS, Unix)
  • 当前文件的类型
  • 当前光标下字符的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
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vim中进行多行缩进的方法有多种。首先,在.vimrc文件中添加以下几行代码可以实现自动缩进和设置缩进的空格数: ``` set autoindent // 自动缩进 set shiftwidth=4 // 自动缩进空白字符个数 set softtabstop=4 // tab键的一个制表符,如果softtabstop=5,tabstop=4,则tab是1个制表符加1个空格的混合 set tabstop=4 // tab键的空格数 ``` 保存并退出.vimrc文件。这样,每次在Vim中编辑文件时,会根据设置的缩进参数自动进行缩进。 另外,你也可以使用Visual Line模式进行多行缩进操作。首先,按下Ctrl + v组合键进入Visual Line模式,然后使用方向键选择多行。接着,按下<或>进行向前或向后缩进tab。如果你想缩进n个TAB,可以按下n<或n>来实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Hacking Vim](https://download.csdn.net/download/huzhouhzy/5000716)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Vim配置——自动缩进(C/C++)](https://blog.csdn.net/weixin_44070137/article/details/107294439)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [【VIM】多行缩进空格与删除](https://blog.csdn.net/qq_49643092/article/details/125160626)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值