vi/vim 编辑器使用指南与 Linux 常用文件操作命令
摘要:本文详细介绍了 vi/vim 编辑器的三种工作模式及其切换方法,涵盖了命令模式、输入模式和末行模式下的常用操作。同时,还讲解了 Linux 系统中常用的文件操作命令,包括文件查看、分页显示、内容统计、文件创建和去重排序等实用技巧。
一、vi/vim 编辑器简介
vi(Visual Editor)是 Unix/Linux 系统中最经典的文本编辑器之一,vim(Vi IMproved)是其增强版本。作为系统管理员和开发人员的必备工具,vi/vim 在服务器环境、远程连接等无图形界面场景下尤为重要。
二、vi/vim 的三种工作模式
vi/vim 编辑器有三种主要工作模式,理解这些模式及其切换方式是熟练使用编辑器的关键。
1. 命令模式(Command Mode)
- 默认进入模式:启动 vi/vim 后首先进入命令模式
- 主要功能:
- 使用方向键或 hjkl 移动光标
- 对文本进行复制、粘贴、删除、撤销等操作
- 执行搜索、跳转等导航命令
2. 输入模式(Insert Mode)
- 进入方式:在命令模式下按
i(插入)、a(追加)、o(新行)等键 - 主要功能:
- 输入和编辑文本内容
- 左下角显示-- INSERT --标识
- 退出方式:按
Esc键返回命令模式
3. 末行模式(Last Line Mode)
- 进入方式:在命令模式下按
:(冒号) - 主要功能:
- 文件保存、退出操作
- 查找、替换文本
- 打开其他文件
- 执行外部命令
- 退出方式:执行命令后自动返回命令模式,或按
Esc取消
三、命令模式下的常用操作
1. 显示设置
:set nu/:set nonu:显示/隐藏行号
2. 模式切换
i:在光标前进入输入模式a:在光标后进入输入模式o:在当前行下方新建一行并进入输入模式Esc:返回命令模式
3. 光标移动
行内跳转
^或0:跳转到行首$:跳转到行尾w:跳转到下一个单词开头b:跳转到上一个单词开头
行间跳转
gg:跳转到文件第一行G:跳转到文件最后一行#G:跳转到第 # 行(如15G跳转到第 15 行)Ctrl+f:向下翻页Ctrl+b:向上翻页
4. 搜索与查找
/keyword:向前搜索关键词?keyword:向后搜索关键词n:查找下一个匹配项N:查找上一个匹配项
5. 复制、粘贴与删除
yy:复制当前行#yy:复制从当前行开始的 # 行(如3yy复制 3 行)p:在光标后粘贴P:在光标前粘贴x或Delete:删除光标处的字符dd:删除当前行#dd:删除从当前行开始的 # 行d^:删除从行首到光标前的内容d$或D:删除从光标到行尾的内容dG:删除从当前行到文件末尾的内容
6. 撤销与重做
u:撤销上一次操作Ctrl+r:重做被撤销的操作
7. 保存与退出
ZZ:保存并退出(大写 Z 两次)
四、末行模式下的操作
末行模式提供了丰富的文件操作功能:
1. 文件操作
:w:保存文件:w filename:另存为新文件:wq或:x:保存并退出:q:退出(未修改时):q!:强制退出,不保存修改:e filename:打开其他文件:r filename:将其他文件内容插入到光标位置
2. 文本替换
替换命令格式::范围 s/旧内容/新内容/标志
| 命令 | 说明 |
|---|---|
:s/old/new | 替换当前行第一个匹配的 old |
:s/old/new/g | 替换当前行所有匹配的 old |
:n,m s/old/new/g | 替换第 n 到 m 行所有匹配的 old |
:%s/old/new/g | 替换全文所有匹配的 old |
:%s/old/new/gc | 替换全文,每次替换前询问确认 |
五、Linux 常用文件操作命令
1. 查看文件内容
cat 命令
cat filename:显示文件全部内容cat -n filename:显示文件内容并显示行号cat >> filename << EOF:创建文件并写入内容,以 EOF 结束
more 命令
more filename:分页显示文件内容- 操作键:空格(下一页)、b(上一页)、q(退出)
less 命令
less filename:分页显示,支持向前向后翻页- 操作键:空格(下一页)、b(上一页)、上下箭头(逐行滚动)、q(退出)
head 和 tail 命令
head -n filename:显示文件前 n 行(默认 10 行)tail -n filename:显示文件后 n 行(默认 10 行)head -15 filename | tail -11:显示第 5-15 行内容
2. 文件统计
wc 命令
wc filename:统计文件的行数、单词数、字节数wc -l filename:只统计行数wc -w filename:只统计单词数wc -c filename:只统计字节数
3. 文件创建与时间修改
touch 命令
touch filename:如果文件不存在则创建空文件,如果存在则更新文件时间戳
4. 去重与排序
uniq 命令
uniq filename:过滤相邻的重复行uniq -c filename:统计重复行的次数
sort 命令
sort filename:按行升序排序文件内容sort filename | uniq:先排序再去重(处理非相邻重复行)
六、实用技巧与总结
1. vi/vim 学习建议
- 从命令模式的基础操作开始,逐步掌握三种模式的切换
- 常用命令制作成速查表,方便随时查阅
- 在实际编辑任务中练习,熟能生巧
2. 命令组合使用
- 管道符
|可以连接多个命令,如cat file | grep "keyword" | wc -l - 重定向符号
>、>>用于保存命令输出到文件
3. 注意事项
- vi/vim 区分大小写,注意命令的大小写形式
- 末行模式命令执行后需要按 Enter 键
- 输入模式下的编辑习惯与普通文本编辑器类似
掌握 vi/vim 编辑器和常用 Linux 文件操作命令,能够显著提高在 Linux 环境下的工作效率。建议读者在实际工作中多加练习,将这些命令内化为肌肉记忆。
