🌀 鱼油のB10g

✦ 不定期更新技术随想

✦ 分享奇妙发现

📌 近期动态:

探索AI和工具使用...

拼客全栈攻防 第7.1天——功能速记

一个深度沉迷效率工具的程序猿/文字工作者/极客(根据你自己定位调整哈)。今天咱们不聊游戏,不聊新番,来聊一个让无数程序员又爱又恨、被誉为“编辑器之神”的家伙—— Vim!相信我,掌握它,你的键盘操作效率能直接起飞!✈️


一、 Vim 是什么?—— “键盘就是你的魔法杖”

想象一下:你不需要鼠标,双手永远不必离开主键盘区,就能完成所有复杂的文本编辑操作。 这就是 Vim 的核心魅力!

  • 出身名门: 它是上古神器 Vi(Visual Editor)的超级增强版 (Vi IMproved)。诞生于1991年(比很多小伙伴年纪都大了!)。
  • 核心哲学: 模态编辑(Modal Editing)。这是它区别于几乎所有现代编辑器(像 VS Code, Sublime, Notepad++) 的根本!不同模式下,同一个按键代表不同含义。
  • 为效率而生: 设计目标就是减少手指移动距离,最大化键盘操作效率。一旦熟练,编辑速度能快到让你自己都惊讶。
  • 无处不在: Linux/Mac 系统默认安装,服务器必备!你不会想在只有命令行的生产服务器上抓瞎的。
  • 高度可定制: .vimrc 配置文件 + 海量插件,能把它从简单的记事本武装成媲美 IDE 的超级编辑器(写代码、写脚本、写文档统统不在话下)。
  • 学习曲线: 没错,它陡峭!俗称 “从入门到放弃”。但一旦跨过初期门槛,你会发现它是真香!🔥

比喻: 普通编辑器像开自动挡汽车,Vim 像开手动挡赛车。手动挡起步慢,离合控制不好容易熄火(比如不知道怎么退出Vim),但一旦你会开了,那操控感和速度感是无敌的!键盘就是你的离合器、油门和方向盘。


二、 Vim 的核心模式—— “切换形态,各显神通”

理解 Vim 模式是入门的关键!就像超级英雄要切换形态打怪一样。记住:Esc 键是你强大的“形态重置”按钮!

  1. 普通模式 (Normal Mode) - “指挥官模式”

    • 进入方式: 启动 Vim 默认进入 | 在其他任何模式按 Esc
    • 核心功能: 移动光标、下达命令、执行操作。 这是 Vim 的灵魂所在!你不能直接输入文字。
    • 常用操作:
      • 移动: h(左), j(下), k(上), l(右) | w(下一个单词头), b(上一个单词头), e(单词尾) | 0(行首), $(行尾) | gg(文件头), G(文件尾) | Ctrl+f(下翻页), Ctrl+b(上翻页)。
      • 编辑命令: d(删除), y(复制/拉取), p(粘贴), c(修改), x(删除光标下字符) ... 这些命令需要配合“动作”(motion)使用,形成组合技! (这才是精髓!)
        • dd = 删除当前行
        • yy = 复制当前行
        • dw = 删除从光标到下一个单词头
        • c$ = 修改从光标到行尾(删除并进入插入模式)
        • p = 在当前行后粘贴
      • 撤销/重做: u(撤销), Ctrl + r(重做)
      • 搜索: / + 关键词 (向下搜索) | ? + 关键词 (向上搜索) | n(下一个匹配项), N(上一个匹配项)
    • 提示: 普通模式是你大部分时间所处的“思考决策”状态。你在这里规划你的操作路径。
  2. 插入模式 (Insert Mode) - “码字模式”

    • 进入方式: 在普通模式下按:i(在光标前插入), a(在光标后追加), o(在下方新行插入), O(在上方新行插入), I(在行首插入), A(在行尾追加)。
    • 核心功能: 输入和编辑文本内容。 此时键盘行为就像你熟悉的记事本或 Word。
    • 退出方式:Esc 返回普通模式。
    • 提示: 这是你“输出”的状态。大部分新手只想一直待在这里,但高手只在需要输入时才短暂进入,快速完成输入后立刻返回普通模式进行高效移动和操作。
  3. 可视模式 (Visual Mode) - “选区模式”

    • 进入方式: 普通模式下按:v(字符可视), V(行可视), Ctrl+v(块可视/列可视)。
    • 核心功能: 高亮选择文本块。 选择后,可以执行普通模式下的命令(如 d, y, c, p),操作将作用于选中的区域。
    • 退出方式:Esc 返回普通模式(或者执行完操作命令后自动退出)。
    • 提示: 当你需要精确操作某一块不规则区域的文本时(比如批量注释多行代码中间几列),可视模式(尤其是块可视)是神器!
  4. 命令行模式 (Command-line Mode / Ex Mode) - “终极奥义模式”

    • 进入方式: 普通模式下按 :
    • 核心功能: 执行更复杂的管理命令。 命令会显示在屏幕底部。
    • 常用命令:
      • :w - 保存文件 (Write)
      • :q - 退出 Vim (Quit) (如果文件有修改未保存会报错)
      • :q! - 强制退出,不保存修改!(救命稻草,也是新手噩梦)
      • :wq:x - 保存并退出
      • :e <文件名> - 打开另一个文件进行编辑 (Edit)
      • :s/old/new/ - 将当前行第一个 old 替换为 new
      • :%s/old/new/g - 将整个文件中所有 old 全局替换为 new (最常用!)
      • :set number / :set nu - 显示行号 | :set nonumber / :set nonu - 隐藏行号
      • :/搜索词 - 等同于直接在普通模式按 /
    • 退出方式: 执行完命令自动退出 | 按 Esc 取消输入的命令。
    • 提示: 这是执行“大招”的地方。文件操作、全局替换、配置开关都在这。:wq:q! 是每个 Vimer 刻在DNA里的命令。

三、 实战!—— “跟我一步步操作起来!”

光说不练假把式!假设我们有个文件 hello.txt,内容如下:

Hello, this is line 1.
Welcome to line 2.
Vim is awesome! Line 3.
Goodbye from line 4.

实战目标:

  1. 打开文件。
  2. line 2 前面加上 *
  3. line 3awesome 改成 powerful
  4. 复制 line 4
  5. 在文件末尾粘贴一份。
  6. 删除 line 1
  7. 把所有的 line 替换成 Line
  8. 保存并退出。

操作步骤(请在你的终端跟着敲):

  1. 打开文件: 终端输入 vim hello.txt (回车)。此时进入 普通模式
  2. 定位到 line 2:j 一次(从第一行移动到第二行)。
  3. 在行首插入 *
    • 确保光标在 line 2 行任意位置(因为我们要操作整行)。
    • 普通模式下按 I (大写 i)。这时进入 插入模式,光标跳到该行行首。
    • 输入 * (星号加空格)。
    • Esc 返回 普通模式。现在第二行是 * Welcome to line 2.
  4. 修改 line 3 的单词:
    • j 移动到第三行 (Vim is awesome! Line 3.)。
    • 把光标移动到 awesomea 上(可以按 w 快速移动单词)。
    • 普通模式下输入 cw (Change Word)。这会删除 awesome 并立即进入 插入模式
    • 输入 powerful
    • Esc 返回 普通模式
  5. 复制 line 4:
    • j 移动到第四行 (Goodbye from line 4.)。
    • 普通模式下按 yy (Yank Yank / 复制行)。
  6. 粘贴到文件末尾:
    • G (大写 g),跳到文件最后一行。
    • 普通模式下按 p (Paste)。会在第四行下方粘贴出新的一行。现在有五行了。
  7. 删除 line 1:
    • gg 跳到文件第一行 (Hello, this is line 1.)。
    • 普通模式下按 dd (Delete Delete)。第一行消失了。
  8. 全局替换 lineLine
    • 普通模式下按 : (冒号),进入 命令行模式。光标在底部冒号后。
    • 输入 %s/line/Line/g (回车执行)。
    • 解释: % 表示整个文件, s 表示替换 (substitute), /line/Line/ 表示把 line 替换成 Line/g 表示全局替换(一行内所有匹配项)。这个命令会把文件中所有小写的 line 替换成大写的 Line
  9. 保存并退出:
    • 还在 命令行模式 或者按 Esc 回到 普通模式 后,再按 :
    • 输入 wq (回车)。或者直接在普通模式按 Shift + zz (快速保存退出)。

最终 hello.txt 内容应该是:

* Welcome to Line 2.
Vim is powerful! Line 3.
Goodbye from Line 4.
Goodbye from Line 4.  <!-- 这是粘贴的那行 -->

恭喜你!完成了一次完整的 Vim 基础操作实战!🎉


四、 给新手的建议 & 成为 Vim 高手的路径—— “熬过阵痛期,海阔天空!”

  1. 安装与配置(可选但推荐):
    • Linux/Mac:通常自带 vim。试试 vimtutor (终端输入这个命令),官方超棒入门教程!
    • Windows: 安装 Git for Windows,它带的 Git Bash 里有 vim。或者单独安装 vim.org 的版本。
    • .vimrc 配置文件: 这是 Vim 的“修炼秘籍”。网上搜一份基础配置(比如设置行号 set number,语法高亮 syntax on),放在你的用户目录下,能让体验好很多。
  2. 学习路径:
    • 第一步:死磕 vimtutor 官方教程,30分钟带你过一遍核心操作。必须做完!
    • 第二步:强制自己用! 找个小项目或日常笔记,强迫自己只用 Vim(即使慢)。关闭鼠标!
    • 第三步:掌握核心组合: d/y/c + w/e/b/$/0/tX(找到X字符前) / fX(找到X字符)。理解操作符 (Operator) + 动作 (Motion) 的模式。
    • 第四步:活用可视模式。 v, V, Ctrl+v 在各种场景下的妙用。
    • 第五步:征服命令行模式: 熟练 :w, :q!, :wq, :%s/old/new/gc(带确认的替换),:e, :split (分屏)。
    • 第六步:探索插件(进阶): .vimrc 熟练后,用插件管理器(如 Vim-plug, Vundle)安装 NERDTree(文件树)、coc.nvim(代码补全)、fzf(模糊搜索)等神器,打造你的专属 IDE。
  3. 克服“痛点”:
    • 不知道怎么退出? 记住:Esc (确保回普通模式) -> :q! (强制退出不保存) 或 :wq (保存退出)。实在不行 Ctrl+Alt+Delete / 关终端。但别养成习惯!
    • 编辑半天忘了模式? 疯狂按 Esc 回到普通模式准没错。
    • 操作错了? u 是撤销你的好朋友!
    • 觉得慢? 坚持一周!肌肉记忆形成后速度会指数级提升。
  4. 心态: 把学习 Vim 当成玩一个硬核游戏。初期挫折感强,但每掌握一个命令/组合技,成就感巨大!它是一项值得投资的长期技能。

五、 总结—— “Vim: 效率玩家的终极浪漫”

Vim 不是最快的入门编辑器,但绝对是天花板最高、最具潜力、最让你与键盘合二为一的编辑器。它的模态编辑、组合命令哲学,代表了终极的键盘操作效率。克服了学习曲线,你会发现编辑文本、编写代码成为一种行云流水的“指尖舞蹈”。

为什么要学?

  • 提升效率: 长期看,大幅减少鼠标依赖,编辑速度快到飞起。
  • 通用技能: 服务器运维、远程开发必备,走到哪都不怕。
  • 掌控感: 完全掌控你的编辑环境,打造独一无二的生产力工具。
  • 极客范儿: 懂的都懂,键盘侠的浪漫!

所以,各位小伙伴,别再被“如何退出Vim”的梗吓到啦!勇敢迈出第一步,打开终端,输入 vimtutor,开始你的 Vim 修炼之旅吧!


一收藏关注就是最大的支持! 下期你们想看我折腾什么工具/技术?评论区告诉我!我们下期见!Peace out! ✌️

posted on 2025-06-09 06:17  鱼油YOU  阅读(54)  评论(0)    收藏  举报