【Linux基础开发工具 (二)】详解Linux文本编辑器:Vim从入门到精通——完整教程与实战指南(上)

🔥艾莉丝努力练剑:个人主页

❄专栏传送门:《C语言》、《数据结构与算法》、C/C++干货分享&学习过程记录、Linux操作系统编程详解、笔试/面试常见算法:从基础到进阶

⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平


🎬艾莉丝的简介: ​


🎬艾莉丝的Linux专栏简介:


目录

前期提示

[1 本文内容前情提示](#1 本文内容前情提示)

[2 vi / vim键盘图](#2 vi / vim键盘图)

[2 ~> vim编辑器](#2 ~> vim编辑器)

[2.1 vim是什么?](#2.1 vim是什么?)

[2.2 为什么?](#2.2 为什么?)

[2.3 怎么办?Linux文本编辑器:vi / vim使用](#2.3 怎么办?Linux文本编辑器:vi / vim使用)

[2.3.1 vi / vim的区别](#2.3.1 vi / vim的区别)

[2.3.2 没吃过猪肉先见见猪跑:用vim写一段代码](#2.3.2 没吃过猪肉先见见猪跑:用vim写一段代码)

[2.3.3 vim的退出问题(保存并且退出)](#2.3.3 vim的退出问题(保存并且退出))

[2.3.3.1 退出方式一:底行模式【:wq】](#2.3.3.1 退出方式一:底行模式【:wq】)

[2.3.3.2 退出方式二:默认模式【shift ZZ】](#2.3.3.2 退出方式二:默认模式【shift ZZ】)

[2.3.4 vim的模式问题:三种常用模式](#2.3.4 vim的模式问题:三种常用模式)

[2.3.5 vim的模式问题:三种常用模式的切换问题](#2.3.5 vim的模式问题:三种常用模式的切换问题)

[2.4 vim命令](#2.4 vim命令)

[2.4.0 光标知识补充](#2.4.0 光标知识补充)

[2.4.1 坐标定位命令:光标的上下定位](#2.4.1 坐标定位命令:光标的上下定位)

[2.4.2 坐标定位命令:光标的左右定位](#2.4.2 坐标定位命令:光标的左右定位)

[2.4.3 坐标定位命令:上下左右键](#2.4.3 坐标定位命令:上下左右键)

[2.4.4 编辑:复制](#2.4.4 编辑:复制)

[2.4.5 编辑:粘贴](#2.4.5 编辑:粘贴)

[2.4.6 编辑:撤销](#2.4.6 编辑:撤销)

[2.4.7 编辑:撤销错了还有后悔药吃!只要没退出vim!](#2.4.7 编辑:撤销错了还有后悔药吃!只要没退出vim!)

[2.4.8 编辑:剪切](#2.4.8 编辑:剪切)

[2.4.9 编辑:删除](#2.4.9 编辑:删除)

[2.4.10 视图模式:Ctrl + V](#2.4.10 视图模式:Ctrl + V)

博主手记

结尾


前期提示

1 本文内容前情提示

2 vi / vim键盘图



2 ~> vim编辑器

2.1 vim是什么?

文本编辑器------只能用来写代码或者更改配置文件。

Linux黑屏下一般vim只是其中一种,不像是集成开发环境:VS。

2.2 为什么?

vi------usr / bin / vi

vim------usr / bin / vim

vi和vim的关系类似于C/C++的关系,vim就是增强版的vi,功能更加强大、更加完善。

2.3 怎么办?Linux文本编辑器:vi / vim使用

2.3.1 vi / vim的区别

两者同样都是多模式编辑器,vi / vim的区别------不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于xwindow、macos、windows。

2.3.2 没吃过猪肉先见见猪跑:用vim写一段代码

cpp 复制代码
#include<studio.h>

int main()
{
    printf("hello world\n");
    return 0;
}

这里艾莉丝演示一下怎么使用vim,顺便用cat打印一下------

bash 复制代码
[root@VM-4-17-centos ccb]# ll
total 0
-rw-r--r-- 1 root root 0 Nov  6 11:30 code.c
[root@VM-4-17-centos ccb]# vim code.c
[root@VM-4-17-centos ccb]# vim code.c
[root@VM-4-17-centos ccb]# ll
total 4
-rw-r--r-- 1 root root 78 Nov  6 11:52 code.c
[root@VM-4-17-centos ccb]# cat code.c
#include<studio.h>

int main()
{
    printf("hello world\n");
    return 0;
}

最终我们就可以得到这样的结果。

2.3.3 vim的退出问题(保存并且退出)

uu们只要记住:ESC就是我们的"安全键",任何时候如果不确定在什么模式,就先按ESC回到普通模式(命令模式),再输入命令,确保万无一失。

bash 复制代码
# 想象一个简单的决策流程:

1、按Esc回到普通模式(默认模式 / 命令模式)。
2、问自己:要保存吗?
   -> 要保存:输入 :wq或 ZZ(按住shift+ZZ)
   -> 不保存:输入 :q!
2.3.3.1 退出方式一:底行模式【:wq】

如下图所示,我们默认的模式是命令模式,也叫普通模式。要先从普通模式切到底行模式,默认有一个冒号------":",在冒号后面输入wq即可保存并退出了。

至于普通模式、底行模式是什么,艾莉丝会在本文的【vim的模式问题】那里介绍。

2.3.3.2 退出方式二:默认模式【shift ZZ】

在默认的普通模式(Normal Mode)下直接按ZZ(注意大写,所以要按住shift的同时再按zz)即可保存退出,不需要进入底行模式。

2.3.4 vim的模式问题:三种常用模式

如下图所示------

2.3.5 vim的模式问题:三种常用模式的切换问题

vim正常模式命令集------

vim末行模式命令集------

i:键盘输入,光标不移动

a:光标会后移一位

o:光标会向下移动一行

2.4 vim命令

vim的基本操作------

2.4.0 光标知识补充

光标上次在哪里,下次就还在哪里。

如果显示器是纸,那么光标就相当于笔------光标在哪里就从哪里开始写。

2.4.1 坐标定位命令:光标的上下定位

【gg】:进入到文本开始------

【G】:移动到文章结尾,锁定【大写模式】可以直接按G,或者shift + g = G,按shift + g------

【行号】+【shift + g / G】:n + G,如6G------

2.4.2 坐标定位命令:光标的左右定位

【shift + 6】/【^】:光标定位到该行行首

【shift + 4】/【$】:光标定位到行尾

2.4.3 坐标定位命令:上下左右键

w(向后一个"单词")------

b(向前一个"单词")------

2.4.4 编辑:复制

【yy】:复制当前行(看不到的话其实是因为相当于复制到剪贴板上了);

【n + yy】:可以复制多行。

2.4.5 编辑:粘贴

【p】:post,粘贴------

【n + p】:一行内容粘贴几次------

bash 复制代码
#include<studio.h>

int main()
{
   printf("hello world\n");
   printf("hello world\n");
   printf("hello world\n");
   printf("hello world\n");
   printf("hello world\n");
   printf("hello world\n");
    return 0;
}   

2.4.6 编辑:撤销

**【u(undo)】:**撤销刚刚的操作------可以一直撤销。

万一不小心撤销错了呢?有后悔药吃吗?

2.4.7 编辑:撤销错了还有后悔药吃!只要没退出vim!

【Ctrl + r】:对【u】进行撤销。

2.4.8 编辑:剪切

剪切(剪切到剪切板,所以看不到):dd

配合【p】粘贴使用。

不用在行首剪切,只要在那一行就可以了,那一行往后剪切多少------直接n + dd。

配合【p】粘贴使用------

2.4.9 编辑:删除

**1、删除行:**也是【dd】,不【p】粘贴就是删除------

2、删除列:****【x】,光标位置向后一次删除一次------

3、快速删除一行:按住x不动------

4、细节删除:【n + x】,如hello就5x------

5、也可以定位到某处,输入i(insert模式),正常删除就可以了

2.4.10 视图模式:Ctrl + V

上面的【细节删除】还要自己数,实在是太挫了!


博主手记

下面就是艾莉丝在学习vim这部分知识时的手写笔记啦,大家可以了解一下------


结尾

uu们,本文的内容到这里就全部结束了,艾莉丝再次感谢您的阅读!

往期回顾:

【Linux基础开发工具 (一)】详解Linux软件生态与包管理器:从yum / apt原理到镜像源实战

结语:本期我们在前一篇博客的基础上继续深入学习了Linux中的指令篇,希望对学习Linux指令相关内容的uu有所帮助,不要忘记给博主"一键四连"哦!

🗡博主在这里放了一只小狗,大家看完了摸摸小狗放松一下吧!🗡

૮₍ ˶ ˊ ᴥ ˋ˶₎ა

相关推荐
在所不辞兄14 小时前
【零基础学智能仿真-63】ABACUS作业工具与MCP接口
人工智能·深度学习·神经网络·机器学习·智能仿真
楚山之石14 小时前
【Medical Image Analysis】深度学习医学图像合成综述:伪CT、合成MRI与合成PET的架构、性能与临床边界
图像处理·人工智能·学习·mr·mri
今天重构了吗14 小时前
Linux 上 rm -rf 删错了能找回吗
运维·服务器
blackappleD14 小时前
百度 Unlimited OCR 2 拆解:SR-SWA 如何让百页文档的 KV 缓存不再涨
人工智能·llm
数字新视界14 小时前
国产动环数据库在智能机房环境监控中的应用与优势分析
大数据·人工智能·数据中心·机房管理·模块化机房
holly就是我14 小时前
AI 编程助手为什么跑偏?用开源 ccglass 看清 Prompt、工具调用和 Token 消耗
人工智能·后端
KaiwuDB14 小时前
KaiwuDB 分布式集群扩缩容,从原理到完整操作踩坑总结
运维·数据库·分布式
雨中飘荡的记忆14 小时前
额度又见底了?这个开源项目,给 AI 编程助手接上 61 家"加油站"
人工智能
天远Date Lab14 小时前
零信任架构实战:基于天远企业年报信息核验构建自动化商业保理财务与社保穿透评估网关
人工智能·架构·自动化
EnCi Zheng14 小时前
后端怎么把AI接口稳定安全低成本接进业务:超时重试、密钥隔离与成本熔断清单
人工智能·后端·安全·架构·api