发布于 2026-01-06 0 阅读
0

隔离期间学习 Vim - 第一部分

隔离期间学习 Vim - 第一部分

哇,我已经很久没更新博客了。说实话,去年真是太难熬了。没想到今年也没好到哪里去。

总之,和大家一样,我也利用这段隔离时间提升技能,好好利用它。我正在学习一些一直想做的事情,其中​​之一就是Vim。
我看过很多Vim教程,但大多让我很困惑。比如,为什么要用命令行工具写代码?而且不用鼠标?开什么玩笑!这怎么操作啊?简直莫名其妙!

这不是一篇教程,而是我决定使用 Vim 作为我的主要文本编辑工具的故事。

集成开发环境(IDE)的问题

事实证明,如果你每天花十几个小时写代码,就会发现用鼠标其实更慢。真的非常慢。听我细细道来。如果你用的是 VSCode 或者其他任何编辑器,它们都存在一些基本问题,会让人非常恼火。

  • 你必须不断地在键盘和鼠标之间切换右手。对我来说,这大约需要 0.75 秒(这包括将手正确放置在鼠标上、移动鼠标​​的时间,以及将手切换回键盘所需的 0.5 秒)。
  • 你必须用鼠标指向屏幕上的小图标,这在凌晨 4 点 30 分对我来说实在是太难了。
  • 正常情况下,启动 IntelliJ 只需要 10 秒钟。然后就开始索引过程,这过程简直没完没了!
  • 我花很多时间通过 SSH 连接到远程服务器。通常我会同时打开至少 3 个 SSH 会话连接到不同的服务器。虽然大部分时间都是查看日志,但有时我需要编辑远程服务器上的配置文件,而nanoVim 却不在服务器上。不过,每台服务器上都安装了 Vim。所以,花时间学习 Vim 是有意义的。
  • 其他编辑器都不如 Vim 酷炫。这大概是它最大的缺点。我喜欢 Vim 简洁的界面(默认情况下,甚至连行号都不显示!)。

但为什么选择 Vim 呢?

但Vim究竟好在哪里,让我如此想学习它呢?嗯,我还没能亲身体验到它的好处,因为我才刚刚开始学习。不过,以下是我听到的一些关于它的优点:

  • 它速度很快。由于需要处理的用户界面元素少得多,所以它的速度总是比你常用的集成开发环境(IDE)要快得多。
  • 它具有高度可定制性。几乎你能想到的任何功能都有相应的插件。你在其他任何 IDE 中能做的事情,在 Vim 中也能做到,而且可能更快。
  • 由于几乎所有服务器上都安装了 Vim,您只需下载.vimrc文件,即可在任何通过 SSH 连接的机器上使用相同的 Vim 设置,然后 BOOM!您就会感觉像在家一样。
  • 你会忘记鼠标的存在。自从开始使用后,我才意识到没有鼠标/触控板我的速度有多快。
  • 另外,如果你刚开始使用 Vim,千万不要用方向键。我在很多帖子中都看到过这一点。确实如此。听我解释。切换到方向键很容易0.25s,如果你不是盲打高手(我也不是),当你回到主键位时,速度会更慢,因为你必须把手放回原来的位置。但是,如果你使用hjkl导航,你就能轻松地把手放在一个位置,享受打字的乐趣!
  • Vim 中有一些叫做动作、标签和宏的功能,它们能极大地简化我们的工作。这篇文章并不是专门介绍这些功能的,因为我还没有使用过它们,但它们确实是 Vim 使用体验的重要组成部分。或许我们可以在下一篇文章中讨论它们。

我被说服了,我们开始吧!

很高兴你决定购买了。首先安装 Vim(大多数基于 Linux 的操作系统应该已经预装了),你可以在谷歌上找到大量的教程。Install Vim on X operating system

好了,Vim 安装完毕后,我做的第一件事就是完成这个vimtutor文件。这是一个文本文件,它会引导你边阅读边编辑,从而让你了解如何使用 Vim。感觉就像在看《潘达斯奈基》的某一集。如果你需要阅读不止一遍才能掌握命令,那也没关系。

大多数命令都非常直观,想退出?:q想保存(写入)?:w想向前移动一个单词?只需按w.i进入插入模式。ciw更改单词内部。 d删除你当前所在的字符。(感谢 Amin NAIRI 在评论中指出,d实际上它会在光标移动到某个字母之前等待操作。例如diw,删除单词内部元素时,光标会停在单词的任意字母上,然后才会删除该单词。)实际上,你不需要记住这些命令,一段时间后,它们就会自然而然地流露出来,就像你在用 Vim 的语言说话一样。

好的,还有一件事。.vimrc我之前提到过一个东西,那就是 Vim 的配置文件。这意味着你对.vimrc配置文件所做的任何修改/添加的插件都可以在不同的 Vim 会话之间保留。一个好处是,这些修改/插件也可以在不同的机器上保留。你只需要将配置.vimrc文件推送到 GitHub 或其他任何可以下载的服务器。在新服务器上,只需下载你的.vimrc配置文件,你就能在新机器上拥有熟悉的配置,包括所有的语法高亮和插件。

需要安装哪些插件?

.vimrc网上有很多 Vim 插件和文件。在 GitHub 上快速搜索一下,就能找到大约 19,519 个仓库结果。这简直令人难以置信,你永远不可能全部浏览一遍.vimrc

我采取的方法是,.vimrc根据需要从头开始创建自己的 vimrc 文件,并添加插件和设置,而不是盲目地复制/使用别人的.vimrc文件。我仍然会参考其他人的 vimrc 文件,并进行一些修改,但前提是我必须理解这些修改的作用,以及它们是否真的能为我的工作流程带来价值。

目前我添加的插件有VundlerNerdTree和启用行号! :D

总之,对于感兴趣的人,我已将我的代码添加.vimrc到 Github 中,希望它能激励一些人在 2020 年及以后使用 Vim(如果我们能活过 2020 年的话)。

我的超精简版 Vim 配置

文章来源:https://dev.to/anamritraj/learning-vim-in-quarantine-part-1-2ofk