はじめに
仕事で IRC をコミュケーションツールとして利用しはじめた.
Emacs のなかで生きているので, IRC も Emacs から接続したい. ということで, Emacs の IRC クライアントを調べる.
IRC とは
Internet Relay Chat の略.インターネットを利用したチャット専用システム.
詳細は, 以下のページ参照.
Emacs 用 IRC クライアント
Emacs Wiki によると, いつくも種類があるようだ.
Emacs にデフォルトで入っていて, ネット上でも情報のおおい ERC を試す.
IRC サーバを用意
なんでもよかったのだが, 有名そうな ngiIRCd をいれる.
設定はひとまず Default 設定で起動.
$ sudo ngircd
Emacs
まずは, Emacs 上で M-x erc で ERC を起動.
ERC の Web マニュアル.
まずは, default の サーバに接続
- IRC Server: rc.freenode.net
- port: 6667
- username: tsu-nera
- password: はじめは未設定.
つづいて, /join #emacs とタイプすると, emacs のチャットに参加できる.
ログアウトは, M-x erc-quit-server (C-c C-x).
ngircd を利用
自分で用意したサーバでもう少し遊ぶ.
ログイン
- IRC Server: localhost
- port: 6667
- username: tsu-nera
- password: はじめは未設定.
これで, ログインできる.
設定ファイルにログイン情報を書くとログインが簡単になる.
(setq erc-server "localhost")
(setq erc-port "6667")
(setq erc-nick "tsu-nera")
;; (setq erc-password "")
オートログインもできる. 以下を書いて, M-x erc-opn
(autoload 'erc "erc" "" t)
(defmacro de-erc-connect (command server port nick)
"Create interactive command `command', for connecting to an IRC server. The
command uses interactive mode if passed an argument."
(fset command
`(lambda (arg)
(interactive "p")
(if (not (= 1 arg))
(call-interactively 'erc)
(erc :server ,server :port ,port :nick ,nick)))))
(de-erc-connect erc-opn "localhost" 6667 "tsu-nera")
# Channel 接続 /JOIN or /j
/j #test
# 直接話す
/query <nick>
これでも Chanel に接続 できる.
(setq erc-autojoin-channels-alist
'(("localhost" "#test")))
;; ("oftc.net" "#bitlbee")))
(erc :server "localhost" :port 6667 :nick "tsu-nera")
ログアウト
# Channel からぬける
/PART
# メッセージを残してサーバをさる
/QUIT msg
;; Kill buffers for channels after /part
(setq erc-kill-buffer-on-part t)
Highlight
(require 'erc-match)
(setq erc-keywords '("tsu-nera"))
erc-highlight-nicknames
ニックネームをハイライト
(and
(require 'erc-highlight-nicknames)
(add-to-list 'erc-modules 'highlight-nicknames)
(erc-update-modules))
erc-hl-nicks
erc-highlight-nicknames の改良版か?
(require 'erc-hl-nicks)
nerc-nick-notify
ニックネームが呼ばれたら反応する.
(autoload 'erc-nick-notify-mode "erc-nick-notify"
"Minor mode that calls `erc-nick-notify-cmd' when his nick gets
mentioned in an erc channel" t)
(eval-after-load 'erc '(erc-nick-notify-mode t))
Encoding
こんな感じか?
;; UTF-8
(setq erc-server-coding-system '(utf-8 . utf-8))
;; Shift-JIS
(setq erc-server-coding-system に (iso-2022-jp . iso-2022-jp))
Color
ダークにはデフォルトのいろがみずらい
- https://github.com/emacs-jp/replace-colorthemes/blob/master/blue-erc-theme.el
- https://github.com/emacs-jp/replace-colorthemes/blob/master/dark-erc-theme.el
(add-to-list 'custom-theme-load-path "~/.emacs.d/elisp")
(load-theme 'blue-erc t t)
(enable-theme 'blue-erc)
Bookmarks
IRC について.
Windows で一番有名? な IRC クライアント.
IRC Client の比較.
ERC
Emacs にデフォルトで入っている.
- EmacsWiki: ERC
- ERC (software) - Wikipedia, the free encyclopedia
- emacs-fu: ERC: the emacs IRC client
- memo: Emacs ERC で IRC を試してみた
Riece
Cabon Emacs にデフォルトで入っている.リースと読む.
Circe
けっこう最近 (2013) にでてきたやつ. 開発は盛ん.
- Circe - Yet Another Client for IRC in Emacs
- https://github.com/jorgenschaefer/circe/wiki
- elisp solves problems - circe - an alternative to erc :)
weechat.el
最近でてきた CUI 用 IRC Client, weechat を Emacs から利用する.
- WeeChat, the extensible chat client
- IRC - weechat のススメ (導入〜設定) - Qiita
- https://github.com/the-kenny/weechat.el