《从 Vim 新手到“键圣”:我的手指进化史》

坚持用 清晰易懂的图解 + 代码语言,让每个知识点变得简单!

🚀呆头个人主页详情

🌱 呆头个人Gitee代码仓库

📌 呆头详细专栏系列

座右铭: "不患无位,患所以立。"

《从 Vim 新手到"键圣":我的手指进化史 ⌨️》

  • 前言
  • 一、vim的基本概念
    • 1.认识vim的操作键
    • 2.常用的三种模式
      • [Vim 三大核心模式详解:开发者的高效编辑指南](#Vim 三大核心模式详解:开发者的高效编辑指南)
        • [🚀 Vim 的本质:多模式编辑器](#🚀 Vim 的本质:多模式编辑器)
      • [🔥 最常用的三大模式](#🔥 最常用的三大模式)
        • [1. 命令模式(Normal Mode)------ Vim 的「战斗状态」](#1. 命令模式(Normal Mode)—— Vim 的「战斗状态」)
        • [2. 插入模式(Insert Mode)------ 真正的「编辑状态」](#2. 插入模式(Insert Mode)—— 真正的「编辑状态」)
        • [3. 底行模式(Command Mode)------ Vim 的「控制台」](#3. 底行模式(Command Mode)—— Vim 的「控制台」)
      • [🎯 为什么这样设计?](#🎯 为什么这样设计?)
      • [📌 新手常见误区](#📌 新手常见误区)
      • [🚀 快速上手指南](#🚀 快速上手指南)
    • [2.1 vim下各模式的切换](#2.1 vim下各模式的切换)
  • [🚀 Vim 高效操作手册:移动、编辑、保存一气呵成](#🚀 Vim 高效操作手册:移动、编辑、保存一气呵成)
    • [📌命令模式(Normal Mode)核心操作](#📌命令模式(Normal Mode)核心操作)
      • [1. 光标移动(手不离主键盘区)](#1. 光标移动(手不离主键盘区))
      • [2. 删除 & 剪切(删除即剪切)](#2. 删除 & 剪切(删除即剪切))
      • [3. 复制 & 粘贴](#3. 复制 & 粘贴)
      • [4. 撤销 & 重做](#4. 撤销 & 重做)
      • [5. 其他高效操作](#5. 其他高效操作)
    • [📌 底行模式(Command Mode)核心操作](#📌 底行模式(Command Mode)核心操作)
    • [🚀 Vim 高效技巧总结](#🚀 Vim 高效技巧总结)
    • [💡 终极建议](#💡 终极建议)
  • 二、vim的简单配置

前言

🚀 欢迎来到《Linux系统实战》!

这里是命令行到内核的跃迁基地,也是你从"rm -rf恐惧症"到"权限管理大师"的修炼场。

🔍 专栏特色

  • 图解+实战:用最直观的方式拆解Linux核心机制
  • 从应用到底层:覆盖Shell脚本、系统调优、内核模块开发
  • 真实场景:每篇附服务器运维/开发中的实际问题解决方案

💡 学习建议

1️⃣ 先动手尝试(搞崩了也没关系)

2️⃣ 对照文章分析原理

3️⃣ 用文末【实战任务】巩固技能

📌 Linux经典名言

"Linux不是背出来的,是在一次次Permission denied中练出来的!"

(正文开始👇)


一、vim的基本概念

1. 基本关系

  • Vi(Visual Editor):Unix/Linux 自带的经典文本编辑器,功能基础。
  • Vim(Vi IMproved):Vi 的增强版,完全兼容 Vi,并增加了大量新功能。

2. 核心区别

特性 Vi Vim(Vi Improved)
语法高亮 ❌ 不支持 ✅ 支持(代码更易读)
多窗口 ❌ 只能单文件编辑 ✅ 支持分屏、标签页编辑
脚本扩展 ❌ 无插件系统 ✅ 支持插件(如 NERDTree、YouCompleteMe)
跨平台 ❌ 仅限 Unix/Linux ✅ 支持 Windows/macOS/GUI 版本
撤销历史 ❌ 仅单次撤销 ✅ 无限撤销/重做(u / Ctrl+r

3. 为什么推荐 Vim?

  • 更智能:自动补全、错误检测、代码折叠等。
  • 更高效 :多窗口、宏录制、批量替换(:%s/old/new/g)。
  • 更美观:主题配色、状态栏提示。

4. 课堂统一用 Vim 的原因

  • 现代 Linux 系统默认安装的是 Vim(输入 vi 实际调用的是 vim)。
  • 学习 Vim 的技能完全适用于 Vi,反之则可能受限。

一句话总结

Vi 是打字机,Vim 是智能编辑器 ------ 能用 Vim 就别用 Vi!

(配图建议:Vi 和 Vim 的界面对比图,突出语法高亮和多窗口功能)

1.认识vim的操作键


2.常用的三种模式

Vim 三大核心模式详解:开发者的高效编辑指南

🚀 Vim 的本质:多模式编辑器

Vim 是一个模态(多模式)文本编辑器 ,不同模式下键盘操作的功能完全不同。这种设计让开发者可以手不离键盘完成所有编辑操作,大幅提升编码效率。


🔥 最常用的三大模式

1. 命令模式(Normal Mode)------ Vim 的「战斗状态」
  • 如何进入 :启动 Vim 默认进入,或从其他模式按 Esc
  • 核心功能
    • 光标移动h(左)、j(下)、k(上)、l(右)
    • 文本操作
      • 删除:dd(整行)、x(单个字符)
      • 复制/粘贴:yy(复制行)、p(粘贴)
      • 撤销/重做:u(撤销)、Ctrl + r(重做)
    • 高效跳转gg(文件头)、G(文件尾)、/关键词(搜索)
2. 插入模式(Insert Mode)------ 真正的「编辑状态」
  • 如何进入 :命令模式下按 i(光标前插入)、a(光标后插入)、o(新行插入)
  • 核心功能
    • 自由输入文本,像普通编辑器一样打字
    • 组合快捷键 (部分系统支持):
      • Ctrl + h 删除前一个字符
      • Ctrl + w 删除前一个单词
3. 底行模式(Command Mode)------ Vim 的「控制台」
  • 如何进入 :命令模式下按 :
  • 核心功能
    • 文件操作:w(保存)、:q(退出)、:wq(保存并退出)
    • 高级操作
      • 替换文本::%s/旧内容/新内容/g(全局替换)
      • 显示行号::set nu,取消行号::set nonu
      • 查看帮助::help modes(显示所有模式)

🎯 为什么这样设计?

  • 减少鼠标依赖:手不离键盘即可完成所有操作
  • 组合技效率 :例如 dd + p = 剪切粘贴,比鼠标拖动更快
  • 可扩展性 :通过插件(如 NERDTree)增强各模式功能

📌 新手常见误区

  1. 卡在插入模式 :习惯性一直打字,忘记按 Esc 返回命令模式
  2. 不熟悉移动命令:总用方向键(效率低,且某些终端不支持)
  3. 盲目记忆 :先掌握 iEsc:wq 即可,其他命令随用随学

🚀 快速上手指南

  1. 打开终端输入 vimtutor(官方交互教程)
  2. 强制自己 1 天不用鼠标编辑文本
  3. 配置 ~/.vimrc 开启行号(:set nu)和语法高亮(:syntax on

附:Vim 模式全家福 (输入 :help vim-modes 查看)

  • 替换模式(Replace Mode)
  • 可视模式(Visual Mode)
  • 选择模式(Select Mode)
  • 更多...

掌握这三大模式,你就能用 Vim 完成 90% 的编码工作! 🎉

2.1 vim下各模式的切换

  1. 【命令模式】切换至【插入模式】
  • 输入「i」:在当前光标处进入插入模式。
  • 输入「a」:在当前光标的后一位置进入插入模式。
  • 输入「o」:在当前光标处新起一行进入插入模式。
  1. 【命令模式】切换至【底行模式】
  • 输入「Shift+;」即可,实际上就是输入「:」。
  1. 【插入模式】或【底行模式】切换至【命令模式】
  • 插入模式或是底行模式切换至命令模式都是直接按一下「Esc」键即可。

🚀 Vim 高效操作手册:移动、编辑、保存一气呵成

Vim 的强大之处在于纯键盘操作,熟练掌握以下命令,你的编码效率将成倍提升!

📌命令模式(Normal Mode)核心操作

1. 光标移动(手不离主键盘区)

命令 功能说明 记忆技巧
h j k l 左、下、上、右移动(←↓↑→) 方向键替代
0^ 跳转到行首^ 忽略空格) ^ 像"起点"符号
$ 跳转到行尾 $ 像"结尾"符号
gg 跳转到文件开头 G o to Global
G 跳转到文件末尾 大写 G 代表全局
5G 跳转到第 5 行 数字 + G
w / e / b 单词跳转(开头/结尾/回退) w ord, e nd, back

2. 删除 & 剪切(删除即剪切)

命令 功能说明 记忆技巧
x 删除光标处字符 x 像"删除"标记
3x 删除后 3 个字符 数字 + x
dd 剪切整行(存到缓冲区) d elete dline
3dd 剪切3 行 数字 + dd

3. 复制 & 粘贴

命令 功能说明 记忆技巧
yy 复制整行 y ank yline
3yy 复制3 行 数字 + yy
p 粘贴到光标后(下一行/后字符) paste
P 粘贴到光标前(上一行/前字符) 大写 P 代表前置

4. 撤销 & 重做

命令 功能说明
u 撤销(Undo)
Ctrl + r 重做(Redo)

5. 其他高效操作

命令 功能说明
~ 切换大小写(当前字符)
cw 删除单词并进入插入模式
Ctrl + f 向下翻页(Page Down)
Ctrl + b 向上翻页(Page Up)

📌 底行模式(Command Mode)核心操作

进入方式 :先按 Esc 回到命令模式,再按 :

命令 功能说明
:w 保存文件
:q 退出 Vim(无修改时)
:q! 强制退出(不保存)
:wq 保存并退出
:set nu 显示行号
:set nonu 隐藏行号
:vs 文件名 分屏编辑(垂直分割)
:!命令 执行 Shell 命令 (如 :!ls
:%s/old/new/g 全局替换文本(old → new)

🚀 Vim 高效技巧总结

  1. 移动光标h j k l + w b gg G
  2. 删除/剪切dd x cw
  3. 复制/粘贴yy p P
  4. 撤销/重做u Ctrl + r
  5. 底行命令:wq :set nu :%s/old/new/g

💡 终极建议

每天练习 10 分钟 ,1 周后你会爱上 Vim!

禁用方向键 ,强迫自己用 h j k l 移动光标!

使用 vimtutor(终端输入命令即可进入官方教程)

记住: Vim 的学习曲线陡峭,但一旦掌握,你将永远告别鼠标拖拽! 🎯

(配图建议:Vim 快捷键思维导图 + 分屏操作示意图)

二、vim的简单配置

【配置文件的位置】

1)在目录/etc/下面,有个名为vimrc的文件,这是系统中公共的配置文件,对所有用户都有效。

2)在每个用户的主目录/home/xxx下,都可以自己建立私有的配置文件,命名为".vimrc",这是该用户私有的配置文件,仅对该用户有效。

例如,普通用户在自己的主目录下建立了".vimrc"文件后,在文件当中输入set nu指令并保存,下一次打开vim的时候就会自动显示行号。

vim的配置比较复杂,某些vim配置还需要使用插件,建议不要自己一个个去配置。比较简单的方法是直接执行以下指令(想在哪个用户下让vim配置生效,就在哪个用户下执行该指令,不推荐直接在root下执行):
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

然后等待安装配置,最后手动执行source ~/.bashrc即可。

配置完成后,像什么自动补全、行号显示以及自动缩进什么的就都有了。

相关推荐
程序员JerrySUN1 小时前
OpenCV 全解读:核心、源码结构与图像/视频渲染能力深度对比
linux·人工智能·驱动开发·opencv·计算机视觉·缓存·音视频
C++ 老炮儿的技术栈1 小时前
在vscode 如何运行a.nut 程序(Squirrel语言)
c语言·开发语言·c++·ide·vscode·算法·编辑器
wyjcxyyy2 小时前
打靶日记-RCE-labs(续)
linux·运维·服务器
Ray Song2 小时前
Linux iptables防火墙操作
linux·网络·iptables·防火墙
is08152 小时前
linux 启动流程?
linux
六点半8882 小时前
【Linux】Linux编译器-gcc/g++使用
linux·运维·服务器
穷人小水滴2 小时前
Android 运行 deno 的新方法 (3): Termux 胖喵安初
android·linux
muzi_liii2 小时前
Linux权限
linux
我才是一卓3 小时前
排查解决 nvidia-suspend 导致的 linux 系统无响应/死机问题
linux·运维·服务器