I have been using GNU Emacs since the late 1980s. It has been my life's editor, so to speak. At 59 1/2, it seems unlikely that I will ever switch to another editor. It's served me well. I am grateful to the hackers that created it.
I wonder what kind of programs get to follow you for so many decades.
Emacs 26.2 Released
171–180 of 278 posts
Re: Emacs 26.2 Released
#172Earlier quoted context omitted.
Use menus. The menus are really handy for discovery. Many I see disable them (the menu-bar-mode), but it doesn't take up more than about a line, and I go to it to discover what interesting bits a mode has or to find some functionality I use less often and forgot the keybinding to it. I do also use which-key-mode, and there is always M-x apropos & the completion, but menu is a nice companion to these stuff.
I'm one who turns them off. When disabled, you can just hit C-down-mouse-3 (i.e., ctrl-right click) anywhere in a buffer to get the global menu in the form of a pop-up. That works well enough for me for the rare occasions when I want to go spelunking through the menu (mostly to find some obscure Calc op).
Re: Emacs 26.2 Released
#173I have been using GNU Emacs since the late 1980s. It has been my life's editor, so to speak. At 59 1/2, it seems unlikely that I will ever switch to another editor. It's served me well. I am grateful to the hackers that created it.
(1) Well, technically, that includes several years of XEmacs in the middle, when GNU Emacs didn't look as good under X11.
Re: Emacs 26.2 Released
#174I wish I spent time learning how to use Emacs in the past to a degree where customizing my installation was faster than learning something else. As I stand now, it seems really hard to justify to invest time into it when the benefits over using something very easy to work with (like JetBrains IDEs for Java or VS Code for Python) sound marginal. I know experts can fly around in it and it looks amazing. Having a single…
At this point honestly it's an objectively worse decision to not use modern IDEs. (It's not a matter of taste anymore.) IDEs have gotten really good. If you only use Emacs or vim, you're literally putting yourself at a competitive disadvantage. All the avante garde language extensions (Rust, D, etc.) support VS Code better than Emacs now. VS Code is where all the new ideas are tried first.
That said, VSCode has a lot of good ideas around tooling and I've been toying with the idea of looking into making a fork that replaces the editor component with an embedded NeoVim. I feel that would be the best of both worlds, but obviously a huge undertaking. There is already NyaoVim that implements a NeoVim gui as a web component.
Re: Emacs 26.2 Released
#175Earlier quoted context omitted.
Remacs is supposed to be an in-place re-write, so it should be just as usable as upstream.
Wow, I should try it then :) OTOH, being an in-place rewrite, it likely cannot afford to change some of the more important architectural decisions, very likely including the ones that prevent multithreading.
Re: Emacs 26.2 Released
#176I think emacs has a few simple advantages:
1. It’s based on a high quality extensible programming language which supports writing extensible programs. This makes implementing new features, new language features, or just modifying/fixing existing ones possible and usually easy.
2. The primitives/idioms (hooks,buffers,buffer-local-variables,markers,interactive functions,advice,keymaps,text properties) tended to be good choices that allow separate modes/programs within the editor to interact well with one another. They also allow easy extension/modification/fixing of the system. I think modules (although useful and maybe necessary) do not typically fit into this category.
3. Emacs realises the idea of a programming environment built into a user interface (ie one where it is easy to interact with the user in a way that is not stdin/out). I feel like this is often touted as an advantage of html/JavaScript but in emacs one already has all the other useful programs/libraries to base one’s own creations on. On the web one always has to start from scratch. On the other hand elisp does not have any GL/canvas interface (although you can write an svg (or worse) and display it).
4. The documentation tends to be pretty good and when the documentation fails
Emacs certainly has disadvantages too. One is setting it up, another is that it often breaks and it can be hard to get used to emacs. I personally am not bothered by these because I already know enough to not mind/struggle much fixing things. Another issue is ide features but I don’t really use languages with separate ides (unless you count languages where emacs is the ide) so I don’t mind this. Indeed I mostly don’t use any of the ide attempt features like projectile or the static code parsing/analysis
Re: Emacs 26.2 Released
#177I'm really happy to see Emacs move faster, and especially the integration of package management since version 25. The old beast is still kicking! For what it's worth, I've actually been using on macOS the Mituharu branch [1], available in MacPorts as "emacs-mac-app". This version adds the [s]essential[/s] smooth-scrolling feature, and just in general seems to be slightly better integrated into macOS (except that it d…
Emacs is the one environment that I've been a fan of from afar. I recognize the brilliance and power of it, but a few things have always kept me away from using it on the Mac. And I've put in serious attempts, including going emacs-only, then a custom evil mode, then spacemacs - - The server mode compatibility with the way Mac applications are set up. I'd ideally want an emacs server running in the background, and a…
Re: Emacs 26.2 Released
#178I wish I spent time learning how to use Emacs in the past to a degree where customizing my installation was faster than learning something else. As I stand now, it seems really hard to justify to invest time into it when the benefits over using something very easy to work with (like JetBrains IDEs for Java or VS Code for Python) sound marginal. I know experts can fly around in it and it looks amazing. Having a single…
At this point honestly it's an objectively worse decision to not use modern IDEs. (It's not a matter of taste anymore.) IDEs have gotten really good. If you only use Emacs or vim, you're literally putting yourself at a competitive disadvantage. All the avante garde language extensions (Rust, D, etc.) support VS Code better than Emacs now. VS Code is where all the new ideas are tried first.
Re: Emacs 26.2 Released
#179Earlier quoted context omitted.
I only just understood Emacs about a year ago, despite being a nerd for at least 30 years. I like to think I don't have too many regrets in life - but I'm kicking myself for not realizing what Emacs was way back then - or at any of the times I've tried it out in the past (writing it off as "a text editor")! Never too late though, and on the plus side I've now got decades of hidden Emacs goodies still to discover!
Most useful things you’ve discovered? Best resources you’ve used to discover things?
`org-mode` and `org-agenda` is pretty cool and I wish I could use it, but I just gave up trying to configure and integrate it with my calendar, multiple devices and what not.
`shell-pop` is incredibly basic and useful to pop up terminal at bottom. Trying to get my popup windows to show up where I want them using `popwin` and `shackle` (still WIP, as it's far from perfect).
There is `lsp-mode` for Language Server, which makes the auto-completion and code-browsing far better. I was super surprised by how well `dumb-jump` worked in most cases (I mainly used that for C++).
I usually discover things by looking at random Emacs configuration. IIRC there is a repo on Github which keeps track of popular configuration out there.
Re: Emacs 26.2 Released
#180I have been using GNU Emacs since the late 1980s. It has been my life's editor, so to speak. At 59 1/2, it seems unlikely that I will ever switch to another editor. It's served me well. I am grateful to the hackers that created it.
Can you give the n00b's any tips on how to master emacs while keeping it interesting?
I started with Emacs as my first editor when I first was learning how to code a few years ago. I played with it for about a year, then left it for VSCode when I got a job as the projects at the time were heavily JS/TypeScript based, then slowly went back to Emacs as I started to feel frustrated at how painful it was to do certain things on VSCode that I knew would be lower-friction on an editor like Emacs or Vim.
This second time around it has helped me a lot to not feel like I need to rush to master it, taking time instead to focus on committing one or two commands to muscle memory every 10 days or so, and looking at other people's configuration files for inspiration. Studying these configs in particular [0], [1] helped me quite a bit, as they're nicely commented, big enough to have some useful stuff in them and get real work done, but small enough to understand fairly quickly. I also make it a point to not add stuff to my config that I don't understand and try to follow good practices around commenting and code organization
Being OK with navigating inefficiently but making a conscious effort to learn one or two commands to handle stuff that feels painful (kill line, jump to beginning of file, jump to end of file, jump to end of line, back-to-indentation) then modifying anything that doesn't feel natural.
Learning to find help inside emacs: C-h b to list all bindings in the current buffer, or discover-my-major [2] for a friendlier interface, or [3] (highly recommended) for displaying and filtering available bindings as you type them. Cheatsheet [4] for creating your own cheatsheets to note and recall commands you're working on learning.
Finally, taking advantage of the fact that you don't need to leave Emacs for certain things. For example, at work we use Trello, and I love being able to check Trello from inside Emacs via org-trello-mode. It's very nice to not have to context switch when coding. Not to mention Magit (super powerful git gui inside emacs) and Tramp mode (for editing files over ssh from the comfort of emacs).
Also, I've generally found people to be extremely helpful on #emacs on freenode IRC. I've learned a lot thru osmosis just observing conversation there :)
[0] https://github.com/jsks/dotfiles/tree/master/emacs/.emacs.d
[1] https://github.com/flyingmachine/emacs-for-clojure/
[2] https://framagit.org/steckerhalter/discover-my-major