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

news2024/12/26 0:06:33

前言:本篇是 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):详解:文本复制/粘贴/剪切/删除 与 撤销普通操作及撤销撤销操作


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/617062.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

配置Linux操作系统主机名及网络设置

上一篇我们讲到了如何克隆虚拟机&#xff0c;三台虚拟机Spark01、Spark02和Spark03默认为动态IP地址&#xff0c;若后续重启系统后IP地址便会发生改变&#xff0c;非常不利于实际开发&#xff0c;且虚拟机Spark02和Spark03是通过克隆虚拟机Spark01创建的&#xff0c;这会导致这…

软件测试银行项目到底“香”到哪里?

为什么做金融类软件测试&#xff1f; 做金融类软件测试的原因有以下几个&#xff1a; 保障客户资产安全&#xff1a;金融类软件通常涉及大量的客户财产和敏感信息&#xff0c;因此软件测试可以帮助发现潜在的漏洞和风险&#xff0c;从而确保客户的资产和信息得到充分的保护。 …

超详细IDEA:MavenWeb项目配置Tomcat

文章目录 附IDEA创建MavenWeb项目教程附Windows 10安装配置Tomcat教程一、插件配置Tomcat方式二、IDEA部署本地Tomcat方式 附IDEA创建MavenWeb项目教程 超详细IDEA创建MavenWeb项目教程 附Windows 10安装配置Tomcat教程 超详细Windows 10安装配置Tomcat教程 一、插件配置To…

LeetCode: 238. 除自身以外数组的乘积

目录 1. 解法一&#xff1a;时&#xff1a;O(N) &#xff0c;空&#xff1a;O(N) 2. 解法二&#xff1a;(解法一的空间优化) 时&#xff1a;O(N)&#xff0c;空&#xff1a;O(1) 3. 解法三 原题链接&#xff1a;238. 除自身以外数组的乘积 - 力扣&#xff08;Leetcode&#x…

java SSM 教务管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 教务管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/…

网工内推 | 云方向招运维,云计算HCIE认证优先,最高22k

01 东华软件股份公司 招聘岗位&#xff1a;运维系统工程师&#xff08;云平台&#xff09; 职责描述&#xff1a; 1、 负责华为云平台Huawei CloudStack &#xff0c;FusionStorage分布式存储的维护&#xff0c;优化和故障处理&#xff1b; 2、 负责云平台上VDC、ECS、DDM、R…

1 Linux网络虚拟化

Linux网络虚拟化 文章目录 Linux网络虚拟化前言一、network namespace1.1 初识network namespace1.2 配置network namespace 二、veth pair三、容器与host veth pair的关系3.1 方法一3.2 方法二3.2 方法三 四、 Linux bridge4.1 Linux bridge初体验4.2 把IP让给Linux bridge4.3…

RestCloud-新一代(智能)全域数据集成平台

新一代智能全域数据集成平台 一、介绍1.1 企业级数据集成架构面临的痛点1.2 RestCloud说明1.3 重构企业数据融合架构&#xff0c;解决各种复杂、即时、高合规的数据集成需求1.4 (智能)全域数据集成平台1.5 300数据及应用连接器轻松汇聚全域数据 二、产品简介2.1 功能特性2.2 产…

Pytorch入门(五)使用ResNet-18网络训练常规状态下的CIFAR10数据集

本文采用ResNet-18PytorchCIFAR-10实现深度学习的训练。 文章目录 一、CIFAR-10 数据集介绍二、ResNet 神经网络的介绍1.ResNet 的网络模型2.本文用到的ResNet网络结构3.残差块的的解释4.ResNet神经网络的优缺点 三、ResNet-18 代码实现四、ResNet-18 训练 CIFAR-10数据集五、…

编写 OPC UA Compile的模型设计文件

OPC Foundation 开源了一个模型编译工具-UA ModelCompiler.它接受下面两种信息模型格式&#xff1a; NodeSet2.xmlModelDesign.xml 看来ModelDesign 是专门为UA ModelCompiler设计的&#xff0c;采用了分层结构描述&#xff0c;它比NodeSet2 可读性更好一点。适合使用普通文本…

【MySql】数据库的备份与恢复

文章目录 前言备份mysqldump还原source注意事项查看连接情况 前言 对与数据库的备份与恢复该怎么去做呢&#xff1f; Linux下对于文件或目录的备份&#xff0c;直接拷贝一份&#xff0c;留着备用&#xff0c;对于备份&#xff0c;比较简单的做法会就是直接打包拷贝一下&#x…

数据结构常用知识点整理(java版)(--修改中--)

目录 一、逻辑结构 1、栈 2、队列 顺序队列 循环队列 链式队列 &#xff08;相当于只能尾进头出的单链表&#xff09; 双端队列 (Deque) 3、数组 4、链表 5、树 二叉树 满二叉树 完全二叉树 二叉查找树&#xff1a; (ADT Tree) 红黑树&#xff1a; B树&#xf…

docker内无法通过域名访问外网问题解决方案一

一、问题描述 docker中有的时候需要从容器内向外网环境进行访问&#xff0c;这个时候我边出现了一个诡异的问题&#xff0c;从容器的宿主机直接通过curl命令使用域名可以正常的访问并返回正确的解决&#xff0c;但是从容器中向外调用外网环境的这个域名的时候&#xff0c;curl命…

ChatGPT 使用 拓展资料:吴恩达大咖 Building Systems with the ChatGPT API 内容审查

ChatGPT 使用 拓展资料:吴恩达大咖 Building Systems with the ChatGPT API 内容审查 https://learn.deeplearning.ai/chatgpt-building-system?_gl=114hjbho_gaMTEwNzkwNDAyMC4xNjgyNjUxMzg4_ga_PZF1GBS1R1*MTY4NTk2NTg1Ni4xNS4wLjE2ODU5NjU4NTYuNjAuMC4w 如果你正在建立一个…

糖酵解反应动力学方程的微分方程建模

糖酵解反应动力学方程的微分方程建模 题目 对于下面的糖酵解反应&#xff1a; 设其满足如下动力学方程&#xff1a; { d d t Glucose v 1 − v 2 d d t Gluc 6 P v 2 − v 3 d d t Fruc 6 P v 3 − v 4 v 5 d d t Fruc 1 , 6 P 2 v 4 − v 5 − v 6 d d t ATP −…

electron+vue3全家桶+vite项目搭建【19】集成微信登录

文章目录 引入实现思路实现步骤 引入 electron中实际就是嵌入了一个浏览器内核&#xff0c;所以在electron中集成微信登录实际和web端的集成方式是一样的。 demo项目地址 实现思路 这里参考这篇文章的 electron之微信扫码登陆&#xff08;不使用轮询&#xff09; 实现思路&a…

【数据结构】常见排序算法——常见排序介绍、选择排序(直接选择排序、堆排序)交换排序(冒泡排序)

文章目录 1.常见排序2.选择排序2.1直接选择排序2.2堆排序 3.交换排序3.1冒泡排序 1.常见排序 2.选择排序 选择排序是一种简单但不高效的排序算法&#xff0c;其基本思想是从待排序的数据中选择最小&#xff08;或最大&#xff09;的元素放到已排序的数据末尾。具体操作步骤如下…

可能是 Python 中最火的第三方开源测试框架 pytest

一、介绍 本篇文章是《聊聊 Python 的单元测试框架》的第三篇&#xff0c;前两篇分别介绍了标准库 unittest 和第三方单元测试框架 nose。作为本系列的最后一篇&#xff0c;压轴出场的是Python 世界中最火的第三方单元测试框架&#xff1a;pytest。 pytest 项目地址&#xff1…

预见未来:超强元AI诞生,抓住这个机会,利用AI变现也变得更加容易

目录 一、引言 二、介绍 三、技术展现 四、元AI架构图展现 五、元AI变现技巧—商业版说明 六、后期规划 一、引言 如何利用AI变现已经成为了当今各个行业亟需解决的问题。随着人工智能技术的快速发展和普及&#xff0c;越来越多的企业开始将其应用于产品研发、销售流程优化、客…

一学就会---移除链表相同元素

文章目录 题目描述思路一&#xff1a;思路二&#xff1a; 题目描述 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 示例&#xff1a; 思路一&#xff1a; 要移除链表中值为val的结…