[linux初阶][vim-gcc-gdb] OneCharter: vim编辑器

[复制链接]
发表于 2026-10-2 11:42:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

如果你刚开始在 Linux 下写 C/C++,绕不开 vim、gcc、gdb 这三件套。这篇笔记从 vim 的基础操作讲起,重点说清楚它的三种模式怎么切换、命令模式里哪些快捷键最值得先记住,以及怎么把 vim 环境配置成顺手的开发工具。对正在搭建 Linux 开发环境、做嵌入式或后端选型的工程师来说,这些基础操作直接影响日常编码效率,也是后续配合 gcc 编译、gdb 调试的前提。

核心观点

vim 是 vi 的升级版,包含了更加丰富的功能。它的学习曲线陡,核心难点不在命令多少,而在于要先建立"模式"意识——命令模式、插入模式、底行模式各司其职,切换逻辑搞清楚了,剩下的快捷键才有地方挂。

先记住模式切换,再谈快捷键

很多人第一次用 vim 会懵:为什么敲键盘没反应、为什么退不出去。原因就是 vim 打开后默认停在命令模式,你敲的字符被当成指令而不是文字。我自己踩过的坑是:进去想直接打字,结果触发了一堆操作。

三种模式的定位可以这样理解:

  • 命令模式:默认模式,用来移动光标、删除、复制、粘贴等,不能直接输入文字。
  • 插入模式:真正能打字写代码的模式,从命令模式按 i、a、o 等键进入。
  • 底行模式:用于保存、退出、查找替换等,从命令模式按 : 进入。

三种模式之间的切换关系,下面这张图说得很直观,建议对着图多练几遍形成肌肉记忆:

vim 命令模式、插入模式、底行模式三种模式之间的切换关系示意图

vim 的启动语法

启动 vim 的基本写法是:

vim [文件名]

不跟文件名就直接开一个空缓冲区,跟了文件名就打开对应文件(不存在则新建)。下面这张图是启动后的初始界面:

在终端执行 vim 文件名命令后进入 vim 编辑器的初始界面

三种模式分别长什么样

光看文字描述容易混淆,直接对照下面三张界面图来认。

命令模式是打开文件后的默认状态,此时底部一般显示文件名等信息,按键被当作命令处理:

vim 命令模式下光标停在文件内容上、底部显示文件名状态的界面

插入模式通常左下角会显示 -- INSERT --,这时敲什么就输入什么:

vim 插入模式左下角显示 INSERT 提示、可以正常输入文字的界面

底行模式在窗口最底下一行输入命令,比如 :w 保存、:q 退出:

vim 底行模式下在窗口底部输入冒号命令的状态

命令模式里先掌握这几个移动快捷键

命令模式下快捷键非常多,不建议一次全背。先记住下面几个光标定位操作,日常写代码够用一大半:

  • shift + 4:光标移动到行尾。
  • shift + 6:光标移动到行首。
  • shift + g:定位到文本末尾。
  • gg:定位到文本最开始。

这几个键位组合起来,就能在大文件里快速跳转。我的建议是先把"行首/行尾/文首/文末"四个动作练熟,再逐步扩展到删除、复制、粘贴类命令。

适用场景与选型建议

vim 适合哪些人、哪些场景,值得先想清楚再决定要不要投入时间学:

  • 服务器远程运维:Linux 服务器上默认就带 vi/vim,不用装额外编辑器,改配置文件最省事。
  • Linux 下 C/C++ 开发:配合 gcc 编译、gdb 调试,是很多嵌入式、后端项目的标准组合。
  • 不推荐新手直接上手:如果你只是偶尔改改文本、又不熟悉命令行,图形化编辑器(VS Code、Sublime 等)学习成本更低;vim 的价值在长期高频使用中才体现出来。

选型上有个常见误区:把 vim 当成"必须会"的门槛。实际上它更像一项长期投资——前期投入大,后期在远程、无图形界面的环境里回报明显。

vim 环境配置:手动不如自动

默认的 vim 用起来并不顺手,比如没有行号、缩进不智能。配置方式有两种:

  • 手动设置:每次进入 vim 后临时敲命令调整。原文明确不推荐这种方式,因为退出后就失效,下次还得重来。
  • 自动设置:把配置写进配置文件,长期生效。这是原文推荐的做法,也是实际开发中通用的方式。

具体配置项原文未展开,这里不额外编造。方向是:把常用的显示、缩进、快捷键设置固化到配置文件里,避免重复劳动。

关键信息

  • vim 是 vi 的升级版,功能更丰富,启动语法为 vim [文件名]。
  • vim 有三种模式:命令模式(默认)、插入模式、底行模式,三者可互相切换。
  • 命令模式常用定位快捷键:shift+4 行尾、shift+6 行首、shift+g 文末、gg 文首。
  • vim 环境设置分手动与自动两种,原文推荐自动设置,手动设置不推荐。

qidao123.com企服评测-应用市场 编辑提示

本文是 Linux 入门笔记的一部分,聚焦 vim 基础操作。建议边看边在终端里实操,模式切换和快捷键只有动手练才记得住。后续可衔接 gcc 编译与 gdb 调试,形成完整的开发流程。

标题:vim编辑器常用命令与.vimrc环境配置实操指南

vim 是 Linux 下绕不开的文本编辑器,很多人第一次接触就被它的模式切换劝退。这篇内容整理自一篇 Linux 初阶教程的第二部分,聚焦两件事:命令模式和底行模式里真正高频用到的操作,以及怎么把 vim 配置成顺手的 C++ 开发环境。对刚上手 Linux 服务器、需要远程改配置文件的运维和开发同学来说,这份命令清单可以直接当速查表用。

命令模式:这些按键组合我每天都在用

vim 打开文件后默认在命令模式,光标移动和大部分编辑动作都靠键盘完成,手不用离开主键区。下面这些是我自己用得最多的:

  • n + yy:复制当前行,前面加数字可以批量复制多行,比如 5yy 就是复制 5 行。
  • n + p:粘贴,同样支持批量粘贴。
  • n + dd:剪切并删除当前行,加数字批量删除,3dd 一次删三行,改配置文件时特别省事。
  • u:撤销上一步操作。手滑删错行的时候,这个键能救命。
  • n + x:删除光标后面的字符,注意是「后面」,和退格键的方向相反。
  • k / j / h / l:分别对应上、下、左、右移动光标。这四个键替代方向键,是 vim 老手的肌肉记忆。
  • shift + ~:切换光标所在字符的大小写。

顺带说一句,刚学的时候容易把 x 和 dd 混着用,前者删字符、后者删整行,删错了先按 u 再说,不用慌。

底行模式:保存退出和分屏操作

在命令模式下输入 : 就进入底行模式,这里主要处理文件级别的操作。常用的几条:

  • w:保存文件。
  • q:退出。
  • wq:保存并退出,改完配置最常敲的一条。
  • !:强制执行的修饰符,比如 q! 就是不保存强制退出。
  • set nu:显示行号。排查报错时按行号定位非常实用。
  • vs 文件名:垂直分屏打开指定文件。
  • ctrl + w(连按两下):在分屏的多个文件之间切换。

分屏这个功能在对比两份配置、或者一边看头文件一边写实现的时候很好用,比来回切窗口效率高不少。

配置 vim 环境:手动改不如直接用现成方案

vim 的所有环境设置,本质上都是写进 .vimrc 这个文件里。配置方式分两条路,一条是手动逐项添加,另一条是直接套用别人整理好的配置仓库。

vim 配置文件中手动添加设置项的编辑界面 查看 .vimrc 文件内容确认配置是否生效

手动设置(不推荐)

手动设置就是自己往 .vimrc 里一行行加配置。这种方式能完全掌控每一项,但缺点也明显:配置项多、语法要现查,新手很容易配到一半就放弃,而且换台机器还得重来一遍。

自动设置(推荐)

更省事的做法是直接用现成的配置仓库。原文给出的链接是:

https://github.com/askunix/VimForCpp

这是一个面向 C++ 开发的 vim 配置方案,克隆下来按说明执行安装脚本即可。装好之后的效果大致是这样:

VimForCpp 配置仓库的安装说明页面 应用 VimForCpp 配置后带行号和语法高亮的 vim 编辑效果

适用场景与选型建议

这套命令和配置方案适合谁?我按几类人群说一下:

  • Linux 初学者:先把命令模式那几个按键练熟,再考虑配置。配置再花哨,基础操作不熟照样卡壳。
  • 需要远程改配置的运维:服务器上未必有图形界面,vim 是保底工具,set nu 和分屏值得优先掌握。
  • C++ 开发者:VimForCpp 这类现成方案能省掉大量插件调试时间,但要注意它依赖的插件版本可能随仓库更新变化,装之前最好看一眼仓库的 issue 和最近提交时间。
  • 只想快速改个文件的临时用户:其实不必折腾配置,记住 i 进入插入模式、Esc 退出、:wq 保存退出,日常够用了。

风险提示一点:第三方 vim 配置仓库会往你的家目录写入文件和插件,如果在生产服务器上操作,建议先确认脚本内容,或者干脆在测试环境验证过再上。手动配置虽然慢,但可控性更强,取舍看你自己的场景。

关键信息

  • 命令模式高频操作:n+yy 复制、n+p 粘贴、n+dd 剪切删除、u 撤销、n+x 删字符、kjhl 移动光标、shift+~ 切换大小写。
  • 底行模式常用命令:w 保存、q 退出、wq 保存退出、! 强制执行、set nu 显示行号、vs 文件名 分屏、ctrl+w 连按两下切换分屏。
  • vim 环境配置的实质是把设置项写进 .vimrc,手动设置可控但不推荐,自动设置推荐使用 VimForCpp 仓库:https://github.com/askunix/VimForCpp。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表