当前位置: 首页 > article >正文

从劝退到离不开:Vim新手入门实战博客(附高效技巧)

文章目录前言一、vim是什么二、为什么要学习vim三、vim总览四、vim的基本操作4.1vim正常模式命令集(命令模式)4.2vim底行模式命令集4.3vim视图模式五、一些小技巧六、对vim作配置总结前言像大多数人那样第一次接触vim编辑器的我浑身都不习惯为什么不使用VScode来写代码反倒是用这个看起来像是几百年前的东西来写我不理解。但在我熟练掌握之后我才明白存在即合理它存在就有它的道理。一、vim是什么就拿我们熟悉的老朋友VScode来讲VScode属于IDE全程也叫集成开发环境也就是说VScode包办了写代码编译代码调试代码等等工作是一个集成工具而vim呢vim就是单单拿来写代码的工具也就是只负责编辑文本不负责编辑运行调试二、为什么要学习vim很多人会问“我使用那些IDE工具写代码不像吗为什么要去搞这个反人类的vim编辑器呢”1.定位不同“定制手术刀vs全套工具箱”维度vim主流IDE核心定位纯文本编辑器极致的效率一站式开发环境包办全流程功能边界只做文本编辑相关的事不负责编译调试等从写代码编译运行到调试等所有环节都给你安排启动与资源毫秒级启动几乎不占内存服务器上随手就能开启动慢、吃内存打开大项目经常要等半天2.操作逻辑“全键盘流vs鼠标键盘”IDE依赖鼠标“手脑来回切换”用IDE写代码时你需要很频繁在键盘和鼠标之间切换思路很容易被打乱编辑效率也被来回切换的动作拖慢vim纯键盘流“手永远不离开键盘”vim的核心是[模式化操作]所有移动、修改、复制、删除、搜索的动作都可以用键盘快捷键完成。熟练后你写代码手全程放在键盘上连方向键都不用碰三、vim总览vim最主要的由三种模式分别是命令模式(command mode)、插入模式(insert mode)和底行模式(last line mode)各模式的功能区分如下正常/普通/命令模式(Normal mode)控制屏幕的移动字符、字或行的删除移动复制某区段及进入insert mode下或者到last line mode插入模式(insert mode)只有在insert mode下才可以做文本输入按Esc健可回到命令行模式。该模式是我们后面用的最频繁的编辑模式底行模式(last line mode)文件保存或退出也可以进行文件替换找字符串列出行号等操作。在命令模式下按[shift ;]即可进入该模式四、vim的基本操作在命令行输入vim 文件名称时就能进入到文件的编辑画面了刚开始进入的时候模式默认为命令模式czhVM-0-3-ubuntu:~/code/code4-17$ ll total8drwxrwxr-x2czh czh4096Apr1716:46./drwxrwxr-x25czh czh4096Apr1716:46../-rw-rw-r--1czh czh0Apr1716:46test.c czhVM-0-3-ubuntu:~/code/code4-17$ vim test.c//---进入文件的编辑页面默认为命令模式[正常模式]切换至[插入模式]插入模式才能输入内容输入a输入i输入o[插入模式]切换至[正常模式]目前处于[插入模式]就只能一致输入文字如果发现输错了字想用光标键往回移动将该字删除可以先按一下[Esc]键转到[正常模式]再删除文字[正常模式]切换为[末行模式][shift ;],也就是[:]退出vim及保存文件在[正常模式]下按一下[:]进入[底行模式]w(底行模式下输入w保存当前内容到文件)wq(输入wq,保存当前内容到文件并退出vim编辑页面)q!(输入q!,不保存并退出vim编辑页面)wq!(输入wq!强制保存并退出)4.1vim正常模式命令集(命令模式)插入模式按i切换到插入模式[insert mode]从光标开始位置开始输入文件按a进入插入模式后是从目标光标所在位置的下一个位置开始输入文字按o进入插入模式后是插入新的一行从行首开始输入文字从插入模式切换为命令模式按Esc键移动光标vim可以用键盘上的光标来上下左右移动但正规的vim使用小写英文字母[h][j][k][l]分别取控制左、下、上、右移一格按G移动到文章最后行的行首按$移动到光标所在行的行尾按^移动到光标所在行的行首按w光标跳到下个字的开头按e光标跳到下个字的字尾按b光标跳到上个字的开头按#l光标移动到该行的第#个位置如5l56l按gg进入到文本开始(光标回到首行行首)按shiftg进入文本末端(与大写G功能相同本质是一个按键)按ctrlb屏幕往后移动一页按ctrlf屏幕往前移动一页按ctrlu屏幕往后移动半页按ctrld屏幕往前移动半页删除文字x每按一次删除光标所在位置的一个字符#x例如[6x]表示删除光标所在位置的后面包含自己在内6个字符X大写的X每按一次删除光标所在位置的前面一个字符#X例如[20X]表示删除光标所在位置的前面20个字符dd删除光标所在行#dd从光标所在行开始删除#行例如[5dd]删除自己所在的一行还有下面的4行复制yw将光标所在之处到字尾的字符复制到缓冲区中#yw复制#个字到缓冲区yy复制光标所在行到缓冲区#yy例如[6yy]表示拷贝从光标所在的该行包括该行往下数的6行文字p将缓冲区内的字符贴到光标所在位置。注意所有与y有关的复制命令都必须与p配合才能完成复制与粘贴功能替换r替换光标所在处的字符例如[r5]就把当前光标选中的字符替换成5R:替换光标所到之处的字符直到按下[Esc]为止撤销上一次操作u如果你误执行一个命令想要撤回可以马上按下[u][u]可以执行多次ctrl r撤销的恢复撤销你的撤销更改cw:删除光标所在处的字到字尾处随后进入插入模式c#w例如[c3w]表示更改3个字跳转至指定的行ctrl g列出光标所在行的行号在左下角显示行号#G例如[15G]表示移动光标至文章的第15行行首4.2vim底行模式命令集在使用底行模式之前请记住先按[Esc]确保您目前正处于正常模式再按[:]即可进入底行模式列出行号set nu输入[set nu]后会在文件的每一行前面列出行号跳到文件中的某一行#[#]号表示一个数字在冒号后输入一个数字再按回车键就会跳到该行了如输入数字15再回车就会跳到文章的第15行查找字符/关键字先按[/]键再输入您想寻找的字符如果第一次找的关键字不是您想要的可以一直按[n]会往后寻找到您要的关键字为止?关键字先按[?]键再输入您想寻找的字符如果第一次找的关键字不是您想要的可以一直按[n]会往前寻找找到您要的关键字为止保存文件w在冒号输入字母[w]就可以保存起来保存就是写离开vimq按[q]就是退出单纯退出写的东西并没有保存如果无法退出vim可以在[q]后跟一个[!]强制离开vimwq一般建议离开时搭配[w]一起使用这样在退出的时候还可以保存文件!wq强制保存退出4.3vim视图模式很多刚用 Vim 的人只会 i 进插入模式改文字选文本习惯性切鼠标拖选。其实 Vim自带视图模式纯键盘就能精准选中字符、整行、矩形块批量删改、复制缩进、批量注释全都能搞定学会直接告别鼠标选文本。1.字符视图 v进入普通模式按小写 v特点按单个字符精准选区操作按 h/j/k/l 上下左右扩展选中范围适用场景只选半行、几个单词、一小段局部文字精细小范围编辑2. 行视图 V大写进入普通模式按大写 V特点一选就是一整行按上下键直接多选整行适用场景批量操作整段代码、连续多行复制删除、整行移动3. 块视图 Ctrl v最重要进入普通模式按 Ctrl v特点矩形列块选中不是按行流选中是竖着选一块适用场景博客必举例子批量给多行开头加注释 //批量删除每行前面多余的空格、序号批量对齐代码、批量修改竖列同一位置字符操作方法v(字符视图)假设我们想删除第一行hello czh中的hello光标移到第一行h上按v按4 次 l往右选中整个hello按d直接删完V(行视图)想一次性复制 / 删除连续好多行代码就用行视图。假设我们想删除以上5行代码的前4行光标移动到第一行的h上在首行按下V进入行视图模式连续按3下j选中4行代码按d删除ctrlv(块视图)不像字符视图只能一个一个选中也不像行视图那样只能一行一行选中块视图能精准选中任何区域进行操作假设我们把每行的hello中的he给删了该怎么操作光标移动到第一行的h上ctrlv进入块视图按1下l选中第一行的he再按4下j选中所有行的he按d删除五、一些小技巧! 最近一次命令的开头字母 再次调用以这个字母开头的最近一次命令-vim 行数 文件名 打开文件时光标锁定在我们想要指定的行数六、对vim作配置这块大家知道一下即可总结vim是新手学习linux必学的工具它极简轻量与我们之前的vscode有着明显的区别学习这些命令能让我们更快更高效的处理解决问题。

相关文章:

从劝退到离不开:Vim新手入门实战博客(附高效技巧)

文章目录前言💙一、vim是什么?💜二、为什么要学习vim?💚三、vim总览💔四、vim的基本操作4.1vim正常模式命令集(命令模式)4.2vim底行模式命令集4.3vim视图模式💗五、一些小技巧💖六、…...

先进制程EPE挑战:从系统误差到量测革命,如何驯服边缘位置误差

1. 从“理所当然”到“如履薄冰”:边缘位置误差如何成为先进制程的“隐形杀手”在半导体行业过去的黄金岁月里,工程师们有一个近乎奢侈的“共识”:芯片内部那些由光刻、刻蚀定义的特征边缘,可以被理所当然地看作是笔直且在不同工艺…...

CS Demo Manager:免费开源CS比赛录像分析工具终极指南

CS Demo Manager:免费开源CS比赛录像分析工具终极指南 【免费下载链接】cs-demo-manager Companion application for your Counter-Strike demos. 项目地址: https://gitcode.com/gh_mirrors/cs/cs-demo-manager 你是否曾想过,为什么职业选手总能…...

5个颠覆性技巧:用GanttProject开源甘特图工具让你的项目管理效率提升200%

5个颠覆性技巧:用GanttProject开源甘特图工具让你的项目管理效率提升200% 【免费下载链接】ganttproject Official GanttProject repository. 项目地址: https://gitcode.com/gh_mirrors/ga/ganttproject 你是否曾为项目延期而焦虑?是否在任务分配…...

从High-NA EUV到波长微缩:半导体光刻技术的未来路径与核心挑战

1. 从0.33 NA到High-NA EUV:我们走到了哪一步?EUV光刻技术从实验室走向大规模量产,这中间的十几年,可以说是半导体行业里最惊心动魄的技术长征之一。2018年那会儿,行业还在为EUV光源的功率能不能突破250瓦而焦虑&#…...

免费开源运动分析神器:Kinovea 完全指南

免费开源运动分析神器:Kinovea 完全指南 【免费下载链接】Kinovea Video solution for sport analysis. Capture, inspect, compare, annotate and measure technical performances. 项目地址: https://gitcode.com/gh_mirrors/ki/Kinovea Kinovea 是一款功…...

华大HC32F4A0 RS485通信避坑指南:从PCLK时钟疑惑到DMA地址偏移的完整排错记录

HC32F4A0 RS485实战:从时钟配置到DMA接收的工程化实现 调试华大半导体的HC32F4A0芯片进行RS485通信时,时钟配置、USART初始化和DMA接收这三个环节最容易出现隐蔽性问题。本文将结合具体工程案例,分享如何规避PCLK时钟分频陷阱、解决RTOF标志异…...

云原生测试工具链选型指南:面向测试从业者的专业架构与实践路径

随着云原生技术栈的深度渗透,软件测试领域正经历一场从理念到工具链的深刻变革。面对Kubernetes、微服务、Service Mesh等新型架构带来的动态性、分布性与高频变更挑战,传统的测试工具与方法论已显乏力。对于测试从业者而言,构建或选型一套适…...

运动分析革命:如何用Kinovea将视频变成精准的教练和研究员

运动分析革命:如何用Kinovea将视频变成精准的教练和研究员 【免费下载链接】Kinovea Video solution for sport analysis. Capture, inspect, compare, annotate and measure technical performances. 项目地址: https://gitcode.com/gh_mirrors/ki/Kinovea …...

面向软件测试从业者的多模态AI系统评估体系构建指南

随着人工智能技术的飞速演进,多模态AI系统正逐渐从实验室走向广泛的产业应用。这类系统能够同时处理和理解文本、图像、音频、视频等多种模态的信息,并实现跨模态的语义融合与推理。对于软件测试从业者而言,评估此类系统的复杂性远超传统单模…...

基于MCP协议的学术成果商业化AI管道:从论文到商业机会的自动化桥梁

1. 项目概述:从象牙塔到市场的自动化桥梁看到apifyforge/academic-commercialization-pipeline-mcp这个项目标题,我的第一反应是:终于有人把学术界和产业界之间那道无形的墙,用代码给砌出了一条自动化通道。这个项目本质上是一个“…...

Cursor Pro破解终极指南:开源工具cursor-free-vip实现AI编程助手永久免费使用

Cursor Pro破解终极指南:开源工具cursor-free-vip实现AI编程助手永久免费使用 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: …...

使用Helm Chart在Kubernetes部署高可用authentik身份认证中心

1. 项目概述:为什么我们需要一个身份认证的“中央厨房”?在云原生和微服务架构大行其道的今天,一个典型的应用系统可能由几十甚至上百个独立的服务组成。每个服务都需要处理用户登录、权限验证、单点登录(SSO)这些基础…...

从零到一:51单片机蓝牙遥控车实战指南(附避坑要点)

1. 项目背景与准备 作为一个非硬件专业的爱好者,我第一次接触51单片机时完全是一头雾水。记得当时因为特殊原因在家闲着,突发奇想做个蓝牙遥控车玩玩。没想到这个简单的想法,让我踩遍了新手能遇到的所有坑。现在回头看,其实用51单…...

ChatGPT开发者实战指南:从API集成到应用部署的完整资源导航

1. 项目概述:一份面向开发者的ChatGPT资源导航 如果你是一名开发者、产品经理,或者任何对AI应用构建感兴趣的技术爱好者,最近几个月肯定被ChatGPT和GPT-3相关的新闻、工具和项目刷屏了。信息爆炸带来的一个直接问题是:好东西太多…...

Illustrator脚本自动化终极指南:如何节省设计师90%重复工作时间

Illustrator脚本自动化终极指南:如何节省设计师90%重复工作时间 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts Adobe Illustrator脚本自动化是每个设计师都应该掌握的生…...

技术深度解析:5大核心要点掌握Sunshine开源游戏串流服务器实战部署

技术深度解析:5大核心要点掌握Sunshine开源游戏串流服务器实战部署 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一款功能强大的自托管开源游戏串流服务器…...

Fillinger智能填充插件:如何用3分钟完成1小时的设计工作?

Fillinger智能填充插件:如何用3分钟完成1小时的设计工作? 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 还在为Adobe Illustrator中繁琐的图案填充而头疼吗…...

如何快速解密RPG Maker加密文件:终极解密工具使用指南

如何快速解密RPG Maker加密文件:终极解密工具使用指南 【免费下载链接】RPGMakerDecrypter Tool for decrypting and extracting RPG Maker XP, VX and VX Ace encrypted archives and MV and MZ encrypted files. 项目地址: https://gitcode.com/gh_mirrors/rp/R…...

ExifToolGUI终极指南:3步掌握照片元数据批量管理工具

ExifToolGUI终极指南:3步掌握照片元数据批量管理工具 【免费下载链接】ExifToolGui A GUI for ExifTool 项目地址: https://gitcode.com/gh_mirrors/ex/ExifToolGui 你是否曾为整理数百张旅行照片而头疼?需要统一修改拍摄时间、批量添加版权信息&…...

2025届毕业生推荐的六大AI科研网站实测分析

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 一款专为院校学子以及初级科研工作者所设计的AI开题报告工具,它聚焦于开题环节的…...

IoT产品创新方法论:构建“场景 × 技术 × 数据 × 商业”的系统创新能力

目录 一、 问题与背景 二、 本文将系统讲解 三、 什么是IoT产品创新 3.1 核心定义 3.2 IoT创新的核心变化 3.3 创新的三种层级(阶梯论) 四、 IoT产品创新结构模型(核心框架) 4.1 四维创新模型(核心体系) 4.2 创新演进路径 五、 五大IoT创新方法论(核心武器库)…...

2026届学术党必备的AI写作网站实测分析

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 作为学术研究启动时核心的前置材料的开题报告,要完成文献梳理,要搭建…...

百度网盘Mac破解终极方案:解锁SVIP高速下载体验

百度网盘Mac破解终极方案:解锁SVIP高速下载体验 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 作为Mac用户,你是否曾因百度网盘…...

产品竞争策略方法论:构建“差异化 + 结构化 + 系统化”的竞争优势

目录 一、问题与背景 二、本文将系统讲解 三、产品竞争的本质与底层逻辑 3.1 竞争的本质 3.2 竞争的三层结构(必须理解) 3.3 IoT竞争的特殊性 四、IoT产品竞争结构模型(核心框架) 4.1 五层竞争模型(核心体系) 4.2 竞争演进路径 五、五大竞争策略模型(核心方法…...

Cursor AI助手Pro功能破解技术深度解析:三重防护机制与实战指南

Cursor AI助手Pro功能破解技术深度解析:三重防护机制与实战指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached…...

【Git Graph】 全解析:把Git提交历史玩明白的开发者神器

写在前面:无论是个人开发还是团队协作,Git早已是开发者的标配工具。但90%的开发者都踩过同一个Git的坑:对着命令行里密密麻麻的提交记录发呆,看不懂多分支的分叉与合并流向,想回滚版本却找不到对应的commit&#xff0c…...

Axure RP 多版本中文语言包技术解析:从键值对到专业本地化的架构演进

Axure RP 多版本中文语言包技术解析:从键值对到专业本地化的架构演进 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn …...

【AI 越强越离不开工具】:2026 年大模型开发者必备的工具链全景实战(附代码 + 架构图)

前言 目录 前言 一、核心悖论:为什么 AI 越强大,反而越依赖工具? 二、核心拆解:从 Tool 到 Skill 到 Agent,工具链的三层进化逻辑 三、2026 年 AI 工具链全景架构图 四、四大核心工具模块实战(附可直…...

项目介绍 MATLAB实现基于BMA-LSTM 贝叶斯模型平均(BMA)结合长短期记忆网络(LSTM)进行股票价格预测(含模型描述及部分示例代码)专栏近期有大量优惠 还请多多点一下关注 加油 谢谢 你

MATLAB实现基于BMA-LSTM 贝叶斯模型平均(BMA)结合长短期记忆网络(LSTM)进行股票价格预测的详细项目实例 请注意此篇内容只是一个项目介绍 更多详细内容可直接联系博主本人 或者访问对应标题的完整博客或者文档下载页面&#xf…...