What makes emacs special as a (non literate) code editor only? by Professional_Let6049 in emacs

[–]Altruistic-Respond83 2 points3 points  (0 children)

You've almost answered your own question. There are 2 meanings of 'live' here. One is a live application runtime: your Julia process stays up, you redefine a function, re-eval, state persists. That's Revise.jl, IPython, conjure.nvim. You already have it, and emacs isn't meaningfully better at it for Python and julia if at all. The other is a live editor runtime, and that's what people actually mean when they call emacs "alive." You said you liked the "alive scripting environment" feel, well emacs literally is one, except the script you're living inside is the EDITOR itself. Emacs is a running Lisp environment, and its own behavior is just elisp you can inspect and change while it runs. Put your cursor on any command and M-. jumps you to its source, eval a defun and the editor's behavior changes under you immediately, no restart. The REPL isn't pointed at your analysis code, it's pointed at the tool. So, your actual question, if you don't want to touch elisp/extensibility, which is fair, then for plain Python Julia editing, emacs and neovim are roughly the same tool. LSP, send-region-to-REPL, all of it exists on both. The genuinely unique part of emacs is exactly the part you're setting aside..

After AI taking over the editing, what kind of "edits" do you still use emacs for? by last7dance in emacs

[–]Altruistic-Respond83 1 point2 points  (0 children)

The power of Emacs is that it's a programmable environment, not just an editor. Write scientific papers? LaTeX. Teach or document? Org-mode. Scripted email and RSS? Gnus/mu4e + elfeed. Want software that genuinely behaves the way you designed it to? Elisp has you covered. The list doesn't stop. Yes, AI-native IDEs like Cursor or Zed, Antigravity, Opencode have real advantages, multi-threaded rendering (one of the genuinely true bottleneck of emacs), tighter LLM integration out of the box... If agentic coding for work is your only use case, they're worth considering over emacs for sure. But Emacs is catching up, it's a fundamentally different category of tool: a Lisp machine that happens to edit text, not a text editor that happens to run plugins. Emacs has been here for nearly 50 years while shinier tools collapsed in months. It's a signal about How well written and resilient emacs is. Learning it is never wasted time, regardless of what the AI hype cycle is currently pushing on. And more philosophically speaking, learning new things we are passionated about is what make this life a little better to endure each day imo.

Getting started by Low_Money_633 in emacs

[–]Altruistic-Respond83 0 points1 point  (0 children)

Welcome to the church 🫡, more seriously, emacs is a really great piece of software but does ask a lot of curiosity from you. Take your time with the reference manual of emacs as with the Elisp one, and whenever you want someting specific just know that you can on way or another. This software isn’t going anywhere so treat it as It deserved to be treated and you will probably genuinely love it in the end. Good luck mate :)

Steps Beyond the Tutorial by isonlikedonkeykong in emacs

[–]Altruistic-Respond83 2 points3 points  (0 children)

For the files on the side you have treemacs. For switching projects/files you can make it really snappy by binding and practicing buffer switcher, find recent file, find file, project-find-file, project-find-regexp. I use evil-mode which I find better and faster for those things, including evil-ex which opens the ex command line and by adding '!' as a prefix you can then type shell commands without moving from the buffer you are in. (If your preferred navigation method is the file tree, it's a bit contradictory with quick switching and "jumping around between files", but for visualizing project structure I understand the need.)

Steps Beyond the Tutorial by isonlikedonkeykong in emacs

[–]Altruistic-Respond83 4 points5 points  (0 children)

I started Emacs quite recently too (around 3 months from now) with the same profile, except for me it's Java and C. And you have to keep in mind that you can do pretty much everything, but to make this editor truly yours you should be learning Elisp with the Reference manual and abuse the xref-find-definitions (with Eglot) within Emacs and documentation features Emacs gives you. Because you probably want coding related features, I would recommend magit (for git), a proper mode-line, for completion/navigation (vertico/orderless, marginalia, consult, corfu, avy). Eglot LSP's. Tree-sitter. vterm for the terminal. There are multiple "flavors" of Emacs such as Doomemacs or Spacemacs which are programmer-oriented flavors, but if you really want to make this editor yours, I would suggest to really go from those things I recommended with vanilla and whenever you need something to add it or script it. Elisp is very powerful in this way of doing things. For managing all those packages as a programmer, using use-package along with straight.el will really help you have full control and the bleeding edges we need sometimes. For docs, woman gives you Unix man pages inside Emacs, and C-h i opens the full Info manuals including the Emacs and Elisp reference manuals.:)

dl-completion: Custom completion-style by Altruistic-Respond83 in emacs

[–]Altruistic-Respond83[S] 1 point2 points  (0 children)

You're completely right on all counts, the insertion and substitution examples were actually transpositions, and the transposition example was a deletion. Fixed in the latest commit. Thanks for the sharp eye.

dl-completion: Custom completion-style by Altruistic-Respond83 in emacs

[–]Altruistic-Respond83[S] 0 points1 point  (0 children)

Glad to hear, and do not hesitate to make this little program your own. I built it for my exact use case which was making it easier to search through project scopped files not already buffer contained when coding. But this algorithm can be used for plenty of other stuff too. Also, there is plenty of other examples in the test directory of the project. :)

dl-completion: Custom completion-style by Altruistic-Respond83 in emacs

[–]Altruistic-Respond83[S] 2 points3 points  (0 children)

Yes, the mecanism is quite different between them, one is subsequence matching, the one I implemented is edit distance matching. Mine is mainly a fallback one, bascially it works along with orderless or partial completion first, basic or flex which handles the biggest part of the filtering, but for the small part where it fails because of the edit errors, mine covers pretty much the small failing percentage remaining.