趁着热度抛一个讨论话题。
在用了三个多月的windows原装版的Emacs之后, 零秒精通Emacs之Windows10上畅行无碍地使用emacs的11步骤,最后还是有点无奈的用了wsl2-gui-emacs。
一、忍痛割爱的唯一原因
最重要的原因是 windows 版本不支持 Symbolic link。日常重度使用 dired,不支持建立软连接,最终忍痛割爱,其他方面似乎都能忍受。
比如以上对bookmarks建立超链接,会报错
Symlink: ‘c:/Users/gaowei/.doom.d/bookmarks’ to ‘c:/Users/gaowei/bookmarks’ failed:
(file-error Making symbolic link Operation not permitted c:/Users/gaowei/.doom.d/bookmark)
同时,所有的linux目录中的 symbolic-link 都无效,进而导致我的导航地图bookmarks残破不全(里面各种link套link)。如果继续用这个版本,几乎必然要放弃wsl2-terminal中的linux所提供的种种便利,不再使用wsl2.
独一的原因就只有这一点,不知能否解决。以下其他对比都是碎碎念。
二、没有真正的Terminal可用
有eshell可用,常常不太灵光。有时候录制Linux的课程玩,经常会有些小故障,给后面的剪辑添加不必要的工作量。
因此,录制linux视频,不得不回到wsl2的terminal中。而只要回到Linux,就要面对symbolic-link的问题。
这个问题导致,windows与Linux始终在计算机里是各自独立的系统,不能协同工作。
也是由于没有一个真正的terminal,装不了 vterm,比如 ntop 用不了,比如想录制一个htop的视频蹭蹭流量,简直不可能。
其他碎碎念,比如只能用bash,zsh不能用。
但是,这不是核心矛盾,虽然没有terminal,但日常应用能够忍受。
三、功能正常的部分
org-babel,org-agenda等都正常水平,此处略掉不提。
四、最喜欢的部分(wsl2-gui版不能实现)
最喜欢的部分就是从 dired 中按键 M-& 执行 async-shell-comand,直接调用windows的程序打开文件,比如打开pdf.
这是真的async,打开之后,不论你怎么折腾emacs,已经打开的程序都会继续运行不受干扰。
这一点wsl2-gui版本实现不了,因为会调用linux的图形程序。作为妥协方案,我只能开着wsl2-terminal版本,专门处理用windows的程序打开某些文件。
五、最后一点是底层思维问题
用windows版本,心底里总是藏着一个“担忧”的恶魔。不论出现何种问题,都会战战兢兢的想,会不会是Windows版本不支持呢? 几乎是在压抑的大气层下,偷偷的使用linux,思维和身体都难以舒展。
琐碎的问题是需要频频在Linux与windows之间切换思维。
但是在wsl2-gui-emacs中, 披着wsl2这层虚拟机的皮,linux伸出千万只手,完全控制windows。
鉴于此,最终还是用了wsl2-gui-emacs。不知道诸位遇到了哪些难以克服的问题,或者有哪些破解良策。