I see you're using vim. Let me fix that for you.

fuv in action

'fuv' is a programmer's editor that is an excellent replacement for vim.

If you've been using vim for a while, you're probably frustrated with its lack of hardcore power.

In vim it's far too easy to wimp out and use 'insert mode' to type text directly into a document.

fuv fixes that.

In fuv, there is no direct entry of text.

There is just a regular expression search/replace function.

*All* editing is done by searching and replacing over the existing text, using regular expressions.

And every search term *must* contain at least one non-escaped regular expression special character.

If, for example, you tried to replace "a" with "b" -- fuv wouldn't run it. It would emit the 'why bother?' error message and discard your document.

Instead you'd want to try replacing "[a]" with "b", only then will fuv consider your input worthy of applying.

If no matches are found for any given search/replace then fuv revises its opinion of you and discards your document. It may, on a whim, locate another document on your machine and discard that too.

fuv's native format for storing a document, a .fuv file, is not the resulting text but rather the series of replacements required to recreate that document from scratch. This is particularly helpful for avoiding merge conflicts from source control systems, mostly because it ensures that no one else will contribute.

Oh, and it's worth mentioning that fuv does not let you see the document itself. Upon launching fuv, all of your monitors go blank. Thereafter you must issue at least one command every minute or fuv assumes you have died and summarily discards all your work, overwriting every byte on disk at least 8 times to avoid recoverable data remanence. And it's certainly best to keep fuv busy, as it only uses *spare* cycles for searching your hard drives in order to locate configuration files from competing editors that it can delete, reverse, or otherwise insidiously corrupt. fuv is playful. i guess.

To exit fuv you need to enter the termination command ::q&*$&(#&. Be careful to get it right. And please, whatever you do, don't try to "paste" in the termination command, or any other command. fuv treats all use of the clipboard as a dire insult. I've promised not to reveal what happens, lest it should happen again to myself or the people I love (fuv is reading this as i type). Let me put it this way. Have you seen any of the "saw" films? fuv makes "saw" look like the dux of charm school.

Once you tire of fuv, it's time to consider emacs. Be careful though; emacs is no picnic. After you've been coddled by the niceties of fuv, emacs can seem outright cruel.

I've implemented the core features of fuv and put the source on codeplex github. Download the source, compile it, or, if you're feeling particularly foolish, get the binary here. (Note: binary no longer available -- lucky for you.)


Get "fuv.exe" Now (not a sane choice)


Visit fuv on github (wiser)



My book "Choose Your First Product" is available now.

It gives you 4 easy steps to find and validate a humble product idea.

Learn more.

(By the way, I read every comment and often respond.)

Your comment, please?

Your Name
Your Url (optional)
Note: I may edit, reuse or delete your comment. Don't be mean.