Pull to refresh

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

*nix
Крайне давно, я использую замечательный консольный IRC клиент WeeChat. У него очень много достоинств, на пример для него можно написать расширения на пяти(!) языках: perl, ruby, python, lua, tcl). Русскоязычной документации по нему почти нету, и на хабре ни единого упоминания про него. Именно поэтому, я решил сделать копипасту со своего блога сюда, в хабрахабр.



Не так давно, после двух лет разработки, и принятия около 1000 патчей и улучшений, вышла версия 0.3. Все ждали появления jabber плагина, и он там появился, но крайне сырой. Кстати сам по себе weechat, не умеет работать с сетями (IRC/etc), он умеет выводить только информацию через ncurses (в разработке GUI на QT, GTK и Tcl). Все его возможности осуществляют плагины (IRC, aspell, charset etc обо всем этом чуть ниже).

И так приступим:

Получение weechat


Weechat сейчас входит в состав почти всех распространенных дистрибутивов. Так что вы можете его установить оттуда. Если его в них нет, или вы хотите самую свежую версию, то можете скачать и собрать из 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 используем команду:CE

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

Сохраняем:

/save

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

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



Кодировка это на мой взгляд сильная сторона этого клиента. В нем она настраивается легко, и не принужденно. При чем очень гибко.

Если сервер использует 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

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



Пожалуй, уже не один линуксоид не может жить без проверки орфографии :) В 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! Сейчас плагинов существует не так много как хотелось бы, но их вполне достаточно. Посмотреть все существующие плагины можно на этой странице – weechat.org/plugins

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

cd ~/.weechat/python/autoload
wget 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

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

* Документация weechat на нескольких языках
* Страница с плагинами
* Weechat WiKi
* IRC: irc.freenode.net каналы #weechat и #weechat-fr
* Пописка на рассылку
* Архив рассылки
* Обратная связь с авторами – weechat-support@nongnu.org
* Оригинал в моем блоге

Публикую в своем личном блоге, т.к. подходящего не нашел, и не знаю уместен ли подобный пост здесь. Предложения по публикации в определенный блог уместны, и буду им крайне рад =)

Кстати, этот пост, меня попросил написать мой хороший знакомый renya. Он давно читает хабр, но у него нету аккаунта здесь. Если есть добрые люди с инвайтом, поделитесь с ним — renya-vad@yandex.ru =)

UPD: Перенес в *nix. Более подходящего блога не нашел.
Tags:consoleконсольircim
Hubs: *nix
Total votes 11: ↑7 and ↓4 +3
Views13.8K

Comments 18

Only those users with full accounts are able to leave comments. Log in, please.

Popular right now

Системный администратор
from 80,000 ₽Кухонный ДворЛюберцы
QA (manual)
from 120,000 to 150,000 ₽Детский мирМоскваRemote job
PHP разработчик (СRM)
from 100,000 ₽NUTSonМосква
Инженер UNIX-систем
from 80,000 ₽Сфера ТелекомМосква