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
每次自动配置好呢? - 下次再说
oeasy教您玩转vim - 21 - 状态横条的更多相关文章
- oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...
- oeasy教您玩转vim - 57 - # 行可视化
可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...
- oeasy教您玩转vim - 53 - # 批量替换
查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...
- oeasy教您玩转linux010203显示logo
我们来回顾一下 上一部分我们都讲了什么?
- oeasy 教您玩转linux010101查看内核uname
linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...
- oeasy教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010201持续输出yes
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010108到底哪个which
到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?
- oeasy教您玩转linux010107那啥在哪 whereis
回忆上次内容 上次讲了 ls 的参数 (arguement) 和选项 (option) 的设置. 现在我们要制作这样一个列表:
- oeasy教你玩转linux010104灵魂之问whatis
灵魂之问whatis 回忆上节课 我们上次在系统里面乱转
随机推荐
- 自定义Naive UI的数据表格Data Table中按钮Button图标
在Naive UI官网中详细介绍了[数据表格 Data Table](数据表格 Data Table - Naive UI)的使用方式 { title: "Action", key ...
- c++调用动态dll库
首先把需要调用的动态库dll和它依赖的对象都要放入到运行目录,debug环境就是debug目录下了. 然后就写代码: #include <iostream> #include <wi ...
- C# Afroge摄像头翻转90
1.dll和命名空间就不在此列举了,如下只是将转换方法介绍: 第一个函数: public void Rotate90() { // 计算角度,类变量 //dAngle = dAngle + 90; / ...
- 探索Semantic Plugins:开启大模型的技能之门
前言 在之前的章节中我们或多或少的已经接触到了 Semantic Kernel 的 Plugins,本章我们讲详细介绍如何使用插件. Semantic Kernel 的一大特点是拥有强大的插件,通过结 ...
- Spring扩展——BeanPostProcessor(BPP)
BeanPostProcess简介 在Spring中 BeanPostProcessor 是一个非常重要的接口,它用于在每个bean对象初始化前后修改Bean的属性信息,比如我们最常用的@Autowi ...
- 燕千云AITSM重塑IT服务管理
IT服务经历了三个阶段,缘起于设备管理,兴起于灾难恢复,发展于IT服务管理.IT服务发展到目前的阶段,企业所使用的系统功能也由孤立的系统转变为综合的集成系统,IT服务所管理的对象也由核心业务转变为 ...
- C#开发的NoteNet桌面小贴士 - 开源研究系列文章 - 个人小作品
十多年前编写过这个NoteNet小应用,不过当时用的是文本的保存方式,而且功能上也相对较多.这次重新编写这个小应用,用上新的技术和功能.现在先把源码发布出来,在另个系列的博文中( C#基于.net f ...
- 安装 Nuxt.js 的步骤和注意事项
title: 安装 Nuxt.js 的步骤和注意事项 date: 2024/6/17 updated: 2024/6/17 author: cmdragon excerpt: Nuxt.js在Vue. ...
- 使用python脚本玩转古早TCAD软件(待更新)
前言 TCAD(Technology Computer Aided Design),虽然原名中没有与半导体器件有关的词汇,但这种软件便是半导体工艺模拟及器件模拟的工具,可以说是EDA软件的一种.TCA ...
- __int1024!
使用说明: 数据范围约为\(-2^{1024}\le N \le2^{1024}\),反映到十进制约为\(-10^{309}\le N \le10^{309}\),但不保证完全如此. 输入输出使用自带 ...