想从 neovim 转 emacs,有什么建议?

以及不修改别人的代码,也可以覆盖修改其行为。

advice 确实是非常强大好用的功能。

作为编辑器配置语言,它比 lua 要好。

lua 也有自己的优点,lua 上手比 elisp 简单太多了,2个小时就能学会 lua 不是假的。新手想要上手 hack 自己的编辑器用 lua 应该会更容易。要不然也不会有这么多配置语言用 lua 了。

如果一定要在 Windows 上,不妨试试 Git Bash?

可以试试 msys2 吧, msys2 还不用管理员权限就能安装,甚至还能在 windows 上用 zsh 和 tmux。虽然我都是直接用 wsl (很幸运公司的电脑给了管理员的权限),有的选的情况下一分钟都不想和 windows 的开发环境打交道。

不同意, Lua 从语言机制上看就有一堆毛病, 见

为什么 lua 在游戏开发中应用普遍? - 韦易笑的回答 - 知乎 https://www.zhihu.com/question/395593519/answer/2738722877

虽然 ELisp 也是半斤八两, 但是整体上看更协调一些.

用软件要追求尽可能少的自定义配置,你的目的是「用软件」,不是「配置软件」,不要因为软件提供了自定义能力就要配置的服服贴贴万事如意。

如果觉得原始配置不满意,那就找找十全大补包,Emacs 有 Doom Emacs,Vim 有一大堆:

GUI 除了 GVIM,还有好几个:

如果都不满意,你应该用 VSCode。

4 个赞

不用搬,试试 cygwin

1 我也不喜欢lua 2 试试doom emacs

我感觉不能,我个人的感觉是,emacs 比 neovim 难好多,上手了以后 debug 确实更容易,但 emacs 上手,我并不觉得是很容易的事,需要很好的耐心和阅读能力。lua 已经简单得不行了,我认为 elisp 比 lua 复杂好多。 当然我认为 lua 简单 elisp 难可能是因为用 emacs 之前我没有 lisp 基础,但已有脚本语言的基础。如果你两个基础都没有,那么谁难我也不知道。还有你用 powershell 么? 那你是 windows 平台么?windows 平台 emacs 体验不太好。

2 个赞

我主要是写 C++,我觉得动态类型语言都很糟糕,因为:

对于动态类型语言,写代码和读代码(维护代码)是两回事,动态类型语言都比较简单易学,写代码很容易,但读代码何止是痛苦、简直是痛苦。动态类型语言就适合那种写一遍就不会再看第二眼的项目。

静态类型语言与之相反,写代码有难度,读代码比较简单,当然,C 语言除外,C 语言 void* 乱飞,比动态类型语言还难读。

主要是看到 lisp 语言主打函数式编程,我认为这可能更好维护一些。 作为工具的使用者,一般不需要你自己动手开发插件,但你得改插件配置,就得读插件代码,应该选择维护性好的语言作为配置语言。

我最近倒是因为 neovide 的果冻光标特性,从 Emacs 转到 neovim 了。。。

配置语言我使用的是 fennel,配合 nfnl 插件,可以直接把 fennel 代码翻译成 lua;虽然写 lisp 时我还是会切回 Emacs,但现在我大多数开发都在 neovide 下进行了

1 个赞

其实我觉得动态语言也还好,只要你能运行起来,你用 neovim debugger 看应该也是能看懂的。elisp 插件可读性确实好,因为变量名太长了,大多数时候都可以解释它是干啥的,再配上强大的 edebugger. 我不是劝你用 neovim, 我喜欢 emacs 远甚别的什么编辑器,但我每次想想 emacs 我的上手经历,感觉也太不平滑了 。

emacs下的果冻光标和光标敲击动画, 比NeoVim丝滑。 :)

大佬的这些插件我早有耳闻,不过我个人原因,不喜欢只针对某一个软件安装特定的包(例如这个 hoyo-layer 我就要安装 epc sexpdata 等等 python 包,虽然如果用大佬的全家桶也能用上就是了),这样后续在不同电脑之间迁移配置还费劲,我个人还是更倾向于一键迁移的感觉

现在我也只能是“望洋兴叹”了 :smile:

1 个赞

emacs只会比vim/neovim更复杂。 但感觉elisp比vimscript要好很多,看到vimscript也很头痛。 但要想用好emacs,学习曲线不会比vim简单多少。

你这需要的不是emacs吧,应该是终端模拟器,emacs能做的很多,但是比nvim更复杂…从一个坑跳到另一个坑里并不是一个很明智的选择

需要跨平台 shell

需要 linux 风格的跨平台 shell,或者直白地说,zsh 不能在 windows 上用,让我很恼火。

Emacs 的学习成本远高于 NeoVim. 你需要花很长的时间才能上手 Emacs, 再花很长的时间才能用熟 Elisp ,再花很长的时间才能学会各种函数 API,再花很长的时间才能开始做真正的定制化。

然后你可能发现它性能不是很好。

6 个赞

那我只能说,双系统很好安装,用什么windows,想用的时候切回去就行,而且linux访问windows那部分数据很简单。

哈哈哈哈哈哈