设为首页收藏本站language 语言切换
查看: 1055|回复: 8
收起左侧

[分享] 【SPOTO思博网络】【网工入门干货】运维基础—Vim编辑器

[复制链接]
发表于 2022-5-11 16:37:12 | 显示全部楼层 |阅读模式
本帖最后由 SPOTO 于 2022-7-21 10:37 编辑


提起文本编辑器,你一定会想到编辑器之神 Vim。作为一个快 30 岁的老牌编辑器,直到现在还很受欢迎。


但你知道VI吗?


VI是一个命令行界面下的文本编辑工具,最早在1976年由Bill Joy开发,当时名字叫做ex。VI支持绝大多数操作系统(最早在BSD上发布),并且功能已经十分强大。

1991年Bram Moolenaar基于VI进行改进,发布了Vim,加入了对GUI的支持。


随着Vim更新发展,Vim已经不是普通意义上的文本编辑器,而是被广泛的作为在文本编辑、文本处理、代码开发等用途。


Vim 编辑文件非常高效,可支持多个操作系统,如 Unix/Linux、Windows、macOS,甚至 iOS 和 Android 上都能找到 Vim 的移植版本。



Vim编辑器键盘

Vim强大的编辑能力中很大部分是来自于其普通模式命令。Vim的设计理念是命令的组合。


“5dd”5表示总共5行,删除光标所在后的5行,包含光标行;
“d$” $"代表行尾,删除到行尾的内容,包含光标;
“2yy”表示复制光标及后2行,包括光标行;
“%d” %代表全部或者全局,%d表示删除文本所有的内容,也即是清空文档所有的内容。

Vim是一个主流开源的编辑器,其默认执行vim命令,会显示帮助乌干达贫困的孩子,如图4-4为vim与键盘键位功能对应关系:

1.jpg

file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml15496/wps1.jpg




file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml15496/wps2.jpg

Vim编辑器三种模式

Vim编辑器模式常用有三种,分别是:


命令行模式;
文本输入模式;
末行模式。


Vim是V1的升级版本,它是安装在Linux操作系统中的一个软件,官网为:www.vim.org


在Linux Shell终端下默认执行vim命令,按Enter键后:
默认进入命令行模式;
在命令行模式按i进入文本输入模式;
按ESC进入命令行模式;
按:进入末行模式。



file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml15496/wps3.jpg

Vim命令行模式实战


Vim虽然非常强大,但是需要记住很多操作命令。如果没有有效的学习方法,操作起来很不方便,只有做到非常熟练才能感受到它带来的快捷。


下图就为Vim编辑器最常用的语法及规则:

2.jpg

file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml15496/wps4.jpg
3.jpg

file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml15496/wps5.jpg
4.jpg

file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml15496/wps6.jpg
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml15496/wps7.jpg 5.jpg

Vim 语法

如果你一旦理解了 Vim 命令的语法结构,就可以与 Vim 进行对话了,就如想要学习一门语言,语法规则是绕不开的一步。


而这个语法,就是动词 + 名词。现在使用基本的 Vim 动词和名词来建立词汇表。


01 Vim 名词与动词


Vim 中的名词(移动):移动是在 Vim 中进行上下左右等操作。
Vim 中的一些动作如下所示:

h:左
j:下
k:上
l:右
w:移动到下个单词的开头
}:跳到下一段
$:移动到本行末尾


Vim 中的动词(操作符):以 h 操作符为例,Vim 中有 16 种。但只需掌握其中的 3 种,就能满足 80% 的编辑要求。


y    复制文本
d    删除文本,并保存到寄存器
c    删除文本,保存到寄存器,并开启「插入」模式


现在了解了 Vim 中基本的名词和动词,就可以根据语法规则组合上述名词和动词:


y$:把当前所有的内容,从当前位置拖至行尾;


dw:从当前位置删除到下一个单词的开头;


c}:从当前位置到当前段落末尾进行更改。



当然移动也接受数字作为参数,如果你想上移 3 行,不需要键入 k 三次,直接使用 3k 就行了:


y2h:向左移动 2 个字符;


d2w:删除后面的 2 个单词;


c2j:更改接下来 2 行。



除此以外,Vim 还允许通过键入操作符命令两次来执行行操作。例如:键入「dd」,删除整行;键入「cc」,更改整行内容。


02 Vim 可组合性和语法


在学习了 Vim 语法之后,下面介绍一下 Vim 中的可组合性。可组合性意味着拥有一组可以组合且执行更复杂命令的通用命令。


在 Vim 中可以组合较简单的命令执行复杂的命令。当 Vim 与外部程序集成时,可组合性的真正威力就显露出来了。


假如你有一个非常混乱的文本,如下所示,你想把它变成列表形式:


Id|Name|Cuteness01|Puppy|Very02|Kitten|Ok03|Bunny|Ok


用 Vim 命令不容易做到,但是你可以用 column 终端命令快速完成。将光标放在「Id」上,运行「!}column -t -s "|"」。就可以得到如下表格数据:


Id  Name    Cuteness01  Puppy   Very02  Kitten  Ok03  Bunny   Ok


上述的操作过程可分解成这样:动词为「!」(过滤操作符),名词为「}」(转到下一段)。过滤器操作符「!」接受另一个参数,一个终端命令「column -t -s "|"」。



假设你不仅希望将文本列表化,还想筛选出带有「Ok」的行。awk 可以轻松地完成这项任务。可以执行如下操作:

!}column -t -s "|" | awk 'NR > 1 && /Ok/ {print $0}'


得到的结果:

02  Kitten  Ok03  Bunny   Ok


对操作符、动作和终端命令了解得越多,编写复杂动作的能力就会成倍增加。



文章来源:内容综合自网络,因觉优质,特此分享,侵删。

每天通过一位IE,每两位IE,一位在思博
群里有一群一起备考的战友哦
回贴可领取实验手册噢
游客,如果您要查看本帖隐藏内容请回复

——————————————————————————————————
HCIE/CCIE的提升空间有多少?看看群内聊天讨论就知道!



添加老杨老师微信:spotoa,加入全国网工交流群(已建立50+个),获取更多CCIE/HCIE考试一手资讯+考试必备资料,也欢迎添加
网工老杨老师微信:spotoa




【推荐阅读】

发表于 2022-5-11 20:24:01 | 显示全部楼层
感謝樓主分享!
沙发 2022-5-11 20:24:01 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-17 11:24:04 | 显示全部楼层
有问题可咨询微信:spotoa
板凳 2022-5-17 11:24:04 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2022-5-17 16:36:01 | 显示全部楼层
非常有用!感谢大佬分享啊啊啊
地板 2022-5-17 16:36:01 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-25 14:02:29 | 显示全部楼层
有问题请咨询微信:spotoa
5# 2022-5-25 14:02:29 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-25 14:02:42 | 显示全部楼层
有问题请咨询微信:spotoa
6# 2022-5-25 14:02:42 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-31 11:45:44 | 显示全部楼层
有问题请咨询微信:spotoa
8# 2022-5-31 11:45:44 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-24 10:13:05 | 显示全部楼层
本帖最后由 SPOTO 于 2022-7-21 10:38 编辑

如果你有以下需求:
1. 有需要思科/华为考证【稳定题库】
2. 想要进入全国网工交流群,和更多同伴连接
3. 对网工生涯迷茫,想要有大佬可以指点迷津~

欢迎扫描下方二维码,加老杨老师的微信,作为CCIE+9年网工,他对行业的了解可谓是颇深。围观他的朋友圈,能学习到的技术和视野远远超过你的想象,欢迎扫码加v!!!

9# 2022-6-24 10:13:05 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-28 01:12 , Processed in 0.076088 second(s), 23 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表