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

news2024/12/26 19:29:14

在 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.coloradmin.cn/o/2252235.html

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

相关文章

机器学习:机器学习项目的完整周期

建立一个有价值的机器学习系统时,需要考虑和计划哪些步骤? 以语音识别为例演示机器学习项目的全周期:机器学习项目的第一步是对项目进行范围划分,即决定什么是项目和你想做什么,然后是收集数据,所以决定需…

浪潮X86服务器NF5280、8480、5468、5270使用inter VROC Raid key给NVME磁盘做阵列

Inter VROC技术简介 Intel Virtual RAID on CPU (Intel VROC) 简单来说就是用CPU的PCIE通道给NVME硬盘做Raid 更多信息可以访问官方支持页面 Raid Key 授权,即VROC SKU 授权主要有用的有2个标准和高级,仅Raid1的授权我暂时没见过。 标准 VROCSTANMOD …

ROS基本框架2——在ROS开发中创建并使用自定义消息(C++版本)

ROS基本框架2——在ROS开发中创建并使用自定义消息(C++版本) code review! 参考笔记 1.ROS基本框架1——编写简单的发布者和订阅者(C++和Python版本) 2.ROS基本框架2——在ROS开发中创建并使用自定义消息(C++版本) 文章目录 ROS基本框架2——在ROS开发中创建并使用自定义…

鸿蒙征文|鸿蒙技术分享:使用到的开发框架和技术概览

目录 每日一句正能量前言正文1. 开发环境搭建关键技术:2. 用户界面开发关键技术:3. 应用逻辑开发关键技术:4. 应用测试关键技术:5. 应用签名和打包关键技术:6. 上架流程关键技术:7. 后续维护和更新关键技术…

(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验二----网络分析(超超超详细!!!)

相信实验一大家已经完成了,对Arcgis已进一步熟悉了,现在开启第二个实验 ArcMap实验--网络分析 目录 ArcMap实验--网络分析 1.1 网络分析介绍 1.2 实验内容及目的 1.2.1 实验内容 1.2.2 实验目的 2.2 实验方案 2.3 实验流程 2.3.1 实验准备 2.3.2 空间校正…

go语言 Pool实现资源池管理数据库连接资源或其他常用需要共享的资源

go Pool Pool用于展示如何使用有缓冲的通道实现资源池,来管理可以在任意数量的goroutine之间共享及独立使用的资源。这种模式在需要共享一组静态资源的情况(如共享数据库连接或者内存缓冲区)下非 常有用。如果goroutine需要从池里得到这些资…

马铃薯病害识别(VGG-16复现)

VGG16-Pytorch实现马铃薯病害识别 🍨 本文为🔗365天深度学习训练营 中的学习记录博客 🍖 原作者:K同学啊 电脑系统:Windows11 显卡型号:NVIDIA Quadro P620 语言环境:python 3.9.7 编译器&am…

HCSIF: 中国区域2000-2022年高时空分辨率(500m)SIF数据集

日光诱导叶绿素荧光(Solar-induced chlorophyll fluorescence, SIF)被誉为“植被光合作用的探针”。2017年,搭载在Sentinel-5P卫星上的 TROPOMI (TROPOspheric Monitoring Instrument)传感器成功发射,该卫星同时具有高…

STL:相同Size大小的vector和list哪个占用空间多?

在C中,vector和list是两种不同的序列容器。vector底层是连续的内存,而list是非连续的,分散存储的。因此,vector占用的空间更多,因为它需要为存储的元素分配连续的内存空间。 具体占用多少空间,取决于它们分…

蓝牙设备驱动开发

文章目录 一、蓝牙协议架构二、蓝牙协议的HCI传输层三、编程框架 一、蓝牙协议架构 蓝牙是无线数据和语音传输的开放式标准,它将各种通信设备、计算机及其终端设备、各种数字数据系统、甚至家用电器采用无线方式联接起来。它的传输距离为10cm~10m&#…

【计算机网络】实验7:默认路由和特定主机路由以及路由环路问题

实验 7:默认路由和特定主机路由以及路由环路问题 一、 实验目的 了解默认路由以及特定主机路由。 了解静态路由配置错误导致的路由环路问题。 二、 实验环境 • Cisco Packet Tracer 模拟器 三、 实验内容 1、默认路由以及特定主机路由 (1) 第一步&#xff…

安装 RabbitMQ 服务

安装 RabbitMQ 服务 一. RabbitMQ 需要依赖 Erlang/OTP 环境 (1) 先去 RabbitMQ 官网,查看 RabbitMQ 需要的 Erlang 支持:https://www.rabbitmq.com/ 进入官网,在 Docs -> Install and Upgrade -> Erlang Version Requirements (2) …

MiniProfiler WebAPI 分析工具

一、介绍🛠️ MiniProfiler 是一款简单但有效的 .NET、Ruby、Go 和 Node.js 微型 性能分析器 。 MiniProfiler 不会将自身附加到每个方法调用;那会太具有侵入性,并且不会专注于最大的性能问题。相反,它提供: 🔸ADO.…

Java个人博客系统项目文档

项目名称 Java个人博客系统 项目概述 该博客系统是一个多功能的Java应用程序。该系统支持用户发布新文章、浏览他人文章、管理个人文章收藏和删除不再需要的文章。通过该博客系统,用户可以享受一个安全、便捷的在线写作和阅读体验。 运行环境 编程语言&#xff1…

华为HarmonyOS 让应用快速拥有账号能力 - 获取用户头像昵称

场景介绍 如应用需要完善用户头像昵称信息,可使用Account Kit提供的头像昵称授权能力,用户允许应用获取头像昵称后,可快速完成个人信息填写。以下只针对Account kit提供的头像昵称授权能力进行介绍,若要获取头像还可通过场景化控…

Hadoop生态圈框架部署 伪集群版(一)- Linux操作系统安装及配置

文章目录 前言一、下载CentOS镜像1. 下载 二、创建虚拟机hadoop三、CentOS安装与配置1. 安装CentOS2. 配置虚拟网络及虚拟网卡2.1 配置虚拟网络2.2 配置虚拟网卡 3. 安装 SSH 远程连接工具 FinalShell3.1 简介3.2 下载和安装3.2.1 下载3.2.2 安装 3.3 查看动态ip地址3.4 使用Fi…

StarRocks存算分离在得物的降本增效实践

一、背景 OLAP引擎在得物的客服、风控、供应链、投放、运营、ab实验等大量业务场景发挥重要作用,在报表、日志、实时数仓等应用场景都有广泛的应用。 得物引入和使用OLAP引擎的过程中,每个业务都基于自己的需求选择当时最适合自己的引擎。现在得物内部同…

L15.【LeetCode笔记】相同的树

目录 1.题目 代码模板 2.分析 通过合理的if判断分类讨论两个根节点 1.首先,p和q都为NULL的情况最好排除 2.排除了两个都为NULL的情况,剩下的情况:1.其中一个为NULL;2.两个都不为NULL 写法1 写法2 3.只剩下最后一种情况:p和q都不为NULL 3.代码 提交结果 1.题目 https…

TCP协议(一)

TCP协议(一) 一、TCP协议1、介绍2、主要特点 二、TCP协议段格式1、示意图2、介绍 三、确认应答机制1、基本流程2、作用3、示意图4、序列号示意图 四、超时重传机制1、介绍2、重传超时时间3、往返时间4、平滑往返时间5、系统实现6、数据丢失重传示意图7、…

单链表---链表分割

将小于x的结点放在前面,大于等于x的结点放在后面,不改变结点相对位置,输出更改后的链表首结点。 typedef struct ListNode {ListNode* next;int val; }ListNode; 思路:我们可以新创建两个链表指针,将小于x的结点全部…