『Linux从入门到精通』第 ⑥ 期 - Linux编辑器——vim(最小集+指令集+自动化配置)

简介: 『Linux从入门到精通』第 ⑥ 期 - Linux编辑器——vim(最小集+指令集+自动化配置)

0000000000000.png

目录


vim最小集

vim的三种模式

vim的基本操作

vim指令集

命令模式指令集

移动光标

删除文字

复制

替换

撤销上一次操作

更改

跳至指定的行

底行模式指令集

列出行号

跳到文件中的某一行

查找字符

保存文件

多文件操作

如何配置vim

配置文件的位置

常用配置选项

自动化配置


文章导读


本章主要内容有认识与学习Linux环境下常用的编辑器——vim的三种模式与常见指令,学会如何在Linux下完成C代码的编写等等。


Linux中有这样两款编辑器 vi、vim。它们都是多模式编辑器,主要区别在于vim是vi的升级版。它不仅兼容vi的所有指令,而且还有一些新的特性在里面。


正文


vim最小集


vim的三种模式


vim作为多模式编辑器,有多种不同的模式,在这里我们主要介绍 3 种模式,分别是命令模式、插入模式、底行模式。各模式所具有的功能如下:


命令模式


控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入底行模式下,或者进入到插入模式下。


插入模式


只有在插入模式下,才可以做内容输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。


底行模式


文件保存或退出,也可以进行文件替换,查找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。若要查看你的所有模式:打开vim,在底行模式直接输入help vim-modes。


vim的基本操作


① 如何启动 vim?

vim + 文件名

27.png

注意:启动 vim 后,默认在命令模式,需要切换插入模式才能输入内容。

② 「命令模式」切换至 「插入模式」

在命令模式下输入:

i:当前光标位置不变,进入插入模式;

a:光标从当前位置自动向后移动一位,进入插入模式;

o:从当前光标所在行向下另起一行,进入插入模式。

当左下角出现 INSERT 的字样时,证明处于插入模式。

28.png

③「插入模式」 切换至  「命令模式」

「ESC」即可。

④ 「命令模式」切换至 「底行模式」

shift + ; (其实就是 :)

⑤如何退出 vim?

在底行模式下

输入 w :保存当前文件;

输入 wq:保存并退出;

输入:q! :不保存,强制退出。


vim指令集


命令模式指令集


移动光标


▧ 小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格;


▧ 「 $ 」:移动到光标所在行的“行尾”;


▧ 「^」:移动到光标所在行的“行首”;


▧ 「w」:光标跳到下个单词的开头;


▧ 「e」:光标跳到下个单词的字尾;


▧ 「b」:光标回到上个单词的开头;


▧ 「nl」:光标移到该行的第n个位置,如:5l,56l;


▧ [gg]:进入到文本开始;


▧ 「G」:移动到文章的最后;


▧ [shift+g]:进入文本末端;


▧ 「ctrl」+「b」:屏幕往“后”移动一页;


▧ 「ctrl」+「f」:屏幕往“前”移动一页;


▧ 「ctrl」+「u」:屏幕往“后”移动半页;


▧ 「ctrl」+「d」:屏幕往“前”移动半页;


删除文字


▧ 「x」:每按一次,删除光标所在位置的一个字符;


▧ 「nx」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符;


▧ 「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符


▧ 「nX」:例如,「20X」表示删除光标所在位置的“前面”20个字符


▧ 「dd」:删除光标所在行;


▧ 「ndd」:从光标所在行开始删除n行;


复制


▧ 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。


▧ 「nyw」:复制n个字到缓冲区


▧ 「yy」:复制光标所在行到缓冲区。


▧ 「nyy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。


▧ 「p」:将缓冲区内的字符贴到光标所在位置。


注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。


替换


▧ 「r」:替换光标所在处的字符。

▧ 「R」:持续替换光标所到之处的字符,直到按下「ESC」键为止。


撤销上一次操作


▧ 「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次恢复。

▧ 「ctrl + r」: 对撤销进行恢复


更改


▧ 「cw」:更改光标所在处的字到字尾处

▧ 「cnw」:例如,「c3w」表示更改3个字


跳至指定的行


▧ 「ctrl」+「g」:列出光标所在行的行号。

▧ 「nG」:例如,「15G」,表示移动光标至文章的第15行行首


底行模式指令集


在命令模式下输入「:」进入底行模式。


列出行号


▧ 「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。


跳到文件中的某一行


▧ 「n」:n表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。


查找字符


▧ 「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。

▧ 「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。


保存文件


▧ 「w」: 在冒号输入字母「w」就可以将文件保存起来离开vim

▧ 「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。

▧ 「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。


多文件操作


▧ 「vs filename」分屏打开并编辑另一个文件filename;

▧ 「ctrl ww」切换光标到另一个文件。


如何配置vim


原生的vim操作手感以及视图在使用时略显不适,我们可以通过vim配置文件对vim进行


配置文件的位置


▞  在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。


▞  而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件。


▞  切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~


▞  打开自己目录下的.vimrc文件,执行vim .vimrc


常用配置选项


▞  设置语法高亮: syntax on;

▞  显示行号: set nu;

▞  设置缩进的空格数为4: set shiftwidth=4;

...

此处不过多介绍,可自行搜索。我的建议是。手动配置既耗费时间精力又容易遇到各种各样的问题,所以我比较推荐自动化配置。


自动化配置


自动化配置只需要输入一条指令即可,有需要的小伙伴直接私信即可,随时都在。

如图为自动化配置vim后的页面:

33.png34.png35.png

目录
相关文章
|
2月前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
71 3
|
24天前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
1月前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
67 9
|
1月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
46 5
|
2月前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
71 2
|
2月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
513 3
|
2月前
|
机器学习/深度学习 人工智能 运维
构建高效运维体系:从自动化到智能化的演进
本文探讨了如何通过自动化和智能化手段,提升IT运维效率与质量。首先介绍了自动化在简化操作、减少错误中的作用;然后阐述了智能化技术如AI在预测故障、优化资源中的应用;最后讨论了如何构建一个既自动化又智能的运维体系,以实现高效、稳定和安全的IT环境。
77 4
|
2月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
66 4
|
23天前
|
机器学习/深度学习 运维 监控
智能化运维:从自动化到AIOps的演进之路####
本文深入探讨了IT运维领域如何由传统手工操作逐步迈向高度自动化,并进一步向智能化运维(AIOps)转型的过程。不同于常规摘要仅概述内容要点,本摘要将直接引入一个核心观点:随着云计算、大数据及人工智能技术的飞速发展,智能化运维已成为提升企业IT系统稳定性与效率的关键驱动力。文章详细阐述了自动化工具的应用现状、面临的挑战以及AIOps如何通过预测性分析和智能决策支持,实现运维工作的质变,引领读者思考未来运维模式的发展趋势。 ####
|
23天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的崛起背景,深入分析了其核心概念、关键技术、应用场景及面临的挑战,并对比了传统IT运维模式,揭示了AIOps如何引领运维管理向更高效、智能的方向迈进。通过实际案例分析,展示了AIOps在不同行业中的应用成效,为读者提供了对未来智能运维趋势的洞察与思考。 ####
56 1