怎么在Linux利用Vim的高级列编辑模式实现大规模Hosts文件的快速格式化

老明大大_3688

老明大大_3688

2026-05-06

833人浏览

原创

vim列编辑(ctrl+v)可高效批量格式化/etc/hosts:先列选区域,按i插入前缀(如#或ip)后双esc广播,按x/c/r进行列删/替/单字符替换,并配合行号、标记和对齐命令提升精度。

怎么在linux利用vim的高级列编辑模式实现大规模hosts文件的快速格式化

在 Linux 中用 Vim 对 /etc/hosts 这类结构化文本做批量格式化,列编辑(Visual Block Mode)是最直接高效的方式。它不依赖正则或脚本,纯键盘操作,几秒内完成几十行对齐、注释、补前缀等动作,特别适合运维和开发中反复调整 hosts 的场景。

进入列块模式并精准选区

列编辑的核心是「按列选中」,不是按行或按字。操作路径清晰:

  • 先用 gg 或数字跳转到目标起始行(比如第 3 行),将光标移到该行最左侧(用 ^ 快速跳到行首)
  • 按下 Ctrl + v —— 屏幕左下会显示 -- VISUAL BLOCK --,表示已进入列块模式
  • 用方向键或 j/k 向下/向上拖选,覆盖你想操作的所有行(如从第 3 行到第 12 行)
  • 若需横向选中固定列宽(例如只选中每行前 10 列),可用 或 <code>> 配合方向键微调,或直接按 l 向右扩展一列

批量插入统一前缀(如注释或 IP 占位)

这是 hosts 文件最常用操作:给多行加 # 注释,或统一补上 127.0.0.1。

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
  • 选中目标列区域后,按大写 I(Insert at line start of block)—— 注意此时只有首行显示输入光标,属正常现象
  • 输入要插入的内容,例如 # (井号+空格)或 127.0.0.1\t(可用 Tab 输入制表符对齐)
  • 输完后必须连按两次 Esc:第一次退出插入状态,第二次才真正将内容广播到所有选中行
  • 效果立现:所有被选中的行,都在同一列位置添加了完全一致的前缀

批量删除或替换固定列内容

适用于清理旧注释、统一替换域名、对齐缩进等。

  • 同样用 Ctrl + v 选中待删/替的列区域(例如所有行开头的 # ,或第 15–25 列的旧域名)
  • 按 x 直接删除整列选区;或按 c 进入替换模式,输入新内容后双 Esc
  • 若要替换为固定字符串(如把所有 dev. 换成 stg.),但只作用于某列范围,可先列选,再按 s 删除并立即输入新内容
  • 注意:列选后按 r 可实现“列内单字符替换”,例如选中一列字母后按 r0,就把整列都变成 0

结合行号与标记提升操作精度

面对长 hosts 文件(上百行),靠目视选区易出错。建议组合使用以下技巧:

  • 先执行 :set nu 显示行号,明确起止行(如 :3,15 区间)
  • 用 ma 在起始行打标记 a,mb 在结束行打标记 b,之后用 <c-v>'a'b</c-v> 快速列选两标记间全部内容
  • 若需对齐 IP 和域名(常见需求),可先列选所有域名列(如从第 20 列开始),按 > 右移一次自动补空格对齐;或列选后按 :normal A <space></space> 统一在末尾加空格
  • 操作前可 :w! /tmp/hosts.bak 快速备份,避免误操作不可逆

相关专题

更多
vim保存退出命令
vim保存退出命令

vim是一个非常强大的文本编辑器,常用于Unix和Linux系统。它是从vi发展而来的,相比vi有许多改进和扩展。在vim中,保存并退出的命令是:wq"wq"这个命令是由两个部分组成的。其中,"w"表示写入文件,将所做的更改保存到磁盘;而"q"表示退出vim编辑器。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.01

329

3

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4090

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3473

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2673

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6510

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6162

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3573

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3065

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3299

6

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习