探索 Linux vim/vi 编辑器:介绍、模式以及基本操作演示

news2024/11/28 1:41:10

💐作者:insist--

💐个人主页:insist-- 的个人主页

理想主义的花,最终会盛开在浪漫主义的土壤里,我们的热情永远不会熄灭,在现实平凡中,我们终将上岸,阳光万里

❤️欢迎点赞👍收藏📁评论📒

前言

本文将介绍vim / vi编辑器是什么并详细讲解它的三种工作模式以及基本命令

目录

一、Vim编译器介绍

1. Vim是什么

2. Vim的三种工作模式

①命令模式

②输入模式

③底线命令模式

二、基本操作演示

1. 打开文件

2. 进入插入模式

3. 保存并退出文件


一、Vim编译器介绍

a2f6dbc747e547b1ab5187661745128c.webp

1. Vim是什么

Vim是一款在Linux中常用的文本编辑器,它从vi发展而来,具有代码补全、编译及错误跳转等功能,可以主动以字体颜色标识语法的正确性,方便代码编写。Vim能运行于unix、windows、mac等多个操作平台

vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。


2. Vim的三种工作模式

Vim的三种工作模式分别是命令模式、输入模式和底线命令模式。

①命令模式

用户刚刚启动vi/vim,就进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符

命令模式下常用的命令:

h:左移光标

j:下移光标

k:上移光标

l:右移光标

w:移动到下一个单词的开头

b:移动到当前单词或前一个单词的开头

e:移动到当前单词或下一个单词的结尾

gg:移动到文件开头

G:移动到文件结尾

dd:删除当前行

yy:复制当前行

p:粘贴到光标之后

u:撤销上一次操作

Ctrl + r:重做上一次撤销的操作

/:查找文本,例如输入“/example”将查找“example”这个单词

n:查找下一个匹配项

N:查找上一个匹配项

:%s/old/new/g:将文件中的所有“old”替换为“new”

②输入模式

在命令模式下,通过输入“i”、“a”或“o”命令可以进入输入模式。在这个模式下,用户可以像在普通文本编辑器中那样输入文本。

命令模式下常用的命令:

i:进入插入模式,在当前位置插入文本

a:进入插入模式,在光标后插入文本

o:进入插入模式,在光标前插入文本

Esc:退出插入模式,返回到命令模式

③底线命令模式

命令模式下,按下shift➕冒号(:)进入末行模式。在这个模式下,你可以输入保存、退出等命令。

命令模式下常用的命令:

w:保存文件

q:退出vim

wq:保存并退出vim

q!:强制退出vim,不保存修改

set number:显示行号

set nonumber:不显示行号

set colorscheme:设置颜色主题

set background=dark:设置背景色为暗色系

set background=light:设置背景色为亮色系

%s/old/new/g:将文件中的所有“old”替换为“new”

二、基本操作演示

 613cca19537e43a8a746d6c0305f191a.jpg


1. 打开文件

一句话概括:命令行中输入vim 文件名。

详细解释使用命令vim 文件名来打开一个文件。如果文件不存在,Vim将创建一个新文件;如果文件已经存在,则Vim会打开该文件并显示其内容。当我们想打开一个名为“hello.txt”的文件可以使用命令:vim hello.txt,如果出现下图这个样子,证明已经打开文件。

19f51f9631354c13b765913fc7e57f8d.jpg


2. 进入插入模式

一句话概述:在命令模式下,按键盘上的i、a或o即可进入。

详细解释命令模式下,通过输入“i”、“a”或“o”命令可以进入插入模式,如下图,进入插入模式后,在命令行界面的左下角会显示“插入”字样,在此模式我们就可以像Windows中的文本文档一样直接写入内容。

f59ea3a64d2f4b62aa060bc8c01d674c.jpg


3. 保存并退出文件

一句话概述:进入底线命令模式输入wq(进入方法看流程图或下方解释)

详细解释写入内容后,我们需要进行保存并退回命令行界面,如上方流程图,我们要退出并保存文件时,需要在 底线命令模式 输入 wq,进入底线命令模式之前,我们需要先退回命令模式(按ESC键),然后再进入底线命令模式(shift➕:组合键),如下图,看到冒号以后就证明已经进入到了底线命令模式。在冒号的后面输入wq即可保存并退出文件。

1c3c86bbb172498cb457bc3ee272c590.jpg

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

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

相关文章

笔记(三)maxflow push relabel与图像分割

笔记(三)maxflow push relabel与图像分割 1. Push-Relabel算法思想2.Push-Relabel算法原理示意图3.Push-Relabel算法具体实例4. push relabel与图割 1. Push-Relabel算法思想 对于一个网络流图: 该算法直观可以这样理解,先在源节点处加入充足…

2018年1月22日 Go生态洞察:Hello, 中国!

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

Java毕业设计 SpringBoot 车辆充电桩系统

Java毕业设计 SpringBoot 车辆充电桩系统 SpringBoot 车辆充电桩系统 功能介绍 首页 图片轮播 登录注册 充电桩展示 搜索充电桩 充电桩报修 充电常识 个人中心 我的收藏 后台管理 登录 首页 个人中心 维修员管理 用户管理 电桩类别管理 充电桩管理 充电桩报修管理 维修回复管…

DBS note4:Buffer Management

目录 1、介绍 2、缓冲池 3、处理页面请求 4、LRU替换和时钟策略 1)顺序扫描性能 - LRU 5、最近最常使用替换策略(MRU Replacement) 1)Sequential Scanning Performance - MRU 6、练习题 1)判断真假 2&#xf…

HCIP-十、BGP基础

十、BGP基础 实验拓扑实验需求及解法1.R1 属于 AS100,R2/3/4 属于 AS200,R5 属于 AS3002.AS200 内运行 OSPF3.建立 IBGP 邻居4.建立 EBGP 邻居5.BGP 发布路由6.路由黑洞 实验拓扑 实验需求及解法 本实验模拟 ISP 网络拓扑,运行 BGP。如图所示…

python中模块的创建及引用(import as,import,from)

模块(module)简介: 1.模块化,模块化指将一个完整的程序分解为一个一个的小模块, 通过将模块组合,来搭建出一个完整的程序 2.不采用模块化就是统一将所有的代码编写到一个文件中,采用 模块化就是…

chrome driver 截图和填表

昨天突然有一个需求(自己的),想把某个网站题目主体部分翻译并保存成图片,开始时用了国内网站的翻译(人工、简单翻译),后来发现很多地方翻译的不尽人意,于是只好用翻译插件对原始网站…

【H5 Canvas】【平面几何】特殊图形绘制(【带旋转】箭头/正多边形/正多尖角形等)

文章目录 直线/弧线 箭头 直线/弧线 箭头 // startX,startY 起始坐标 // endX,endY 结束坐标 // radian 圆弧角度,取值[0,PI]; 0表示画直线箭头,否则画圆弧箭头 CanvasRenderingContext2D.prototype.drawArrow function(startX,startY,endX,endY,radia…

【Spring篇】spring核心——AOP面向切面编程

目录 想要彻底理解AOP,我觉得你的先要了解框架的模块化思想,为此先记录框架在讲AOP 什么是java框架?为什么要出现框架? 我总结以下七点来讲述和帮助理解java框架思想 什么是AOP? 如何理解上面这句话呢&#xff1…

HarmonyOS安装三方库遇到的问题

使用开发电脑系统为:MacOS, 开发工具为:DevEco-Studio版本号3.1.1 Release。在控制栏使用终端工具输入命令:ohpm install ohos/lottie遇到的第一个问题如下图。 解决方案: 1、在首选项中找到ohpm的安装路径。 2、打开bash_profil…

电子学会C/C++编程等级考试2022年06月(二级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:小白鼠再排队 N只小白鼠(1 < N < 100),每只鼠头上戴着一顶有颜色的帽子。现在称出每只白鼠的重量,要求按照白鼠重量从小到大的顺序输出它们头上帽子的颜色。帽子的颜色用 “red”,“blue”等字符串来表示。不同的小白…

pyhon数据分析A股股票策略实际买卖总结(每月末更新数据)

简介 本篇文章主要记录python数据分析a股股票选股后实际买卖的记录。 选股策略 低位寻股&#xff0c;筛选出低位股价股票已经做过调整的股票&#xff0c;做短线交易&#xff08;不超过7天&#xff09;&#xff0c;不贪&#xff0c;小赚即走。分三个时段&#xff0c;开盘三十…

SSM企业风向管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 SSM 企业风向管理系统是一套完善的信息系统&#xff0c;结合springMVC框架完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库 &#xff0c;系统主要采用B/…

决策树(第四周)

一、决策树基本原理 如下图所示&#xff0c;是一个用来辨别是否是猫的二分类器。输入值有三个&#xff08;x1&#xff0c;x2&#xff0c;x3&#xff09;&#xff08;耳朵形状&#xff0c;脸形状&#xff0c;胡须&#xff09;&#xff0c;其中x1{尖的&#xff0c;圆的}&#xf…

***利用SecureCRT上传、下载文件(使用sz与rz命令)

使用SecureCrt连接到服务器。 1、上传文件&#xff1a;rz命令 输入“rz”&#xff0c;回车&#xff0c;在弹窗的文件选择框中选择本地磁盘中需要上传的文件&#xff0c;点击【Add】按钮&#xff0c;再点击传输指令即可。 注意&#xff08;如果没有权限不可能成功&#xff0c;…

Runloop解析

RunLoop 前言 ​ 本文介绍RunLoop的概念&#xff0c;并使用swift和Objective-C来描述RunLoop机制。 简介 ​ RunLoop——运行循环&#xff08;死循环&#xff09;&#xff0c;它提供了一个事件循环机制在程序运行过程中处理各种事件&#xff0c;例如用户交互、网络请求、定…

ps5ps4游戏室如何计时?计费系统怎么查看游戏时间以及收费如何管理

ps5ps4游戏室如何计时&#xff1f;计费系统怎么查看游戏时间以及收费如何管理 1、ps5ps4游戏室如何计时&#xff1f; 下图以佳易王计时计费软件V17.9为例说明 在开始计时的时候&#xff0c;只需点 开始计时按钮&#xff0c;那么开台时间和使用的时间长度项目显示在屏幕上&am…

Pure-Pursuit 跟踪五次多项式轨迹

Pure-Pursuit 跟踪五次多项式轨迹 考虑双移线轨迹 X 轴方向位移较大&#xff0c;机械楼停车场长度无法满足 100 ~ 120 m&#xff0c;因此采用五次多项式进行轨迹规划&#xff0c;在轨迹跟踪部分也能水一些内容 调整 double_lane.cpp 为 ref_lane.cpp&#xff0c;结合 FrenetP…

基于 GPS 定位信息的 Pure-Pursuit 轨迹跟踪实车测试(1)

基于 GPS 定位信息的 Pure-Pursuit 轨迹跟踪实车测试&#xff08;1&#xff09; 进行了多组实验&#xff0c;包括顺逆时针转向&#xff0c;直线圆弧轨迹行驶&#xff0c;以及Pure-Pursuit 轨迹跟踪测试 代码修改 需要修改的代码并不多&#xff0c;主要对 gps_sensor 功能包和…

蓝桥杯每日一题2023.11.26

题目描述 奖券数目 - 蓝桥云课 (lanqiao.cn) 将每一个数字进行一一枚举&#xff0c;如果检查时不带有数字4则答案可以加1 #include<bits/stdc.h> using namespace std; int ans; bool check(int n) {while(n){if(n % 10 4)return false;n / 10; }return true; } int m…