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

Linux :: vim 编辑器的初次体验:三种 vim 常用模式 及 使用:打开编辑、退出保存关闭vim

前言:本篇是 Linux 基本操作篇章的内容!
笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit。


学习集:

  • C++ 入门到入土!!!学习合集
  • Linux 从命令到网络再到内核!学习合集

目录索引:
1. vim 编辑器的基本认识
2. vim 的基本概念及三种常用模式
- - 2.1 正常/普通/命令模式(Normal mode)
- - 2.2 插入模式(Insert mode)
- - 2.3 末行模式(last line mode)
- - 2.4 三大模式切换简图说明
3. vim 编辑器的简单使用:进入、保存、退出
- - 3.1 (首次)进入与退出 vim
- - 3.2 使用 vim 进行编辑操作:保存
4. 相关文章或系列推荐


1. vim 编辑器的基本认识

vi 与 vim:

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

2. vim 的基本概念及三种常用模式

vim 是一款多模式的编辑器!


vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是:

  • 命令模式(command mode)
  • 插入模式(Insert mode)
  • 底行模式(last line mode)

各模式的功能区分如下:

2.1 正常/普通/命令模式(Normal mode)

基本操作简述:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode


命令模式下:输入:i => 进入插入 / 编辑模式
命令模式下:shift + : => 进入底行模式


2.2 插入模式(Insert mode)

模式功能:只有在Insert mode下,才可以做文字输入;


按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。


2.3 末行模式(last line mode)

模式功能:文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。


在命令模式下,shift+: 即可进入该模式。 要查看你的所有模式:打开vim,底行模式直接输入。


2.4 三大模式切换简图说明

模式切换:

  1. 命令模式 => 插入模式:i
  2. 命令模式 => 底行模式:shitf + ;,【 此处不用纠结:因为键盘输入:shift + ; => : 】
  3. 插入 / 底行模式 => 命令模式:Esc

简单总结:不推荐插入模式 <=> 底行模式! 若在vim总遇到问题,无脑 Esc 键后再尝试操作。

在这里插入图片描述


3. vim 编辑器的简单使用:进入、保存、退出

3.1 (首次)进入与退出 vim

[ - - 3.2 使用 vim 进行编辑操作:保存
进入 vim 编辑器(首次)

  • 直接命令行输入:vim 【回车】

进入如下界面:【如下是第一次使用进入的样子(未配置):即:编写过程中不会进行自动补齐、自动缩进等】(后续会有配置关于配置的文章)

在这里插入图片描述


退出 vim 编辑器
在键盘上按下【 shift + : 】:如图光标会跳转到页面底部,输入:q【回车】即可退出!


注:未进行任何编辑操作就退出,不会有保存提示!

在这里插入图片描述


3.2 使用 vim 进行编辑操作:保存

第一步:创建文件并打开

  • 方式一:touch xx.c + vim xx.c【即:先用 touch 指令创建文件,再用 vim 打开】
  • 方式二:vim xx.c【直接使用 vim 创建打开文件】

两种方式区别:vim 直接创建打开文件,若进入vim 编辑器界面后,无编写操作退出后不会保存文件!

[Mortal@VM-12-16-centos vim_study]$ touch fristfile.c
[Mortal@VM-12-16-centos vim_study]$ vim fristfile.c 

第二步:进入插入模式!

  • 命令模式下:输入:「i」

注:默认 tab 缩进 8 位;【修改方式,后续再配置 vim 文章中会讲】

在这里插入图片描述


第三步:保存并退出:

  • 先「Esc」键:退出插入模式,进入命令模式!
  • 键盘 「shift + :」:进入底行模式!
  • 输入:「wq」【回车】,即可保存并退出!

说明:

  • 「w」:在冒号输入字母「w」就可以将文件保存起来;
  • 「q」:按「q」就是退出,如果无法离开 vim,可以在「q」后跟一个「!」强制离开vim。
  • 「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。
  • 在进行文件编辑后,是无法使用 「q」直接退出的!要么 「wq」:保存并退出;要么「q!」强制退出不保存。

在这里插入图片描述


4. 相关文章或系列推荐

1. Linux 学习目录合集 ;


2. Linux :: 【简单开发篇 :: vim 编辑器:(2)】:: 普通/命令模式下的最常用操作(1):详解:文本复制/粘贴/剪切/删除 与 撤销普通操作及撤销撤销操作


相关文章:

Linux :: vim 编辑器的初次体验:三种 vim 常用模式 及 使用:打开编辑、退出保存关闭vim

前言&#xff1a;本篇是 Linux 基本操作篇章的内容&#xff01; 笔者使用的环境是基于腾讯云服务器&#xff1a;CentOS 7.6 64bit。 学习集&#xff1a; C 入门到入土&#xff01;&#xff01;&#xff01;学习合集Linux 从命令到网络再到内核&#xff01;学习合集 目录索引&am…...

Linux内核进程创建流程

本文代码基于Linux5.10 内容主要参考《Linux内核深度解析》余华兵 当Linux内核要创建一个新进程时&#xff0c; 流程大致如下 ret fork(); if (ret 0) {/* 子进程装载程序 */ret execve(filename, argv, envp); } else if (ret > 0) {/* 父进程 */ } 大致可以分为创建新…...

【03.04】大数据教程--HTTP协议和静态Web服务器

HTTP协议和静态Web服务器 HTTP&#xff08;Hypertext Transfer Protocol&#xff09;是一种用于传输超文本的协议&#xff0c;它是Web上的基础通信协议。静态Web服务器是指能够提供静态内容&#xff08;如HTML、CSS、JavaScript和图像文件&#xff09;的服务器。 在本教程中&am…...

数据共享传输:台式机和笔记本同步文件!

为什么要在台式机和笔记本同步文件&#xff1f; “我想在台式机和笔记本同步文件。因为我工作时使用笔记本&#xff0c;在家里使用安装了Windows 10系统的台式机&#xff0c;我想要在笔记本和台式机之间同步应用程序、游戏、文档等。有没有一种可以在台式机和笔记本同步文件的…...

java设计模式(十二)代理模式

目录 定义模式结构角色职责代码实现静态代理动态代理jdk动态代理cglib代理 适用场景优缺点 定义 代理模式给某一个对象提供一个代理对象&#xff0c;并由代理对象控制对原对象的引用。说简单点&#xff0c;代理模式就是设置一个中间代理来控制访问原目标对象&#xff0c;以达到…...

Umi微前端水印踩坑以及解决方案

最近公司需要在管理后台加一个水印方案~ 项目用的umi方案,以为就是改一个配置的问题,后来发现坑点还蛮多~ 希望此稳定能帮助到用umi 的你们. 一. 先来说说心路历程 坑点1 umi的水印适配只能在layout中进行配置,也就是路由配置中layout为false的页面无法配置水印,比如说登录页…...

Android RK3588-12 hdmi-in Camera方式支持NV24格式

hdmi-in Camera方式支持NV24格式 modified: hardware/interfaces/camera/device/3.4/default/ExternalCameraDevice.cpp modified: hardware/interfaces/camera/device/3.4/default/ExternalCameraDeviceSession.cpp diff --git a/hardware/interfaces/camera/device/3.4…...

Hive窗口函数详细介绍

文章目录 Hive窗口函数概述样本数据表结构表数据 窗口函数窗口聚合函数count()SQL演示 sum()SQL演示 avg()SQL演示 min()SQL演示 max()SQL演示 窗口分析函数first_value() 取开窗第一个值应用场景SQL演示 last_value()取开窗最后一个值应用场景SQL演示 lag(col, n, default_val…...

牛客网【c语言练习】

单选题 下面代码段的输出是&#xff08;-12 &#xff09; int main() {int a3; printf("%d\n",(aa-a*a)); } aa-9&#xff0c;此时还是等于3&#xff0c;因为a*a只是运算&#xff0c;并没有赋值&#xff1b;之后再算a-9&#xff0c;运算之前a等于3&#xff0c;运算…...

C++类和对象(上)

文章目录 &#x1f98d;1. 面向过程和面向对象&#x1f9a7;2. 类的引入&#x1f436;3. 类的定义&#x1f9ae;4. 类的访问控制和封装&#x1f356;4.1 访问限定符&#x1f356;4.2 封装 &#x1f429;5. 类的作用域&#x1f405;6. 类的实例化&#x1f404;7. 类的大小计算&a…...

JavaScript 数据透视表 DHTMLX Pivot Crack

DHTMLX Pivot JavaScript 数据透视表 - 强大的数据汇总和报告 使用我们的高速 JavaScript/HTML5 Pivot 组件可视化您的复杂数据&#xff0c;从而提高您的商业智能。 它可以帮助您以方便的方式汇总大型数据集。 主要特征 纯 JavaScript 库&#xff0c;可轻松与任何服务器端集成…...

QT链接库设置

以windows 平台为例&#xff0c;在.pro 文件中&#xff1a; 1 增加 INCLUDEPATH <头文件路径> DEPENDPATH <头文件路径> 2 LIBS -L<库目录路径> -l<库得名字> 3 设置MT、MTD、MD、MDD运行时库 win32:CONFIG(debug, debug|release): { QMAKE_CFLAGS_…...

零点起飞学Android——期末考试课本复习重点

目录 第一章 认识Android第二章 Android常见界面布局第三章 Android常用基本控件第四章 Android 高级控件第五章 Android菜单和对话框 第一章 认识Android 1. Android 界面设计被称为______。 答案&#xff1a;布局 2. Android中常见的布局包括______、______ 、______ 、____…...

Redis为什么快?

目录 Redis为什么快&#xff1f;渐进式ReHash全局哈希表渐进式ReHash 缓存时间戳 Redis为什么快&#xff1f; 纯内存访问&#xff1b; 单线程避免上下文切换&#xff1b; 渐进式ReHash、缓存时间戳&#xff1b; 前面两个都比较好理解&#xff0c;下面我们主要来说下 渐进式…...

Zabbix从入门到精通以及案例实操系列

1、Zabbix入门 1.1、Zabbix概述 Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制&#xff0c;允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据&#xff0c;Zabbix提供了出色的报告和…...

水声声波频率如何划分?水声功率放大器可将频率放大到20MHz吗?

水声声波频率如何划分&#xff1f;水声功率放大器可将频率放大到20MHz吗&#xff1f; 现如今我们可以在地球任意地区实现通信&#xff0c;是因为电磁波的作用。但是我们都知道海洋占了全球十分之七面积&#xff0c;电磁波在水下衰减速度太快&#xff0c;无法做到远距离传输&am…...

网络攻防技术--论文阅读--《基于自动数据分割和注意力LSTM-CNN的准周期时间序列异常检测》

英文题目&#xff1a;Anomaly Detection in Quasi-Periodic Time Series based on Automatic Data Segmentation and Attentional LSTM-CNN 论文地址&#xff1a;Anomaly Detection in Quasi-Periodic Time Series Based on Automatic Data Segmentation and Attentional LST…...

C++ 学习 ::【基础篇:08】:C++ 中 struct 结构体的认识【面试考点:C 与 C++ 中结构体的区别】

本系列 C 相关文章 仅为笔者学习笔记记录&#xff0c;用自己的理解记录学习&#xff01;C 学习系列将分为三个阶段&#xff1a;基础篇、STL 篇、高阶数据结构与算法篇&#xff0c;相关重点内容如下&#xff1a; 基础篇&#xff1a;类与对象&#xff08;涉及C的三大特性等&#…...

Electron开发:打包和发布 Electron 应用

https://start.spring.io/ 在线数据分析网站 https://tj.aldwx.com/ https://www.spsspro.com/ win10如何分屏 拖到边缘 Electron 环境搭建 https://www.electronjs.org/zh/docs/latest/tutorial/%E6%89%93%E5%8C%85%E6%95%99%E7%A8%8B electron 隐藏菜单 electron 标题栏 设…...

【每日一题Day222】LC1110删点成林 | dfs后序

删点成林【LC1110】 给出二叉树的根节点 root&#xff0c;树上每个节点都有一个不同的值。 如果节点值在 to_delete 中出现&#xff0c;我们就把该节点从树上删去&#xff0c;最后得到一个森林&#xff08;一些不相交的树构成的集合&#xff09;。 返回森林中的每棵树。你可以按…...

OpenClaw硬件控制实验:ollama-QwQ-32B通过串口操控智能家居

OpenClaw硬件控制实验&#xff1a;ollama-QwQ-32B通过串口操控智能家居 1. 为什么选择OpenClaw做硬件控制 去年冬天的一个深夜&#xff0c;我被空调定时关闭后冻醒的经历&#xff0c;让我开始思考如何让AI真正理解物理世界。传统智能家居App的固定场景模式已经不能满足我的需…...

APK Studio安全最佳实践:合规使用逆向工程工具

APK Studio安全最佳实践&#xff1a;合规使用逆向工程工具 【免费下载链接】apkstudio Open-source, cross platform Qt based IDE for reverse-engineering Android application packages. 项目地址: https://gitcode.com/gh_mirrors/ap/apkstudio 在移动应用开发与安全…...

手动侧开门款屏蔽箱 适用蓝牙 WIFI测试 无线测试屏蔽箱GX-5950A

GX-5950A屏蔽箱品名:屏蔽箱型号:GX-5950A一、主要功能及适用范围&#xff1a;1 该屏蔽箱适用于无线通讯测试、1 EMI测试、1 耦合测试、1 RF功能测试。适用于手机&#xff0c;平板计算机&#xff0c;蓝牙&#xff0c;wi-fi&#xff0c;天线等测试&#…...

纹理识别必备!5个高质量数据集下载与使用指南(附避坑技巧)

纹理识别实战指南&#xff1a;五大高价值数据集深度解析与应用技巧 纹理识别作为计算机视觉领域的重要分支&#xff0c;在工业质检、自动驾驶、医疗影像等场景中发挥着关键作用。但许多开发者在数据集获取和预处理阶段就会遇到各种"暗坑"——从下载链接失效到标注格式…...

三步打造清爽Mac菜单栏:Dozer终极隐藏方案

三步打造清爽Mac菜单栏&#xff1a;Dozer终极隐藏方案 【免费下载链接】Dozer Hide menu bar icons on macOS 项目地址: https://gitcode.com/gh_mirrors/do/Dozer 还在为Mac菜单栏上拥挤不堪的图标感到困扰吗&#xff1f;想要一个简洁高效的工作界面&#xff1f;Dozer正…...

Nunchaku-flux-1-dev技术解析:深入理解其背后的深度学习网络架构

Nunchaku-flux-1-dev技术解析&#xff1a;深入理解其背后的深度学习网络架构 最近在AI编程和图像生成圈子里&#xff0c;FLUX.1 [dev]这个名字被讨论得越来越多。作为其社区衍生版本&#xff0c;Nunchaku-flux-1-dev自然也吸引了大量技术爱好者的目光。大家可能已经体验过它生…...

从“玩概念”到“真落地”:AI智能体三大场景的突围之路

当行业不再为“大模型参数”狂欢&#xff0c;真正的价值开始浮现——客服自动化、内部知识库、办公Agent&#xff0c;正在成为AI智能体最先跑通商业闭环的三大场景。而决定成败的关键&#xff0c;已经从模型能力转向上下文设计、工具调用与反馈迭代。 2026年&#xff0c;大模型…...

告别反复插拔SD卡:迪文DGUS II屏串口下载与仿真调试全攻略(附T5L实战技巧)

告别反复插拔SD卡&#xff1a;迪文DGUS II屏串口下载与仿真调试全攻略&#xff08;附T5L实战技巧&#xff09; 在工业控制、智能家居和物联网设备的开发中&#xff0c;迪文DGUS II系列串口屏因其高性价比和强大的组态功能&#xff0c;已成为众多开发者的首选。然而&#xff0c;…...

TranslucentTB:颠覆传统的Windows任务栏透明化解决方案

TranslucentTB&#xff1a;颠覆传统的Windows任务栏透明化解决方案 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 在当今数字化工作环境…...

基于DAMOYOLO-S与计算机网络技术:构建分布式视频分析集群

基于DAMOYOLO-S与计算机网络技术&#xff1a;构建分布式视频分析集群 想象一下&#xff0c;一个大型物流园区&#xff0c;上百个摄像头日夜不停地运转&#xff0c;管理者需要实时知道&#xff1a;哪条通道拥堵了&#xff1f;哪个区域有异常人员闯入&#xff1f;传统的监控方式…...