vim编辑文件

news2024/12/28 16:41:28

目录

一、vi和vim

(1)介绍

(2)相同点

(3)不同点

二、使用vim打开文件

三、使用vim编辑文件

(1)vim的四个模式

(2)命令模式下的编辑命令

删除

复制

粘贴

撤销、恢复

跳转

查找

替换

清除未输入完的命令

(3)扩展模式

设置行号

保存退出

四、vim提示“交换文件xx.swp“”已存在


一、vi和vim

(1)介绍

vim:“vi improved(改进的)”的简写,最小化操作系统安装,只有vi,没装vim

(2)相同点

vi和vim都是文本编辑器

(3)不同点

vi没颜色,vim有颜色

二、使用vim打开文件

一个文件:vim 【文件】

同时打开两个文件:vimdiff 【文件1】 文【文件2】         //用于对比,差异部分会标红

光标默认在左边,只能编辑文件1,如何编辑文件2?

先ctrl+w,再按l,光标移到右边;

先ctrl+w,再按h,光标回到左边;

按q退出。

三、使用vim编辑文件

(1)vim的四个模式

命令模式、编辑模式、扩展模式、可视模式

命令模式——>按“i”键——>编辑模式【可以编辑】

按“esc”键回到命令模式


命令模式——>按“:”键——>扩展模式【可以设置行号、保存退出】

按“esc”键回到命令模式


命令模式——>按“v”键——>可视模式

按“esc”键回到命令模式

(2)命令模式下的编辑命令

  • 删除

删除当前行:dd

删除3行:3dd             //当前行到后面3行

删除当前行光标后的内容:D

删除中间所有空行:g/^$/d

  • 复制

复制当前行:yy

复制3行:3yy                  //当前行到后面3行

  • 粘贴

粘贴到光标后面:p

粘贴到光标前面:P

  • 撤销、恢复

撤销:u                                    //相当于word的ctrl+z

恢复:ctrl+r                              //相当于word的ctrl+y

  • 跳转

跳到第1行:gg

跳到第8行:8gg

跳到最后1行:G

  • 查找

/查找内容                                  //匹配到多个:先回车再按n,跳到下一个

/查找内容\c                               //内容不区分大小写

  • 替换

:s#要替换的内容#替换内容#g                       //替换当前行指定内容

例子 ————>   :s#旧表#新表#g

:8,15s#要替换的内容#替换内容#g             //替换8到15行指定内容

:8,$s#要替换的内容#替换内容#g               //替换8到最后1行指定内容

:%s#要替换的内容#替换内容#g                   //替换整个文件指定内容

  • #是默认的分隔符。@也可以作为分隔符,/也可以,还可以是#####、@@@、等等。
  • 如果替换内容包含分隔符,用\转义
  • 清除未输入完的命令

按2下esc                       

(3)扩展模式

  • 设置行号

显示行号:set nu 

不显示行号:set nonu                   //默认

  • 保存退出

不保存退出:q!


保存:w

保存并退出:wq

四、vim提示“交换文件xx.swp“”已存在

产生原因:vim编辑了文件,未保存就关了,再次打开文件会弹出这个提示

解决办法:

先按R恢复,保存退出;

然后删除“文件名.swp”就可以了

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

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

相关文章

树莓派4:跑通Tensorflow的Sequential模型用于图片分类

重要提示:由于树莓派相对孱弱的性能,直接在其上训练模型可能花(lang4)费非常长的时间。本文仅作为示例性的可行性参考,请酌情考虑实验平台。 著名的Tensorflow框架也可以运行在树莓派上。理论还没吃透,但使…

【量化交易笔记】5.SMA,EMA 和WMA区别

股票中的SMA,EMA和WMA是常用的技术分析指标。这些指标基于历史股价计算得出,可以帮助投资者了解股票的趋势,为决策提供依据。虽然它们都是平均值算法,但它们之间还是有一些区别的。 SMA 简单移动平均线(Simple Moving…

参与辅助服务的用户侧储能优化配置及经济分析(matlab代码)

目录 1 主要内容 目标函数 2 部分程序 3 程序结果 4 程序链接 1 主要内容 该程序方法复现《参与辅助服务的用户侧储能优化配置及经济分析》,首先, 建立了用户侧储能的全生命周期成本和考虑辅助服务的收益模型;其次,在两部…

一文读懂UML用例图

一、概述 用例是描述系统需求的一种手段,即系统应该做什么。用例图由参与者、用例和主题组成。每个用例的主题都代表了一个用例所适用的系统。用户和任何其他可以与主体交互的系统都被表示为行动者。 用例是一种行为规范。用例的实例指的是紧急行为的发生符合相应…

【前端客栈】基于HTML、CSS、JavaScript的羊了个羊静态仿写页面小游戏

🏜哈喽,大家好,我是小浪。前段时间羊了个羊火遍了大江南北,大家是否都通过第二关了呢?哈哈,没关系,既然通不过,那咋们不如自己来做一个这样的羊了个羊的仿写页面,学会了赶…

文本中的关键词提取方法

目录 1. TF-IDF(Term Frequency-Inverse Document Frequency)算法: 2. TextRank算法: 3. LDA(Latent Dirichlet Allocation)算法: 4. RAKE(Rapid Automatic Keyword Extraction&…

基于SLM调制器,MIT研发高效率全息显示方案

此前,青亭网曾报道过NVIDIA、三星、剑桥大学等对空间光调制器(SLM)全息方案的探索。空间光调制器可调节光波的空间分布,在电驱动信号控制下,可改变光在空间中传播的振幅、强度、相位、偏振态等特性,从而形成…

MySQL性能优化之(explain)工具

慢SQL的定位 在MySQL当中,我们有时候写的SQL执行效率太慢此时我们需要将其优化。但是SQL可能非常的多,难道我们一条一条的进行查看吗?在MySQL当当中我们可以查看慢查询日志,看看那些SQL这么慢。但是这个默认情况下这个慢查询日志…

sqoop使用

sqoop使用 1. 导入数据2. 从mysql向hive导入数据2.1 导入用户信息表 2.导入订单表2.2 导入订单表2.3 导入商品信息表2.4 导入国家信息表2.5 导入省份信息表2.6 导入城市信息表2.7 创建hive临时表文件 在使用sqoop之前,需要提前启动hadoop, yarn和对应的数据库mysql …

当音乐遇上Python:用Pydub自动分割音频

🎵 🎵 🎵 当音乐遇上Python:用Pydub自动分割音频 随着短视频应用的普及,越来越多人开始了解并尝试制作自己的短视频作品。而在制作短视频时,背景音乐的选择和使用也是非常重要的一步。很多人喜欢选择一首长…

倒立摆控制器的设计(分别用极点配置,LQR方法,Robust H-无穷方法)

G01倒立摆控制器设计 Author:DargonNote date:2020/12/13课程用书:LMIs in Control Systems Analysis,Design and Applications 1,倒立摆控制系统简介 倒立摆系统是一个复杂的控制系统,具有非线性、强耦合、多变量、不稳定等特…

干货 | 正念,寻求属于你的存在之道

Hello,大家好! 这里是壹脑云科研圈,我是喵君姐姐~ 你是否也曾感到内心无法平静?如果是,不妨了解一下正念,它或许能为你带来改变。 正念作为一种古老的修行方式,如今已经在世界范围内广为流传,…

《Netty》从零开始学netty源码(四十九)之PoolArena

目录 PoolArenaallocate()创建newByteBuf()分配具体的内存空间allocate() PoolArena Netty中分配内存是委托给PoolArena来管理的,它主要有两个实现类: 默认情况下使用的DirectArena,它的数据结构如下: 从属性中我们看到PoolA…

人生若只如初见,你不来看看Django吗

前言 本文介绍python三大主流web框架之一的Django框架的基本使用,如何创建django项目,如何运行django项目以及django项目的目录结构,另外django又是如何返回不同的数据和页面? python三大主流web框架 Python有三大主流的web框架…

JS手写实现Promise.all

Promise.all() 方法接收一个 Promise 对象数组作为参数,返回一个新的 Promise 对象。该 Promise 对象在所有的 Promise 对象都成功时才会成功,其中一个 Promise 对象失败时,则该 Promise 对象立即失败。 本篇博客将手写实现 Promise.all() 方…

用于scATAC-seq有监督分类的Cellcano

细胞类型识别是单细胞数据分析的基本步骤。由于高质量参考数据集的可用性,有监督细胞分类方法在scRNA-seq数据中很受欢迎。染色质可及性分析(scATAC-seq)的最新技术进步为理解表观遗传异质性带来了新的见解。随着scATAC-seq数据集的不断积累&…

第二节课 Linux和shell命令之文件管理与常用命令

命令执行,没有图形页面 文件权限是重点 1.目录树 windous分盘 CDEF 在Linux系统中并不存在C/D/E/F等盘符,Linux系统中的一切文件都是 从“根(/)”目录开始的,并按照文件系统层次化标准(Filesystem Hie…

C++:计算机操作系统:多线程:高并发中的线程

高并发中的线程 一切要从CPU说起PC 程序计数器从CPU到操作系统从进程到线程 从这篇开始,我将会开启高性能,高并发系列,本篇是给系列的开篇,主要关注 多线程以及线程池。 一切要从CPU说起 你可能会有疑问,讲多线程为何…