18 ms·
What’s new in Emacs 28.1?
- noobermin 4y agoAn aside, but can someone explain to me the use or utility of ligatures? To be frank people who use them seem like those who change their i3 layout every few months, they seem/feel like a gimmick to me. I hope that isn't too harsh, perhaps I can be convinced they have use. Ligatures remind me of the symbols in APL. There, I can see sort of a use if your language requires it but generally in the terminal? I don't get it.
- tut-urut-utut 4y agoFinally, native compilation is part of the release. In day to day use, it provides a nice speed bust in many use cases.
- 0des 4y agoBoost
- jonnycomputer 4y agoouch!
- theredpilldeal 4y agoJust waiting for my distro to update Emacs.
- Saint_Genet 4y agoIt's actually fairly easy to build yourself. No really esoteric dependencies, and you can install it to $HOME
- jonnycomputer 4y agoYeah, but there can be various hiccups. e.g. I compiled Emacs to run on Redhat Linux. Since I wanted to compile it with --with-native-compilation flag, I had to install Redhat's developer tools to get libgccjit. These tools are installed in /opt/rh/devtoolset-10/root. An enable script is provided which modifies the LD_LIBRARY_PATH and PKG_CONFIG_PATH. After compilation, I was able to launch Emacs from my bash terminal, but only after running the enable script (i.e. sets LD_LIBRARY_PATH to the correct directory). In a fresh terminal or after logging out and logging back in, launching Emacs gives the error: emacs: error while loading shared libraries: libgccjit.so.0: cannot open shared object file: No such file or directory Moreover, launching from application menu fails. I was able to get it to launch by modifying the binaries rpath, but then emacs gave lots of libgccjit.so errors afterword, when trying to lazy compile different internal applications: error invoking gcc driver. I also tried compiling on Mac, but found myself experiencing a variety of issues that I didn't want to spend time thinking about. So I went with someone else's pre-built binaries.
- truncate 4y agoI found mac installation pretty straightforward, and works quite well. I've been using for work for few months now. brew tap d12frosted/emacs-plus brew install emacs-plus@28 --with-native-comp
- jonnycomputer 4y agoI was talking about compiling. I use macports, and refuse to use brew (for a variety of philosophical reasons) so that option wasn't available to me. I often use the binary from https://emacsformacos.com/ https://emacsformacos.com/ but afaik it hadn't supported native compilation as yet. So I found some prebuilt binaries on github.
- ta988 4y agoWhat are your issues with brew? Not starting an argument here but trying to understand better.
- epolanski 4y agoOT for this particular release, but I'd like to point out that one of the best features of emacs and its ecosystem is that plugins, libraries and software are almost always self-documenting. You want to read the documentation or delve into the implementation of a feature of your programs it is literally right there in your editor instead of having to jump to some, potentially outdated, website documentation or having to figure out where to look at things from a sterile github page. I wish that the idea of self documenation was more widespread in other ecosystems. E.g. the ecosystem I know most, JavaScript, would have this potential, but very often dependencies are compiled and there is no such self-documenting culture so best case scenario you get types you can _almost_ trust and some jsdoc that you can _almost_ trust. I guess the fact that the lisp and elisp community in particular has always cultivated this practice is the deciding factor rather than the languages itself.
- jaster 4y agoYeah emacs was a revelation for me on this regard, that the idea of "Free Software" could be more than just providing souce code and license. Emacs is actually explicitly designed to give you full power to explore, discover and modify it in order to tailor it to your needs and whims.
- epolanski 4y agoIt is actually amazing, emacs is probably the best example of a "living" program you can modify interact and debug directly while you are coding it. Obviously lisp has been designed around its REPL and debugging experience and the concept of "living programmable programs", but emacs reaches an insanely high level of business complexity, far higher than any software any of us probably writes at work and yet modifying and learning the very program you are using with the program itself is a 30+ years old solved problem that apparently ecosystems outside lisp dialects seem not to pick up.
- AlexCoventry 4y agoThis is the culture in golang, too, and it's great.
- 4y ago
- ilovecaching 4y agoIt amazes me that developers pick closed source Jetbrains and Microsoft spyware for the program they rely on to make a living when Emacs and Vim/Neovim get better by leaps and bounds every year. Emacs has packages that VSCode can only dream of having and with Emacs distributions or really just lsp-mode you can have a full fledged IDE with 0 fiddling. I recently did some digging into the editor usage of noteworthy programmers by going through interviews (usesthis.com was a great resource) and found that 99% of programmers whose names are recognizable are still using Vim/Emacs. Clearly these tools are not holding anyone back from doing great things. Edit: Just yesterday HN was overtly critical of Warp for being a proprietary, closed source, telemetry laden terminal, but they’ll suddenly lose their morals when it comes to text editing over perceived conveniences of an IDE vs. a “text editor” with LSP. The point of Vim/Emacs isn’t just that they are good editors. It is also you voting with your installs and money for free and open source tools. You already reap the benefits of the Linux ecosystem, the least you can do is help out by picking a FOSS editor.
- joe_fishfish 4y agoGood luck writing an iOS app in emacs. (Well, good luck writing one in Xcode, for that matter.)
- jonnycomputer 4y agoWith 0 fiddling? not my experience at all. has something changed? I use Emacs for lots of things, but I've long since changed to Pycharm for Python programming. That's been close to 0 fiddling for real. Its been pretty good for JS programming too.
- zozbot234 4y agoDoes Emacs ship with LSP support out of the box? They've had a habit in the past of ignoring similar features that were arbitrarily perceived as "proprietary" or not open enough.
- jaster 4y agoDon't think out of the box, but https://github.com/emacs-lsp/lsp-mode https://github.com/emacs-lsp/lsp-mode works rather well with emacs 28 from my experience. Emacs "distros" such as Spacemacs and Doomemacs both make using it a nearly "out of the box" experience. (not supporting the editor/ide war troll, just trying to contribute some useful info here)
- gjvc 4y agoThe native compilation part is the highlight. Could someone who knows about these things explain the difficulty Debian has in getting emacs 28 in -unstable ? (currently on 27 according to https://packages.debian.org/unstable/emacs https://packages.debian.org/unstable/emacs)
- AlexCoventry 4y agoFWIW, emacs is extremely easy to build from source.
- gjvc 4y agoit is, and i do, but i got bored of doing that a few years ago, and prefer to use 100% packaged stuff.
- WhatIsDukkha 4y agoapt install guix :) This gives you guix "FD" and its great on top of debian for emacs especially (and you can move a lot of your emacs packages into guix as well). The apt packages handles most of this but its good to follow along a little - https://guix.gnu.org/en/manual/devel/en/html_node/Installation.html#Installation https://guix.gnu.org/en/manual/devel/en/html_node/Installati...
- gjvc 4y agothank you! I will try this now and let you know... very helpful.
- JNRowe 4y agoIt has only just been released. You can compare the release dates¹ to the package dates² to see how long it tends to take to be packaged and migrate. ¹ https://www.emacswiki.org/emacs/EmacsReleaseDates https://www.emacswiki.org/emacs/EmacsReleaseDates ² https://tracker.debian.org/pkg/emacs https://tracker.debian.org/pkg/emacs
- rayiner 4y agoI was an Emacs user back in my software writing days, but I thought I had left it behind when I became a lawyer. Over the past month or two however I’ve moved more and more of my workflow over to Emacs. I started with using Org Mode and PDF tools for note taking and reviewing PDFs and task management: https://news.ycombinator.com/item?id=30492373 https://news.ycombinator.com/item?id=30492373. More recently I switched my email over to mu4e: https://www.emacswiki.org/emacs/mu4e https://www.emacswiki.org/emacs/mu4e. Unfortunately I can’t get it to interface properly with Office 365, which has heavily locked down POP/SMTP. So I used a couple of Power Automate flows to store incoming emails into a maildir format directory in OneDrive, which I then read from mu4e: https://en.wikipedia.org/wiki/Maildir https://en.wikipedia.org/wiki/Maildir. I also use Power Automate flows to grab my calendar and store it to Org files, and watch for queued emails and send send them. Power Automate is just about the worst programming environment ever devised, but because UNIX systems like RFC 2822 (email) and maildir are so simple it didn’t take much fiddling at all! Ironically, writing a bit of glue to get everything into Emacs offers better integration between email, calendar, todos, and notes, than just using Office 365’s own tools. After trying a ton of web/electron based tools for these purposes, going back to Emacs makes me think of this scene from Star Wars: https://m.youtube.com/watch?v=7hb8AYnRb-4 https://m.youtube.com/watch?v=7hb8AYnRb-4 I’m using the Emacs 28.1 test release on Windows and the Emacs-Mac Port on Mac: https://bitbucket.org/mituharu/emacs-mac/src/master/ https://bitbucket.org/mituharu/emacs-mac/src/master/. The latter has nice features like double buffering that make Emacs, while not modern feeling, quite presentable. For such a huge change, the elisp native compilation works extremely nicely with every package I’ve thrown at it. Totally stable and ready for prime time.
- iib 4y agoYou may want to try using DavMail [1] for interfacing with Outlook. It is a reverse-proxy for email, so it talks to Outlook, and then mu4e can talk to DavMail directly. [1] http://davmail.sourceforge.net/ http://davmail.sourceforge.net/
- rayiner 4y agoHow the hell did they break email? You need a browser with JS to log into your email server?
- klik99 4y ago> Adding right-click context menus is a natural extension to Emacs’s already-extensive support for the mouse (even if a lot of people don’t use it.) If emacs could support plan9 acme-style chords with custom commands then I'd probably use the mouse a lot more in it - acme convinced me that mousing around can be just as fast as being on the keyboard if the UX is well designed.
- chrisfinazzo 4y agoIs mouse-mouse enabled by default? Can the insertion point be moved by clicking in a particular location? As of recent versions of macOS, emacs isn't included by default. Last I tried, in terminal-mode emacs, the answer to the above questions seems to be no - with no reasonable explanation why this is the case. I'm more than willing to do everything else from the keyboard, but these are basic oversights that have yet to be corrected. EDIT: Is mouse-tracking actually the feature that enables this behavior?
- jaster 4y agoemacs "gui" perfectly supports the mouse out of the box. For use in a terminal (after using both for some time, I find the gui version better tbh), see https://www.gnu.org/software/emacs/manual/html_node/emacs/Text_002dOnly-Mouse.html https://www.gnu.org/software/emacs/manual/html_node/emacs/Te...
- ghosty141 4y agoI personally think GUI mode is simply better. There is no real advantage to running emacs in a terminal imo.
- spudlyo 4y agoHard disagree. Sometimes the terminal is the most efficient way to run Emacs on a machine in a remote data center that has a mountain of CPUs, GPUs, memory, and disk. TRAMP can be slow and inefficient. A LSP server process on a huge monorepo can chew up a large amount of memory and CPU on startup. Running all of this stuff locally on the actual hardware your code needs to run on is great.
- jaster 4y agoI have been testing Emacs 28 for a few weeks now, as it was reported to improve performance on LSP integration (which was sometimes sluggish for me with rust). I have to say I wasn't disappointed. It's now comparatively blazingly fast. I hugely recommend to give it a try if you work in emacs with LSP. Since my distro had not packaged it yet, I installed it from guix instead (package `emacs-next`). It worked like a charm.
- jonnycomputer 4y agoemacs-next is how you installed lsp? I tried installing a lsp package at some point, but I couldn't figure out if it was actually doing anything over and above the language major modes. Not sure if it was actually doing anything at all actually.
- jaster 4y agoSorry, to clarify: I used the package `emacs-next` from guix to install emacs 28. You still need to install and configure emacs-lsp along with the LSP backend(s) you want to use. I'm currently using the doom-emacs "emacs distro" (https://github.com/hlissner/doom-emacs https://github.com/hlissner/doom-emacs), so doom is taking charge of setting up emacs-lsp for me.
- jonnycomputer 4y agoThank you for that. I haven't really checked out any of these distros (doom, prelude, etc.), but maybe I should. One of the issues I have is that I work on multiple disconnected servers, and so I usually end up installing emacs on all of them. Using tramp is an option, but often times I just want a local editor because I find myself needing one in the context I'm working in. But all the servers run slightly different OS versions, etc. Maybe a mangaged-for-me distribution that does most everything I want without me fiddling with it is the way to go.
- jaster 4y agoFor me it was worked relatively well. I track my config in a git repo, and doom-emacs is rather helpful on what external tools must be installed for various configuration "layers" (like when working with such and such language). When using LSP, it can even proposes to install an appropriate language server in some cases.
- latticed-mood 4y ago
- rcconf 4y agoI miss Emacs, but I moved to Visual Studio Code. I used Emacs for over 8 years so releases like this use to make me so happy. On the bright side, I still use Emacs bindings in Visual Studio Code. Maybe I should spin up Emacs again and give it another shot on my new M1 (maybe it can do the auto complete stuff faster now.)
- deagle50 4y agoYes you should! `brew install d12frosted/emacs-plus/emacs-plus@29 --with-native-comp --with-no-frame-refocus` is easy as pie and gets you the latest build with native comp and smooth trackpad scrolling.
- R0flcopt3r 4y agoCan confirm, I run this on my M1 works great!
- JHonaker 4y agoThe worst part about Emacs is the bindings. :D The reason I'll never leave Emacs is that if I want to change something, I can. It doesn't really matter what it is. This might be technically true in something like VS Code (although Atom was much easier in this regard), but it takes a lot more effort and scaffolding to do something like write a single function and bind it to a keymap in VS Code.
- jonpalmisc 4y agoOne of the best parts is the bindings! They are present in most shells/terminals, GNU readline-based programs, and even native macOS text field. If you're in a terminal or using a terminal-based program, there's a good chance pressing any of the core Emacs keybindings does what you expect it to.
- patrick451 4y agoIt's probably largely just habit at this point, but the keybindings are a big part of what keep me with emacs. I honestly have no idea how people navigate text/code with default windows keybindings. That they work by default in many other contexts is a really nice bonus. Most emacs binding emulation modes I've seen for other editors don't support even basic things like "C-<space> C-n C-w", which is basically a non-starter for me.
- matthews2 4y agoThank you to everyone that contributed to Emacs for another great release :) (also thank you Mickey for explaining all the changes!)
- gspr 4y agoKnowledgeable Emacs folks in this thread: Does anyone know the status of Wayland-native Emacs? It's my last X/XWayland application, and it looks terrible on high-DPI displays.
- rurban 4y agoUsing it on fedora and ubuntu fine with the pgtk branch for several months, and this is stable IMHO. global line number mode wasn't stable, and resizing fails to repaint the new parts. killing openened processes (ediff-buffers) can still crash emacs. 29.0.50 is better though. The latest pgtk cleanups just came in the last days from Po Lu. as of today's master on ubuntu latest: Ran 6194 tests, 6064 results as expected, 11 unexpected, 119 skipped 7 files contained unexpected results: src/fns-tests.log src/casefiddle-tests.log lisp/time-stamp-tests.log lisp/subr-tests.log lisp/help-fns-tests.log lisp/eshell/esh-var-tests.log lisp/bookmark-tests.log
- NeutralForest 4y agoThe pure GTK branch has been merged into master and I use right now with KDE (and Wayland). I had to adjust the font size but other than that, I didn't meet any issue.
- gspr 4y agoThat's amazing news! Does that mean one can expect this feature in Emacs 29? Edit: I just noticed that LWN has a news entry that explains just this – https://lwn.net/Articles/890405/ https://lwn.net/Articles/890405/ (short answer: yes).
- NeutralForest 4y agoJust like you said indeed!
- JanisErdmanis 4y agoThis was the main reason I built emacs 28 from source on Ubuntu about 3 months ago. Sadly Ubuntu 22.04 still sticks with emacs 27.1 :(
- NeutralForest 4y agoI've been using Emacs for 2/3 years now, especially to take notes. It's been a bit difficult at the beginning but I really enjoy it now, it's provided many features I needed to organize my thoughts.
- jonpalmisc 4y agoI almost wish I never tried Emacs. Ignorance is bliss, and Emacs ruined all other text editors for me. There are absolutely areas that others do better, but the self-documenting “living program” nature is too much to give up; everything you ever need to know or do is a few keystrokes away.
- FR10 4y agoIndeed, I started with VIM when I was in uni and things were kinda slow. After a few weeks/months I was very happy with it and it truly felt as a productivty booster. (I switched between VSCode with vim keybindings and Neovim). Then, for last year's AoC I wanted to explore Lisp, so after weeks of trying out sbcl and running it thru the terminal I finally tried Doom Emacs. And for me too, its been a journey, its a "text editor" that truly exemplifies what a good 40yo+ piece of software should be.
- karencarits 4y agoHow did you approach Emacs to make it such a valuable tool? I have tried to get started with Emacs a few times but the initial resistance has been too large
- jonpalmisc 4y agoWhat parts did you find difficult? When I first started, I found the keybindings odd, but now I love them since the core set of shortcuts—C-a, C-e, C-f, etc.—work "everywhere" from the terminal, to GNU readline-based programs, to even native macOS text boxes. If you don't like the default keybindings, you can change them or use the Evil package [0] for Vim bindings. If you want to get up and running quickly, I'd check out Doom Emacs [1] which is easier to configure and takes care of a lot of configuration for you. I personally use a reasonably-minimal config I wrote myself [2]. If you like to tinker, I'd recommend writing your own config, as it will also teach you a lot about Emacs. If you have any questions feel free to reach out—contact info in my profile. [0] https://github.com/emacs-evil/evil https://github.com/emacs-evil/evil [1] https://github.com/hlissner/doom-emacs https://github.com/hlissner/doom-emacs [2] https://github.com/jonpalmisc/.emacs.d/blob/master/init.el https://github.com/jonpalmisc/.emacs.d/blob/master/init.el
- kovek 4y agoI always like to ask: Has the pixel-scrolling story gotten better on Emacs? I like how I can scroll smoothly on Visual Studio Code.
- emacs28 4y agoIn addition to the native pixel-scroll-precision-mode in Emacs 29, there's also a MELPA package called good-scroll which implements pixel-wise scrolling for other emacs versions also.
- AlanYx 4y agopixel-scroll-precision-mode is in the mainline (Emacs 29), but didn't make it into Emacs 28. If you're on a Mac, the railwaycat port has the equivalent already.
- Jim_Heckler 4y agoNot sure if it's included in 28.1, but its been overhauled on master. https://youtube.com/watch?v=LNK1DnPOqms https://youtube.com/watch?v=LNK1DnPOqms
- ghosty141 4y agoIts sadly not, I believe it will be included in version 29
- deagle50 4y agod12frosted/emacs-plus/emacs-plus@29 on Homebrew is my fav way to install master on a Mac. Trackpad scrolling is smooth even at 120hz.
- yxhuvud 4y ago> If you’re using projectile or something else, start switching over; this is the new default target for all other integrations It is pretty sweet something like this is getting built in, but I have not found a replacement for 'with-project-root from the (now seemingly missing) project-root package. edit: Oh, they also add a new 'with-existing-directory' macro that should be easy to compile to do the same thing. sweet.
- dv35z 4y agoI’m interested in emacs / org-mode / org-roam. My goal is to have a local notes solution (replacing Obsidian, Apple Notes), and have the notes automatically published on the web as a crosslinked personal knowledge base. I have somewhat achieved this with Obsidian/markdown files + git + Hugo + Render. I write stuff. Check it into git. Push, and it deploys as a website. Feel pretty good about cobbling that together. But Obsidian/markdown is tough to replicate the cross-link nature & ease or use of a wiki, and it still doesn’t help out with Task, calendar, etc. I’ve taken a couple swings at setting up Emacs… oof, but as a newbie to the ecosystem, but frankly its just been tough to plow through. Each guide/tutorial seems to have a whole different set of packages, settings, etc; then we get into Doom emacs, etc. I’ve got keyboard shortcuts printed out - but I still end up in weird jams where Emacs has opened up 3+ panes (buffers), and I can’t figure how to even close/quit them. Truly, it reminds me of when I jumped head first in the Java ecosystem, trying to figure out (1) java, (2) intelliJ, (3) Spring boot. Too many simultaneous brain battles… What I’m hoping to find is a “Zero to Functioning personal information system (notes, todo, contacts, calendar, kb)” guide. I suppose, written for a willing & motivated newb? From reddit, online tutorials, walkthru videos - it SEEMS the pieces are out there. But I’m hoping to find the guy who figured this all out a year ago, documented a functional-but-opinionated stack / workflow, and I could follow that for awhile (as training wheels). Can anyone suggest something like this? I’d be even be willing to pair up with someone and document/publish this, if it doesn’t exist. I mentioned it on another Emacs HN thread: I’m convinced of the power of this stack, but I’m hoping someone does the “Unix —> NeXT -> MacOS”, and puts together the Easy Button of this. For example, my brother is writing a book - he’s not super technical but can get around. I can tell that he would benefit from this system - but I can’t fairly recommend it, because hell - I haven’t been able to coherently get it to work, and doubting he would want to be modifying init files and all that. Hoping this plea for Emacs help reaches a previously frustrated newbie who figured it out, who can help me out (and others). Thanks!
- oedo 4y ago> local notes solution ... published on the web ... crosslinked Definitely a lot of ways to go about this. If you haven't already, I'd suggest checking out what the creator of org-roam does for publishing his own notes: https://github.com/jethrokuan/braindump https://github.com/jethrokuan/braindump It works quite well, and might be exactly what you want as far as publishing goes. > end up in weird jams where Emacs has opened up 3+ panes (buffers), and I can’t figure how to even close/quit them Typically 'q' will close Doom's popup windows (+popup/quit-window), otherwise you should be able use plain ol' Emacs 'C-x k' or Doom's '<leader> b k' (also 'b d') to kill a buffer. If you actually want to keep the buffers, and you just want the windows out of the way, you can use winner-undo / winner-redo to cycle through past window configurations. > bottom-up guide for personal information systems AFAIK, this does not exist. But there is, I'm sure you've seen, a variety of independent users continually working out interesting new ways to process and link information using Emacs. For example, outside of bloggers in the Roam/Zettelkasten camp, you can always glean insights from John Kitchen's work [0][1], although it leans more towards research/academic use than PIM/PKM. > my brother is writing a book - he’s not super technical but can get around If it's technical/academic writing, you can honestly get astonishingly far just using org-mode's LaTeX export. [0] https://kitchingroup.cheme.cmu.edu/ https://kitchingroup.cheme.cmu.edu/ [1] https://github.com/jkitchin https://github.com/jkitchin
- kidsil 4y agoOnly thing I'm missing from Emacs is the ability to completely freeze all packages and configs. As soon as I feel like everything is stable and great, it decides to update 180 packages while I'm trying to edit a file and destroys something in my setup. If anyone knows a way to prevent all updates and "freeze" a version that would be excellent.
- NateEag 4y agoThat's weird. I use package.el and it only ever updates when I ask it to. The solution to this is too keep your elpa/ directory under version control. I use this hacked-up script to help me do that: https://github.com/NateEag/.emacs.d/blob/master/site-lisp/update-packages.el https://github.com/NateEag/.emacs.d/blob/master/site-lisp/up...
- jonpalmisc 4y agoYou might want to check out straight.el [0] in replacement of package.el; it can pin package versions, etc. It is used by the very popular Doom Emacs [1] to lock package versions for reproducible config reasons. [0] https://github.com/raxod502/straight.el https://github.com/raxod502/straight.el [1] https://github.com/hlissner/doom-emacs https://github.com/hlissner/doom-emacs
- seanw444 4y agoHaven't yet needed to freeze a package, but I can confirm that setting up your packages is stupid simple in Doom (Straight), and freezing them equally so.
- gnuvince 4y agoI haven't used it myself, so I cannot speak for it, but straight.el [1] has functionality to freeze the version of packages. [1] https://github.com/raxod502/straight.el https://github.com/raxod502/straight.el
- BeetleB 4y ago> Only thing I'm missing from Emacs is the ability to completely freeze all packages and configs. Weird - Emacs by default does not auto-update packages. I do it manually as needed. Are you using Vanilla Emacs or something else?
- viksit 4y agoGiven all the emacs ninjas here - what’s the best way to do JSX/TSX formatting while playing nice with js2-mode, tide and web-mode? I’ve been stuck for months on finding a good config and almost wanted to move to VS Code to try it out. Then, while using it I just couldn’t do without emacs buffers and panels flexibility — so moved back :))
- aporetics 4y agoI gave up on getting these modes to consistently format. It seems really fragile and never quite right. So now I just have prettierjs set up and I don’t have to think about it.
- mplanchard 4y agoprettier-emacs[0] works well, and IIRC I think the JS/TS language servers can handle formatting, if you’re using LSP or eglot! [0]: https://github.com/prettier/prettier-emacs https://github.com/prettier/prettier-emacs
- deleted 4y ago[deleted]
- srcreigh 4y agoPrettier the buffer every once in a while. Tide mode can be pretty annoying with JSX. I try to be okay with temporary syntax imperfections and get in the zone with the actual changes.
- spudlyo 4y agoA couple things about the content of this post, that people aren't talking about. Mastering Emacs by Mickey Petersen is a solid book on Emacs and a good companion to the official manual. Mickey usually has an update to Mastering Emacs not long after a new version is released, which is great. I'm thankful for his many contributions to the Emacs community, and I really enjoyed reading his thoughts on the new features and additions to Emacs 28. Secondly, the breadth of the changes in Emacs 28.1 is staggering, especially considering that Emacs 27.1 was released some 19 months ago. I think it's safe to say that despite all the hand-wringing about the antiquated email-centric way that Emacs is developed, an impressive amount of work is getting done. Emacs development is alive and well.
- ReneFroger 4y agoThis collection page of Emacs packages: https://emacs.zeef.com https://emacs.zeef.com contains only packages which are last updated at least 2 years ago, and it's already an impressive amount to me, which indicates that Emacs community is also very active, despite having - in IT terms- a very ancient editor.
- NateEag 4y agos/despite/due to/ Ancient, stable platforms enable long-termism, which encourages scratching your itches - whatever you write, it will likely keep working until after you're dead.
- deleted 4y ago[deleted]
- Decabytes 4y agoThe post yesterday about Pharo 10, and the Lisp Curse repost has me thinking about text editors again. I think that some fusion of the introspection abilities of Smalltalk with the good parts of Emacs might allow us to create the text editor of the future™. One that take everything good about Lisps and everything good about programming in Smalltalk. I'd need to actually explore how Smalltalk does its IDE environment to be able to comment more, but I was initially very impressed with the programmability of it during the video I watched about it.
- asoneth 4y agoI aspired to learn Emacs but gave up a number of times. It's in that category of things that I believe would be Good For Me but that have such high activation energy that it never becomes a high enough priority. It's like the documentary I keep skipping over in my streaming queue, the free weights gathering dust in the basement, or the guitar I finally gave away after having only learned a few chords. There's got to be a word to describe the realization that something is probably never going to be high enough priority to me to be worth the investment.
- pzone 4y agoThe best reason to use Emacs is that it’s fun. Would you learn the guitar because it’s “good for you” to learn it or because you enjoy playing music? I think the only sustainable motivation is the latter. If learning Emacs is simply a chore with an abstract promise of “productivity” as a reward you’re not missing out on anything.
- asoneth 4y agoBy "Good For Me" I don't just mean productivity-wise, I mean a positive and rewarding experience. And frankly I do not know whether I would enjoy using Emacs. (I similarly don't know whether I would enjoy playing music.) But I know that learning Emacs is a chore. I did not enjoy having to relearn common interaction concepts like windows, frames, yank, kill. I did not enjoy retraining muscle-memory (or modifying bindings) because editing and navigation shortcuts don't match the standards that have been codified in every other desktop text area. I did not enjoy the endless search for the right distribution/mode/extension to solve a particular problem. I did not enjoy that none of these are generalizable skills that transfer beyond the esoteric priesthood of Emacs use. I liked the core concepts in principle and I enjoyed the new perspective it provided, like peeking into an alternate universe with a parallel evolutionary path. Eventually life intervened and I had to retreat back to editors that take minutes to learn rather than hours or days. I suspect I'll give it another go someday when I can afford to devote the better part of a weekend to it, perhaps when the kids are older.
- da39a3ee 4y agoI used Emacs for 20 years, contributed to popular open source emacs projects, and am the maintainer of a couple of emacs packages with small numbers of users. It's wonderful and extremely powerful having everything in lisp; don't bother with emacs if you're not interested in writing lisp. One silly thing that I could never get to grips with is the way the minibuffer always seems to get stuck asking me a question, but the cursor isn't in the minibuffer. Or it's in some sort of recursive minibuffer mode. So many times I've just mashed C-g repeatedly in irritation! I stopped using Emacs last year in order to access the high quality LSP experiences that are available for Typescript and Rust and other languages in VSCode. I'm firly happy with the configurability of VSCode and generally fairly happy with the move. VSCode needs Emacs' window-configuration registers though.
- BeetleB 4y ago> don't bother with emacs if you're not interested in writing lisp. Strong disagree. I used Emacs as a power user heavily for about a decade with virtually no elisp knowledge (beyond simple conditionals and setting variables - I couldn't write a loop for example). Once I learned elisp ... it hasn't been a game changer. Sure, occasionally I tweak things the way I like it with custom elisp code, but there are enough config options and packages out there to do what I need without my having to write elisp code.
- mplanchard 4y agoFWIW lsp-mode does a great job of integrating with language servers in emacs. I and two of my coworkers use emacs with rust-analyzer, and it’s generally been a very positive experience.
- nanna 4y ago> One silly thing that I could never get to grips with is the way the minibuffer always seems to get stuck asking me a question, but the cursor isn't in the minibuffer. Or it's in some sort of recursive minibuffer mode. So many times I've just mashed C-g repeatedly in irritation! This happens to me all the time too! Anyone have a fix?
- 4y ago
- etra0 4y agoI remember seeing vim as a complex solution for text editing, and I didn't touched it for that same reason. A couple of years later I spent sometime learning it and now it's my day-to-day tool for writing code. I feel the same with Emacs, I've been reading (very little) about it and I wonder if I dedicate the same time I did for learning vim I'd be in the Emacs bandwagon, but at the same time I don't feel that curious about it, because I feel happy with vim. I've tried some versions with vim bindings but the problem remains the same, the energy to explore the rest just wasn't there.
- egl2021 4y agoFor me, the big feature in editors is mouseless editing. With emacs my fingers never have to leave the keyboard. When I started out in the Dark Ages, vi offered the same benefit, but multiple buffers were easier in emacs, so I ended up with emacs. I use some emacs extensions (e.g. ctags recently), but that's a secondary benefit. So from my perspective, you've already gotten most of the benefit just with vi. YMMV. If emacs were to disappear today, I'd probably switch to vi and be perfectly happy.
- etra0 4y agoVim still has some short comings when it comes to developing, since at the end of the day, is a text-editing tools. I usually use tmux + vim over SSH and it's very comfy, maybe Emacs can do all of that in Emacs itself. I hope I can gather enough energy some day to give it a try. I'm really not into fighting for which ecosystem is better, I just want to enjoy editing code, and so far vim is making it fun, but exploration can be fun too :D
- amon22 4y agoI was avoiding Emacs for years because I heard that it's a huge timesink, so I kept using Vim and later NeoVim. Last month I started learning Clojure(great language btw) and after some consideration I decided to give Emacs a try. It's my new favorite thing, it was a pleasure to learn. It took about 4 sessions to get productive with it, a couple of days. Really not that much of an effort. After a bit of tinkering, I feel like Emacs is what I was always looking in other IDEs. (Neo)Vim is a great text editor, but I was never able to customize it to a point where I was 100% satisfied with it. With Emacs it took a couple of weeks. If you end up giving Emacs a try, I would advise using the native keys, at least until you're comfortable with the editor. When in Rome... Also, masteringemacs.com has a great beginner article, I highly recommend it.
- KabirKwatra 4y agoI started using Emacs as my primary editor about a year ago with doom. Emacs 28 has good changes, but it's missing pixel scrolling which at this point almost every other editor has. I believe Emacs 29 is going to finally include the feature. There's a pretty good plugin called good-scroll.el that does exactly this on older versions, but it can be buggy sometimes.
- pimeys 4y agoWayland support didn't make it... Oh well it is in version 29. I've been using the wayland version with libgccjit many months now from their git repo and it is extremely snappy and stable editor. My strategy to keep all of this together is a nix derivation that compiles the latest master branch with all the plugins. Oh and my config is an org file with clear comments... https://github.com/pimeys/nixos/tree/main/desktop/emacs https://github.com/pimeys/nixos/tree/main/desktop/emacs All reproducible... Btw. I recommend SystemCrafters video series Emacs from scratch. It teaches how to make a vanilla emacs to work like doom emacs does. It was helpful for me to understand the magic behind doom... https://m.youtube.com/playlist?list=PLEoMzSkcN8oPH1au7H6B7bBJ4ZO7BXjSZ&cbrd=1 https://m.youtube.com/playlist?list=PLEoMzSkcN8oPH1au7H6B7bB...