# 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
`-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.
`-h, --help` | Display help
`-k, --keys` | Display WeeChat default keys
`-l, --license` | Display WeeChat license
`-p, --no-plugin` | Disable plugins auto-load
`-v, --version` | Display WeeChat version
`plugin:option` | Option for plugin (see doc for each plugin)

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.conf`"

You can edit this file at your convenience to configure WeeChat 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 | Complete command or nick (Tab again: find next completion)
Shift + Tab | Without completion, do a partial completion. With pending completion, complete with previous 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 + J then Alt + L | Switch to last buffer
Alt + J then Alt + P | Switch to buffer previously displayed
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
Alt + = | Toggle filters on/off

## Command line

WeeChat command line (at the bottom of window) lets you execute commands or send text to buffer.

Commands begin with "/" char, followed by name of command. For example, to see list of all options:

    /set

Text sent to a buffer is any text that does not begin with "/" char. For example, to send text "`hello`" on current buffer:

    hello

However, it is possible to start with "/" char, by adding another. For example, to send text "`/set`" on current buffer:

    //set

For some plugins like IRC, 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 commands

This chapter lists all WeeChat commands.

&weechat_commands.xml;

## Configuration file

List of options for config file:

Option | Type | Values | Default | Description
--- | --- | --- | --- | ---

&weechat_options.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