Carpe Diem

備忘録。https://github.com/jun06t

Emacsでtwitter

Emacs上でtwitterを使用します。twittering-modeというものです。 Ubuntu11.04以前なら、Emacsのロードパスで $ git clone git://github.com/hayamiz/twittering-mode.git Ubuntu11.10以降なら $ sudo apt-get install twittering-mode で入ります。 インストールが完了したら.emacsを編集します。 $ emacs -nw .emacs (require 'twittering-mode nil t) (setq twittering-use-master-password t) 一行目は.elファイルのロードです。二行目は後で説明しますが、簡単に言うとセキュアなログインをするためのものです。 この状態で M-x twittering-mode とするとまず提携アプリの認証に移ります。 Web画面にてログインし、認証してください。するとPINコードが表示されるのでそれをEmacsの方に入力します。するとEmacstwitterを使用できるようになります。 さてここで先ほどの.emacsに書いたのが生きてきます。実は何も設定せずにこれを行うと、毎回このPINコードを用いた認証が必要になります。これは面倒なので認証の部分をハッシュ化したものが M-x describe-variable twittering-oauth-access-token-alist で表示されるのでこれを設定ファイルに書けばいいのですが、さすがにプレーンテキストはセキュアではないです。そこで前回のEasyPG(GnuPG)でファイルの暗号化を使用します。つまりプレーンテキストを暗号化すればいいわけです。 で、これを自動でやってくれるのが先ほどの (setq twittering-use-master-password t) というわけです。これで初回認証を済ますとホームフォルダに.twittering-mode.gpgが生成されています。 ちなみにこのファイルを移動したい場合は、移動後.emacs設定を (setq twittering-private-info-file "/home/mizuno/.emacs.d/elisp/twittering/twittering-mode.gpg") のように指定してください。 ◆twittering-modeのキーバインド
j前(古い)のツイートへ移動
k次(新しい)のツイートへ移動
nカーソルがあるユーザの,前のツイートへ移動
pカーソルがあるユーザの,次のツイートへ移動
Hバッファの先頭へ移動
Gバッファの末尾へ移動
uツイートを作成するeditモードへ移行
C-mカーソルがあるツイートへのリプライを作成するeditモードへ移行
dダイレクトメッセージを作成するeditモードへ移行
C-c C-mカーソルがあるツイートを非公式RTするeditモードへ移行
C-u C-c C-mカーソルがあるツイートを公式RT
(edit中に)F4tinyurlでカーソル下にあるURLを短縮
(edit中に)C-c C-cツイートを投稿
(edit中に)C-c C-k編集中のツイートを破棄
C-c Dカーソルがある自分のツイートを削除
rカーソルがあるツイートに関連するツイートを表示
iアイコンの表示/非表示をトグル
aタイムラインの自動更新ON/OFFをトグル
tプロキシのON/OFFをトグル
C-c C-tデフォルトで付加するハッシュタグを設定
C-c C-dダイレクトメッセージを表示
C-c C-r自分へのMentionsを表示
C-c C-u自分のツイートを表示
vカーソルがあるユーザのタイムラインを表示
f次のバッファを表示
b前のバッファを表示
qバッファを閉じる
Lリストを選択
gタイムラインを更新
◆起動時に開くタイムラインの設定 .emacs
(setq twittering-initial-timeline-spec-string
      '(":home"
        ":replies"
        ":favorites"
        ":direct_messages"
        ":search/emacs/"
        "user_name/list_name"))
といった感じに書き込みます。 ◆タイムラインの更新を通知させる まずは通知ツールのインストール $ sudo aptitude install libnotify-bin 次に.emacsへの設定
(if (locate-library "notify-send" nil exec-path)
    (add-hook 'twittering-new-tweets-hook (lambda ()
                                            (let ((n twittering-new-tweets-count))
                                              (start-process "twittering-notify" nil "notify-send"
                                                             "-i" "/usr/share/emacs/23.3/etc/images/icons/hicolor/48x48/apps/emacs.png"
                                                             "New tweets"
                                                             (format "You have %d new tweet%s"
                                                                     n (if (> n 1) "s" "")))))))
画像のパスはEmacsのバージョンにあわせてください。私の場合は23.3でした。 これで新しいツイートがあると右上に通知が出ます。 ソース: Ubuntuで使うTwitterクライアント(1)EmacsでTwitter TwitteringMode-ja