6 ms·
Is the configuration still "paste this mystery lisp code somewhere in a config / ini file in x,y,z place" or is it finally plug-and-play like in VSC?
by oslacci 3y ago
Is the configuration still "paste this mystery lisp code somewhere in a config / ini file in x,y,z place" or is it finally plug-and-play like in VSC?
- otabdeveloper4 3y agoM-x customize exists since forever, and is more plug-and-play than VSCode ever was. The real problem with Emacs is the shitload of bugs that case weird, undocumented and annoying behavior. A scripting language like elips is not meant for programming something as large and complex as Emacs.
- hollerith 3y agoI dislike customize though whereas I like the GUI interface to settings in vscode. I agree Emacs has too many bugs (but I haven't found anything that suits me better for maintaining notes and to-do lists and such).
- _a_a_a_ 3y agoI've found very few in many years' use. You may be a more competent user than I. Please report bugs, the devs are very responsive.
- precompute 3y ago> The real problem with Emacs is the shitload of bugs that case weird, undocumented and annoying behavior. Could you name a few of these "bugs"? I use Emacs for practically everything and bugs are very difficult to encounter, even on Emacs HEAD. > A scripting language like elips is not meant for programming something as large and complex as Emacs. Well, that's just plain wrong. A lot of vanilla Emacs functionality is written in Elisp.
- otabdeveloper4 3y agoCore Emacs is simple enough to mostly be bug-free. But any elisp package will have lots of annoying small day-to-day bugs and glitches.
- precompute 3y ago> But any elisp package will have lots of annoying small day-to-day bugs and glitches. I disagree. That's a broad and false generalization. Most packages are bug-free. If you're submitting to MELPA you need to make sure your package works and follows some guidelines for namespaces and organization, which can all the checked within emacs itself. Every package on a package tracker is vetted by at least one external dev. Emacs functions usually require little to no modification for years, because the core is very stable.
- jks 3y agoMy experience is the opposite: I can keep my init.el in version control, and it contains Lisp code that I can run and debug by hand if needed. If some mode doesn't work right, I can step through its code and examine its variables. If I want to know what a key combination does, I can ask Emacs and it will tell me something like "M-s l runs the command consult-line (found in global-map), which is an interactive native-compiled Lisp function in ‘consult.el’." So I know that the combination is defined in global-map, and the function is defined in consult.el, and I can easily find the code. In VS Code it's certainly easy to install an extension. Some mystery thing happens, and there are new commands available and some programming language support might be enhanced, but it is all very opaque. If I wanted to debug the code, I have no clue where to start. I'm sure it's there somewhere but all this looks to me much less discoverable than in Emacs.
- precompute 3y agoYou will not have this issue if you bother learning emacs lisp first. C-h is your friend.
- BeetleB 3y agoAs a multi-decade Emacs user, this sentiment was never correct, and needs to die. You can do insanely powerful stuff in Emacs without learning elisp. I myself was a power user for 9 years before I learned elisp. While it definitely gets you to the "next level", learning it was not a revolutionary improvement.
- gpderetta 3y agoLearning elisp is indeed absolutely not required. But it is hard to use emacs for many years without learning a bit if elisp by osmosis.
- BeetleB 3y agoThe amount I knew was trivial: How to set a variable, and perhaps one or two other things. I didn't know how to do conditionals and for loops. For my config, beyond setting variables I mostly copy/pasted. It gets you very far.
- teddyh 3y agoIn the menu bar, click “Options” → “Manage Emacs Packages”. Install whatever packages you like. You can even configure third-party package repositories.