Linux中 vim 编辑器的使用

文章目录

  • 前言
  • 一、vim编辑器模式
  • 二、简单的插入、保存和退出
  • 三、 命令模式下常用命令即其作用
  • 1. 命令模式


思维导图
在这里插入图片描述

前言

首先,了解一下 什么是vim 编辑器?在不同的系统中,文本的管理也会不同;windos系统就不多说了,这里主要是讲linux文本的编辑,顾名思义,linux的文本是通过 “vim" 来编辑的。

当然,Linux的编辑器可不止这一种,其还有图形模式的gedit、kwrite、openoffice等。


提示:以下是本篇文章正文内容,下面案例可供参考

一、vim编辑器模式

vim 编辑器内设有3种模式,命令模式、编辑模式、末行模式。进入vim编辑器后,三种模式之间是可以相互切换的。

  1. 命令模式:
    打开 Vim 后,默认进入的就是命令模式。

可以执行操作:

(1)移动光标(上、下、左、右箭头或其他移动快捷键)
(2)删除、复制、粘贴文本 查找和替换文本
(3)使用 /对文件执行各种全局操作
(4)切换到其他模式

  1. 编辑模式:
    编辑模式也可以称为插入模式,输入iao都可以从命令模式进入插入模式,退出插入模式时,只需要按键盘上的Esc键,退出即可,当然退出后是命令模式

从命令模式进入插入模式,可以通过按下以下任一键:

(1)i(在光标前插入)
(2)a(在光标后插入)
(3)o(在当前行下方新建一行并插入)
(4)O(在当前行上方新建一行并插入

  1. 末行模式:
    末行即是最后一行,从命令模式进入末行模式,通常通过按 : 键触发。在末行模式下,可以输入单行或多行的 Ex 命令.

执行诸如:

(1)文件保存及退出 (:w 写入文件,:q 退出,:wq 保存并退出,:q! 强制退出不保存)
(2)查找和替换:s/search/replace/
(3)设置选项:set nu 显示行号
(4)执行Shell命令:!cmd
(5)执行脚本或宏定义等高级操作。


二、简单的插入、保存和退出

/home 下新建一个 text 文本文件

touch text.txt

使用 vim 编辑 text.txt

vim text.txt 

进入后默认是命令行模式
在这里插入图片描述
要进入编辑模式(插入模式),需要输入开关命令,iao ,进入后输入hello world,
在这里插入图片描述
最后保存内容,可按键盘Esc键退出编辑模式,然后输入:wq退出vim编辑器
这样text.txt中就保存这 ”hello world“ 这个内容


三、 命令模式下常用命令即其作用

1. 命令模式

命令作用
光标移动h向左移动光标一个字符
j向下移动光标一个字符
k向上移动光标一个字符
l向右移动光标一个字符
0(数字零):移动到行首
$移动到行尾
gg移动到文件首行
G移动到文件最后一行
Ctrl + f / PageDown向前翻页
Ctrl + b / PageUp向后翻页
H移动到屏幕顶部
M移动到屏幕中部
L移动到屏幕底部
文本复制与粘贴yy复制当前行
nyy(如3yy):复制接下来的n行
p在光标下一行粘贴
P在光标上一行粘贴
"xy复制到寄存器x(x可以换成任意字母)
"xp从寄存器x中粘贴
文本删除x删除光标处的单个字符
dw删除光标到单词结尾
dd删除当前行
D从光标位置删除至行尾
nggngg然后d(比如3dd):删除接下来的n行
文本替换r + 字符替换光标下的单个字符
R进入替换模式,不断输入字符会替换光标后的所有字符直到按下Esc键/td>
文本修改cw更改从光标开始到单词结尾的文本
cc更改整行
C从光标位置更改到行尾
撤销与重做u撤销最后一次更改
Ctrl + r重做(即撤销的反操作)
搜索与替换/pattern向前搜索给定的模式(pattern/td>
?pattern向后搜索给定的模式
:%s/old/new/gc在整个文件中搜索old并替换为new,每处替换询问确认(c表示confirm)
文件操作:w保存当前文件
:q退出Vim(如果没有更改则直接退出,如果有未保存的更改则无法退出)
:q!强制退出,不保存任何更改
:wq保存并退出

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

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

相关文章

compile→错误: 不支持发行版本 17

错误: 不支持发行版本 17 具体错误描述如下: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project big-event: Fatal error compiling: 错误: 不支持发行版本 17 -> [Help 1] [ERROR] …

简易版 RPC 框架实现 1.0 -http实现

RPC 是“远程过程调用(Remote Procedure Call)”的缩写形式,比较通俗的解释是:像本地方法调用一样调用远程的服务。虽然 RPC 的定义非常简单,但是相对完整的、通用的 RPC 框架涉及很多方面的内容,例如注册发…

Redisson 分布式锁原理分析

Redisson 分布式锁原理分析 示例程序 示例程序: public class RedissonTest {public static void main(String[] args) {Config config new Config();config.useSingleServer().setPassword("123456").setAddress("redis://127.0.0.1:6379"…

cool 中的Midway ----node.js的TypeORM的使用

1.介绍 TypeORM | Midway TypeORM 是 node.js 现有社区最成熟的对象关系映射器(ORM )。本文介绍如何在 Midway 中使用 TypeORM 相关信息: 描述可用于标准项目✅可用于 Serverless✅可用于一体化✅包含独立主框架❌包含独立日志❌ 和老写…

第二十四天-数据可视化Matplotlib

目录 1.介绍 2.使用 1. 安装: 2.创建简单图表 3.图表类型 1.一共分为7类 2.变化 1.折线图 3.分布 ​编辑 1.直方图 2.箱型图 4.关联 1. 散点图: 2.热力图: 5.组成 1.饼图 2.条形图 6.分组 1.簇型散点图 2.分组条形图 3.分…

JOSEF约瑟 TQ-100同期继电器 额定直流电压220V 交流电压100V±10V

TQ-100型同期继电器 TQ-100同期继电器 ​ l 应用 本继电器用于双端供电线路的自动重合闸和备用电源自投装置中,以检查线路电压与母线电压的 相位差和幅值差。 2 主要性能 2 1采用进口集成电路和元器件构成,具有原理先进、性能稳定、可靠性高、动作值精…

Git版本管理--远程仓库

前言: 本文记录学习使用 Git 版本管理工具的学习笔记,通过阅读参考链接中的博文和实际操作,快速的上手使用 Git 工具。 本文参考了引用链接博文里的内容。 引用: 重学Git-Git远程仓库管理_git remote add origin-CSDN博客 Git学习笔记&am…

[自研开源] MyData 数据集成之数据过滤 v0.7.2

开源地址:gitee | github 详细介绍:MyData 基于 Web API 的数据集成平台 部署文档:用 Docker 部署 MyData 使用手册:MyData 使用手册 试用体验:https://demo.mydata.work 交流Q群:430089673 概述 本篇基于…

javaEE——线程的等待和结束

文章目录 Thread 类及常见方法启动一个线程中断一个线程变量型中断调用 interrupt() 方法来通知观察标志位是否被清除 等待一个线程获取当前线程引用休眠当前线程 线程的状态观察线程的所有状态观察 1: 关注 NEW 、 RUNNABLE 、 TERMINATED 状态的切换 多线程带来的风险为什么会…

【大模型系列】问答理解定位(Qwen-VL/Llama2/GPT)

文章目录 1 Qwen-VL(2023, Alibaba)1.1 网络结构1.2 模型训练 2 Llama2(2023, Meta)2.1 网络结构2.1.1 MHA/GQA/MQA2.1.2 RoPE(Rotary Position Embedding, 旋转式位置编码)2.1.3 RMSNorm 2.2 推理2.2.1 集束搜索(beam search)2.2.2 RoPE外推 3 GPT系列(OpenAI) 1 Qwen-VL(2023…

android中单例模式为什么会引起内存泄漏?

单例模式使用不恰当会造成内存泄漏。因为单例的静态特性使得单例的生命周期和应用的生命周期一样长, 如果一个对象已经不需要使用了,但是单例对象还持有该对象的引用,那么这个对象就不能被正常回收,因此会导致内存泄漏。 举个例子…

【数据可视化】使用Python + Gephi,构建中医方剂关系网络图!

代码和示例数据下载 前言 在这篇文章中,我们将会可视化 《七版方剂学》 的药材的关系,我们将使用Python制作节点和边的数据,然后在Gephi中绘制出方剂的网络图。 Gephi是一个专门用于构建网络图的工具,只要你能提供节点和边的数…

Stable Diffusion科普文章【附升级gpt4.0秘笈】

随着人工智能技术的飞速发展,我们越来越多地看到计算机生成的艺术作品出现在我们的生活中。其中,Stable Diffusion作为一种创新的图像生成技术,正在引领一场艺术创作的革命。本文将为您科普Stable Diffusion的相关知识,带您走进这…

Flink 集群部署模式

文章目录 前言一、会话模式(Session Mode)二、单作业模式(Per-Job Mode)三、应用模式(Application Mode) 前言 Flink支持多种集群部署模式,以满足不同场景和需求。以下是Flink的主要集群部署模…

springboot多模块下swaggar界面出现异常(Knife4j文档请求异常)或者界面不报错但是没有显示任何信息

继上一篇博文,我们解决了多模块下扫描不到子模块的原因,建议先看上一个博客了解项目结构: springboot 多模块启动报错Field XXX required a bean of type XXX that could not be found. 接下来我们来解决swaggar异常的原因,我们成功启动项目…

QML 布局管理器之ColumnLayout

一.ColumnLayout讲解 QML中的ColumnLayout是一种布局元素,用于在垂直列中排列其子元素。它的主要使用下列附加属性: Layout.minimumWidth Layout.minimumHeight Layout.preferredWidth Layout.preferredHeight Layout.maximumWidth Layout.maximumHeight Layout.fil…

SqlServer2008(R2)(一)SqlServer2008(R2)经典宝藏操作收集整理

一、常见操作 1、TRUNCATE TABLE 语句 删除表数据 TRUNCATE TABLE语句比DELET删除表中的所有行更快。从逻辑上讲,TRUNCATE TABLE它类似于DELETE没有WHERE子句的语句。 TRUNCATE TABLE语句从表中删除所有行,但表结构及其列,约束,…

Ubuntu 20.04 系统如何优雅地安装NCL?

一、什么是NCL? NCAR Command Language(NCL)是由美国大气研究中心(NCAR)推出的一款用于科学数据计算和可视化的免费软件。 它有着非常强大的文件输入和输出功能,可读写netCDF-3、netCDF-4 classic、HDF4、b…

Xinstall助力web唤起iOS,打破平台壁垒,实现无缝跳转

在移动互联网时代,web与App之间的跳转已成为用户日常使用中不可或缺的一部分。然而,对于iOS系统的用户来说,web唤起App的过程往往充满了挑战和不便。这时,Xinstall作为一款专业的移动开发者服务工具,为开发者们提供了解…

Lua中文语言编程源码-第一节,更改llex.c词法分析器模块, 使Lua支持中文关键词。

源码已经更新在CSDN的码库里: git clone https://gitcode.com/funsion/CLua.git 在src文件夹下的llex.c,是Lua的词法分析器模块。 增加中文保留字标识符列表,保留英文保留字标识符列表。 搜索“ORDER RESERVED”,将原始代码 …