主动放弃使用了十年的编辑器之神 Vim

2023-05-09 16:06:37 +08:00
 skoofancy

我是从 2010 年毕业参加工作后,就一直使用 vim 作为主要开发工具,到现在 10 多年了,在公司做的项目基本都是在 vim 上完成的,中间写过一小段时间的 java 在 eclipse 上。最近一年内自己做的一些 side project 有在 vscode 上开发,所以目前我的主要开发环境是 vim + vscode (我个人电脑上安装的编辑器有 vim/neovim ,vscode ,zed ,cursor ,emacs )。

最近,我们决定做一款编辑器的主题 (Hardhacker Themes)玩玩,一款主打好看又护眼的主题,经过网友的使用,被定位成了 “骚粉” or “基佬紫” 风格 (主题链接见文末)。

作为资深的 vim 用户,我选择了做 vim 和 emacs 的主题。在做 hardhacker theme for vim 的时候,发现除了终端里的 vim ,我还需要兼容考虑 gui vim ( macvim )以及这两年的新秀 neovim 。特别是在测试 neovim 的时候,就粗略的体会到 neovim 比 vim 似乎更现代一些,比如默认支持 true color ;内置 lsp 、terminal ;配置可以采用纯 lua 编写,这一点我比较喜欢(可以和 emacs 用户一样了,无聊的时候就重构自己的配置代码玩)等等。

心动不如行动啊,就开始着手将自己 vim 的陈年老配置全部迁移到 neovim 。一次性将 vimrc 全部改写成 neovim 的 init.lua 代码,总共耗时我 4 ,5 天吧,一边学习一边迁移到 lua 。大部分的时间花在了一点点的调整、打磨每一个插件的配置,除了功能以外,想要将整个编辑器环境的风格和 Hardhacker 主题配色严格保持一致,这样出来的效果才干净、整洁,追求极致的视觉,哈哈。

看到这里,可能会觉得我标题党了一把,neovim 确实只是一个新的 vim ,本质还是 vim ,对 vim 的兼容也是很全面的,但确实有一些新的东西值得去尝试。

认认真真的花时间做了 neovim 的迁移,那就顺手把这个新的 neovim 配置给开源出来分享一下。如果你也是 vim/neovim 用户,可以考虑尝试一下,也可以一起改进、维护。

目前我也不用上班,有充足的时间可以用来维护开源项目,所以放心尝试,大胆提 issue 。

献上我们的项目链接 (两个小项目都保持持续优化,打磨)

再贴几个 Preview

16404 次点击
所在节点    程序员
94 条回复
skoofancy
2023-05-09 23:45:54 +08:00
@james122333 重构名称不麻烦了,除了 debug server 其他这一趴基本都是 lsp 的事情,现在都可以做得很好。debug 我认为是最大的短板比起一些 ide 。
skoofancy
2023-05-09 23:46:59 +08:00
@Sharenruma 有啊,我在 readme 的插件部分标注,准备迁移到 lazy
james122333
2023-05-09 23:59:58 +08:00
@skoofancy

lsp 只有在公司用过 所以重构名称要考虑 这东西有时还会抽风
maleclub
2023-05-10 00:13:43 +08:00
你个骗子!你个标题党!你个骚货!....不过我就好这口,收藏了,明天部署起来!
gugu33
2023-05-10 00:24:41 +08:00
按个爪
DigitalG
2023-05-10 00:29:03 +08:00
想请教一下,vim 配置(比如修改插件,重写一些 vim 回调)的一些方法。我自己也用 neovim ,也做了很多配置,全部迁移到了 lua 脚本上。经常碰到修改插件的情况,但是我大部分时间还是停留在利用 print 函数,然后看 vim 那个几行的状态栏。有没有什么方便的方法来进行调试 debug 呢?网上找了下,也没找到合适的内容。
SpiderXiantang
2023-05-10 00:43:28 +08:00
做了两期 neovim 的视频 大家可以参考一下 中文资源太少了
P1 从零配置 neovim 成为你的个人开发环境(100% lua) 展示功能 https://www.bilibili.com/video/BV1hP41117rt/?vd_source=5484b15558aa13a4ce6e1915ce86b31e
P2 从零配置 neovim 成为你的个人开发环境(100% lua) 基础配置+lazy.nvim+colorscheme https://www.bilibili.com/video/BV1DM41137MW/?vd_source=5484b15558aa13a4ce6e1915ce86b31e
MetroWind
2023-05-10 00:55:38 +08:00
Emacs 用户飘过~~
celestylr
2023-05-10 01:09:09 +08:00
@alfa #12 小小抬杠一下,我是 ctrl + [ 反人类党 /doge
celestylr
2023-05-10 01:12:04 +08:00
@MetroWind #68 +1
Emacs + Evil Mode 我是神用神的编辑器 /doge
mattxlee
2023-05-10 01:12:44 +08:00
看了一下你的 plugins 列表,有个问题。既然已经有了 lsp 的一系列的支持,为啥还要单独安装 rust, go 的插件?
另外推荐 lazygit 。
ZeroW
2023-05-10 01:54:20 +08:00
支持,另外 lazy.nvim 和 NvChad 也很好用,可以横向对比一下
Chingim
2023-05-10 07:11:19 +08:00
@james122333 对我来说, 左边文件树还挺有用的. 我有这些高频使用场景:
1. 在某个文件夹下创建文件
2. 移动某个文件
3. 重命名文件
4. 直接打开某个路径的文件. 有时候文件名是一样的, 只是路径不同, 这种场景我不想用 telescope 来查找
ufo5260987423
2023-05-10 08:41:32 +08:00
用 lunarvim 的路过,也是 neovim 的一个配置
fortitudeZDY
2023-05-10 08:48:44 +08:00
emacs 老用户漂过,你们 vim 用户玩的 high 就好 :)
xiaket
2023-05-10 08:54:30 +08:00
翻了一下 git, 发现自己是 16 年就切到用 nvim 了...
archxm
2023-05-10 09:24:51 +08:00
放心,你会回来的。
wqzjk393
2023-05-10 09:38:02 +08:00
mac 终端不支持真彩色啊,这个做了优化么?
Befehishaber
2023-05-10 09:43:49 +08:00
@alfa 笑死
zhengzhongzhao
2023-05-10 09:46:37 +08:00
啥 rust 项目

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/938628

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX