FreeBSD Vi编辑器基础标准操作流程与使用方法详解
先说几个核心判断:vi是Unix-like系统的标配编辑器,这意味着无论你换到哪台机器,只要有终端,就能用它干活。相较那些需要额外安装的编辑器(比如pico),vi的优势在于“随身携带”。但它的学习曲线也确实存在,关键在于理解它的模式切换逻辑——别被“模式”这个词吓到,用顺手之后你会发现,这其实是效率的根源。
vi的两种命令模式
vi的界面操作围绕三种模式展开:Command(命令)模式,用于输入命令;Insert(插入)模式,用于文本输入;Visual(可视)模式,用于高亮选定正文。Command模式是vi或vim的默认模式,如果你身处其他模式,按ESC键就会回到这里。按完ESC再输入:,vi会在屏幕最下方等待命令输入。
文件的保存和退出
操作很简单,但组合得记牢:
:w保存;:w filename另存为;:wq!保存并退出;:wq! filename以filename为名保存后退出;:q!不保存强制退出;:x功能与:wq!相同。
光标移动
这是基本功,尤其是当你没有方向键可用的时候:
- j 向下移动一行;
- k 向上移动一行;
- h 向左移动一个字符;
- l 向右移动一个字符。
插入模式(文本的起点)
进入插入模式有多种方式,适应场景各有不同:
- i 在光标之前插入;
- a 在光标之后插入;
- I 在光标所在行的行首插入;
- A 在光标所在行的行末插入;
- o 在光标所在行的下方新建一行;
- O 在光标所在行的上方新建一行;
- s 删除光标后的一个字符后进入插入模式;
- S 删除光标所在的行后进入插入模式。
文本内容的删除操作
删除是高频操作,配合数字键能大幅提升效率:
- x 删除一个字符;
- #x 删除连续几个字符(例如3x);
- dw 删除一个单词;
- #dw 删除连续几个单词(例如3dw);
- dd 删除一行;
- #dd 删除多行(例如3dd删除当前行及下两行)。
恢复修改及恢复删除操作
- u 撤销上一次修改或删除。
查找
/SEARCH正向查找,按n跳至下一个匹配;?SEARCH反向查找,按Shift+n跳至下一个匹配。
替换
:s/SEARCH/REPLACE/g将当前行中所有SEARCH替换为REPLACE;:%s/SEARCH/REPLACE将全文中所有SEARCH替换为REPLACE;:#,#s/SEARCH/REPLACE/g在指定行范围内替换(#代表行号)。
0. 前言
大约三年前,我第一次接触Unix-like系统,当时用的是Mandrake,个人很偏爱pico——它给我的感觉很亲切,功能也足够强大。后来转用FreeBSD,才发现系统里没有pico,需要额外安装pine才行。装一下倒也无妨,直到有一天,我需要做大量的文本替换操作……这时pico就显得力不从心了。
于是我开始深入了解vi的正则表达式和命令体系。一个简单的操作模式切换,就能让繁琐的工作瞬间解决。更重要的是,vi是所有Unix-like系统预装的编辑器,无需额外安装,在不同系统上都能快速上手。
1. 概说
如果你之前从未接触过全屏幕编辑器,可能连一些简单的编辑操作都会遇到障碍——这种情况下,找一个熟悉vi的人带入门会快很多。vi是一个屏幕编辑器,几乎用去了屏幕的每一行来展示文件内容,只有最后一行留给你输入命令和显示信息。
你必须记住的关键点是:vi是一个模式型编辑器。输入文字和执行命令必须在正确的模式下进行。刚打开一个文件时,你处于命令模式(command mode)。有一些命令能帮你切换到输入模式(input mode),但回到命令模式的方法只有一个——按键盘左上角的ESC键。如果不确定当前处于哪种模式,就一直按ESC直到vi发出“哔”声,表明已回到命令模式。当你执行vi不允许的操作时(本地操作),它通常会发出警告“哔”声。
2. 简易操作
开始编辑一个文件很简单:
$ vi file_name <按enter键>
输入:set verbose mode可以让vi在你犯错时给出更多提示信息——对初学者来说,多些提示总比没有好。放心,离开vi后模式会自动恢复。
当你猛按ESC键时,屏幕最下方会显示“Already in command mode”,提醒你已在命令模式。
简易移动命令
- h 光标向左移动一个字符
- j 光标向下移动一行
- k 光标向上移动一行
- l 光标向右移动一个字符
- 方向键 上下左右通常也可以使用(但使用Windows内置telnet时方向键可能无效,所以记住hjkl还是有用的)。
简易搜寻命令
/text搜寻text字符串。例如/panda会查找“panda”。
模式切换
- a 在光标后新增文字
- i 在光标前新增文字
- o 在光标下方新增一行并进入输入模式
- O 在光标上方新增一行并进入输入模式
- ESC 回到命令模式
建议初学者先记住a和O即可——O看似不如o直观,但当你需要在文件最上方新增一行时,O真的非常方便。用久了,自然会在不知不觉中记住所有快捷键。
文字处理命令
复制:
- yy 复制光标所在行
- p 在光标下方粘贴复制的内容
删除:
- dd 删除光标所在行
- x 删除光标所在字符
储存:
:w以原文件名保存:w file_name另存为新文件
离开:
:q退出(若已编辑,vi会拒绝退出):q!强制退出
注意:所谓“一行”在屏幕上可能显示为多行(因为屏幕宽度有限),只要没有换行符号,就算一行。
4. 小结
以上只是vi的基础功能。掌握这些,你已经能进行简单的文本处理,可以逐渐摆脱pico之类的编辑器,转向vi的怀抱。用上一段时间,你就会慢慢体会到vi的强大之处。
0. 前言(进阶篇)
本篇着重介绍vi命令模式下可执行的命令。所有要输入的指令均以蓝色呈现。对于初学者来说,这部分可能稍显复杂。但经验表明,用久了你自然会记住某些指令——不用刻意去背,常用的会在不知不觉中刻进肌肉记忆(甚至可能出现“手指记住了,脑袋记不住”的情况)。
注: 表示按住Ctrl键再按A。部分命令大小写通用,这里均以小写为例。
1. 常用移动命令
- Ctrl+A 往下移动到当前单词下一次出现的位置
- Ctrl+B 光标向上移动一个屏幕
- Ctrl+D 光标向下移动数行(约12行)
- Ctrl+F 光标向下移动一个屏幕
- Ctrl+U 光标向上移动数行(约12行)
- $ 移动到行尾
- nG 移动到第n行(n为行数,未指定则跳到文件最后一行)
- L 移动到屏幕最下一行
- ^ 移动到该行第一个非空格字符
2. 常用档案命令
- Ctrl+G 显示档案信息——例如:
file_name: unmodified : line 1 of 380 [0%] - Ctrl+L 重画屏幕
- Ctrl+Z 暂停编辑,回到shell,执行
fg可返回编辑画面 - Ctrl+^ 切换到最近编辑的档案(配合
vi file_name file_name2可在两个文件间切换)
3. 常用编辑命令
输入:
- I 移动到行首第一个字符并开始接受输入
复制:
- Y 或 yy 复制该行到暂存区
删除:
- D 或 dd 删除光标当前位置到行尾的所有字符
- x 删除光标所在位置的一个字符
取代:
!shell命令以shell命令的执行结果替换光标所在行。例如!panda,会用“bash: panda: command not found”替换该行内容。- r 按r后接着按某字符,替换光标所在字符
- ~ 切换光标所在字符的大小写
重复:
- n 重复上一次搜寻(例如先执行
/BSD,再按n等同于再次执行/BSD)。若之前未搜寻,会显示“No previous search pattern.”
复原:
- U 恢复当前行到光标最初接触时的状态
- u 撤销前一个动作的效果
其它:
- : 执行ex命令
- J 将下一行与当前行合并
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
微软详解Win11时间点还原 默认每24小时创建恢复点
微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正
Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验
微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext
Win11六月可选更新KB5095093修复回收站弹窗异常
微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内
苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞
科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M
微软加速Win11 25H2推送 覆盖所有符合条件家用PC
近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送
- 日榜
- 周榜
- 月榜
相关攻略
2026-06-30 07:39
2026-06-30 07:39
2026-06-30 07:39
2026-06-30 07:38
2026-06-30 07:38
2026-06-30 07:38
2026-06-30 07:38
2026-06-30 07:38
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

