当前位置: 首页 > news >正文

【Linux】(六)—— vim编辑器

vim文件编辑器

Vim(Vi Improved)是一个高度可配置的文本编辑器,最初基于UNIX下的Vi编辑器发展而来,广泛用于程序开发和系统管理中。vim编辑器可以只通过终端命令即可编写修改文件,不需要和gedit一样需要打开类似于记事本的窗口。Vim以其高效、灵活和强大著称,但对初学者来说可能有一定的学习曲线。以下是Vim的基本使用指南:

下载vim

某些Linux的发行版本并没有在系统中集成vim编辑器,如Ubuntu。此时就需要我们手动安装vim,如果你使用下面命令安装起来很慢,我建议你先把apt安装的源更改为国内镜像,具体可以参考我在本系列博客中关于软件安装的详细讲解:【Linux】(三)—— 文件管理和软件安装-CSDN博客

sudo apt-get install vim   # 安装vim
sudo apt-get remove vim   # 卸载vim

启动Vim

在命令行中输入vimvim 文件名来启动Vim。如果指定了文件名,Vim会尝试打开该文件;否则,它会创建一个新文件。

Vim的三种模式

Vim有三种主要的工作模式:普通模式(Normal mode)、插入模式(Insert mode)和命令行模式(Command-line mode)。

  1. 普通模式:启动Vim后默认处于此模式,可以使用键盘移动光标、删除文本、复制粘贴等。
  2. 插入模式:按下iao等键可以进入插入模式,在当前位置开始输入文本。
  3. 命令行模式:按下:/?等键可以进入命令行模式,用于输入保存、查找、替换等命令。

基本操作

  • 从普通模式进入插入模式:按i在当前光标前开始插入,a在光标后插入,o在当前行下方新开一行插入。
  • 返回普通模式:在插入模式下,按EscCtrl + [返回普通模式。
  • 保存退出:在普通模式下修改完毕之后,先输入w 进入命令行模式,输入:w保存文件但不退出,:q退出(如果未做更改),:q!强制退出而不保存更改,:wq保存并退出。
  • 移动光标h左移,j下移,k上移,l右移。更快速移动:Ctrl + d向下翻半屏,Ctrl + u向上翻半屏,G跳到文件末尾,gg跳到文件开头。
  • 删除操作x删除当前字符,dd删除当前行,dw删除单词。
  • 复制粘贴yy复制当前行,p在光标后粘贴,P在光标前粘贴。

查找与替换

  • 查找:在命令行模式下输入/pattern查找pattern,按n跳到下一个匹配项,N跳到上一个。
  • 替换:s/old/new/g在当前行替换第一个oldnew:%s/old/new/g在整个文件中替换所有oldnewg标志表示全局替换。

撤销命令

  • u: 一步一步撤销
  • ctrl + r: 反撤销

相关文章:

【Linux】(六)—— vim编辑器

vim文件编辑器 Vim(Vi Improved)是一个高度可配置的文本编辑器,最初基于UNIX下的Vi编辑器发展而来,广泛用于程序开发和系统管理中。vim编辑器可以只通过终端命令即可编写修改文件,不需要和gedit一样需要打开类似于记事…...

06016传感器原理与应用202207

06016传感器原理与应用202207 选择题(2*11) 1.基本的电子测量系统由四部分组成,即电源、信号调节、显示系统和B(P7) A.分档器 B.传感器 C.处理器 D.采集器 2.热电阻温度计的测量电路采用精度较高的是B&am…...

java web:springboot mysql开发的一套家政预约上门服务系统源码:家政上门服务系统的运行流程

java web:springboot mysql开发的一套家政预约上门服务系统源码:家政上门服务系统的运行流程 家政上门服务系统的优势 服务质量更稳定:由专业的家政人员提供服务,经过严格的培训和筛选。 价格更透明:采用套餐式收费&…...

二叉树的后序遍历-力扣

二叉树的后序遍历,指首先遍历二叉树的左节点,然后遍历二叉树的右节点,最后遍历中间节点。按照顺序进行递归遍历即可。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *rig…...

C++基础编程100题-008 OpenJudge-1.3-06 甲流疫情死亡率

更多资源请关注纽扣编程微信公众号 http://noi.openjudge.cn/ch0103/06/ 描述 甲流并不可怕,在中国,它的死亡率并不是很高。请根据截止2009年12月22日各省报告的甲流确诊数和死亡数,计算甲流在各省的死亡率。 输入 输入仅一行&#xff…...

计算机网络 ——网络层(IPv4地址)

计算机网络 ——网络层(IPv4地址) 什么是IPv4地址IP地址的分类特殊的IP地址 查看自己的IPv4地址 我们今天来看IPv4地址: 什么是IPv4地址 IPv4(Internet Protocol version 4)是第四版互联网协议,是第一个被…...

重写mybatisPlus自定义ID生成策略

1.项目中需要引入mybatisplus核心组件 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>${mp.version}</version></dependency> 2.新建一个类实现IdentifierGenera…...

华为坤灵路由器配置SSH

配置SSH服务器的管理网口IP地址。 <HUAWEI> system-view [HUAWEI] sysname SSH Server [SSH Server] interface meth 0/0/0 [SSH Server-MEth0/0/0] ip address 10.248.103.194 255.255.255.0 [SSH Server-MEth0/0/0] quit 在SSH服务器端生成本地密钥对。 [SSH Server…...

盘点一个Python网络爬虫的实战问题

点击上方“Python爬虫与数据挖掘”&#xff0c;进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 西宫南内多秋草&#xff0c;落叶满阶红不扫。 大家好&#xff0c;我是Python进阶者。 一、前言 前几天在Python最强王者交流群【&#x1f1ff; &#x…...

100道面试必会算法-32-二叉树右视图用栈实现队列

100道面试必会算法-32-二叉树右视图&用栈实现队列 给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4]示例 2: 输入: [1,n…...

⽀付逻辑漏洞思路⼩集合

⼀.直接的价格修改 ⼆.修改⽀付状态 三.修改购买数量 四&#xff1a;⽀付附属值修改 ➀&#xff1a;修改优惠劵⾦额 ➁&#xff1a;修改优惠劵⾦额及业务逻辑问题 ➂&#xff1a;修改积分⾦额 ➃&#xff1a;满减修改 五&#xff1a;订单替代⽀付 六&#xff1a;⽀付接…...

嵌入式学习——Linux高级编程复习(线程)——day40

1. 线程 1.1 定义 线程是一个轻量级的进程 是一个任务被创建、调度、消亡的过程 1.2 线程和进程的区别与联系 1. 线程是CPU任务调度的最小单元 2. 进程是操作系统资源分配的最小单元 3. 线程&#xff08;Thread&#xff09;是操作系统能够进行运算调度的最小单位…...

kvm管理工具-virsh

virsh 查看全部虚拟机列表停止虚拟机列表启动虚拟机强制关闭虚拟机连接虚拟机控制台查看虚拟机的详细信息查看虚拟机接口信息查看虚拟机xml文件配置删除虚拟机 KVM&#xff08;Kernel-based Virtual Machine&#xff09;是一种基于 Linux 内核的虚拟化技术&#xff0c;允许在一…...

VisionPro的应用和入门教程

第1章 关于VisionPro 1.1 康耐视的核心技术 1. 先进的视觉系统 康耐视的视觉系统结合了高性能的图像传感器、复杂的算法和强大的计算能力&#xff0c;能够实时捕捉、分析和处理高分辨率图像。其视觉系统包括固定式和手持式两种&#xff0c;适用于各种工业环境。无论是精密电…...

整数规划问题算法例子

整数规划问题算法概述 整数规划(Integer Programming, IP)问题是优化问题的一种,其中决策变量必须取整数值。整数规划问题在许多实际应用中广泛存在,如资源分配、排班、路径优化等。 0-1背包问题旅行商问题利用线性规划库求解整数规划问题的方法 以下是两个常见的整数规划…...

C#启动一个cmd.exe多次随时输入命令并获取输出

想要实现的效果&#xff0c;程序通过Process类一次启动cmd&#xff0c;后台线程每隔一定时间&#xff0c;向其输入命令&#xff0c;获得并处理输出。 一、基本操作 首先&#xff0c;通常操作的例子一抓一大把&#xff1a; 1、通过Process启动cmd执行一条/多条&#xff08;&am…...

持续总结中!2024年面试必问 20 道分布式、微服务面试题(五)

上一篇地址&#xff1a;持续总结中&#xff01;2024年面试必问 20 道分布式、微服务面试题&#xff08;四&#xff09;-CSDN博客 九、请解释API网关在微服务架构中的作用。 API网关是微服务架构中的一个重要组件&#xff0c;它充当所有客户端请求的单一入口点&#xff0c;然后…...

Android输入法IME(三)之 管理端(IMMS)启动流程

2.2. IME管理端&#xff08;IMMS&#xff09;初始化流程 IMMS运行在system server进程中&#xff0c;属于系统服务的一部分&#xff0c;用于控制输入法的显示/隐藏、切换、绑定等操作。 涉及代码文件路径&#xff1a; IMMS运行在system server进程中&#xff0c;属于系统服务的…...

elasticsearch安装与使用(4)-搜索入门

1、创建索引 PUT /hotel {"mappings": {"properties":{"title":{"type": "text"},"city":{"type": "keyword"},"price":{"type":"double"}}} }2、写入文档 …...

【UML用户指南】-12-对高级结构建模-接口、类型和角色

目录 1、名称 2、操作 3、关系 4、理解接口 5、常用建模技术 5.1、对系统中的接缝建模 5.2、对静态类型和动态类型建模 5.2.1、对静态类型建模 5.2.2、对动态类型建模 使接口易于理解和易于访问 接口在关于一个抽象做什么的描述与关于这个抽象如何做的实现之间定义了…...

C++笔试强训day42

目录 1.最大差值 2.兑换零钱 3.小红的子串 1.最大差值 链接https://www.nowcoder.com/practice/a01abbdc52ba4d5f8777fb5dae91b204?tpId182&tqId34396&rp1&ru/exam/company&qru/exam/company&sourceUrl%2Fexam%2Fcompany&difficulty2&judgeSta…...

Docker 中运行的 MySQL 数据库与 Docker 外部的管理系统连接

步骤 1&#xff1a;运行 MySQL 容器 首先&#xff0c;确保你的 Docker 容器中运行了 MySQL 数据库。 docker run --name mysql-container -e MYSQL_ROOT_PASSWORDmy-secret-pw -d -p 3306:3306 mysql:latest--name mysql-container 为容器命名。-e MYSQL_ROOT_PASSWORDmy-sec…...

10 设备树

掌握设备树是 Linux 驱动开发人员必备的技能! 1、什么是设备树 新版本 Linux 中,ARM 相关的驱动全部采用了设备树。Linux-4.1.15 支持设备树。我们了解一下设备树的起源、重点学习一下设备树语法。 设备树:Device Tree,就是“设备”和“树”,描述设备树的文件叫做 DTS(…...

【架构分析】GPU执行GEMM矩阵运算实例演示

背景介绍 Cutlass是 NVIDIA 提供的一套用于高效实现矩阵乘法和卷积操作的 C 库。它以 CUDA 为基础&#xff0c;提供了高度优化的数学运算&#xff0c;尤其适用于GPU上的高性能并行计算。本文以GEMM矩阵运算作为实例&#xff0c;展示Cutlass在GPU上执行GEMM运算的过程 实例演示…...

从《千脑智能》看大模型

千脑智能与大模型 千脑智能介绍 世界模型千脑智能理论——对大脑的全新理解旧大脑&#xff1a;演化的历史烙印新大脑&#xff1a;智慧的创新引擎新旧大脑的互动与争斗启示与借鉴 大脑对信息的处理和建模六根六尘六识 新脑&#xff1a;智能的创新中枢旧脑&#xff1a;生存的本能…...

k8s Pods漂移时间配置

默认为300秒 apiVersion: apps/v1 kind: Deployment metadata:name: my-test spec:replicas: 1selector:matchLabels:app: my-apptemplate:metadata:labels:app: my-appspec:containers:- name: my-containerimage: nginx:latestports:- containerPort: 80tolerations:- key: &…...

Python - json 美化格式、保存文件

文章目录 读取长篇幅的 jsonl 文件时&#xff0c;我们难以了解 json 的格式&#xff0c;复制出来贴到 sojson 之类的网站&#xff0c;当数据量大的时候感觉麻烦。 不如自己写个 json 格式美化&#xff0c;然后保存到文件。 text open(file_path).readline() # 读取 jsonl 文…...

博客目录~

1、Jenkins构建打包部署前端Vue项目至Nginx-CSDN博客 2、https://blog.csdn.net/askuld/article/details/139429298 3、基于DockerJenkins实现自动部署SpringBootMaven项目-CSDN博客 4、时序数据库ClickHouse的安装使用_clickhouse安装使用-CSDN博客 5、Valid&#xff0c…...

RPC RMI 区别以及在java中的应用

文章目录 1. 简介1.1 什么是RPC1.2 什么是RMI 2. RPC与RMI的区别2.1 RPC和RMI的优缺点对比RPC的优点RPC的缺点RMI的优点RMI的缺点 2.2 选择RPC还是RMI&#xff1f;应用场景和考虑因素选择RPC的场景选择RMI的场景 3. RPC在Java框架中的应用3.1 Java中常用的RPC框架3.2 RPC在Java…...

TCP和udp能使用同一个端口通讯吗

TCP和UDP是可以使用同一个端口进行通讯的。这是因为TCP和UDP是两个完全不同的协议&#xff0c;它们工作在传输层&#xff0c;各自维护不同的连接和会话。每个协议都有自己的端口号空间&#xff0c;因此TCP和UDP可以互不干扰地使用相同的端口号。 但是&#xff0c;需要注意的是…...

青海省住房和建设厅网站首页/市场调研与分析

https://mp.weixin.qq.com https://mp.weixin.qq.com/s?__bizMzI3NzE0NjcwMg...

网站主机测速/网站名查询网址

标签&#xff1a;扭蛋机哈喽各位CFer们大家好&#xff0c;CF手游孟德扭蛋机活动将会在2021元旦节发售的消息&#xff0c;早已经人尽皆知。为了更方便大家了解该活动&#xff0c;近期我们还发布了关于扭蛋机活动的详细爆料&#xff0c;引起了更多CFer的积极讨论。那么本期内容继…...

智慧城市网站建设/荆门网络推广

我在tomcat中通过JDBC使用数据库连接 . 我们的环境是Tomcat 7 JDK 8和Oracle 12c .由于我只能通过TCPS连接到Oracle数据库(我们使用的是Oracle的钱包)&#xff0c;因此我必须修改当前的Tomcat server.xml以创建与Oracle的JDBC连接 . 我更新的配置代码段initialSize"10&quo…...

自助建站空间怎么用/品牌推广策略有哪几种

Linux解决rm 删除大文件后 磁盘空间无法释放的问题在Linux中&#xff0c;当我们使用rm在linux上删除了大文件&#xff0c;但是如果有进程打开了这个大文件&#xff0c;却没有关闭这个文件的句柄&#xff0c;那么linux内核还是不会释放这个文件的磁盘空间&#xff0c;最后造成磁…...

济南微网站开发/百度一下首页网页手机版

jsp的常用指令有哪些(编译指令/动作指令整理) JSP动作指令 JSP - JSP中的脚本、指令、动作和注释...

谷歌seo网站建设/苏州关键词优化软件

4月16日&#xff0c;据每日邮报报道&#xff0c;近来&#xff0c;记住每个网络账号变得越来越困难&#xff0c;许多人只能依赖“自动填写”功能储存详细信息。这种功能意味着&#xff0c;一旦输入提前储存的证书&#xff0c;用户访问网站时就可自动显示信息并登录。可是移动与互…...