LinuxDay5-Vim编辑器
Linux 基础 Day5Vim 编辑器 — 从「进得去出不来」到写 C 代码系列粤嵌嵌入式培训学习笔记 (第 5 篇)上一篇Linux 基础 Day4用户管理 · 用户组 · 权限管理环境Ubuntu 22.04 · Vim 8.2 | 2026年7月29日① 概览Linux 基础最后一课——Vim 编辑器。后面写 C 代码天天泡在 Vim 里这是投入产出比最高的一课。模块一句话Vi vs VimVi 是记事本Vim 是 Notepad语法高亮、多级撤销、插件扩展三种模式命令模式快捷键→ 输入模式写代码→ 末行模式保存/退出/查找/替换删除/复制/粘贴dd删行、yy复制行、p粘贴、u撤销查找替换 ⭐/查找、:%s/old/new/g全文替换终端快捷键CtrlA/E跳行首行尾、CtrlU/K/W快速删除② Vi 与 Vim 的区别ViVim来源Linux 内置需额外安装 (sudo apt-get install vim)功能基本文本编辑语法高亮、多级撤销/重做、代码折叠、多窗口、正则搜索、插件扩展类比Windows 记事本Notepad写代码必须 VimVi 不够用。③ 三种工作模式 — Vim 的核心命令模式 ←→ 输入模式 ↓ 末行模式模式怎么进的怎么认能做什么命令模式启动 Vim 默认左下角什么也没有快捷键删行、复制、粘贴、撤销输入模式按i/a/o左下角显示-- 插入 --写代码、敲文字末行模式按Shift :左下角出现:保存退出、查找替换等指令模式切换口诀命令模式 ──按 i──→ 输入模式写代码 输入模式 ──按 Esc──→ 命令模式 命令模式 ──按 Shift:──→ 末行模式输指令 末行模式 ──按 Esc──→ 命令模式任何时候慌了猛按 Esc 回到命令模式然后i继续写或:wq保存退出。④ 启动与退出第一道坎启动vim文件名# 打开/新建文件推荐vim文件名 # 打开并跳到文件末尾vim文件名 行号# 打开并跳到指定行调试用退出初学者最怕的命令作用什么时候用:q不保存退出只看了看没改:wq保存并退出最常用写完了走人:q!强制退出不保存改错了想放弃:wq!保存并强制退出文件是只读的:x保存并退出同:wq更短同上ZZ命令模式下直接保存退出不需要进末行模式退出步骤Esc → Shift : → wq → 回车⑤ 删除操作快捷键功能在哪个模式x删除光标所在处 1 个字符命令5x删除 5 个字符命令dd删除光标所在整行命令5dd删除当前行起共 5 行命令:1,12d删除第 1 行到第 12 行末行⑥ 复制操作行复制快捷键功能在哪个模式yy复制当前行配合p粘贴命令5yy复制当前行起共 5 行命令:3,14 co 2复制 3~14 行粘贴到第 2 行之后末行可视模式复制选哪抄哪v → 方向键选中 → y 复制 → 移到目标位置 → p 粘贴⑦ 粘贴快捷键功能在哪个模式p粘贴到光标下方整行或光标之后字符命令⑧ 撤销与重做快捷键功能对应 Windowsu撤销上一步Ctrl ZCtrl R重做恢复被撤销的Ctrl Y⑨ 查找基本查找命令模式下直接按 / → 输入关键词 → 回车跳转快捷键功能n跳到下一个匹配项N跳到上一个匹配项查找选项命令功能:set ic忽略大小写:set noic区分大小写默认:set hls高亮所有匹配项:set nohls取消高亮⑩ 替换 ⭐ 重点语法:[范围]s/查找字符串/替换字符串/[标志]范围范围含义%全文n1,n2第 n1 行 ~ 第 n2 行.当前行$最后一行标志标志含义g全局替换一行里所有匹配都换不加只换每行第一个i忽略大小写实例:%s/int/void/g# 全文所有 int → void:5,20s/int/void/g# 第 5~20 行的 int → voidg的效果对比原始: int main(int argc) 不加 g: void main(int argc) ← 只换了每行第一个 加 g: void main(void argc) ← 两个都换了⑪ 终端操作技巧快捷键/命令功能Ctrl A光标跳到行首Ctrl E光标跳到行尾Ctrl U清空当前行Ctrl K删除光标到行尾Ctrl W删除光标前一个单词Ctrl Shift T打开新标签页Ctrl PageUp/Down切换标签页clear清屏reset完全重置终端乱码时用⑫ 踩坑记录 ⭐坑1进得去出不来现象进了 Vim 不知道怎么退出只能关终端根因Vim 不像图形编辑器有 × 按钮退出必须在命令里完成解决Esc→Shift :→wq回车。记住这个三步走就行坑2按了 i 能打字按方向键却输入了 ABCD根因装的 Vim 精简版方向键在输入模式下不兼容解决装完整版sudo apt-get install vim不是vim-tiny坑3:wq后提示只读文件无法保存现象:wq报错根因文件只读或者你不拥有这个文件解决使用:wq!强制保存写入⑬ 小结今天完成Vim 安装 → 三种模式切换 → 增删改查ddyypu→ 查找/和替换:%s→ 终端快捷键。下一篇C语言 Day1 — 计算机基础 Hello World 编译四步骤。本文首发于 CSDN转载请注明出处。

相关新闻

AI验布机选型避坑:先淘汰需要你采集数据的方案

AI验布机选型避坑:先淘汰需要你采集数据的方案

1.1 市场规模与增长驱动力 纺织行业正面临前所未有的“用工荒”与“质量升级”双重压力。人工验布速度(15-25米/分钟)已无法满足现代生产线的高速需求,而年轻一代对重复性、高强度验布工作的排斥,使得“机器换人”成为必然趋势。据…

2026/9/26 1:07:25 阅读更多 →
HuggingFace AutoModelForCausalLM:从任务头设计理解语言建模原理

HuggingFace AutoModelForCausalLM:从任务头设计理解语言建模原理

上周帮一个刚入行的朋友配置本地开发环境,他盯着 HuggingFace 模型下载页面看了半天,突然问:“为什么同一个模型,有人用 AutoModel ,有人用 AutoModelForCausalLM ?这俩到底有什么区别?”我…

2026/10/3 13:30:43 阅读更多 →
Agent Skills从零到企业级实战:完整构建指南与最佳实践

Agent Skills从零到企业级实战:完整构建指南与最佳实践

这次我们来看一个关于 Agent Skills 的完整学习路径教程。这个教程的重点不是空谈概念,而是从零基础到企业级实战的完整构建过程,涵盖了当前最实用的 Agent 技术栈和项目实践。 如果你正在寻找一套能真正跑通、能部署、能集成到现有系统的 Agent 方案&a…

2026/9/23 0:11:24 阅读更多 →

最新新闻

插件机制与加载失败排查:从IAR到MusicFree的全景解析

插件机制与加载失败排查:从IAR到MusicFree的全景解析

最近总有人拿“plugins”这个词来找我,有的问我IAR插件是干什么用的,有的甩过来一行报错说“failed to load plugins web boot: 2 entries did not activate linxin666/dsh-p”不知道该怎么收场,还有的在折腾MusicFree的插件时一脸懵。说实话…

2026/10/4 15:40:11 阅读更多 →
cppcheck IOWithoutPositioning 检查器:捕获 C/C++ 文件读写间缺失定位操作导致的未定义行为

cppcheck IOWithoutPositioning 检查器:捕获 C/C++ 文件读写间缺失定位操作导致的未定义行为

开发工具静态分析代码质量质量保障 【免费下载链接】cppcheck static analysis of C/C code 项目地址: https://gitcode.com/gh_mirrors/cpp/cppcheck 点击查看 免费下载 IOWithoutPositioning 是 cppcheck 内置的 I/O 类检查器之一,专门检测在同时以读…

2026/10/4 15:40:11 阅读更多 →
5分钟装好notepad--:macOS文本编辑器上手指南

5分钟装好notepad--:macOS文本编辑器上手指南

5分钟装好notepad--:macOS文本编辑器上手指南 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。 项目地址: https://gitcode.com/GitHub_Trending/no/notepad-- 这篇文章带你…

2026/10/4 15:40:11 阅读更多 →
如何设计 AI Agent Harness Engineering 的评价指标体系?TaoToken 统一 Key 下的落地拆解

如何设计 AI Agent Harness Engineering 的评价指标体系?TaoToken 统一 Key 下的落地拆解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 15:40:11 阅读更多 →
使用 Devcontainer 搭建 Betaflight Configurator 跨平台开发环境:从 VS Code 到 Web、Tauri 与 Android 全栈构建

使用 Devcontainer 搭建 Betaflight Configurator 跨平台开发环境:从 VS Code 到 Web、Tauri 与 Android 全栈构建

无人机嵌入式桌面应用 【免费下载链接】betaflight-configurator Cross platform configuration and management application for the Betaflight firmware 项目地址: https://gitcode.com/gh_mirrors/be/betaflight-configurator 点击查看 免费下载 本篇技术指南围…

2026/10/4 15:40:11 阅读更多 →
ESP32-S3 Mini与C3 Mini选型指南:PSRAM、USB OTG与采购避坑

ESP32-S3 Mini与C3 Mini选型指南:PSRAM、USB OTG与采购避坑

1. 先搞清楚你要买的是哪块板子 1.1 两个型号的定位差异 ESP32-S3 Mini 和 ESP32-C3 Mini 这两块板子,外形尺寸几乎一样,都是那种拇指大小的邮票孔模组,但内部差别不小。很多人第一次买的时候只看价格,结果买回来发现跑不了自己想…

2026/10/4 15:39:11 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →