当前位置: 首页
系统平台
FreeBSD Vi编辑器基础标准操作流程与使用方法详解

FreeBSD Vi编辑器基础标准操作流程与使用方法详解

热心网友 时间:2026-06-18
转载

先说几个核心判断: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 回到命令模式

建议初学者先记住aO即可——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 移动到行首第一个字符并开始接受输入

复制:

  • Yyy 复制该行到暂存区

删除:

  • Ddd 删除光标当前位置到行尾的所有字符
  • x 删除光标所在位置的一个字符

取代:

  • !shell命令 以shell命令的执行结果替换光标所在行。例如!panda,会用“bash: panda: command not found”替换该行内容。
  • rr后接着按某字符,替换光标所在字符
  • ~ 切换光标所在字符的大小写

重复:

  • n 重复上一次搜寻(例如先执行/BSD,再按n等同于再次执行/BSD)。若之前未搜寻,会显示“No previous search pattern.”

复原:

  • U 恢复当前行到光标最初接触时的状态
  • u 撤销前一个动作的效果

其它:

  • : 执行ex命令
  • J 将下一行与当前行合并
来源:https://www.jb51.net/os/Unix/1439.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
微软详解Win11时间点还原 默认每24小时创建恢复点

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

时间:2026-06-30 07:39
Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

时间:2026-06-30 07:39
Win11六月可选更新KB5095093修复回收站弹窗异常

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

时间:2026-06-30 07:39
苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

时间:2026-06-30 07:38
微软加速Win11 25H2推送 覆盖所有符合条件家用PC

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送

时间:2026-06-30 07:38
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜