Remix.run Logo
Karrot_Kream 6 days ago

I recently un-borked my emacs config and re-downloaded elisp into my brain so I'd be happy to help walking you through the emacs stuff. I haven't used emacs on Windows natively in a long time but I did it for years and found it worked quite well so you may want to try that again.

FWIW emacs these days has native LSP support (eglot) and native tree-sitter supported, but you'll need to grab tree-sitter libraries and LSP servers. For MacOS I found just using brew to install most of these works great, and I wonder if Windows can't work the same way. If you're in a VM you should just be able to have your package manager do the work.

LLM support in emacs is still a bit primitive but there are packages like emacs claude-code that are changing things. Personally I wrote an elisp function which grabs the filename of the emacs window relative to the project root and copies it so that I can just paste it into claude code and have it ask questions or do things.

```

(defun copy-buffer-file-name-from-project-root () "Copy the relative path of the buffer in this project to the kill ring" (interactive) (kill-new (file-relative-name (buffer-file-name (current-buffer)) (project-root (project-current)))))

```

if you're curious but depending on how you have your clipboards setup with the kill ring, you may need to modify this.

---

As far as fighting the JS fight on the Zed website, well, I think this thread isn't one of those upvote-anti-JS-rant threads that spring up on this site all the time so shrug.

partdavid 6 days ago | parent | next [-]

I'm extremely interested in pushing along these fronts even in a performative way, because I don't want to get bogged down in "switch away from Emacs" conversations with coworkers. I've done a lot of modernizing on my Emacs setup this year but I would love a current take on "getting close to cursor" that gets me beyond what I'd had set up with copilot and lsp.

Karrot_Kream 6 days ago | parent [-]

Having tried a bit of Cursor and some Zed I still find Claude Code a lot better than the rest (though maybe now the Claude Code Zed Beta will change things.) That means what I'm mostly doing is keeping Claude Code up in the terminal and having it do things. Claude Code has an option to view diffs in your editor which you can configure and works fine with emacs and its various diff modes (and looks great too.)

I usually always make sure everything in my branch is committed before letting Claude Code loose on my code so I can view the changes normally as a magit diff and then choose whether I want to edit any of its changes (90% of the time) or commit as is (10% of the time.) I can also restore files selectively this way and have all of my git tools available if needed.

If you want deep Claude Code integration Cursor style, then check out https://github.com/manzaltu/claude-code-ide.el . The latest releases of emacs support using `vc` blocks to specify packages so you can grab the elisp package straight from the repo and get it working within your emacs.

If you want a chat style interface, GPTel exists but requires some config (not much but not zero either) before it becomes usable as a general chat tool like Claude Desktop or ChatGPT. I'm working on an elisp package to recreate a chat interface atop GPTel and decrease the config burden.

zelphirkalt 6 days ago | parent | prev [-]

I mean, I am using standard Emacs daily for some 8y or so. It is just in that VM, that tried Doom Emacs, which crashed twice. Normal Emacs doesn't do that to me. And since I have the VM, I also don't need Emacs on Windows. The VM runs just fine.

That VM runs a Fedora OS and has vanilla Doom Emacs installed, with a few packages activated in the doom config. So it is about as vanilla doom Emacs as it gets.

Karrot_Kream 6 days ago | parent [-]

The main reason I suggest running it natively is the big speed boost. Elisp supports native compilation now and native compiled elisp running natively on your platform is quite fast.