Emacs Lisp 紹介

Preview:

DESCRIPTION

tokyo-emacs #x01発表資料

Citation preview

Emacs Lisp 紹介

Kenichirou Oyama (k1LoW)

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 2

自己紹介• type:

–プログラマ(PHPer)• Emacs Level:

–もう少しで1年• membership:

–Fusic Co.,Ltd >> http://fusic.co.jp

–codecheck.in >> http://trac.codecheck.inand 101000code / 3rdSTONE

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 3

紹介内容が小ネタなので15分みっちりどんどん紹介しま

す!

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 4

15分過ぎたら発表を強制終了します!

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 5

では、さっそく

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 6

moz.el

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 7

これは何?

• Firefoxと通信をするEmacs Lisp–MozLabというAddOn内のMozReplを介してtelnet通信を行い、Firefoxを操作できる。• http://hyperstruct.net/projects/mozlab

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 8

何が便利?

• Firefoxの遠隔対話的操作がEmacsからできる(デフォルトはlocalhostのみ)

•それどころかFirefox自体をいじれる(XUL:ズール)–AddOn開発とか黒魔術的用途とか

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 9

個人的使い方(Webプログラマ)• Webシステムを作っているとブラウ

ザの更新が億劫になってくる。

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 10

個人的使い方(Webプログラマ)• Webシステムを作っているとブラウ

ザの更新が億劫になってくる。• .htmlや.jsや.cssや.phpなんかを修正

/保存したと同時にブラウザを更新できれば楽じゃね?

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 11

個人的使い方(Webプログラマ)• Webシステムを作っているとブラウ

ザの更新が億劫になってくる。• .htmlや.jsや.cssや.phpなんかを修正

/保存したと同時にブラウザを更新できれば楽じゃね?

• それmoz.elでできるよ–thx mizzy!

• で、ちょこっと設定を書いてみた。

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 12

詳しくはWebで!※

※http://trac.codecheck.in/share/browser/dotfiles/emacs/k1low/.emacs.d/conf/init-moz.el

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 13

ちなみに、もしMozReplでFirefoxをがしがし

いじりたいのなら

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 14

mozplus.elは必須

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 15

詳しくはIMAKADOさんで!※

※面識ないのにすみません!!!!

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 16

続きまして

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 17

pabbrev.el

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 18

これは何?何が便利?

•いわゆるテキスト補完入力。•文字列を全部入力しなくてもいいので楽。

•この機能を持つEmacs Lispは是非入れるべき機能。–実はいろいろ種類がある。

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 19

略語展開系.el• abbrev

–キーコマンド等で略語を登録しキーコマンドで略語を展開(表示)

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 20

略語展開系.el• abbrev

–キーコマンド等で略語を登録しキーコマンドで略語を展開(表示)

• dabbrev.el–動的に略語を登録しキーコマンドで略語を展開

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 21

略語展開系.el• abbrev

–キーコマンド等で略語を登録しキーコマンドで略語を展開(表示)

• dabbrev.el–動的に略語を登録しキーコマンドで略語を展開

• pabbrev.el–動的に略語を登録し動的に略語候補を表示

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 22

pabbrev.elの挙動

•アイドリング中に単語を収集(自動)

•文字列を打っている最中に動的に補完候補を表示(自動)。

•決定or選択funct[ion]

補完

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 23

設定

(require 'pabbrev)(global-pabbrev-mode)

全てのバッファをpabbrev-modeにする

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 24

続きまして

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 25

drill-instructor.el

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 26

これは何?

•Emacsキーバインドがなかなか染み付かない人のために鬼軍曹を呼び出すEmacs Lisp。–通称「鬼軍曹.el」

•実行すると、とたんにカーソルキー・BackSpace・Enter(GUI時のみ)が使えなくなる。

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 27

何が便利?

•いいえ、不便です。•自分みたいなEmacs新兵にはかなり涙目。

•特に慣れないうちは小指がものすごく痛くなる。

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 28

どこが痛い?

ここらへん

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 29

設定

(load “drill-instructor”)(drill-instructor t)

起動時から鬼軍曹を呼び出す。素人にはおすすめできない。

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 30

ちなみに

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 31

鬼軍曹.elはかなりミニマムなマイナーモードなのでマイナーモードを作ってみたい方には参考になるかもしれな

いです。

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 32

マイナーモード参考URL決定版

•「emacs lisp - マイナーモードの作り方」–www.koguchi.de

• http://www.koguchi.be/2007/02/emacs_lisp.html

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 33

続きまして

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 34

sense-region.el

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 35

これは何?

•矩形選択を楽にするEmacs Lisp。•Emacsの標準の矩形選択キーバインドは結構面倒。

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 36

何が便利?•C-SpaceでMarkSet。

•カーソル移動

•C-Spaceで矩形選択。

•便利!

abcdefghiJklmnopqrstqvwxyz

abcdefghiJklmnopqrstqvwxyz

abcdefghiJklmnopqrstqvwxyz

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 37

設定(autoload 'sense-region-on "sense-region"

"System to toggle region and rectangle." t nil)(sense-region-on)

http://taiyaki.org/elisp/sense-region/

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 38

続きまして

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 39

wdired.el

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 40

これは何?何が便利?

• diredの画面でファイルのリネームができるようになるEmacsLisp。

•開いているファイルも自動でリネームされた形で再読み込みできる。

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 41

設定(require 'wdired)(define-key dired-mode-map "r" 'wdired-change-to-

wdired-mode)

参考URL:ひげぽん OSとか作っちゃうかMona-http://d.hatena.ne.jp/higepon/20061226/1167098839

-uuu:---F1 tokyo-emacs #x01 2008.6.28 All(1,0) (Emacs-Lisp ppt)--------- 42

以上、ネタ切れです!

Recommended