2009-06 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
目次 / 第1回 第2回 第3回 第4回 第5回 第6回 第7回 第8回 第9回
高速なカーソル移動は、エディタを使う上で重要なポイントになります。
上下左右以外の移動手段を無意識に使えるようになることが、高速化のコ
ツだと思います。
※「emacs 雑記」の motion に触発されて書いてみましたが、かなりパク
リになってしまいました。
- それぞれ、Ctrl-p, Ctrl-n, Ctrl-b, Ctrl-f に割り当てられています。
- 十字キーでも移動できますが、こちらの方がホームポジションからの距
離が短いので効率が良いはずです。
- 前置き引数を付けると、「何文字だけ移動」とか「何行だけ移動」とか
出来ます。
Ctrl-u Ctrl-f | 4 文字右に移動 |
Ctrl-u Ctrl-u Ctrl-n | 16 行下に移動 |
Ctrl-u 7 Ctrl-b | 7 文字左に移動 |
- それぞれ、Meta-b, Meta-f に割り当てられています。
- 英文だと正確に単語単位で移動しますが、日本語だと単語の区切りがお
おざっぱです。ただ、通常の左右移動の高速版と考えると、かなり使えます。
- 私はそれぞれ、Ctrl-, と Ctrl-. に割り当て直しました。
- 行頭は Ctrl-a と Home に、行末は Ctrl-e と End に割り当てられています。
- どちらもかかせません。
- スクロールアップは Ctrl-v と PageDown に、
スクロールダウンは Meta-v と PageUp に割り当てられています。
- 一行だけスクロールしたい場合は、"Ctrl-u 1 Ctrl-v" や
"Ctrl-u 1 Meta-v" のように前置き引数を付けます。もしくは、以下
相当のものをキーに割り当てます。
(scroll-up 1) (scroll-down 1)
- 私はそれぞれ Ctrl-;(一行スクロールアップ) と Ctrl-:(一行スクロー
ルダウン) に割り当てました。
- ウィンドウの中央には Meta-r すると、移動できます。
- 前置き引数を付けると、ウィンドウの上や下にも移動できます。
それぞれ、"Ctrl-u 0 Meta-r" と "Ctrl-u -1 Meta-r" です。もしくは、
以下相当のものをキーに割り当てます。
(move-to-window-line 0) (move-to-window-line -1)
- 私はそれぞれ、Ctrl-q Ctrl-p(上)、Ctrl-q Ctrl-l(中央)、
Ctrl-q Ctrl-n(下) に割り当てました。
- それぞれ、Meta-<, Meta-> に 割り当てられています。
- 実行するとマークセットしてしまうので、
私は、以下相当のものをキーに割り当て直しました。
(goto-char (point-min)) (goto-char (point-max))
- Emacs の検索はインクリメンタルサーチなので、移動手段としても重宝
します。
- Ctrl-s で前方検索、Ctrl-r で後方検索が出来ます。それぞれ Ctrl-u
を付けて実行すると、正規表現検索が出来ます。
- 検索中に Meta-e すると、非インクリメンタルな検索が出来ます。
- ローマ字のまま日本語をインクリメンタル検索するためのツールです。
- 変換なしで日本語を検索出来るため、高速な移動手段となり得ます。
- Meta-m に割り当てられています。
- これは、行頭の空白を飛ばして最初に文字がくる部分に飛ぶ、という
コマンドです。
- あらゆるプログラムではインデントして字下げをしますが、字下げされ
たところに行きたいときに使用します。かなり必須です。
- キーには割り当てられていません。M-x goto-line を実行します。
- 目的の行番号が分かっている時は、この方法で移動します。
- 対になっている括弧の一方から他方に飛ぶ移動です。
- "(" や "{" から、")" や "}" への移動は Ctrl-Meta-n 、その逆は Ctrl-Meta-p です。
- 文字列中の括弧を無視してくれる優れものです。
- 私はそれぞれ、Ctrl-q Ctrl-f と Ctrl-q Ctrl-b に割り当て直しました。
- Ctrl-x Ctrl-x すると、Ctrl-space 等でマークセットした場所にカーソ
ルを飛ばすことが出来ます。もう一度 Ctrl-x Ctrl-x すると、元の場所に
戻ります。
- カーソル移動からは脱線しますが、M-x transient-mark-mode すると、
リージョンに色が付きます。さらに Emacs22 の場合は Ctrl-space を
2 回打つと、このモードになります。
- 標準では用意されていないようですが、個人的に関数を自作し、
"Ctrl-c Ctrl-[", "Ctrl-c Ctrl-]" に割り当てました。
- いつか紹介できるかもしれません。
- キーには割り当てられていません。M-x grep を実行します。
- ヒットした候補は、"Ctrl-x `" で順番にジャンプできます。
- もちろん、*grep* バッファ上で Enter してもジャンプできます。
Emacs22 以降であれば、`n' や `p' で次の候補を別ウィンドウに開けます。
- 似た機能に以下のものがあります。
関数 | 説明 |
M-x occur | 現在のバッファを検索します。 |
M-x grep-find | find と grep を使って検索します。 |
- ある程度の規模のソース群を探索する場合に便利です。
- キー操作は以下のとおりです。
キー | 関数 | 説明 |
Meta-. | M-x find-tag | シンボルの定義部分に飛ぶ。 |
Meta-* | M-x pop-tag-mark | 前の状態に飛ぶ。 |
なし | M-x tags-search | シンボルを検索させる。 |
Meta-, | M-x tags-loop-continue | 次の候補に飛ぶ。(検索状態で実行) |
Ctrl-x 4 . | M-x find-tag-other-window | 定義部分を別ウィンドウに表示。 |
Ctrl-x 5 . | M-x find-tag-other-frame | 定義部分を別フレームに表示。 |
Meta-TAB | M-x complete-symbol | シンボル名の補完(TAGS を読み込んだ状態で) |
なし | M-x visit-tags-table | タブテーブルを読み込み直す。 |
- Linux標準教科書Wiki
- Linuxサーバー構築標準教科書 Wiki
アンケートに答えると、それぞれ pdf ファイルを無料でダウンロードできる。
かなりボリュームがあるが、体系的な知識の習得に良さそう。
世界を股にかける某氏から質問されたので、調べてみた。
Meadow は default-frame-alist に alpha の設定をするだけで、フレーム
を簡単に半透明に出来るようだ。試した Meadow のバージョンは 3.00-dev (菊)。
(setq default-frame-alist '((alpha . (nil 70 50 30)) ... ))
この例の (nil 70 50 30) は、前から順番に
- 通常のフレーム
- アクティブでないフレーム
- 移動中のフレーム
- サイズ変更中のフレーム
の透明度を示すとのこと。
nil は通常の状態。0 がより透明に近く、100 がより通常に近い。
参考情報: 26.1.7 背景色を半透明にする - Meadow/Emacs memo
以下のように *scratch* バッファなどで調べることができるようだ。
Emacs22 は 256MB だった。
(let ((i 1024)) (while (> i 0) (setq i (* i 2))) (1- i)) 268435455 (1+ 268435455) -268435456 (/ 268435456.0 1024 1024) 256.0
Emacs21 は 128MB だった。昔なつかしい nemacs は 8MB だった。
参考情報:
EmacsFileSizeLimit - emacswiki
[2010-06-19-2]
追記(2010-03-13):
Emacs23 は 512MB に上がっていました。
目次 / 第1回 第2回 第3回 第4回 第5回 第6回 第7回 第8回 第9回
本項は、いろいろな設定を .emacs にコピペし始めたあたりで読むと良い
と思います。コピペ房から脱却しましょう。
.emacs で多い設定の一つに
(setq message-log-max 256)
などといった setq 文があると思います。上記例では、message-log-max
という変数に 256 という値を代入しています。(message-log-max
は、*Messages* バッファに保存される最大行数を格納する変数です。)
では設定しないと、message-log-max にはどのような値が入っているので
しょう? *scratch* バッファを使うと簡単に調べられます。
message-log-max を *scratch* バッファにコピペし、message-log-max の
後ろで Ctrl-j してみてください。前述の設定をしないと 100 が、設定を
すると 256 が出力されると思います。
message-log-max =>100
※ 変数のヘルプからも、現在の値を確認できます。
F1 v message-log-max [Enter]
実は上の方法は単に変数の値を調べているのではなく、変数を評価してい
ます。
もっと正確に言うと、message-log-max というシンボルを評価しています。
評価の結果(戻り値)が 100 というわけです。シンボルは S 式の最小単位
です。S 式が分からなければ、単に「式」と読み替えていただいて構いま
せん。
さて、もっとも典型的な S 式は前述のような (setq message-log-max 256)
です。これも *scratch* バッファで評価できます。
(setq message-log-max 256) =>256
評価すると、変数 message-log-max には 256 が代入されます。Emacs
Lisp では S 式は必ず値を返すので、256 が出力されます。
では、なぜ *scratch* バッファでは、このようなことが出来ると思いますか?
それは *scratch* バッファのメジャーモードが lisp-interaction-mode
だからです。これは Emacs Lisp を対話的に実行できるモードです。モー
ドラインに以下のように表示されてもいると思います。
メジャーモードというのは、各バッファに1つだけ設定でき、且つ必ず設
定されているモードです。各バッファのメジャーモードは、変数
major-mode を評価すると分かります。
もうひとつ。emacs-version という変数があります。Emacs のバージョン
が文字列として格納されています。
emacs-version =>"23.1.50.1"
実は emacs-version という関数もあります。関数は以下のように評価します。
(emacs-version) =>"GNU Emacs 23.1.50.1 (i686-pc-linux-gnu, GTK+ Version 2.16.1) of 2009-06-26 on vergil"
まとめ。
- かっこがない時は変数を評価している。
- かっこがある時は関数を評価している。
以上を知っていれば、.emacs に設定を追加した後 Emacs を再起動するこ
とが少なくなるはずです。気軽に色々設定してみましょう!!
そうそう、*scratch* バッファでは簡単な計算も出来ます。`+' や `*' と
いう関数を使います。
(+ 1 2) ;;; 1 + 2 =>3 (* (+ 1 2) 5) ;;; (1 + 2) * 5 =>15
最後に *scratch* バッファ以外で評価する方法もご紹介します。
方法1
Meta-: した後、ミニバッファに評価したい S 式を書き、Enter する。
方法2
評価したい S 式の直後で Ctrl-x Ctrl-e する。評価結果がミニバッファ
に表示される。Ctrl-u Ctrl-x Ctrl-e すると、評価結果がカーソル下に挿
入される。
方法3
Ctrl-space でマークセットし評価の先頭地点とする。次に、評価したい最
終地点までカーソルを移動する。M-x eval-region すると、その範囲を評
価できる。
第3回終わり。
目次 / 第1回 第2回 第3回 第4回 第5回 第6回 第7回 第8回 第9回
wikipedia によると、セゾンカードが年会費無料なのは大きく 2 つの理由
かららしい。
その1 ポイントが永久不滅
これによりカードの稼働率が上がるそうで、損失を防ぐ効果があるらしい。
その2 他社と違って盗難保険の契約をしていない
カードが不正利用されたときは、セゾン自社の損害になるらしい。
これは少し心配だな。
[2009-06-07-4] からの浮気。
buffer-menu に慣れていたせいか、別ウィンドウに表示される bs-show に
どうも馴染めない。ibuffer に浮気してしまおう。
(define-key ctl-x-map (kbd "C-b") 'ibuffer)
ibuffer の良いところは、現在開いている全てのバッファに対して置換を
かけられるところ。
`m' で置換したいバッファにマークし、`Q' で問い合わせ置換、`U' で問
い合わせなし置換を実行。
`u' するとカーソル下のバッファのマークを消せる。`* *' で全てのマー
クを消せる。
`,' すると条件を切り替えながらソートしてくれる。その中の一つに
major-mode で並び替える `s m' があるが、これで並び替えると良さげ。
`?' でヘルプが表示される。
目次 / 第1回 第2回 第3回 第4回 第5回 第6回 第7回 第8回 第9回
何はなくとも .emacs (どっと いーまっくす) です。
Emacs は起動すると次の順番にユーザ設定ファイルを検索し、最初にヒッ
トしたものを読み込みます。これがいわゆる .emacs (どっと いーまっく
す) です。(最近の Emacs は ~/.emacs.d/init.el も使えます。)
1. ~/.emacs.elc
2. ~/.emacs.el
3. ~/.emacs
.emacs.elc は、.emacs.el や .emacs を以下のようにバイトコンパイルし
たものです(他の方法もあります)。
% emacs -Q -batch -f batch-byte-compile ~/.emacs
バイトコンパイルすると、起動時間や実行時間が少し短くなります。
ただ、.emacs を修正した後にバイトコンパイルし忘れると、前述の読み込
み順番のため、古い設定のまま Emacs が起動するという弊害もあります。
.emacs.el と .emacs は名前が違うだけです。
.emacs の他に site-start.el と default.el もあります。あまり意識す
ることはないかもしれませんが、管理者が全ユーザに設定させたい内容を
記載して使います。[2008-05-15-1] もご覧下さい。
-q オプションはよく使います。こうすると ~/.emacs を読み込みません。
% emacs -q
~/.emacs の代わりに別なファイルを読み込ませたい時は、このようにします。
% emacs -q -l /hoge/huga.el
目次 / 第1回 第2回 第3回 第4回 第5回 第6回 第7回 第8回 第9回
GNU Emacs に初めて出会ったのは、入社した時に使った Nemacs でした。
Solaris2.6 にインストールされていました。2000 年入社なので、使い始
めてもう 10 年です。
ちょうど良い区切りなので、初心者から脱却したい人向けに、まとまった
文章を書くことにしました。今回はそのイントロです。GNU Emacs は
Emacs と略します。XEmacs の話はしない予定です。
さて、入社当時の話に戻ります。
最初は訳が分からなかったため、Nemacs はすぐに使わなくなりました。
Windows に C ソースをコピーして秀丸で編集したり、rmail を使わずに
Becky! を使ったりしていました。しかし、Windows がない環境で仕事をす
ることになったため、腹を決めて Emacs と付き合っていくことにしました。
その環境には運良く Mule がインストールされていました。私は C ソース
を Mule で編集し、mh-e でメールを読み書きすることになりました。
そういえば、今も覚えていることがあります。当時はファイルを開くたび
に Mule を起動していましたが、職場の上司は Dired でディレクトリを開
いて、そこからファイルをいくつも開いていました。shell-mode も使って
いたかもしれません。ああ、こういう使い方をするエディタなんだと思っ
たことを覚えています。
当時はいろんな人の ~/.emacs を読み漁りました。職場の人のものや、ネッ
ト上に転がっているものです。
ネット上で特に参考になったのは、GANAWARE に置いてある .emacs です。
UNIX や Windows、Emacs の各バージョンの環境切り分け方法がきれいだっ
たので、今もその名残りが私の ~/.emacs に残っています。ほかに
blankspace も大変参考になりました。
そうこうしているうちに、Mule は過去のものだと知りました。当時の最新
は Emacs-20.7 でそろそろ Emacs21.1 が出る頃だったと思います。
Mule は時々 X まわりの不具合に遭遇したため、1 年と使わずに
Emacs-20.7 に移行しました。併せてメーラも mh-e から Mew に乗り換え
ました。Mew には今もお世話になっています。
ちなみに当時の開発環境は入社当時と異なり、オープンソースソフトウェ
アが日々バージョンアップされ、最新の技術に触れられる素晴らしい環境
でした。
そのころから ~/.emacs は会社で用意された共通設定ファイルを使わずに、
自分でスクラッチから書いたものを使うようになりました。スクラッチか
ら書くために Emacs Lisp の知識が必要になったため、広瀬さんの本を購
入し、多くを学ばせていただきました。
Emacs とは関係ありませんが、広瀬さんは最近「zshの本」という本を出さ
れたようです。私は zsh ユーザでもありますが、それについてはまたの機
会で。
話を Emacs に戻しますと、その後 Emacs21 と Emacs22 のバージョンアッ
プに追随しました。今は自宅の Emacs は CVS 先端の 23 を使っています。
2001 年頃から自宅で使い始めた Meadow の話もしましょう。
Meadow は Emacs の Windows 移植版です。Emacs を Windows でコンパイ
ルした NTEmacs というものもありますが、NTEmacs に比べて IME まわり
の親和性、フォントの設定、画像の取扱いが優れているそうです。ただ、
NTEmacs は触ったことないです。
自宅 PC には Windows しかインストールしていなかったため、Meadow +
Cygwin を使っていました。そういう意味で Meadow との付き合いも長いです。
Cygwin は Linux の Windows エミュレート環境ですが、エミュレートであ
るが故にハマル要素は多くありました。そのため、自宅 PC に RedHat
Linux をインストールし、Meadow はあまり使わなくなりました。ただ、こ
の 1〜2 年は会社の開発環境が Windows になったこともあり、またよく使
うようになりました。
Emacs にはさまざまな派生物があり、私は最初混乱しました。
Wikipedia - Emacs あたりが参考になるかもしれません。少し古い
ですが、Emacs の各バージョンは History of Emacs and Mule や Mule
History Drawing としてまとめられています。
ネット上の情報が古かったのも、混乱させる要因の一つでした。そういう
経験が、この「Emacs講座」を書くきっかけの一つになりました。
第1回終わり。
目次 / 第1回 第2回 第3回 第4回 第5回 第6回 第7回 第8回 第9回
追記(2011-10-03):
「やさしいEmacs‐Lisp講座」は改訂版が出ましたよ!!
-第1回- Emacs と私
-第2回- .emacs (どっと いーまっくす)
-第3回- *scratch* バッファ
-第4回- カーソル移動
-第5回- キーバインドの変更
-第6回- load-path
-第7回- 文字コード
-第8回- タブ幅
-第9回- C コーディングスタイル
Emacs のバージョンは 23.3 を想定しています。22 以下は考慮しないこと
にします。
Emacs の全てを説明することは出来ないので、私の書きたい内容を書きた
い順番で書いています。
以下は今後の予定。
-第10回- 私の .emacs (どっと いーまっくす)
-第11回- edebugger
-第12回- 次の関数、前の関数
今日ネットバンキングで家賃を振り込んだら、なぜか手数料がかからなかった。
みずほマイレージクラブ > うれしい特典 > 振込手数料割引・無料
どうやら 6/1 から、みずほマイレージクラブにこのうれしい特典が加わっ
たようだ。
他銀行への振り込みが月 3 回まで無料になった。私の場合では年間
¥315*12=¥3,780 の手数料が必要なくなった。大した額ではないが、普通
にうれしい。
みずほマイレージクラブの他の特典として、みずほ ATM やコンビニ ATM
の時間外手数料無料というのがある。今までなんでかからないのかな〜と
思っていたんだけど、そういうことだったのね。^^;
これらの特典を受けるためには、3 つの条件のうち 1 つを満たしていれば
良い。ただ以下のとおり、そのうちの 1 つは条件が緩いので、満たすのは
難しくないと思う。
みずほマイレージクラブ > うれしい特典 > お取引条件
お取引条件1
各種預金[円預金(普通〔無利息型を除く〕・貯蓄・定期)、外貨預金
(普通・定期)(注1)]、投資信託(注1)、金融債[財形金融債を除
く]、公共債(注1)などの月末合計残高が10万円以上
年会費は必要ない。詳細は以下をどうぞ。
みずほマイレージクラブ
ドラクエ風ステータスジェネレータをいくつか - たつをの ChangeLog
さっそくやってみた。
なぜ女!?良い点は「武器」「うんのよさ」くらいか。
無駄に高いレベルがもの悲しいです。
カタカナにしただけで、正統的な勇者になりました。(・∀・)
良い防具を持たせれば、すぐにでもゾーマを倒せるでしょう。
釣りは好きではないのだけれど。(´・ω・`)
経験値がゼロで、レベルが35なのはすごい!!
ノートよりも、メモ帳が欲しかった。
また釣りバカかよ。。゜(゜´∀`゜)゜。。
今度はまるで取り柄がありません。オニオンシリーズだけが救いです。
Firefoxと知床がコラボしたキャンペーン「Discover Shiretoko」 - スラッシュドットジャパン
そろそろ、Firefox3.5 が出るらしい。開発ネームが「Shiretoko」とのこ
とで、「Discovert Shiretoko」というキャンペーンを実施しているようだ。
自分のサイトにバナーを貼って、上記キャンペーンサイトへの誘導を行う
と、Web 上の自分の樹が成長するらしい。8 月 31 日までの期間限定のよ
うなので、さっそく左側のメニューバーに追加してみた。
知床と Firefox というミスマッチもさることながら、上のサイトで使われ
ている Web 技術も興味深い。HTML5 で追加されることになる Canvas とい
うグラフィック技術らしく、「JavaScriptを使って平面や立体図をブラウ
ザ上に描画でき、様々な画像効果や動画再生といったことをプラグインな
しで実現できること」とのこと。Firefox は v1.5 からサポートしている
ようだ。
日本語チュートリアルも用意されていた。早い。moveTo とか lineTo とか
どこかで聞いたような名前が。。。
フォクすけ萌えのあなたに。→ フォクすけの Firefox 情報局
追記(2009-06-26):
ようやく 660 番に自分の樹を見つけた。本みたいなものはページ中央をダ
ブルクリックもしくはドラッグすると、次のページに行ける。ずーっと、
折り返しになっている部分をいじっていたんだけど出来なくて、数字を直
接入れて自分の樹を探していた。orz
追記(2009-10-03):
2009 年 9 月 18 日にキャンペーンが終了し「樹の成長」もストップした
そうなので、バナーを削除しました。
http://www.interforest.org/signup/
リフレッシュレートは高い方が目に優しいよなー、なんて思いながら解像
度をいじったら画面が真っ黒。Windows なら 30 秒後に復帰するから、
GNOME も同じだろうと思っていたら、ずっと真っ黒のまま。(ToT)
試行錯誤の末、以下のようにすれば復旧出来ることが分かった。
一番安全なのは、「masutakaのログアウト」→「ユーザの切り替え」から
GDM の画面に戻り、root でログインする方法。ただ、私の環境では作業終
了後、masutaka に戻れない上、また真っ黒になってしまった。
次に安全なのは、「masutakaのログアウト」→「ログアウト」から GDM の
画面に戻り、root でログインする方法。
画面が真っ黒なので、いずれもキーボード操作だけでログアウトする必要
がある。私の場合は「Windows キー」で GNOME メインメニューを起動する
ようにしていたので、「Windows キー」→「↑キー×2」→「Alt-l(エル)」
でログアウト出来た。デフォルトの設定でも、Ctrl-Alt-Delete でログア
ウト出来るかもしれない。
これらでも出来なければ ssh でログインして、root で reboot コマンド
を実行...するしかないかなあ。
GNOME の場合、画面の解像度はユーザ毎に設定されているっぽい。そのた
め root でログインしたら、masutaka に su して画面の解像度を変更すれ
ば良い。
# xhost + # su - masutaka % export DISPLAY=:0.0 % gnome-display-properties
一ヶ月くらい前から、Debian squeeze で svn が使えなくなってしまいま
した。
- svn diff の実行は出来る。
- file リポジトリへのアクセスも出来る。
- http リポジトリへのアクセスは、内部外部問わず出来ない。
という状況で地味に困っていましたが、~/.subversion/servers に以下を
追加することで解決できました。
http-library = serf
今回お世話になったサイトです。
svn(subversion)が突然使えなくなった at 半歩先
犯人は Neon モジュールでした。WebDav へのアクセスモジュールを serf
に変えることで回避できました。
世の中にはスゴイ人もいるものですね。私なんか、strace コマンドのログ
から locale や gcov まわりのエラーなのかと思って調べていました...。
subversion はソースからインストールしたことがあるので、WebDav アク
セスに Neon が使われていたことは知っていましたが、気づくことができ
ませんでした。他に serf があることと、~/.subversion/servers で変更
が出来ることはもちろん知りませんでした。
% svn --version (snip) * ra_neon : Neon を利用して WebDAV (DeltaV) プロトコルでリポジトリにアクセスするモジュール。 - 'http' スキームを操作します - 'https' スキームを操作します (snip) * ra_serf : serf を利用して WebDAV (DeltaV) プロトコルでリポジトリにアクセスするモジュール。 - 'http' スキームを操作します - 'https' スキームを操作します
追記(2009-07-21):
Neon が直ったようなので、~/.subversion/servers から "http-library
= serf" を削除しました。
[2009-06-14-2] の補完。
通常、ElScreen のタブにはバッファ名が表示されますが、自分でニックネー
ムを付けることも出来ます。ニックネームを付けると、タブがすっきりキ
レイになります。
下記は、順番に navi2ch, skype.el 用の設定です。(require 'elscreen)
の後に書いて下さい。
(defcustom elscreen-navi2ch-mode-to-nickname-alist '(("^navi2ch-" . "Navi2ch")) "*Alist composed of the pair of mode-name and corresponding screen-name." :type '(alist :key-type string :value-type (choice string function)) :tag "Navi2ch major-mode to screen nickname alist" :set (lambda (symbol value) (custom-set-default symbol value) (elscreen-rebuild-mode-to-nickname-alist)) :group 'navi2ch) (elscreen-set-mode-to-nickname-alist 'elscreen-navi2ch-mode-to-nickname-alist) (defcustom elscreen-skype-mode-to-nickname-alist '(("^skype-" . "Skype")) "*Alist composed of the pair of mode-name and corresponding screen-name." :type '(alist :key-type string :value-type (choice string function)) :tag "Skype major-mode to screen nickname alist" :set (lambda (symbol value) (custom-set-default symbol value) (elscreen-rebuild-mode-to-nickname-alist)) :group 'skype) (elscreen-set-mode-to-nickname-alist 'elscreen-skype-mode-to-nickname-alist)
ChangeLog メモの chalow への変換とアップロードは、毎日 0:00 から
3 時間毎に行うように、自宅 PC の cron に登録しています。
登録しているのは mkchalow という自作のシェルスクリプトです。
手動でアップしたい時は、このコマンドをコマンドラインから実行します。
手動での実行が面倒になってきたので、mkchalow を実行する elisp の関
数を作りました。非同期で実行されるので、実行中も他の作業が出来ます。
(defun mkchalow (force) (interactive "P") (let (pro (pnm "mkchalow") (buf " *mkchalow*") (cnm "mkchalow") (opts (if force '("-f")))) (message (format "%sBuilding chalow for masutaka.net..." (if force "Force " ""))) (setq pro (apply 'start-process pnm buf cnm opts)) (set-process-sentinel pro `(lambda (process string) (message ,(format "%sBuilding chalow for masutaka.net...done" (if force "Force " ""))) (kill-buffer ,buf))))) (eval-after-load "clmemo" ;; C-c C-c で mkchalow '(define-key clmemo-mode-map (kbd "C-c C-c") 'mkchalow))
※ clmemo.el を使っていない方は、(eval-after-load "clmemo" 以降を
下記に置き換えて下さい。
(eval-after-load "add-log" ;; C-c C-c で mkchalow '(define-key change-log-mode-map (kbd "C-c C-c") 'mkchalow))
追記(2009-06-14):
Emacs 起動時にエラーになるので、訂正しました。シクシク...。
追記(2010-05-03):
mkchalow() を修正しました。C-u を付けるとメッセージが少し変わります。
私は ElScreen-Mew の作者なのに、このブログで ElScreen について一度
も言及していないことに気づきました。^^;
ElScreen は Emacs で多くの作業をする人にお薦めです!
私の場合は、ざっとこれだけありました。
- Mew でメール送受信する。
- navi2ch で2ちゃんねるを見る。
- mpg123.el で音楽を聴く。
- twittering-mode.el で Twitter する。
- skype.el でチャットする。
- ChangeLog メモを書く(→chalow でこのブログに変換)。
- 他、さまざまなテキストファイルを編集する。
もちろん、Emacs は個々の作業ごとに起動しません。全て1つの Emacs 上
で行います。
でも、さすがにこれだけいろんなことをやっていると、バッファを切り替
えるのが面倒です。一時期はフレームを立ち上げて(C-x 5 2)いましたが、
これも複数あると邪魔です。
ここで、Web ブラウザのウィンドウとタブを思い出して下さい。Emacs で
前者はフレームに相当します。しかし、後者はありません。Emacs でもタ
ブが使えたら便利だと思いませんか?
そこで登場するのが ElScreen です!!
ElScreen は Emacs にタブ機能を提供します。メニューバーからの
ElScreen->Create Screen または、"C-z C-c" で新しいタブを作れます。
もちろん、マウスでタブを選択することも出来ます。
キーバインドは GNU Screen ライクなので、GNU Screen ユーザはすんなり
使えると思います。ダウンロードやインストール方法等の詳細は
ElScreen の Web site をご覧下さい。
Mew を使っている方は、ElScreen-Mew もどうぞ。今は単に不具合を解消す
るためだけのツールですが、現在、メールの新規作成や返信、転送をする
時は "Create Screen" する機能を実装中です!
他に似たツールとして、windows.el というものがあります。windows.el
にはタブ機能はありません。しかし、ウィンドウの分割状態をいくつも記
憶できるので、それが実質的なタブ機能となっています。また、レジュー
ム機能という大きな売りがあります。
ElScreen と windows.el、ご自分に合う方を使ってみて下さい。
ひょんな(?)ことから、Skype の ID を取得してしまいました。
最初に Linux 版の Skype を使ってみましたが、日本語入力が出来ないた
め(※対策は後述)他のアプリからコピペする必要があり、非常に面倒でした。
やっぱり、Emacs で Skype できちゃったりするのかなあと思って、調べて
みたら skype.el というのがありました。(相変わらず、Emacs で何でもで
きちゃうのね。^^;) うまく動いたので方法をまとめておきます。
Debian GNU/Linux squeeze (testing)
Emacs 23.0.94 (← Emacs23 以上じゃないとダメっぽい)
skype.el は Skype の Emacs フロントエンド。Skype を起動したあとに、
skype.el を起動して使う。両者のやりとりは、D-Bus を介して行われると
のこと。D-Bus というのは、プロセス間通信の実装の一つらしい。
→ Wikipedia - D-Bus
公式サイトから deb パッケージをダウンロードしてもよいが、
/etc/apt/sources.list に apt-line を追加する方がスマートなので、
こちらをお勧めする。
deb http://download.skype.com/linux/repos/debian/ stable non-free
追加したら、いつものように aptitude でインストールする。
# aptitude update # aptitude install skype
インストールできたら、Skype 単体でチャットや通話が出来ることを確認すべし。
% svn co http://svn.codecheck.in/lang/elisp/skype/trunk skype
/usr/local/share/emacs/site-lisp から、ダウンロードした skype ディ
レクトリにシンボリックリンクを張った。
(defun my-skype () (interactive) (require 'skype) (setq skype--my-user-handle "私のSkypeID") (skype--init) (skype--open-all-users-buffer-command))
「GNOME メインメニュー」→「システム」→「設定」→「自動起動するア
プリ」に skype を追加し、ログイン時に自動起動するようにした。
Skype を起動し、「Skype のオプション」→「一般」→「システムトレイ
内で最小化した Skype を開始」にチェック。こうすると起動時に邪魔にな
らない。
※ システムトレイは、GNOME の「パネルに追加」から「通知スペース」を
追加していかないと表示されない。
Emacs を起動し、M-x my-skype する。
キーバインドは「skype.el を Debian でインストールしてみた」が詳しい。
なかなかの見栄えだと思う。あと、Linux 版の Skype がシステムトレイに
収まっているので、誰かからのメッセージは右下にポップアップし、すぐ
に分かる。
日本語入力は uim-qt をインストールし、~/.xprofile に以下を記載する
必要がある。
QT_IM_MODULE=uim export QT_IM_MODULE
Skype は (GTK ではなく) QT アプリなので、GNOME 向けの下記の設定は効
かなかった。
GTK_IM_MODULE=uim export GTK_IM_MODULE
http://slashdot.jp/~kawa-t/journal/466769
http://wiki.debian.org/skype
http://d.hatena.ne.jp/authorNari/20090226/1235580841
追記(2010-08-15):
リポジトリが github に移行してました。
http://github.com/kiwanami/emacs-skype
今まで安定版のテーマを使っていましたが、開発版で良いことに今更気が
つきました。開発版の方がテーマの数が増えています。
以下、今回やったことです。
修正したテーマは tar で固めて、ここに置きました。
- 全ての *.css の先頭に以下の 1 行を追加。参考情報→[2009-05-24-1]
@import "/prettify/prettify.css";
- 古いディレクトリの clfix.css を新しいディレクトリにコピーし、
コピーしたディレクトリにある「テーマ名.css」に以下の 1 行を追加。参考情報→[2009-02-21-1]
@import "clfix.css";
- chmod -R go-w .
作成したシェルスクリプトは以下になります。
《続きを読む》
kbd() を使って、~/.emacs を書き換えました。kbd() は anything.el で
使われていたのですが、こちらの方が今までの書き方より統一感が出るの
で、採用させていただきました。
修正前はこんな感じ。
(define-key esc-map "b" 'backward-sexp) (define-key global-map "\C-t" 'call-last-kbd-macro) (define-key global-map [(control \,)] 'backward-word) (define-key global-map [(control \.)] 'forward-word) (define-key ctl-q-map [?\C-\ ] 'comint-dynamic-complete-filename)
kbd() を使ったら統一感がでました。
(define-key esc-map (kbd "b") 'backward-sexp) (define-key global-map (kbd "C-t") 'call-last-kbd-macro) (define-key global-map (kbd "C-,") 'backward-word) (define-key global-map (kbd "C-.") 'forward-word) (define-key ctl-q-map (kbd "C-SPC") 'comint-dynamic-complete-filename)
※ ctl-q-map は自作のキーマップなので、デフォルトでは存在しません。
(kbd "ほげ") の ほげ の部分は、"F1 c" した後、調べたいキーを押すと
分かります。以下は Ctrl-f を調べた場合です。(kbd "C-f") と書けば良
いのだと分かりますね。
C-f runs the command forward-char
Emacs のキーバインドと、キー動作について、某所でまとめ中です。
まとめ終わったら、ここにもアップする予定です。
ちなみに、kbd() が定義されている subr.el には、lambda, when,
unless, caar など馴染みのある関数やマクロが定義されています。
とても興味深いですね!
[2009-06-07-4] のその後。
デフォルト C-u 付きの動作にしたかったので、以下の設定をした。
自分はこっちの方が合うかも。
;; M-x bs-show と C-u M-x bs-show の動作を交換する。 (setq bs-default-configuration "all") (setq bs-alternative-configuration "files")
4 月くらいから Linux からログインできなくなって放置していたのだけど、
さっき思い立って何度も試した。まだログインできなかった。でも、試し
に Windows の IE7 や Firefox3 から試してみたらログインできた。orz
以下、Firefox3 on Linux での、au サポートサイトの不具合まとめ。
1. https://cs.kddi.com/ を開くと、Flash が Loading のまま固まる。
HTML(シンプル)版から中に入った。
※ 後から確認したら、サポートしているのは、Windows の Flash Player
9.0.28.0 以上とのこと。うちのは 10.0 r22。OS を選ぶのか...?
2. Windows では使えた ID とパスワードでログインすると、以下のエラー。
一度も間違えてないのだけど…
サポートIDやパスワードを連続して複数回間違えられた可能性があるため、ログイン制限がかかりました。
3. ログイン制限は以下の手順で解除できるそうなので、トップページの
「サポートID・パスワードを忘れた方」をクリック。
ログイン制限は、下記のお手続きで解除が可能です。
パソコンから:
auお客さまサポートトップページのログインフォーム下部の「サポートID・パスワードを忘れた方」
(システムの反映には約5分程度時間がかかります。)
[S0007]
4. 「わからなくなってしまったのは?」に「サポートIDとサポートパスワー
ド」を選択し、「次へ」をクリック。
5. 「サービス」に「auケータイ」を選択し、「au携帯番号」「暗証番号」
「お客様コード」を入力。ちなみに、「お客様コード」は、毎月メールで
来る「auご利用料金更新のお知らせ」の「ご請求コード」のことらしく、
非常に分かりづらかった。
6. 照会まで進むと自分の「サポートID」が明らかになる。(Windows で使
えたものと同じだったけど。。。)
7. 上記「サポートID」と、その後メールで送られてくる「サポートパスワー
ド」でログインすると、"2" に戻る。以降ずっとループ。
au の携帯電話は IDO 時代から使っていて、今の電話番号も 11 年目にな
る。今まで au はこんなことはなかったので、頑張ってほしいところ。そ
う思って、サポートセンターにもメールしてみた。
他、私が感じた問題点は以下の 2 つ。
問題点1:
用語が統一されていない。「お客様コード」と「ご請求コード」、「暗証
番号」と「サポートパスワード」など。
問題点2:
4 月に送られてきた、「Subject: 【auからの重要なお知らせ】『WEB de
請求書』ご利用のお客様へ」の「サポートID」の取得/確認サイトは今現在
も混み合っていて(ホントかなあ)アクセスできない。Windows からも同様。
ただいま大変混みあっております。
恐れ入りますが、もう一度、お客さまサポートのトップページからご利用ください。
[A9002]
追記(2009-06-10):
早速、au から丁寧な回答があった。やはり動作環境に制限があるとのこと。
▼HTML版
OS:WindowsVista/XP、Macintosh (Mac OS X 10.1以上)
ブラウザ:InternetExplore 6.0/7.0、Mozilla Firefox 1.5/2/3、
Safari 2/3
でも、今時の Web サイトで OS に依存しているのも珍しいよなあ。
まあ、Windows で見ればいいので、私的には今後に期待です!
追記(2009-07-12):
Bird さんから、Firefox の User Agent Switcher を使うとログインでき
るよと教えてもらいました。
▼ Flash 版
IE[6-8] ではログインできなかった。というか、ログインメニューの表示
さえされなかった。iPhone にしたら、なぜかログインできた。
▼ HTML 版
IE[6-8] と iPhone でログインできた。
とりあえず iPhone にしておけば、どちらもログインできるようです。
個人的なメモ。
写真デコレーションなんてものがあるんだ。
http://www.b-shop.co.jp/hanabishi/
同じ店だけど、ケーキはアレゲ。
http://news.ameba.jp/gizmodo/2009/05/38928.html
他のケーキ屋(この例では五反田)と比べると、若干高めだな。
http://le-fromage.jp/
ケーキ好き(?)の私としては、下記の質問も気になる。
http://okwave.jp/qa5001183.html
占いはやらないのだけれど、三国志となれば話は別。
DORON特集「三国志 英雄占い」
私は「周瑜」タイプでした。
美を理解する者は、生きざまも美しいもの。
(´∀`)
細やかなやりとりの積み重ねで大局を思うように動かしていくといった
知将ならではの技も身につけています。
( ̄ー ̄)
あわててしでかした失敗がいつまでも脳裏に残り、ふたたび失敗する材料
となってしまうのです。
(;´Д`)ハァハァ
2010.6.12 Emacs Wiki にインストールガイドと全てのキーバインドを記載
しました。この記事はもう古いです。
やはりというかなんというか、探してみたらありました。
Emacs 上で Twitter できる、twittering-mode.el が。
M-x twit で、Twitter 開始です。"u" または "C-c C-s" でつぶやけます。
デフォルトでは 90 秒ごとにリロードされますが、"g" で手動リロードす
ることも出来ます。
後述の twittering-icon-mode を有効にしているので、なかなかの見栄え
です。:-)
1. twittering-mode の公式サイトから、tar ball を取得します。
もしくは、GitHub から開発版を取得します。
% git clone git://github.com/hayamiz/twittering-mode.git
2. 展開した twittering-mode を load-path に追加します。
(add-to-list 'load-path "/path/to/installed/dir")
(autoload 'twit "twittering-mode" nil t) (setq twittering-username "Twitterアカウント")
(setq twittering-icon-mode t) (setq twittering-jojo-mode t) (defun twittering-mode-hook-func () (set-face-bold-p 'twittering-username-face t) (set-face-foreground 'twittering-username-face "DeepSkyBlue3") (set-face-foreground 'twittering-uri-face "gray35") (define-key twittering-mode-map (kbd "<") 'my-beginning-of-buffer) (define-key twittering-mode-map (kbd ">") 'my-end-of-buffer) (define-key twittering-mode-map (kbd "F") 'twittering-favorite)) (add-hook 'twittering-mode-hook 'twittering-mode-hook-func)
- twittering-icon-mode を有効にしました。
各ユーザのアイコン画像が表示されて見栄えよくなります。
- twittering-jojo-mode を有効にしました。
followings の誰かが "次にお前は「XXX」と言う!" とつぶやくと、
自動で "XXX、、、はっ!?" とつぶやきます。
- ユーザ名と URI の色を変更し、見栄えよくしました。
- "<" や ">" でバッファの先頭や終端に移動できるようにしました。
- "F" でお気に入り登録出来るようにしました。"C-u F" でお気に入りか
ら外せます。
http://d.hatena.ne.jp/wadap/20080628/1214650097
http://www.kototone.jp/com/how_to_use_twittering-mode.html
追記(2010-04-18):
情報が古くなっていたので、全体的に書き換えました。
追記(2010-05-12):
twittering-mode ディレクトリを site-lisp に放り込むと、追加されては
いけないディレクトリまで load-path に追加されてしまうので、修正しま
した。
今まで "C-x C-b" には buffer-menu を割り当てていたんだけど、代わり
に bs-show を割り当てることにした。
(define-key ctl-x-map (kbd "C-b") 'bs-show)
実行すると、*buffer-selection* バッファに「ファイルだけが」候補とし
て現れる。他のバッファも表示させたい場合は、"C-u C-x C-b" すれば OK!!
情報源:
bs-show - MOEPANDA diary (2009-05-17)
この記事は obsolete です。
http://d.hatena.ne.jp/rubikitch/20100718/anything をご覧下さい。
ずいぶん前からアレゲな方々の間で話題になっていた anything.el を
ようやく試すことができた。
Emacs は様々な局面で「補完」することができるが、anything.el を使う
と、この補完 IF をある程度統一出来る。
anything を実行すると、以下の候補一覧が *anything* バッファに作成さ
れる。
「現在開いているバッファ」
「今まで開いたファイルの履歴」
「カレントディレクトリのファイル」
「今まで実行したコマンド」
何か文字を打つと、そのパターンにマッチした候補に絞り込まれる。候補
を C-n, C-p, C-v, M-v で選択したり、C-s や C-r で候補自体を検索する
ことも可能。
以下のファイルをダウンロードして、load-path の通ったところにコピー
する。
http://www.emacswiki.org/cgi-bin/wiki/download/anything.el
http://www.emacswiki.org/cgi-bin/wiki/download/anything-config.el
~/.emacs に以下の設定をした。"C-x b" の switch-to-buffer を
anything で上書きし、次と前の機能一覧に、それぞれ C-M-n と C-M-p で
移動できるようにした。
(require 'anything-config) (define-key ctl-x-map (kbd "b") 'anything) (define-key anything-map (kbd "C-M-n") 'anything-next-source) (define-key anything-map (kbd "C-M-p") 'anything-previous-source)
以上の設定を行うと、"C-x b" で anything を使える。
anything-sources を自分で設定することで、候補一覧をカスタマイズでき
る。ドキュメントはないようなので、インストールした *.el を直接見る
とよいと思う。
拙作の cdutil.el を使っているためか、それほど便利に感じなかった。
cdutil は自分で登録したファイルやディレクトリと、シェルの "cd ..."
というエイリアスから補完候補を作成する elisp なんだけど、anything
から使えるようにすると面白いかも?と思った。
http://www.ftnk.jp/~fumi/cl/2009-05-28-2.html
http://dev.ariel-networks.com/Members/matsuyama/open-anything-emacs
http://yamashita.dyndns.org/blog/anythingel/
追記(2009-06-11):
"C-x b" を潰すのは自分には合わなかったようです。"C-x ;" に変更しま
した。anything.el は使わなくなる予感。。。
現在のウィンドウの縦幅を大きくする。
現在のウィンドウの縦幅を小さくする。
現在のウィンドウの横幅を大きくする。
現在のウィンドウの横幅を小さくする。
各ウィンドウの大きさを揃えることが出来る。
Twitter(ついったー)とは、アカウントを作ると自分のつぶやきを投稿でき
るサービスだそう。他の人のつぶやきに対して、フォローという名の返信
をすることもできるとのこと。
Wikipedia - Twitter
Twitter 公式サイト
Twitter をはじめよう! - GreenSpace
寂しがり屋向けのサービスなのだろうか。。。
上のサイトを見る限り、他の可能性もあるようだけど。
でも、まあとにかく始めてみた。このブログの左側にも表示させてみた。
追記(2009-06-07):
なんだか重いので、左側に表示させるのは止めました。
今度はサイドメニューの下の方に、TopHatenar というのを付けました。
ブログのランキングを表示してくれます。ランキングは、RSS フィード購
読者数やソーシャルブックマーク獲得数から決定しているようです。
ランキングは現在最下位でございます。
ついでに、ここ 3 ヶ月のアクセス分析をしました。
3,465 名の方が、6,278 回アクセスして下さいました。1 日に換算すると、
約 40 名の方の、約 70 アクセスになります。
Page View | Visit |
6,278 | 3,465 |
No | 検索エンジン | 検索フレーズ | 割合 | カウント |
1 | SP27213.exe | 1.5% | 35 | |
2 | printf 自作 | 1.3% | 31 | |
3 | svn: URL に対し ra_local セッションを開始できません | 0.9% | 22 | |
4 | svn ra_local セッションを開始できません | 0.7% | 16 | |
5 | xz 圧縮 | 0.6% | 15 | |
6 | sp27213.exe 使い方 | 0.5% | 13 | |
7 | wave mp3 変換 | 0.5% | 13 | |
8 | solaris 9 ntp | 0.5% | 12 | |
9 | wav mp3 変換 | 0.5% | 12 | |
10 | apache favicon | 0.3% | 9 |
2009-06 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30