Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

My experience with Emacs is bittersweet. On the one hand, org-mode in Emacs is extremely powerful. I use it to schedule TODO items, organize my thoughts, write notes, publish websites, and lots of other things. On the other hand, Emacs drives me crazy from time to time. It's slow, hard to maintain, the environment I set up is fragile, and most of all, it lacks a modern UI. Scrolling pixel by pixel is still impossible in Emacs.

Sometimes I do use VSCode as an alternative, but VSCode only has a rudimentary implementation of org-mode, and the so-called org-mode alternative - markdown - is not nearly as powerful as org-mode.



Does pixel-scroll-mode[1] not do what you want? It’s a built-in feature.

[1] http://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/pixel-s...


> pixel-scroll-mode was introduced at or before Emacs version 26.1.

The third-party package "good-scroll" improves on pixel-scroll-mode by adding variable speed. IME, it's necessary in order to prevent flickering from pixel-scroll-mode. The defaults are somewhat conservative, and might not look like "scrolling pixel by pixel" to you, but you can definitely customize it to get what you want.


Thanks. Actually I've tried both the built-in pixel-scroll-mode and good-scroll. None of them gives me the experience of a modern text-editor (e.g. VSCode).


Hmm. I honestly can't tell the difference between the behavior of good-scroll and VS Code (have them both open right now, on Windows). But there must be something that you notice that bugs you that I don't.


Related: My biggest complaint with Emacs is that when you scroll, the cursor moves to keep itself visible on-screen at all times. Modern text editors don't behave this way--it's easy to scroll to a different location to look at something without losing your insertion point.

Has anybody written a patch for Emacs to implement this behavior?


I don't think so, and I think it might involve unreasonable changes to core.

The "Emacs Way" here is to use a command that takes you back to where you were before. If you used tags navigation to get to what you wanted to look at, you could use `pop-tag-mark`, which is on M-, (other modes for getting around, like xref and LSP use the same binding). Or failing that, if you know you're staying in the same buffer, you can `set-mark-command`, scroll to where you want to look, and `exchange-point-and-mark` (and then deactivate the mark with C-g if you were in transient-mark-mode, which most people are these days).

There's also a package `dogears' (https://github.com/alphapapa/dogears.el) for saving your place to go back to automatically even if you're just scrolling.

I recognize that all these solutions are not intuitive to someone who expects the cursor position to stay in the same place even if it scrolls offscreen.


Thanks. I was used to doing things 'the Emacs way' many years ago before GUI editors were common but now I go back and forth between Emacs and GUI editors a lot and Emacs seems like the odd duck. Guess I just need to relearn this stuff because the other features Emacs brings to the table (e.g. Magit) are too handy to do without.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: