Weechat - Отличный консольный irc клиент

Октябрь 7, 2009

Очень давно я использую крайне удобный, настраиваемый и быстрый консольный irc клиент weechat. Сейчас актуальная версия 0.3 в которую почти после двух лет разработки добавили jabber плагин. В чем его прелесть? Прелесть его в очень многом. Во первых, в нем легко написать плагин, сделать это можно на одном из пяти удобных для вас языков: perl, ruby, lua, python и tcl. Еще, что крайне важно: в нем нет проблем с кодировками. Когда-то давно, я пытался использовать всеми так восхваляемый irssi и столкнулся именно с такой проблемой, которую у меня на на тот момент, так и не вышло побороть. Собственно, вот из-за этого, я и начал использовать weechat.

И так, обо всем по порядку.

Получение weechat

В archlinux эта программа есть в репозитариях, поэтому ее установка проста, и тривиальна:

sudo yaourt -S weechat

Если по каким-то причинам, в вашем любимом дистрибутиве нет ее, то вы можете скачать на официальном сайте - http://weechat.org или получить актуальную версию через git:

git clone git://git.sv.gnu.org/weechat.git

Добавление и настройка сервера

Для того что бы подключиться к irc сети, необходимо ее добавить

/server add dalnet irc.avtograd.ru/6667

Здесь я добавляю север irc.avtograd.ru с подключением к 6667 порту,
и даю ему имя dalnet.

Далее установим свои ники =)

/set irc.server.dalnet.nicks "ник1,ник2,ник3,ник4,ник5"

Теперь имя пользователя, и ваше реальное  имя

/set irc.server.dalnet.username "Имя_пользователя"
/set irc.server.dalnet.realname "Реальное_имя"

Если вы хотите автоматически подключатся к сети при включении то пишем:

/set irc.server.dalnet.autoconnect on

Для автовхода на каналы:

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

Если вам необходимо выполнить какую либо команду после подключения к серверу, на пример для идентификации ника NickServ используем команду:

/set irc.server.dalnet.command "/msg nickserv identify xxxxxx"

Сохраняем:

/save

Кстати WeeChat сам сохраняет при выходе из программы, но на всякий случай мы сохраним их сейчас.

После всего этого пишем /connect dalnet или если установили автоподключение при запуске, то перезапускаемся и радуемся! ;)

Настройка кодировки

Если на сервере используется отличная от weechat кодировка, то необходимо установить верную с помощью плагина charset.
Если сервер использует CP1251 (какой не православный сервер ;) ) то пишем:

/charset CP1251

Это установит для входящих и исходящих сообщений одну кодировку - CP1251.
Если необходимо разные кодировки для входящих и исходящих сообщений, то служат параметры decode и encode

/charset decode UTF-8
/charset encode CP1251

А теперь главное: Что бы установить кодировку для конкретного сервера, необходимо выполнить команду /charset в ее буфере. Для того, что бы установить глобальную кодировку, необходимо выполнить:

/set charset.default.decode UTF-8
/set charset.default.encode UTF-8

Не забываем сохранять с помощью команды /save !

Проверка орфографии

Пожалуй, уже не один линуксоид не может жить без проверки орфографии :) В weechat для его настройки используется плагин aspell и требует установленного в системе aspell.

Посмотреть все словари которые есть в системе, можно командой:

/aspell dictlist

Вывод команды будет показан в буфере сервера.

Что бы глобально установить русскую проверку орфографии необходимо установить соответствующий параметр в нужное значение:

/set aspell.check.default_dict "ru"

Что бы в определенном буфере установить определенный словарь, необходимо в его буфере установить его. Т.е. допустим что бы установить для англоязычного канала #awesome английский словарь, просто переходим в его буфер и пишем:

/aspell enable en

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

/set aspell.check.default_dict "ru, en"

Базовые понятия

В weechat существуют буферы и окна(buffers\window).  По умолчанию, когда вы подключитесь к серверу и зайдете на канал, то у вас будет одно окно, с одним буфером, и небольшое вертикальное окна со списком всех присутствующих. В каждом буфере, не более одного чата. Окно, вы можете поделить на две части или более частей как вам угодно. На пример, для разделения окна на половину по вертикали надо написать:

/window spitv 33

В каждом из окон может быть свой независимый буфер. Для перемещения между окон, используйте клавиши F7\F8.

Для перемещения между буферами, можно использовать команду /buffer и указать номер буфера. На пример команда /buffer 3 перейдет на третий буфер.

Плагины

Как я уже выше писал, в weechat очень большая возможность к расширяемости. Написать дополнения к нему можно на пяти(!) языках: python, ruby, lua, perl и tcl! Сейчас плагинов существует не так много как хотелось бы, но их вполне достаточно. Посмотреть все существующие плагины можно на этой странице - http://weechat.org/plugins/

Вообще, я бы рекомендовал скачать дополнение weeget.py С его помощью, можно просматривать и устанавливать дополнения прямо из самого weechat. И так, скачем и установим weeget. В консоли пишем:

cd ~/.weechat/python/autoload

wget http://weechat.org/files/scripts/weeget.py

Все плагины, weechat держит в своей папке в домашней директории. Для каждого языка своя папка. Для того, что бы weechat загружал необходимые плагины при запуске, надо поместить еще и в папку autoload, что мы и сделали. У каждого языка своя папка autoload.Что бы загрузить недавно добавленные в autoload плагины можно ввести имя языка, и следом команду autoload. На примере perl это может выглядеть так:

/perl autoload

Что бы загрузить какой либо плагин, необходимо в зависимости от языка на котором он сделан положить в директорию, и написать примерно следующую конструкцию:

/язык load имя_плагина.расширение

На пример для плагина weeget.py

/python load weeget.py

Так же можно просмотреть все доступные с помощью параметра list или выгрузить с помощью unload

/python list

/python unload weeget.py

Для "установки" плагинов я чуть выше рекомендовал weeget. Пользоваться ее крайне просто. Идем в "командный" буфер и пишем следующее:

/weeget list

Появиться список всех плагинов которые есть на сайте. Если вы хотите отсортировать по слову, или тэгу, то просто добавьте его. На пример game:

/weeget list game

Что бы установить плагин, необходимо использовать команду install:

/weeget install имя_плагина

На пример для плагина weetris.pl:

/weeget install weetris

Для удаления служит параметр remove:

/weeget remove weetris

Для получения дополнительной информации напишите

/help weeget

Кстати, крайне полезен плагин buffers который выводит слева, список всех буферов с номерами.

Быстрые клавиши и часто-используемые команды

Команды:

  • /join #канал  Войти на канал
  • /leave - покинуть текущий канал
  • /buffer close - закрыть текущий буффер
  • /buffer clear - очистить буффер
  • /connect имя_сервера - подключиться к определенному серверу
  • /connect -all - подключиться ко всем серверам
  • /disconnect -all - отключиться от всех серверов
  • /disconnect имя_сервера - отключиться от определенного сервера
  • /quit - выход

Быстрые клавиши:

  • ctrl+a - В начало строки
  • ctrl+e - В конец строки
  • ctrl+k - Удалить от позиции курсора, до конца командной строки
  • ctrl+u - Удалить от позиции курсора, до начала командной строки
  • ctrl+w - Удалить предыдущее слово командной строки
  • alt+d  - удалить следущее слово командной строки
  • alt+r  - Удалить все содержимое командной строки
  • ctrl-r - Поиск
  • ctrl+y - Вставить из буфера
  • alt+b  - К предыдущему слову командной строки
  • alf+f  - К следующему слову командной строки
  • alt+n  - Прокрутить к следующему подсвеченному сообщению
  • alt+p  - Прокрутить в предыдущему подсвеченному сообщению
  • alt+u  - Перейти к первому непрочитанному сообщению
  • ctrl+n(F6) - Следующий буфер
  • ctrl+p(F5) - Предыдущий буфер
  • F12 - на одну страницу ников вниз
  • F11 - на одну страницу ников вверх
  • Alt+1-9 - на буфер с номером
  • Alt+a - Перейти к буферу с активностью(где написали ваш ник к примеру)
  • PageUp - пролистать буфер вверх
  • PageDown - пролистать буфер вниз

Заключение

В заключении хочу написать что это еще далеко не все возможности weechat. Я просто описал то, что было бы не плохо настроить и знать перед использованием. К тому же в weechat крайне не плохая своя англоязычная справка которую легко вызвать, просто написав /help.

Ну и напоследок скриншот:

Image downloaded service ITmages

Полезные ссылки:

Тэги: , , ,
В категориях: Linux by bosha

17 Комментариев к "Weechat - Отличный консольный irc клиент"

  1. Anonymous написал:

    Скринов бы налепил, чтоле.

    [Ответить]

  2. WindBlow написал:

    На хабре не стал комментировать, ибо заминусуют...
    Нет ли похожего аналога под Windows? Давно ищу именно консольный, но все попадается не то...

    [Ответить]

  3. admin написал:

    2 WindBlow в разработке версия по Windows. Посмотри тут детальнее - http://wiki.flashtux.org/wiki/WeeChat_cygwin

    [Ответить]

  4. Сергей Шепелев написал:

    > В archlinux эта программа есть в репозитариях, поэтому ее установка проста, и не тривиальна

    Наверное, вы хотели сказать, наоборот, тривиальна?

    http://slovari.yandex.ru/dict/ushakov/article/ushakov/19/us479808.htm?text=тривиальный&stpar3=1.1

    [Ответить]

  5. admin написал:

    Сергей Шепелев: Ох да. Вы правы. Grammar Nazi негодуе.

    [Ответить]

  6. muster написал:

    Хороший клиент, и хорошая статья. Спасибо!

    [Ответить]

  7. Polprav написал:

    Hello from Russia!
    Can I quote a post in your blog with the link to you?

    [Ответить]

    bosha Отвечает:

    Hello =) Certainly you can =)

    [Ответить]

  8. Juev написал:

    Классно! Статейка оказалась в вики!! ;)

    [Ответить]

    bosha Отвечает:

    В каком ВиКи? о_О

    [Ответить]

  9. x-demon написал:

    А как получить serverlist с channel-листом а-ля xchat?

    [Ответить]

    bosha Отвечает:

    /server list или /server listfull что бы список серверов взять. /list выводит список всех каналов сервера с топиками, в буфере этого канала. Как в xchat не выйдет. Это же все таки не xchat ☺

    [Ответить]

  10. ixti написал:

    Отличная статья! Одного не хватило, какой опцией включить отображение буфферов в виде дерева как на скриншоте? :)) Или какой для этого используется плагин. Заранее благодарю! :))

    [Ответить]

    bosha Отвечает:

    Кстати, крайне полезен плагин buffers который выводит слева, список всех буферов с номерами.

    Всегда пожалуйста ;)

    [Ответить]

    ixti Отвечает:

    Спасибо! Я видимо очень через строку читал :)) В итоге залез на #weechat и там тоже спросил :)) А по сему хотел бы также поделиться полученными знаниями. После установки плагина buffers.pl не помешает выполнить следующие настройки (они, в принципе, интересны не только с этим буффером но и вообще).

    /set irc.look.open_channel_near_server on
    /set irc.look.open_pv_near_server on
    /set irc.look.server_buffer independent

    Первые две заставлюят открываться новые буфферы рядом с "хозяйским" сервером. Последняя заставляет сервера открываться в отдельных буфферах а не мержиться с основным буффером.

    Без последней опции новые буффера будут просто открываться рядышком друг с другом но сгруппированнеы по серверам. Допустим есть каналы #a, #b с сервера s1 и канал #c с сервера s2. Мы открыли буффера в следующей последовательности: #a, #c, #b. С Включёнными двумя верхними опциями, мы получим такой порядок буфферов:

    weechat(core,s1,s2) | #a | #b | #c

    с третьей опцией это будет так:

    weechat | s1 | #a | #b | s2 | #c

    Ну а с плагином buffers.pl это выглядит просто супер :))
    Ещё раз спасибо, за ответ и за статью! :))

    [Ответить]

    bosha Отвечает:

    И Вам спасибо, за весьма полезное дополнение :)

    [Ответить]

    ixti Отвечает:

    Не удержался и сделал скриншот:
    http://itmages.ru/image/view/47121/bc5fbf23

    [Ответить]

Оставить комментарий