Очень давно я использую крайне удобный, настраиваемый и быстрый консольный 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.
Ну и напоследок скриншот:
Полезные ссылки:
- Документация weechat на нескольких языках
- Страница с плагинами
- Weechat WiKi
- IRC: irc.freenode.net каналы #weechat и #weechat-fr
- Пописка на рассылку
- Архив рассылки
- Обратная связь с авторами - weechat-support@nongnu.org

Скринов бы налепил, чтоле.
[Ответить]
Ссылка | Октябрь 7th, 2009 at 22:38
На хабре не стал комментировать, ибо заминусуют...
Нет ли похожего аналога под Windows? Давно ищу именно консольный, но все попадается не то...
[Ответить]
Ссылка | Октябрь 9th, 2009 at 15:32
2 WindBlow в разработке версия по Windows. Посмотри тут детальнее - http://wiki.flashtux.org/wiki/WeeChat_cygwin
[Ответить]
Ссылка | Октябрь 10th, 2009 at 23:17
> В archlinux эта программа есть в репозитариях, поэтому ее установка проста, и не тривиальна
Наверное, вы хотели сказать, наоборот, тривиальна?
http://slovari.yandex.ru/dict/ushakov/article/ushakov/19/us479808.htm?text=тривиальный&stpar3=1.1
[Ответить]
Ссылка | Октябрь 14th, 2009 at 18:12
Сергей Шепелев: Ох да. Вы правы. Grammar Nazi негодуе.
[Ответить]
Ссылка | Октябрь 16th, 2009 at 12:11
Хороший клиент, и хорошая статья. Спасибо!
[Ответить]
Ссылка | Октябрь 19th, 2009 at 18:25
Hello from Russia!
Can I quote a post in your blog with the link to you?
[Ответить]
bosha Отвечает:
Октябрь 23rd, 2009 at 11:25
Hello =) Certainly you can =)
[Ответить]
Ссылка | Октябрь 23rd, 2009 at 00:28
Классно! Статейка оказалась в вики!! ;)
[Ответить]
bosha Отвечает:
Декабрь 5th, 2009 at 22:39
В каком ВиКи? о_О
[Ответить]
Ссылка | Декабрь 5th, 2009 at 22:38
А как получить serverlist с channel-листом а-ля xchat?
[Ответить]
bosha Отвечает:
Январь 6th, 2010 at 10:27
/server list или /server listfull что бы список серверов взять. /list выводит список всех каналов сервера с топиками, в буфере этого канала. Как в xchat не выйдет. Это же все таки не xchat ☺
[Ответить]
Ссылка | Январь 6th, 2010 at 02:25
Отличная статья! Одного не хватило, какой опцией включить отображение буфферов в виде дерева как на скриншоте? :)) Или какой для этого используется плагин. Заранее благодарю! :))
[Ответить]
bosha Отвечает:
Август 1st, 2010 at 09:59
Всегда пожалуйста ;)
[Ответить]
ixti Отвечает:
Август 1st, 2010 at 12:54
Спасибо! Я видимо очень через строку читал :)) В итоге залез на #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 Отвечает:
Август 1st, 2010 at 12:59
И Вам спасибо, за весьма полезное дополнение :)
[Ответить]
ixti Отвечает:
Август 1st, 2010 at 13:36
Не удержался и сделал скриншот:
http://itmages.ru/image/view/47121/bc5fbf23
[Ответить]
Ссылка | Июль 31st, 2010 at 23:26