WeeChat Terminal IRC client

Version 4.10.1 · source

Start here

/server add <name> <host>
Define a server
/connect <name>
Connect to it
/join #<channel>
Join a channel
Alt+Left / Alt+Right
Previous / next buffer
Alt+<number>
Jump to buffer
Alt+a
Next buffer with activity
PgUp / PgDn
Scroll chat
/quit
Leave WeeChat

Concepts

Window a split of the screen
Buffer server, channel or query
Bars buflist, nicklist, title, status, input

Connect

/server add <name> <host>
Define a server
Port 6697 with TLS is the default.
/connect <name>
Connect to a server
/set irc.server.<name>.autoconnect on
Connect at startup
/set irc.server.<name>.autojoin "#a,#b"
Channels to join on connect
/autojoin add
Add current channel to autojoin
/set irc.server.<name>.nicks "<nick1>,<nick2>"
Nicknames to use
/secure set <name> <password>
Store a password encrypted
Use it as "${sec.data.<name>}" in options.
/set irc.server.<name>.sasl_username "<user>"
SASL login name
/set irc.server.<name>.sasl_password "${sec.data.<name>}"
SASL password from secure data
/disconnect <name>
Disconnect from a server
/reconnect <name>
Reconnect to a server

Channels & Chat

/join #<channel>
Join a channel
/join -server <name> #<channel>
Join on a given server
/part [<message>]
Leave current channel
/query <nick> [<text>]
Open a private chat
/msg <nick> <text>
Send a private message
/nick <newnick>
Change your nickname
/away <text>
Set away message
/whois <nick>
Show info about a user
/list
Open channel list buffer
/ignore add <nick>
Hide messages from a nick
/notify add <nick>
Watch when a nick is online
/quit
Exit WeeChat
/buffer close
Close current buffer

Buffers

Alt+Left / Alt+Up / Ctrl+p / F5
Previous buffer
Alt+Right / Alt+Down / Ctrl+n / F6
Next buffer
Alt+1-9
Go to buffer 1-9
Alt+0
Go to buffer 10
Alt+j 15
Go to buffer by number
Alt+a
Next buffer with activity
Alt+/
Last displayed buffer
Alt+j Alt+s
Server buffer
Alt+n / Alt+p
Next / previous highlight
Alt+h Alt+c
Clear hotlist
/buffer move <number>
Move buffer to a position
PgUp / PgDn
Scroll one page
Alt+PgUp / Alt+PgDn
Scroll a few lines
Alt+Home / Alt+End
Scroll to top / bottom
Alt+u
First unread line
Alt+Shift+U
Mark all buffers as read
Ctrl+s
Search buffer lines
Ctrl+r
Search input history
Ctrl+r / Up
Previous match (in search)
Ctrl+s / Down
Next match (in search)
Ctrl+q
Stop search, reset scroll
Alt+l
Toggle bare display
Easier for copying long URLs.

Input Line

Tab
Complete command or nick
Shift+Tab
Previous completion
Up / Down
Previous / next command
Ctrl+a / Home
Start of line
Ctrl+e / End
End of line
Ctrl+Left / Alt+b
Previous word
Ctrl+Right / Alt+f
Next word
Ctrl+k
Delete to end of line
Ctrl+u
Delete to start of line
Ctrl+w
Delete previous word
Ctrl+y
Paste deleted text
Alt+k
Show a key's code
Press it, then the key; use the name in /key bind.

Windows & Bars

/window splith
Split horizontally
/window splitv
Split vertically
/window merge
Merge windows
/window close
Close this window
F7 / F8
Previous / next window
Alt+z
Zoom window (again to restore)
Ctrl+l
Redraw screen
Alt+Shift+N
Toggle nicklist
Alt+Shift+B
Toggle buflist
/layout store
Save buffer and window layout

Config & Filters

/fset
Browse and edit options
/set <option> <value>
Change an option
/set *<text>*
Search options by name
/help <command or option>
Show built-in help
/save
Write config to disk
/reload
Reload config files
/upgrade
Restart in place, keep connections
/filter add <name> <buffers> <tags> <regex>
Hide matching lines
Alt+=
Toggle all filters
Alt+-
Toggle filters in this buffer
/key bind <key> <command>
Bind a key
/key listdiff
Show changed bindings
Alt+m
Toggle mouse support
/set weechat.look.highlight "<words>"
Extra highlight words
/alias add <name> <command>
Create a command alias

Recipes

First connection with SASL
/server add libera irc.libera.chat/set irc.server.libera.sasl_username "alice"/secure passphrase <your passphrase>/secure set libera <password>/set irc.server.libera.sasl_password "${sec.data.libera}"/set irc.server.libera.autoconnect on/connect libera
Autojoin channels
/join #weechat/autojoin add# or set the list directly/set irc.server.libera.autojoin "#weechat,#python"
Hide joins, parts and quits
/filter add joinquit * irc_join,irc_part,irc_quit *# Alt+= toggles all filters to see them again
Persistent session
tmux new -s irc weechat# detach with prefix d, later:tmux a -t irc