news 2026/6/12 16:41:23

vim基础操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
vim基础操作

Linux 编辑器 Vim 核心概念与基础操作指南

在 Linux 系统的文本编辑生态中,Vim 无疑是最具代表性的工具之一。作为经典的 vi 编辑器的升级版本,Vim 不仅完美兼容了 vi 的所有指令,还引入了语法高亮、可视化操作等现代特性。它打破了终端环境的局限,能够流畅运行于 X Window、macOS 以及 Windows 等多种操作系统之上,成为了跨平台开发者的得力助手。

Vim 最核心的设计理念在于其独特的多模式编辑机制。虽然 Vim 内部包含了 12 种模式(6 种基础模式与 6 种附加模式),但在日常使用中,用户只需熟练掌握三种核心模式即可应对绝大多数编辑需求。

1. 正常/普通/命令模式 (Normal Mode)

  • 核心功能
    • 控制屏幕光标的移动。
    • 执行字符、字或行的删除操作。
    • 移动、复制某区段的文本。
  • 模式切换
    • 可由此模式进入Insert mode(插入模式)。
    • 可由此模式进入last line mode(末行模式)。

2. 插入模式 (Insert Mode)

  • 核心功能
    • 只有在 Insert mode 下,才可以进行文字输入。
    • 这是后续日常使用中最频繁的编辑模式。
  • 退出方式
    • ESC键可退回到命令模式 (Normal Mode)。

3. 末行模式 (Last Line Mode)

  • 核心功能
    • 文件的保存或退出。
    • 进行文件内容替换、查找字符串。
    • 列出/设置行号等高级操作。
  • 进入方式
    • 在命令模式下,按Shift + :(即输入冒号:)即可进入该模式。

要查看你的所有模式及详细说明,可以在打开 Vim 后,在末行模式下直接输入以下命令:

:help vim-modes

Vim 基本操作

进入 Vim

在系统提示符后输入以下命令进入 Vim 全屏幕编辑界面:

$vimtest.c

注意:进入 Vim 后,默认处于正常模式,需要切换到插入模式才能输入文字。


模式切换

正常模式 → 插入模式

命令说明
a在光标当前位置的下一个位置开始输入
i在光标当前位置开始输入
o插入新的一行,从行首开始输入

插入模式 → 正常模式

  • ESC

正常模式 → 末行模式

  • 输入:(Shift + ;)

退出与保存(末行模式)

命令说明
:w保存当前文件
:wq存盘并退出 Vim
:q!不存盘强制退出 Vim

正常模式命令集

光标移动

命令说明
h/j/k/l左 / 下 / 上 / 右 移动一格
G移动到文章末尾
$移动到光标所在行的行尾
^移动到光标所在行的行首
w光标跳到下一个字的开头
e光标跳到下一个字的字尾
b光标回到上一个字的开头
#l光标移到该行的第 # 个位置(如5l56l
gg移动到文本开始
shift + g移动到文本末端
ctrl + b屏幕往后移动一页
ctrl + f屏幕往前移动一页
ctrl + u屏幕往后移动半页
ctrl + d屏幕往前移动半页

删除文字

命令说明
x删除光标所在位置的一个字符
#x删除光标所在位置后面(包含自己)# 个字符(如6x
X删除光标所在位置的前面一个字符
#X删除光标所在位置的前面# 个字符(如20X
dd删除光标所在行
#dd从光标所在行开始删除 # 行

复制与粘贴

命令说明
yw复制光标所在位置到字尾的字符到缓冲区
#yw复制 # 个字到缓冲区
yy复制光标所在行到缓冲区
#yy复制从光标所在行往下数# 行(如6yy
p将缓冲区内容粘贴到光标所在位置

替换

命令说明
r替换光标所在处的字符
R连续替换光标所到之处的字符,直到按ESC结束

撤销与恢复

命令说明
u撤销上一次操作(可多次按)
ctrl + r恢复被撤销的操作

更改

命令说明
cw更改光标所在处到字尾的内容
c#w更改 # 个字(如c3w

跳转至指定行

命令说明
ctrl + g列出光标所在行的行号
#G移动光标至文章的第 # 行行首(如15G

末行模式命令集

使用前请按ESC确认处于正常模式,再按:进入末行模式。

行号显示

命令说明
set nu在文件每一行前面显示行号

跳转至指定行

命令说明
:#跳转到第 # 行(如输入15后回车,跳转到第 15 行)

查找字符

命令说明
/关键字向后查找关键字,按n继续向后查找下一个
?关键字向前查找关键字,按n继续向前查找下一个

/?的区别/向后(文件末尾方向)搜索,?向前(文件开头方向)搜索。

保存文件

命令说明
:w保存文件

离开 Vim

命令说明
:q退出 Vim
:q!强制退出 Vim(不保存)
:wq保存并退出 Vim

Vim 操作总结

三种核心模式

模式说明
正常模式默认模式,用于移动光标、删除、复制、粘贴等操作
插入模式用于输入文字
底行模式(末行模式)用于保存、退出、查找、设置行号等操作

注:Vim 共有 12 种模式,以上三种是最常用的核心模式,其余模式可自行进一步研究。

常用操作分类

操作类型示例命令
打开文件vim filename
关闭/退出:q:wq:q!
查看行号ctrl + g:set nu
查询/关键字?关键字
插入iao
删除xdd#dd
替换rR
撤销uctrl + r
复制粘贴yyywp
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/12 16:41:11

帕金森病语音筛查中的关键特征选择方法

1. 项目概述:用声音数据做帕金森病筛查,为什么特征选择是成败关键你有没有注意过,身边那位说话越来越轻、语速变慢、声音发颤的长辈?或者自己录下一段朗读音频,回放时发现“啊”“哦”这些元音拖得特别长、停顿不自然&…

作者头像 李华
网站建设 2026/6/12 16:39:56

Python 爬虫项目:美食店铺信息批量采集

前言 本地生活服务行业线上化进程不断加快,各大综合平台、美食点评网站汇聚了海量线下餐饮店铺数据,涵盖门店基础资质、经营品类、消费价位、用户评价、地理位置等多维度信息。这类数据是本地生活运营、餐饮行业市场调研、商圈客流分析、线下门店选址参…

作者头像 李华
网站建设 2026/6/12 16:38:53

告别2D游戏寻路困境:NavMeshPlus导航网格解决方案深度解析

告别2D游戏寻路困境:NavMeshPlus导航网格解决方案深度解析 【免费下载链接】NavMeshPlus Unity NavMesh 2D Pathfinding 项目地址: https://gitcode.com/gh_mirrors/na/NavMeshPlus 你是否曾经为2D游戏中的角色寻路问题而烦恼?当角色在复杂的2D场…

作者头像 李华
网站建设 2026/6/12 16:34:52

MC68HC916X1 BEFLASH模块编程与擦除操作全解析

1. 项目概述:深入MC68HC916X1的BEFLASH模块在嵌入式系统开发,尤其是涉及工业控制、汽车电子或需要长期固件维护的领域,非易失性存储器的可靠编程与擦除是基本功,也是决定产品生命周期和现场升级能力的关键。今天,我们不…

作者头像 李华