vi/vim 编辑器 --基本命令
1 vi/vim编辑器介绍
vi 是visual interface 的简称,是Linux中最经典的文本编辑器
vim是vi的加强版。兼容了vi的所有指令,不仅能编辑文本,而且具有shell程序编辑的功能,可以通过不同颜色的字体辨别语法的正确性,极大方便了程序的设计和编辑性。
2 vi/vim编辑器的三种工作模式

命令模式(Command mode)
命令模式下,所敲的按键编辑器都理解为命令,以命令驱动不同的功能。
此模式下,不能自由进行文本编辑。
输入模式(Insert mode)
也就是所谓的编辑模式、插入模式。
此模式下,可以对文件内容进行自由编辑。
底线命令模式(Last line mode)
以:开始,通常用于文件的保存、退出。
2.1 命令模式
如果需要通过vi\vim编辑器编辑文件,输入如下命令
vi 文件路径
vim 文件路径 一般直接使用vim,因为vim兼容vi的所有功能
注意:1)如果文件路径表示的文件不存在,那么此命令会用于编辑新文件。
2)如果文件路径表示的文件存在,那么命令用于编辑已有文件。
示例
vim test.txt 若文件不存在,会自动创建新文件并进入命令模式
再点击 i ,进入输入模式
对内容进行编辑,输入this a test
点击Esc,退出输入模式,进入命令模式
在命令模式下,输入:进入底线命令模式
在底线命令模式下(即在 : 基础上),再输入wq ,回车进行保存并退出
命令模式快捷键
以下为在命令模式下,各种进入输入模式的快捷键
| 模式 | 命令 | 描述 |
| 命令模式 | i | 在当前光标位置进入输入模式 |
| 命令模式 | a | 在当前光标位置之后进入输入模式 |
| 命令模式 | I (大写i ) | 在当前行的开头,进入 输入模式 |
| 命令模式 | A | 在当前行的结尾,进入输入模式 |
| 命令模式 | o | 在当前光标下一行进入输入模式 |
| 命令模式 | O | 在当前光标上一行进入输入模式 |
| 输入模式 | Esc | 任何情况下点击Esc都能回到命令模式 |
以下还有一些命令模式下的快捷键
| 命令 | 描述 | 命令 | 描述 |
| 键盘上、键盘k | 向上移动光标 | dd | 删除光标所在行的内容 |
| 键盘下、键盘j | 向下移动光标 | ndd | n是数字,删除当前光标向下n行 |
| 键盘左、键盘h | 向左移动光标 | yy | 复制当前行 |
| 键盘右、键盘L | 向右移动光标 | nyy | n是数字,复制当前行和下面的n行 |
| 0 | 移动光标到当前行的开头 | p | 粘贴复制的内容 |
| $ | 移动光标到当前行的结尾 | u | 撤销修改 |
| pageup(PgUp) | 向上翻页 | ctrl+r | 方向撤销修改 |
| pagedown(PdDn) | 向下翻页 | gg | 跳到首行 |
| / | 进入搜索模式 | G | 跳到行尾 |
| n | 向下继续搜索 | dG | 从当前行开始,向下全部删除 |
| CTRL+n | 向上继续搜索 | dgg | 从当前行开始,向上全部删除 |
| d$ | 从当前光标开始,删除到本行的结尾 | d0 | 从当前光标开始,删除本行的开头 |
2.2 底线命令模式
注意:点击Esc可退回命令模式。
以下为底线命令模式下的一些常用命令:
| :wq | 保存并退出 |
| :q | 仅退出 |
| :q! | 强制退出 |
| :w | 仅保存 |
| :set nu | 显示行号 |
| :set nonu | 取消行号显示 |
| :set paste | 设置粘贴模式 |
| :set nopaste | 取消粘贴模式 |
相关文章:
vi/vim 编辑器 --基本命令
1 vi/vim编辑器介绍 vi 是visual interface 的简称,是Linux中最经典的文本编辑器 vim是vi的加强版。兼容了vi的所有指令,不仅能编辑文本,而且具有shell程序编辑的功能,可以通过不同颜色的字体辨别语法的正确性,极大…...
C++——STL标准模板库——容器详解——set
一、基本概念 set容器是一种具备自动排序功能的集合,默认递增排序;元素无法直接修改,且不能重复;另一个版本叫做multiset,允许存在重复元素,其他功能和性质一样。 set容器底层结构一般为自平衡二叉搜索树…...
Vim一键配置指南,打造高效率C++开发环境
文章目录 前言安装与卸载功能演示gcc/g升级问题 前言 Vim作为当下最受欢迎的文本编译器之一,不仅具有强大的文本编辑功能,还提供了高度的可定制性。用户可以根据自己的喜好自定义配置,并且通过自己编写插件或者使用现有的插件来扩展Vim的功能…...
新航向,新生态: Michael在出海业务圆桌会议分享HyperBDR全球业务拓展之道
1月15日-16日,以“领航新开局,共赢新生态”为主题的华为云生态大会2024在华为云贵安数据中心云上屯盛大举行。本次会议聚焦于华为云全国生态伙伴与开发者,旨在共同见证华为云生态战略的最新进展和伙伴政策的新升级。与会者将分享来自优秀生态…...
SpringBoot异步处理
Spring boot异步处理 业务场景: 如执行数据库备份任务,前端发起请求到后端,后端备份数据库的处理逻辑需要很长一段时间,此时前端会一直等待后端返回结果,给用户给等待时间过长,这是就要考虑异步处理了&…...
2024年甘肃省职业院校技能大赛信息安全管理与评估 样题一 模块二
竞赛需要完成三个阶段的任务,分别完成三个模块,总分共计 1000分。三个模块内容和分值分别是: 1.第一阶段:模块一 网络平台搭建与设备安全防护(180 分钟,300 分)。 2.第二阶段:模块二…...
matplotlib绘制动态瀑布图
绘制瀑布图思路:遍历指定文件目录下所有的csv文件,每读一个文件,取文件前20行数据进行保存,如果超过规定的行数300行,将最旧的数据删除,仅保留300行数据进行展示。 网上找的大部分绘制瀑布图的代码&#x…...
【STM32】STM32学习笔记-USART串口收发HEX和文本数据包(29)
00. 目录 文章目录 00. 目录01. 串口简介02. 串口收发HEX数据包接线图03. 串口收发HEX数据包示例104. 串口收发HEX数据包示例205. 串口收发文本数据包接线图06. 串口收发文本数据包示例07. 程序示例下载08. 附录 01. 串口简介 串口通讯(Serial Communication)是一种设备间非常…...
uniapp列表实现方式 v-for
创建列表视图 v-for v-for“对象item in 数组” v-for“(对象item,下标) in 数组” v-for“(对象item,使用这个键取到的值,下标) in 数组” :key 绑定标识 一般建议使用对象中的id等值 类型 any <template><view><view clas…...
SqlAlchemy使用教程(三) CoreAPI访问与操作数据库详解
SqlAlchemy使用教程(一) 原理与环境搭建SqlAlchemy使用教程(二) 入门示例及编程步骤 三、使用Core API访问与操作数据库 Sqlalchemy 的Core部分集成了DB API, 事务管理,schema描述等功能,ORM构筑于其上。本章介绍创建 Engine对象,使用基本的…...
PDF有编辑密码怎么办
目录 注意: windows方法: 1 python 下载 2 打开命令行 3 安装 pikepdf 4 编写python脚本 5 使用py脚本 6解密完成 Linux方法: 注意: 此方法可以用于破解PDF的编辑密码,而不是PDF的打开密码 当遇到类似如下问…...
智慧公厕:打造智慧城市公共厕所信息化管理的新升级
在现代社会中,随着科学技术的不断进步与应用,智慧公厕作为公共服务设施,正迎来一次新的升级与革新。利用先进技术,智慧公厕实现了信息化升级,能够实时监测人员、环境和设备状况,提高使用效率、安全性、舒适…...
gin-vue-admin二开使用雪花算法生成唯一标识 id
场景介绍 需求场景: 总部采集分支的数据,由于分支的 id 是子增的主键 id,所以会出现重复的 id,但是这个 id 需要作为标识,没有实际作用,这里选择的是分布式 id 雪花算法生成 id 存储用来标识,这…...
文心一言 vs. ChatGPT:哪个更胜一筹?
文心一言 vs. ChatGPT:从简洁美到深度思考的文本生成之旅 近年来,文本生成工具的崛起使得人们在表达和沟通方面拥有了更多的选择。在这个领域中,文心一言和ChatGPT作为两个备受瞩目的工具,各自以独特的优势展现在用户面前。本文将…...
LoadBalancer 替换 Ribbon
POM 移除 Ribbon 相关依赖 <!-- LoadBalancer 必须引入 springcloud --> <!-- 父pom引入springcloud 版本管理 --> https://spring.io/projects/spring-cloud/ 官网查看 boot 对应的 cloud 的版本 <dependencyManagement><dependency> <groupI…...
Jsqlparser简单学习
文章目录 学习链接模块访问者模式parser模块statement模块Expression模块deparser模块 测试TestDropTestSelectTestSelectVisitor 学习链接 java设计模式:访问者模式 github使用示例参考 测试 JSqlParser使用示例 JSqlParse(一)基本增删改…...
IC验证——perl脚本ccode_standard——c代码寄存器配置标准化
目录 1 脚本名称 2 脚本路径 3 脚本参数说明 4 脚本操作说明 5 脚本代码 1 脚本名称 ccode_standard 2 脚本路径 /scripts/bin/ccode_standard 3 脚本参数说明 次序 参数名 说明 1 address (./rfdig;.;..;./boot) 指定脚本执行路…...
Qt单个字符判断
1.相关说明 字符的Unicode编码、单个字符的判断 2.界面绘制 3.相关主要代码 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui;…...
通过OpenIddict设计一个授权服务器02-创建asp.net项目
在这一部分中,我们将创建一个ASPNET核心项目,作为我们授权服务器的最低设置。我们将使用MVC来提供页面,并将身份验证添加到项目中,包括一个基本的登录表单。 创建一个空的asp.net core项目 正如前一篇文章中所说,授权…...
2.6、云负载均衡产品详述
一、定义 弹性负载均衡(Elastic Load Balance,简称ELB)可将来自公网的访问流量分发到后端云主机,可选多种负载均衡策略,并支持自动检测云主机健康状况,消除单点故障,保障应用系统的高可用。 二、产品架构 1&am…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
