I always told people that #texlatex is best written/edited in #emacs but didn't have a better argument for it than how well everything integrates. #AUCTeX, pdf-tools, #magit, etc. make it a seamless experience. I had a little bit of YASnippets going as well which made life wonderful.
That already brought things to the state of Gilles Castel's 2019 latex lecture notes in #vim article (which I believe is famous, at least in these circles). But yesterday I found a blog post by @karthink about how to get that and more in Emacs.
The very first demo (40 seconds) shows how to get an equation in latex that I am sure would take me over a minute to write by hand (and it would look ugly in comparison). Then I looked at the second video (45 seconds) and realized that somehow org table style editing can be used for things like matrices and arrays and what not.
Just like that, less than 2 minutes has me committed to getting all that functionality in my Emacs config. Of course, this being emacs, I can tailor it all precisely to my comfort and I'm willing to spend however long is needed to get it to that stage.
#emacs is my org-mode editor, not my coding editor, but I've always liked the sound of #magit and have wanted to learn it for a long time. I came up with a silly hack this week to support that effort: a keybinding in VS Code that opens the current file in Emacs!
It appears to be an #emacs-ish program that uses #commonlisp for customization.
Apparently there have been other emacs clones based on #go and #rust and I guess those are called #emacsen ?
Without going too into my personal details, I’m not a professional programmer and most of my experience is with a modern programming language, #swift, and a high level programming language, #python.
I’ve tried learning #elisp several times by completing various programming exercises and I end up quitting because something obnoxious comes up that, from my minimal programming experience, appears to be due to elisp‘s age. Again, I’m not a pro, so this is just my amateur take.
I did a some programming challenges with #clojure which was hugely fun (mostly because of how fun it feels in emacs 😁) so I don’t think it’s the #lisp part of emacs I have a distaste for.
I’ll probably give it a serious go within the next week here and possibly report back, but I can’t imagine an emacs clone without #magit#orgroam and ChatGPT-shell will really ever become my daily driver 🙃
For software development I use #linux.
For version control I use #git.
To control git I use #magit in #emacs.
To start magit out of a #bash for the current project I use:
% type magit
magit is a function
magit ()
{
emacsclient -e "(kill-all-magit-buffers)" -e "(magit-status "$PWD")"
}
where kill-all-magit-buffers is based on this: https://stackoverflow.com/a/44119606/2954288
#Magit is too easy to use sometimes: almost lost an important bug fix to a hard reset
I was trying to reset just one file, for that you press X f but I absentmindedly pushed X h instead which deleted all changes. Fortunately #Emacs saved me, I was able to remember all of the files I had changed, visit each of those buffers and press C-/ (undo) in each of them to recover my work. The correct copy of my files were on the Undo stack. I can see why some people love those backup files with the tilde characters at the end of the file name.
But then again, #Emacs , or rather #Magit was the problem to begin with. Is there any way to configure it to ask for confirmation before doing a hard reset?
Here's a function using #magit to show the diff of the current buffer since a certain date/time.
My use-case: I put my work notes in a single org file. When our daily standup starts I can quickly review what I worked on / wrote down in the last 24 hours.
I've seen a lot of pro-#Fossil, anti-#Git discussion recently.
Not that I love Git, but it does the job and almost all deployment platforms have support for Git only.
And, am I the only one who needs a staging area because I have to commit only a part of my changes? Often even line-based.
And, sometimes I want to squash 20 ugly commits into a single one, destructively changing the commit history. Really!
And, sometimes I need a hosting platform for a project and there is not a single serious one for Fossil. What's the point in using Fossil when I have to do a Git-export?
And, most importantly, there is #Magit :blobcatmeltlove:.
So ... although I can feel the love for Fossil, it simply doesn't work for most of my use cases.
I am so proud of myself 🙂: I have just used #git#CherryPick for the first time ever and, drum roll, it worked! Did it via the command line as for some reason I get lost sometimes using #magit in #Emacs even though magit is fantastic for the usual activities.
#Lazygit is five years old. I’ve been using it for a few years, and it’s made interacting with #Git so much more convenient. I used #vimagit (inspired by a coworker’s use of #Magit) before it, and the official Git #CLI before that.
Hey everyone!!! I just released a really important usability update for #Gex, which is my #Rust#OSS project for #git interaction inspired by #Magit
Finally, we have scrolling! This is a feature that should've been added a long time ago, but here it is. Spent a long time tweaking it to try and get it to feel "right" so I'd love to know what you think!