I am in my 10 years cycle in which I will go back to emacs.
Emacs is so powerful but has a different terminology, and vscode was so easy and snappy...so I got accustomed to VSCode, but it is becoming slower and it has a lot of telemetry attached to it.
I'm missing a good way to turn on/off plugins and settings depending on the directory. Eg turning off rust-analyzer on some projects, or using pyright instead of mypy as the LSP.
Yes, the vi family of editors is just as valid a choice as emacs (and have arguably been the better choice for longer, it's just that personally I could never get on with modal editing)
With the new newcomers-presets theme in Emacs 31, I removed most of my customization in the init.el. I’m not sure if a minimal starter kit provide anything over it.
"When I started learning Emacs, my dad gave me his .emacs file. (That's what we used back in ye olden days instead of .emacs.d/init.el and stuff.) I used it without modification for many years. Eventually I learned how to write my own functions and customizations. This package aims to give other users a similar experience. When someone comes to me and expresses their desire to learn Emacs, I can point them at this to help them get over the initial hump, but not coddle them so much that they're afraid or unable to change things to their liking."
> Bedrock now uses the lexical-binding: t cookie in all its .el files.
This is the right thing to do if you wrote your .el files recently and assumed lexical-binding was true and you understand the implications thereof.
OTOH if your .el files are older and written before lexical binding was possible, it's best to set the cookies of those files to nil. Or go over them with a fine-toothed comb and rewrite them (if necessary) for lexical binding.
Isn’t lexical binding the default in more or less all other programming languages?
So for people who don’t understand the implications, and wrote their .el files recently, lexical binding is likely less surprising behavior than the alternative?
Hah, is this a troll? It’s a lot older than those editors.
EMACS started as Eugene Ciccareli’ init file for the TECO editor (which was also a programming language) around 1976. Hence the name (Eugene‘s Macros). It was later rewritten in Lisp for Multics, the MIT Lisp Machine (I worked on one for the Xerox lisp machine as well), and later Unix (in those cases using lisp only as an extension language)
Doesn't seem true, the Wikipedia page for Emacs only mentions Eugene once as one of the early contributors, not as the creator. The original TECO macros were made by Guy L Steele Jr.
Yea I couldn’t resist. I’m actually a huge fan of eMacs although I only only tried it once. I’m not a programmer, just scripts here and there in random attempts with varying success. Thank you for the history tidbit! That is really cool. I love hearing stories about punch card programs and Lisp and any forgotten or slightly forgotten technology for that matter
Very cool work! Just wanted to say hi, I had a class with you with Kimball a few years back. Hope you’re doing well!
I am in my 10 years cycle in which I will go back to emacs. Emacs is so powerful but has a different terminology, and vscode was so easy and snappy...so I got accustomed to VSCode, but it is becoming slower and it has a lot of telemetry attached to it.
Is it time to give emacs another try
yes, stick with emacs even when the next shiny new editor appears and begins it's inevitable descent into becoming bloated and slow
I agree, this is why I still use vi :-) Sorry couldn't resist
Neovim has been game changing. Literally nothing I miss from VSCode or Jetbrains now
I'm missing a good way to turn on/off plugins and settings depending on the directory. Eg turning off rust-analyzer on some projects, or using pyright instead of mypy as the LSP.
Doesn't lazy.nvim have some support for that?
I use the LazyVim distribution but I remember something in the docs about per-repo plugin settings
Real programmers use butterflies
Yada yada yada, M-x butterfly.
Yes, the vi family of editors is just as valid a choice as emacs (and have arguably been the better choice for longer, it's just that personally I could never get on with modal editing)
Well, you know what they say: if Emacs is a religion, vi is a cult that is difficult to work out how to quit.
Here’s a link to the repo directly: https://codeberg.org/ashton314/emacs-bedrock
I hope Bedrock is useful to some people. :)
Was a user of Bedrock for quite a while. Have switched to minimal-emacs.d (https://github.com/jamescherti/minimal-emacs.d) since and find that it suits my tastes a lot better.
Same journey like me!
With the new newcomers-presets theme in Emacs 31, I removed most of my customization in the init.el. I’m not sure if a minimal starter kit provide anything over it.
It's a theme? Does it change more than just appearance?
A theme in Emacs can execute any functions and not limited to changing appearance only.
I agree that it’s counterintuitive and even sounds somewhat dangerous.
Very nice presentation and project.
From the README of the linked repo:
"When I started learning Emacs, my dad gave me his .emacs file. (That's what we used back in ye olden days instead of .emacs.d/init.el and stuff.) I used it without modification for many years. Eventually I learned how to write my own functions and customizations. This package aims to give other users a similar experience. When someone comes to me and expresses their desire to learn Emacs, I can point them at this to help them get over the initial hump, but not coddle them so much that they're afraid or unable to change things to their liking."
I'm still using .emacs today! and I have all my elpaca and the fancy pants stuff in it
I distinctly remember my dad telling my "my .emacs file is older than you are." I'm 41!
People attack Stallman for some things but I guess I'm happy GNU exists and Emacs might be the most visible example
Thank you for starting the blog post with reminding what the project is.
So many blogs (and newsletters for that sake) assume the reader knows and remembers what they are about
> Remove wgrep in favor of built-in grep-change-to-grep-edit-mode.
TIL! I might be able to remove my wgrep too. I love those highly crafted starter kits, they are full of gems.
Thank you!
Well, I guess I'm at that point in my two-year cycle where I alternate between BBEdit and Emacs as my daily driver...
I was wondering if this was going to be some Rust fork of Emacs, à la Java Minecraft vs Bedrock Minecraft
I thought it was a mnemonic memory system.
https://www.youtube.com/watch?v=yfJXd0rSCqo
Hey Ashton,
I see you're with PLT. :-)
Since Racket is built on Chez, you might like this. It's an Emacs-like editor built in Chez Scheme:
https://github.com/paveluv/e
Pop a screenshot in your README please!
> Bedrock now uses the lexical-binding: t cookie in all its .el files.
This is the right thing to do if you wrote your .el files recently and assumed lexical-binding was true and you understand the implications thereof.
OTOH if your .el files are older and written before lexical binding was possible, it's best to set the cookies of those files to nil. Or go over them with a fine-toothed comb and rewrite them (if necessary) for lexical binding.
> and you understand the implications thereof
Isn’t lexical binding the default in more or less all other programming languages?
So for people who don’t understand the implications, and wrote their .el files recently, lexical binding is likely less surprising behavior than the alternative?
Isn’t eMacs just a text editor like vim or nano?
Hah, is this a troll? It’s a lot older than those editors.
EMACS started as Eugene Ciccareli’ init file for the TECO editor (which was also a programming language) around 1976. Hence the name (Eugene‘s Macros). It was later rewritten in Lisp for Multics, the MIT Lisp Machine (I worked on one for the Xerox lisp machine as well), and later Unix (in those cases using lisp only as an extension language)
> Hence the name (Eugene‘s Macros)
Interesting, do you have a source for this? I’ve always read that it stood for Editor MACros, are you saying this is a backronym?
Doesn't seem true, the Wikipedia page for Emacs only mentions Eugene once as one of the early contributors, not as the creator. The original TECO macros were made by Guy L Steele Jr.
Yea I couldn’t resist. I’m actually a huge fan of eMacs although I only only tried it once. I’m not a programmer, just scripts here and there in random attempts with varying success. Thank you for the history tidbit! That is really cool. I love hearing stories about punch card programs and Lisp and any forgotten or slightly forgotten technology for that matter
...or notepad
> Isn’t eMacs just a text editor like vim or nano?
For a start it's either spelled "Emacs" or "EMACS", and definitely not "eMacs".
Then it's closer to an OS than an editor.
> For a start it's either spelled "Emacs" or "EMACS", and definitely not "eMacs".
Everyone knows that, but iOS autocorrects Emacs -> eMacs because Apple used to sell a product called "eMac".