如何使用纯手工制作一个漂亮的 vim 状态栏

作者&投稿:管秦 (若有异议请与网页底部的电邮联系)
vim下面的状态栏有什么用?~

vi是一个多模式的编辑器。只要在正常模式下,按i进入插入模式。插入模式输入任意键返回到正常模式。按键对应到正常模式的功能,如dd删除行,这样就可以编辑文本。
的vimtutor你可以打开一个简短的教程。但是,如果你真的打算学习vi或vim,建议你用百度科学的外观。 vim的学习门槛是比较高的,如果你没有足够的时间,精力和毅力是非常难学。

检查一下看看会不会在你的配置文件之后,系统又加载了其他的默认的配置?
也有可能旧版的默认配置和你新版的默认配置不一样,例如旧版里面,默认的状态栏是一种,而在新版状态栏默认是另外一种模式。这种情况下你需要找到它们的不同,然后最好在你的配置里面定制一下。

我将 space-vim 的状态栏单独提取成为一个插件: .. , 可直接安装试用。

首先看一下最后的效果:

知己知彼,百战不殆。先来分析一下使用 airline 与 lightline 有什么好处?

  • 漂亮,酷炫,这毋庸置疑。

  • airline 与很多插件集成的非常好,真是省心又省力。

  • 那有什么不足之处呢?

  • airline 可能会导致 100 ms 的启动延迟。具体可以看这里 xu..., 这里也有一篇关于 vim 启动优化非常好的文章。

  • 定制性依旧不高,或者说深度定制的门槛有点高,不是那么容易上手。我曾经尝试过深入修改过 airline,不过并不顺利。

  • 它们所提供的信息可能过于庞杂,显得有些冗余。

  • 那么如何通过纯手工制作一个与 airline/lightline 相比也还不错的 statusline 呢?

    什么叫不错?这个因人而异,按照我个人的审美而言,首先不能太单调(我只关心漂不漂亮),其次得显示出一些有用的信息。那么就会涉及到以下一些内容:

  • 颜色转换,也就是各部分前景色,背景色之类的。

  • 一些有用的信息,比如语法检查的内容信息。

  • 为了漂亮,我们可能还会选择添加一些 Unicode 字符进去。

  • function! Buf_total_num()

  •    return len(filter(range(1, bufnr('$')), 'buflisted(v:val)'))endfunctionfunction! File_size(f)

  •    let l:size = getfsize(expand(a:f))    if l:size == 0 || l:size == -1 || l:size == -2

  •        return ''

  •    endif

  •    if l:size < 1024

  •        return l:size.' bytes'

  •    elseif l:size < 1024*1024

  •        return printf('%.1f', l:size/1024.0).'k'

  •    elseif l:size < 1024*1024*1024

  •        return printf('%.1f', l:size/1024.0/1024.0) . 'm'

  •    else

  •        return printf('%.1f', l:size/1024.0/1024.0/1024.0) . 'g'

  •    endifendfunctionset statusline=%<%1*[B-%n]%*" TOT is an abbreviation for totalset statusline+=%2*[TOT:%{Buf_total_num()}]%*set statusline+=%3*\ %{File_size(@%)}\ %*set statusline+=%4*\ %F\ %*set statusline+=%5*『\ %{exists('g:loaded_ale')?ALEGetStatusLine():''}』%{exists('g:loaded_fugitive')?fugitive#statusline():''}%*set statusline+=%6*\ %m%r%y\ %*set statusline+=%=%7*\ %{&ff}\ \|\ %{\"\".(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\").\"\ \|\"}\ %-14.(%l:%c%V%)%*set statusline+=%8*\ %P\ %*" default bg for statusline is 236 in space-vim-darkhi User1 cterm=bold ctermfg=232 ctermbg=179hi User2 cterm=None ctermfg=214 ctermbg=242hi User3 cterm=None ctermfg=251 ctermbg=240hi User4 cterm=bold ctermfg=169 ctermbg=239hi User5 cterm=None ctermfg=208 ctermbg=238hi User6 cterm=None ctermfg=246 ctermbg=237hi User7 cterm=None ctermfg=250 ctermbg=238hi User8 cterm=None ctermfg=249 ctermbg=240

  • 简单介绍一下重点:%1*[foo]%*, hi User1 ......, 改变的便是 [foo] 部分的 style, 比如前景色,背景色,粗体等等。如果你也想要尝试自己定制一番,按照个人喜好照葫芦画瓢即可 :p.

    上面的示例似乎有些复杂,下面给出一个简略版本:

  • set statusline+=%4*\ %F\ %*

  • hi User4 cterm=bold ctermfg=169 ctermbg=239

  • 分两步:

  • %数字* + 后面跟上所要在 statusline 中显示的内容 +%*,圈出所要进行操作的范围,比如简略版本中为 \ %F \ , 即为 空格 文件的全路径 空格。

  • hi User数字 cterm=bold ctermfg=111 ctermbg=111 gui=bold guifg=111 guibg=111 ,就会 highlight 上面圈出的范围。 cterm, gui 分别指的是 terminal 与 GUI 环境。 fg,bg 为前景,背景色。数字可以自己定义。 hi User1 ... 就会对 %1* ... %* 所圈中的 ... 进行 highlight 操作。

  • 也可以不用数字,采用自定义名称。 比如%4* 可替换为%#highlightgroup#, highlightgroup 为一个自定义的名称,那么%4*\ %F\ %* 也可以写为 %#fullPath#\ %F\ %*, hi fullPath ... 进行 highlight 就可以了。

    至此你应该可以操作自己的 statusline 了。这里是 256 色对照表 , 这里 是我给出的示例出处。

    如果你不喜欢 airline 可能导致 vim 启动延迟 100 ms, 或是喜欢无插件版本的 vim, 就可以使用这个方法来进行 statusline 的美化了。实际上,这同样也适用于 tabline.

    顺便介绍一下 space-vim 的 statusline 值得关注的一些部分,[B-1] 代表 buffer 1, 1 为当前 buffer 对应的编号。[TOT 3], TOT 指的是 total, 当前共有多少 buffer,可以使用 Tab 快速切换。文件完整路径后面采用橙色前景色显示的是 ale 语法检查的信息。其他部分比较显然,值得关注的点也不多就不介绍了。

    末了,说一下上面的缺点:所有 window 的 statusline 都是很相似的,可能不能像 airline/lightline 那样容易区分出哪个是当前光标所在的 window。 而且跟你的 colorscheme 可能不搭。不过我个人来讲,愿意接受这些不足。

    仅仅是分享一个方案,如何选择取决于你自己。



使用到字符界面下实现简单图形的库了吧(比如那个curses)~~具体的实现不清楚,这个库也没用过~~


纯手工阿胶糕的做法教程是怎样的?
阿胶糕是一种传统的中药滋补品,主要成分是阿胶,即驴皮胶,它具有补血养颜、滋阴润燥的功效。纯手工制作阿胶糕不仅能够保证其天然纯正的口感,还能根据个人喜好添加不同的辅料,如红枣、枸杞、核桃等。下面是一个基本的纯手工阿胶糕的做法教程:【材料准备】阿胶粉:200克 冰糖:适量(根据个人口味调整)核...

浪漫加拿大枫叶纯手工制作天然玫瑰花
浪漫加拿大枫叶 纯手工制作天然玫瑰花 第三步:左边就是第一步完成后的样子,接下来就拿着稍大一些的枫叶,继续将最顶部的叶尖以同样的方式向内折,形成一条折痕,此时,两边的叶尖要与该折痕呈现在一条直线上,并用第二片叶子去包覆第一片做成的花骨朵。以顺时针或逆时针的方式旋转成漩涡状。浪漫...

废物利用的小手工怎么做
废物利用的小手工做法如下:第一步,准备好所需要到的器材,他们分别是牙膏盒、四个小瓶盖、双面胶、剪刀、橡皮泥、吸管等;第二步,将牙膏盒裁剪成图中所示的那样;第三步,使用双面胶对其进行固定,固定后的样子如图;第四步,用多余的纸片制作车的头部和尾部;第五步,把橡皮泥塞到瓶盖里,然后用...

手工制作袜子布偶步骤
手工制作袜子布偶步骤 1.选择袜子。尝试寻找长度及膝的袜子,那么你可以直接穿上它们进行玩偶表演,而无需让玩偶看起来有半截明显是你的手臂。切勿选择有污点或破洞的袜子。 选择符合角色个性的袜子颜色。条纹袜子让角色看起来很明亮快乐,而纯黑色让它们充满神秘感或罪恶感。如果你的袜子要呈现动物角色,那就用与动物本身...

纯手工水果茶是怎样制作的?
然后,将冲泡好的茶水倒入装有水果的茶杯中。注意要慢慢倒入,以免冲击到水果。此时,水果茶的颜色和香气已经非常诱人。最后,等待水果茶冷却至适宜的温度后,即可品尝。在品尝过程中,可以欣赏水果茶的色泽、闻其香气、品其口感,感受水果与茶叶的完美结合。总之,纯手工水果茶的制作过程虽然繁琐,但每一...

纯手工口红的制作方法
纯手工制作口红,添加维生素e,不添加任何防腐剂香精等化学成分。而且特别滋润,真正的润唇膏口红合二为一,爱美的美女,赶紧行动起来吧。工具\/原料 烧杯、加热炉、口红管、电子秤,研磨刷搅拌棒,其他消毒工具 口红基本材料就是口红粉、基础油、蜂蜡、小烛树蜡、维生素e 方法\/步骤 1\/4 分步阅读 首先将...

如何做美术制作和手工作品
用剪刀在纸上剪一个大一点直角三角形。9,将剪出三角形进行对折一下,这样就想鱼的外形了。10,对折好三角形后,用彩铅画出鱼,在鱼的嘴和眼睛用红色彩铅画出,鱼的身体用绿色彩铅画出。11,鱼画好后,可将鱼放在企鹅的翅膀上,这样两个小手工作品进行组合,搭配成一个年年有鱼的场景了。

纯锡茶叶罐手工制作
3.利用压缩锡锤将锡板的四周压成90度,压成中空,制成罐体,罐盖的制作同理。4.焊接。将茶叶罐的四壁和盖子焊接起来,使其成为一个整体。5.敲打锡罐,使其表面光滑,美观。6.完成制作后,将锡罐内部和外部用水冲洗干净,晾干后即可使用。纯锡茶叶罐手工制作需要经过多次繁琐的工序和技艺的积累,...

怎么用纱幔做花球
1、首先将纱幔平铺后横向来回折出多层,见下图所示。2、接下来一只手将其握住,纵向反复来回折,需要注意折叠次数越多做出的花球越饱满,见下图所示。3、然后将纱幔折好后将其两头来回交叉后系紧,见下图所示。4、最后两手将纱幔的每个折处轻轻的展开就可以了,这样花球就制作完成了,见下图所示。

割绒鞋垫手工制作方法
手工制作割绒鞋垫是一种传统而富有艺术性的手工活,需要将一双鞋垫毛坯合在一起,在两面绘制出同样的图案。随后,按照图案和所需的颜色更换细密的绣线进行缝制。完成缝制后,用快刀将鞋垫从中间割开,使得两面的线毛呈现绒状效果。为了使绒毛更加浓密,可以在中间加入其他布料,割开后去除这部分布料,绒毛...

康保县18433288881: 企业的VI是什么,怎么制作
席蚀普辛: 视觉识别系统 主要包括企业的标志 包括其中的字体 颜色 字号 可以外包给相关的策划公司或者广告公司进行设计

康保县18433288881: 如何做VI设计 -
席蚀普辛: 首先考虑 以前遗留下来的设计元素 在是现在的风格流行 主体色一定要清晰 在考虑 行业特征 重工 制造和娱乐食品行业区别挺大 然后考虑标志风格 延伸到其他印刷上的统一性 最重要的一点 企业VI 一定要了解这个企业 虽然设计技巧可以让做出来的标志很吸引人 但如果好的创意就算很普通的技巧 让VI特别符合企业 也是很成功的设计

康保县18433288881: VI设计怎么做 -
席蚀普辛: 商业vi可以为你做一套.但是价格2000元起.包涵项目自己选,基础系统,和应用系统,基础系统包涵logo,logo与文字组合,logo使用规范,应用系统,看情况而定,一般有你所需要的所有设计.包括名片,广告牌,海报,宣传单样式,餐饮业...

康保县18433288881: 怎么样做出漂亮的LOGO?
席蚀普辛: 用PS制作 一、制作过程 1.新建一文件,宽度输入88,高度输入31(单位选“点”或“像素”).分别率设为72像素/英寸.模式设为RGB,文档背景选白色. 2.新建一图层.在菜单里选图层/效果/斜面和浮雕,在弹出对话框中的“样式”一栏选...

康保县18433288881: 怎么用PS制作logo、vi? -
席蚀普辛: Ⅰ.静态LOGO制作 1.打开PS,选择“文件”→“新建”,创建一个88*31大小的背景图层,然后打开你选择好的LOGO素材.或者直接“文件”→“打开”,把LOGO素材打开.2.两个图层,一个是打开的素材LOGO,一个是空白图层.你需要...

康保县18433288881: 做LOGO要怎么做 -
席蚀普辛: 当您建立了个人网站以后,是不是希望有一个代表网站形象的logo呢?其实,做一个简单而漂亮的logo并不难.看看“晴空朗月”网站logo的制作过程,呵呵,一学就会嘛!(所用软件为photoshop5.02中文版) 一、制作过程 1.新建一文件,宽...

康保县18433288881: 请问VI手册的设计制作方法? -
席蚀普辛: VI的管理及运用一般都借由管理组织及设计管理手册来执行,尤其是设计管理于册.设计管理手册是为了维持一定的设计水准而作出提示的基本规定.并非设定设计水准的目标及上限,目的在于为了避免产生低于设计水准的成品. 一、VI手册的...

康保县18433288881: 怎样做好一套VI?
席蚀普辛: 首先知道VI的灵魂是啥~把重点抓住~ VI首先要把LOGO设计的很完美~这包括图形和字体变形~ 同时辅助图形能跟LOGO完美结合~再有就是标准色的设定~ 弄好这些再往下发展就是水道渠成的了~

康保县18433288881: vi设计是什么意思??如何做? -
席蚀普辛: VI设计的基本要素系统严格规定了标志图形标识、中英文字体形、标准色彩、企业象征图案及其组合形式,从根本上规范了企业的视觉基本要素,基本要素系统是企业形象的核心部分,是企业基本要素系统包括:企业名称、企业标志、企业标准...

康保县18433288881: 怎样做出优秀的VI设计 -
席蚀普辛: Vi设计是一项系统的工作,并且这项工作一定要对做vi设计的这个行业有很深刻的了解,了解行情才能更好的做出vi设计.好的济南vi设计公司讲,这个了解行情只是前提,接下来就是要做好vi设计定位.Vi设计的定位要根据之前了解的行情来做...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网