【Linux指南】:vi编辑器

目录名称

    • 前言
    • 一、基础知识
      • [1.1 使用场景](#1.1 使用场景)
      • [1.2 vi 和 vim 的关系](#1.2 vi 和 vim 的关系)
    • 二、快速入门
      • [2.1 启动与退出](#2.1 启动与退出)
      • [2.2 三种常用模式](#2.2 三种常用模式)
      • [2.3 创建与编辑文件](#2.3 创建与编辑文件)
    • 三、常用快捷键与操作
      • [3.1 光标移动](#3.1 光标移动)
      • [3.2 复制、粘贴、删除](#3.2 复制、粘贴、删除)
      • [3.3 显示行号](#3.3 显示行号)
      • [3.4 查找与替换](#3.4 查找与替换)
      • [3.5 撤销操作](#3.5 撤销操作)
      • [3.6 配置文件](#3.6 配置文件)
    • 结语

🎬 博主名称: 超级苦力怕

🔥 个人专栏: 《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 文件名 打开文件。若文件不存在,则会新建一个文件。

例如输入:

bash 复制代码
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:忽略大小写查找

全局忽略大小写设置:

vim 复制代码
:set ic

替换:尾行模式

vim 复制代码
:范围1,范围2s/旧内容/新内容/g

示例:

vim 复制代码
: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 是服务器环境中必备的文本编辑器,掌握其三种模式切换、基本编辑命令、快捷键以及查找替换功能,能极大提升命令行下的工作效率。

  • 如果本文对你有帮助:欢迎点赞、收藏,让更多正在学习命令行的同学看到。
  • 遇到问题或有不同理解:可以在评论区留言,一起讨论、互相学习。
相关推荐
wyt5314299 分钟前
Redis的安装教程(Windows+Linux)【超详细】
linux·数据库·redis
17(无规则自律)19 分钟前
【Linux驱动实战】:字符设备之ioctl与mutex全解析
linux·c语言·驱动开发·嵌入式硬件
CDN36036 分钟前
360CDN SDK 游戏盾:轻量化接入 + 强防护实测
运维·游戏·网络安全
Stewie1213838 分钟前
Docker 面试题
运维·docker·容器
星纬智联技术1 小时前
GEO E2E 自动化验证测试文章
运维·自动化·geo
天赐学c语言2 小时前
Linux - 应用层自定义协议与序列/反序列化
linux·服务器·网络·c++
jarreyer2 小时前
CentOS 7 无法使用 yum 安装软件
linux·运维·centos
脆皮的饭桶2 小时前
结合使用,实现IPVS的高可用性、利用VRRP Script 实现全能高可用
运维·服务器·网络
薛定谔的悦3 小时前
告别传统BMS!深度解读阳光电源 BM^2T 电池管理技术白皮书
linux·能源·储能·bms·ems
源远流长jerry3 小时前
DPDK MP (Multi-Process) 通道深度解析
linux·网络·架构·ip