linux------vim命令

一、基本模式切换

  1. 普通模式(Normal Mode)

    • 当你打开Vim时,默认进入普通模式。在这个模式下,可以使用各种命令来移动光标、删除文本、复制粘贴等操作。
    • 例如,使用hjkl来移动光标。h是向左移动一个字符,j是向下移动一行,k是向上移动一行,l是向右移动一个字符。
  2. 插入模式(Insert Mode)

    • 要进入插入模式,可以按i(在光标当前位置插入)、a(在光标后一个字符位置插入)、o(在当前行的下一行插入新行并进入插入模式)等。
    • 例如,在普通模式下按i,然后输入文本,就可以开始编辑文件内容。比如输入“Hello, World!”。
  3. 命令行模式(Command - Line Mode)

    • 从普通模式进入命令行模式可以按:。在这个模式下,可以执行一些高级的命令,如保存文件、退出Vim等。
    • 例如,要保存文件可以在命令行模式下输入:w(write的缩写),然后按回车键。如果要保存文件并退出,可以输入:wq(write and quit)。

在这里插入图片描述

二、光标移动命令

  1. 字符级别移动

    • 除了hjkl,还可以使用w(移动到下一个单词的开头)、b(移动到上一个单词的开头)。
    • 例如,有文本“the quick brown fox jumps over the lazy dog”,如果光标在“the”的“t”上,按w会将光标移动到“quick”的“q”上,按b会将光标移回“the”的“t”上。
  2. 行级别移动

    • 0(数字零)将光标移动到行首,$将光标移动到行尾。
    • 例如,对于一行文本“Vim is a powerful text editor”,在普通模式下按0,光标会移到“V”上,按$光标会移到“r”上。
  3. 屏幕级别移动

    • Ctrl + u(向上滚动半屏)、Ctrl + d(向下滚动半屏)、Ctrl + b(向上滚动一屏)、Ctrl + f(向下滚动一屏)。
    • 当文件内容较长时,这些命令可以方便地浏览文件的不同部分。

三、文本编辑命令

  1. 删除操作
    • x删除光标所在位置的字符,dd删除整行。
    • 例如,有文本“abcdef”,光标在“c”上,按x后文本变为“abdef”。如果有三行文本:
    line1
    line2
    line3
    
    光标在第二行,按dd后,文件内容变为:
    line1
    line3
    
  2. 复制和粘贴操作
    • yy复制当前行,p(小写)在光标后粘贴,P(大写)在光标前粘贴。
    • 例如,有文本“line1”和“line2”,光标在“line1”上,按yy复制该行,然后将光标移到“line2”的下一行,按p,文件内容变为:
    line1
    line2
    line1
    

四、查找和替换命令

  1. 查找
    • 在普通模式下按/,然后输入要查找的字符串,按回车键。例如,要查找文件中的“Vim”,按/Vim,Vim会将光标定位到第一个匹配的位置。按n可以查找下一个匹配项。
  2. 替换
    • 命令行模式下的替换命令格式为:s/旧字符串/新字符串/。例如,要将当前行中的“old”替换为“new”,可以在命令行模式下输入:s/old/new/。如果要在整个文件中替换,可以在命令后面加上g,如:%s/old/new/g,其中%表示整个文件。

详细讲解并举例说明vim的删除命令

  1. 字符删除命令
    • x命令
      • 功能:删除光标所在位置的一个字符。
      • 示例:假设有一个文本文件内容为“abcdef”,当光标位于字符“c”时,在普通模式下按下x键,文本就会变为“abdef”。
    • X命令(大写的X
      • 功能:删除光标前一个字符。
      • 示例:如果文本内容是“abcdef”,光标在字符“d”上,按下X,文本就会变成“abcde”。
  2. 单词删除命令
    • dw命令
      • 功能:删除从光标位置开始到下一个单词开头(空格或标点符号分隔)的内容。
      • 示例:对于文本“the quick brown fox”,如果光标在“the”的“t”上,按下dw,文本会变为“quick brown fox”。
    • db命令
      • 功能:删除从光标位置开始到上一个单词开头(以空格或标点符号分隔)的内容。
      • 示例:对于文本“the quick brown fox”,光标在“quick”的“q”上,按下db,文本会变为“the brown fox”。
    • daw(delete a word)命令
      • 功能:删除整个单词(包括单词后的空格)。
      • 示例:对于文本“the quick brown fox ”(注意“fox”后面有一个空格),光标在“quick”的“q”上,按下daw,文本会变为“the brown fox ”。
  3. 行删除命令
    • dd命令
      • 功能:删除当前光标所在的整行。
      • 示例:假设有一个文本文件内容如下:
      line1
      line2
      line3
      
      当光标位于第二行“line2”时,按下dd,文本内容就会变为:
      line1
      line3
      
    • d$命令
      • 功能:删除从光标位置到行尾的内容。
      • 示例:对于文本“Vim is a great editor”,光标在“is”的“i”上,按下d$,文本会变为“Vim ”。
    • d0(数字零)命令
      • 功能:删除从光标位置到行首的内容。
      • 示例:对于文本“Vim is a great editor”,光标在“is”的“i”上,按下d0,文本会变为“is a great editor”。
  4. 范围删除命令
    • :起始行,结束行d命令(在命令行模式下)
      • 功能:删除指定范围的行。
      • 示例:假设有一个文件内容如下:
      line1
      line2
      line3
      line4
      line5
      
      如果要删除第二行到第四行,可以在命令行模式(按下:进入)下输入:2,4d,然后按下回车键,文本内容就会变为:
      line1
      line5
      

在这里插入图片描述

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

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

相关文章

数据可视化-2. 条形图

目录 1. 条形图适用场景分析 1.1 比较不同类别的数据 1.2 展示数据分布 1.3 强调特定数据点 1.4 展示时间序列数据的对比 1.5 数据可视化教育 1.6 特定领域的应用 2. 条形图局限性 3. 条形图图代码实现 3.1 Python 源代码 3.2 条形图效果(网页显示&#…

2023年下半年软考信息安全工程师案例分析及答案解析

试题一(16分) 回答问题1至问题6,将解答填入答题纸对应的解答栏内。 问题1(4分) 已知DES算法S盒如下,请补全S盒空缺的数据(1)、(2)、(3)、(4)。 【参考答案】3、13、15、0 问题2(2分) 已知S盒的输入为110011,请计算经过S盒变换之后的二进制输出。 【参考…

模型部署学习笔记——模型部署关键知识点总结

模型部署学习笔记——模型部署关键知识点总结 模型部署学习笔记——模型部署关键知识点总结1. CUDA中Grid和Block的定义是什么?Shared Memory的定义?Bank Conflict的定义?Stream和Event的定义?2. TensorRT的工作流程?3…

Spring Cloud Gateway 源码

Spring Cloud Gateway 架构图 按照以上架构图,请求的处理流程: 1.客户端请求发送到网关 DispatcherHandler 2.网关通过 HandlerMapping 找到相应的 WebHandler 3.WebHandler生成FilterChain过滤器链执行所有的过滤器 4.返回Response结果 自动装配类Gat…

基于Spring Boot的店铺租赁平台的设计与实现

一、项目背景 随着互联网技术的飞速发展,线上交易已成为商业活动的重要趋势。店铺租赁作为商业地产的核心环节,其传统模式面临着信息不对称、交易效率低下等问题。因此,开发一个高效、便捷的线上店铺租赁平台显得尤为重要。本项目利用Java S…

基于卷积神经网络(CNN)和ResNet50的水果与蔬菜图像分类系统

前言 在现代智能生活中,计算机视觉技术已经成为不可或缺的工具,特别是在食物识别领域。想象一下,您只需拍摄一张水果或蔬菜的照片,系统就能自动识别其种类并为您提供丰富的食谱建议。这项技术不仅在日常生活中极具实用性&#xf…

Tomcat部署war包项目解决404问题

问题出在了Tomcat的版本上了,应该先去看这个项目使用的springboot版本,然后去仓库里找到对应Tomcat版本。 Maven Repository: org.springframework.boot spring-boot-starter-tomcat 因此我们应该选择Tomcat9版本。 当我把Tomcat11换成Tomcat9时&…

Redis篇--常见问题篇1--缓存穿透(缓存空值,布隆过滤器,接口限流)

1、概述 缓存穿透是指客户端请求的数据既不在Redis缓存中,也不在数据库中。换句话说,缓存和数据库中都不存在该数据,但客户端仍然发起了查询请求。这种情况下,缓存无法命中,请求会直接穿透到数据库,而数据…

前端使用 Konva 实现可视化设计器(20)- 性能优化、UI 美化

这一章主要分享一下使用 Konva 遇到的性能优化问题,并且介绍一下 UI 美化的思路。 至少有 2 位小伙伴积极反馈,发现本示例有明显的性能问题,一是内存溢出问题,二是卡顿的问题,在这里感谢大家的提醒。 请大家动动小手&a…

BlueLM:以2.6万亿token铸就7B参数超大规模语言模型

一、介绍 BlueLM 是由 vivo AI 全球研究院自主研发的大规模预训练语言模型,本次发布包含 7B 基础 (base) 模型和 7B 对话 (chat) 模型,同时我们开源了支持 32K 的长文本基础 (base) 模型和对话 (chat) 模型。 更大量的优质数据 :高质量语料…

C语言基础16(文件IO)

文章目录 构造类型枚举类型typedef 文件操作(文件IO)概述文件的操作文件的打开与关闭打开文件关闭文件文件打开与关闭案例 文件的顺序读写单字符读取多字符读取单字符写入多字符写入 综合案例:文件拷贝判别文件结束 数据块的读写(二进制)数据块的读取数据块的写入 文…

冯诺依曼架构与哈佛架构的对比与应用

冯诺依曼架构(Von Neumann Architecture),也称为 冯诺依曼模型,是由著名数学家和计算机科学家约翰冯诺依曼(John von Neumann)在1945年提出的。冯诺依曼架构为现代计算机奠定了基础,几乎所有现代…

3D造型软件solvespace在windows下的编译

3D造型软件solvespace在windows下的编译 在逛开源社区的时候发现了几款开源CAD建模软件,一直囿于没有合适的建模软件,虽然了解了很多的模拟分析软件,却不能使之成为整体的解决方案,从而无法产生价值。opencascad之流虽然可行&…

机器学习04-为什么Relu函数

机器学习0-为什么Relu函数 文章目录 机器学习0-为什么Relu函数 [toc]1-手搓神经网络步骤总结2-为什么要用Relu函数3-进行L1正则化修改后的代码解释 4-进行L2正则化解释注意事项 5-Relu激活函数多有夸张1-细数Relu函数的5宗罪2-Relu函数5宗罪详述 6-那为什么要用这个Relu函数7-文…

QScreen在Qt5.15与Qt6.8版本下的区别

简述 QScreen主要用于提供与屏幕相关的信息。它可以获取有关显示设备的分辨率、尺寸、DPI(每英寸点数)等信息。本文主要是介绍Qt5.15与Qt6环境下,QScreen的差异,以及如何判断高DPI设备。 属性说明 logicalDotsPerInch&#xff1…

[HNCTF 2022 Week1]你想学密码吗?

下载附件用记事本打开 把这些代码放在pytho中 # encode utf-8 # python3 # pycryptodemo 3.12.0import Crypto.PublicKey as pk from hashlib import md5 from functools import reducea sum([len(str(i)) for i in pk.__dict__]) funcs list(pk.__dict__.keys()) b reduc…

shell8

until循环(条件为假的时候一直循环和while相反) i0 until [ ! $i -lt 10 ] doecho $i((i)) done分析 初始化变量: i0:将变量i初始化为0。 条件判断 (until 循环): until [ ! $i -lt 10 ]:这里的逻辑有些复杂。它使用了until循环…

【游戏中orika完成一个Entity的复制及其Entity异步落地的实现】 1.ctrl+shift+a是飞书下的截图 2.落地实现

一、orika工具使用 1)工具类 package com.xinyue.game.utils;import ma.glasnost.orika.MapperFactory; import ma.glasnost.orika.impl.DefaultMapperFactory;/*** author 王广帅* since 2022/2/8 22:37*/ public class XyBeanCopyUtil {private static MapperFactory mappe…

【十进制整数转换为其他进制数——短除形式的贪心算法】

之前写过一篇用贪心算法计算十进制转换二进制的方法,详见:用贪心算法计算十进制数转二进制数(整数部分)_短除法求二进制-CSDN博客 经过一段时间的研究,本人又发现两个规律: 1、不仅仅十进制整数转二进制可…

【Harmony Next】多个图文配合解释DevEco Studio工程中,如何配置App相关内容,一次解决多个问题?

解决App配置相关问题列表 1、Harmony Next如何配置图标? 2、Harmony Next如何配置App名称? 3、Harmony Next如何配置版本号? 4、Harmony Next如何配置Bundle ID? 5、Harmony Next如何配置build号? 6、Harmony Next多语言配置在哪…