5 ms·
Finally decided to try out Emacs for a couple of days. (after years of vim and Jetbrains). Vanilla Emacs without batteries included. I've found the configurati
by raincole 3y ago
Finally decided to try out Emacs for a couple of days. (after years of vim and Jetbrains). Vanilla Emacs without batteries included.
I've found the configuration is surprisingly easy to read even tho I haven't seen lisp for 10 years. I think it's atrocious that many keybindings start with <C-x>, but it's easy to set it to another key (mine is <C-j> with capslock as <C>) so not a big deal.
My biggest complain so far is that the whole ecosystem is Unix-first. People say once they get used to Emacs they almost stay in it all day long. And even as an Emacs newbie I can confidently say these people all use Unix-like systems.
On Windows magit is really slow. Like much slower than any git GUI I've seen. And while eshell is usable, it feels rather primitive and not like a proper terminal. The default spellchecker option doesn't work on Windows either, but hunspell seems ok-ish (still a bit slow).
I understand that no one is oblige to write any software for my OS, but stil...
Edit:
The reason I don't use WSL: the last time I tried it, it was really slow when a windows process read from/wrote to a file living in linux file system, and vice versa. One obvious solution is to move as many file as possible to WSL, but I'm just not mentally ready to change my workflow that much.
Edit 2:
For people who like to try Emacs, I'd suggest to turn `which-key` on and install helpful-key. It's a software with the premise that you need to learn obscure key combinations.
- ElevenLathe 3y agoI'm one of those people that stays in emacs all day, and you're right that the Windows port is basically useless on it's own. I use the emacs-w32 package from Cygwin (it is a real GUI emacs that doesn't require an X server but also integrates with the Cygwin environment) though, and that has gotten me productive on lots of corporate workstations where running desktop Linux is out of the question.
- celrod 3y agoEmacs-eat is supposed to work on windows, and may give you a faster e-shell. Note that you can use things like `pcomplete` and `eshell-syntax-highlighting` to make eshell fairly smart. The fact that my shell can use corfu and the same completion, filtering, and ordering as the rest of my emacs is great.
- User23 3y agoI hear WSL is snappier. Sadly NTFS optimizes for a completely different file usage pattern than extfs and the native win emacs has poor performance.
- pxc 3y agoI ran Emacs on Windows and used it every day for most of the past year, first natively and then in WSL. I can confirm that performance is many, many times better on WSL, in lots of ways. Unfortunately, WSL's GUI support is extremely buggy on multimonitor setups (and maybe elsewhere), so you may have to restart your Emacs session often to get window management or even just clicking around to work right.
- adamnew123456 3y agoHave MS managed to figure out window snapping for WSLg yet? From what I've heard (maybe this is dated) there are a bunch of limitations that come from them using a primitive compositor for their Wayland setup. Xpra (or even a full X server, if you don't mind losing X clients on sleep) has been a lot better on the integration front.
- komali2 3y agoI can't speak for emacs performance on windows (you surely have very good reasons to put yourself through devving on windows), but if you're a big vim user I'd highly recommend looking into evil mode, to bring vim bindings into emacs. I find emacs native key bindings kinda stupid, and modal editing to be superior. There's also full emacs config suites around this, such as spacemacs and doom, if you want to explore how they integrate vim-ness into emacs. Emacs + evil mode has been my primary text editing environment for 7 years now.
- raincole 3y agoInstalling evil mode was surely one of the first things I did :) Right after set a dark theme ofc.
- MereInterest 3y agoTo be fair, improving performance on Windows is not really a priority for GNU. From the GNU downloads page for emacs (https://www.gnu.org/software/emacs/download.html#nonfree https://www.gnu.org/software/emacs/download.html#nonfree): > To improve the use of proprietary systems is a misguided goal. Our aim, rather, is to eliminate them. We include support for some proprietary systems in GNU Emacs in the hope that running Emacs on them will give users a taste of freedom and thus lead them to free themselves.
- raincole 3y agoI fully understand GNU's ideology and I understand no one owes me an Emacs that runs smoothly on Windows. I'm just sharing my experience so far.
- eviks 3y agoSo how does the slow tasting freedom help achieve that goal?
- tshirttime 3y agoSo how does slow tasting freedom help achieve the goal? It doesn't. Stallman hand-waved the "taste of freedom" nostrum to avoid throwing away the man-years supporting emacs on Windows and Mac. The same stupid argument was made to justify the new Android port.
- aulin 3y agoEmacs runs perfectly on macos though
- isaiahg 3y agoI’ve been trying to use emacs and vim/nvim on and off for a several years now but it always seems like a task in vain. Half of it works and it’s a real pain to get something usable. I wish I could use Linux but I work in the gaming industry ina company that solely creates windows games so it’s not really an option…
- Semiapies 3y agoI've had good results with wsl2. The only thing that frustrates me is magit performance on a big project with literally twenty years of commits. (It was originally an SVN repo.)
- worthless-trash 3y agoIf magit is slow, its likely because of your filesystems performance profile with gits data structures on-disk. Source: I benchmarked git on windows and decided it wasn't worth trying to fix it.
- G3rn0ti 3y agoCould FAT be actually better than NTFS in this regard?
- worthless-trash 3y agoIt could be, however I also never tried it.
- crabbone 3y agoOn remapping C-x -> C-j: You are meant to press Ctrl with your right hand when you press C-x. Those who came up with these keybindings had this way of using in mind. If you remap it to C-j, it becomes inconvenient because you need to switch between left and right Ctrl in the middle of a chord (though, in some cases this is inevitable). Also, many keybindings are configured so that you can do both C-x (some key) and C-x C-(some key). That is you don't need to release Ctrl in the middle. But, if you change to C-j, then this becomes difficult to execute. Imagine pressing C-j C-m (or C-jm) for example. Bottom line: not a good idea. As for Windows: (I haven't used it roughly since Windows 7, and even then only in one work place that required it). How does the OS affect whether you close Emacs between sessions or not? Or is it still the case that you need to reboot Windows a lot? Also: Magit wasn't always very slow on Windows (although both Git and Magit are and were always slower on Windows, but the magnitude varied at times). As someone who used Magit long before current maintainers took over: it evolved, but not always in the ways that I would like it to. The original Magit is quite a bit less organized (internally, in the way it's coded), but it's a lot simpler and in some ways more intuitive to use. Modern Magit went through a cycle where they tried to do some performance optimizations, but then they added more features, and the performance gains were lost. Today, Magit is plagued with performance issues, and is a very complex (and a very unfriendly) program to debug: it's neigh impossible to get to the source of errors or trace the performance offenders. But, it's still better (at least on Linux) than anything else I tried by a large margin. So, I'm ranting about performance, but will keep using it anyways.
- raincole 3y ago> Imagine pressing C-j C-m (or C-jm) for example. I'm not sure what it means since I just pressed <C-j> <C-m> and I had zero issue about this. I stated in the first post that I use capslock as ctrl. > How does the OS affect whether you close Emacs between sessions or not? I didn't say that I close Emacs between sessions. I meant (I supposed) some Unix people use tools like vterm and magit so they don't even switch to another terminal app. I instead constantly switch between Emacs and Windows Terminal.
- crabbone 3y ago
- masfuerte 3y agoWindows gained support for pseudoterminals only in the last few years. I'd guess that eshell hasn't been updated to take advantage.
- 0x445442 3y agoThe reason eshell doesn’t feel like a proper terminal is because it’s a shell that doesn’t run in a terminal but in an emacs buffer. A down side is programs meant to display output in a terminal emulator won’t render properly in eshell. An up side is emacs commands meant to display output in an emacs buffer will work beautifully in eshell and the entire output will be editable.
- spit2wind 3y agoYou didn't say it was Emacs's fault, but to make the point clear to others, Magit is slow on Windows because of how Windows spawns processes: https://magit.vc/manual/magit/Microsoft-Windows-Performance.html https://magit.vc/manual/magit/Microsoft-Windows-Performance....
- stjohnswarts 3y agoWhile WSL might be "slow" relative to linux, emacs with lots of plugins is exponentially slower under standard windows. Also since emacs launches lots of processes and accesses a lot of files the windows virus scanners, including microsoft, slow things down a lot more. I don't use live virus scanning though and have my downloads folder automatically scanned and a nightly scan set up for my windows machine to avoid that.