编辑器进化 VSCode + Vim

本文介绍了Vim编辑器的设计哲学和功能特性,包括其独特的模式系统、简练的语法和文本操作。然后转向VSCode,讨论如何在VSCode中集成Vim的功能,以及VSCodeVim插件的使用。最后,作者提供了学习Vim的资源,鼓励读者探索Vim和VSCode结合带来的高效开发体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文作者为 360 奇舞团前端工程师

VSCode 是一款非常流行的代码编辑器。它支持多种编程语言,拥有丰富的插件和调试功能,不论是处理前端工程还是后端工程,VSCode 都能提供给开发者优秀的用户体验。

鉴于 VSCode 超高的流行度,我会默认各位使用过 VSCode,这里就不对其再多做赘述,我会着重介绍标题里的另一位主角 —— Vim。

本文会从 Vim 的设计哲学和功能特性出发,让你了解 Vim 究竟有怎样的魅力,能在 30 多年里经久不衰,成为众多用户的编辑器第一选择。之后我会回到 VSCode,聊聊如何在 VSCode 中集成 Vim 的强大能力。最后,我会给出 Vim 的学习路线,怎么样,准备好开始这场 Vim 之旅了吗?

引子

不知道大家第一次听到用到 Vim 是什么时候?对我而言,第一次用还是在大学,当时需要在 Linux 上使用 Vim 编辑一些配置文件,那时我还是是一个纯小白,对 Vim 一无所知,只是知道 Vim 是一个编辑器,进去以后我既不知道怎么输入文字,也不知道如何退出(嘿,在 Vim 里 Crtl-C 都退不出去 😂)。后面即便了解了一些基础操作,也不由得感到写起东西来费时费力,心中暗想,在命令行里写东西真是太不方便了,对那个时代程序员的 Respect 油然而生。当时的我一定想不到,我有一天会用 Vim 写一篇安利 Vim 的文章。

好了,该给大家好好介绍下 Vim 这个「老家伙」了。

「老家伙」Vim

Vim 是一款由 Bram Moolenaar 开发的文本编辑器,Vim 的名字是 Vi IMproved 的缩写,意为改进的 Vi 编辑器,于 1991 年首次发布。Vim 只有几兆的体积,但是它有着强大的文本编辑功能和高度的可定制化,有着「编辑器之神」的美誉。

Vim 确实够老了,今年 2023,它已经 32 岁了,不过这家伙还是很有活力的,最新的 Vim 9 于 2022 发布,社区也涌现除了 Neovim 这样的分支版本。另外,Vim 的用户群体也在不断扩大,Vim 的用户群体中有很多大佬,比如说 Linux 的创始人 Linus Torvalds 就是 Vim 的忠实用户。

如果你用过一些支持插件的 IDE 或编辑器,那么你一定能找到一款 Vim 插件。这不但证明了 Vim 用户群体的庞大,也证明了 Vim 的经久不衰,即使到了其他编辑器中,Vim 的操作方式依旧让大家恋恋不舍。

「专注」--- Vim 的「模式」

Vim 的哲学之一是「快速编辑文本」,这是 Vim 的核心理念,也是 Vim 的设计目标。Vim 的设计者 Bram Moolenaar 一直坚持这个哲学,他认为 Vim 的设计应该是简单的且高效的。

Vim 包含多种模式,每种模式都有不同的用途,这些模式之间可以相互切换,这也是 Vim 的核心特性。Vim 的模式粗略分为以下几种:

  • Normal 模式:用于文本编辑

  • Insert 模式:用于文本输入

  • Visual 模式:用于文本选择

  • Command 模式:用于执行命令

「模式」是 Vim 中最重要的概念,Vim 为每种模式赋予了一种场景,根据不同的场景,切换到不同的模式,让我们能够专注于当前的任务,并迅速处理。有很多人说过 Vim 的编辑模式,容易让人进入「心流」的状态,想必这就是专注的魅力。


默认情况下,Vim 会进入 Normal 模式,这时可以使用 Vim 的各种命令,比如 hjkl 移动光标,dd 删除一行,u 撤销等等。

进入 Vim 后,默认为 Normal 模式。

622e8f7dc5a9bdbd244bd239702866a9.jpeg

按下 i 进入 Insert 模式,此时可以输入文本。

26f388e42bd241e62e2570af96962334.jpeg

此时按下 Esc 键,就可以回到 Normal 模式。

「简练」--- Vim 的语法

很多人都尝试要学习过 Vimÿ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值