最近工作原因主力开发环境在windows上(好吧其实还有一个原因是为了玩游戏),过去一直mac/linux/windows来回切换折腾用。
Windows下不堪忍受官方窗口版的很多命令不支持(貌似是基于msys2的?),果断放弃msys2/mingw(删干净依赖,不然会有类库污染),从头用cygwin+mintty来运行emacs29。目前发现最大的问题是clang只能用到8(编译vterm依赖的时候果断切到了gcc,竟然编过了还能正常用)。
很多依赖窗口的功能自然不能用了,好在我主要在emacs中编辑文本和orgmode。不知道Windows下放弃cygwin的朋友们踩到什么坑,我也好预警。
蛇年新春快乐!
补充一下,去年换了arm版的Mac,简直一坨答辩,增强了我用回windows的信念。在console下用是因为我对linux比较熟悉,以及长期在ssh下工作的缘故。
1 个赞
官方窗口版大概有哪些指令不支持?俺 win 下 gui 用 scoop 第三方库安装的(kiennq ),没遇到啥 bug,最大的问题就是慢,用 -nw
也慢
所以我在公司是 gui emacs 和 tui nvim 混用,nvim 插件勉强可以模拟 edit-special
、refile
、capture
之类的东西
最大的问题是bash要找替代,我不用eshell,有时候命令会用compile执行,也用ctrl+z切console,windows的local下(非ssh),大部分shell都没法和bash/zsh比,因为我的tui用法是最大可能完全模拟linux环境使用,不是用emacs实现跨平台,还是很依赖linux生态链的(比如编译的时候os识别为linux系,include unistd.h不能报错之类,所以我研究了一段时间,最终停留在cygwin上。所以问题不在emacs,而是msys2和mingw不能满足linux生态链。
另一个是tramp,因为win下配起来太折腾了,导致我到现在都没怎么用tramp,改用ssh+tui,大不了多开几个console。
cmd 都不会用怎么还能吹 windows
Windows 上我用自个 fork 的 用 PC-DCL 替代 cmd ,
自个日用的 macOS 上 elvish 0.18 简易评测 ,
BSD 上用 ksh,DOS 上用 cmd,Plan9 用 rc,OpenVMS 上用正宗 DCL,MIT ITS 上用 DDT,根本不用 zsh。
milowhisper:
另一个是tramp,因为win下配起来太折腾了,
在 Windows feature 里装了 OpenSSH Client 就能直接用,根本不折腾 (用 MSYS2 的话),wsl 的 unix shell 里也一样可以调用 windows 的 ssh.exe
milowhisper:
所以我研究了一段时间,最终停留在cygwin上。
这么整半天还是不如用 wsl,除非你打的游戏在开了 hypervisor 的 windows 里跑会崩,不然没理由不用 wsl2
不用嫌 wsl2 装的 Linux 大,用 Void Linux 之类的轻量 distro,200MB 的 roofs 就能开用。
1 个赞
@milowhisper 这是实话,没必要在 win 原生寻求 unix like,除非你像我一样又得用 win 又因为这样那样的原因不能虚拟化
考虑到你还要用它打游戏,应该是你自己的设备,那虚拟化显然是可以搞的
1 个赞
;; bash in windows
(when (file-exists-p "C:/Program Files/Git/usr/bin")
(setenv "PATH"
(concat
"C:\\Program Files\\Git\\usr\\bin" ";"
(getenv "PATH")))
(setq explicit-shell-file-name
"C:/Program Files/Git/bin/bash.exe")
(setq shell-file-name explicit-shell-file-name)
(setq explicit-bash.exe-args '("--login" "-i"))
nil)
这么设compile和M-x shell都可以用上git-bash,但我更多用eshell
-*- mode: compilation; default-directory: "~/" -*-
Compilation started at Mon Jan 27 15:47:37
$PWD
/usr/bin/bash: line 1: /c/Users/hampus/config: Is a directory
tramp我宁愿在wsl里跑。
不过native开发用native的emacs还是有必要的
现在我用gwsl,非常顺畅,以前我用cygwin,启动emacs非常慢,
最新的wsl on windows 10 支持显示图形界面了
mingoc
2025 年1 月 31 日 19:19
11
我一直用cygwin下的emacs-w32,原生的windows emacs窗口。除了有点慢,其他还挺好的。