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

推荐订阅源

大猫的无限游戏
大猫的无限游戏
Webroot Blog
Webroot Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
Threat Research - Cisco Blogs
V2EX - 技术
V2EX - 技术
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
Recorded Future
Recorded Future
S
Schneier on Security
I
InfoQ
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
The GitHub Blog
The GitHub Blog
S
Security @ Cisco Blogs
O
OpenAI News
W
WeLiveSecurity
Vercel News
Vercel News
阮一峰的网络日志
阮一峰的网络日志
Simon Willison's Weblog
Simon Willison's Weblog
人人都是产品经理
人人都是产品经理
Cloudbric
Cloudbric
The Last Watchdog
The Last Watchdog
The Hacker News
The Hacker News
Google Online Security Blog
Google Online Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
GbyAI
GbyAI
NISL@THU
NISL@THU
T
Tailwind CSS Blog
V
Visual Studio Blog
PCI Perspectives
PCI Perspectives
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
D
DataBreaches.Net
B
Blog RSS Feed
N
News and Events Feed by Topic
N
News and Events Feed by Topic
H
Heimdal Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
腾讯CDC
Latest news
Latest news
V
Vulnerabilities – Threatpost
Hacker News: Ask HN
Hacker News: Ask HN
WordPress大学
WordPress大学
V
V2EX
aimingoo的专栏
aimingoo的专栏
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Register - Security
The Register - Security
Help Net Security
Help Net Security

博客园 - 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