What are your thoughts on ✨vibe coding ✨ (the emoji are mandatory) not for “make me an app” but as spicy search-and-replace?

I’m extracting a view component, and a dumb set of search-and-replaces to replace old markup with the component didn’t get me very far because of small variations. Seems very suited to these tools. Promising so far, at least if I hold back with branching bonus quests – I don’t trust Claude not to get lost.

Tried #Claude as spicy search-and-replace this week to extract ViewComponents in Rails, and it was pretty good!

At a guess my pair saved 0.5–1 day not doing manual text replacement, extracting 50-ish instances from inconsistent markup.

Learned e.g. that requesting side-quests offhand did not work well, and that it’s worth thinking through how it can verify correctness to further reduce manual effort.

@henrik did you try Claude Code? I just tried it last night and it seems like a huge upgrade compared to simple ad hoc stuff. I was trying aider before, but Claude code is night and day, so much better. I love that I can keep my editor (sublime) and have it in terminal side by side.

@maxim Yeah, this was Claude Code in a terminal! Don’t have much experience with other tools to compare it to, yet.

I briefly tried the Zed agent UI and rather liked how it visualised changes inside the actual editor, but in my very limited experiment with whatever model I picked (I think a ChatGPT one?), having it find the appropriate files itself didn’t work so well.

@henrik Zed is nice, also tried it a bunch, but I can’t bring myself to switch editors for some reason, too attached. Kept my projects opened in Zed for months, used their agent stuff a bunch, but always returned to ST for focused peaceful coding. Similar story with VSCode. Now with Claude Code maybe I don’t have to switch. 🤞

@maxim 👍 I could see myself using another editor (than Vim) for agentic renames/refactoring – I’ve considered it anyway for non-agentic global search-and-replace since it’s a Vim weak spot.

Depends a bit on the bigger workflow as well. This past week I had Claude do all the replaces and then I went through and validated each, which felt inefficient. Getting each in front of myself in an editor might speed things up. Though I could have Claude pause while I do so in a split.

@maxim Wondering now if I could come up with a flow where I have Claude put the relevant path(s) in some conventional file so I can then have shortcuts/automations to quickly get there in Vim. And something similar to open the corresponding page in my browser if relevant.

Even better ofc would be not needing myself as arbiter most of the time. Don’t have the trust and prompting skills to be there yet, though… might be different with code that’s tested more exhaustively.

@henrik for me, this is where the habit of reviewing the changes comes useful. I re-read all changes in Fork.app before committing (in projects that matter). Allows me a fresh look. However been also playing with writing MCP tools for myself, maybe your idea can be made into mcp. I wrote a super simple way to make custom mcp servers in Ruby and run them all with single command: https://gist.github.com/maxim/e6d024892031ed526eb270c7baebe6c1 - quick and dirty for now, but with usage comments. Plan to publish somehow maybe.
A quick one file MCP in Ruby

A quick one file MCP in Ruby. GitHub Gist: instantly share code, notes, and snippets.

Gist
@henrik @maxim FWIW :Gqfopen in yegappan/greplace solves global search/replace for me in Vim. You can check out the grepprg-related stuff in my vimrc too https://github.com/m1foley/dotfiles/blob/main/_vimrc
dotfiles/_vimrc at main · m1foley/dotfiles

My system dotfiles. You might find something useful. - m1foley/dotfiles

GitHub

@m1foley @maxim Thanks! Got a video or example or similar? I use a :Qdo command sometimes, but it is a bit fiddly, and Vim’s quirky regex dialect still slows me down.

https://thepugautomatic.com/2012/07/project-wide-search-and-replace-in-vim-with-qdo/

Project-wide search-and-replace in Vim with :Qdo

In my blog post about switching to Vim, I mentioned that I had yet to find a project-wide search-and-replace solution that I like. Now I have: I use git-grep-vim for project-wide search, then...

The Pug Automatic
@henrik @maxim Here's a quick demo of how I like to use :Gqfopen to do global search/replace
@m1foley @maxim Ooo this looks very very nice! Does it handle changing from one line to multiple? Say replacing foo with foo\n.
@henrik @maxim I can't get multiline to work, at least with :Gqfopen