With a flexible plugin architecture and embedded Perl interpreter, there is a great deal of additional functionality that you may choose to add to your irssi experience. The following sections outline a number of popular commands, modifications, and plugins.
One of the most powerful features of irssi is its pervasive tab completion. All commands and command arguments can be completed using the tab key by typing the first few characters of command or argument and then pressing the tab key to cycle through possible completions. Nicknames in a channel are tab completable, as are channel and window names.
If you find yourself using a single command with great frequency and want to avoid repetitively typing it, you can bind it to a key. For example, see the following command:
/bind meta-x /window last
This will create a key binding for meta-x (depending on your terminal emulation this may be Alt-x or Esc-X) that runs the command "/window last". Henceforth, when you press "M-x", the focus of your irssi session will toggle between your current window and your last window. If you would like to specify bindings for "Control-" combinations use "^X" or "^v", where X and v are the keys to be bound (C-X or C-v in emacs-style notation). Note that key bindings are case sensitive.
Alternatively, you may want to create an "alias" (a shortening of a specific command). Consider the following examples aliases for longer /window commands:
/alias wj join -window /alias wm window move
Once created, rather than typing "/window join #channel" you may type "/wj #channel" to join a channel in the current window. Similarly, rather than typing "/window move [number]", you can type /wm to move the window elsewhere.
You may also create aliases with variables. mIRC users may remember the "slap" command which allows you to slap users in the channel with a trout. While not all users may find this useful or nice, the following command will add a /slap alias to irssi:
/alias slap /me slaps $0 around a bit with a large trout;
When you type /slap <nickname>, you will perform an "action" (or /me command) that slaps the user around a bit with a large trout.
Perhaps a more useful example is creating aliases for services. irssi does not pass unknown commands on to the IRC server, so you will get an unknown command error when you try to use commands like /cs or /ns. To fix this, you may wish to add the following aliases:
/alias cs quote cs $0- /alias ns quote ns $0-
When you use /cs or /ns, it is as if you have typed /msg chanserv or /msg nickserv, respectively. The $0- in the aliases above passes anything after /cs or /ns on to the service you are trying to use (ChanServ or NickServ in this case). You may add aliases such as these for any other services you use as well.
Unless you explicitly save your configuration, every modification that you make to your irssi session will be lost when irssi exits. Issue the following command to irssi to save all current configuration modifications to your ~/.irssi/config file:
/save
You may also want to run "/layout save" to save the arrangement of windows so that when you start irssi again you do not have to rearrange all of the channels that you have set to automatically join. Additionally, you may want to create the following "ADDALLCHAN" alias:
/alias ADDALLCHAN script exec foreach my \$channel (Irssi::channels()) { Irssi::command("channel add -auto \$channel->{name} \$channel->{server}->{tag} \$channel->{key}")\;}
When you issue the /ADDALLCHAN command, all of the channels that you are currently joined to will be auto joined the next time you run irssi. Consider running the above commands with some regularity to ensure that your configuration file reflects the current state of your irssi session. Remember that you cannot safely edit your irssi configuration file while an irssi session is running.
There are many plugins for irssi that provide a large amount of additional functionality. To find scripts, examine the irssi script repository. Consider the following commands for managing scripts:
The following plugins are popular among the Linode community:
You can install all of these scripts to "autorun" when you invoke irssi the next time by issuing the following sequence of commands:
cd ~/.irssi/scripts/autorun/ wget http://scripts.irssi.org/scripts/trackbar.pl wget http://scripts.irssi.org/scripts/go.pl wget http://scripts.irssi.org/scripts/nickcolor.pl wget http://scripts.irssi.org/scripts/screen_away.pl wget http://scripts.irssi.org/scripts/highlite.pl wget -O adv_windowlist.pl http://library.linode.com/assets/633-adv_windowlist.pl
From within irssi, issue the following commands to load these plugins for the first time:
/script load autorun/trackbar.pl /script load autorun/go.pl /script load autorun/nickcolor.pl /script load autorun/screen_away.pl /script load autorun/highlite.pl /script load autorun/adv_windowlist.pl
If you would like to avoid auto loading these scripts, replace the cd command with "cd ~/.irssi/scripts/". To load these scripts, issue the load commands to irssi in the following form:
/script load trackbar.pl /script load go.pl /script load nickcolor.pl /script load screen_away.pl /script load highlite.pl /script load adv_windowlist.pl
You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.
This guide is licensed under a Creative Commons Attribution-NoDerivs 3.0 United States License.
Last edited by Amanda Folson on Thursday, June 2nd, 2011 (r2114).
