42
Emacs Lisp 紹介 Kenichirou Oyama (k1LoW)

Emacs Lisp 紹介

Embed Size (px)

DESCRIPTION

tokyo-emacs #x01発表資料

Citation preview

Page 1: Emacs Lisp 紹介

Emacs Lisp 紹介

Kenichirou Oyama (k1LoW)

Page 2: Emacs Lisp 紹介

-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

Page 3: Emacs Lisp 紹介

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

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

す!

Page 4: Emacs Lisp 紹介

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

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

Page 5: Emacs Lisp 紹介

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

では、さっそく

Page 6: Emacs Lisp 紹介

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

moz.el

Page 7: Emacs Lisp 紹介

-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

Page 8: Emacs Lisp 紹介

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

何が便利?

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

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

Page 9: Emacs Lisp 紹介

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

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

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

Page 10: Emacs Lisp 紹介

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

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

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

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

Page 11: Emacs Lisp 紹介

-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!

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

Page 12: Emacs Lisp 紹介

-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

Page 13: Emacs Lisp 紹介

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

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

いじりたいのなら

Page 14: Emacs Lisp 紹介

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

mozplus.elは必須

Page 15: Emacs Lisp 紹介

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

詳しくはIMAKADOさんで!※

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

Page 16: Emacs Lisp 紹介

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

続きまして

Page 17: Emacs Lisp 紹介

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

pabbrev.el

Page 18: Emacs Lisp 紹介

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

これは何?何が便利?

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

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

Page 19: Emacs Lisp 紹介

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

略語展開系.el• abbrev

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

Page 20: Emacs Lisp 紹介

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

略語展開系.el• abbrev

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

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

Page 21: Emacs Lisp 紹介

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

略語展開系.el• abbrev

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

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

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

Page 22: Emacs Lisp 紹介

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

pabbrev.elの挙動

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

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

•決定or選択funct[ion]

補完

Page 23: Emacs Lisp 紹介

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

設定

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

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

Page 24: Emacs Lisp 紹介

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

続きまして

Page 25: Emacs Lisp 紹介

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

drill-instructor.el

Page 26: Emacs Lisp 紹介

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

これは何?

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

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

Page 27: Emacs Lisp 紹介

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

何が便利?

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

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

Page 28: Emacs Lisp 紹介

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

どこが痛い?

ここらへん

Page 29: Emacs Lisp 紹介

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

設定

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

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

Page 30: Emacs Lisp 紹介

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

ちなみに

Page 31: Emacs Lisp 紹介

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

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

いです。

Page 32: Emacs Lisp 紹介

-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

Page 33: Emacs Lisp 紹介

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

続きまして

Page 34: Emacs Lisp 紹介

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

sense-region.el

Page 35: Emacs Lisp 紹介

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

これは何?

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

Page 36: Emacs Lisp 紹介

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

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

•カーソル移動

•C-Spaceで矩形選択。

•便利!

abcdefghiJklmnopqrstqvwxyz

abcdefghiJklmnopqrstqvwxyz

abcdefghiJklmnopqrstqvwxyz

Page 37: Emacs Lisp 紹介

-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/

Page 38: Emacs Lisp 紹介

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

続きまして

Page 39: Emacs Lisp 紹介

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

wdired.el

Page 40: Emacs Lisp 紹介

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

これは何?何が便利?

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

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

Page 41: Emacs Lisp 紹介

-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

Page 42: Emacs Lisp 紹介

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

以上、ネタ切れです!