vim 显示行数和删除内容操作

在 Vim 中,显示行数和删除内容是两个常见的操作,结合使用可以帮助你更加高效地编辑文件。以下是关于如何在 Vim 中显示行数和删除内容的详细说明:


1. 显示行数

显示绝对行号

绝对行号会显示每一行的实际行号,适合你查看文件的大致结构和定位某个具体行。

  • 启用绝对行号

    :set number
    

    这会在每行的左侧显示行号。

  • 关闭绝对行号

    :set nonumber
    
显示相对行号

相对行号会显示当前光标所在行与其他行的距离,这对于执行与行号相关的操作(如跳转、删除、复制)非常有帮助。

  • 启用相对行号

    :set relativenumber
    

    这将显示当前行的绝对行号,其他行显示相对于当前行的行号。

  • 关闭相对行号

    :set norelativenumber
    
同时显示绝对和相对行号

在这种模式下,当前行显示绝对行号,其他行显示相对行号,这对于跳转和行操作非常方便。

  • 启用绝对行号和相对行号
    :set number
    :set relativenumber
    

2. 删除内容

在 Vim 中,删除内容的命令通常与行号、范围以及光标位置相关。这里列出一些常见的删除操作。

删除当前行
  • 删除当前行(光标所在的行):
    dd
    
删除指定行数
  • 删除当前行及其下面的 3 行(包括当前行):

    d4d
    

    或者:

    4dd
    

    这会删除从当前行开始的 4 行。

  • 删除当前行以下的 n 行

    dnd
    

    其中 n 是你想删除的行数。

删除指定范围的行

你也可以通过行号来指定删除的范围。

  • 删除第 10 行到第 20 行的内容

    :10,20d
    
  • 删除从第 5 行到文件的最后一行

    :5,$d
    
  • 删除当前行到第 10 行的内容

    :.,10d
    

    这里的 . 表示当前行。

  • 删除当前行到文件末尾的内容

    :.,$d
    
删除指定模式之前或之后的行

Vim 还允许你删除直到某个模式的行。

  • 删除当前行到匹配模式(如“pattern”)的行

    d/pattern
    
  • 删除当前行到匹配模式(如“pattern”)之后的行

    d?pattern
    
删除整页内容
  • 删除当前页面的所有内容
    d%
    
删除整个文件的内容
  • 删除整个文件的内容
    :%d
    

3. 删除操作的快捷方式

  • 删除字符

    • x 删除光标所在位置的字符。
    • X 删除光标前一个字符。
  • 删除单词

    • dw 删除光标所在位置的单词。
    • daw 删除光标所在的整个单词(包括前后空格)。
  • 删除到行尾

    • d$ 删除从光标到行尾的所有内容。
  • 删除到行首

    • d0 删除从光标到行首的所有内容。
  • 删除多个字符或单词

    • d3w 删除接下来的 3 个单词。
    • d2$ 删除从光标处到行尾的内容,删除 2 行的内容。

4. 结合显示行数和删除操作

在结合 行号显示删除内容 操作时,使用相对行号非常有用,因为你可以通过相对行号快速指定要删除的行数。例如:

  • 如果你想删除当前行以及接下来的 5 行,可以使用相对行号显示,然后按如下操作:

    d5d
    

    这会删除当前行以及接下来的 5 行。

  • 如果你要删除当前行和上下各 2 行的内容,可以使用:

    d2k
    d2j
    

    这会删除当前行和其上面 2 行、下面 2 行的内容。


总结:

  • 显示行号

    • :set number 显示绝对行号。
    • :set relativenumber 显示相对行号。
    • :set number:set relativenumber 一起使用,显示当前行的绝对行号和其他行的相对行号。
  • 删除操作

    • dd 删除当前行。
    • d4d4dd 删除当前行和接下来的 3 行。
    • :5,10d 删除第 5 行到第 10 行的内容。
    • d/pattern 删除从当前行到匹配“pattern”模式的行。
    • d% 删除当前页面的内容。
    • :%d 删除整个文件的内容。

这些操作可以帮助你快速删除文件中的内容,并通过行号来更精确地定位你要操作的部分。

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

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

相关文章

【前端】特殊案例分析深入理解 JavaScript 中的词法作用域

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 💯前言💯案例代码💯词法作用域(Lexical Scope)与静态作用域什么是词法作用域?代码执行的详细分析 💯函数定义与调用的…

Node.js 实战: 爬取百度新闻并序列化 - 完整教程

很多时候我们需要爬取一些公开的网页内容来做一些数据分析和统计。而多数时候,大家会用到python ,因为实现起来很方便。但是其实Node.js 用来爬取网络内容,也是非常强大的。 今天我向大家介绍一下我自己写的一个百度新闻的爬虫,可…

三分钟快速掌握——Linux【vim】的使用及操作方法

一、vim的使用 vim是一个文本编辑器 非常小巧轻便 1.1如何进入vim编辑器 方法一: 首先使用touch 1.c 创建一个源文件 然后使用vim 1.c进入 方法二: 直接使用指令 vim 2.c 会直接创建一个2.c的源文件 退出时记得保存(使用wq或者x&am…

(简单5步实现)部署本地AI大语言模型聊天系统:Chatbox AI + grok2.0大模型

摘要: 本文将指导您如何部署一个本地AI大语言模型聊天系统,使用Chatbox AI客户端应用和grok-beta大模型,以实现高效、智能的聊天体验。 引言: 由马斯克X-AI发布的Grok 2大模型以其卓越的性能超越了GPT4.0。Grok模型支持超长文本…

docker安装hadoop环境

一、使用docker搭建基础镜像 1、拉取centos系统镜像 # 我这里使用centos7为例子 docker pull centos:7 2、创建一个dockerfiler文件,用来构建自定义一个有ssh功能的centos镜像 # 基础镜像 FROM centos:7 # 作者 #MAINTAINER hadoop ADD Centos-7.repo /etc/yum.re…

中国电信张宝玉:城市数据基础设施建设运营探索与实践

11月28日,2024新型智慧城市发展创新大会在山东青岛召开,中国电信数字政府研究院院长张宝玉在大会发表主旨演讲《城市数据基础设施运营探索与实践》。报告内容包括城市数据基础设施的概述、各地典型做法及发展趋势建议三个方面展开。 篇幅限制&#xff0…

Linux内核4.14版本——ccf时钟子系统(6)——DTS相关的API

目录 1. of_clk_add_provider 2. of_clk_get_from_provider 2.1 __of_clk_get_hw_from_provider 2.2 __clk_create_clk 3. of_clk_set_defaults 3.1 __set_clk_parents 3.2 __set_clk_rates 再回到第2章DTS相关的介绍,clock driver使用一个DTS node描述一个c…

2024年度桌面便签软件电脑版推荐

随着2024年的尾声渐近,这一年中涌现出了许多优秀的软件,其中便签软件因其便捷性和高效性成为了备受欢迎的工具。这类软件无论是在工作还是日常生活中,都极大地提升了我们的效率和生活质量。 在众多桌面便签中,敬业签是一款值得推…

WPS for Mac免登录使用工具栏

一、mac下载国际版https://www.wps.com 下载下来是在线安装包,对了,不再需要汉化!!! 二、干掉登录 进入目录/Applications/wpsoffice.app/Contents/Frameworks/office6(访达、应用程序、wpsoffice.app右…

【计算机网络】实验3:集线器和交换器的区别及交换器的自学习算法

实验 3:集线器和交换器的区别及交换器的自学习算法 一、 实验目的 加深对集线器和交换器的区别的理解。 了解交换器的自学习算法。 二、 实验环境 • Cisco Packet Tracer 模拟器 三、 实验内容 1、熟悉集线器和交换器的区别 (1) 第一步:构建网络…

【技巧】Mac上如何显示键盘和鼠标操作

在制作视频教程时,将键盘和鼠标的操作在屏幕上显示出来,会帮助观众更容易地理解。 推荐Mac上两款开源的小软件。 1. KeyCastr 这款工具从2009年至今一直在更新中。 https://github.com/keycastr/keycastr 安装的话,可以从Github上下载最…

洛谷P1075

[NOIP2012 普及组] 质因数分解 - 洛谷 [NOIP2012 普及组] 质因数分解 题目描述 已知正整数 n 是两个不同的质数的乘积,试求出两者中较大的那个质数。 输入格式 输入一个正整数 n。 输出格式 输出一个正整数p,即较大的那个质数。 样例 #1 样例输…

Docker:在 ubuntu 系统上生成和加载 Docker 镜像

本文将介绍在 ubuntu系统上进行 Docker 镜像的生成和加载方法和代码。 文章目录 一、下载和安装 docker二、加载 docker 文件三、保存你的镜像四、将镜像上传到云端并通过连接下载和加载 Docker 镜像五、Docker 容器和本地的文件交互5.1 从容器复制文件到本地宿主机5.1.1 单个文…

PHP爬虫性能优化:从多线程到连接池的实现

背景介绍 随着网络数据的爆炸式增长,爬虫技术成为数据获取的重要工具。从市场调研到用户行为分析,爬虫的应用无处不在。然而,在实际应用中,我们常常遇到爬虫性能不足的问题:单线程处理效率低下、请求超时、数据采集量…

《现代网络技术》读书笔记:网络虚拟化

本文部分内容来源于《现代网络技术:SDN,NFV,QoE、物联网和云计算:SDN,NFV,QoE,IoT,andcloud》 虚拟局域网 图9-1显示了一个比较常见的层次化局域网场景,在这个例子中,局域网中的设备分为四个部分,每个部分都通过以太网…

在c#控制台中使用Raylib-cs库,绘制控制小球和插入音频(附带c++中小球的控制代码)

下载网址 GitHub - chrisdill/raylib-cs: C# bindings for raylib, a simple and easy-to-use library to learn videogames programming 克隆库 克隆GitHub仓库-CSDN博客 1 .制作dll 点击 生成之后就会多出这些东西 2.在项目中添加dll 然后就导进来了 测试一下用例代码 …

「Mac畅玩鸿蒙与硬件40」UI互动应用篇17 - 照片墙布局

本篇将带你实现一个简单的照片墙布局应用,通过展示多张图片组成照片墙效果,用户可以点击图片查看其状态变化。 关键词 UI互动应用照片墙布局Grid 布局动态图片加载用户交互 一、功能说明 照片墙布局应用的特点: 动态加载多张图片组成网格布…

数字图像处理(12):灰度二值化

灰度像素:在 RGB 颜色模型下,图像中每个像素颜色的 R、G、B 三种基色的分量值相等的像素。由灰度像素组成的灰度图像只能表现256中颜色(或亮度),通常把灰度图像中像素的亮度称为灰度值。灰度化处理:是指把彩…

【已解决】git push需要输入用户名和密码问题

解决方法: 1)查看使用的clone方式: git remote -v 2)若为HTTPS,删除原clone方式: git remote rm origin 3)添加新的clone方式: git remote add origin gitgithub.com:zludon/git_test.git …

Springfox迁移到 Springdoc OpenAPI 3

将项目从 Springfox 迁移到 Springdoc OpenAPI 3 时,主要的工作是将原先使用的 Springfox 注解替换为 Springdoc OpenAPI 3 中的对应注解。虽然 Springdoc OpenAPI 3 基于 OpenAPI 3 规范,并且有一些不同的命名方式和设计理念,但大部分注解的…