【Linux】初识优雅的Linux编辑器——Vim

news/2025/2/19 4:47:42/

❤️前言

        大家好!今天给大家带来的博客内容是关于Linux操作系统下的一款多模式文本编辑器Vim。本文将和大家一起来了解Vim编辑器的一些基础知识。

正文

        Vim是一个多模式的文本编辑器(一共有十二种模式),其中我们当我们初学Vim时主要了解如下三种工作模式:命令模式(默认模式)、插入模式、底行模式

        其它的模式可以通过在底行模式下输入 help vim-modes 进行查看。

命令模式(普通模式)

        当我们刚启动Vim编辑器对一个文件进行操作时,首先见到的就是Vim的命令模式,在这个模式下,我们所有的键盘输入都会被当作命令,一般不会进行文本的输入,我们在命令模式中通过一系列的命令进行一些复制、粘贴、删除等操作。

        在传统的Vim使用方法中,我们一般不会使用鼠标进行光标的移动和对文本的选中,这点和我们通常使用的Windows操作系统中的编辑器大不一样。现在我们刚开始学习Vim编辑器的使用,我觉得我们可以试着入乡随俗,只使用键盘进行对应的操作。

        这里是详细的Vim键盘图,包含了命令模式下的各种命令:

插入模式

        如果我们在Vim编辑器中想要对文件进行文本编辑,这时我们就需要从默认的命令模式通过某些键盘命令进入插入模式。在插入模式下,Vim编译器就像一个简单的记事本一样,可以跟我们平常在Windows系统下的文本编辑进行一样的操作,直接使用键盘进行文本的写入。在文本编辑过程中,我们可以使用上下左右方向键对光标进行移动(对,咱还是试着使用键盘而不是鼠标哈哈哈)。

        在命令模式下共有这些指令可以让我们进入插入模式:

        然后你就可以在这个文件中写入你想要的内容,把它变成你想要的形状了(bushi)。然后当我们对文件内容的操作完成了之后,如果我们想要退出Vim,我们该怎么做呢?

底行模式

        当我们在插入模式中想要退出Vim编辑器,这显然是不太现实的,毕竟在插入模式下,我们输入字符一般被识别为文本编辑。这时我们就需要先退出底行模式,然后再想方法退出Vim编辑器。

        那么我们如何退出插入模式呢?这时我们可以直接无脑按Esc键退出模式。在Vim中,如果我们要进行模式的转变往往需要先进入命令模式,(当然,如果已经在命令模式下,这个操作就不需要了)那么这时候我们就可以选择无脑地按Esc键退出该模式,进入命令模式。

        进入命令模式后,我们接着输入字符 ' : ' 进入底行模式。在底行模式中,我们有如下指令:

  • w 保存不退出
  • w 新文件名 把文件另存为新文件
  • q 不保存退出
  • wq 保存退出
  • ! 强制
  • q! 强制不保存退出,用于修改文件之后,不保存数据退出
  • wq! 强制保存退出,当文件的所有者或 root 用户对文件没有写权限的时候,强制写入数据使用。

        这时我们如果作为文件的所有者,一般就直接在底行模式下输入 wq 保存并退出Vim编译器。

🍀结语

        本文关于Vim编辑器的分享就到此为止啦,Vim编辑器与其他的编辑器不太相同的地方就是它具有一定的学习成本,我们在使用的过程中需要慢慢地熟悉它的使用方法。当然,对于我身为一个Linux的初学者来说,我希望自己能够不厌其烦地学习一些新东西。最后,祝大家心情愉快!


http://www.ppmy.cn/news/76409.html

相关文章

__weak类型函数

前言 今天无意之间看到了一个__weak类型函数,之前没有了解过,就查了一下资料。现在分享一下。 __weak是什么 含义解释 (1)其实这个用白话很好理解:__weak 表示弱定义,表示如果你自己定义了同名的函数就不用…

SCMA基本原理介绍

SCMA: Sparse Code Multiple Access SCMA基本原理 我们考虑一个同步(synchronous)的SCMA系统, 含1个基站(Base Station, BS); J J J个用户(so called layers);K个OFDM…

Javaweb概念

什么是javaweb JavaWeb是指,所有通过Java语言编写可以通过浏览器访问的程序的总称,叫JavaWeb。 JavaWeb是基于请求和响应来开发的。 什么是请求 请求是指客户端给服务器发送数据,叫请求Request 什么是响应 响应是指服务器给客户端回传数据&…

Linux Ubuntu配置CPU与GPU版本tensorflow库的方法

本文介绍在Linux操作系统的发行版本Ubuntu中,配置可以用CPU或GPU运行的Python新版本深度学习库tensorflow的方法。 在文章Anaconda配置Python新版本tensorflow库(CPU、GPU通用)的方法(https://blog.csdn.net/zhebushibiaoshifu/ar…

ChatGPT可能马上取代你!ChatGPT能做什么?

文章目录 前言1.客服机器人2.智能助手3.内部沟通4.个性化推荐5.语音交互6.教育培训7.医疗健康8.社交娱乐9.营销推广10.情感分析11.舆情监测12.知识管理13.金融服务14.物联网15.公共服务16.智能家居17.自动化办公18.交通出行19.游戏娱乐20.智慧城市21.决策支持22.人才招聘23.版权…

数据仓库漫谈-前世今生

数据仓库的内容非常多,每一个子模块拎出来都能讲很久。这里没法讲太多细节,大致思考了三个备选议题: 数据仓库的前世今生 数据仓库体系知识介绍 数仓开发者的路在何方? 既然是第一次分享,感觉还是跟大家普及下数仓的…

【mysql】库的操作+表的操作

文章目录 启动mysql登录mysql1.MySQL环境安装与基础认识修改端口号连接服务器服务器,数据库,表关系建表 第二讲_库的操作1.创建数据库2.创建数据库案例3.指明字符集和校验集校验规则对数据库的影响不区分大小写的查询以及结果:区分大小写的查…

GPC规范--安全域基础概念

概述: 分为三种主流类型: 1、发卡方安全域(Issuer Security Domain, ISD),卡片上首要的、强制性存在的安全域,是卡片管理者(通常是发卡方)在卡片内的代表; 2、补充安全域(Supplementary Security Domain&am…