乐趣区

关于vim:oeasy教您玩转vim-21-状态横条

状态横条

回顾上节课内容🤔

  • 咱们上次钻研了标尺
  • 标尺

    • 开启 se ru
    • 敞开 se noru
  • 行号

    • 开启 se nu
    • 敞开 se nonu
  • 命令地位

    • 开启 se showcmd
    • 敞开 se noshowcmd
  • 跳转

    • 29 G 跳转行号
    • 19 | 跳转列号
    • 29 % 跳到整个文件 29% 的地位

筹备环境

# 下载素材
git clone http://github.com/overmind1980/vimtutorial.git
#进入目录
cd vimtutorial
#还是从最简略的 vim 开始设置起
vi -u NONE oeasy.java

设置光标行

  • 来看一个开关 option
  • 光标行 cursorline

    • 光标 cursor
    • line
  • :set cursorline

  • h 'cursorline'

    • cursorline 加了单引号
    • 阐明 cursorline 是一个属性 option

设置光标列

  • 有行就有列
  • 光标行 cursorcolumn

    • 光标 cursor
    • column
  • :set cursorcolumn

  • h 'cursorcolumn'

    • cursorcolumn 加了单引号
    • 阐明 cursorcolumn 是一个属性 option

扭转底下的状态横条

  • 有了行列地位
  • 再配合标尺 ruler
  • 光标地位就很明确了
  • :h ruler 的时候
  • 偶尔发现了一个新天地 statusline

    • statusline 意思是状态横条
    • 在倒数第 2 行
    • statusline 也是一个能够 set 的货色
    • 咱们来查看一下手册
    • :h statusline
    • 如同能够间接给 statusline 赋值
    • 我间接赋一个 oeasy
  • :set statusline=oeasy
  • 而后还须要设置 laststatus

    • 设置 laststatus = 0,不显式状态行
    • 设置 laststatus = 1,仅当窗口多于一个时,显示状态行
    • 设置 laststatus = 2,总是显式状态行
  • :set laststatus=2

statusline 上能够放什么呢?

  • :h 'statusline'

显示属性

  • 除了字符串常量之外是否能显示一些别的属性呢?

    • 持续翻帮忙手册
    • 找到相干的 items
    • 各种 items 有不同的属性(数字、文本、标记)
    • 每个 item 对应一个字母
    • 这个字母须要通过 % 来进行本义
    • F 对应文件名
  • :set statusline=[oeasy]%F

    • 此时,状态条就显示 [oeasy] 以后文件名

标记属性

  • 持续翻看属性

    • Flag 是标记位
    • m 是一个对于是否曾经批改的标记位
    • %m 追加进入 statusline
  • :set statusline=[oeasy]%F%m
  • 批改文件后会显示未保留的 [+]

    • 察看成果
  • 保留后 [+] 会隐没

    • 暗中察看 …

数值属性

  • 查到状态栏细节

    • N 代表 Number 代表 item 是一个数值类型
    • 行号 l、列号 c、百分比 p 都是数值类型
    • [] 把数值型变量离开
    • %% 能够把 % 本义显示进去
  • :set statusline=[oeasy]%F%m[%l,%c]%p%%

  • 状态栏数值还能够随着光标变动😆

管制宽度

  • 能够用格局来管制宽度
  • %-0{MinWidth}.{MaxWidth}{item}
  • %-040.40F 就是用 40 的固定宽度显示 F
  • 如果超过范畴的话就会把后面局部暗藏
  • :set statusline=[oeasy]%-040.40F%m[%l,%c]%p%%
  • 一行总共 80 字符
  • 前面的局部怎么办?

成组

  • 咱们能够把行和列组成一个 items group
  • () 来封装这个组

    • %() 进行本义
    • :set statusline=%([%l,%c]%)
    • 这样就能够对立设置这个标尺组的宽度
    • :set statusline=%-010.10([%l,%c]%)

      • 标尺组的宽度固定为 10
  • 同理文件名和文件是否批改也能够编成一组

    • :set statusline=%(%F%m%)

最终整合

  • 最终整合总共分为三局部

    • 文件 %-040.40(%F%m%)
    • 标尺 %-030.30([%l,%c]%)
    • 比例 %p%%
  • 对于状态横条还有一个总开关

    • :set laststatus=0 敞开
    • :set laststatus=2 开启

总结

  • 咱们这次理解到了状态横条

    • 通过本义示意 item
    • 管制 item 宽度的办法
    • item 成组的办法
    • 还有一个总开关 laststatus
  • 然而每次都要写很长的一段话来配置很麻烦啊
  • 咱们是否写一个配置文件,让 vim 每次主动配置好呢?🤔
  • 下次再说 👋
退出移动版