Usage
This chapter explains how to run WeeChat, the default key bindings
used, internal and IRC commands, setup file, and FIFO pipe use.
Running WeeChat
Command line arguments:
Parameter
Description
-a, --no-connect
Disable auto-connect to servers at startup
-c, --config
Display config help (list of options)
-d, --dir <path>
Set path as home for WeeChat (used for configuration files,
logs, user plugins and scripts). Default value is
"~/.weechat". Please note that directory
is created if not found by WeeChat.
-f, --key-functions
Display WeeChat internal functions for keys
-h, --help
Display help
-i, --irc-commands
Display IRC commands list
-k, --keys
Display WeeChat default keys
-l, --license
Display WeeChat license
-p, --no-plugin
Disable plugins auto-load
-v, --version
Display WeeChat version
-w, --weechat-commands
Display WeeChat commands list
It is also possible to give URL for one or many IRC servers, as
follow:
irc[6][s]://[pseudo[:mot_passe]@]irc.example.org[:port][/channel][,channel[...]
Example to join #weechat and #toto on
"irc.freenode.net" server, default port (6667),
with "nono" nick:
$ weechat-curses irc://nono@irc.freenode.net/#weechat,#toto
To start WeeChat, issue this command:
for Curses GUI: weechat-curses
for Gtk GUI: weechat-gtk
for wxWidgets GUI: weechat-wxwidgets
for Qt GUI: weechat-qt
When you run WeeChat for the first time, a default configuration
file is created, with default options.
The default configuration file is:
"~/.weechat/weechat.rc"
You can edit this file at your convenience to configure WeeChat
(ONLY if WeeChat is not running), or you can set parameters with
"/set" command in WeeChat
(see )
Key bindings
Key
Action
Left arrow / Ctrl + B
Go to previous char in command line
Right arrow / Ctrl + F
Go to next char in command line
Ctrl + left arrow
Go to previous word in command line
Ctrl + right arrow
Go to next word in command line
Home / Ctrl + A
Go to the beginning of command line
Ctrl + C then B
Insert code for bold text.
Ctrl + C then C
Insert code for colored text.
Ctrl + C then O
Insert code for color reset.
Ctrl + C then R
Insert code for reverse color.
Ctrl + C then U
Insert code for underlined text.
End / Ctrl + E
Go to the end of command line
Ctrl + K
Delete from cursor until end of command line
Ctrl + L
Redraw whole window
Ctrl + R
Search for text in buffer history
(two times: search exact text)
Ctrl + S then Ctrl + U
Set unread marker on all buffers
Ctrl + T
Transpose chars
Ctrl + U
Delete from cursor until beginning of command line
Ctrl + W
Delete previous word of command line
Ctrl + Y
Paste clipboard content
Backspace / Ctrl + H
Delete previous char in command line
Delete / Ctrl + D
Delete next char in command line
Tab / Shift + Tab
Complete command or nick
(Tab again: find next completion)
Any char
Insert char at cursor position in command line
Enter / Ctrl + J / Ctrl + M
Execute command or send message
(in search mode: stop search)
Up arrow / Down arrow
Call again last commands/messages (in search mode: search
up/down)
Ctrl + up arrow / Ctrl + down arrow
Call again last commands/messages in global history
(common for all buffers)
PageUp / PageDown
Scroll up / down one page in buffer history
Alt + PageUp / Alt + PageDown
Scroll up / down a few lines in buffer history
Alt + Home / Alt + End
Scroll to top / bottom of buffer
F5 / Alt + left arrow
Switch to previous buffer
F6 / Alt + right arrow
Switch to next buffer
F7
Switch to previous window
F8
Switch to next window
F9 / F10
Scroll topic
F11 / F12
Scroll nicklist
Alt + F11 / Alt + F12
Go to the beginning / the end of nicklist
Alt + A
Switch to next buffer with activity
(with priority: highlight, message, other)
Alt + B
Go to previous word in command line
Alt + D
Delete next word in command line
Alt + F
Go to next word in command line
Alt + H
Clear hotlist
(activity notification on other buffers)
Alt + I
Remove last infobar message
Alt + J then Alt + D
Display DCC buffer
Alt + J then Alt + L
Switch to last buffer
Alt + J then Alt + P
Switch to buffer previously displayed
Alt + J then Alt + R
Switch to raw IRC data buffer
Alt + J then Alt + S
Switch to server buffer
Alt + J then Alt + X
Switch to first channel of next server
(or server buffer if no channel is opened)
Alt + digit (0-9)
Switch to buffer by number (0 = 10)
Alt + J then number (01-99)
Switch to buffer by number
Alt + K
Grab a key and insert its code in command line
Alt + N
Scroll to next highlight
Alt + P
Scroll to previous highlight
Alt + R
Delete entire command line
Alt + S
Switch servers on servers buffer
(if option "look_one_server_buffer" is enabled)
Alt + U
Scroll to first unread line in buffer
Alt + W then Alt + arrow
Switch to window with direction
Command line
WeeChat command line (at the bottom of window) lets you send text on
channels and execute WeeChat or IRC commands (see
).
Commands begin with "/" char, followed by name of command.
For example, to initiate a private chat with "toto":
/query toto
Text sent to a channel is any text that does not begin with "/" char.
For example, to send text "hello" on current
channel:
hello
However, it is possible to start with "/" char, by adding another.
For example, to send text "/query toto" on current
channel:
//query toto
If option for sending IRC colors ("irc_colors_send")
is enabled, you can use color codes and attributes, as follow (press
Ctrl-C then following letter, with optional value):
Code
Description
^Cb
bold text
^Ccxx
text color "xx"
(see colors table below)
^Ccxx,yy
text color "xx"
and background "yy"
(see colors table below)
^Co
disable color and attributes
^Cr
reverse video (revert text color with background)
^Cu
underlined text
Note: the same code (without number for ^Cc) may be used to stop the
attribute.
Color codes for ^Cc are:
Code
Color
00
white
01
black
02
dark blue
03
dark green
04
light red
05
dark red
06
magenta
07
orange
08
yellow
09
light green
10
cyan
11
light cyan
12
light blue
13
light magenta
14
gray
15
light gray (white)
Example: display of "hello everybody!" with
"hello" in light blue bold, and
"everybody" in light red underlined:
^Cc12^Cbhello^Cb^Cc04^Cu everybody^Cu^Cc!
WeeChat / IRC commands
This chapter lists all WeeChat and IRC commands.
WeeChat commands
&weechat_commands.xml;
Key functions
Function
Description
&key_functions.xml;
IRC commands
&irc_commands.xml;
Configuration file
List of options for config file:
Option
Type
Values
Default
Description
&config.xml;
Colors for Curses GUI are:
Keyword
Color
default
default color (transparent for background)
black
black
red
dark red
lightred
light red
green
dark green
lightgreen
light green
brown
brown
yellow
yellow
blue
dark blue
lightblue
light blue
magenta
dark magenta
lightmagenta
light magenta
cyan
dark cyan
lightcyan
light cyan
white
white
FIFO pipe
You can remote control WeeChat, by sending commands or text to a
FIFO pipe (you have to enable option "irc_fifo_pipe", it is disabled
by default).
The FIFO pipe is located in "~/.weechat/" and is
called "weechat_fifo_xxxxx" (where xxxxx is the process ID (PID) of
running WeeChat). So if many WeeChat are running, you have many FIFO
pipes, one for each session.
The syntax for the FIFO pipe commands/text is:
server,channel *text or command here
where server and channel are optional, but if channel is here, server
should be too.
Some examples:
nick change on freenode to "mynick|out" :
$ echo 'freenode */nick mynick|out' >~/.weechat/weechat_fifo_12345
display text on #weechat channel:
$ echo 'freenode,#weechat *hello everybody!' >~/.weechat/weechat_fifo_12345
display text on current channel (buffer displayed by WeeChat):
$ echo '*hello!' >~/.weechat/weechat_fifo_12345
Warning: this is dangerous and you should
not do that except if you know what you do!
send two commands to unload/reload Perl scripts (you have to
separate them with "\n"):
$ echo -e "freenode */perl unload\nfreenode */perl autoload" >~/.weechat/weechat_fifo_12345
You can write a script to send command to all running WeeChat at same
time, for example:
#!/bin/sh
if [ $# -eq 1 ]; then
for fifo in ~/.weechat/weechat_fifo_*
do
echo -e "$1" >$fifo
done
fi
If the script is called "auto_weechat_command", you can run it with:
$ ./auto_weechat_command "freenode,#weechat *hello"