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

  • 如果本文对你有帮助:欢迎点赞、收藏,让更多正在学习命令行的同学看到。
  • 遇到问题或有不同理解:可以在评论区留言,一起讨论、互相学习。
相关推荐
春日见7 分钟前
Docker中如何删除镜像
运维·前端·人工智能·驱动开发·算法·docker·容器
郝学胜-神的一滴9 分钟前
Python中的with语句与try语句:资源管理的两种哲学
linux·服务器·开发语言·python·程序人生·算法
云智慧AIOps社区12 分钟前
云智慧Cloudwise X1 轮足机器人重磅发布:跨楼层全自动巡检,重塑数据中心运维范式
运维·人工智能·机器人·自动化
zhangrelay22 分钟前
如何让手机电脑流畅飞起低碳节能性能拉满-软件安装篇-ESR-Extended Support Release-延长支持版-LTS
linux·运维·笔记·学习
SmartRadio23 分钟前
基于RK3568实现多电脑KVM共享方案(HDMI采集+虚拟USB键鼠+无缝切换+剪贴板/文件共享)
运维·服务器·网络·电脑·kvm·rk3568
JiMoKuangXiangQu26 分钟前
Linux eBPF 案例:sk_filter 读取 IP 地址崩溃
linux·ebpf·sk_filter
未来之窗软件服务32 分钟前
服务器运维(二十五)终端安全证书管控与Nginx HTTPS 部署—东方仙盟练气期
运维·服务器·安全·仙盟创梦ide·东方仙盟
Anastasiozzzz35 分钟前
Docker介绍与常见指令
运维·docker·容器
hinewcc41 分钟前
Linux电源管理 - wakelocks
android·linux
雨季66642 分钟前
构建 OpenHarmony 智能场景自动化配置面板:Flutter 实现可视化规则编排
运维·flutter·自动化