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

状态横条

回忆上节课内容🤔

  • 我们上次研究了标尺

  • 标尺

    • 开启 se ru
    • 关闭 se noru
  • 行号

    • 开启 se nu
    • 关闭 se nonu
  • 命令位置

    • 开启 se showcmd
    • 关闭 se noshowcmd
  • 跳转

    • 用 <kbd>2</kbd><kbd>9</kbd> <kbd>G</kbd> 跳转行号
    • 用 <kbd>1</kbd><kbd>9</kbd> <kbd>|</kbd> 跳转列号
    • 用 <kbd>2</kbd><kbd>9</kbd> <kbd>%</kbd> 跳到整个文件 29% 的位置

准备环境

<pre class="bash hljs language-bash"># 下载素材
git clone http://github.com/overmind1980/vimtutorial.git

进入目录

cd vimtutorial

还是从最简单的vim开始设置起

vi -u NONE oeasy.java</pre>

设置光标行

  • 来看一个开关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'
image

显示属性

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

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

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

[图片上传失败...(image-1afafe-1629343515020)]

标志属性

  • 继续翻看属性

    • Flag 是标志位
    • m 是一个关于是否已经修改的标志位
    • %m 追加进入 statusline
  • :set statusline=[oeasy]%F%m

  • 修改文件后会显示未保存的 [+]

    • 观察效果
  • 保存后 [+] 会消失

    • 暗中观察...
image

数值属性

  • 查到状态栏细节

    • N 代表 Number 代表 item 是一个数值类型
    • 行号 l、列号 c、百分比 p 都是数值类型
    • [] 把数值型变量分开
    • %% 可以把 % 转义显示出来
  • :set statusline=[oeasy]%F%m[%l,%c]%p%%

image
  • 状态栏数值还可以随着光标变化😆

控制宽度

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

成组

[图片上传失败...(image-f8f6fc-1629343515020)]

  • 我们可以把行和列组成一个 items group

  • () 来封装这个组

    • %() 进行转义

    • :set statusline=%([%l,%c]%)

    • 这样就可以统一设置这个标尺组的宽度

    • :set statusline=%-010.10([%l,%c]%)

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

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

最终整合

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

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

    • :set laststatus=0 关闭
    • :set laststatus=2 开启

总结

  • 我们这次了解到了状态横条

    • 通过转义表示 item
    • 控制 item 宽度的方法
    • item 成组的方法
    • 还有一个总开关 laststatus
  • 但是每次都要写很长的一段话来配置很麻烦啊

  • 我们能否写一个配置文件,让 vim 每次自动配置好呢?🤔

  • 下次再说 👋

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容