cljnewbie2019

joined 9 months ago
[–] [email protected] 1 points 9 months ago

I used Doom Emacs since I came from Vim but have recently switched to what is called Vanilla Emacs which basically means install emacs and use blank init.el file. The init.el file is where all your custom configuration for emacs will be built up over time.

If you don't have a muscle memory from Vim keybindings I would start with Vanilla. Keep your primary editor handy as you build up the init.el if you need to get some work done very quickly but begin to ween yourself off the primary editor as you figure out how to do things more efficiently in emacs. If Emacs is keeping you from getting some work you have pressure to get done you may burn out and throw it away.

I like this person's youtube channel: https://www.youtube.com/@SystemCrafters/playlists

Emacs from Scratch on that playlists page is a good video series.

He starts off with a blank init.el and builds it up over the series. By video 7 he gets to something called org-babel and using org plus code blocks in org to create your init.el.

This is a very nice setup because it allows you to add comments in org format with links etc in a structure you like. It keeps things organized and as your init.el gets larger you can use the org-mode features (org-mode is built into emacs these days) to hide and expand what you want to focus on. I use it to keep detailed notes and explanations and links back to package repos on github and documentation.

This is a popular example of such a setup (advanced) using org to generate the init.el https://sachachua.com/dotemacs/index.html or less pretty on github https://github.com/sachac/.emacs.d/blob/gh-pages/Sacha.org

Edit:

I've also found ChatGPT fairly good with emacs-lisp (configuration language for init.el) and emacs questions. Not perfect and you will find out when you put the wrong code it suggests and it doesn't work but it gets things right more often than wrong.

[–] [email protected] 1 points 9 months ago (1 children)

e.g., Org Mode is something I swore off almost a decade ago.

I'm curious (not arguing) why you swore off Org-Mode? This is why I came to emacs from more of a vim background and keeping notes in markdown.

[–] [email protected] 1 points 9 months ago

Looks good. You have a good voice and speaking skills.

One recommendation is to cut the music out since people may prefer to listen to their own music in the background when watching videos or just not have any music at all.

[–] [email protected] 1 points 9 months ago
  1. emacs-pinky impacts some users such as this https://www.reddit.com/r/emacs/comments/44c0ed/emacs_pinky/ . I've got Caps Lock mapped to both Control (down-holding) and Escape (up/down). Maybe not you at this point in your life at current usage level. And you could just be lucky and never have physical issues at all with hands and fingers and wrist.

  2. vi can be found on almost any linux box so knowing the basic commands to work with text files when you might not have the luxury of installing is useful - ubiquity argument

  3. the text-objects, somewhat more advanced to learn, in vim are not replicated by default in emacs and you will miss them in editing if you have put them in muscle memory. So things like da( or di( or ci" or ya{ and so on where d is the command and a( or c" and a{ are examples of a much larger list of objects that are easily manipulated

In any case things become a matter of preference and are subjective unless one remains a purist in the spirit of the church of emacs vs vim. The OPs biggest challenge is he appears to be trying to learn vim at the same time he is starting emacs. Many who came to Doom or Spacemacs were vim users switching to emacs.

[–] [email protected] 1 points 9 months ago

I recently made the switch from Doom Emacs to Vanilla Emacs because I wanted to get a better understanding of the nuts and bolts of emacs-configuration which meant getting more into elisp and becoming more familiar with how to customize things from scratch in that language.

Doom was great but I also found it abstracted away some of the help I found online which was directed mostly at vanilla emacs users with use-package and such. I was in no way qualified, to try to understand how doom built up from vanilla emacs to provide, for example, its package management abstractions.

I chose Doom initially as I was a long time vim user who know h, j, k, l and other movement commands on muscle memory. If you aren't already familiar with vim keybindings you can try a game like this https://vim-adventures.com/. I do prefer vim keys to emac defaults since holding down modifier keys to do commands have caused issues with my hands. I also use an emacs package called god-mode and evil-god-state (evil = vim capability in emacs) to reduce having to hold down modifier keys for commands.

The took the move from Doom to Vanilla emacs slowly and I set things up so I could run both my Doom and Vanilla at the same time. I didn't want to lose productivity until I could get my Vanilla emacs config up to speed. I don't know what OS you use but I simply asked ChatGPT about running two different configs at the same time for my OS and it walked me through. You will maintain your ~/.doom.d directory for that config and then you can start another directory like ~/.config/emacs with an init.el file for that. I've found ChatGPT very helpful for emacs in general though it does get a lot wrong too but not enough not to use it.

I'm going through the System Crafters "Emacs from Scratch" playlist slowly. You can find that playlist here https://www.youtube.com/@SystemCrafters/playlists . There is a playlist on "Learning Emacs Lisp" too but I haven't made it to that one yet.

Finally I recommend literate programming setup for your config. The "Emacs from Scratch" playlist from video 7 shows that. Thus my init.el is generated from an init.org via org-babel-tangle. The advantage of putting your config in org source blocks like this is you can create a hierarchy within org and put in all the extra notes and links you want to explain the why and how of your configuration without cluttering up the actual init.el with a bunch of comments. It's easier to read and navigate, at least for someone with little elisp experience like myself. This is a fairly popular example of emacs configuration via literate programming https://pages.sachachua.com/.emacs.d/Sacha.html.

I also recommend putting your config files under git version control so you can easily get back to configs that "worked" as it can be easy to make breaking changes and you will want to revert to an older copy.

Use "C-h k" and then press keys to find out what Doom emacs is using. You will begin to see packages like consult, counsel as part of things you will want to install in a Vanilla package as the worst thing about Vanilla that Doom will spoil you on is autocompletion lists.