主动放弃使用了十年的编辑器之神 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

16402 次点击
所在节点    程序员
94 条回复
james122333
2023-05-09 18:54:03 +08:00
我改用 vi ,因为你现在使用的配置移植性都很差,只有该编辑器专用
还有左边档案列表虽然所有 IDE 都这样做,但其实它能做的就是少少事情
例如递迴寻找某些档案但是要排除一些删除,这种类似或其它操作无法的
现在都是 vi way
Mbb38C3HtyZydTt7
2023-05-09 19:34:33 +08:00
一开始以为是从 vim 转 vscode 了,原来是用了 Neovim
另外 helix 也不错
skoofancy
2023-05-09 19:52:50 +08:00
@james122333 回到用 vi 确实让我意外了。你说左侧的列表,我个人习惯来说并不是主要是用来找文件的,而是可以看到状态变化,比如文件本修改了,能够将 git 状态同步到上面,就很方便。至于查找文件有 telescope 这种更好用的插件。
duke807
2023-05-09 19:59:31 +08:00
想当年,我放弃了 神专用编辑器

一开始还没有完全放弃,但只用来给别人发来的代码转 utf8 编码,现在已经完全不用 emacs 了
alexsunxl
2023-05-09 20:02:49 +08:00
@vthe helix 插件系统还没定下来呢。rust 写的就感觉代码看的挺舒服的,还能 build 起来玩。
据说要用 wasm 搞插件系统
alexsunxl
2023-05-09 20:05:03 +08:00
@skoofancy telescope 确实太强了。杀手级插件。
加上 mason 开箱即用 lsp 。treesitter ,完全吸收了社区最牛的东西。真的是有东西。
sumu
2023-05-09 20:31:49 +08:00
推荐 AstroVim ,用了一年多了,开箱即用。如果愿意折腾,也能方便的融入自定义配置
NanFengxuan
2023-05-09 20:38:11 +08:00
谢谢 op ,已经用上了。
![vim]( https://s1.ax1x.com/2023/05/09/p9B0l9A.png)
Huelse
2023-05-09 21:14:05 +08:00
@anson0370 确实比较难衡量,但可以考虑阶梯对比度,例如常量关键词->类名->方法名这样递减,当然这又增加你的工作量了😂😂
skoofancy
2023-05-09 21:39:45 +08:00
@NanFengxuan 强啊,我得开足马力继续完善了。
skoofancy
2023-05-09 21:41:54 +08:00
@sumu Astrovim 做得很好,我也学习了一下,致敬啊。我也想做成 AstroVim 啊(虽然重复造轮子不好),好难,得靠大家支持。
cocang
2023-05-09 21:46:01 +08:00
猛男粉配色,谁能拒绝啊
wizardyhnr
2023-05-09 22:22:09 +08:00
早切换了,忘了什么原因。neovim 其实也兼容 vimrc 格式的配置,不想折腾 copy 到 init.vim 里就行了。我现在是 nvim+tmux ,多开两个 tmux 窗口显示输出模拟 IDE 。
vhysug01
2023-05-09 22:26:30 +08:00
咨询大家个问题,用 vim 时候感觉不太方便
vscode 操作的列模式和 ctrl-D, 试了几个 vim 包,都不如 vscode 操作顺滑
james122333
2023-05-09 23:07:04 +08:00
@skoofancy

以 vi 逻辑就是写个外部脚本直接 git status 看要做什么
因为把功能留给外部实现(当然有些功能没办法 但没办法的功能都不是刚需)所以换编辑器可套用 我当初就是研究其它编辑器发现原来写的都不可用才意识到这问题
至于找档案并处理是善用本身特性可以做的 呼叫 cp mv rm tar find 等命令就可以 这用法是 vi way
Sharenruma
2023-05-09 23:21:52 +08:00
没想过用 lazy.nvim 重新配一下插件吗?我前几天迁移完了,感觉还挺不错。
jiangzhizhou
2023-05-09 23:24:21 +08:00
我觉得像 java 这种 dependency 乱飞,micro services SOA 的用 vim 是不太方便的。
第一份工作只能 ssh 写,tmux 感觉比 vim 更加黑科技。
vs_code 越来越大起来了,感觉之后可能也变成和 jetbrain 一样
james122333
2023-05-09 23:31:07 +08:00
ide 就几个功能比较重要
查定义 查引用 重构名称 代码格式化 快速开启 全文检索 debug server
这裏面应该就重构名称和 debug server 比较麻烦
WispZhan
2023-05-09 23:36:51 +08:00
比起 neovim ,还是想等 helix 。
Kaiv2
2023-05-09 23:37:58 +08:00
万年 gruvbox 看习惯了。推荐下我打配置 写 java 的小伙伴可以试试我的配置 https://github.com/JavaHello/nvim

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

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

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

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

© 2021 V2EX