# Краткое введение в WeeChat

Sébastien Helleu
flashcode@flashtux.org
версия 4.7.1

## 1. Запуск WeeChat

В качестве эмулятора терминала для X рекомендуется rxvt-unicode: в нём хорошая поддержка UTF-8 и нет проблем с сочетаниями клавиш.

Запуск из шелла:

    weechat

## 2. Online help

В WeeChat есть справка по всем командам, просто наберите:

    /help

Чтобы получить справку по определённой команде, наберите:

    /help команда

Help is available for options as well:

    /help config.section.option

(где `config` — название конфигурации (`weechat` для ядра или название плагина для плагина), `section` — группа параметров и `option` — название параметра).

## 3. Set options

Для задания параметров используйте:

    /set config.section.option value

WeeChat немедленно применяет все изменения (вам никогда не потребуется перезапускать WeeChat после изменений в параметрах).

Все параметры сохраняются при выходе из WeeChat (или путём принудительной записи с помощью команды `/save`).

Важно | It is not recommended to edit configuration files by hand because WeeChat may write them at any time (for example on `/quit`) and after any change you must run the command `/reload` (with the risk of losing other changes that were not yet saved with `/save`). You can use the command `/set`, which checks the value and applies immediately the changes.

The plugin fset allows you to easily browse options and change them.

For example to display WeeChat options:

    /fset weechat.*

IRC options:

    /fset irc.*

The `/fset` command has completion on part of option names, so for example if you type `/fset hot` and press `Tab` this is completed as `/fset hotlist`. If you press `Enter`, options about the hotlist are displayed.

For more information about `/fset` command and keys, see `/help fset`.

## 4. Ядро и плагины

«Ядро» WeeChat используется только для вывода информации на экран и взаимодействия с пользователем, так что ядро без плагинов бесполезно. (преданные пользователи: IRC был частью ядра в версиях ⩽ 0.2.6).

Все сетевые протоколы вроде IRC представлены отдельными плагинами.

Используйте команду `/plugin`, чтобы увидеть все загруженные плагины. В этом списке должен быть IRC-плагин и другие.

## 5. Добавить IRC сервер

Вы можете добавить IRC сервер с помощью команды `/server`, например:

    /server add libera irc.libera.chat/6697 -tls

In this command, `libera` is the internal server name used by WeeChat: you’ll be able to connect with `/connect libera` and the server options are irc.server.libera.xxx.

Вы всегда можете обратиться к справке, набрав:

    /help server

## 6. Установка дополнительных параметров для сервера

Для всех значений, которые не были установлены вручную, WeeChat использует общие для всех серверов значения по умолчанию ("fall backs"). Посмотреть эти значения можно, набрав "irc.server_default.*".

Для каждого параметра в группе server WeeChat использует установленное значение, если оно определено (не "null"). В противном случае используется значение по умолчанию ("irc.server_default.xxx").

Например, есть список псевдонимов по умолчанию (основан на un*x-логине пользователя), и перекрыть его для сервера libera можно следующей командой:

    /set irc.server.libera.nicks "mynick,mynick2,mynick3,mynick4,mynick5"

Так можно установить псевдоним и настоящее имя:

    /set irc.server.libera.username "My user name"
    /set irc.server.libera.realname "My real name"

Включить автосоединение с сервером при старте программы:

    /set irc.server.libera.autoconnect on

Если сервер предоставляет SASL, то можно использовать его для аутентификации (вы будете идентифицированы до того, как присоединиться к каналам):

    /set irc.server.libera.sasl_username "mynick"
    /set irc.server.libera.sasl_password "xxxxxxx"

Для запуска команды после соединения с сервером, к примеру, аутентификации через nickserv (нужно только если не используется аутентификация SASL):

    /set irc.server.libera.command "/msg nickserv identify xxxxxxx"

Примечание | В параметре command можно записать несколько команд через `;` (точку с запятой).

Если вы хотите защитить ваш пароль в конфигурационном файле, вы можете воспользоваться функцией защиты данных

Для начала, создайте ключевую фразу:

    /secure passphrase this is my secret passphrase

Затем добавьте защищенные данные с помощью вашего libera пароля:

    /secure set libera_password xxxxxxx

Вы также можете использоавть `${sec.data.libera_password}` вместо вашего пароля в опциях IRC, например:

    /set irc.server.libera.sasl_password "${sec.data.libera_password}"

Для автовхода на определённые каналы при подключении к серверу используйте:

    /set irc.server.libera.autojoin "#channel1,#channel2"

The `/autojoin` command lets you configure the autojoin option easily (see `/help autojoin`).

You can also configure WeeChat to automatically update the autojoin option when you join or leave channels:

    /set irc.server_default.autojoin_dynamic on

Для очистки параметра из группы server и установки значения по умолчанию используется следующая конструкция, например, для возврата к псевдонимам по умолчанию (irc.server_default.nicks):

    /unset irc.server.libera.nicks

Другие параметры можно установить, используя следующую команду ("xxx" соответствует названию параметра):

    /set irc.server.libera.xxx value

Подсказка | You can complete name and value of options with the `Tab` key and `Shift`+`Tab` for a partial completion (useful for long words like the name of option).

## 7. Connect to IRC server

    /connect libera

With this command, WeeChat connects to the libera server and auto-joins the channels configured in the "autojoin" server option.

Примечание | Эту команду можно использовать для добавления нового сервера и подключения к нему без команды `/server` (see `/help connect`).

По умолчанию буфер сервера совмещён с core-буфером WeeChat. Для переключения между core-буфером и буферами сервера можно использовать `Ctrl`+`x`.

Автоматическое совмещение буферов сервера можно отключить, чтобы работать с ними независимо:

    /set irc.look.server_buffer independent

## 8. Вход и выход с IRC-каналов

Зайти на канал:

    /join #channel

Покинуть канал (оставляет буфер открытым):

    /part [quit message]

Закрыть соединение с сервером, каналом или частным буфером (`/close` - псевдоним для `/buffer close`):

    /close

Внимание | Закрытие соединения с сервером закроет все каналы/частные буферы.

Отключиться от сервера, на серверном буфере:

    /disconnect

## 9. Персональные IRC-сообщения

Открыть буфер и отправить сообщение другому пользователю (с псевдонимом foo):

    /query foo сообщение

Закрыть буфер персонального разговора:

    /close

## 10. Управление буферами и окнами

Буфер — это относящийся к плагину компонент с номером, категорией и именем. Буфер содержит данные, отображаемые на экране.

Окно — это то, на чём отображается содержимое буфера. По умолчанию создаётся одно окно, отображающее один буфер. Если разделить экран, то можно одновременно видеть несколько окон с несколькими буферами.

Команды для управления буферами и окнами:

    /buffer
    /window

Например, чтобы разделить экран по вертикали на малую (1/3 ширины) и большую (2/3) части, используйте команду:

    /window splitv 33

Отменить разделение экрана:

    /window merge

## 11. Сочетания клавиш

В WeeChat по умолчанию определено немало горячих клавиш. Все они задокументированны, но вам обязательно нужно знать несколько жизненно необходимых:

- `Alt`+`←` / `Alt`+`→` или `F5` / `F6`: к следующему или предыдущему буферу

- `F1` / `F2`: scroll bar with list of buffers ("buflist")

- `F7` / `F8`: следующее или предыдущее окно (когда экран разделён)

- `F9` / `F10`: прокрутка title bar

- `F11` / `F12`: прокрутка списка псевдонимов

- `Tab`: дополнить текст в строке ввода, как в шелле

- `PgUp` / `PgDn`: прокрутка текста в текущем буфере

- `Alt`+`a`: перейти к буферу с «активностью» (в hotlist’е)

Вы можете переназначить любые сочетания в соответствии со своей клавиатурой и предпочтениями с помощью команды `/key`. Для получения кодов клавиш полезно использовать сочетание `Alt`+`k`.

Например, чтобы назначить на `Alt`+`!` команду `/buffer close`:

    /key bind (press alt-k) (press alt-!) /buffer close

Команда будет выглядеть примерно так:

    /key bind meta-! /buffer close

Удалить сочетание клавиш:

    /key unbind meta-!

## 12. Плагины и скрипты

В некоторых дистрибутивах, например в Debian, плагины доступны в виде отдельных пакетов (вроде weechat-plugins). Плагины загружаются автоматически, если найдены (можете посмотреть документацию о загрузке и выгрузке плагинов или скиптов).

Множество внешних скриптов (написанных контрибьюторами) доступно для WeeChat, вы можете скачать и установить скрипты из репозитория с помощью команды `/script`, например:

    /script install go.py

Для получения дополнительной информации введите команду `/help script`.

A list of scripts is available in WeeChat with `/script` or on this page ↗.

## 13. Документация для дальнейшего чтения

You can now use WeeChat and read FAQ/documentation ↗ for any other questions.

Приятной работы с WeeChat!