Skip to content

Instantly share code, notes, and snippets.

@redwards510
Forked from tasdikrahman/irssi.md
Last active August 14, 2023 23:15
Show Gist options
  • Save redwards510/e2f46528228c3ad7d0ab7318615dcc78 to your computer and use it in GitHub Desktop.
Save redwards510/e2f46528228c3ad7d0ab7318615dcc78 to your computer and use it in GitHub Desktop.
irssi cheatsheet

src :

Navigating while typing

Let’s start by what you can do while typing. These keystrokes change only what happens on the input line (the line where you type stuff). Ctrl + or move one word left or right. Ctrl + A or Home move to start of line.

Ctrl + E or End move to end of line.

Ctrl + W remove from cursor to the beginning of the word the cursor is on.

Ctrl + K remove from cursor to end of line.

Ctrl + U remove the entire line.

or previous/next command you typed.

Navigating within a window

There are keystrokes and commands to navigate within a single window. The total amount of text inside a single window is called the buffer.

PgDn or Alt + N scroll down half a page.

PgUp or Alt + P scroll up half a page. And these are the commands to type in the command line:

/scrollback home: go to the first line of the buffer.

/scrollback end: go to the last line of the buffer.

/scrollback goto 13:05: scrolls back to 13:05.

/scrollback goto -100: scrolls back 100 lines.

/scrollback goto +50: scrolls forward 50 lines. You can use /sb instead of /scrollback to save time typing.

Navigating between windows

Alt + A sends you to the window with the most recent, most important activity. Pressing it consecutively will first lead you through all windows that are pink in your activity bar, then all windows that are white, and then the rest. This is not entirely correct, but if you are able to correct me on this, you don’t need this article in the first place :-)

Alt + 1, Alt + 2 , and so on. These take you directly to the window with that number. By default, the top 2 lines of your (qwerty) keyboard are bound that way, all the way up to Alt + O, which takes you to window 19.

Ctrl + P or Ctrl + N, or via Alt + or Alt + : next or previous window

Some commands to make your life easier:

/window last: go to the window you were in before this one. /window goto <number>: go to the window with that number. /window goto <nickname>: go to the window with the query with . /window goto <channel>: go to the window with the given channel. Changing navigation

Personally, I like my home and end keys not to go to the beginning and end of the text line, but to the beginning and end of the buffer. I have accomplished this by doing the following:

/bind end command /sb end /bind home command /sb home Also, having alt + 1 through alt + 0 and alt + q through alt + p is great if you have “only” 20 windows, but if you have more, what then? I’ve added windows 21 to 40, like this:

/bind meta-a change_window 21 /bind meta-s change_window 22 And so on. I had to re-bind alt + a of course, alt + [, which is to the right of the p on my keyboard:

/bind meta-[ active_window If you want to scroll up or down a different amount that half a page when pressing page-up or page-down, change the setting scroll_page_count.

The command /window goto is very useful. However, it’s way too much typing. So, since I never use /w for /who, I’ve changed /w to /window goto:

/alias w /window goto Finally, I got rather annoyed by how Ctrl + z puts irssi in the background. I never ever want to do that. So, I wanted to bind Ctrl + z to a useful command. There is a command that takes you to the window you were in before this one, so I bound that:

/bind ^Z command window last This way, by pressing Ctrl + z, I can keep toggling between two interesting windows.


  1. To ignore joins / quits / nicks changes on a specific channel.

    /ignore -channels #chan1,#chan2,#chan3 * JOINS PARTS QUITS NICKS

  2. Auto Connect to a Server on startup

    /SERVER ADD -auto -network IRCnet irc.freenode.net 6667

  3. Auto Join to Specificed channels

    /CHANNEL ADD -auto #doothings IRCnet

  4. To Keep logging all these conversations

    /SET AUTOLOG ON

  5. To set Nicks and Real Name etc.

    /SET -> This should show all existing configured parameters.

    To change these just say

    /SET param-name value like /SET nick nism-pi

  6. To auto-identify on connecting with NickServ

    /network add -autosendcmd "/msg nickserv identify <password> ;wait 2000" IRCnet

  7. /SAVE to save the entire configuration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment