Linux下 vim(vi)编辑器的使用-各种模式介绍

进入Vim

创建一个文件进入编辑

bash 复制代码
vi filename

一、编辑模式介绍

vi / vim 编辑器中,删除字符的操作取决于你当前所处的模式。vi 有三种主要模式:

  • 普通模式(Normal mode):启动后默认进入,用于导航和执行命令
  • 插入模式(Insert mode):用于输入文本
  • 命令行模式(Command-line mode) :通过 : 进入,用于保存、退出等
模式 说明 进入方式 退出方式
普通模式(Normal mode) 默认模式,用于导航、编辑命令(如删除、复制、跳转) 启动 Vim 自动进入;按EscCtrl+[ 从其他模式返回 i/a/o等进入插入模式,或: 进入命令行模式
插入模式(Insert mode) 输入文本内容 在普通模式下按: •i(当前光标前插入) •a(光标后插入) •o(下一行新建行) •I(行首插入) •A(行尾插入) EscCtrl+[ 返回普通模式
命令行模式(Command-line mode) 执行保存、退出、搜索、替换等命令 在普通模式下按:(冒号)就是shift+; Enter执行命令,或Esc 取消返回普通模式

💡 还有可视模式(Visual mode)(用于选择文本):

  • v:字符级选择
  • V:整行选择
  • Ctrl+v:块选择(列模式)

二、普通模式(Normal Mode)常用命令

1.光标移动

命令 作用
h/j/k/l 左 / 下 / 上 / 右
w 跳到下一个单词开头
b 跳到上一个单词开头
e 跳到当前/下一个单词结尾
0(零) 跳到行首
^ 跳到行首第一个非空白字符
$ 跳到行尾
gg 跳到文件开头
G 跳到文件末尾
5G:5 跳到第 5 行
Ctrl+d/Ctrl+u 向下 / 向上翻半页
Ctrl+f/Ctrl+b 向下 / 向上翻整页

2.编辑操作(删除、复制、粘贴)

命令 作用
x 删除当前字符
X 删除前一个字符
dw 删除到下一个单词开头
d$D 删除到行尾
d0 删除到行首
dd 删除整行
5dd 删除5 行
yy 复制(yank)当前行
5yy 复制 5 行
yw 复制一个单词
p 在光标粘贴
P 在光标粘贴
u 撤销(undo)
Ctrl+r 重做(redo)
.(点) 重复上一次编辑操作

3.查找与替换

命令 作用
/word 向下搜索word,按n下一个,N 上一个
?word 向上搜索
:%s/old/new/g 全文将old替换为new(全局)
:s/old/new/g 仅当前行替换
:%s/old/new/gc 全文替换,每处确认(c = confirm)

✍️ 三、插入模式(Insert Mode)操作

  • 正常打字输入即可
  • 常用快捷键(部分终端支持):
    • Backspace:删除前一个字符
    • Delete:删除后一个字符(部分环境不支持)
    • Ctrl+h:等效 Backspace
    • Ctrl+w:删除前一个单词
    • Ctrl+u:删除整行已输入内容

⚠️ 插入模式下无法使用xdd等命令!需先按Esc 回普通模式。


📜 四、命令行模式(Command-line Mode)常用命令

在普通模式下按: 进入:

命令 作用
:w 保存文件
:q 退出(无修改时)
:wq:x 保存并退出
:q! 强制退出(不保存)
:w filename 另存为filename
:set nu :set number 显示行号
:set nonu 隐藏行号
:syntax on 开启语法高亮
:!ls 执行 shell 命令(如:!pwd
:r filename 读入另一个文件内容到当前光标下
:help 打开帮助文档

相关推荐
M78佐菲3 小时前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
益达丫4 小时前
Socket编程揭秘:端口、IP与进程通信的底层逻辑
linux·笔记
chicheese6 小时前
Linux 面试速查表:从初级到高级,附高频场景答题模板
linux·运维
Linux-lucky7 小时前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
vortex58 小时前
常用终端模拟器全面对比:Kitty、WezTerm、Ghostty 与 Konsole
linux
INGNIGHT9 小时前
270 · 电话号码的字母组合II(Trie)
linux·算法
zly35009 小时前
VMware Converter Standalone 物理机转化为虚拟机后源1硬盘变成了2个硬盘(2个硬盘文件)虚拟机无法启动。
linux·运维·服务器
GeW11 小时前
从内核到数据:Linux与工业数据库如何支撑高端制造
linux
小小的木头人12 小时前
Linux systemd Service 与 Timer 定时任务原理及实战
linux
熊明才13 小时前
WSL2 网络突然瘫痪(Network is unreachable / 没有 eth0)最短修复指南(2026年9月20日亲测可用)
linux·windows·wsl2