Irssi Hints

Page

Here is my collection of useful commands that I’ve learned over the years to make using irssi a bit easier.

Aliases

# despam - An Alias to despam the scrollback from joins, parts, quits and mode changes. Very useful if there's a spam attack on a channel. This doesn't remove the entries from the log files though.

/alias despam scrollback levelclear -level joins,parts,quits,modes

# nospell - An alias to remove spelling suggestions from aspell.
/alias nospell scrollback levelclear -level CLIENTNOTICE

# cs - An alias to message ChanServ
/alias cs msg ChanServ $0-

# ns - An alias to message NickServ
/alias ns msg NickServ $0-

Key Bindings

By default in irssi, you can press ALT and 1 to 10, and ALT and q to o to access Windows 1 through 19 directly, without having to use /win <num> to switch to it. The key-bindings listed below (once added to your .irssi/config) will replicate that behaviour across the rest of the keyboard, giving you quick access to windows 1 through 40.

keyboard = (
  { key = "^Z"; id = "command"; data = "window last"; },
  #  { key = "meta-["; id = "active_window"; data = ""; },
  { key = "meta-p"; id = "change_window"; data = "20"; },
  { key = "meta-a"; id = "change_window"; data = "21"; },
  { key = "meta-s"; id = "change_window"; data = "22"; },
  { key = "meta-d"; id = "change_window"; data = "23"; },
  { key = "meta-f"; id = "change_window"; data = "24"; },
  { key = "meta-g"; id = "change_window"; data = "25"; },
  { key = "meta-h"; id = "change_window"; data = "26"; },
  { key = "meta-j"; id = "change_window"; data = "27"; },
  { key = "meta-k"; id = "change_window"; data = "28"; },
  { key = "meta-l"; id = "change_window"; data = "29"; },
  { key = "meta-;"; id = "change_window"; data = "30"; },
  { key = "meta-z"; id = "change_window"; data = "31"; },
  { key = "meta-x"; id = "change_window"; data = "32"; },
  { key = "meta-c"; id = "change_window"; data = "33"; },
  { key = "meta-v"; id = "change_window"; data = "34"; },
  { key = "meta-b"; id = "change_window"; data = "35"; },
  { key = "meta-n"; id = "change_window"; data = "36"; },
  { key = "meta-m"; id = "change_window"; data = "37"; },
  { key = "meta-,"; id = "change_window"; data = "38"; },
  { key = "meta-."; id = "change_window"; data = "39"; },
  { key = "meta-/"; id = "change_window"; data = "40"; },
  #  { key = "prior"; id = "scroll_backward"; data = ""; },
  #  { key = "meta-#"; id = "scroll_forward"; data = ""; },
  #  { key = "meta-]"; id = "scroll_backward"; data = ""; }
);

Plugins

autoaway.plautoaway – A simple Auto Away script

ignore_log.pl ignore_log — send [some] ignored users and events to log)

colorize_nicks.plcolorize_nicks – Colourise mention of nicks in the message body. (requires nickcolor_expando.pl)

irssinotifier.plirssinotifier – Send highlights to an android app. Requires signing up for a (free) account at irssinotifier.appspot.com with a Google Account – IrssiNotifier uses Irssi script to send IRC messages to server, and Google’s Cloud to Device Messaging framework to send notifications to Android device. end-to-end encrypted with the encryption password of your choice. Password is never sent to the server.

screen_away.plscreen_away – set (un)away, if screen is attached/detached.

aspell.pl – aspell – ASpell spellchecking system for Irssi

spellcheck.plspellcheck – A quick and dirty (experimental) aspell based spell checker for irssi. (I may consider am now using aspell.pl in the future.)

nickcolor_expando.plnickcolor_expando – A script to add colourised nicks to irssi.

trackbar.pl trackbar – Shows a bar (horizontal line) where you have last read a window. (Can cause screen corruption, and doesn’t play very nice with /clear)

mkick.plmkick – A script to aid with mass kicking users.

Useful Scripts (that I helped write)

showtitle3.plshowtitle3 – Irssi script to show web page titles, extracted from <title> tags as a notice or publicly in channel (configurable, but experimental)