一年前(我到现在还是这样),当我看ThePrimeagen使用Vim编辑器导航时,我感到非常惊叹和震撼。我也想尝试一下。但我太害怕去尝试了,我认为自己不够聪明,而且觉得学习这样一个对我的编程技能没有直接帮助的工具太费劲了。但同时,我对目前在Linux上使用的VS Code体验很不满意,自从我从Windows 11切换到Linux后,它经常在我的电脑上崩溃。几个月前,我说,去它的恐惧。至少我要试一试,看看这个能让Prime的光标像闪电一样飞速移动的是什么玩意。
直接切换到 Vim 感觉相当危险,所以我安装了 VS Code 中的 Vim 模拟器插件。前两周非常沮丧,严重影响了我手头的任务。因此,在花了大约 10-15 分钟徒劳地模仿熟练的 Vim 用户后,我会禁用插件,然后继续用原来的方法编程。接下来的两周,我每天都会经历这个过程,感觉像个彻底的笨蛋,大约持续了 15 分钟,然后继续我的日常编程,使用 Ctrl 键、方向键和鼠标进行编程。
到了第三周的末尾——我不知道是何时或如何——我突然发现自己与Vim快捷键融为一体了。十五分钟的习惯稍微延长了,只有在不知道如何查找并替换文本等情况下,我才会用回旧方法。但除此之外,我可以轻松地将光标放到想点击的地方,用Vim快捷键。感觉用这种方式浏览文本就是对的,我想要在任何地方都用上它。
我发现这个系列的文章对于解释我需要了解的所有专有名词非常有帮助。还有几位 Vim 粉丝的一些有趣演讲,让你相信 Vim 确实存在并且值得深入研究,并且值得一探究竟。
我已经学 Vim 超过一个月了。使用 Vim 进行开发工作我还没有完全自信,它仍然是不幸的 React 前端 JS/TS Node 开发。不过我已经配置好了 Neovim(当然是了),并且我用它来做我现在正在做的一个私人项目,一个 Go 命令行工具。顺便说一下,我现在失业了,所以现在全职做一个私人项目,现在全职使用 Neovim。我猜测用 NeoVim 配置前端会是个糟糕的经历,所以我完全避免使用它。
我盲目地安装了一个叫nvchad的东西,结果发现犯了一个大错。虽然感觉有点像回到了VSCode,但实际上感觉就像回到了一个有问题的VSCode。字体不对,间距和图标也没有对齐,整体感觉像是经常出故障。感觉像是在用魔法,而这正是我想要避免的。
我对给Neovim添加可爱图标、自定义字体或将其变成一个完整IDE这些行为不感兴趣。我的目标是保持简洁和轻量,避免不必要的设置,坚持Vim的核心。
我发现了这个最小配置:kickstart.nvim,这是来自Neovim社区成员TJ的一个配置,他可能是设置Neovim时被提及最多的人之一,所以很值得看看他的作品。
Kickstart的配置对我来说复杂度刚刚好,对我来说正合适。配置文件 (init.lua
) 的文档非常详尽,所以我确切地知道每个设置的作用。真是太好了!它还带有一个名为Telescope的插件,这使得在缓冲区之间切换、搜索文件、更改配色方案等等变得更加容易。(这稍微偏离了我的默认Vim哲学,但这个插件非常直观,感觉就像是内置的功能,所以我还是会继续使用它。)
对于文件导航,内置的浏览器 Netrw 已经足够好用。这里有一个不错的 快捷键指南 我找到了。我的眼睛习惯了在 VSCode 中使用 one dark 主题,为了熟悉,我也把这个主题加了上去。目前,我的目标是熟悉默认设置和功能,并尽可能避免额外的复杂性。
据我了解,学习Vim包含两个部分:1. Vim移动,2. 配置。配置本身可能需要一定的时间。我发现大多数人和可用的资源在配置上花费了太多时间,而不是实际使用编辑器并努力提高自己的技能。因此,我现在专注于Vim移动,因为这项技能不受编辑器限制(嘿!——连像Obsidian这样的笔记应用程序都有 Vim快捷键)。这项技能让编辑变得更加快乐。
学了一个月的vim,我现在能干啥了?
- 我知道如何关闭 Vim。
- 已经掌握了
hjkl
的基础之后: 现在我能够直观地使用像 `# 从害怕到熟练:我的Vim学习之路
一年前(我到现在还是这样),当我看ThePrimeagen使用Vim编辑器导航时,我感到非常惊叹和震撼。我也想尝试一下。但我太害怕去尝试了,我认为自己不够聪明,而且觉得学习这样一个对我的编程技能没有直接帮助的工具太费劲了。但同时,我对目前在Linux上使用的VS Code体验很不满意,自从我从Windows 11切换到Linux后,它经常在我的电脑上崩溃。几个月前,我说,去它的恐惧。至少我要试一试,看看这个能让Prime的光标像闪电一样飞速移动的是什么玩意。
直接切换到 Vim 感觉相当危险,所以我安装了 VS Code 中的 Vim 模拟器插件。前两周非常沮丧,严重影响了我手头的任务。因此,在花了大约 10-15 分钟徒劳地模仿熟练的 Vim 用户后,我会禁用插件,然后继续用原来的方法编程。接下来的两周,我每天都会经历这个过程,感觉像个彻底的笨蛋,大约持续了 15 分钟,然后继续我的日常编程,使用 Ctrl 键、方向键和鼠标进行编程。
到了第三周的末尾——我不知道是何时或如何——我突然发现自己与Vim快捷键融为一体了。十五分钟的习惯稍微延长了,只有在不知道如何查找并替换文本等情况下,我才会用回旧方法。但除此之外,我可以轻松地将光标放到想点击的地方,用Vim快捷键。感觉用这种方式浏览文本就是对的,我想要在任何地方都用上它。
我发现这个系列的文章对于解释我需要了解的所有专有名词非常有帮助。还有几位 Vim 粉丝的一些有趣演讲,让你相信 Vim 确实存在并且值得深入研究,并且值得一探究竟。
我已经学 Vim 超过一个月了。使用 Vim 进行开发工作我还没有完全自信,它仍然是不幸的 React 前端 JS/TS Node 开发。不过我已经配置好了 Neovim(当然是了),并且我用它来做我现在正在做的一个私人项目,一个 Go 命令行工具。顺便说一下,我现在失业了,所以现在全职做一个私人项目,现在全职使用 Neovim。我猜测用 NeoVim 配置前端会是个糟糕的经历,所以我完全避免使用它。
我盲目地安装了一个叫nvchad的东西,结果发现犯了一个大错。虽然感觉有点像回到了VSCode,但实际上感觉就像回到了一个有问题的VSCode。字体不对,间距和图标也没有对齐,整体感觉像是经常出故障。感觉像是在用魔法,而这正是我想要避免的。
我对给Neovim添加可爱图标、自定义字体或将其变成一个完整IDE这些行为不感兴趣。我的目标是保持简洁和轻量,避免不必要的设置,坚持Vim的核心。
我发现了这个最小配置:kickstart.nvim,这是来自Neovim社区成员TJ的一个配置,他可能是设置Neovim时被提及最多的人之一,所以很值得看看他的作品。
Kickstart的配置对我来说复杂度刚刚好,对我来说正合适。配置文件 (init.lua
) 的文档非常详尽,所以我确切地知道每个设置的作用。真是太好了!它还带有一个名为Telescope的插件,这使得在缓冲区之间切换、搜索文件、更改配色方案等等变得更加容易。(这稍微偏离了我的默认Vim哲学,但这个插件非常直观,感觉就像是内置的功能,所以我还是会继续使用它。)
对于文件导航,内置的浏览器 Netrw 已经足够好用。这里有一个不错的 快捷键指南 我找到了。我的眼睛习惯了在 VSCode 中使用 one dark 主题,为了熟悉,我也把这个主题加了上去。目前,我的目标是熟悉默认设置和功能,并尽可能避免额外的复杂性。
据我了解,学习Vim包含两个部分:1. Vim移动,2. 配置。配置本身可能需要一定的时间。我发现大多数人和可用的资源在配置上花费了太多时间,而不是实际使用编辑器并努力提高自己的技能。因此,我现在专注于Vim移动,因为这项技能不受编辑器限制(嘿!——连像Obsidian这样的笔记应用程序都有 Vim快捷键)。这项技能让编辑变得更加快乐。
学了一个月的vim,我现在能干啥了?
, 0
, ^
, gg
, G
, f(x)
, F(x)
, Ctrl + e
和 Ctrl + u
这些命令。
- 切换模式: 使用
i
,a
,o
和O
切换到插入模式。 - 文本编辑命令: 使用
gu
,gU
,r[x]
, 和ciw
编辑、替换和改变文本的大小写。 - 可视模式: 使用可视模式选择文本(例如
vap
,vG
,v{
)。 - 基本的查找和替换: 使用
/pattern
和%s/old/new/g
查找和替换内容。 - 复制、粘贴、删除: 使用这些命令如
yy
,dd
,p
,yaw
,yap
和daw
。 - 使用寄存器: 复制到和从特定寄存器粘贴(例如将内容复制到寄存器
a
中使用ayy
,从寄存器a
中粘贴使用ap
)。 - 使用 Netrw 管理文件: 创建和导航文件。
我的手指已经学会了这30到40个快捷键,所以现在我在写代码时,不再需要考虑移动的问题,这比一个月前好太多了。更令人惊讶的是,我没有特意去记太多快捷键(只记住了5到10个),剩下的就自然而然地掌握了。现在我已经很熟悉了,这几天我就随便看看这个快捷键表,然后就会想到:“原来是这样用的。”
总体来说,到现在为止感觉不错。一开始确实挺折磨人的——甚至有一次我还梦见自己打错了一个Vim移动命令,醒来时发现小腿抽筋得厉害。不过应该会慢慢好起来的。
共同学习,写下你的评论
评论加载中...
作者其他优质文章