首页/新闻资讯/正文详情

Linux vi编辑器使用指南:从入门到高效操作

发布时间:2026/11/5 7:06:34 来源:云帆数科 栏目:资讯中心
Linux vi编辑器使用指南:从入门到高效操作
1. Linux vi编辑器概述vi编辑器是Linux系统中最经典的文本编辑器之一它诞生于1976年由Bill Joy在BSD Unix系统中开发。作为一款纯键盘操作的编辑器vi的设计哲学是键盘即效率——通过精心设计的快捷键组合让熟练用户能够实现远超图形界面编辑器的操作速度。提示vimVi IMproved是vi的增强版本由Bram Moolenaar于1991年发布增加了语法高亮、多级撤销等现代编辑器功能。现在大多数Linux发行版中vi命令实际上都是vim的别名。1.1 vi编辑器的核心优势极致的轻量化vi只需要终端环境就能运行即使在最精简的服务器系统上也能使用全键盘操作熟练后双手无需离开键盘主区域编辑效率成倍提升强大的正则表达式支持复杂的查找替换操作特别适合批量修改无处不在的可用性几乎所有的Unix-like系统都预装了vi/vim可编程性支持宏录制和脚本编写可以自动化重复编辑任务1.2 vi编辑器的适用场景服务器配置文件编辑/etc目录下各种配置日志文件查看与分析编写和修改Shell/Python等脚本远程服务器维护通过SSH连接时快速编辑小型文本文件2. vi编辑器的三种模式vi最独特的设计就是它的模式系统这也是新手最容易困惑的地方。理解这三种模式及其切换方式是掌握vi的关键。2.1 命令模式Normal Mode这是vi启动后的默认模式。在这个模式下所有按键输入都被视为命令可以执行光标移动、复制粘贴、删除等操作按:进入末行模式按i/a/o等进入输入模式2.2 输入模式Insert Mode在这个模式下按键输入会直接作为文本插入到文件中按Esc键返回命令模式支持大部分常规编辑操作退格、方向键等2.3 末行模式Command-line Mode通过命令模式按:进入用于保存文件:w退出编辑器:q执行查找替换:%s/old/new/g设置编辑器选项:set nu3. 基础操作指南3.1 启动与退出vi启动vivi 文件名 # 编辑指定文件 vi 行号 文件名 # 打开文件并定位到指定行 vi /搜索词 文件名 # 打开文件并定位到第一个匹配处退出vi:q # 退出无修改时 :q! # 强制退出放弃修改 :wq # 保存并退出 :x # 同:wq3.2 基本光标移动在命令模式下h/j/k/l - 左/下/上/右移动 0 - 移动到行首 $ - 移动到行尾 gg - 移动到文件开头 G - 移动到文件末尾 Ctrlf - 向下翻页 Ctrlb - 向上翻页3.3 文本编辑操作插入文本i - 在光标前插入 a - 在光标后插入 o - 在当前行下方新建一行并插入删除文本x - 删除当前字符 dd - 删除当前行 dw - 删除当前单词复制粘贴yy - 复制当前行 p - 粘贴到光标后 P - 粘贴到光标前4. 高级技巧4.1 高效查找替换查找/pattern - 向前查找 ?pattern - 向后查找 n - 下一个匹配项 N - 上一个匹配项替换:%s/old/new/g # 全局替换 :10,20s/old/new/g # 替换10-20行 :%s/old/new/gc # 每次替换前确认4.2 多文件编辑vim file1 file2 # 同时打开多个文件 :n # 切换到下一个文件 :N # 切换到上一个文件 :args # 查看文件列表4.3 窗口分割:split # 水平分割窗口 :vsplit # 垂直分割窗口 Ctrlw w # 切换窗口 :q # 关闭当前窗口5. 实用配置建议在~/.vimrc中添加以下配置可以显著提升使用体验set nu 显示行号 set autoindent 自动缩进 set tabstop4 Tab键宽度 set expandtab 将Tab转换为空格 set hlsearch 高亮搜索结果 syntax on 语法高亮6. 常见问题解决6.1 恢复意外关闭的文件vi会在意外关闭时保留交换文件(.swp)重新打开文件时会提示恢复选项vim -r 文件名 # 恢复文件6.2 中文乱码问题确保vim和终端使用相同的编码set encodingutf-8 set fileencodingsutf-8,gbk6.3 按键无响应可能是卡在了某个模式尝试多次按Esc返回命令模式然后按:进入末行模式输入q!强制退出。7. 学习建议从基础命令开始逐步掌握常用操作制作自己的cheatsheet备忘常用命令在实际工作中强制自己使用vi熟能生巧探索vim的高级功能宏录制、插件等参考:help命令查看内置帮助文档vi的学习曲线虽然陡峭但一旦掌握你将获得前所未有的文本编辑效率。坚持练习很快你就能体会到手不离键盘的流畅编辑体验。

相关推荐

学术研究中的AI工具:提升效率与规范性的五大神器
学术研究中的AI工具:提升效率与规范性的五大神器

1. 学术研究工具现状与AI技术融合趋势2025届的学术研究者正面临前所未有的技术变革窗口期。过去三年间,超过73%的顶尖学术期刊论文的作者团队使用了至少一种AI辅助工具。我在指导研究生论文过程中发现,合理运用AI工具的研究生,文献综述效率平… · 2026/11/5 7:06:34

京东云主机三年期购买指南与配置优化
京东云主机三年期购买指南与配置优化

1. 京东云主机三年期购买与配置解析京东云确实提供三年期的云主机购买选项,这种长期租赁方式在云计算领域被称为"预留实例"。与按年或按月付费相比,选择三年期通常能获得30%-50%的价格优惠,特别适合有长期稳定业务需求的企业用户。… · 2026/11/5 7:06:34

IAR下STM8S003模拟串口实战:从环境搭建到稳定通信
IAR下STM8S003模拟串口实战:从环境搭建到稳定通信

简介:这份资源面向在 IAR Embedded Workbench 下开发 STM8S003 的嵌入式工程师与学习者,针对该芯片原生物理串口资源不足的问题,给出基于 PC3、PC4 引脚配合定时器实现软件模拟串口(Software UART)的完整工程。内容涵盖… · 2026/11/5 7:05:34

如何用一个仓库补齐你的 Android 技术栈?android-tech-frontier 译文库完全指南
如何用一个仓库补齐你的 Android 技术栈?android-tech-frontier 译文库完全指南

如何用一个仓库补齐你的 Android 技术栈?android-tech-frontier 译文库完全指南 【免费下载链接】android-tech-frontier 【停止维护】一个定期翻译国外Android优质的技术、开源库、软件架构设计、测试等文章的开源项目 项目地址: https://gitcode.com/gh_mirrors… · 2026/11/5 8:46:35

【Java基础知识】方法与注释
【Java基础知识】方法与注释

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 8:43:30

【Java基础知识】进制转换
【Java基础知识】进制转换

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 8:43:30

【Java基础知识】字面量与变量
【Java基础知识】字面量与变量

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 8:43:30

kafka--基础知识点--0
kafka--基础知识点--0

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 8:43:30

如何用AI新闻雷达Horizon打造你的专属信息过滤系统
如何用AI新闻雷达Horizon打造你的专属信息过滤系统

如何用AI新闻雷达Horizon打造你的专属信息过滤系统 【免费下载链接】Horizon 📡 Your own AI-powered news radar. Generates daily briefings in English & Chinese. | 用 AI 构建你专属的新闻雷达 项目地址: https://gitcode.com/GitHub_Trending/horizon39… · 2026/11/5 8:41:27

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

多智能体协作系统架构设计与实践优化
多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中… · 2026/11/5 0:00:39

大模型系统性入门实战指南:从原理到部署微调的全链路路线
大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#… · 2026/11/5 0:00:39

鸿蒙文件系统沙箱机制解析与开发实践
鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的… · 2026/11/5 0:00:39

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码