vi/vim 是“用熟才入门”的编辑器,核心在于掌握三种模式判断、esc逃生、保存退出规则(如:wq、:q!)、可靠光标移动(0/$/gg/g)、dd/yy/p剪切粘贴及搜索替换语法。

vi 和 vim 不是“学完就能用熟”的工具,而是“用熟了才真正入门”的编辑器。你不需要背下所有快捷键,但必须清楚三件事:当前在什么模式、怎么安全退出、怎么不丢内容。
怎么判断自己卡在哪种模式?
屏幕下方没有提示时——大概率在命令模式(刚打开文件或按过 ESC);出现 -- INSERT -- 或 -- REPLACE -- ——你在输入模式;最底下一行有冒号 : 开头——你进了底线命令模式。
误操作常见于:想输文字却按了 i 以外的字母(比如输成 l 导致光标右移一格),或想保存却还在输入模式里狂敲 :wq,结果只打出一串字符。记住唯一逃生键:ESC 按两次总能回到命令模式。
保存和退出老是报错?先看这三条
-
:w只保存,不退出;:q只退出,不保存(如果改过又没保存,会拒绝退出) -
:q!强制退出,丢弃所有未保存修改(适合改乱了想重来) -
:wq和ZZ效果一样,但ZZ更快——它不依赖底线命令模式,命令模式下直接按就行
错误现象:E37: No write since last change (add ! to override) 就是提醒你“你改了但没保存,硬要退?加个 ! 吧”。别慌,:q! 是安全的。
光标移动和文本操作别靠方向键
方向键在某些终端或远程连接里可能失效,而原生命令永远可靠:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
-
0(数字零)跳到行首,$跳到行尾 -
gg到文件开头,G到文件末尾,55G直接跳第 55 行 -
dd删整行,yy复制整行,p粘贴到下一行 -
x删光标后一个字符,X删光标前一个字符(注意大小写)
别小看 dd + p:它比剪切粘贴更快,而且不依赖系统剪贴板,在无图形界面的服务器上更稳。
搜索和替换不是一次性动作
/pattern 向下搜,按 n 继续找下一个,N 反向找;? 则是向上搜。替换用底线命令:
-
:s/old/new/替换当前行第一个匹配 -
:s/old/new/g替换当前行所有匹配(g= global) -
:%s/old/new/g全文替换(%表示从第一行到最后一行) -
:%s/old/new/gc每次替换前都让你确认(c= confirm)
容易踩的坑:s/old/new 忘了加 g,结果只替了一处;或者漏掉 %,只在当前行操作却以为改全了。替换前建议先 /old 确认目标是否存在。
真正的难点不在记命令,而在于「模式意识」——每敲一个键前,先问自己:我现在能输入文字吗?还是该先按 ESC?退出前是否已执行 :w?这些判断比快捷键本身更影响效率。










