当前位置: 首页 > news >正文

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

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

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

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


🎬艾莉丝的简介:


🎬艾莉丝的Linux专栏简介:


目录

前期提示

1  本文内容前情提示

2  vi / vim键盘图

2  ~>  vim编辑器

2.1  vim是什么?

2.2  为什么?

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

2.3.1  vi / vim的区别

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

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

2.3.3.1  退出方式一:底行模式【:wq】

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

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

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

2.4  vim命令

2.4.0  光标知识补充

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

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

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

2.4.4  编辑:复制

2.4.5  编辑:粘贴

2.4.6  编辑:撤销

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

2.4.8  编辑:剪切

2.4.9  编辑:删除

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写一段代码

#include<studio.h>int main()
{printf("hello world\n");return 0;
}

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

[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回到普通模式(命令模式),再输入命令,确保万无一失。

# 想象一个简单的决策流程: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】:一行内容粘贴几次——

#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有所帮助,不要忘记给博主“一键四连”哦!

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

૮₍ ˶ ˊ ᴥ ˋ˶₎ა

http://www.dtcms.com/a/600609.html

相关文章:

  • 使用 BR 备份 TiDB 到阿里云 OSS 存储
  • 机器学习项目——基于集成学习提升树情绪分类(代码/论文)
  • C++ 抽象类与多态原理深度解析:从纯虚函数到虚表机制(附高频面试题)
  • 尚硅谷 SpringCloud 01 分布式概念-工程创建-nacos安装-nacos服务注册与发现 -远程调用
  • C# Sqlite帮助类
  • 传统方式部署 Hadoop 高可用集群
  • 微软 Win11 经典版 Outlook 曝 BUG,加速 SSD 损耗
  • C++在边缘AI加速中的硬件优化:结合位运算与SIMD提升推理效率
  • 网站开发文档撰写作业牡丹江整站优化
  • QT:ItemView视图控件
  • 让UI完全按屏幕比例变化的方法
  • 结项报告完整版:Apache SeaTunnel 支持 Flink 引擎 Schema Evolution 功能
  • 微服务生态组件之Spring Cloud LoadBalancer详解和源码分析
  • 重庆长寿网站设计公司哪家专业网站跳转微信链接
  • 阿里云域名DNS解析URL转发不支持HTTPS?
  • leetcode 2654. 使数组所有元素变成 1 的最少操作次数 中等
  • AI取名大师 | PM2 部署 Bun.js 应用及配置 Let‘s Encrypt 免费 HTTPS 证书
  • 结项报告完整版 | Apache SeaTunnel支持metalake开发
  • 【cursor】进阶技巧Rules
  • WebServer05
  • 【数据分析-Excel】常用函数汇总
  • 深入理解MySQL事务隔离级别与锁机制(从ACID到MVCC的全面解析)
  • RabbitMQ应用(1)
  • .NET驾驭Excel之力:Excel应用程序的创建与管理
  • Unity2.5D视角肉鸽项目架构
  • JAVA和C#的语法对比
  • WPS Excel 图表
  • 电商网站开发需要掌握哪些知识技能品牌设计和vi设计有什么区别
  • Spring 框架整合 JUnit 单元测试——包含完整执行流程
  • .NET驾驭Excel之力:自动化数据处理 - 开篇概述与环境准备