Vi/Vim 编辑器新手入门教程

发布于 2025-09-27 分类: Linux

Vi/Vim 编辑器:从入门到不放弃

欢迎来到 Vi/Vim 的世界!这是一个强大、高效的文本编辑器,也许和你以前用过的任何编辑器都不同。

为什么要学 Vi/Vim?

想象一下,你第一次学开车,自动挡简单易上手,而手动挡需要练习离合与换挡,感觉很麻烦。但一旦你熟练掌握了手动挡,就能体验到更强的驾驶控制感和乐趣。

Vi/Vim 就是编辑器中的“手动挡”。初学时,它纯键盘、多模式的操作会让你感到困惑,甚至想要放弃。但只要你坚持下来,就会发现它在处理文本时无与伦比的效率,尤其是在服务器上进行开发和运维工作时,Vi/Vim 是必备技能。

本教程的目标不是让你成为专家,而是带你平稳地迈出第一步,掌握最核心、最常用的功能,让你能够自信地用它完成基本的文本编辑任务。

核心思想:理解“模式”

Vi/Vim 最与众不同之处在于它有多种工作“模式”(Mode)。忘掉鼠标,忘掉“点哪里就能输入”,首先必须理解两个最基本的模式:

  1. 命令模式 (Command Mode)

    • 这是你进入 Vi/Vim 后默认所处的模式。
    • 把它想象成电视遥控器:在这个模式下,你按下的每一个键都不是为了输入文字,而是向编辑器发送一个“命令”,比如“向下移动一行”、“删除一个字符”、“保存文件”等。
    • 这是 Vi/Vim 的操作中枢。
  2. 插入模式 (Insert Mode)

    • 把它想象成连接到电脑的键盘:在这个模式下,你按下的键就是你想要输入的文字内容,和普通记事本一样。
    • 屏幕左下角通常会显示 -- INSERT ---- 插入 -- 字样作为提示。

如何切换模式?

  • 命令模式 进入 插入模式:按下 i 键 (i for insert)。
  • 插入模式 返回 命令模式:按下 Esc 键。

最重要的技巧:无论你当前在做什么,感到困惑时,多按几下 Esc。这会确保你一定返回到了安全的“命令模式”。Esc 是你的“复位键”和“主基地”。

初次上手:创建和编辑文件

让我们开始第一次实践。

  1. 打开或创建文件
    在你的终端(命令行)中输入以下命令:

    vi my_first_file.txt
    
    • 如果 my_first_file.txt 文件不存在,Vi 会为你创建一个新文件。
    • 如果文件已存在,Vi 会打开它。
  2. 进入插入模式并输入内容

    • 打开文件后,你正处于命令模式
    • 按下 i 键,注意观察屏幕左下角,应该出现了 -- INSERT -- 提示。
    • 现在你可以像在记事本里一样,自由地输入几行文字了。比如:
      你好,Vi 编辑器!
      这是我的第一个文件。
      学习新东西总是很有趣。
      
  3. 返回命令模式

    • 内容输入完毕后,按下 Esc 键。
    • 你会发现左下角的 -- INSERT -- 提示消失了。你已经回到了命令模式,准备执行命令。

保存与退出:四个关键命令

所有这些命令都需要在命令模式下输入。以冒号 : 开头的命令,输入完毕后需要按 Enter 键执行。

  • :w - 保存文件 (w for write)。
  • :q - 退出编辑器 (q for quit)。如果文件已修改但未保存,此命令会失败并提示你。
  • :wq - 保存并退出。这是最常用的命令之一。
  • :q! - 强制退出,不保存任何修改。当你把文件改乱了,想放弃所有更改时,这个命令是你的“救生筏”。

快捷方式:在命令模式下,直接按两次大写的 Z(即 ZZ),效果等同于 :wq,非常方便。

现在,用 :wq 命令保存并退出你刚刚创建的文件。

查看文件,但不编辑

有时候我们只想快速浏览文件内容,而不是编辑它。vi 当然可以做到,但有两个更方便的专用命令。

  1. cat 命令
    cat 会一次性将文件的所有内容输出到屏幕上。适合查看非常短小的文件。

    cat my_first_file.txt
    

    你会看到刚刚输入的内容,然后立刻回到命令行提示符。

  2. less 命令
    当文件很长,一屏显示不完时,less 是更好的选择。它允许你上下翻页浏览。

    less my_first_file.txt
    

    进入 less 界面后:

    • 使用 方向键 ↑ ↓j k 键逐行滚动。
    • 使用 空格键 向下翻一页。
    • q 键退出浏览。

在文件中高效移动(命令模式)

重新用 vi my_first_file.txt 打开文件。确保你处于命令模式(如果不确定,按 Esc)。以下是移动光标的常用命令,告别方向键,体验指尖如飞的感觉吧!

  • 基本移动

    • h - 左
    • j - 下
    • k - 上
    • l - 右
      (这四个键在标准指法下就在你的右手指下,熟练后比移动手去按方向键快得多)
  • 行内移动

    • ^ - 移动到当前行的行首。
    • $ - 移动到当前行的行尾。
  • 词语间移动

    • w - 移动到下一个单词的开头 (w for word)。
    • b - 移动到上一个单词的开头 (b for backward)。
  • 文件级移动

    • gg - 移动到文件的第一行。
    • G - 移动到文件的最后一行。
    • 5G - 移动到文件的第 5 行 (数字可替换)。

小技巧:在命令模式下输入 :set nu 并回车,可以显示行号,方便使用 nG 命令跳转。

基础编辑(命令模式)

编辑不仅仅是输入文字,还包括删除、修改、复制等。这些操作同样在命令模式下进行。

  • 删除

    • x - 删除光标所在的单个字符。
    • dd - 删除光标所在的整行。
    • 组合命令:Vi 的强大之处在于命令可以组合。d 是删除命令,后面可以跟一个移动命令,表示“删除从当前位置到移动目标之间的所有内容”。
      • dw - 删除一个单词 (delete word)。
      • d$ - 删除从光标到行尾的内容。
  • 撤销与重做

    • u - 撤销上一步操作 (u for undo)。你可以连续按 u 来多次撤销。
    • Ctrl + r - 重做(取消撤销)。

更进一步

我们刚刚接触的只是 Vi/Vim 的冰山一角。当你熟练掌握了以上内容后,可以去探索以下更高级的功能,它们会让你的编辑效率再次飞跃:

  • 复制 (y) 和粘贴 (p)
  • 搜索 (/) 和替换 (:%s/旧内容/新内容/g)
  • 可视模式 (v) 选择文本块
  • 多文件操作与窗口分割

你可以在网上搜索“Vim 教程”或“Vim 命令备忘单(Cheat Sheet)”来找到海量的学习资源。

本章小结

命令 功能描述
vi 文件名 打开或创建文件
Esc 从插入模式返回命令模式(你的安全键)
i 进入插入模式
:w 保存
:q 退出
:wqZZ 保存并退出
:q! 不保存强制退出
h, j, k, l 左, 下, 上, 右 移动光标
dd 删除整行
x 删除单个字符
u 撤销
cat 文件名 在终端查看小文件
less 文件名 分页查看大文件

练习时间

现在,让我们把学到的知识串联起来。

  1. vi 创建一个名为 shopping_list.txt 的新文件。
  2. 进入插入模式,输入几项购物清单,比如“苹果、牛奶、面包”。
  3. 返回命令模式,使用 :wq 保存并退出。
  4. 使用 cat 命令查看你创建的清单。
  5. 再次用 vi 打开这个文件,在命令模式下,使用 jk 键上下移动。
  6. 移动到“牛奶”那一行,用 dd 命令将其删除。
  7. 再用 u 命令撤销删除,看看“牛奶”是不是回来了。
  8. 移动到行尾,进入插入模式,添加新的物品“鸡蛋”。
  9. 最后,用 ZZ 快捷键保存并退出。

Vi 的学习曲线确实陡峭,但请保持耐心。每次使用命令行时,都强迫自己用 vi 来编辑文件,很快,这些命令就会成为你的肌肉记忆。祝你玩得开心!


-- 感谢阅读 --