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

Sébastien Helleu
`<flashcode@flashtux.org>`
version 1.0.1, 2015-01-01

## 1. Запуск WeeChat

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

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

    $ weechat

## 2. помощь и параметры

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

    /help

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

    /help команда

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

    /set config.section.option value

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

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

В команде `/set` можно указывать неполные названия параметров с шаблоном "*" в начале или конце, чтобы отобразить все параметры с данными буквами. Пример:

- Показать все параметры (WeeChat и плагинов):

    /set

- Показать параметры WeeChat:

    /set weechat.*

- Показать параметры IRC-плагина:

    /set irc.*

Справку по любому параметру можно получить, используя `/help`, например:

    /help weechat.look.highlight

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

Можно редактировать файлы конфигурации (*.conf) вручную и применять параметры с помощью команды `/reload`, в случае, если вы не хотите использовать `/set`.

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

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

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

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

## 4. Добавление IRC-сервера

Сервер freenode по умолчанию добавляется при первом запуске.

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

    /server add oftc irc.oftc.net/6667

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

    /help server

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

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

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

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

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

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

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

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

    /set irc.server.freenode.autoconnect on

To connect with SSL:

    /set irc.server.freenode.addresses "chat.freenode.net/7000"
    /set irc.server.freenode.ssl on
    /set irc.server.freenode.ssl_dhkey_size 1024

Замечание | Freenode does not support the default dhkey size of 2048, so it has to be set to 1024.

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

    /set irc.server_default.sasl_mechanism dh-blowfish
    /set irc.server.freenode.sasl_username "mynick"
    /set irc.server.freenode.sasl_password "xxxxxxx"

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

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

Замечание | Many commands in option command can be separated by ; (semi-colon).

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

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

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

    /set irc.server.freenode.nicks null

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

    /set irc.server.freenode.xxx value

## 6. Подключение к IRC-серверу и автовход на каналы

    /connect freenode

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

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

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

    /set irc.look.server_buffer independent

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

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

    /join #channel

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

    /part [quit message]

Закрыть буфер сервера или канала (`/close` — алиас для `/buffer close`):

    /close

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

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

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

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

    /close

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

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

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

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

    /buffer
    /window

(Я не буду повторять, что вы можете получить помощь, набрав /help с соответствующим параметром.)

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

    /window splitv 33

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

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

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

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

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

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

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

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

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

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

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

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

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

    /key bind meta-y /buffer close

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

    /key unbind meta-y

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

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

Для WeeChat доступно много внешних скриптов (от разработчиков клиента): http://weechat.org/scripts

Управлять скриптами в WeeChat можно с помощью команды `/script` (см. `/help script` для дополнительной информации).

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

Теперь вы можете пользоваться WeeChat и консультироваться с FAQ/documentation по возникающим вопросам: http://weechat.org/doc

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