Emacs part 21
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001氷柱割り
2007/01/08(月) 21:59:39GNU Emacs - GNU Project - Free Software Foundation (FSF)
http://www.gnu.org/software/emacs/
emacs - SCM: CVS Repositories [Savannah]
http://savannah.gnu.org/cvs/?group=emacs
EmacsWiki
http://www.emacswiki.org/
Emacs 電子書棚
http://www.bookshelf.jp/
前スレ
http://pc10.2ch.net/test/read.cgi/unix/1157294692/
0891名無しさん@お腹いっぱい。
2007/05/15(火) 04:45:44もしも howm の過去のメモだけを考えるなら、
= 1st
== 2nd
=== 3rd
って区切りにして:
(setq howm-mode-hook
'(lambda () (setq outline-regexp "=+")))
でやるのがらくだと思うが。どうしても
= 1st
* 2nd
** 3rd
とやりたいなら..
(defun hoge-outline-level ()
(save-excursion
(cond ((looking-at "=") 1)
((looking-at "\\*+")
(1+ (- (match-end 0) (match-beginning 0))))
(t 0))))
とかじゃないか。ためしてないけど。
0892888
2007/05/15(火) 20:56:30いろいろやりましたが結局
(setq howm-mode-hook
'(lambda () (setq outline-regexp "=+")))
でやることにいたしました。
本当は下のがいいんですけど、
どうもoutline-levelをいじるとうまく動かせないんですよね…
わけもわからず適当にコピペと編集で動くわけないんですが、
elispから勉強する時間がとれなくて(´・ω・`)
ともあれ本当にありがとうございました。
0893名無しさん@お腹いっぱい。
2007/05/15(火) 22:28:08org-mode と howm を併用すれば、そのままで下のようになるんじゃないのか?
複数メモ1ファイルの人は困るかも知れんけど。
= 先頭に置くだけ
* 1
** 2
*** 3
0894892
2007/05/15(火) 22:46:57>複数メモ1ファイルの人は困るかも知れんけど。
それなんですね。
howmのメニューには=が出て欲しくて、かつ
=にsubtreeを畳みたいんです。
で、できれば=の次も一文字の*だと
todoとか足すのが楽ってだけです。
細かい話ですみません。
0895名無しさん@お腹いっぱい。
2007/05/16(水) 23:57:48M-x psychoanalyze-pinhead
0896名無しさん@お腹いっぱい。
2007/05/17(木) 00:27:45Outline-mode + howm-mode (1ファイル複数メモ) ですが、わたしは
howm の見出し用ヘッダー自体を、アウトラインモードのものと同じ
記号に指定しています。
(setq howm-view-title-header "*") ;; howm のロードより先に書く必要あり
これならメモのタイトルもアウトラインの見出しとして認識してくれ
ると思います。
0897名無しさん@お腹いっぱい。
2007/05/17(木) 23:38:59まだまだ知らんコマンドはいっぱいあると思うぞ。
0898名無しさん@お腹いっぱい。
2007/05/18(金) 00:33:13describe-variables して C-i すると
v とか val とか、実体がない変数の候補が出てくる。
*scratch* で C-M-i すると候補に emacs とかも出るし。
最近のemacsは頻出単語も保管してくれるのかい?
0899名無しさん@お腹いっぱい。
2007/05/18(金) 00:34:25オレの.skk-study…
0900名無しさん@お腹いっぱい。
2007/05/18(金) 00:35:19もう rd-mode-plus (と rd 自身) は必要性を感じないから、いっそのこと
そうしちゃうかな。
0901名無しさん@お腹いっぱい。
2007/05/18(金) 00:50:09おー、ホントだ。なんだろこれ。
> オレの.skk-study…
ガンガレ。
0902名無しさん@お腹いっぱい。
2007/05/18(金) 08:24:160903名無しさん@お腹いっぱい。
2007/05/18(金) 12:44:17describe-variable の Emacs Lisp コード (in help.el) で
ローカル変数として v と val がバインドされている間に
completing-read が実行されているからのようです。
v や val でなく、既に存在する変数名を使う方がいいんでしょうね。
0904名無しさん@お腹いっぱい。
2007/05/18(金) 14:19:02.emacs にどのような設定を書けばよいですか?
0905名無しさん@お腹いっぱい。
2007/05/18(金) 20:18:56これ?
0907名無しさん@お腹いっぱい。
2007/05/18(金) 21:12:21それってバージョン管理とは違うの?
0908904
2007/05/18(金) 21:56:47バージョン管理とかChangeLogとか一通り調べてみたんですが
そこまでする必要がないので
ファイルを開いたときとか閉じたときにフックして
ファイル名と時間だけ、ログをとれないかなぁと。
0909名無しさん@お腹いっぱい。
2007/05/18(金) 22:11:36ファイル名のとこは適当にいじってくれ。
(add-hook 'after-save-hook
(function (lambda ()
(let ((file-name (buffer-file-name)))
(with-temp-buffer
(insert (concat (time-stamp-dd/mm/yyyy)
" "
(time-stamp-hh:mm:ss)
" "
file-name
"\n"))
(append-to-file (point-min) (point-max)
"~/.file_log"))))))
0911名無しさん@お腹いっぱい。
2007/05/19(土) 00:11:23concatはなくても動くみたいだから気になったら消しといて。
おれは Emacs 電子書棚で
Meadow/Emacs Memo→Emacs Lisp リファレンスマニュアル→Emacs Lisp プログラミング
って感じで勉強した。
あとは勘で関数名とか予測して補完して分からなかったらdescribe-*してる。
0912名無しさん@お腹いっぱい。
2007/05/20(日) 12:42:58Ctrl+Shift+key としたい場合は、どのように記述するのでしょうか?
また、Ctrl+Meta+keyとしたい場合の記述の仕方も教えていただけると
助かります。
宜しくお願い致します
0913名無しさん@お腹いっぱい。
2007/05/20(日) 18:41:080914名無しさん@お腹いっぱい。
2007/05/20(日) 18:44:14http://tiny-tools.sourceforge.net/emacs-keys.html
0915名無しさん@お腹いっぱい。
2007/05/23(水) 02:31:000916名無しさん@お腹いっぱい。
2007/05/23(水) 03:12:170917名無しさん@お腹いっぱい。
2007/05/23(水) 13:33:470918名無しさん@お腹いっぱい。
2007/05/24(木) 02:42:360919名無しさん@お腹いっぱい。
2007/05/24(木) 07:12:190920名無しさん@お腹いっぱい。
2007/05/24(木) 14:05:500921名無しさん@お腹いっぱい。
2007/05/25(金) 19:01:400922名無しさん@お腹いっぱい。
2007/05/25(金) 19:35:041年後のMondayかもしれないぞ。
0923名無しさん@お腹いっぱい。
2007/05/26(土) 15:41:02マイナーモードがあったような記憶があるのですが、
なんという名前だったでしょうか。
0924名無しさん@お腹いっぱい。
2007/05/26(土) 16:50:220925名無しさん@お腹いっぱい。
2007/05/26(土) 17:05:55大和さんが改変した版ならCとかもいけたかもしれないけど。
もっとgenericなものがあったような気がするんだ。
0926名無しさん@お腹いっぱい。
2007/05/26(土) 17:06:160927名無しさん@お腹いっぱい。
2007/05/26(土) 17:25:36しかし結構Cのソースに対してだと誤認多いなあ。
ifdefとか使ってあるとイマイチなのかな。
0928名無しさん@お腹いっぱい。
2007/05/26(土) 22:01:130929名無しさん@お腹いっぱい。
2007/05/26(土) 22:06:38icalendar.el っていうのしかないの?
0930名無しさん@お腹いっぱい。
2007/05/27(日) 00:21:45デフォで使えるdiaryがicalの取り込み/掃き出しの両方に対応してるよ
0931名無しさん@お腹いっぱい。
2007/05/27(日) 11:43:56うそーん、って思って調べたんだけど、バージョン22 以降は
icalendar.el を標準で含むのか
やっぱりこれ以外には iCal 扱う lisp パッケージはないみたいね
どうも教えてくれてありがとう>930
0932名無しさん@お腹いっぱい。
2007/05/27(日) 11:50:55リチャードさんに500点
0933名無しさん@お腹いっぱい。
2007/05/27(日) 23:20:35またバッファの先頭行に指定した行数文足した値を、
挿入することはできませんか?
0934名無しさん@お腹いっぱい。
2007/05/27(日) 23:30:25出来ます。
0936名無しさん@お腹いっぱい。
2007/05/27(日) 23:43:42つ elisp
0937名無しさん@お腹いっぱい。
2007/05/27(日) 23:45:36>指定した行数文足した値
って何?
0938名無しさん@お腹いっぱい。
2007/05/28(月) 00:16:48練習に、>>933 のを作ってみた。
(defun add_line_number ()
"add line number"
(interactive)
(save-excursion
(let ((max-line 0) (current-line 0))
(goto-char (point-max))
(setq max-line (count-lines (point-min) (point)))
(goto-char (point-min))
(setq current-line 1)
(while (<= current-line max-line)
(goto-line current-line)
(insert (format "%d " current-line))
(setq current-line (1+ current-line))
))))
修正した方がいいところがあれば指摘お願い。
0939933
2007/05/28(月) 00:24:25たとえば
aaa
bbb
ccc
となっていると、普通に行番号をつけると
1 aaa
2 bbb
3 ccc
となりますが、指定した行数文足すとは 指定した数値から行番号を始めるということで
それが15だとすると
15 aaa
16 bbb
17 ccc
ということです。
宜しくお願いします
0940名無しさん@お腹いっぱい。
2007/05/28(月) 00:31:18まず関数名は、_ じゃなくて - でつなごう。
で、この書きかただと、whileループ内で行数が増えるような処理をやってしまうと、
増えた行は処理対象にならないじゃんか。
バッファの最後まで進めて処理するなら、
whileの条件式を (eobp) にしたりするほうがいいかなと。
あと、「次の行に進む」って処理は、フツーは (forward-line 1) を使う。
たとえばこんな感じ。
(defun add-line-number ()
(interactive)
(goto-char (point-min))
(save-excursion
(while (not (eobp))
(insert (format "%04d : " (1+ (count-lines (point-min) (point)))))
(forward-line 1))))
0941名無しさん@お腹いっぱい。
2007/05/28(月) 00:35:23前に疑似seqを作ったけど、それで代用できそうな感じだと分かった。
でも内容は>>938のみたいな感じなので、とりあえずそっち見て。
0942938
2007/05/28(月) 00:41:24(defun add_line_number (&optional start)
"add line number"
(interactive "p")
(or start (setq start 1))
(save-excursion
(let ((max-line 0) (current-line 1))
(goto-char (point-max))
(setq max-line (count-lines (point-min) (point)))
(goto-char (point-min))
(while (<= current-line max-line)
(goto-line current-line)
(insert (format "%d " (+ current-line)))
(setq current-line (1+ current-line))
))))
0943938
2007/05/28(月) 00:45:12レス番間違えた。
942
× >>940
○ >>939
>>940
指摘ありがとうございます。勉強になります。
修正してみます。
0944938
2007/05/28(月) 01:05:43>> 940 の指摘してくれた修正を入れてみました。
これを.emacsにいれておけばできるのではないかと思います。
指定行数はコマンドの前にC-u (指定行数) です。
(defun add-line-number (&optional start)
"add line number"
(interactive "p")
(or start (setq start 1))
(save-excursion
(let ((current-line 1))
(goto-char (point-min))
(while (not (eobp))
(insert (format "%d " (+ start (count-lines (point-min) (point)))))
(forward-line 1)))))
0945名無しさん@お腹いっぱい。
2007/05/28(月) 01:22:25> (or start (setq start 1))
んー、ちょっと違和感。
(setq start (or start 1))
とすることが多いんじゃないかな。返り値を意識してみるといいんじゃないか
な。
それと current-line が使われてないよ。
毎回 count-lines するのも無駄だからちゃんと使ってあげよう。
0946938
2007/05/28(月) 01:39:37やはり、count-line使うより、+でインクリメントの方が良いのでしょうね。
(let ((current-line 1)) を消して、count-lineの方を使うか迷いました。
(defun add-line-number (&optional start)
"add line number"
(interactive "p")
(setq start (or start 1))
(save-excursion
(let ((current-line 0))
(goto-char (point-min))
(while (not (eobp))
(insert (format "%d " (+ start current-line)))
(setq current-line (1+ current-line))
(forward-line 1)))))
0947名無しさん@お腹いっぱい。
2007/05/28(月) 13:43:00replace-regexp を使えばできる。
aaa
bbb
ccc
ならば、a の先頭から c の先頭までをリージョンに入れて、 M-x replace-regexp。
5 からはじめるなら、
^ → \,(+ 5 \#)
かな。
ttp://steve-yegge.blogspot.com/2006/06/shiny-and-new-emacs-22.html
0948名無しさん@お腹いっぱい。
2007/05/28(月) 14:06:130949名無しさん@お腹いっぱい。
2007/05/28(月) 15:36:44>ところで,771氏が晒してくれた hiwin-modeを自分なりに改造して,
>非アクティブウィンドウの背景を変更するようにしたんだけど,
>ここで需要あったりするんだろうか…
>(アクティブウィンドウの背景色を変更する仕様だと
> shell-modeとかの挙動がおかしかったので
参考までに上げてみてくれると嬉しいけど、もう見てないかな。
0950名無しさん@お腹いっぱい。
2007/05/28(月) 17:29:240951名無しさん@お腹いっぱい。
2007/05/28(月) 18:39:0599年に登場してたのか。比較的最近使いだしてた俺…
0952933
2007/05/28(月) 20:24:05勉強のついでとはいえ、私のために作っていただけたことに
非常に感謝しています。
本当にありがとうございました。
0953名無しさん@お腹いっぱい。
2007/05/29(火) 23:13:33http://www.aoky.net/articles/steve_yegge/tour_de_babel.htm
有名なのかも知れませんが、
Emacsだけでなく言語の比較やらいろんなことにコメントしてある面白い記事だったので
置いていきますね。
0954名無しさん@お腹いっぱい。
2007/05/29(火) 23:27:27面白い記事紹介サンクス。
0955名無しさん@お腹いっぱい。
2007/05/30(水) 12:42:07これを等幅で表示するにはどうすればいいですか?
0956名無しさん@お腹いっぱい。
2007/05/30(水) 14:06:220957名無しさん@お腹いっぱい。
2007/05/30(水) 21:12:350958名無しさん@お腹いっぱい。
2007/05/31(木) 09:35:080959名無しさん@お腹いっぱい。
2007/05/31(木) 09:47:500960名無しさん@お腹いっぱい。
2007/05/31(木) 14:01:020961名無しさん@お腹いっぱい。
2007/05/31(木) 14:02:500962名無しさん@お腹いっぱい。
2007/06/01(金) 13:31:23hogeというテキストをコピーしてC-u 5 C-y とやっても1回しかhogeがコピーされません。
一度に複数回テキストをコピーするにはどうしたら良いのでしょうか?
0963名無しさん@お腹いっぱい。
2007/06/01(金) 14:29:180964名無しさん@お腹いっぱい。
2007/06/02(土) 01:31:050965名無しさん@お腹いっぱい。
2007/06/02(土) 03:15:05#で囲まれたファイルは何でしょう?
0966名無しさん@お腹いっぱい。
2007/06/02(土) 08:18:190967名無しさん@お腹いっぱい。
2007/06/02(土) 22:01:390968名無しさん@お腹いっぱい。
2007/06/02(土) 22:49:02梅
0969名無しさん@お腹いっぱい。
2007/06/02(土) 22:55:360970名無しさん@お腹いっぱい。
2007/06/02(土) 23:00:53時刻が 22.1 サンキュー
0971名無しさん@お腹いっぱい。
2007/06/02(土) 23:40:41以下のようなエラーになります。
$ make info
[Please ignore a syntax error on the next line - it is intentional]
/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
/bin/sh: -c: line 1: syntax error: unexpected end of file
make - --unix -C ../man info
[Please ignore a syntax error on the next line - it is intentional]
/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
/bin/sh: -c: line 1: syntax error: unexpected end of file
make[1]: ディレクトリ `/cygdrive/c/Home/src/anoncvs/emacs/man' に入ります
makeinfo --force emacs.texi
makeinfo --force cc-mode.texi
cc-mode.texi:2719: 知らないコマンド `能:'.
(略
cc-mode.texi:XXXX: 知らないコマンド `能:'. でずらずら続く
略)
cc-mode.texi:6389: 知らないコマンド `能:'.
make[1]: *** [../info/ccmode] エラー 1
make[1]: ディレクトリ `/cygdrive/c/Home/src/anoncvs/emacs/man' から出ます
make: *** [info-gmake] エラー 2
cc-mode-texi を見てみるとエラーになっているのは @findex というコマンド
のようです。
Cygwin の texinfo は 4.8a-1 です。
なにをチェックして、なにをどう直せば良いかアドバイスお願いします。
make bootstrap; make install は出来て、Emacs 22.1 自体は使えています。
0973名無しさん@お腹いっぱい。
2007/06/02(土) 23:48:57失礼しました。
0974名無しさん@お腹いっぱい。
2007/06/03(日) 09:02:060975名無しさん@お腹いっぱい。
2007/06/03(日) 14:41:52ありがとうございます
質問ばかりで申し訳ないのですが、
対応する括弧にジャンプするには、どうすればいいでしょうか?
Vimだと、%にあたる操作がしたいです。
0976名無しさん@お腹いっぱい。
2007/06/03(日) 15:44:530977名無しさん@お腹いっぱい。
2007/06/03(日) 19:26:10vim 使わないからわからないが。
0978名無しさん@お腹いっぱい。
2007/06/03(日) 20:06:180979名無しさん@お腹いっぱい。
2007/06/04(月) 05:28:400980名無しさん@お腹いっぱい。
2007/06/05(火) 00:53:450982名無しさん@お腹いっぱい。
2007/06/05(火) 13:37:110983名無しさん@お腹いっぱい。
2007/06/05(火) 22:28:580984955
2007/06/05(火) 23:27:2722.1をオプションなしでビルドしても、プロポーショナルで表示されます。
.emacsは読み込ませてないので、デフォルトが適応されてると思います。
0985名無しさん@お腹いっぱい。
2007/06/05(火) 23:29:48環境って.emacsだけかよ。
せめてOSだとかぐらい書けよ。
0986名無しさん@お腹いっぱい。
2007/06/05(火) 23:41:070987名無しさん@お腹いっぱい。
2007/06/06(水) 00:19:24情報が少ないのでうまくいくかどうか分からんが
(setq default-frame-alist
(cons '(font . "fontset-standard") default-frame-alist))
でどうよ?
0988名無しさん@お腹いっぱい。
2007/06/06(水) 00:59:13ディストリビューションによってsite-sitart.elの中身が異なってる可能性があるだろ。
0989名無しさん@お腹いっぱい。
2007/06/06(水) 01:08:55それはそれで笑えるがな。
まー、単なる釣りだろうから、さっさとスルー。
0990名無しさん@お腹いっぱい。
2007/06/06(水) 01:29:18自分でビルドしてるっていってるんだから、関係ないんじゃね?
>>989
WindowsにEmacsはねぇーだろ
レス数が950を超えています。1000を超えると書き込みができなくなります。