【Linux指南】:vi编辑器

【Linux指南】:vi编辑器

目录名称

🎬 博主名称:超级苦力怕

🔥 个人专栏:《AI 工具使用目录》

🚀 每一次思考都是突破的前奏,每一次复盘都是精进的开始!


前言

在很多时候,VSCode 可以替代 vi 这种命令行编辑器了,使用也更加方便。但考虑到特殊场景,如服务器的环境上,一般没有图形界面和图形化编辑器,只能通过命令行操作,因此需要学习 vi 编辑器。

一、基础知识

1.1 使用场景

当在服务器上遇到了一些问题,需要查看某个日志文件来排查原因,或者需要定位某个错误的位置,找到错误之后可能还需要修改某个配置文件等。这时如果不会使用 vi,排查和解决问题的效率会非常低下。

使用人员:开发人员、运维人员。

1.2 vi 和 vim 的关系

vi 编辑器是 Unix 系统下的一款文本编辑器,而 vim 是 vi improved 的缩写,是 vi 编辑器的增强版。它们的使用方法基本一样,只是 vim 在 vi 的基础上增加了新功能和改进。通常我们会安装 vim,在命令行使用 vi 命令实际上会直接启动 vim。


二、快速入门

2.1 启动与退出

打开命令行,输入 vivim,即可进入 Vim 的启动界面,其中会显示版本等基础信息。输入 :q 可退出并返回命令行。

在这里插入图片描述

2.2 三种常用模式

在 vi 中有三种常用模式:

  • 命令模式:默认进入的模式,可执行复制、粘贴、删除、移动光标等操作。
  • 插入模式:可输入和编辑文本内容。
  • 尾行模式:用于保存、退出、查找、替换等操作。

不同模式之间可通过快捷键切换。进入 Vim 后默认处于命令模式,输入 : 即进入尾行模式。

在这里插入图片描述

2.3 创建与编辑文件

除了直接输入 vi,也可通过 vi 文件名 打开文件。若文件不存在,则会新建一个文件。

例如输入:

vi hello.txt 
在这里插入图片描述

左下角显示文件名,右侧 [New File] 表示这是一个新文件。

进入插入模式常用键

  • i:在光标前插入
  • I:在当前行最左侧插入
  • a:在光标后插入
  • A:在当前行最右侧插入
  • o:在下一行插入
  • O:在上一行插入

例如按 i 进入插入模式,输入 hello world!,按 Esc 返回命令模式,再按 o 插入下一行,输入 hello vim!,最后输入 :wq 保存并退出。

在这里插入图片描述

输入 ls 查看当前目录文件,输入 cat hello.txt 查看文件内容:

在这里插入图片描述

三、常用快捷键与操作

以下没有特别说明的,都是在命令模式下

3.1 光标移动

  • HJKL:分别代替 ←、↓、↑、→
  • ^:跳转到行首
  • $:跳转到行尾
  • gg:跳转到第一行
  • G:跳转到最后一行
  • 100G:跳转到第 100 行
  • :50:跳转到第 50 行(尾行模式下)

翻页操作

  • Ctrl + f:向前翻页
  • Ctrl + b:向后翻页
  • Ctrl + u:向上翻半页
  • Ctrl + d:向下翻半页

3.2 复制、粘贴、删除

  • x:删除当前字符
  • yy:复制当前行
  • dd:删除当前行
  • p:粘贴
  • 2yy:复制两行
  • 3p:粘贴三次

3.3 显示行号

  • :set number:set nu:显示行号 (尾行模式)

:set nonumber:取消行号 (尾行模式)

在这里插入图片描述

3.4 查找与替换

查找:尾行模式

  • /hello:从光标处向下查找 “hello”
  • ?hello:从光标处向上查找 “hello”
  • n:查找下一个(查找到了直接按)

/hello\c:忽略大小写查找

在这里插入图片描述

全局忽略大小写设置:

:set ic 

替换:尾行模式

:范围1,范围2s/旧内容/新内容/g 

示例:

:10,20s/Hello/World/g 

表示替换第 10 到 20 行中所有的 “Hello” 为 “World”。若不写范围,默认当前行;不加 g 则只替换每行第一个匹配项,也可以将20换成 : ‘ : 10 , 20 :`:10,20 :‘:10,20/Hello/World/g
`,则默认从第十行到最后一行的Hello都转为World

在这里插入图片描述

3.5 撤销操作

  • u:撤销上一次操作
  • U:撤销对这一行的修改

3.6 配置文件

可通过 vi .vimrc 文件进入到 vi 的配置信息,可以设置快捷键、颜色方案、插件等,实现个性化定制,如:set ic忽略大小写配置。

在这里插入图片描述

结语

简单回顾:vi/vim 是服务器环境中必备的文本编辑器,掌握其三种模式切换、基本编辑命令、快捷键以及查找替换功能,能极大提升命令行下的工作效率。
  • 如果本文对你有帮助:欢迎点赞、收藏,让更多正在学习命令行的同学看到。
  • 遇到问题或有不同理解:可以在评论区留言,一起讨论、互相学习。

Read more

基于大数据爬虫+Python+SpringBoot+Hive的网络电视剧收视率分析与可视化平台系统(源码+论文+PPT+部署文档教程等)

基于大数据爬虫+Python+SpringBoot+Hive的网络电视剧收视率分析与可视化平台系统(源码+论文+PPT+部署文档教程等)

博主介绍:ZEEKLOG毕设辅导第一人、全网粉丝50W+,ZEEKLOG特邀作者、博客专家、腾讯云社区合作讲师、ZEEKLOG新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路。 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 2022-2024年最全的计算机软件毕业设计选题大全:

By Ne0inhk
异步编程实战:构建高性能Python网络应用

异步编程实战:构建高性能Python网络应用

目录 摘要 1 异步编程:为什么它是现代网络应用的必然选择 1.1 同步架构的瓶颈与异步架构的优势 2 核心技术原理深度解析 2.1 asyncio事件循环:异步编程的发动机 2.2 aiohttp框架架构解析 3 异步数据库驱动实战 3.1 异步数据库连接池管理 3.2 多数据库支持与连接池优化 4 WebSocket实时通信实战 4.1 构建高性能WebSocket服务器 4.2 实时数据推送与流处理 5 企业级实战案例 5.1 构建异步API网关 6 性能优化与故障排查 6.1 性能优化实战技巧 6.2 常见故障排查指南 7 总结与展望 7.1

By Ne0inhk

【超详细】Python FastAPI 入门:写给新手的“保姆级”教程

【超详细】Python FastAPI 入门:写给新手的“保姆级”教程(2025–2026 最新版) 这篇教程的目标是: 零基础 → 能独立写出生产级别的 RESTful API 预计认真跟着做完前 80%,你大概需要 3–10 天(每天 2–4 小时)。 目录(建议按顺序阅读) 1. 为什么选择 FastAPI(而不是 Flask / Django) 2. 环境准备(最稳的几种方式) 3. 第一个 FastAPI 程序(Hello World) 4. 核心概念速览(5 分钟建立大局观) 5. 路径参数、查询参数、请求体(

By Ne0inhk
【超详细】Python FastAPI 入门:写给新手的“保姆级”教程

【超详细】Python FastAPI 入门:写给新手的“保姆级”教程

前言  作为一名大学生,最近在做 Python Web 开发时发现了一个“宝藏”框架——FastAPI。 以前学 Django 光配置就头大,学 Flask 又不知道怎么写规范。直到遇到了 FastAPI,我才体会到什么叫“写代码像呼吸一样自然”。 这篇文章不讲复杂的原理,只讲最基础、最实用的操作,带你从 0 到 1 跑通第一个 API 接口! 一、FastAPI 是什么 在 Python 的世界里,做网站后台(Web 开发)主要有三巨头: 1. Django:老大哥,功能全但笨重,像一辆重型卡车。 2. Flask:二哥,轻便灵活但插件多,像一辆自行组装的赛车。 3.

By Ne0inhk