我是从 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
1
ampedee 2023-05-09 16:10:17 +08:00 via iPhone 57
vim 爱好者愤怒😡点进来,满意😃离开
|
4
fds 2023-05-09 16:16:08 +08:00
标题党!
兼容的编辑器可真多。 好粉嫩…… |
5
hanswu 2023-05-09 16:18:46 +08:00 2
VsCode 上已经安装了大佬的主题,颜色没有那么的亮,并且背景又粉又紫的(很烧),目前使用很舒服
|
6
ChrisFreeMan 2023-05-09 16:21:45 +08:00 4
来不及收刀了,厚葬友军
|
7
weixiangzhe 2023-05-09 16:24:20 +08:00
着实标题党
|
8
hronro 2023-05-09 16:24:40 +08:00
Neovim is VIM.
Neovim isn't VIM. 这就是 Neovim 最棒的两个特点。 |
9
ixx 2023-05-09 16:28:29 +08:00
如果这算放弃的话那么我早就放弃了🤣
应该第三、四次换电脑的时候就不按原生 vim 了 直接用插件了 |
10
ck65 2023-05-09 16:30:24 +08:00
支持一键包,有空了试试。目前在用 [NvChad]( https://nvchad.com)。
|
11
anson0370 2023-05-09 16:34:59 +08:00
怎么办,我也有点想用 neovim 了。可我不会啊 🤣。
|
12
alfa 2023-05-09 16:39:20 +08:00 23
标题党,祝你 esc 失灵
|
13
vast0906 2023-05-09 16:45:54 +08:00
很烧,vscode 已经换上了
|
16
rzdCG 2023-05-09 16:49:39 +08:00
我就猜是 nvim 哈哈
|
20
alexsunxl 2023-05-09 16:58:39 +08:00
历史很快会再次上演。
当年 vim 干翻 vi ,估计过不了几年,nvim 要干翻 vim 了。 |
21
Huelse 2023-05-09 16:59:05 +08:00
试了下你的 vscode HardHacker 主题,light 的线条感觉不错,字体颜色能深一点就更好了
|
22
beyondgamp 2023-05-09 17:01:12 +08:00 via Android
非常不错 学习
|
23
anytk 2023-05-09 17:10:14 +08:00
说的我也有点想切 nvim 了,列入计划
|
24
zoffy 2023-05-09 17:13:06 +08:00
上个月就安装了,非常好主题,成功替换了我使用了四、五年的 Over Night Owl 主题,唯一的遗憾是 Darker 背景色还是有点亮
|
25
itskingname 2023-05-09 17:14:35 +08:00
neovim vs spacevim vs vscode
大家觉得哪个更好。 |
26
thiswind 2023-05-09 17:15:08 +08:00
neovim 不还是 vim 嘛
不过我现在用 vscode 基本替代了 vim 了,包括远程连服务器我都用 vscode 了 |
27
Snail5956 2023-05-09 17:18:20 +08:00 1
试了一会发现还是有点刺眼,还是切回我的 Noctis Azureus ,你这个和 Noctis Uva 有点像,但是字的亮度和背景对比度比较高。
|
28
air00dd 2023-05-09 17:22:58 +08:00
Vim 也在以不同方式多路径迭代👍
|
29
liuxu 2023-05-09 17:26:09 +08:00 1
没有理由不用 doom emacs
|
30
hronro 2023-05-09 17:47:41 +08:00
@skoofancy #17
你去看看 Neovim 的 commit ,他现在还在不停地 merge 上游 VIM 的改动,所以你要说 Neovim 不是 VIM ,我是不认同的 😅 |
31
fengjianxinghun 2023-05-09 17:53:17 +08:00
试了下配置,包全部得用 git clone 下来,几乎很难一次性成功,然后只能删了.local 重来
|
32
anson0370 2023-05-09 17:54:51 +08:00
@Huelse 谢谢你的建议。VSCode 的 light 版本目前算是 beta ,应该还会调整。现在 light 版的彩色都差不多卡在 4.5 对比度(也就是 WCAG AA 标准上),进一步拉高对比度(也就是要降低亮度)会进一步导致几种颜色之间的区分度下降。像粉色和紫色、蓝色和青色、蓝色和灰色之间会变的更难分清。另外也可能导致过不了色盲安全检查。
所以我就很纠结。我想可能可以对出现频率较高的其中部分颜色做一下调整。 |
33
fengjianxinghun 2023-05-09 17:55:58 +08:00
@fengjianxinghun 可以给 ensure_packer 函数加个 git 代理
|
34
hanxiV2EX 2023-05-09 18:10:43 +08:00 via Android
|
36
wellerman 2023-05-09 18:14:44 +08:00 1
不错,不过我平时主要用 emacs ,vim 的主要作用就是改 emacs 的配置和查看文件。
|
37
skoofancy OP @fengjianxinghun 有道理啊。。。我是长期开着系统代理,好像很顺滑。
|
40
Leei 2023-05-09 18:39:33 +08:00 via Android
@wellerman 用 vim 改 Emacs 的配置,老 NTR 了😂,我也喜欢这么干,特别在 Emacs 的配置出问题的时候
|
41
james122333 2023-05-09 18:54:03 +08:00
我改用 vi ,因为你现在使用的配置移植性都很差,只有该编辑器专用
还有左边档案列表虽然所有 IDE 都这样做,但其实它能做的就是少少事情 例如递迴寻找某些档案但是要排除一些删除,这种类似或其它操作无法的 现在都是 vi way |
42
Mbb38C3HtyZydTt7 2023-05-09 19:34:33 +08:00
一开始以为是从 vim 转 vscode 了,原来是用了 Neovim
另外 helix 也不错 |
43
skoofancy OP @james122333 回到用 vi 确实让我意外了。你说左侧的列表,我个人习惯来说并不是主要是用来找文件的,而是可以看到状态变化,比如文件本修改了,能够将 git 状态同步到上面,就很方便。至于查找文件有 telescope 这种更好用的插件。
|
44
duke807 2023-05-09 19:59:31 +08:00 via Android
想当年,我放弃了 神专用编辑器
一开始还没有完全放弃,但只用来给别人发来的代码转 utf8 编码,现在已经完全不用 emacs 了 |
45
alexsunxl 2023-05-09 20:02:49 +08:00
@vthe helix 插件系统还没定下来呢。rust 写的就感觉代码看的挺舒服的,还能 build 起来玩。
据说要用 wasm 搞插件系统 |
46
alexsunxl 2023-05-09 20:05:03 +08:00
@skoofancy telescope 确实太强了。杀手级插件。
加上 mason 开箱即用 lsp 。treesitter ,完全吸收了社区最牛的东西。真的是有东西。 |
47
sumu 2023-05-09 20:31:49 +08:00
推荐 AstroVim ,用了一年多了,开箱即用。如果愿意折腾,也能方便的融入自定义配置
|
48
NanFengxuan 2023-05-09 20:38:11 +08:00
谢谢 op ,已经用上了。
![vim]( https://s1.ax1x.com/2023/05/09/p9B0l9A.png) |
49
Huelse 2023-05-09 21:14:05 +08:00
@anson0370 确实比较难衡量,但可以考虑阶梯对比度,例如常量关键词->类名->方法名这样递减,当然这又增加你的工作量了😂😂
|
50
skoofancy OP @NanFengxuan 强啊,我得开足马力继续完善了。
|
51
skoofancy OP @sumu Astrovim 做得很好,我也学习了一下,致敬啊。我也想做成 AstroVim 啊(虽然重复造轮子不好),好难,得靠大家支持。
|
52
cocang 2023-05-09 21:46:01 +08:00
猛男粉配色,谁能拒绝啊
|
53
wizardyhnr 2023-05-09 22:22:09 +08:00
早切换了,忘了什么原因。neovim 其实也兼容 vimrc 格式的配置,不想折腾 copy 到 init.vim 里就行了。我现在是 nvim+tmux ,多开两个 tmux 窗口显示输出模拟 IDE 。
|
54
vhysug01 2023-05-09 22:26:30 +08:00
咨询大家个问题,用 vim 时候感觉不太方便
vscode 操作的列模式和 ctrl-D, 试了几个 vim 包,都不如 vscode 操作顺滑 |
55
james122333 2023-05-09 23:07:04 +08:00
@skoofancy
以 vi 逻辑就是写个外部脚本直接 git status 看要做什么 因为把功能留给外部实现(当然有些功能没办法 但没办法的功能都不是刚需)所以换编辑器可套用 我当初就是研究其它编辑器发现原来写的都不可用才意识到这问题 至于找档案并处理是善用本身特性可以做的 呼叫 cp mv rm tar find 等命令就可以 这用法是 vi way |
56
Sharenruma 2023-05-09 23:21:52 +08:00 via iPhone
没想过用 lazy.nvim 重新配一下插件吗?我前几天迁移完了,感觉还挺不错。
|
57
jiangzhizhou 2023-05-09 23:24:21 +08:00
我觉得像 java 这种 dependency 乱飞,micro services SOA 的用 vim 是不太方便的。
第一份工作只能 ssh 写,tmux 感觉比 vim 更加黑科技。 vs_code 越来越大起来了,感觉之后可能也变成和 jetbrain 一样 |
58
james122333 2023-05-09 23:31:07 +08:00
ide 就几个功能比较重要
查定义 查引用 重构名称 代码格式化 快速开启 全文检索 debug server 这裏面应该就重构名称和 debug server 比较麻烦 |
59
WispZhan 2023-05-09 23:36:51 +08:00 via Android
比起 neovim ,还是想等 helix 。
|
60
Kaiv2 2023-05-09 23:37:58 +08:00 1
万年 gruvbox 看习惯了。推荐下我打配置 写 java 的小伙伴可以试试我的配置 https://github.com/JavaHello/nvim
|
61
skoofancy OP @james122333 重构名称不麻烦了,除了 debug server 其他这一趴基本都是 lsp 的事情,现在都可以做得很好。debug 我认为是最大的短板比起一些 ide 。
|
62
skoofancy OP @Sharenruma 有啊,我在 readme 的插件部分标注,准备迁移到 lazy
|
63
james122333 2023-05-09 23:59:58 +08:00
|
64
maleclub 2023-05-10 00:13:43 +08:00 via Android
你个骗子!你个标题党!你个骚货!....不过我就好这口,收藏了,明天部署起来!
|
65
gugu33 2023-05-10 00:24:41 +08:00 via iPhone
按个爪
|
66
DigitalG 2023-05-10 00:29:03 +08:00
想请教一下,vim 配置(比如修改插件,重写一些 vim 回调)的一些方法。我自己也用 neovim ,也做了很多配置,全部迁移到了 lua 脚本上。经常碰到修改插件的情况,但是我大部分时间还是停留在利用 print 函数,然后看 vim 那个几行的状态栏。有没有什么方便的方法来进行调试 debug 呢?网上找了下,也没找到合适的内容。
|
67
SpiderXiantang 2023-05-10 00:43:28 +08:00 via iPhone
做了两期 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 |
68
MetroWind 2023-05-10 00:55:38 +08:00
Emacs 用户飘过~~
|
71
mattxlee 2023-05-10 01:12:44 +08:00
看了一下你的 plugins 列表,有个问题。既然已经有了 lsp 的一系列的支持,为啥还要单独安装 rust, go 的插件?
另外推荐 lazygit 。 |
72
ZeroW 2023-05-10 01:54:20 +08:00
支持,另外 lazy.nvim 和 NvChad 也很好用,可以横向对比一下
|
73
Chingim 2023-05-10 07:11:19 +08:00
@james122333 对我来说, 左边文件树还挺有用的. 我有这些高频使用场景:
1. 在某个文件夹下创建文件 2. 移动某个文件 3. 重命名文件 4. 直接打开某个路径的文件. 有时候文件名是一样的, 只是路径不同, 这种场景我不想用 telescope 来查找 |
74
ufo5260987423 2023-05-10 08:41:32 +08:00
用 lunarvim 的路过,也是 neovim 的一个配置
|
75
fortitudeZDY 2023-05-10 08:48:44 +08:00
emacs 老用户漂过,你们 vim 用户玩的 high 就好 :)
|
76
xiaket 2023-05-10 08:54:30 +08:00
翻了一下 git, 发现自己是 16 年就切到用 nvim 了...
|
77
archxm 2023-05-10 09:24:51 +08:00
放心,你会回来的。
|
78
wqzjk393 2023-05-10 09:38:02 +08:00 via iPhone
mac 终端不支持真彩色啊,这个做了优化么?
|
79
Befehishaber 2023-05-10 09:43:49 +08:00
@alfa 笑死
|
80
zhengzhongzhao 2023-05-10 09:46:37 +08:00
啥 rust 项目
|
81
akring 2023-05-10 09:53:41 +08:00
友军厚葬
|
82
itfanr 2023-05-10 09:55:28 +08:00
我以为投靠 vs code 了呢。。。
|
83
psklf 2023-05-10 10:54:02 +08:00
go/neovim
Please |
84
yangxin0 2023-05-10 11:15:29 +08:00
紫色的主题,有点晃眼睛。
|
85
freefcw 2023-05-10 11:39:54 +08:00
主题有点太骚了……vscode 下吃不消
|
86
bthulu 2023-05-10 11:49:59 +08:00
能不把所有颜色变量统一到一个配置文件里, 这样我就能搞一个粉红色的主题了
|
87
ndxxx 2023-05-10 13:06:18 +08:00
很好的分享。不过这个配色真的护眼吗,我多年体验下来开箱护眼的 theme 基本都是 solarized light 这样的配色。
|
88
Oneshu 2023-05-10 15:29:29 +08:00 via iPhone
😢喂~不是所有基佬都喜欢紫色好伐
|
90
skoofancy OP |
91
jackyxie1 2023-05-11 10:20:27 +08:00
我就想知道 github 的贴图里面的字体是什么字体
|
93
james122333 2023-05-12 21:34:28 +08:00
|
94
chancat 2023-05-14 18:34:26 +08:00 via Android
好家伙
|