Is there any IRC client that supports VI keys? The ''obvious'' script VimIRC is and has been broken for so long it's not even funny.

Do you know any IRC clients on Linux, GUI or Curses, that provides some of that nice vi usability?

Or could some of the existing clients be scripted to use? Irssi, XChat, even ERC would do?

  1. I use vim_mode.pl with irssi (in GNU screen) and am extremely satisfied with the combination.

    For anyone who doesn't know Irssi, it's terminal-based and there is no GUI available or planned. While this may put some people off, it makes for a great combination with GNU screen, and allows you to keep your connection while being logged out: Always a good thing to have for IRC and its erratic response times.

    The current version of vim_mode is already pretty sophisticated, has registers, custom mappings and lots of other stuff, and it's still being developed.

    To use vim_mode's ex mode, you'll need the uberprompt.pl script from irssi-scripts/prompt_info (same developers).

    The most up-to-date documentation is in the .pl file itself. If you have further questions or suggestions, the developers (and a few of us lowly users) hang out on #irssi_vim/Freenode and are generally very friendly and responsive.

  2. An alternative solution would be to use the unixy bare-bones ii IRC client by the suckless community with Vim itself.

    ii creates a directory structure in the file system and places FIFOs for channels and server messages that can be written to and read from.

    On the ii page, you can find a link to a working setup that uses multitail for split windows, Vim for entry, and shell scripts and screen for glue.

    Multitail can be configured to get (non-dynamic) highlighting for the IRC logs, and if you'd buffer the logs, you can use Vim's 'complete' option to get dynamic word completion from them.

  • Oh dear peth. You made me so happy. I was an avid irssi user, and I did actually once try to provide modality to irssi by binding a mass of keys, but I realized it wouldn't work well by any metric. Guess I were wrong. :) – mike3996 Feb 13 '11 at 22:24
  • 1
    The ii mode would be quite perfect if I got vim somehow to do tail -f characteristics. But nothing usable has come around. TailBundle for instance ceases action after a while and so on... It would be perfect to get buffer word completion and omni completion for nicks, and vim's highlighting for the log. And one buffer per IRC channel. Wouldn't that be grand. I'm investigating to vim_mode.pl so perhaps it fills the needs better. Because irssi takes care of many issues that should otherwise be implemented (eg. splitlong, away toggle, ...) – mike3996 Feb 14 '11 at 9:23
  • as much as I wanted to have real vim completion, that kind of tricky tweaking would be too much for me. Now that I've adopted Twirssi, leaving irssi has become not that big an option. Luckily vim_mode is excellent as is. I've been tweaking with extra completion keys (can have both <Tab> and <C-n> to do different kinds of completion now), but haven't written a buffer completion function yet. – mike3996 Jun 8 '11 at 17:44

Now that Emacs has more than decent Vi-key emulation package, Evil, ERC is a very viable solution for this. After a little tuning, chatting using ERC and Evil can be very vim experience.


Vim itself has an IRC plugin.

  • VimIRC is so hopelessly broken I thought it was obvious not to mention it. – mike3996 Jun 30 '11 at 13:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.