irssi is a terminal-based IRC (Internet Relay Chat) client. Lightweight, fast, and highly configurable for chatting on IRC networks.
Connecting to Networks
- /connect <server> - Connect to IRC server
- /connect <server> <port> - Connect with specific port
- /connect <server> <port> <password> - Connect with password
- /disconnect - Disconnect from current server
- /quit - Quit irssi
- /save - Save configuration
Channel Operations
- /join <#channel> - Join channel
- /join <#channel> <key> - Join password-protected channel
- /part <#channel> - Leave channel
- /part <#channel> <message> - Leave with message
- /names <#channel> - List users in channel
- /topic <#channel> <topic> - Set channel topic
- /msg <#channel> <message> - Send message to channel
Private Messages
- /query <nick> - Start private message
- /msg <nick> <message> - Send private message
- /close - Close current window
- /wclose - Close window
Window Navigation
- Alt+0-9 - Switch to window number
- Alt+Arrow or Ctrl+N/P - Switch windows
- /window next - Next window
- /window prev - Previous window
- /window goto <number> - Go to window number
- /window close - Close current window
- /window new - Create new window
- /window new split - Split window
- /window show irc - Show IRC windows only
Input Editing
- Ctrl+A - Beginning of line
- Ctrl+E - End of line
- Ctrl+B/F - Move backward/forward one character
- Ctrl+D - Delete character
- Ctrl+H - Backspace
- Ctrl+K - Delete to end of line
- Ctrl+U - Delete to beginning of line
- Ctrl+W - Delete word
- Ctrl+L - Clear screen
Nickname and Identity
- /nick <newnick> - Change nickname
- /set real_name <name> - Set real name
- /set user_name <name> - Set username
- /whois <nick> - Get user information
- /whoami - Show your own information
Server Commands
- /server add -m <network> <server> <port> - Add server
- /server <network> - Connect to network
- /server list - List configured servers
- /server remove <network> - Remove server
Channel Modes
- /mode <#channel> +o <nick> - Give operator status
- /mode <#channel> -o <nick> - Remove operator status
- /mode <#channel> +v <nick> - Give voice
- /mode <#channel> -v <nick> - Remove voice
- /mode <#channel> +i - Invite-only channel
- /mode <#channel> +m - Moderated channel
- /mode <#channel> +n - No external messages
- /mode <#channel> +s - Secret channel
- /mode <#channel> +t - Topic protection
Channel Information
- /list - List all channels
- /list <pattern> - List channels matching pattern
- /who <#channel> - List users in channel
- /ban <#channel> <nick> - Ban user from channel
- /kick <#channel> <nick> - Kick user from channel
- /kick <#channel> <nick> <reason> - Kick with reason
Settings and Configuration
- /set <option> <value> - Set option
- /set -<option> - Unset option
- /toggle <option> - Toggle option
- /bind -m <mode> <key> <command> - Bind key to command
- /unbind -m <mode> <key> - Unbind key
Common Settings
- /set nick <nickname> - Set default nickname
- /set real_name <name> - Set real name
- /set user_name <username> - Set username
- /set autojoin_channels <#channel1,#channel2> - Auto-join channels
- /set autolog <on|off> - Enable/disable logging
- /set autolog_path <path> - Set log file path
- /set scrollback_lines <number> - Set scrollback buffer size
Scripts and Plugins
- /script load <script.pl> - Load script
- /script unload <script.pl> - Unload script
- /script list - List loaded scripts
- /script exec <code> - Execute Perl code
- /run <script.pl> - Run script
Aliases and Shortcuts
- /alias <name> <command> - Create alias
- /unalias <name> - Remove alias
- /alias list - List all aliases
Example aliases:
- /alias j /join
- /alias m /msg
- /alias q /query
Logging
- /set autolog on - Enable automatic logging
- /set autolog_path ~/irclogs/$tag/$0.log - Log file path template
- /save - Save configuration (includes autolog settings)
Configuration
Config File Location
- `~/.irssi/config` - Main configuration file
- `~/.irssi/startup` - Startup commands
- `~/.irssi/scripts/` - Script directory
Example Configuration
# Auto-join channels
servers = (
{
address = "irc.libera.chat";
chatnet = "Libera";
port = "6697";
use_ssl = "yes";
autoconnect = "yes";
}
);
chatnets = {
Libera = {
type = "IRC";
autosendcmd = "/^msg nickserv identify <password>; wait 2000";
};
};
channels = (
{ name = "#channel"; chatnet = "Libera"; autojoin = "yes"; }
);
settings = {
"core" = {
real_name = "Your Name";
user_name = "username";
nick = "YourNick";
alternate_nick = "YourNick_";
};
};
Tips
- Use /help <command> for command help
- Use /alias to create shortcuts for frequent commands
- Use /bind to customize key bindings
- Enable autolog to keep chat history
- Use window navigation (Alt+number) for efficient multitasking
- Use /whois to check user information
- Use /ignore to ignore annoying users
- Scripts can extend functionality significantly
- Use Ctrl+X Ctrl+X to switch between windows
- Configure auto-join channels in config file
- Use SSL/TLS for secure connections (port 6697)
- Use /save after making changes
- Create separate windows for different channels
- Use /window close to clean up unused windows