惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Hacker News - Newest:
Hacker News - Newest: "LLM"
Cloudbric
Cloudbric
V
Visual Studio Blog
L
LangChain Blog
A
About on SuperTechFans
B
Blog
T
Tenable Blog
罗磊的独立博客
Hacker News: Ask HN
Hacker News: Ask HN
Blog — PlanetScale
Blog — PlanetScale
博客园 - 三生石上(FineUI控件)
The Register - Security
The Register - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
P
Palo Alto Networks Blog
U
Unit 42
WordPress大学
WordPress大学
D
Darknet – Hacking Tools, Hacker News & Cyber Security
N
News and Events Feed by Topic
T
Threat Research - Cisco Blogs
C
Check Point Blog
Security Latest
Security Latest
M
MIT News - Artificial intelligence
Application and Cybersecurity Blog
Application and Cybersecurity Blog
宝玉的分享
宝玉的分享
P
Proofpoint News Feed
NISL@THU
NISL@THU
Forbes - Security
Forbes - Security
S
Securelist
Security Archives - TechRepublic
Security Archives - TechRepublic
Hugging Face - Blog
Hugging Face - Blog
aimingoo的专栏
aimingoo的专栏
Latest news
Latest news
GbyAI
GbyAI
T
Troy Hunt's Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LINUX DO - 热门话题
V2EX - 技术
V2EX - 技术
小众软件
小众软件
Google DeepMind News
Google DeepMind News
K
Kaspersky official blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
O
OpenAI News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
N
Netflix TechBlog - Medium
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Google DeepMind News
Google DeepMind News
P
Proofpoint News Feed

博客园 - xiashengwang

Rocky Linux 9 安装docker Rocky Linux 9 与Centos区别,以及软件安装dnf命令 《Linux 基础点滴》:(17)SSH 密钥生成与管理 – 免密登录的利器 Linux服务器安全登录:从入门到实践 putty 基础 《Linux 基础点滴》:(16)firewalld 防火墙管理命令 《Linux 基础点滴》:(15)用户管理 – 创建、删除、权限与 sudo 《Linux 基础点滴》:(14)定时任务 – 用 crontab 自动化 《Linux 基础点滴》:(12)tldr – 简化版命令手册 《Linux 基础点滴》:(11)系统信息与资源监控 – 掌握服务器状态 《Linux 基础点滴》:(10)压缩与打包 – tar 的艺术 《Linux 基础点滴》:(9)查找与过滤 – find, grep, 管道 《Linux 基础点滴》:(8)网络基础 – 查看 IP、连通性与端口 《Linux 基础点滴》:(7)进程管理 – 查看与控制运行中的程序 《Linux 基础点滴》:(6)文件权限与所有者 – 保护你的文件 《Linux 基础点滴》:(5)文件与目录操作 – 增删改查必会命令 《Linux 基础点滴》:(4)磁盘空间查看 – df 和 du 的妙用 《Linux 基础点滴》:(3)Linux 文件系统概览 – 一切皆文件 《Linux 基础点滴》:(2)SSH 连接与基础命令 – 从登录到第一次操作 《Linux 基础点滴》:(1)初识 Linux 大家族 – 发行版分类与选择 docker学习(7)-docker compose 文件 docker学习(11)- 容器的日志(log) docker学习(10)-利用Github Action 自动化部署 docker学习(9)-Docker Swarm + Nginx 跨机器负载均衡 docker学习(8)-从 Windows 开发到 Linux 部署 docker学习(6)-数据持久化与网络通信 学会 Git Tag,让版本管理不再混乱 docker学习(5)-Dockerfile docker学习(4)-Docker常用命令 docker学习(3)-一个简单的例子 docker学习(2)-安装 docker学习(1)-基本概念 Github 使用 Self-hosted Runner 实现服务器自动化部署 github创建分支 + Pull Request 合并 Git Rebase vs Git Merge:深入理解与实战选择 Git 系统学习教程:从零到团队协作 AI学习笔记(2)-OpenClaw安装 windbg分析dmp文件 docker desktop 和 Vmware冲突的解决办法
《Linux 基础点滴》:(13)文本编辑入门 – 使用 Vim
xiashengwang · 2026-04-22 · via 博客园 - xiashengwang

2026-04-22 10:49  xiashengwang  阅读(13)  评论()    收藏  举报

第 13 篇:文本编辑入门 – 使用 Vim

学习目标

  • 掌握 Vim 的三种基本模式:普通模式、插入模式、命令模式
  • 学会打开、编辑、保存、退出文件
  • 掌握几个最常用的操作:移动光标、删除、复制、粘贴

核心概念

Vim 模式

  • 普通模式(Normal):默认模式,按 Esc 回到该模式。用于移动、删除、复制。
  • 插入模式(Insert):按 i、a、o 进入,可输入文本。
    • i —— insert 在光标前面
    • a —— append 在光标后面
    • o —— open 新开一行
  • 命令模式(Command):在普通模式按 : 进入,可执行保存、退出、查找等。

基本操作速查

操作 命令 说明
打开文件 vim file.txt
退出(不保存) :q! 强制退出
保存并退出 :wq 或 ZZ
保存 :w
进入插入模式 i (当前位置前插入)a 在之后,o 新开一行
删除一个字符 x
删除一行 dd
删除3行 3dd 数字+dd 代表删除几行
删除到行尾 D
删除 从光标到行首 d0
删除 从光标到行尾 d$
删除 一个单词 dw
复制一行 yy
复制3行 3yy 数字+yy 代表复制几行
复制 从光标到行首 y0
复制 从光标到行尾 y$
复制 一个单词 yw
粘贴 p(后)或 P(前)
撤销 u
重做 Ctrl + r
查找 /keyword,按 n 下一个 普通模式,向下找,按n的时候光标往下移动
查找 ?keyword,按 n 下一个 普通模式, 向上找,按n的时候光标往上移动
查找 /正则?正则 . = 任意一个字符 * = 任意次数 ^ = 行首,$ = 行尾 \c = 不区分大小写 < > = 完整单词
取消查找高亮 :nohl (no highlight) 普通模式下输入
移动光标 hjkl 也可用方向键
移动到第一行 gg
移动到最后一行 G
移动到行首 0
移动到行尾 $
全行替换 :s/old/new/g
全文替换 %s/old/new/g
全文替换 %s/old/new/gc 带询问安全替换
全文替换 %s/old/new/gi 忽略大小写

动手实验

实验 1:创建并编辑一个新文件

vim first.txt
# 按 i 进入插入模式
# 输入 "Hello Vim!"
# 按 Esc 回到普通模式
# 输入 :wq 保存退出

实验 2:修改已有配置文件(练习)

cp /etc/hosts ~/hosts_test
vim ~/hosts_test
# 移动光标到某一行,按 dd 删除
# 按 o 在下方新开一行,输入 127.0.0.1 myhost
# 按 Esc,:wq 保存

实验 3:查找与替换

vim ~/hosts_test
# 输入 :%s/127.0.0.1/localhost/g   # 将全文所有 127.0.0.1 替换为 localhost
# 按 :wq 保存退出

常见错误

  • 无法输入:处于普通模式,按 i 进入插入
  • 无法退出:按 Esc 确保在普通模式,然后 :q!
  • 误操作:按 u 撤销

思考题

  1. Vim 中如何将第 5 行到第 10 行复制到文件末尾?
  2. 如何设置显示行号?提示::set number