Magit is one of the "killer apps" of emacs, which one might miss when using a different editor. Helix editor in my case.
gitu is a Git porelain offered in the form of a TUI app with keybindings similar to magit. It's still in active development. I've installed it using cargo for now. https://github.com/altsem/gitu
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 🙃
Found this #git tool today, and oh boy would I like to have what "virtual branches" sounds like:
Spotting a bug that has nothing to do with my current work?
Instead of checking out main again with a bugfix branch, do it directly without actually wrestling branch changes.
I really like that with #Magit I can "donate" and "harvest" commits, so I do that instead, but you can run into conflicts when rebasing after moving commits around
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
So I'm assuming whoever designed git hates everyone or at least everyone who likes terminal? Or at least went about everything as weirdly complicated as possible?
It took me way too much googling to figure out how to do something that--by any sane standard--should be idiot proof.
Panic: figuring out how to create, edit, and push a new branch from my machine to my fork, seperis-image-builder and not image-builder. There is a canceled pull in image-builder, that's how close it came.
does a really nice job of the •commit• workflow: showing the diff, selecting changes to commit, maybe selecting individual lines.
I don’t care about anything fancier that commits — not even branches! I have tools I like for all that stuff.
I’m just looking for a nice UI for viewing and selecting uncommitted changes, something better than the clunky “stage / unstage” buttons that are the norm.
There are some software that we need to preserve, meaning both keeping them under development and also keep them as community-driven projects.
I'll list here the projects I think that should be preserved, and I invite you all to comment the projects you think are essential to be on the list (please provide URL as well)
@slackline@lauren dried-sync-transient sits on top of dired-rsync for those who prefer a #magit like interface to the underlying #rsync command (allowing you to tweak a few vars). However I'm fine with just using plain dired-rsync - full disclosure I'm the original author so unsurprisingly it suites my workflow ;-)
TIL magit-commit-absorb, which wraps git-absorb (https://github.com/tummychow/git-absorb), which takes your uncommitted changes and "absorbs" them in recent commits, e.g., when you run a linter and fix the errors that should've been fixed in earlier commits.
@rap1ds How is this different (workflow wise) from using "git commit -a" (amend) ?
Personally, I often even go a step further: I make several commits, and then use #magit's interactive rebase to fold these little changes into the suiting commits. Because more often ttan not they don't belong into the ssme commit.
People with inferior editors can still use "git rebase -i" :-)
#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?
Wenn du noch nicht viel über die Themen weißt oder noch unschlüssig bist, solltest du dir das mal anhören - gibt einen guten Überblick über diese ziemlich ausgereiften Powertools.
Ohje,
>weil #Emacs von #Unix-Philosophen gefanboyed wird
emacs ist über 40 Jahre alt, da hat zum Glück noch niemand mit Wörtern wie gefanboyed und bloatware argumentiert.
Mit einer Office Suite hat das mal gar nichts zu tun. Was du gerne StallmanOS bezeichnest wurde vom GNU Initiator zum Leben erweckt und GNU steht für Gnu's NOT! Unix. Nur so.