トップページunix
1001コメント290KB

Emacs part 28

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名無しさん@お腹いっぱい。2009/01/21(水) 20:20:55
GNU Emacs - Free Software Foundation (FSF) http://www.gnu.org/software/emacs/
EmacsWiki http://www.emacswiki.org/
Emacs 電子書棚 http://www.bookshelf.jp/
Emacs CVS Repositories [Savannah] http://savannah.gnu.org/cvs/?group=emacs
Emacs Lisp List http://www.damtp.cam.ac.uk/user/sje30/emacs/ell-date.html
最新の stable リリースのダウンロード http://ftp.gnu.org/pub/gnu/emacs/
Windows用 NTEmacs の最新ダウンロード https://sourceforge.jp/projects/ntemacsjp/files/

前スレ http://pc11.2ch.net/test/read.cgi/unix/1226188082/
CVS先端: cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacs
0889名無しさん@お腹いっぱい。2009/04/18(土) 22:30:14
>>887
window-configuration-change-hook あたりに set-background-color を仕込むといいんじゃね?
random を呼び出して適当な色設定すりゃいいんだろうけど
ある程度制御しないともの凄い見辛い色構成になっちゃうだろうな・・・
0890名無しさん@お腹いっぱい。2009/04/18(土) 22:55:33
>>888
base64でエンコードしたtxtファイルを貼ってみました。
hoge.txtとかして、サクラエディターでUTF-8指定で開くと、

(=゚ω゚)ノぃょぅ

がちゃんと表示されますが、Meadow3(CVS先端) + mule-ucsだと、豆腐になってしまいます。
フォントもbdf等色々試してみましたが、駄目でした。

//47ADsAIABvAGsAdQByAGkALQBhAHIAaQAgAGUAbgB0AHIAaQBlAHMALgAKADsAOwAgAG8AawB1
AHIAaQAtAG4AYQBzAGkAIABlAG4AdAByAGkAZQBzAC4ACgBwMJMwVDBGMCAALwBqdfdTLwAKAGgw
RjBNMIcwRjAgAC8AcWesTi8ACgBEMIgwRjAgAC8AKAA9AJ//yQOf/ykAif9DMIcwRTAvAAoATTCH
MEYwIAAvAMpO5WUvAAoA
0891名無しさん@お腹いっぱい。2009/04/18(土) 22:57:17
(>>890の続き)

一応、~/.emacsには、以下を貼ってあります。

;;; 日本語環境設定
(set-language-environment "Japanese")
(require 'un-define)
(setq bitmap-alterable-charset 'tibetan-1-column)
(require 'jisx0213)
(require 'un-jisx0208ex)
(eval-after-load "subst-jis" '(load "subst-jisx0208ex"))
(utf-translate-cjk-mode 1)
0892名無しさん@お腹いっぱい。2009/04/18(土) 22:58:59
(>>890の続き)

(utf-translate-cjk-set-unicode-range
'((#x00a2 . #x00a3) ; ¢, £
(#x00a7 . #x00a8) ; §, ¨
(#x00ac . #x00ac) ; ¬
(#x00b0 . #x00b1) ; °, ±
(#x00b4 . #x00b4) ; ´
(#x00b6 . #x00b6) ; ¶
(#x00d7 . #x00d7) ; ×
(#X00f7 . #x00f7) ; ÷
(#x0370 . #x03ff) ; Greek and Coptic
(#x0400 . #x04FF) ; Cyrillic
(#x2000 . #x206F) ; General Punctuation
(#x2100 . #x214F) ; Letterlike Symbols
(#x2190 . #x21FF) ; Arrows
(#x2200 . #x22FF) ; Mathematical Operators
(#x2300 . #x23FF) ; Miscellaneous Technical
(#x2500 . #x257F) ; Box Drawing
(#x25A0 . #x25FF) ; Geometric Shapes
(#x2600 . #x26FF) ; Miscellaneous Symbols
(#x2e80 . #xd7a3) (#xff00 . #xffef)))

;;以上
0893名無しさん@お腹いっぱい。2009/04/18(土) 23:17:53
>>890
その貼ってくれた内容、utf-16 だったんだけど手違いかな?
08948902009/04/18(土) 23:37:27
>>893
> >>890
> その貼ってくれた内容、utf-16 だったんだけど手違いかな?

失礼致しました(汗。
UTF-8で変換し直してみました。
やはり、サクラエディターやWindowsのメモ帳ではちゃんと表示できますが、
Meadow3で開くと、どうもωの文字がおかしいです。。

Ozsgb2t1cmktYXJpIGVudHJpZXMuCjs7IG9rdXJpLW5hc2kgZW50cmllcy4K44Gw44KT44GU44GG
IC/nlarlj7cvCuOBqOOBhuOBjeOCh+OBhiAv5p2x5LqsLwrjgYTjgojjgYYgLyg9776fz4nvvp8p
776J44GD44KH44GFLwrjgY3jgofjgYYgL+S7iuaXpS8K
0895名無しさん@お腹いっぱい。2009/04/18(土) 23:49:37
>>891
Mule-UCS を使いたいのか、utf-translate-cjk-mode を使いたいのか
どっちなのかしらん
0896名無しさん@お腹いっぱい。2009/04/19(日) 00:09:19
>>894
サクラエディタがなかったから
Meadow、Notepad、UTF8 開ける ttPage ってページャの三つで試したけど
特に問題無く開けたよ。
ちなみにファイルの保存は Meadow 経由ね。

自分の設定は >>891-890 から mule-ucs 関係の設定抜いた状態。
subst-jisx0208ex ってのはロードしてないけど「〜」とかを windows にあわせる内容だったら
同じようなのロードしてる。
08978962009/04/19(日) 00:10:02
アンカーがタイムスリップしとるw
>>891-890>>891-892 ね・・・
08988902009/04/19(日) 00:28:56
>>895-896

あー、utf-translate-cjk-modeだけでうまくいきました。
どうもありがとうございます。

# 長年この設定が出来なくて、悩んでました。。

(utf-translate-cjk-mode 1)
(require 'subst-win)
(utf-translate-cjk-set-unicode-range
;; snip
)
0899名無しさん@お腹いっぱい。2009/04/19(日) 07:19:07
Mule-UCS の標準の設定だと japanese-jisx0208 より greek-iso8859-7 の優先度が
高く、ω はどちらにもあるから greek-iso8859-7 になっちゃってるのかな。

もし Mule-UCS を使うなら、un-define のロード前に
unicode-basic-translation-charset-order-list を変えると大丈夫かも。
0900名無しさん@お腹いっぱい。2009/04/19(日) 07:35:53
>>889
887です。
当初の説明が不足していました。
set-background-color では frame 全体が影響してしまいます。
frame 内に複数ある window のうち、特定の window に限って背景色を変更したいのです。
0901名無しさん@お腹いっぱい。2009/04/19(日) 09:24:30
>>900
うーん、バッファ全体にオーバーレイでもかけるしかないかなぁ。

で、それを実装してるやつが↓
http://www.geocities.co.jp/SiliconValley-Oakland/7673/ の colorful.el ね。
使う前に (require 'cl) が必要かも。

ただし、文章の背景色しか変更できないから文末以降は標準の色のままなので
望んでいる動作とは多分違うと思う。
0902名無しさん@お腹いっぱい。2009/04/19(日) 10:51:35
>>885
control-command-dがマウスポインタで指されている単語を辞書で引く機能のショートカットに割り当てられてるから。
Leopardなら、システム環境設定のキーボードとマウス→キーボードショートカットで、「辞書で調べる」のチェックをはずすか、別のキーに割り当てる。
09038902009/04/19(日) 11:18:01
>>899
なるほど。ありがとうございます。
0904名無しさん@お腹いっぱい。2009/04/19(日) 11:45:19
>>885
うん、同じ経験をした。
OSXのほうのキーボードショートカットがわりあてられてるので、
それを解除してやればよかったはず。
0905名無しさん@お腹いっぱい。2009/04/22(水) 10:44:38

C-q (fill-paragraph) なんですが、これって、
日本文の場合は句読点で改行するようになりませんかね。
fillするってよりは、長い行を編集しやすく適当に切ってくれるという感じでよいのですが。
HTMLなどを編集していると<p>パラグラフのなかで改行があると空白空けちゃうブラウザがあるんですよね。
本来はブラウザの問題かもしれませんが。
あと検索するときに問題が起こることがあると思います。(四文字熟語に改行入れられると
検索にひっかからないとか。こっちの回避はそれほど気にしてないのですが。)

そういうfill-paragraphはありそうな気がするんですが、
google見てみたけどそれらしきものは見つけられません。



0906名無しさん@お腹いっぱい。2009/04/22(水) 11:35:55
>>905
私も同じ悩みを持っていますが、句読点で改行して解決する
という発想がありませんでした。なるほど。
私は自分でelispを書くスキルがないので、取りあえず手作業で、
改行を調整しようっと。
0907名無しさん@お腹いっぱい。2009/04/22(水) 15:08:56
直前のコマンドを参照する変数や関数ってあったように思うんですが、なんでしたっけ?
0908名無しさん@お腹いっぱい。2009/04/22(水) 15:17:34
repeat-complex-command ?
0909名無しさん@お腹いっぱい。2009/04/22(水) 15:19:38
マニュアルの5.5に書いてあるやつ?
0910名無しさん@お腹いっぱい。2009/04/22(水) 15:25:03
思い出しました。last-commandです。
0911名無しさん@お腹いっぱい。2009/04/22(水) 15:28:58
現在のカーソルからみてN文字分直前(左側)の文字列をとってくるにはどうしたらいいですか。
たとえば『foobar』で 'a' にカーソルがあった場合、直前の2文字('oo')をとってきたい、ということです。
0912名無しさん@お腹いっぱい。2009/04/22(水) 15:40:47
>>911
C-SPC
C-p
C-p
M-w
C-x C-x
0913名無しさん@お腹いっぱい。2009/04/22(水) 15:49:29
>>911
Emacs Lispの話なら、マニュアルの32.2のやつだろ。
0914名無しさん@お腹いっぱい。2009/04/22(水) 17:28:10
>>912
> C-p
> C-p

C-b
C-b
だろ。
0915名無しさん@お腹いっぱい。2009/04/22(水) 18:39:11
>>914
間違い探しなら、
>>911 foobar のaの直前の2文字は、obって部分につっこもうぜ
0916名無しさん@お腹いっぱい。2009/04/22(水) 18:41:10
グダグダやん
0917名無しさん@お腹いっぱい。2009/04/22(水) 19:09:46
>>905
なんかそんなパッケージ昔見た記憶があるよ
名前は忘れたけど
ぐぐれば分かると思うけど

てか自分で書くのもそんなに難しくないと思う
0918名無しさん@お腹いっぱい。2009/04/22(水) 21:13:31
>>917
taiyaki.org の人が作ってたような気がするんだよなーって思ったけど
text-adjust だった。

kinsoku.el ってのが今の emacs には入ってるから
それ使ってゴニョゴニョしたら作れそうね。
0919名無しさん@お腹いっぱい。2009/04/22(水) 21:25:44
>>918
> text-adjust だった。
全く要件を満たしていないw
0920名無しさん@お腹いっぱい。2009/04/22(水) 22:09:59
>>919
うむw
あと kinsoku.el も「、。」とかが行頭に来ないよう禁則処理してくれるだけで
>>905 の要件とはちと違うねえ。
英字の方はちゃんと期待通りの動きするわけだから
なんか設定足すぐらいでできそうな気もするんだけどな。
0921名無しさん@お腹いっぱい。2009/04/22(水) 22:10:14
>>919
そうなの?俺も text-adjust かなって思ったんだけど。
要件を満たしてないなら自分で作ったらいいよ
09229182009/04/22(水) 22:22:28
>>921
いや、text-adjust は http://taiyaki.org/elisp/text-adjust/ 見りゃわかるけど
fill 関連の仕事はしてくれんのよ。
0923名無しさん@お腹いっぱい。2009/04/22(水) 22:23:15
>>922
いや、ちゃんと見れ。

>text-adjust-fill 句読点優先で, fill-region をする.
0924名無しさん@お腹いっぱい。2009/04/22(水) 23:07:36
わしは、perlで作ったけどな。
0925名無しさん@お腹いっぱい。2009/04/22(水) 23:15:28
おっと、車輪の再発明自慢大会はそこまでだ。
0926名無しさん@お腹いっぱい。2009/04/22(水) 23:46:20
λとかが半角でしか表示されないのをどうにか全角で表示しようと、
fontsetなるものを弄ってみましたが

(create-fontset-from-fontset-spec
"-paw-fixed-medium-r-normal-*-16-*-*-*-*-80-fontset-pawpaw,
ascii:-paw-fixed-medium-r-normal-*-16-*-jisx0201.1976-0,
iso8859-1:-paw-fixed-medium-r-normal-*-16-*-jisx0201.1976-0,
japanese-jisx0208:-paw-fixed-medium-r-normal-*-16-*-jisx0208.1983-0,
iso10646-1:-paw-fixed-medium-r-normal-*-16-*-jisx0208.1983-0")

;; -paw-fixed-medium-r-normal--16-*-75-75-c-160-jisx0208.1983-0
(set-face-font 'default "-paw-fixed-medium-r-normal-*-16-*-*-*-*-*-fontset-pawpaw")
(set-fontset-font "fontset-pawpaw" '(?α . ?ω)
"-paw-fixed-medium-r-normal--16-*-75-75-c-160-jisx0208.1983-0")

(char-displayable-p ?λ) ;; => #<font-object "-gnu-fixed-normal-normal-normal-h-16-*-*-*-c-80-iso10646-1">
↑のようにうまくいかないようです
そもそも無理なんでしょうか
0927名無しさん@お腹いっぱい。2009/04/23(木) 00:47:50
>>178

>>226 で直るね。 TAB が倍の幅になるのも、これで直るお。
0928名無しさん@お腹いっぱい。2009/04/23(木) 08:54:32
HHK pro使ってる人いますか?
emacsのmetaキー(左下端をaltにしてそれを使っている)が押しにくいんですがどうしてますか?
0929名無しさん@お腹いっぱい。2009/04/23(木) 10:10:31
さて、>>693の法則が(ry
0930名無しさん@お腹いっぱい。2009/04/23(木) 10:12:00
>>928
Enterをmetaにするとおk
0931名無しさん@お腹いっぱい。2009/04/23(木) 11:47:40
>>928
ん?日本語大丈夫か?
左下端の alt キーを Emacs で meta にしてる、で良いんだよな?
俺的にはすごくそれで使いやすいんだが・・・
0932名無しさん@お腹いっぱい。2009/04/23(木) 11:54:07
右Meta使えよ
0933名無しさん@お腹いっぱい。2009/04/23(木) 12:07:30
Emacs向けキーボード配列作れよ
0934名無しさん@お腹いっぱい。2009/04/23(木) 12:13:06
Emacsに特化していくと他の環境で作業できなくなるぞ。
仕事先で普通のエディタとか使うと効率悪くて頭痛くなってくる。
0935名無しさん@お腹いっぱい。2009/04/23(木) 12:19:27
>>934
それがEmacsを使うものの宿命(さだめ)なのだ…
0936名無しさん@お腹いっぱい。2009/04/23(木) 12:27:24
>>934
> Emacsに特化していくと他の環境で作業できなくなるぞ。

それはお前が劣等だからだろう。
0937名無しさん@お腹いっぱい。2009/04/23(木) 12:30:38
他の環境を使わせられる人は可哀想。
0938名無しさん@お腹いっぱい。2009/04/23(木) 14:08:00
USBメモリにいれて持ち歩けばおk
0939名無しさん@お腹いっぱい。2009/04/23(木) 14:39:45
他の環境を使わざるを得ない人、
環境に即座に適応できない人は
気をつけてってことだね。

……可哀相だな、そういう人。
0940名無しさん@お腹いっぱい。2009/04/23(木) 14:52:06
環境に即座に適応できてたらそもそもEmacsを使わないだろとは思う。
Emacsって自分一人の快適さを追及するためのものだから。
0941名無しさん@お腹いっぱい。2009/04/23(木) 15:08:06
「自分がそうだからみんなそう」
09429282009/04/23(木) 15:10:40
>>933
そういうことです。>左下のaltをmetaにしている。

それが中々押しにくいのです。
例えばC-vとM-vを対比させてみるとC-vは簡単に押せるんですが、
M-vはホームポジションから大幅に左手を動かさないと押せませんよね。
左手を全体的に下に動かさないといけない。(altは小指で押しています)

もっと良い方法が無いものかなあと。
0943名無しさん@お腹いっぱい。2009/04/23(木) 15:30:27
日本語配列のキーボードを使って無変換をmetaにすれば?
0944名無しさん@お腹いっぱい。2009/04/23(木) 15:46:23
俺は、左手小指をグーの時の様にグルッと丸めて、
第一関節の外側を使って押してるよ。

時間が少しかかるから、お勧めしないけど。

HHK なら、Alt=◇,◇=Alt っていう交換を指定して
親指使って押せば?
0945名無しさん@お腹いっぱい。2009/04/23(木) 17:07:45
hhkじゃないけど、両方ともAltは自然と薬指で押しちゃっているなあ
でも、小指で押すのも慣れだと思うなあ
0946名無しさん@お腹いっぱい。2009/04/23(木) 18:45:12
一ヶ月以上の悩みです
[Save for Future Sessions]でsaveすると
Cannot save customizations; init file was not fully loaded
というメッセージが出ます
なにがいけないんでしょうか?

$ ls -la ~/ | grep emacs
-rw-r--r-- 1 kana kana 3898 Apr 4 22:01 .emacs
-rw-r--r-- 1 kana kana 690 Mar 14 11:44 .emacs-customize
drwxr-xr-x 3 kana kana 4096 Mar 10 03:05 .emacs.d
0947名無しさん@お腹いっぱい。2009/04/23(木) 18:54:37
操作環境つったってキーボードとキーバインドだけじゃないし。
OSやアプリやディスプレイやイスや机や光度や環境雑音など諸々あるし。
0948名無しさん@お腹いっぱい。2009/04/23(木) 19:11:29
>>947
今日の運勢とか、風水の方角とか、大事だよね

とりあえずディスプレイは24ワイド以上じゃないと仕事せんぞ
ディスプレイの品質に目をつぶってやるけど
0949名無しさん@お腹いっぱい。2009/04/23(木) 19:12:48
24ワイドとか粗大ゴミだろwwwwwww
0950名無しさん@お腹いっぱい。2009/04/23(木) 19:14:39
>>949
じゃあ、くれ
0951名無しさん@お腹いっぱい。2009/04/23(木) 19:15:20
粗大ゴミを集める趣味はないよ
0952名無しさん@お腹いっぱい。2009/04/23(木) 19:16:43
HHKなら◇がmeta。なぜならSunのキーボードがもともとそうだから。
0953名無しさん@お腹いっぱい。2009/04/23(木) 19:17:23
次スレ
Emacs part 29
http://pc12.2ch.net/test/read.cgi/unix/1240481795/

補足とかあればよろしく
0954名無しさん@お腹いっぱい。2009/04/23(木) 19:48:57
早漏
0955名無しさん@お腹いっぱい。2009/04/24(金) 00:02:26
作ってみた。あんまりテストしてないけど。

(defvar line-breakable-char-list '(?、 ?。))

(defun break-paragraph ()
(interactive)
(let* ((old (category-table))
(new (copy-category-table old)))
(map-char-table (lambda (char category-set)
(when (and (aref category-set ?j)
(not (memq char line-breakable-char-list)))
(aset category-set ?| nil))) new)
(set-category-table new)
(unwind-protect
(save-excursion
(let ((end (progn (forward-paragraph) (point))))
(backward-paragraph)
(replace-regexp "\\(\\cj\\)\n\\(\\cj\\)" "\\1\\2" nil (point) end)
(fill-paragraph nil)))
(set-category-table old))))
09569062009/04/24(金) 10:21:59
>>955
すげー!ありがとう!ちゃんと使えた。
しかも「。。。」みたいなやつは



となるのかと思いきや、ちゃんと改行が抑制されていた。
0957名無しさん@お腹いっぱい。2009/04/24(金) 10:41:56
ageとけ
09589052009/04/24(金) 18:49:46
>>955
わあ、すごい。使わせていただきます。
0959名無しさん@お腹いっぱい。2009/04/25(土) 12:09:54
コード書きに auto-complete を便利に使っています。
etags から補間候補を拾ってくれるし、とっても便利でるね。

でも、関数名を補間しても、引数仕様はでないんだよね。
どこぞの SDK のようにはできないでしょうかね。
言語の文法を完全に理解してパースしないと実相は難しそうだから、emacs-lisp では無理かな。
0960名無しさん@お腹いっぱい。2009/04/25(土) 12:20:59
パーズしたりドキュメントから抽出するようなものは外部プログラムに任せるという方法もあるし
eldoc-mode用にヒント表示を用意できるような類なら
ac-select-candidateを弄ればできるかも
なにもsemanticみたいにelispによる力技でやらなきゃいけないものでもないし
0961名無しさん@お腹いっぱい。2009/04/25(土) 12:21:50
>>959
> どこぞの SDK のようにはできないでしょうかね。

作ればあるもん

> 言語の文法を完全に理解してパースしないと実相は難しそうだから、emacs-lisp では無理かな。

言語処理系のほうに、そういうことをサポートする機能が付けられつつあるから、
言語によってはできるだろう。
0962名無しさん@お腹いっぱい。2009/04/25(土) 15:02:24
流れ豚切りスマン

hexl-mode ではデフォルトが上書きモードなので
hexl-insert-* とかの関数でバイト列を挿入したいのですが
なぜか動作が上書きモードのままです.これって正常なんでしょうか

あと delete-backward-char みたいに
カーソルの左にある1バイトを消去するにはどうすればいいのでしょうか?

環境は Debian (Lenny) の Emacs 22.2.1 です
0963名無しさん@お腹いっぱい。2009/04/25(土) 17:56:40
auto-complete と yasnippet と anything(はちょっと違うか)あたりが
有機的にからんでくれると嬉しいよね。
具体的にどうなったら嬉しいのかとかよくわからんけど、現状のだと
なんかすこーしものたりない。
0964名無しさん@お腹いっぱい。2009/04/25(土) 20:12:39
C-c n を押したら 現在のカーソルの位置に <@@>を出力して
@と@の間にカーソルを持って行きたいんですが、
どなたか 書いていただけますか?
09659642009/04/25(土) 20:22:36
ちょっと見よう見まねで
(defun lite ()
(interactive)
(insert "<@@>"))

(global-set-key "\C-cn" 'lite)

って書いたらとりあえず出力はできました。
でも@@の間にカーソルを持ってくる方法はわかりません。
lispはまったく触れた事もありません。

0966名無しさん@お腹いっぱい。2009/04/25(土) 20:37:59
>>965
(backward-char 2)

>lispはまったく触れた事もありません。
elispの世界へようこそ。
0967名無しさん@お腹いっぱい。2009/04/25(土) 21:26:15
>>964さんのをいじってみた
(defun lite ()
(interactive)
(setq current-posion (point))
(insert "<@@>")
(goto-char (+ current-posion (/ (length "<@@>") 2))))

(global-set-key "\C-cn" 'lite)

秀丸マクロを覚えるなら、emacs-lispだろと思って触り始めてみたけど、かなり満足している
ケースバイケースでvimも使うけど、EmacsはUnix最強の文房具だね
09689642009/04/25(土) 21:40:02
>>966, 967
有難うございます!
無事出来ました!
0969名無しさん@お腹いっぱい。2009/04/25(土) 22:03:55
"<@@>"をパラメータで受けとるようにすりゃ汎用化できそうだよね。
カーソル移動位置もパラメータなりなんなりで指定出来るようにすれば
結構面白い入力支援になるかも。
0970名無しさん@お腹いっぱい。2009/04/25(土) 22:23:54
>>962
ttp://www.gnu.org/software/emacs/manual/html_node/emacs/Editing-Binary-Files.html
0971名無しさん@お腹いっぱい。2009/04/25(土) 23:19:34
>>969
手前味噌だけど……
ttp://www.emacswiki.org/emacs/parenthesis.el

>>967の例なら、
(require 'parenthesis)
(add-to-list 'parenthesis-func-alist '(parenthesis-insert-<@ "<@" "@>"))
(parenthesis-init)
(global-set-key "\C-cn" 'parenthesis-insert-<@)

まあ、よかったらどぞ
0972名無しさん@お腹いっぱい。2009/04/27(月) 18:06:35
>>959
auto-complete-mode だけど、narrow-to-region すると
補完候補の表示の位置がおかしくなる。既出のバグですか?
0973名無しさん@お腹いっぱい。2009/04/28(火) 13:46:59
Emacsに大分手がなじんできたのでもっと使いこなしたいと思うようになりました
メジャーモードとか作ったりできるようになりたいんですが基本的には
ttp://www.gnu.org/software/emacs/manual/html_node/emacs/
ここを勉強すればいいんでしょうか?
他にもEmacs Lispやリファレンスなどで参考になる所があったら紹介をお願いします
0974名無しさん@お腹いっぱい。2009/04/28(火) 14:27:36
釣りだよな!!
釣りだよなッ!!

0975名無しさん@お腹いっぱい。2009/04/28(火) 14:36:47
(info "eintr")と(info "elisp")はおさえといて損はない
後者はリファレンスとして一発で参照できる環境を作っとくことをおすすめする
あとは基本的に既存のelispをハック(笑)するのが一番だ
0976名無しさん@お腹いっぱい。2009/04/28(火) 17:43:43
>>973
emacs lispを勉強していて、イマイチしっくりこないときにはSchemeか、Common Lispをかじるといいかも
おれはScheme(guile)に行ったけど、emacs lispはCommon Lisp方言のほうが強いみたいだ
方言の違いで特別困ることは、なさそう感じだけど

ちなみにguileはemacsのinfoがインストール一発で
The Algorithmic Language Scheme
* GOOPS: (goops). The GOOPS reference manual.
* Guile Reference: (guile). The Guile reference manual.
* Guile Tutorial: (guile-tut). The Guile tutorial.
* R5RS: (r5rs). The Revised(5) Report on Scheme.
みたいに4つ入ったから使っている
0977名無しさん@お腹いっぱい。2009/04/28(火) 17:45:47
>>975
> (info "eintr")と(info "elisp")はおさえといて損はない
> 後者はリファレンスとして一発で参照できる環境を作っとくことをおすすめする
おお、それは便利そうだね

既存のelispハックで、ソースも短くて、elispを勉強中の人が教材になるのってないのかな
defunはわかるけど、それ以外のdefうんたらがイマイチわかっていない

;; short-cut jump for emacs lisp intro and emacs lisp reference manual
;; elisp-info and eintr
(defun elisp-info ()
(interactive)
(info "elisp"))
(defun elisp-intro-info ()
(interactive)
(info "eintr"))

(global-set-key "\C-c1" 'elisp-info) ;C-c 1
(global-set-key "\C-c2" 'elisp-intro-info) ;C-c 2
;; elisp-info and eintr ends
0978名無しさん@お腹いっぱい。2009/04/28(火) 18:18:33
elisp-intro がまさしくそれかと
自身今勉強中だけど、Emacs 自身の組み込み関数を例題に懇切丁寧に定義を追跡解説して
くれてる。
一応日本語版もある (Emacs21 用だが)
ttp://www.bookshelf.jp/texi/elisp-intro/jp/emacs-lisp-intro.html
0979名無しさん@お腹いっぱい。2009/04/28(火) 20:36:10
>>973
>メジャーモードとか作ったりできるようになりたいんですが基本的には
そのものズバリのものがあるよ。
ttp://www.gentei.org/~yuuji/elisp/
0980名無しさん@お腹いっぱい。2009/04/28(火) 21:28:05
他人が作った1000行ぐらいのを模倣してみるのもいいかもねえ。

HTTPとかも喋られるから
今だったらそこらへんのWebサービスクライアントなんか作るのも
他人にも喜ばれやすくていいかもしれない。
0981名無しさん@お腹いっぱい。2009/04/28(火) 23:23:48
この手の話題もう飽きた。何度目だナウシカ
0982名無しさん@お腹いっぱい。2009/04/28(火) 23:36:05
elispでhttp通信するんだったら、emacs22以上で入ってる、url-httpをrequireしてやって、
urlから始まるelispを使うと良いと思うよ すごく便利
0983名無しさん@お腹いっぱい。2009/04/28(火) 23:51:23
それ結構動作があやしい。おまけに色々派生版が世の中にあって
それ使ったソフトを人に配ったりemacsをアップデートしたりというときに悩む可能性あり。
0984名無しさん@お腹いっぱい。2009/04/29(水) 00:09:21
url*パッケージは、バージョン間差異が大きいから使いづらいという理解でいいのかな
しらんかった。勉強になったよ。ありがとうー
0985名無しさん@お腹いっぱい。2009/04/29(水) 00:56:16
urlパッケージって他の言語の環境で用意されてるの程便利じゃないんだよね。

リクエストデータは自前で準備しなきゃいけないし
レスポンスはステータス/ヘッダ含んだ生のままのバッファ渡されるだけだから
content-typeのcharset見てデコードとかも自前で処理かかないといけないし。

0986名無しさん@お腹いっぱい。2009/04/29(水) 06:59:30
めんどくさいからいつも w3m か curl を呼び出してる
0987名無しさん@お腹いっぱい。2009/04/29(水) 12:49:25
>>984
とはいえキープアライブ通信とか接続の使い回し、キャッシング処理を
意識させずにやってくれたりするから自分で一から作るよりははるかにマシではあるんだよな。
0988名無しさん@お腹いっぱい。2009/04/29(水) 18:31:08
1から作るのはありえない…面倒すぎる
クッキーの管理をたしか勝手にやってくれたはず
他の言語で用意されているのと比べれば、それは見劣りするかもしれんが、無いよりははるかにマシと言わざるおえんなあ
elispのみでやりたいなら使わない手はない、と思う
レス数が950を超えています。1000を超えると書き込みができなくなります。