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

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


1. 显示行数

显示绝对行号

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

  • 启用绝对行号

    vim 复制代码
    :set number

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

  • 关闭绝对行号

    vim 复制代码
    :set nonumber
显示相对行号

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

  • 启用相对行号

    vim 复制代码
    :set relativenumber

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

  • 关闭相对行号

    vim 复制代码
    :set norelativenumber
同时显示绝对和相对行号

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

  • 启用绝对行号和相对行号

    vim 复制代码
    :set number
    :set relativenumber

2. 删除内容

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

删除当前行
  • 删除当前行 (光标所在的行):

    vim 复制代码
    dd
删除指定行数
  • 删除当前行及其下面的 3 行(包括当前行):

    vim 复制代码
    d4d

    或者:

    vim 复制代码
    4dd

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

  • 删除当前行以下的 n 行

    vim 复制代码
    dnd

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

删除指定范围的行

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

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

    vim 复制代码
    :10,20d
  • 删除从第 5 行到文件的最后一行

    vim 复制代码
    :5,$d
  • 删除当前行到第 10 行的内容

    vim 复制代码
    :.,10d

    这里的 . 表示当前行。

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

    vim 复制代码
    :.,$d
删除指定模式之前或之后的行

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

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

    vim 复制代码
    d/pattern
  • 删除当前行到匹配模式(如"pattern")之后的行

    vim 复制代码
    d?pattern
删除整页内容
  • 删除当前页面的所有内容

    vim 复制代码
    d%
删除整个文件的内容
  • 删除整个文件的内容

    vim 复制代码
    :%d

3. 删除操作的快捷方式

  • 删除字符

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

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

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

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

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

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

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

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

    vim 复制代码
    d5d

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

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

    vim 复制代码
    d2k
    d2j

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


总结:

  • 显示行号

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

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

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

相关推荐
企鹅侠客13 小时前
开源免费文档翻译工具 可支持pdf、word、excel、ppt
人工智能·pdf·word·excel·自动翻译
小白今天也很酷18 小时前
Python与MCU通信:串口数据采集及CSV/Excel存储方法
python·单片机·excel
安冬的码畜日常21 小时前
【Mastering Vim 2_05】第四章:深入理解 Vim 的结构化文本
编辑器·vim·undotree·文本编辑·ctags·youcompleteme·结构化文本
你好呀我是裤裤21 小时前
Linux基础开发工具的使用(apt、vim、gcc、g++、gdb、make、makefile)
linux·运维·vim
xlxxy_1 天前
ABAP数据库表的增改查
开发语言·前端·数据库·sql·oracle·excel
莲动渔舟1 天前
国产编辑器EverEdit - 语法着色及嵌入式多语言着色
编辑器·emeditor·notepad·everedit
莲动渔舟1 天前
国产编辑器EverEdit - 如何在EverEdit中管理工程?
编辑器·emeditor·notepad·everedit
Et2nity1 天前
tiptap md 编辑器实用场景开发
前端·javascript·编辑器·markdown
程序猿多布1 天前
Unity Excel导表工具转Lua文件
unity·excel
老友@1 天前
OnlyOffice:前端编辑器与后端API实现高效办公
前端·后端·websocket·编辑器·onlyoffice