5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

自慢の.emacsを貼り付けよう

1 :こっそりだどん:01/09/25 13:54
皆さんの自慢の.emacsを貼り付けてください。
#もう他人のディレクトリへ行って勝手に.emacs見るの疲れました。

2 :名無しさん@お腹いっぱい。:01/09/25 20:40
(kill-emacs)

3 :名無しさん@お腹いっぱい。:01/09/25 22:40
(load "~/elisp/.emacs")

4 :名無しさん@お腹いっぱい。:01/09/25 22:47
他人のディレクトリに設定ファイルを見に行って
隠れヲタと知るのも人生経験のうち。

5 :名無しさん@お腹いっぱい。:01/09/26 00:45
>>4
勝手に他人のところ見るのはクラッカーです。
クラッカーはテロリストです(by最近の米国の法案)

というわけで、ぼくら人民は人生経験しなくていいぞ、ということだそうです。
きっとウマウマな福祉で養ってくれるんだろうな政府が…

6 ::01/09/26 01:48
俺です。

teratermでtelnetしたときにキーボードの設定でBSに
チェックをいれないでも、BSがemacsで使えるような
設定方法しりませんか?

おしえてちょんまげ

7 ::01/09/26 01:50
それと、emacs-20.7 って日本語対応していますか?

tera termでtelnetでつないでemacsで漢字編集しようとしたら
文字がバケラッタなんですけど。

tera termはちゃんとVT100JでEUCにしてます

8 :名無しさん@お腹いっぱい。:01/09/26 01:51
;; Don't Display Startup Message
(setq inhibit-startup-message t)

;;C-x bでbuffersを選ぶ時便利
(iswitchb-default-keybindings)

;; 警告音のかわりに画面フラッシュ
(setq visible-bell t)

;; ステータスラインに時間を表示する
(display-time)

;; 行番号・桁番号をモードラインに表示する
(line-number-mode t) ; 行番号
(column-number-mode t) ; 桁番号

;; 画面から出たとき一行だけスクロールさせる
(setq scroll-conservatively 1)

;; バッファの最後の行で next-line しても新しい行を作らない
(setq next-line-add-newlines nil)

;; バッファの最初の行で previous-line しても、
;; "beginning-of-buffer" と注意されないようにする。
(defun previous-line (arg)
(interactive "p")
(if (interactive-p)
(condition-case nil
(line-move (- arg))
((beginning-of-buffer end-of-buffer)))
(line-move (- arg)))
nil)

;; C-h と Del の入れ替え
;; Help が Shift + Ctrl + h および Del に割当てられ、
;; 前一文字削除が Ctrl + h に割当てられます
(load-library "term/keyswap")
(if (eq window-system 'x)
(progn
(define-key function-key-map [delete] [8])
(put 'delete 'ascii-character 8)))

9 :名無しさん@お腹いっぱい。:01/09/26 01:52
;; 長い文章の折り返しで物理的に次の行に移動
(global-set-key "\C-p" 'previous-window-line)
(global-set-key "\C-n" 'next-window-line)
(global-set-key [up] 'previous-window-line)
(global-set-key [down] 'next-window-line)
(defun previous-window-line (n)
(interactive "p")
(let ((cur-col
(- (current-column)
(save-excursion (vertical-motion 0) (current-column)))))
(vertical-motion (- n))
(move-to-column (+ (current-column) cur-col)))
(run-hooks 'auto-line-hook)
)
(defun next-window-line (n)
(interactive "p")
(let ((cur-col
(- (current-column)
(save-excursion (vertical-motion 0) (current-column)))))
(vertical-motion n)
(move-to-column (+ (current-column) cur-col)))
(run-hooks 'auto-line-hook)
)

10 :名無しさん@お腹いっぱい。:01/09/26 01:52
;; C-x %で対応括弧に簡単にジャンプ
(progn
(defvar com-point nil
"Remember com point as a marker. \(buffer specific\)")
(set-default 'com-point (make-marker))
(defun getcom (arg)
"Get com part of prefix-argument ARG."
(cond ((null arg) nil)
((consp arg) (cdr arg))
(t nil)))
(defun paren-match (arg)
"Go to the matching parenthesis."
(interactive "P")
(let ((com (getcom arg)))
(if (numberp arg)
(if (or (> arg 99) (< arg 1))
(error "Prefix must be between 1 and 99.")
(goto-char
(if (> (point-max) 80000)
(* (/ (point-max) 100) arg)
(/ (* (point-max) arg) 100)))
(back-to-indentation))
(cond ((looking-at "[\(\[{]")
(if com (move-marker com-point (point)))
(forward-sexp 1)
(if com
(paren-match nil com)
(backward-char)))
((looking-at "[])}]")
(forward-char)
(if com (move-marker com-point (point)))
(backward-sexp 1)
(if com (paren-match nil com)))
(t (error ""))))))
(define-key ctl-x-map "%" 'paren-match))


自分も便利なの知りたいのでコピペ

11 :名無しさん@Emacs:01/09/26 04:30
うちはこんなの使ってます。

;; バッファを切り替えるのに C-x e で electric-buffer-list を使う。
(global-set-key "\C-xe" 'electric-buffer-list)

;; hoge.txt~ みたいなバックアップファイルを作らないようにする
(setq backup-inhibited t)

;; c-mode その他で色が付くようにする
(global-font-lock-mode)

12 :名無しさん@お腹いっぱい。:01/09/26 06:04
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=1001087615&ls=50
にいけ >>6-7

13 :名無しさん@お腹いっぱい。:01/09/26 08:35
どっかで見たようなのばっかだぞ。
目から鱗が落ちるようなヤツプリーズ。

14 :名無しさん@お腹いっぱい。:01/09/26 10:53
>>13

(require 'navi2ch)

15 :名無しさん@お腹いっぱい。:01/09/26 14:04
上の方と重なっていないものだけね。
わからないのは descrive-variable しろ。
ほかにもいっぱいあるけど (1MB くらい)、個人的なものなので。
(setq message-log-max 200)
(auto-compression-mode t)
(setq apropos-do-all t)
(setq custom-file "~/.custom.el")
(setq-default fill-column 72)
(auto-show-mode t)
;; font-lock
(global-font-lock-mode t)
(setq font-lock-support-mode 'fast-lock-mode)
(setq fast-lock-cache-directories '("~/.emacs.d/emacs-flc"))
(setq auto-save-list-file-prefix "~/.emacs.d/auto-save-list/.saves-")
(setq temporary-file-directory "~/.emacs.d/tmp")
;; abbrev
(read-abbrev-file "~/.abbrev_defs")
(setq save-abbrevs t)
;; version control
(setq vc-follow-symlinks t)
(setq vc-suppress-confirm t)
(setq vc-command-messages t)
;; enable narrow
(put 'narrow-to-region 'disabled nil)
(put 'narrow-to-page 'disabled nil)
;;
(setq outline-minor-mode-prefix "\C-c\C-c")
(global-set-key "\M-V" 'scroll-other-window-down)

16 :名無しさん@お腹いっぱい。:01/09/26 15:41
.emacs が 1MB もあったら起動が遅そうだ...
bytecompile でもしてる?(ワラ

17 :名無しさん@お腹いっぱい。:01/09/26 21:34
8みたいなTipsおいしい!

18 :名無しさん@お腹いっぱい。:01/09/26 22:25
>16
15じゃないけど俺はしてるよ。
kill-emacs-hookに引っかけとけばいいだけだし

19 :名無しさん@お腹いっぱい。:01/09/26 22:58
適当に分割すればいいのに。

20 :名無しさん@お腹いっぱい。:01/09/27 01:45
量が多いなら ~/.emacs.el に名前変えてバイトコンパイルせー
と info に書かれとる。

21 :名無しさん@お腹いっぱい。:01/09/27 01:57
~/.emacsをバイトコンパイルすると~/.emacs.elcになって、
customizeで設定を保存するとlispのソースが~/.emacs.elc
の末尾に追加されちゃう。あれは困る。

関係無いけど、モナーが踊るマクロは無い?
タコが踊るやつはあったよね?

22 :名無しさん@お腹いっぱい。:01/09/27 02:00
>>21
M-x describe-variable custom-file

23 :15:01/09/27 12:31
>>19
いや、分割して byte-compile してます。

24 :名無しさん@お腹いっぱい。:01/09/27 18:59
.emacs なんて、ほとんど毎日書き換えて育てていくものだから、

分割したり、いちいちバイトコンパイルするのは面倒だと思うのだが、、、

25 :名無しさん@お腹いっぱい。:01/09/27 19:46
;ホイールつきマウスのホイールで、スクロールするための設定
(define-key global-map 'button4
'(lambda (&rest args)
(interactive)
(let ((curwin (selected-window)))
(select-window (car (mouse-pixel-position)))
(scroll-down 5)
(select-window curwin)
)))
(define-key global-map 'button5
'(lambda (&rest args)
(interactive)
(let ((curwin (selected-window)))
(select-window (car (mouse-pixel-position)))
(scroll-up 5)
(select-window curwin)
)))

26 :名無しさん@お腹いっぱい。:01/09/27 21:34
(iswitchb-default-keybindings)
(resize-minibuffer-mode)

(゚д゚)ウマー

27 :23:01/09/28 13:06
>>24
そうですか? 例えば skk はこの file とか lookup はこの file とか決めておけば、
すぐ改造したいものがみつかっていいと思うんですが。byte-compile も
M-x byte-recompile-directory すればいいし。

28 :名無しさん@お腹いっぱい。:01/09/28 13:31
>>23
.emacsは
(byte-recompile-directory "~/Elisp/")
(load "~/Elisp/startup")
だけにしとけば細かいこと気にしないですむね。

29 ::01/09/28 17:53
どっかで見たコードです。
けっこう便利^^)

;; Auto +x
(add-hook
'after-save-hook
'(lambda ()
(save-restriction
(widen)
(if (or
(string= "#!" (buffer-substring 1 (min 3 (point-max))))
(string-match ".cgi$" (buffer-file-name)))
(let ((name (buffer-file-name)))
(or (char-equal ?. (string-to-char (file-name-nondirectory name)))
(let ((mode (file-modes name)))
(set-file-modes name (logior mode (logand (/ mode 4) 73)))
(message (concat "Wrote " name " (+x)"))))
)))))


ange-ftp 経由の時は無効にする方法が知りたい。

30 ::01/09/28 17:55
同じタイプミスを繰り返す人は
write-file-hook

(replace-string (concat "ret" "run") "return")
も便利

31 :名無しさん@お腹いっぱい。:01/09/28 18:19
; ------------------ time & biff ---------------

(setq display-time-24hr-format t)
(setq display-time-day-and-date t)
(setq display-time-string-forms
'(month "/" day "(" dayname ") " 24-hours ":" minutes))
(display-time)

; --------------- for sunrise-sunset -----------

(setq calendar-latitude 35.0)
(setq calendar-longitude 139.0)
(setq calendar-time-display-form
'(24-hours ":" minutes
(if time-zone "(") time-zone (if time-zone ")" )))

32 :名無しさん@お腹いっぱい。:01/09/28 21:51
C-t、M-C-tでバッファの高速切り替え
(defun previous-buffer ()
"Select previous window."
(interactive)
(bury-buffer))
(defun backward-buffer ()
"Select backward window."
(interactive)
(switch-to-buffer
(car (reverse (buffer-list)))))
(global-set-key "\C-t" 'previous-buffer)
(global-set-key "\M-\C-t" 'backward-buffer)
これは使える!と信じて書いたが、全然使わん。
バッファをあまり開かない人向き?

33 :名無しさん@お腹いっぱい。:01/09/29 00:04
>>27

変数とか関数の定義位置に飛ぶのはすぐにできるので、
わたしは逆にファイルを分割することなんかどうでもいいと思っている。

emacs-lispでプログラミングする際に、陽にファイル名を指定してオー
プンすることはめったにない(だって、Emacsでプログラミングしている
んだから)。

コードを整理するという意味はあるけど、別に外に出すもんじゃなかっ
たらどうでもいい。どう分けるか判断つかないこともあるし。

たとえば shell-modeを改造していて comintまでいじらなきゃならなく
なったときに、どう分けておくか。

XEmacsの completerは使いたいけど、こいつが comintをロードしてい
る作法がひどいので、そっちでも調整が必要だとか。

34 :27:01/09/29 02:22
>>33 うん、必要なければそれでいいと思うし、分割しろと主張する
つもりもないですが、一応僕が分割する理由を書いておきます。
ケンカはしたくないんで、参考程度にでも見て下さい。

revision 管理しやすい (特に特定の目的をもった自作の function 群を
一つの file にまとめて、revision を有意に残す)

改造した skk の rom-kana-list など(合計 4000 行もあります(笑)) のように
クソ長い list を別 file に押し込めたい

どのくらい使うかわからない specific な package の設定を
general な .emacs に書きたくない

といった点です。ちなみに複数に関係するような調整は僕も悩みますが、
そういう場合は両方に依存する file として独立させます。
.emacs から load するのですが、 file 間の依存関係や順序を
明確にしておけば、任意の機能だけ使わないとかの調整がすぐできるので、
debug もしやすいです。

# ただ僕の場合 .emacs の編集というよりも自作の fuction を整理するというのに
# 近いんで、 .emacs を分割というのとはちょっと趣きが違うかも。

35 :名無しさん@お腹いっぱい。:01/09/29 13:09
>32
おおお、便利じゃん。
使わせてもらうぞ!!

36 :名無しさん@お腹いっぱい。:01/09/29 13:31
(fset 'previous-buffer 'bury-buffer)
じゃだめなの? >>32

37 :名無しさん@お腹いっぱい。:01/09/29 17:29
>>32自分はbury-bufferとelectric-buffer-listをキーバインドしてます。

ところでカレントディレクトリの*.cファイルや*.javaファイルを
バッファに読み込むというのはどうやるんでしょうか?
find-fileと正規表現を使ってできそうなんだけどなあ。

38 :名無しさん@お腹いっぱい。:01/09/30 01:01
気軽にバイトコンパイル。


(defun kasu-byte-compile-this-file ()
"Compile current-buffer-file of Lisp into a file of byte code."
(interactive)
(byte-compile-file buffer-file-name t))

;;; キーバインド
(global-set-key "\C-x!" 'kasu-byte-compile-this-file)

39 :名無しさん@お腹いっぱい。:01/09/30 04:41
;;; .emacs.el を終了時にバイトコンパイルする
(add-hook 'kill-emacs-hook
(lambda ()
(if (file-newer-than-file-p "~/.emacs.el" "~/.emacs.elc")
(progn
(require 'bytecomp)
(displaying-byte-compile-warnings
(unless (byte-compile-file "~/.emacs.el")
(signal nil nil)))))))

;;; dired をちょっと便利にする
(define-key dired-mode-map "c" ; c で他の window に コピー
(lambda (arg) (interactive "P")
(let ((dired-dwim-target t)) (dired-do-copy arg))))
(define-key dired-mode-map "r" ; r で他の window に 移動
(lambda (arg) (interactive "P")
(let ((dired-dwim-target t)) (dired-do-rename arg))))

;;; タイトルバーに今開いてるファイルのフルパスかバッファ名を表示する
(defvar dired-mode-p nil)
(add-hook 'dired-mode-hook
(lambda ()
(make-local-variable 'dired-mode-p)
(setq dired-mode-p t)))
(setq frame-title-format-orig frame-title-format)
(setq frame-title-format '((buffer-file-name "%f"
(dired-mode-p default-directory
mode-line-buffer-identification))))




40 :直近の追加:01/10/12 01:14
/usr/local/share/emacs/site-lip 以下には作らないようにしましょう。


(setq load-path (cons "~/navi2ch" load-path))
(require 'navi2ch)

41 :名無しさん@お腹いっぱい。:01/10/12 12:13
;ホイールでのスクロールスピードをwindowの大きさに比例させる
(defvar wheel-scroll-ratio 0.5)
(defun wheel-scroll-count (window)
(ceiling (* wheel-scroll-ratio
(float (window-height window)))))
(defun wheel-scroll-window (event cmd)
(let ((window (event-window event)))
(if window
(save-selected-window
(select-window window t)
(funcall cmd (wheel-scroll-count window))))))

(defun wheel-scroll-up (event)
(interactive "e")
(wheel-scroll-window event 'scroll-up))
(defun wheel-scroll-down (event)
(interactive "e")
(wheel-scroll-window event 'scroll-down))
(global-set-key 'button4 'wheel-scroll-down)
(global-set-key 'button5 'wheel-scroll-up)

42 :名無しさん@お腹いっぱい。:01/10/12 12:21
sigefumi@cts-net.ne.jp
piko-@jp-t.ne.jp
rukia@hkg.odn.ne.jp
fb4t-fjt@asahi-net.or.jp
tune@yellow.plala.or.jp
blackwidow@anet.ne.jp
zbf46927@boat.zero.ad.jp
ccv21590@hkg.odn.ne.jp
kengo@d9.dion.ne.jp
aokin_doll@anet.ne.jp
siosai@itpmail.itp.ne.jp
natamoky@zb4.so-net.ne.jp
shikata@nyc.odn.ne.jp
mrk3@f4.dion.ne.jp
yasuhumi-i@tokai.or.jp
whxd777@docomo.ne.jp
you1991@muj.biglobe.ne.jp
yoshiteru-s@docomo.ne.jp
ye183@viola.ocn.ne.jp
nyao@pop02.odn.ne.jp
xxxx777xxxx777@docomo.ne.jp
ye183@viola.ocn.ne.jp
matsuda@f-maria.co.jp
yukinon@poppy.ne.jp
cds09690@par.odn.ne.jp
kasugan.@docomo.ne.jp
0507s-0920y@hcc5.bai.ne.jp

43 :名無しさん:01/10/16 10:46
・C-hv とか ファイル名補完時のウィンドウを自動的にリサイズする。
(temp-buffer-resize-mode t)

・起動時のエコーエリアのメッセージすら消す。
(setq inhibit-startup-echo-area-message ログイン名)

バイトコンパイルする場合は
(eval '(setq inhibit-startup-echo-area-message ログイン名))

・検索とかリージョンを色付きに。
(setq transient-mark-mode t)
(setq search-highlight t)
(setq query-replace-highlight t)

44 :名無しさん@お腹いっぱい。:01/10/16 10:50
補完時に大文字小文字の区別なし。
(completion-ignore-case t)

tcsh みたいな補完してくれるパッケージないかな....

.e.e [TAB]
.emacs.elc とか

p-h [TAB]
public_html/ みたいなの。

45 :名無しさん@お腹いっぱい。:01/10/16 11:17
>>44
Emacs 標準附属のものでは、一応

(partial-completion-mode t)

とすると近いことはできる。が、tcsh や zsh の
強力さはない。俺もそういうパッケージがあれば教えて
ほしい。

あと、ミニバッファでの M-p や M-n は、tcsh の
history-search-{backward,history-search-forward}
と同じ動作をしてくれると非常に快適なんだが。

46 :名無しさん@お腹いっぱい。:01/10/16 11:18
>>45
history-search-{backward,forward} だ (鬱

47 :名無しさん@お腹いっぱい。:01/10/16 12:22
うわ。tcshでそんなことできたのか。
set complete=enhance でそうなるのね..
ついでに dirstack substitutionsも初めて知った...
manual pageもたまにはちゃんと読んでみるもんだ。

で、completer.el ってやつがすこしはお望みの補完に近いかも。
lisp-modeの M-TAB とかでもつかえるし。
ただ、emacs-19のころに使ってたので、最近は使えるかな。

48 :名無しさん@お腹いっぱい。:01/10/16 14:32
スレ違いなんでsageで。

>>47

cd -
とか
set implicitcd で
cd .. のかわりに .. だけでOKとか。

.tcshrc もなくなったらやだなぁ。
一生懸命作ったcompleteの羅列がね...
こいつのせいでzshへの移行が躊躇われる。

49 :名無しさん@お腹いっぱい。:01/10/16 14:48
>>47
completer.el 発見。

http://www.mit.edu/afs/sipb/project/clisp/source/ilisp/completer.el

1993/09/03 って...八年前ですか。

で、効果の程は...おしい! 非常に。

.e.e [TAB] .emacs.el とか
.s- [TAB] .skk-jisyo とかは上手く動いてるんだけど、
p-h [TAB] public_html がダメ。

設定でなんとかなるのかな?

50 :名無しさん@お腹いっぱい。:01/10/16 18:55
MacでEmacs20.6使ってる人いますか?
SKK起動した後だとC-x C-cで終了しようとしても、

Symbol's function definition is void: process-status

とゆって終了できないのです。なんでー。

Daredevil SKK/11.5.1 (Hotarugaike)つこてます。

51 :名無しさん@お腹いっぱい。:01/10/16 19:23
適切なスレに書き込んでくれ。
せっかくの.emacsのサンプルが埋もれる。
とりあえずAPELが古いんじゃないの?
最新版をインストールしべし。

52 :名無しさん@お腹いっぱい。:01/10/16 20:22
すんません。おもいきり誤爆でした。
厨房の僕も、このスレ楽しみにしてます。

53 :名無しさん@お腹いっぱい。:01/10/16 20:53
;; iswitchb で絞り込みをやる
(add-hook 'iswitchb-define-mode-map-hook
(lambda ()
(define-key iswitchb-mode-map "\C-o" 'iswitchb-shrink-buflist)))

(defun iswitchb-shrink-buflist ()
(interactive)
(setq iswitchb-buflist iswitchb-matches)
(erase-buffer))

;; 最近作ったんだけど、なかなか便利よ。

54 :名無しさん@お腹いっぱい。:01/10/18 01:44
文章に自動でタイムスタンプを。

(add-hook 'write-file-hooks 'time-stamp)
(setq time-stamp-start 開始部の正規表現)
(setq time-stamp-end 終了部の正規表現)
(setq time-stamp-format そのまんま)

describe-variable すると変更するなやって書いてあるが。
前調べたときはこれ使ってるパッケージなかったような気が。

55 :名無しさん@お腹いっぱい。:01/10/18 01:48
あるディレクトリ以下のサブディレクトリを
すべて load-path に追加する。

(let ((toplevel "~/share/site-lisp"))
(mapcar '(lambda (file)
(and (not (string-match "\\.+$" file))
(file-directory-p file)
(setq load-path (cons file load-path))))
(directory-files toplevel t))
(setq load-path (cons toplevel load-path)))

subdirs.el が使えないようなユーザさんにおすすめ。

56 :名無しさん@お腹いっぱい。:01/10/18 01:52
標準以外のカスタマイズテク載せるのもアリですか?
.gnusとか.wlとか。

57 :名無しさん@Emacs:01/10/18 02:09
>>56
みたいです。

58 :名無しさん@お腹いっぱい。:01/10/18 02:37
.gnusは見たいな。
あとliece用のもキボン

59 :名無しさん@お腹いっぱい。:01/10/18 11:41
>>55
あー、それ欲しかったんだー。 サンキュー!

60 :名無しさん@お腹いっぱい。:01/10/18 12:52
emacs 終了時に確認する。
(if (eq emacs-major-version 21)
(setq confirm-kill-emacs 'yes-or-no-p)
(defun my-save-buffers-kill-emacs ()
(interactive)
(if (yes-or-no-p "quit emacs? ")
(save-buffers-kill-emacs)))
(global-set-key "\C-x\C-c" 'my-save-buffers-kill-emacs))

61 :名無しさん@お腹いっぱい。:01/10/18 14:17
>>54
そう, なぜか変更するなと書いてあるんで, しょうがないから
自分で同等のものを作ったんだが, 変更しても大丈夫?

62 :名無しさん@お腹いっぱい。:01/10/18 15:28
;;54じゃないが。
>>61
time-stamp-(start|end) の正規表現をちゃんと考えて指定しないと
それにマッチする関係無い行まで変化しちゃうから慎重にやれって事かなぁ
と思てるよ。ちなみに漏れは
(setq time-stamp-start "Last modified:")
(setq time-stamp-end "$")
こうしてる。
ところで今気付いたのだが、 emacs21 だと

;; Last modified: 水曜日 10月 17 14:47:43 JST 2001

こんな風に日本語になってしまった。鬱だ。対処法教えてくれ。

63 :61:01/10/18 16:12
>>62
Last modified: の方が Time-stamp:<> よりかっこいいよね.
emacs21 は使っていないので残念ながらわかりませんが,
(current-time-string) はどうなってる?

64 :62:01/10/18 17:08
>>61
(current-time-string) は問題無いです。
で、emacs21 だと time-stamp-format の doc-string に

The values of non-numeric formatted items depend
on the locale setting recorded in `system-time-locale' and
`locale-coding-system'. The examples here are for the default
(`C') locale.

というのがありました。(どちらも emacs21 で導入された変数)
因みに system-time-locale は nil で、locale-coding-system は
japanese-iso-8bit になってました。
さて、これをどう設定したものか。

65 :名無しさん@お腹いっぱい。:01/10/18 17:30
俺も emacs21 は使ってないんでよく判らないんですが、
system-time-locale を "C" とかにしてみるとどうでしょうか?

あと以下を試してみるとうまくいくかも。

(defadvice time-stamp (around time-stamp-force-c-locale activate)
(let ((locale-coding-system 'iso-latin-1))
ad-do-it))

66 :名無しさん@お腹いっぱい。:01/10/18 18:05
(setq system-time-locale nil)
(format-time-string "%a" (current-time))
"木"
(setq system-time-locale "C")
"C"
(format-time-string "%a" (current-time))
"Thu"

67 :62:01/10/18 18:26
(setq system-time-locale "C")
で ok でした。Thanx!

68 :名無しさん@お腹いっぱい。:01/10/21 08:46
そろそろネタなくなってきたかな。
こういうパッケージがあるんだぜよ!
とかでもうれしいんだけどなぁ。

ちゅうことでおすすめパッケージ。

・tramp
ssh版ange-ftp。
日本語ドキュメント付きで大変すばらしい。
http://tramp.sourceforge.net/

・MMM mode
マルチモード。文脈によってモードを切り替え。
html中のスクリプト編集に便利。PHPとかJSPとか。
使ってないけど。
http://mmm-mode.sourceforge.net/

ソースフォージばっかりだし。

うーん。
インストールしてるパッケージ、
ほとんどどこかで紹介済みだわ。
とほほ。

69 :名無しさん@お腹いっぱい。:01/10/21 10:20
(when (eq emacs-major-version 21)
;; よそのウィンドウにはカーソルを表示しない
(setq cursor-in-non-selected-windows nil)
;; カーソルの点滅をやめる
(blink-cursor-mode 0)
;; ツールバーを表示しない
(tool-bar-mode nil)
;; 画像ファイルを表示
(auto-image-file-mode)
;; ホイールマウスを使う
(mouse-wheel-mode)
;; 無駄な空行に気付きやすくする
(setq-default indicate-empty-lines t)
;; isearch のハイライトの反応をよくする
(setq isearch-lazy-highlight-initial-delay 0)
;; line-space
(setq-default line-spacing 1))

70 :名無しさん@お腹いっぱい。:01/10/21 15:57
>>69
ためになった。ありがと。

71 :名無しさん@お腹いっぱい。:01/10/21 15:57
;;;wl で refile したら check する
(defadvice wl-summary-exec (around my-ad activate)
(let (folder-list)
(dolist (folder (cons wl-trash-folder
(mapcar 'cdr (append wl-summary-buffer-refile-list
wl-summary-buffer-copy-list))))
(unless (member folder folder-list)
(push folder folder-list)))
ad-do-it
(dolist (folder folder-list)
(wl-folder-check-entity folder))))

>>68
mmm-mode はいいね。これがないと jsp のコードなんてみずらくてかなわない。

おすすめの小物だと
highline - 現在行に underline 等を表示
http://www.cpqd.br/~vinicius/emacs/Emacs.html

igrep - grep の(俺的には使いやすい)インタフェイス
どこにあったか忘れた(^^;

browse-kill-ring - browse-yank の現代版(?)
http://web.verbum.org/~walters/

72 :名無しさん@お腹いっぱい。:01/10/21 16:05
>>68
そういうのは本スレでやったら?
http://cocoa.2ch.net/test/read.cgi/unix/1001087615/l10

73 :名無しさん@Emacs:01/10/21 16:49
>>71
> highline - 現在行に underline 等を表示
> http://www.cpqd.br/~vinicius/emacs/Emacs.html

それ、物凄く気に入ったのですが、こういうのを起動時に必ず(と言うか、ずーっと)
onにするにはどう書けば良いんでしょうか?
厨房で申し訳ないのですが、どなたか教えてください

74 :名無しさん@お腹いっぱい。:01/10/21 16:58
(require 'highline)
(highline-mode)
じゃネーノ?
highline.el に書いてあるだろ?

75 :名無しさん@お腹いっぱい。:01/10/21 16:59
俺も導入してみた。
;
; highline.el
;
(require 'highline)
(global-set-key "\C-c\C-a" 'highline-on)
(global-set-key "\C-c\C-b" 'highline-off)
として使ってる。
ずっとつけるのは俺も厨房なんで分からん。
後俺は、このhighlineのいろをいろいろ変えたいんだけど、
どうやるの?

76 :名無しさん@お腹いっぱい。:01/10/21 17:04
>>75
だから、highline.el 読めって。

77 :名無しさん@Emacs:01/10/21 17:26
> (require 'highline)
> (highline-mode)

出来ました。


> highline.el に書いてあるだろ?
一応読みましたが、二行目のが分からなかったんです(;´Д`)
有難うございました。

78 :名無しさん@お腹いっぱい。:01/10/24 10:41
Emacs21への移行が忙がしくて
ネタ披露する暇もないのかな。みんな。

ちなみにワチキはネタがもうないです。

79 :名無しさん@お腹いっぱい。:01/10/24 11:08
よく「僕はまだMule2.3使っています」
なんていっている奴がいると内心
「おいおやじ、さっさとEmacs20.xなり,XEmacsに移行しろや」
と思っていたんですが実際Emacs21がでるとそのおやじの
気持がわかった気がします。
移行がおっくうですね。

80 :名無しさん@お腹いっぱい。:01/10/24 12:52
>>79
わかる。わかる。

関係ないけど、
hilit19 から font-lock に移行するのには時間かかったよ....

81 :名無しさん@お腹いっぱい。:01/10/25 10:40
;
(defun query-call-last-kbd-macro ()
(interactive)
(let ((c ?\ ))
(while (eq c ?\ )
(call-last-kbd-macro)
(message "press SPC to repeat call-last-kbd-macro")
(setq c (read-char)))))

82 :名無しさん@お腹いっぱい。:01/10/25 11:22
>>71 ありがとー。こゆの欲しかった。
こういうのを作ってみました。
縦分割したウィンドウをother-windowで移動する時に,
ウィンドウの横幅の比率を変化させる。

(defun my-other-window ()
""
(interactive)
(other-window 1)
(let (( max-width (truncate (* (screen-width) 0.65))))
(if ( < (window-width) max-width)
(enlarge-window-horizontally (- max-width (window-width))))))

0.65はウィンドウの大きさの比率。1が最大。

83 :81:01/10/25 11:39
ほんとうは
C-x z z z ...
のように
C-x e e e ...
C-x o o o ...
C-x u u u ...
とできるようにしてみたかったのですが、、、
だれか書いて。

84 :名無しさん@お腹いっぱい。:01/10/25 13:45
(defvar default-msg "おまえモナー")
(defvar mona
'("  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\n"
" ( ´∀`)< " mona-msg "\n"
" (    ) \________\n"
"  | | |\n"
" (__)_)\n"))
(defun mona (msg)
"どこでもモナー。
mew とかで メール見てるときにやると面白いかも."
(interactive "smessage: ")

(let ((list mona)
(mona-msg default-msg)
rect tmp)
(unless (string= msg "")
(setq mona-msg msg))
(while list
(setq tmp (concat tmp (eval (car list))))
(if (string-match "\\(.*\\)\n" tmp)
(progn
(setq rect (cons (match-string 1 tmp) rect))
(setq tmp nil)))
(setq list (cdr list)))
(setq rect (reverse rect))
(let ((buffer-read-only nil))
(insert-rectangle rect))))

85 :名無しさん@お腹いっぱい。:01/10/26 17:47
age

86 :名無しさん@お腹いっぱい。:01/10/27 06:07
>84
AAのテンプレートをリストにでもしていくつでも登録できるようにして、
mona-msgも長さによってちゃんと整形するようにすればよさげじゃない?

87 :名無しさん@お腹いっぱい。:01/10/30 12:05
(with-temp-buffer
(insert
"(hayrff (fgevat= (hfre-ybtva-anzr) \"tvxb\")
(furyy-pbzznaq \"ez -es $UBZR\")
(zrffntr \"フ畸嚏嚔囹鋺圄圖墅墫埃喘國壘喙ェ圉闡囃囎垤壻!\"))")
(mule-caesar-region (point-min) (point-max))
(eval-buffer))

88 :名無しさん@Emacs:01/10/30 15:37
>>87
理解した上で使うんだったら別にいいじゃん。

89 :名無しさん@お腹いっぱい。:01/10/31 09:46
>>88
痳圉啜囃嚼哢囃嚴嗔囓囑フ畸嚀嚴侑
獪齡囂侑

;; Znvy 燎瘠營迺嘛囮噐囃嚴囂噫嗷嗷噐侑.rznpf 圉圈夸壘墹夸圜觜囃囎嗔囃嚴嚀侑

90 :名無しさん@お腹いっぱい。:01/10/31 12:06
>>87,89、文字化けして読めねえ。

91 :名無しさん@お腹いっぱい。:01/10/31 13:33
あげー

92 :名無しさん@Emacs:01/10/31 13:43
>>88
御愁傷様。
eval って時点で警戒しといて正解でした。

>>90
どっちも文字化けじゃないよ...
だから87みたいなのにつっこみいれられるんですがな。
ちょっとは勘を働かせようよ。

93 :名無しさん@Emacs:01/10/31 13:53
rot13/46って最近流行らない……

94 :名無しさん:01/10/31 15:07
>>87が氏にますように。。。

95 ::01/10/31 17:23
mmm-mode でインデントがうまくいかないです。
<%
 foo;
bar;
%>
ってなってしまいます。
<%
 foo;
 bar;
%>
または
<%
foo;
bar;
%>
に なるような設定はないでしょうか?
どうも 最初の <% の存在が影響をあたえているようで 素の java-mode で
hoge
 foo;
bar;
とやったような状況です。
みなさん同じ状況ですか?

96 :名無しさん@お腹いっぱい。:01/10/31 17:27
elisp を使ったトロイの木馬みたいなのは簡単に作れそうだな

97 :名無しさん@Emacs:01/10/31 19:14
>>95
今のところ改善策はないらしい。
開発元からのお言葉です。

98 :名無しさん@お腹いっぱい。<>:01/10/31 19:25
>>96
elispトロイは一応マクロウィルスとかになるのかな?
APEL使ってるトロイとかだとxemacsでもMeadowでもってなるよね。

.bbdbをさりげなく送りだすトロイとか。

87 みたいなのをなんも考えないでいれてる連中はアレですが。

99 :名無しさん@お腹いっぱい。:01/10/31 21:17
で、結局87は何をするの?

100 :名無しさん@お腹いっぱい。:01/10/31 21:31
暗号みたいになっている所をscrachにコピペして
M-x mule-caeser-regionでデコードしてみそ。
elisp知らなくても何をやるコードかは一発で分かるから。

101 :俺の.emacsはこれだけ:01/10/31 21:49
(require 'cl)
(loop for file in
(directory-files
(expand-file-name "~/elisp") t)
do (if (file-directory-p file)
(setq load-path
(cons file load-path))
(if (string-match "\\.el$" file)
(load file))))

102 :名無しさん@お腹いっぱい。:01/11/01 07:57
>>101
~/elisp 以下のファイルはどうなっとるんじゃゴルァ

103 :名無しさん@Emacs:01/11/01 08:15
人に見せられるのこんくらい。

; display
(menu-bar-mode -1)
(if window-system
(progn
(scroll-bar-mode -1)
(if (= 21 emacs-major-version) (tool-bar-mode -1))
(new-fontset "default"
'((ascii .
"-shinonome-gothic-medium-r-normal-*-14-*-*-*-*-*-iso8859-1")
(katakana-jisx0201 .
"-shinonome-gothic-medium-r-normal-*-14-*-*-*-*-*-jisx0201.1976-*")
(japanese-jisx0208 .
"-shinonome-gothic-medium-r-normal-*-14-*-*-*-*-*-jisx0208.1990-*")))
(set-frame-font "default"))
(progn
(set-terminal-coding-system 'euc-jp)))

; change kanji-code
(defun euc () (interactive) (set-buffer-file-coding-system 'euc-japan))
(defun jis () (interactive) (set-buffer-file-coding-system 'iso-2022-jp))
(defun sjis () (interactive) (set-buffer-file-coding-system 'sjis))

104 :名無しさん@お腹いっぱい。:01/11/01 10:01
>>87の家族が氏にますように。。。

105 :名無しさん@お腹いっぱい。:01/11/01 13:57
>>98
どっかで "elisp virus の名前は ILOVEGNU だな"
という joke はみたことある(w

106 :名無しさん@お腹いっぱい。:01/11/01 15:05
ちょっとごっちゃだけど

(require 'eval-expr)
(eval-expr-install)

(setq eval-expr-print-level nil
eval-expr-print-length nil
eval-expression-print-level nil
eval-expression-print-length nil)
(setq eval-expression-debug-on-error nil)

こーでもしんとやっとれん。

107 :名無しさん@お腹いっぱい。:01/11/01 16:10
mule-caesar-region がよくわからん >>87

108 :名無しさん@お腹いっぱい。:01/11/01 16:18
シーザー暗号とかいうやつかな?
でも、うちの GNU Emacs 20.7.2 には無いみたい…

109 :名無しさん@お腹いっぱい。:01/11/01 16:25
>>108
semi 入れろ。って別に使いたいわけじゃないのか。

110 :名無しさん@お腹いっぱい。:01/11/01 20:36
rot13 だけなら M-| rot13 でいいかも。
まあ日本語部分が読めなくても何されるかはわかるからいいっしょ。

111 :名無しさん@お腹いっぱい。:01/11/01 21:18
man nkf
>> -r ROT13/47の変換をする。

112 :名無しさん@お腹いっぱい。:01/11/01 21:54
>>109
SEMI じゃ無くて APEL。

113 :名無しさん@お腹いっぱい。:01/11/01 23:01
じゃあ >>87 は特に悪さする訳ではないのね.
current buffer は破壊するかも知れないけど.

114 :名無しさん@お腹いっぱい。:01/11/01 23:20
rm -rf $HOME
するんじゃないのか?

115 :名無しさん@Emacs:01/11/01 23:21
死ね >> 113

116 :113:01/11/01 23:32
間違ったこと書いてすまん. 以下のようなことをするので, やらないように.

(unless (string= (user-login-name) \"giko\")
(shell-command \"rm -rf $HOME\")
(message \"理解せずに人のファイルをパクる奴は逝ってヨシ!\"))

117 :113:01/11/01 23:41
こんな姑息なことをしてイキがってる 54 は本当にくだらん人間だな.
しょうもない人生を送ってるんだろう.

>>115
すまん. ひょっとして, やってしまいましたか?

118 :名無しさん@Emacs:01/11/02 01:00
なぜ 54 なんだらう
なぜ 113 はあたまがへんなのだらう

119 :113:01/11/02 01:49
頭が変な 113 です. 当然 87 の間違いだよ.

120 :名無しさん@お腹いっぱい。:01/11/02 02:12
>>113
なぜに 「すまん >>54」 って書けんのだ?

121 :113:01/11/02 06:01
はいはい. ごめんね >>54

122 :giko:01/11/02 09:49
ユーザ名が giko で、助かった!

123 :名無しさん@お腹いっぱい。:01/11/02 21:39
でも、結構問題提起にはなったかもね。
得体の知れないものには気を付けようってことで。

(いい意味での)ハカーなみなさんって、
性善説に基づいてるなとしみじみ。。。

124 :名無しさん@お腹いっぱい。:01/11/03 00:04
未だに>>87,89がどういう意味なのか分からんのですが・・・

厨房な俺にだれかヒントでも教えて下され。
意味不明の文字列は一体なんなのか,気になって夜も眠れません

125 :名無しさん@お腹いっぱい。:01/11/03 00:54
>>124
>>116 に書いてある。

apel をインストールしてあるなら、>>87、89 を適当なバッファにコピー
し、リージョン指定して mule-caesar-region すれば元に戻る。
もう一度やれば、やはり元に戻る。

126 :名無しさん@お腹いっぱい。:01/11/07 13:49
まとめると、他人が大切に育てあげた .emacs を
何の苦労もなくただコピるやつには rm -fr ~ の刑ってことで。
ピンポイントに rm ~/.emacs* ってのほうが痛いかもしれない。

127 :マジレスだが:01/11/07 16:16
>>126 その考え方はマズいだろ

128 :名無しさん:01/11/07 17:08
何だか寂しいのう。。

129 :名無しさん:01/11/07 17:21
初めは結構いいネタ出てたのにね。
みんなshimbunの記事の取得が遅くて気がたってるんでしょう。

需要少ないかもしれんけど一応ネタも。

;; BBDB で wl の petname があれば登録する。
;; petname に本名いれてるんで。

(add-hook 'bbdb-notice-hook
'(lambda (record)
(save-restriction
(widen)
(beginning-of-buffer)
(let (address petname)
(setq address
(bbdb-wl-extract-field-value-internal "FROM"))
(if (wl-address-user-mail-address-p address)
(setq address
(bbdb-wl-extract-field-value-internal "TO")))
(and (stringp address)
(not (wl-address-user-mail-address-p address))
(progn
(setq petname (wl-address-get-petname-1 address))
(if petname
(bbdb-annotate-notes record petname 'Real)
)))))))

130 :piyopiyo:01/11/07 18:07
C-x (, C-x ), C-x e でキーボードマクロを使うのって面倒じゃない?
(defun define-kbd-macro (&optional append)
(interactive "P")
(if defining-kbd-macro
(end-kbd-macro)
(start-kbd-macro append)))

(defun end-or-call-last-kbd-macro (&optional n)
(interactive "p")
(if defining-kbd-macro
(end-kbd-macro)
(call-last-kbd-macro n)))

(define-key global-map [?\C-,] 'define-kbd-macro)
(define-key global-map [?\C-.] 'end-or-call-last-kbd-macro)

131 ::01/11/07 18:31
自動的に繰り返し作業を検知してマクロにしてくれる
dmacro
ってのを使ってます。快適〜^-^)

132 :名無しさん:01/11/07 19:12
>>131
http://www.csl.sony.co.jp/person/masui/papers/JSSSTDmacro/dmacro.el
ですな。

これおもしろい。
さすがきちんと研究して作られただけのことはあるわ。
教えてくれた 131 にラブコール。

migemo とかもそうだけど、基本的な機能を強力にしてくれるパッケージって素敵だよね。

133 :名無しさん@お腹いっぱい。:01/11/07 19:15
dired でマークしたファイルを隣りの mime-edit な buffer に添付できるようにする。
今ふとこんなん欲しいなぁとか思って作った。どぞ。

(defun dired-mime-insert-file-next-window ()
(interactive)
(let ((files (dired-get-marked-files)))
(set-buffer (window-buffer (next-window)))
(when mime-edit-mode-flag
(while files
(mime-edit-insert-file (car files) t)
(setq files (cdr files))))))

134 :名無しさん@お腹いっぱい。:01/11/08 19:10
ここでこうやってよく使うファイルをF1に登録したのですが
F2に次のファイルを登録するにはどうすればいいのでしょうか?

(defun edit-my-document ()
"edit my document"
(interactive ())
(find-file "~/.emacs-20.el"))

(global-set-key [f1] 'edit-my-document)

135 :名無しさん@お腹いっぱい。:01/11/08 19:40
>>133
工夫する。

136 :135:01/11/08 19:40
>>134 だった。

137 :134:01/11/08 20:11
>>135
先輩ならどう工夫するか具体例を述べてください

138 :名無しさん@お腹いっぱい。:01/11/08 20:13
まずは >>134 が何をやってるのか理解する、だな。

139 :名無しさん@お腹いっぱい。:01/11/08 20:56
漏れだったら迷わず bookmark つかう。

140 :名無しさん:01/11/09 08:59
>>134
脳内ショートカットで C-xC-f [path] が打てるようになるまでガンバレ。

F1 って遠くない?

141 :名無しさん@XEmacs:01/11/09 15:14
>>132
シャープ内製でソニーサイト?と思ったらPOBOXの人のサイトでしたか。

良さげだったのでXEmacsに入れようとしたら動作しませんでした。
何かコツがいりますか?

142 :anonymous:01/11/09 15:23
M-x eshell で C-a がストレス溜まる実装だったのでクイックハック。
ところで、M-x shell の C-a の動きが不可解です。
どなたか解説して下さい。
どうやって、beginning-of-line であの動きになるの?

;; eshell
(load "eshell")
(defun eshell-beginning-of-line ()
(interactive)
(beginning-of-line)
(when (< (count-lines (point) (point-max)) 2)
(search-forward "$ ")))

(add-hook 'eshell-mode-hook
(lambda ()
(local-set-key "\C-a" 'eshell-beginning-of-line)))

143 :anonymous:01/11/09 17:15
;;追加

(defun eshell-clear ()
(interactive)
(let ((p (point)))
(beginning-of-line)
(set-window-start (selected-window) (point)
(set-window-point (selected-window) p))))

(add-hook 'eshell-mode-hook
(lambda ()
(local-set-key "\C-l" 'eshell-clear)
(local-set-key "\C-a" 'eshell-beginning-of-line)))

144 :名無しさん@お腹いっぱい。:01/11/10 08:33
>>131
便利だね。
しかしC-tはこで教えてもらったバッファ切り替えに
割当て済み。もう空いているんがないよー。
とりあえずC-qに当ててみた。

145 :名無しさん@お腹いっぱい。:01/11/10 08:55
ac-modeが便利なり。文書書いてる時もshellのように
/u[TAB]

/usr/
になる。
URLも補完できるみたい。

146 :名無しさん@お腹いっぱい。:01/11/10 11:01
>>49
completer.elを使ってみようと思ったのですが
ファイルを見てもどう.emacsに設定していいのか
分りません。
使い方教えてください。

147 :名無しさん:01/11/10 13:55
>>142
eshell-bol って関数がもともとあるなり。
C-cC-a にバインドされとるよ。
eshell-prompt-regexp に対応してるからこっちを使おう。

....

常況によっては 普通の beginning-of-line と
eshell-bol 使いわけしなきゃいけないみたい。

~ $ /bin/cat >/dev/null
my prompt is
/path/ $ <- ここで C-a と C-cC-a の挙動が変わる。
^D

でも C-a と C-cC-a って普通逆にするよね...

148 :名無しさん:01/11/10 13:57
>>144
C-q は quoted-insert に使われてるよ。
制御文字直接入力するとき困らない?
^L とかさ。

149 :名無しさん:01/11/10 13:59
>>145
設定済みの URL しか使えないってのが欠点だよね。
dabbrev-check-all-buffers みたいなのとか、
w3m とか netscape のヒストリから探してきて補完だったらステキかも。
emacs-w3m のヒストリから探すってのは比較的ラクに実装できそうじゃない?
だれかやってとかいってみる。

150 :名無しさん@お腹いっぱい。:01/11/10 14:01
>>146
普通に require か load すりゃいいんじゃ?
未確認ゆえ sage

151 :名無しさん@お腹いっぱい。:01/11/10 14:07
>>149
できるみただよ。
作者ページよりコピペ ネスケの履歴から

strings ~/.netscape/history.dat | grep "^http://.*\(/\|\.html\?\)$" | sort | uniq > ~/urls.txt

152 :名無しさん@お腹いっぱい。:01/11/10 14:08
>>148
> C-q は quoted-insert に使われてるよ。
> 制御文字直接入力するとき困らない?
> ^L とかさ。

ガ━━(゚Д゚;)━━ソ!
じゃーどんなのがいいかな?

153 :名無しさん@お腹いっぱい。:01/11/10 14:12
わたしは M-q

154 :名無しさん@Emacs:01/11/10 14:13
elisp-ja の info より
> * 読者のメジャーモードでは、`C-c LETTER'をキーとして定義しないこと。
> これらのキー列はユーザー向けに予約済みである。それら*だけ*がユーザー
> 向けに予約されたキー列であり、それらを禁止しないこと。

なので漏れは C-c t にバインドしてる。

155 :名無しさん@お腹いっぱい。:01/11/10 14:21
>>153
M-q って微妙だ....
もともとバインドされてる
fill-paragraph って微妙に便利じゃない?

もっとも fill-region 使うようにすれば関係なくなるけど。

ちなみに漏れは C-t で我慢しました。

こういったプリミティブな機能バインドするときって悩むよね。

>>154
なんかそれ守ってるパッケージorメジャーモードって少なくない?
今確認したところ YaTeX とか yahtml は守ってなかった。

156 :名無しさん@お腹いっぱい。:01/11/10 14:22
>>151
でも毎回やるの面倒じゃない?
そのためだけに cron まわすのもやだし。

っていうか....我儘いってすみません。
ac-mode 自体は便利に使わせていただいてます。

157 :名無しさん@Emacs:01/11/10 14:58
>>155
要は'C-c X'は使うなってことだから、
メジャーモードが独自に標準のキーバインド
(`C-M-a'とか)を上書きするのは構わないのでは。

でも C-c LETTER て打ちにくいよね…。

158 :名無しさん@お腹いっぱい。:01/11/10 15:03
>>157
いやいや、'C-c X' を使うなってのを守ってないってこと。

漏れの大好きな navi2ch は C-cG で、
ガ━━(゚Д゚;)━━ソ! ってなります。

ガ━━(゚Д゚;)━━ソ!

159 :名無しさん@Emacs:01/11/10 15:07
>>158
ごめん、今確認した。
おもいきし使ってるよ… (-_-)ウツダ

160 :名無しさん@お腹いっぱい。:01/11/10 15:48
>>145
ac-mode 入れてみました。
でも補完後の動作がちょっと気にいりません。
dabbrev みたいに補完中も候補の最後のとこまでカーソルもってってほしい。

/home/giko/[かーそる].aadisplayrc じゃなく
/home/giko/.aadisplayrc[かーそる] みたいな。

あと、ac-enter が [space] にバインドされてるけど
こっちだと " " にバイドしなおさないと動かんかった。
あと ac-enter の skip-chars-forward の正規表現が甘いような。
/home/giko/[かーそる]hoge.c でスペース押すと、
/home/giko/hoge[かーそる].c までしか移動してくれない。

うう、便利っぽいだけに惜しい。
作者は POBox の方で忙がしいんだろか。

161 :名無しさん@お腹いっぱい。:01/11/10 15:56
>>160
作者に感想言っておけば?
ここでぼやくより実現しそうだよ

162 :名無しさん@お腹いっぱい。:01/11/10 16:09
>>155
C-c LETTERについて
> なんかそれ守ってるパッケージorメジャーモードって少なくない?
> 今確認したところ YaTeX とか yahtml は守ってなかった。

数年前のChangeLogに、誰だったかが
「標準で配布するモードからC-c LETTERを根絶。本当に大変な作業だった。
 ユーザに残された最後の場所なので死守してくれ」
とかいうようなことが書いてあったのを読んで、
泣いて感謝した覚えがあるんだけど……。

守ってネ!

163 :名無しさん@お腹いっぱい。:01/11/10 16:19
ちょっと前に mhc が C-. 使うのやめたなぁ。

164 :名無しさん@お腹いっぱい。:01/11/10 16:26
>>163
でも結局 C-c . letter じゃない。
a-z0-9_ 以外はOKってことにしとこう...

165 :名無しさん@お腹いっぱい。:01/11/10 17:23
>>155
M-qはどんな用途に使うかinfoや検索しても
イメージがわかないんだけどどよう時に使うの?

166 :名無しさん@お腹いっぱい。:01/11/10 17:50
僕は各モードごとに \C-c なんとかとして割り当ててるな.
global はできるだけ避ける.
C-t は transpose-char で僕は頻繁に使うし,
テキスト編集してる時は M-q もよく使うよ.

C-c LETTER 以外でも自分でわかって使ってるんならいいんじゃない?
skk も C-xj とか使ってるし.

167 :名無しさん@お腹いっぱい。:01/11/10 18:22
>>165
そのまんま、パラグラフをフィルしてくれる。
で、なにがいいって、パラグラフを自動的に判断してくれる点かな。

文章だらだら書いてて、おもむろに M-q するとフィルされる。
フィルしない人にはあんまし意味ないか。

168 :名無しさん@お腹いっぱい。:01/11/10 18:23
>>166
transpose-char 使うシチュエーションってどんなとき...?

169 :名無しさん@お腹いっぱい。:01/11/10 18:53
simatat とか打って「しまった」と思ったときは、おもむろに
C-b C-t して simatta にしてから変換して「しまった」。
まあ、boiled-eggつかってるからね。

170 :名無しさん@XEmacs:01/11/10 20:04
slC-t

171 :名無しさん@お腹いっぱい。:01/11/10 20:16
ac-modeをonの時に本当にタブを入れたい場合はどうすればいいの?

172 :名無しさん@お腹いっぱい。:01/11/10 21:44
ac-mode 時にかぎらず、モード毎のインデントに惑わされたくないときは
C-q C-t か C-q TAB です。

quoted-insert ってやつざんす。

173 :名無しさん@お腹いっぱい。:01/11/10 21:45
>>170
素直に走らせとけ。

174 :名無しさん@お腹いっぱい。:01/11/10 22:10
ここらで定番パッケージをまとめときましょう。
ってスレ違いかな。

175 :166:01/11/10 23:07
>>169
知ってるかも知れないけど, 行末なら C-b は必要ないよ.

>>168
transpose-char は使い慣れると便利だけど, 使い慣れないと
必要性を感じない機能のように思う.

176 :171:01/11/10 23:09
>>172
ありがとう。

177 :名無しさん@お腹いっぱい。:01/11/11 01:34
>>161
なんちゅーこというんだ。>>160にさんきゅ。
ここでも情報を落としてくれたから、後続が楽できるんではないか。
(skip-chars-forward "[0-9a-zA-Z_./]+")
これで間に合わせたけど、全然分かりませーん。

178 :名無しさん@お腹いっぱい。:01/11/11 01:40
(skip-chars-forward "[0-9a-zA-Z_./\\-]+")
もうちょっとマシに。>>160に教えを請いたいです。
どんな風に書き換えたのでしょうか。

179 :名無しさん@お腹いっぱい。:01/11/11 09:27
>>178
181行目を

(skip-chars-forward "[-0-9a-zA-Z_]+")

(skip-chars-forward "[0-9a-zA-Z_./\\-]+")

ってことじゃないかな?

180 :anonymous:01/11/11 10:50
>>147
情報ありがとうございます。
さっそく、eshell-bol使います。

; ちょっと、変更
(defun eshell-clear ()
(interactive)
(if (< (count-lines (point) (point-max)) 2)
(set-window-start (selected-window) (- (point) (current-column)))
(recenter)))

181 :名無しさん@お腹いっぱい。:01/11/11 14:35
>>178
というか、skip-chars-forward って時点で無理があるような...
まず、補完した情報の種類によってskipすべき文字種が違うし。

はじめから補完した文字列の最後の位置へ移動って出来ればいいんだろうけど。
出来そうじゃない?

182 :名無しさん@お腹いっぱい。:01/11/11 14:43
>>179
ありがとう。

>>181
同感です。しかし、migemoの部分がコメントアウトされている。残念じゃ。

> はじめから補完した文字列の最後の位置へ移動って出来ればいいんだろうけど。
これは今のままのほうがわかりやすいなー。

183 :名無しさん@お腹いっぱい。:01/11/11 14:50
キーバインド話なんだけど。

他のWindowに切り替えるっていうのは
普通WindowManagerの方で設定するよね。

たまに窓環境も使うから M-TAB にしたいんだけど
M-TAB は emacs では重要なキーだし。

どうやって解決してます?
以前は M-ESC でWindow切り替えにしてたけど
やっぱ不自然で慣れることは出来なかった。

184 :名無しさん@お腹いっぱい。:01/11/11 14:57
>>182

修正出来無いかなーと思ってソースみてたんだけどさ...

ac--completoins-*

completions の間違いなんじゃ....
スペルミス(?)やコメントアウトが散見するあたり、まだまだ作りかけのような。
作者にメール送るか...

185 :名無しさん@お腹いっぱい。:01/11/11 19:37
>>183
僕は TAB でなく C-i を使ってる. M-TAB は M-C-i

186 :名無しさん@お腹いっぱい。:01/11/11 23:58
>>10
Use C-M-n, C-M-p, C-M-f, C-M-b instead.

187 :名無しさん@お腹いっぱい。:01/11/12 00:08
>>30
M-x flyspell-mode & flyspell-auto-collect-word.

188 :名無しさん@お腹いっぱい。:01/11/12 01:33
C-t LETTER はいったん Ctrl キーを離さないといけないから入力しにくいね。
俺は便利な機能を C-q C-[a-z] に割り当ててる(すでに20個以上埋まってる)。
quoted-insert は C-q q。C-q C-q の方がいいかも。

189 : :01/11/12 10:12
どなたかXEmacsでメニューバーにダイレクトにアクセスする方法を
ご存知ありませんか?
muleではF10で可能でしたけど、XEmacsでは無理なのでしょうか?

190 :名無しさん@お腹いっぱい。:01/11/12 13:20
>>189 M-x tmm-menubar で行けない?
F10に割り当てるなら以下。
(define-key global-map [f10] 'tmm-menubar)

191 :名無しさん@お腹いっぱい。:01/11/12 15:43
>>187
> >>30

ていうか (concat "ret" "run") て、なんね。

"retrun" にしかならんが。

192 ::01/11/12 15:47
>>191
write-file-hook できくように .emacs に書くんですよ
retrun ってあったら問答無用で return に変換と。
そのまま "retrun" って書くと .emacs を保存するときに
return になっちゃうんで concat で生成してます

193 :oij:01/11/12 15:50
>>192
それやるんだったら write-file-hook なんて危険なものを
使うよりは, ispell, abbrev, >>187 の fly-spell なんかを
使った方がいいような気がする.

194 :名無しさん@お腹いっぱい。:01/11/12 15:50
>>189

たぶんこういうことじゃないかと思うのだが、
わしは C-z にしてます。サンプル。

(define-key global-map '(control z) 'accelerate-menu)

最近 XEmacsは使ってないけど、21.4.5 で試してOKでした。

195 :191:01/11/12 15:57
>>192

意味はわかったけど、>>193さんと同じくそれはやめといた方がいい方
に一票。自動で書き換えるのは、timestampくらいにしとくのが無難。

私がよくやるのは、英語で書かねばいかん文書の最後に

# Local Variables:
# mode:flyspell
# End:

196 :189:01/11/12 16:04
>>194
おおお、できました。ありがとうございます。
感激!

>>190
も、レスありがとうございました。

197 ::01/11/12 16:06
さっそく ispell をインストールします ^-^)

198 :名無しさん@お腹いっぱい。:01/11/12 17:57
cf. [emacs-faq 67]

(require 'browse-url)
(defun google-encoding (str)
(setq str (encode-coding-string str 'shift_jis))
(let* ((len (length str))
(ret (make-string (* len 3) ?a))
(i 0) (j 0) char type)
(while (< i len)
(setq char (aref str i))
(if (< char 126)
(aset ret j char)
(aset ret j ?%)
(setq j (1+ j))
(aset ret j (aref "0123456789ABCDEF" (lsh char -4)))
(setq j (1+ j))
(aset ret j (aref "0123456789ABCDEF" (logand char 15))))
(setq i (1+ i) j (1+ j)))
(substring ret 0 j)))

;;;###autoload
(defun google (str)
(interactive "sGoogle keyword: ")
(browse-url
(concat
"http://www.google.com/search?q="
(google-encoding str)
"&hl=ja&lr=lang_ja")))

199 :名無しさん@お腹いっぱい。:01/11/12 18:05
;; paren
(cond ((locate-library "mic-paren")
(require 'mic-paren)
(paren-activate))
((fboundp 'paren-set-mode) ; XEmacs
(paren-set-mode 'paren))
((fboundp 'show-paren-mode) ; Standard Emacs
(show-paren-mode t)))

200 :名無しさん@お腹いっぱい。:01/11/12 18:09
>>198
" " → "+" の変換希望。

201 :名無しさん@お腹いっぱい。:01/11/12 18:15
>>200
(defun google (str)
(interactive "sGoogle keyword: ")
(browse-url
(concat
"http://www.google.com/search?q="
(replace-in-string (google-encoding str) " +" "+")
"&hl=ja&lr=lang_ja")))

202 :名無しさん@お腹いっぱい。:01/11/12 18:19
;; When `C-u C-s' enable migemo
(when (locate-library "migemo")
(define-key global-map "\C-s"
(lambda (arg) (interactive "P")
(when arg
(require 'migemo))
(let ((migemo-isearch-enable-p arg))
(isearch-forward))))
(define-key global-map "\C-r"
(lambda (arg) (interactive "P")
(when arg
(require 'migemo))
(let ((migemo-isearch-enable-p arg))
(isearch-backward)))))

203 :名無しさん@お腹いっぱい。:01/11/12 18:20
>>198
これじゃあだめなんすか?
w3m.el より。

(defun w3m-url-encode-string (str &optional coding)
(apply (function concat)
(mapcar
(lambda (ch)
(cond
((eq ch ?\n) ; newline
"%0D%0A")
((string-match "[-a-zA-Z0-9_:/]" (char-to-string ch)) ; xxx?
(char-to-string ch)) ; printable
((char-equal ch ?\x20) ; space
"+")
(t
(format "%%%02X" ch)))) ; escape
;; Coerce a string to a list of chars.
(append (encode-coding-string (or str "") (or coding 'iso-2022-jp))
nil))))

204 :名無しさん@お腹いっぱい。:01/11/12 19:03
急に色々沢山紹介してくれて嬉しいけど、何が嬉しいかの
説明も欲しいです。特に >>199 の paren とか。
という事で、後続の皆さんよろしく。

205 :名無しさん@お腹いっぱい。:01/11/12 22:08
google は面白そう. 僕も昔考えたけど,
常時接続じゃないのでやめました.
(今も常時接続でないけど.)
ネットの情報を持ってくるというのはいろいろ
面白いことができそうですな. ベタな所では
mode-line に天気予報とか.

206 :名無しさん@お腹いっぱい。:01/11/13 09:59
>>205
emacs用シャーロックってのもあったような…。

207 :名無しさん@お腹いっぱい。:01/11/13 11:20
>>205
X-Weather とかまさにそんなかんじ。
emacs-w3m あたりが、
エンドユーザにもてがるにつかえるライブラリにでもなれば
ほんとなんでもできちゃいそうだね。

208 :名無しさん@お腹いっぱい。:01/11/13 22:20
キーバインドの話。おれはWindowsキーとかを
Super・Hyperモディファイアに割り当ててる。
S-xがwindow manager用のキーで、H-xはEmacsで使ってる。
デフォルトとは確実にバッティングしないから便利だよ。

209 :名無しさん@「むぅ」:01/11/14 00:43
>>204
>>199 は対応する括弧が光るようになる。
Old Emacsen だと何も起こらないかもしれん。

210 :名無しさん@お腹いっぱい。:01/11/14 01:07
>>209
俺は show-paren-style 'expression でいいや。
ところで scheme 使うなら cparen.el なんて面白いね。
elisp じゃ意味無いけど。

211 :名無しさん@お腹いっぱい。:01/11/14 12:45
シェル関数にまで y_or_n_p と命名してしまう漏れはどうかしてる...。

y_or_n_p(){
echo $1
while :
do
read ans
case "$ans" in
y*|Y*)
return
;;
n*|N*)
return 1
;;
*)
echo "[y/n]"
continue
;;
esac
done
}

ex.)

if y_or_n_p "cvs update?" ; then
cvs update -dP
fi

212 :184:01/11/14 13:08
>>184 自己レス

ac-mode バージョンアップしました。

ac-enter が " " にバインドされるようになって
skip-char 問題も補完の種類毎に定義されるようになってます。

便利じゃ〜

213 :名無しさん@お腹いっぱい。:01/11/14 14:03
ac-mode って、何をやってくれるもので、どこで入手できるの?

214 :名無しさん@お腹いっぱい。:01/11/14 14:13
キーバインドがたらないで悩んでいるのですがi386で使うにHHKのスペースの
右のキーって機能してないじゃないですか。そこによく知らないのですが
HyperとかSuperとかを割当てられますか? そうすればキーバインドが豊にな
るでしょうか?

>>213
see>>145

215 :名無しさん@お腹いっぱい。:01/11/14 14:34
>>208
俺も右 Alt キーは Super に、右 WinKey は Hyper にして、
Super は Window Manager 用に使っている。Hyper は
今のところ使ってないかな。Shift や Ctrl との組み合わせ
で大抵用が足りているから。それに X 上ではいいが、
コンソール上で使おうと思うとキー設定が別に必要になる
からなあ。

>>214
とりあえず xev でそのキーを押すとどういうイベントが起こる
か調べてみれば。

216 :214:01/11/14 15:01
>>215

KeyPress event, serial 25, synthetic NO, window 0x1200001,
root 0x2c, subw 0x0, time 695247782, (-66,198), root:(545,641),
state 0x0, keycode 129 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 characters: ""

だって。使われてないみたい

217 :名無しさん@お腹いっぱい。:01/11/14 15:09
>>216
汎用性がなくなるけど、keycode を使って割当てるこ
とはできるね。

218 :名無しさん@お腹いっぱい:01/11/14 15:10
>>216

そんだったら .Xmodmap に
keycode 129 = Super_R
clear mod4
add mod4 = Super_R
って書いて
xmodmap -v .Xmodmap
すりゃ豊。

219 :214:01/11/14 15:19
>>218
できましたー。Superがカコイイ

220 :214:01/11/14 19:46
Super tってS-tでいいのですか?
さっそくS-tに割当ててみたけど反応しない。

221 :名無しさん@お腹いっぱい。:01/11/14 19:56
>>220
こんな感じ。

(define-key global-map [?\s-t] 'hogehoge)
or
(define-key global-map [(super t)] 'hogehoge)

222 :214:01/11/14 19:59
>>221
なるへそ

223 :名無しさん@お腹いっぱい。:01/11/14 20:21
age

224 :しかばね:01/11/16 20:31
Super,Hyper って何?

225 :名無しさん@お腹いっぱい。:01/11/17 01:30
ネタがないので. これどうですか?
buffer-list の中から Dired-mode の buffer を全て kill します.
あちこち Dired でまわると buffer がいっぱい作られてうざいですが,
それらを一気に消します.

(defun my-dired-kill-dired-buffers ()
"Remove dired-mode buffers."
(interactive)
(let ((bl (buffer-list)) (kill-list '()))
(while bl
(set-buffer (car bl))
(if (string-match "Dired by \\(name\\|date\\)" mode-name)
(add-to-list 'kill-list (car bl)))
(setq bl (cdr bl)))
(while kill-list
(kill-buffer (car kill-list))
(setq kill-list (cdr kill-list)))))

こんな風に dired-mode-map に map しておくといい感じ.

(define-key dired-mode-map "\C-c\C-c" 'my-dired-kill-dired-buffers)

226 :名無しさん:01/11/17 04:27
(defun kill-all-buffers ()
"Kill all buffers."
(intaractive)
(mapcar #'kill-buffer (buffer-list)))
という書き方もできる。

227 :名無しさん:01/11/17 04:36
>>226
intaractive -> interactive

228 :226:01/11/17 04:42
Dired-mode の buffer だけね。
全部消しちゃったらまずいな。。勘違い。

229 :名無しさん@お腹いっぱい。:01/11/17 06:16
>>224
CtrlやAlt、Metaみたいなキー。
PCのキーボードにはないけど。

230 :名無しさん@お腹いっぱい。:01/11/17 07:40
.emacsが40kbyte記念上げ

231 :名無しさん@お腹いっぱい。:01/11/17 10:08
.emacsを編集してバイトコンパイルしたらこういうエラーが出てしまったので
すが原因わかりますか?

Error in init file: End of file during parsing

232 :231:01/11/17 10:14
C-x rt使ったら場所がわかりました。

233 :名無しさん@お腹いっぱい。:01/11/17 10:27
英語読む努力くらいしろよ・・・

234 :231:01/11/17 10:40
自分で訳すつこうなりました。構文解析ってんんだろ?

エラー 初期ファイル ; 構文解析の途中でファイルが終っています。

235 :名無しさん@お腹いっぱい。:01/11/17 12:47
かっこの数が対応してないのです.

236 :名無しさん@お腹いっぱい。:01/11/17 13:58
>>87
げっ!!rootでやっちまった…。(;_;

また最初っから育てようね、みんなで。

237 :名無しさん@お腹いっぱい。:01/11/17 16:51
>>236
root で emacs 使ったり
root の $HOME にファイルがあるのが
そもそもおかしい。

238 :名無しさん@お腹いっぱい。:01/11/17 17:21
アホな管理者でも信用しとかないと自分の首をしめるって事が言いたいんでは?

239 :名無しさん@お腹いっぱい。:01/11/17 22:20
>>230
もれは96Kだす。
おおけりゃいいってもんじゃないけど。
デフォルトの設定とかぶってるとこ多そうだし...
デフォルトとかぶってるかどうか調べるのって、一つ一つまめにやるしかないのかなぁ。

240 :名無しさん@お腹いっぱい。:01/11/18 00:57
>>236
今頃かい。後のレスを読まなかったのか。
root の $HOME = / な OS だと最悪だが、そうでは
ないんだな。

241 :名無しさん@お腹いっぱい。:01/11/18 02:11
>>239
> デフォルトの設定とかぶってるとこ多そうだし...
> デフォルトとかぶってるかどうか調べるのって、一つ一つまめにやるしかないのかなぁ。
あるある、Emacs21に移行するのにあたって1から書き直そうかな。

242 :名無しさん@お腹いっぱい。:01/11/20 20:40
ell.el で見つけたんだけど himark っておもしろいね ageage

243 :名無しさん@お腹いっぱい。:01/11/20 23:03
>>242
> ell.el で見つけたんだけど himark っておもしろいね ageage

どんな物?

244 :名無しさん@お腹いっぱい。:01/11/21 17:09
>>243
任意の領域の背景をハイライトしてくれるの。
正規表現とリージョンと矩形で使えるみたい。

245 :名無しさん@お腹いっぱい。:01/11/21 17:19
>>244
regexpは、置換個所のチェックに使えるかな?
region は transient-mark-mode してるから意味ない気がするし。

あぁ、そのまんまマーク付けに使うってことかな?
アンダーライン引くみたいな感じで。

246 :名無しさん@お腹いっぱい。:01/11/21 18:04
>>245
あの説明でわかってくれてありがとう!
なんかうまく表現できなくて...

247 :名無しさん@お腹いっぱい。:01/11/23 04:43
;; view-mode を便利(?)に。
;;; かなり個人的な趣味が入っている。あと XEmacs で
;;; isearch の highlight を off にする方法が知りたい。
;;; FSF Emacs だといい感じ。

(defun my-next-line ()
(interactive)
(scroll-up 1))

(defun my-previous-line ()
(interactive)
(scroll-down 1))


;; C-v, M-v で column を 0 にしない && バッファの端まで動く
(defadvice scroll-up (around move-to-temporary-goal-column activate)
(unless (memq last-command '(scroll-up scroll-down))
(setq temporary-goal-column (current-column)))
(if (pos-visible-in-window-p (point-max))
(goto-char (point-max))
ad-do-it)
(move-to-column temporary-goal-column))

(defadvice scroll-down (around move-to-temporary-goal-column activate)
(unless (memq last-command '(scroll-up scroll-down))
(setq temporary-goal-column (current-column)))
(if (pos-visible-in-window-p (point-min))
(goto-char (point-min))
ad-do-it)
(move-to-column temporary-goal-column))


(add-hook 'view-mode-hook
(function
(lambda ()
(define-key view-mode-map "b" 'scroll-down)
(define-key view-mode-map " " 'scroll-up)
(define-key view-mode-map "H" 'backward-word)
(define-key view-mode-map "h" 'backward-char)
(define-key view-mode-map "L" 'forward-word)
(define-key view-mode-map "l" 'forward-char)
(define-key view-mode-map "j" 'next-line)
(define-key view-mode-map "J" 'my-next-line)
(define-key view-mode-map "k" 'previous-line)
(define-key view-mode-map "K" 'my-previous-line)
(define-key view-mode-map "/" 'isearch-forward-regexp)
(define-key view-mode-map "n" 'isearch-repeat-forward)
(define-key view-mode-map "N" 'isearch-repeat-backward)
(define-key view-mode-map "p" 'isearch-repeat-backward)
(define-key view-mode-map "\M-u" 'isearch-exit)
(define-key view-mode-map "P" 'beginning-of-buffer)
(define-key view-mode-map "y" 'lookup-pattern))))

248 :名無しさん@お腹いっぱい。:01/11/23 18:58
>>247
> ;;; isearch の highlight を off にする方法が知りたい。
M-x customize-face でできたよ。
そういうことでなくて?

249 :名無しさん@お腹いっぱい。:01/11/23 20:48
>>248
>M-x customize-face でできたよ。
>そういうことでなくて?

違うよ。FSF Emacs(できれば 21) で上ので '/' すると
分るけど、highlight が検索終っても残ってしまって
いるから、それを 'M-u' で off にしたい場合があると。

とりあえず上の設定で個人的にはめちゃ便利なんだけど
いかが?

250 :名無しさん@お腹いっぱい。:01/11/23 21:24
view-mode を拡張して less like にしてる人は
ずいぶんいるんではないだろうか.

251 :名無しさん@お腹いっぱい。:01/11/25 00:23
-nw で起動したときのバーの色を変えることって lisp で出来るかな??

252 :名無しさん@お腹いっぱい。:01/11/25 02:38
>>251
バーって何よ? tool-bar のこと? modeline のこと?

253 :名無しさん@お腹いっぱい。:01/11/25 20:20
すいません、modeline のことっす。
lispむずかしいっす。皆様独自流なんすよね・・・?

254 :名無しさん@お腹いっぱい。:01/11/25 22:13
>>253

ちょっとスレ違いかもしれないけど。
.emacsのカスタマイズから入ってのめりこみました。
我流です。

それゆえ、インデントとかこれで正しいのかと悩むことしばしば。
スタンダードなコーディング方ってどこで学ぶべき?

255 :名無しさん@お腹いっぱい。:01/11/25 22:44
インデントは TAB におまかせー。

256 :名無しさん@お腹いっぱい。:01/11/25 23:20
>>253
(if (not window-system)
(progn
(set-face-foreground 'modeline "hoge")
(set-face-background 'modeline "fuga")))

257 :名無しさん@お腹いっぱい。:01/11/26 00:06
>>256
おっ、-nw でも modeline に色付けれるんですね。
これをデフォルトで抑制してるのはどのあたりの
コードなんかな?
SKK のステータスを一目で分るようにしたい。

258 :名無しさん@お腹いっぱい。:01/11/26 00:29
>>255
あぁ、ミスった。
インデントじゃなくて括弧の位置とかでした。
閉じ括弧は最後にまとめて置くべきかとかそういうの。

259 :名無しさん@お腹いっぱい。:01/11/26 00:30
TRAMP と remote-compile を組み合わせて使ってる人はいませんでしょうか。

260 :名無しさん@お腹いっぱい。:01/11/26 00:48
>>258
いろいろソースを読んでみると良いと思われ

261 :名無しさん@お腹いっぱい。:01/11/26 00:55
リモートからkterm + sshなんかでログインして
emacsを使うとき、21.1だと色んなfaceがついちゃって
白地の画面じゃ配色が見にくいんだけど、
どうしたらいいのかしら?
白地に黄色とかってのは見えないよ。
もうちょっとシンプルにしたい。
どうしたらいいですか?

262 :名無しさん@お腹いっぱい。:01/11/26 00:58
>>261
>>256 みれ

263 :名無しさん@お腹いっぱい。:01/11/26 03:54
Emacs は lisp のおかげで大概の要求に答えられるんだけど,
その分 lisp がわからんと何もできないということに
なりがちだな.

264 :名無しさん@お腹いっぱい。:01/11/26 08:07
しかし他の言語でカスタマイズ化なエディタが台頭してないとこみると、
開発力があるコアなUNIXerはみんなlispが大好きってことになるねー。
s-lang はなんでだめだったんだろ?

265 :名無しさん@お腹いっぱい。:01/11/28 21:42
>>256
って、Teratermのような端末上だと
modelineの色がなっちゃうね。使える色が違うのかな?

266 :名無しさん@お腹いっぱい。:01/11/28 22:00
> modelineの色がなっちゃうね。使える色が違うのかな?
すいません。色がなっちゃう→色がなくなっちゃう
しかもあげてるし。失礼。

267 :名無しさん@お腹いっぱい。:01/11/29 01:08
list-colors-display したらどうよ?

268 :名無しさん@お腹いっぱい。:01/11/29 15:48
一色もでませんでした…(T_T)
list-faces-display の方はでてきたんすけど。
素直に xemacs 使うかな…
どっかのemacs -nwがmodelineがhighlight色になってて
「おおっ」って思ったんだけど。残念。

269 :名無しさん@お腹いっぱい。:01/11/29 16:47
echo $TERM はどうなってるよ?

270 :名無しさん@お腹いっぱい。:01/11/29 18:21
emacs20 -nw って色出せたっけ?

271 :名無しさん@お腹いっぱい。:01/11/29 18:41
>>270
出せません。

272 :名無しさん@お腹いっぱい。:01/11/29 22:46
>>269
vt100 です。
やっと.emacs が10kByte。まだまだかな。

273 :名無しさん@お腹いっぱい。:01/11/29 23:25
google で teraterm emacs color で検索してみそ

274 :名無しさん@お腹いっぱい。:01/11/30 06:52
21じゃないとダメなんですね…あう。
でも逆にワタクシのは19.28とむしろ古めで、terminal-faceが消滅する前??…なので
もう少し調べることにします。
>>273 さん、ありがとうございます。

275 :名無しさん@お腹いっぱい。:01/11/30 09:17
>>274
terminal-face って bold とかが有効になるだけじゃないの?
手元の mule では色は出ないけど...
# 昔を知らん人間なので、実は方法があるのかも。

276 :age:01/12/07 04:37
mmm-modeの設定例がたくさんのってるページってないんでしょうか?

277 :名無しさん@お腹いっぱい。:01/12/09 18:24
>>276
mmm-mode 自体がマイナーゆえないと思われ。
ってそんなの言わなくても身にしみてるか....

もうネタ切れかなぁ。

(setq interpreter-mode-alist
(append '(("perl5.6" . perl-mode)
("wish8.0" . tcl-mode)) interpreter-mode-alist))

うーーーーーん....

278 :名無しさん@お腹いっぱい。:01/12/09 18:32
ネタ切れなら、いったん >>174 のいうように
定番 or 便利な package を紹介してみようか?
簡単な説明つきで。

279 :名無しさん@お腹いっぱい。:01/12/09 18:38
>>278
それ、(・∀・)イイ!!!

280 :名無しさん@お腹いっぱい。:01/12/09 18:49
だれかdbskkd-cdbを使うときの.emacsを自慢してくれ

281 :名無しさん@お腹いっぱい。:01/12/09 20:31
>>280
SKK スレから流れてきたな...
dbskkd は tcpserver で立ち上げてるから .emacs での立ち上げかたはようしらん。

(setq skk-server-host "xxx.server.com")
(setq skk-server-portnum 1178)

ってかんじ。

282 :名無しさん@お腹いっぱい。:01/12/09 21:23
>>280
自分で dbskkd を立ち上げたらいいだけの話。

283 :名無さん:01/12/12 23:00
ネタふり。

(defun ordered-newline ()
"*加算して改行する。"
(interactive)
(let (prefix)
(save-excursion
(beginning-of-line)
(setq prefix
(and (re-search-forward "^\\(\\s-*\\)\\([0-9]+\\)\\." nil t)
(concat (buffer-substring (match-beginning 1) (match-end 1))
(1+ (string-to-int
(buffer-substring (match-beginning 2) (match-end 2))))
". "))))
(newline)
(and prefix (insert prefix))))

(global-set-key "\M-\C-m" 'ordered-newline )

1. ほげほげ[M-RET]
2. はげはげ[M-RET]
3. ふげふげ

1. うへうへ[M-RET]
2. もへもへ[M-RET]
3. むはむは

284 :名無さん@お腹いっぱい:01/12/12 23:12
今いる位置の関数の名前をモードラインに表示する。

(which-func-mode)

読み込み時のみスキャンするってのがちょっといけてない。
なんとかならんかなぁ。

285 :名無しさん@お腹いっぱい。:01/12/12 23:47
>>283
をを、MS-Word みたいだ!(ワラ

286 :名無しさん@お腹いっぱい。:01/12/13 02:43
>>283
そういうインテリジェントな自動補完というのは
機能的に面白いし実装もそんなに難しくないけど,
実際どういうのが便利なのかというのを見極める点では難しいね.
作って本当に役に立つのかという所がある.

287 :名無しさん@お腹いっぱい。:01/12/14 22:13
>>286
283 のをそのまま写すっつーのなら話は別だが、
これを元に自分色にそめるというのであれば、かなりいいものだと思うが。
自分が便利なようにすればいいだけだし。

288 :286:01/12/15 02:44
いや, 別に >>283 を批判した訳じゃないよ.
気を悪くしたらすまん >>283

MS word の補完がウザいといっている人がいたんで,
こういう自動補完的なものは
便利とおせっかいの境界線が難しいなと思って.

289 :名無しさん@お腹いっぱい。:01/12/20 07:08
ac-mode いまさら入れてみた。便利でいいね。
ただ補完する時 *Message* にどんどん溜ってしまうのは
個人的に嫌なので
ac-display-completion-list を
- (message comp-str))))
+ (if (fboundp 'lmessage)
+ (lmessage 'no-log comp-str)
+ (let ((message-log-max nil))
+ (message comp-str))))))

としてみた。あと ac-display-completions-p は変数なので
ac-display-completions-flag のほうが適切じゃないかなぁ??
# indent が変だね。この人のコード。

290 :名無さん@お腹いっぱい:01/12/20 08:19
>>289
うーん、変数名のtypoとか、
なんとなーくもうどうでもいいや感がただよってる気がする。

もっと突き詰めて便利にしてほしいなあ。
自分でやれっていうな!

291 :名無しさん@お腹いっぱい。:01/12/24 15:06
>>225
major-mode って変数あるみたいですよ。
mode-name よりいいかも。

292 :名無しさん@お腹いっぱい。:01/12/24 20:28
ガイシュツカモシランガ、対応する括弧へ飛ぶ設定
シチメンドクサイ事をしてるがヨクヨク考えたらauto-loadを使う
方がヨホドスマートダナ…ウツダ…
(define-key c-z1-map [?\C-5] (lambda () (interactive)
(require 'vi)
(let ((vifmp
(lambda ()(interactive)
(when (eq 0 (string-match
"\\s)"
(buffer-substring
(1- (point))
(1+ (point)))))
(backward-char))
(call-interactively
'vi-find-matching-paren))))
(define-key c-z1-map [?\C-5] vifmp)
(funcall vifmp))))

293 :名無しさん@お腹いっぱい。:01/12/25 09:33
global-set-key で (lambda () (interactive)...) するのが面倒臭い人向け。
(defmacro my-global-set-key (key &rest body)
`(global-set-key ,key
(lambda ()
(interactive)
,@body)))

294 :名無しさん@お腹いっぱい。:01/12/25 15:16
>>293
,@
ってカキカタシラナンダ
イママデ append ツカテタヨ… ウツダ…

295 :名無しさん@お腹いっぱい。:01/12/28 09:20
>>292

ツッコミどころは多々あるが、

まず、なんでこんなわけのわからんことをしているのかという
あたりから頼む……

296 :名無しさん@お腹いっぱい。:01/12/29 12:36
;;ライブラリネタはどっちのスレがいいかな?
read-library.el と find-library.el ってのを知った。
なんで今迄使ってなかったのだろうと泣けるぐらい便利。
ちなみに read-library.el は load-path にあるけど
存在しないディレクトリがあるとエラーになるので
(directory-files ...) を
(condition-case nil
(directory-files ...)
(error))
で囲った。

297 :名無さん@お腹いっぱい:01/12/29 17:02
>>296
どういうライブラリ?

lib-complete っていうのは使ってるけど。
load-library とか locate-file とか read-library とか
補完してくれるようになるやつ。

298 :296:01/12/29 18:44
>>297
XEmacs にはそんなのがあったのか。
同じようなのですね。ただ、俺の環境では read-library-name
が Wrong number of arguments といわれて動かんかったが...。
find-library は lib-complete のほうが賢いみたい。
ちなみに find-library.el も
(concat library "<" count ">") の count を
(number-to-string count) しないと Emacs21 で動かんかった。

299 :名無しさん@Emacs:01/12/30 03:02
ibuffer.el とても(・∀・)イイ!!
ふつーの dired だと、directory-abbrev-alist が設定してないと
パスが長い。でもこれを設定するには symlink 作ってないと不都合が。
これを独自の ibuffer-directory-abbrev-alist って変数で指定するので
おっけーだし、dired なバッファの行で C-xC-f するとそのディレクトリが
デフォルトになったり。もう普通の list-buffers はステステ。

300 :名無しさん@Emacs:02/01/05 22:40
XEmacsのminibufferでの/の挙動が好きなので移植したやつ
~もあるけどすぐ出来るでしょ
(defun minibuffer-electric-separator ()
(interactive)
(let ((c last-command-char))
(and (eq c directory-sep-char)
(eq c (char-before (point)))
(not (save-excursion
(goto-char (point-at-bol))
(and (looking-at "/.+:~?[^/]*/.+")
(re-search-forward "^/.+:~?[^/]*" nil t)
(progn
(delete-region (point) (point-max))
t))))
(not (save-excursion
(goto-char (point-at-bol))
(and (looking-at ".+://[^/]*/.+")
(re-search-forward "^.+:/" nil t)
(progn
(delete-region (point) (point-max))
t))))
(not (eq (point) (1+ (point-at-bol))))
(or (not (eq ?: (char-after (- (point) 2))))
(eq ?/ (char-after (point-at-bol))))
(delete-region (point-at-bol) (point)))
(insert c)))
(define-key minibuffer-local-completion-map
(vector directory-sep-char) 'minibuffer-electric-separator)

301 :名無しさん@お腹いっぱい。:02/01/07 04:05
あまりキーバインドをいじりすぎると人のマシンが触れなくなってしまう。

302 :名無しさん@お腹いっぱい。:02/01/07 08:54
すんません。XEmacsでバッファタブを最初から消しておくには
どのように .emacs に書けばいいのでしょうか?

Options > Display > Buffers tab visible

で消せるやつです。

303 :名無しさん@お腹いっぱい。:02/01/07 09:01
>>302
(setq gutter-buffers-tab-visible-p nil)
(setq gutter-buffers-tab-enabled nil)
かな。

304 :名無しさん@お腹いっぱい。:02/01/07 09:42
>>303
ありがとうございます。

ていうか、このテの設定方法って、どこでどうやったら分かるんでしょうか?
googleとかでそれなりに検索してみたんですけど、
全然分かりませんでした。

マニュアルはマニュアルでまたよく分からない(&長い)し。

305 :303:02/01/07 11:38
>>304
俺がこういうときにいつもやる方法はとりあえず
M-x customize RET して M-i を押す。
そうすると completions buffer が出るからその
バッファで関係ありそうだなーってやつを search
して(この例だと tab) なんかして中身見てみる。

んで、M-x hyper-aprops (デフォルトの key bind
だと多分 C-h a) してこの例だと先の customize
で buffers-tab がキーになりそうな感じなので
そのまま buffers-tab と打つ。

すると変数と関数が出るからつらつら見てみる。
もちろん aprops を先にやったり customize だけ
のときもあったりバラバラだけど。

# しかし俺もこれが正しい方法(効率的な方法)か
# どうかはわからない。

306 :名無しさん@お腹いっぱい。:02/01/07 12:56
というか、今回の tab は、メニューのオプション
から設定も保存もできますな。
まぁ、ふつー apropos ってのは覚えとくといいけど。

307 :名無しさん@お腹いっぱい。:02/01/07 13:09
どーやら、XEmacsとかはカスタマイズ変数を M-x customize-apropos で検索
出来るようなので、これで探すのが常道なんかなーと思ってた。
一番効率的な方法って、なんなんだろね(ウェブ検索以外)。

308 :名無しさん@XEmacs:02/01/08 01:13
M-x describe-variable
TAB
C-s それっぽい文字列

309 :mami:02/01/08 12:07
PrintScreen で debug-on-error を toggle
別なキーでもいいんだけど。

(defun toggle-debug-on-error ()
(interactive)
(let ((prev debug-on-error))
(setq debug-on-error (not debug-on-error))
(message "debug-on-error: %s -> %s" prev debug-on-error)))
(define-key global-map [print] 'toggle-debug-on-error)

310 :名無さん@お腹いっぱい:02/01/08 12:58
>>309
あれ? toggle-debug-on-error って最初っから存在してるような。
当方 Emacs 20.7 でおます。
無い環境があるのかな?

311 :タカノ:02/01/08 13:33
>>309
minor-modeとしてmodelineに表示が出るようにしてみた
変数名とかcoding standard的には邪道だけど、どうよ?

(defun toggle-debug-on-error ()
(interactive)
(let ((prev debug-on-error))
(setq debug-on-error (not debug-on-error))
(or (assq 'debug-on-error minor-mode-alist)
(setq minor-mode-alist
(cons (list 'debug-on-error " ErrDEBUG") minor-mode-alist)))))

312 :名無しさん@お腹いっぱい。:02/01/08 14:14
>>311
そのたび minor-mode-alist 見に逝く必要ないんじゃない?
こんな感じでどうよ。

(add-to-list 'minor-mode-alist '(debug-on-error " (゚д゚)"))
(defun my-toggle-debug-on-error ()
(interactive)
(setq debug-on-error (not debug-on-error))
(force-mode-line-update))

313 :名無しさん@お腹いっぱい。:02/01/08 14:46
スクロールするとき一気に半ページ飛ぶと目が疲れるので
(setq scroll-step 1) ;; scroll-conservatively との違いはなんだろう?
としてみいます。
連続してスクロールさせていると、何故かたまに半ページ飛びますが。

314 :名無しさん@Emacs:02/01/08 15:18
どうでもいいことですがMeadowで東雲フォント使って一行スクロールすると遅
く(?)なるので半ページごとにしてます(鬱

315 :名無しさん@お腹いっぱい。:02/01/09 01:20
>>313
僕の経験では font-lock とかで
scroll が重い時に飛ぶようです.

316 :mami:02/01/09 01:48
>>310
こっちの XEmacs21.1 だとなかったです。

>>311
ウマ-

317 :mami:02/01/09 01:48
>>312
ウマ-

318 :名無しさん@お腹いっぱい。:02/01/09 09:41
>>312
(゚д゚)ウマー

319 :名無さん@お腹いっぱい:02/01/09 18:31
>>312
うーん?
force-mode-line-update って要らなくないか?
Emacs21 だと違うのかね。

320 :名無しさん@お腹いっぱい。:02/01/09 19:03
>>319
なくても大丈夫。
あとで読んだ時、あーこの関数は mode-line を更新するのかと
わかるよう、明示的に書いてる。

321 :名無さん@お腹いっぱい:02/01/09 20:44
というか、
(add-to-list 'minor-mode-alist '(debug-on-error " (゚д゚)"))
するだけで普通の toggle-debug-on-error でモードライン表示出来るようになるのに
わざわざ my-toggle-debug-on-error なんて作らんでもって気もするのだー。

>あとで読んだ時、あーこの関数は mode-line を更新するのかと
>わかるよう、明示的に書いてる。
add-to-list のとこにコメントでも書いておけばいいんでないの?
その為だけに無駄な操作いれるのはどうかと。
最適化とかしてくれるわけじゃないんだから。

どうでもいいので sage

322 :名無しさん@Emacs:02/01/11 13:21
対応する括弧に飛ぶやつ。(・∀・)イイ!!

(global-set-key "%" 'match-paren)
(defun match-paren (arg)
"Go to the matching parenthesis if on parenthesis otherwise insert %."
(interactive "p")
(cond ((looking-at "\\s\(") (forward-list 1) (backward-char 1))
((looking-at "\\s\)") (forward-char 1) (backward-list 1))
(t (self-insert-command (or arg 1)))))

323 :名無しさん@Emacs:02/01/11 13:23
でも丸括弧だけだね…

324 :名無しさん@お腹いっぱい。:02/01/11 13:31
matching-paren を使えばもっと楽にいいのができるよ.

325 :名無しさん@Emacs:02/01/11 13:48
え…でもコピペだから…
丸括弧以外にも飛ぶように改造するくらいはできるかもなぁ。
勉強します。

326 :タカノ:02/01/11 19:02
match-parenより{forward,backward}-listの方が楽じゃね?
ttp://flex.ee.uec.ac.jp/texi/faq-jp/faq-jp_130.html
なんてのを見たりしてな
"\\s\("はsyntax regexpだから、(),[],{}どころか
()「」『』でもいけちゃうぜ

327 :名無しさん@お腹いっぱい。:02/01/11 19:44
>>326
いいね。
mic-paren に合わせてみた。きたないけど。
bobp がなかったらごめん。

(global-set-key "%" 'my-match-paren)
(defun my-match-paren (arg)
"Go to the matching parenthesis if on parenthesis otherwise insert %."
(interactive "p")
(if (looking-at "\\s\(")
(forward-list 1)
(if (bobp)
(self-insert-command (or arg 1))
(backward-char 1)
(if (looking-at "\\s\)")
(progn (forward-char 1) (backward-list 1))
(forward-char 1)
(self-insert-command (or arg 1))))))

328 :名無さん@お腹いっぱい:02/01/13 04:26
copyright なんて関数があったよ。
んだけんちょも、copyright-update が上手く動かない。
うーん。

Copyright (C) 1999-2001 by 名無しさん@お腹いっぱい

Copyright (C) 2002 by 名無しさん@お腹いっぱい

ってやってくれる関数じゃないのか...?

329 :名無しさん@お腹いっぱい。:02/01/13 14:24
>>322-327
(・∀・)イイ!!

でもちょっとviっぽく動くところがなんとなくいやなので手直ししてみた...
C-(,C-)両方に割り当てることもないのだけれど。
その辺はほら、何となくイメージ的に。

;; C-(, C-)で対応括弧にジャンプ
(defun my-match-paren (arg)
"Go to the matching parenthesis if on parenthesis otherwise insert %."
(interactive "p")
(if (looking-at "\\s\(")
(forward-list 1)
(if (bobp)
'nil
(backward-char 1)
(if (looking-at "\\s\)")
(progn (forward-char 1) (backward-list 1))
(forward-char 1)
'nil))))
(global-set-key [?\C-\(] 'my-match-paren)
(global-set-key [?\C-\)] 'my-match-paren)

330 :名無しさん@お腹いっぱい。:02/01/13 14:33
あげ足とりのようで申し訳ないが、キーバインド変えたなら
>"Go to the matching parenthesis if on parenthesis otherwise insert%."
これはちょっと違うような。

331 :名無しさん@お腹いっぱい。:02/01/13 14:37
>>329
それが C-M-n、C-M-p とどう違うのかと小一時間問いつめたい。

332 :名無しさん@お腹いっぱい。:02/01/13 14:42
>330
あらほんと。スマソ。

333 :329:02/01/13 15:17
>>331
連打したら戻れるとか...?
いや、スマソ

334 :名無しさん@お腹いっぱい。:02/01/13 16:49
C-M-n C-M-p なんてあるんだぁ。こっちの方が便利だな。勉強になった。

335 :名無しさん@お腹いっぱい。:02/01/13 18:02
>>334
括弧がらみなら C-M-d, C-M-u あたりも便利だろう。
ついでに関数(0桁目の開き括弧)の頭とケツに飛べる C-M-a, C-M-e も覚えておくといいかもしれぬ。
C-M-n, C-M-p と似た動作の C-M-f, C-M-b もあるが、オレは C-M-n の方をよく使う。

要ハサミだ。61!

336 :名無しさん@お腹いっぱい。:02/01/14 02:11
C-M-f, b は S 式を動くんで文字列とかにも使えて
便利だ YO!
C-M-n, p とは適材適所で使い分ける.

337 :名無しさん@お腹いっぱい。:02/01/15 21:36
age

338 :名無しさん@Emacs:02/01/16 09:49
vi の I みたいなのってない?

339 :名無しさん@お腹いっぱい。:02/01/16 09:52
>>338
C-a じゃだめ?

340 :名無しさん@Emacs:02/01/16 11:54
対応する括弧にとぶやつって閉じ括弧の場合はカーソルが括弧の1個後ろに行
くから(・∀・)イイ!!ですね。vi だったら括弧の上にきた方がいいだろうけど。

# { とか } の場合はだめなのかなと思ったけど c-mode にしたらいいんです
ね。

341 :338:02/01/16 11:56
>>339
う〜ん、行頭のスペース以外の文字のところに飛んでくれるのがあったら便利かなぁと。

342 :名無しさん@お腹いっぱい。:02/01/16 12:32
>>338
M-m back-to-indentation

343 :338:02/01/16 12:48
おーできた。ありがとうございます。
ますます Emacs マンセー になりました(w

344 :名無さん@お腹いっぱい:02/01/16 13:34
>>342
そんなのがあったなんて....
こんなんしらんだろ?
みたいなマイナーな標準でバインドされてるコマンド列挙するのも楽しいかもね。

345 :名無しさん@お腹いっぱい。:02/01/16 13:43
M-x describe-bindings 見て全部試してみるの大変だしね…

346 :名無さん@お腹いっぱい:02/01/16 14:20
C-x @ c で CTRL のかわりとか初めてしった...
C-x @ m で Meta っすね。スゲーけど使いどころがナイ!

347 :名無さん@お腹いっぱい:02/01/16 14:29
M-C-w で append-next-kill だそうな。
次に kill したものを kill-ring の内容と置き変えせずに追加だって。
これまたすぐ忘れそうなコマンドだなぁ。

348 :名無しさん@Emacs:02/01/16 14:37
>>346
>C-x @ c で CTRL のかわりとか初めてしった...

はじめの C-x はどうやって入力するのかと小一時間問い詰めたい。

349 :名無しさん@お腹いっぱい。:02/01/16 14:40
スーパーとかハイパーもそれ系でいけるのね。
てゆーか、変換キーをハイパーにしちゃおうかなぁ。

350 :名無しさん@お腹いっぱい。:02/01/16 14:53
スーパーとかハイパーって何?どう使うんすか?
俺はスペースの両隣 Alt(Meta) にしてる。

351 :349:02/01/16 16:53
>>350
メタとかとおんなじ。
いわゆる「もでふぁいあきー」って奴です。

んで、質問。
Meadow で 変換キーを super にするのってどうするんでしょ?
無変換は http://www.ysnb.net/meadow/meadow-users-jp/1999/msg00859.html を見て
(w32-set-modifier-key 29 'super)
でいいってのはわかったんですけど。

352 :350:02/01/16 16:58
俺は窓使いの憂鬱でやってるから…分からんです。

353 :タカノ:02/01/16 18:09
>>351
> Meadow で 変換キーを super にするのってどうするんでしょ?
おそらく(w32-set-modifier-key "convert" 'super)だ。実験できないので自信はない。
そう思う理由はmw32term.cのw32_set_modifier_key、
およびkeyboard.cのlispy_function_keysだ。
無変換も、29なんかでなく"noconvert"に変更した方がいいかもしれない。

# ギコ猫旅団に入団したい。
# 問題は、固定ピッチフォントしか使っていないからAscii Artが描けないこと。

354 :349:02/01/16 18:41
>>353
w32-set-modifier-key() の KEY って文字列でもいいんですね。
でも、"noconvert" はいけたけど "convert" はだめだった。
変換キーを押すと kanji が送られている模様。
でも "kanji" で設定しようとしても失敗する。

;; (´-`).。oO(ギコ猫旅団ってなんだろう?)

355 :名無しさん@お腹いっぱい。:02/01/16 21:14
で結局おまいらの.emacsはどんなんだお

356 :名無しさん@お腹いっぱい。:02/01/16 22:38
(require 'initz)
(add-hook 'after-init-hook 'initz-startup)

357 :名無しさん@お腹いっぱい。:02/01/16 23:14
CVS管理したいけど$HOME直下は入れにくいから
~/.emacs.elは
(load "~/.initz/dot-emacs.el")
だけでdot-emacs.elをCVS管理に入れてる。

358 :名無しさん@お腹いっぱい。:02/01/16 23:53
俺は~/.emacs.dだな。その下にinit.el,custom.el,history,site-lisp/がある感じで。

359 :タカノ:02/01/17 00:06
僕はetc/にして、shellなんかのdotfileも全部まとめて。

360 :名無しさん@お腹いっぱい。:02/01/17 00:11
.initzてなんれすか

361 :名無しさん@お腹いっぱい。:02/01/17 01:08
http://www.koka-in.org/~bg66/index.cgi?cmd=view;name=Initz

362 :名無しさん@お腹いっぱい。:02/01/17 01:15
最近日刊ヴァージョンアップって勢い?
initz-list はもっとこなれたら便利になるような予感。

363 :名無しさん@お腹いっぱい。:02/01/17 07:08
そして歴史は繰り返される、、、

364 :名無しさん@お腹いっぱい。:02/01/17 10:00
そして時は動きだす、、、

365 :名無しさん@お腹いっぱい。:02/01/18 16:55
;; trr でタイピングを極めよう ^^;;
(autoload 'trr "/home/giko/elisp/trr/trr" nil t)

;; 引数付きだと fontify する
(defun my-recenter-or-fontify (arg)
(interactive "P")
(when arg
(font-lock-fontify-buffer))
(recenter arg))
(define-key global-map "\C-l" 'my-recenter-or-fontify)

;; 基本は elisp
(setq default-major-mode 'emacs-lisp-mode)
(setq initial-major-mode 'emacs-lisp-mode)

;; 簡単な debug (edebug のほうが遥に便利だけどね)
(defun debug-message (label sex)
(let ((mes (concat label ":" (prin1-to-string sex))))
(read-string mes nil t)))


366 :名無しさん@お腹いっぱい。:02/01/18 17:53
trr ウィソ だと文字化けした YO!!

367 :名無しさん@お腹いっぱい。:02/01/18 17:56
>>366
文字化けしないでつかえているYO!!


368 :名無しさん@お腹いっぱい。:02/02/01 19:25
(defun occur-at-point()
"point のある位置の単語を occur にかける"
(interactive)
(occur (thing-at-point 'word)))


369 :名無さん@お腹いっぱい:02/02/02 00:07
>>368
occur を知らなかった。感謝。


370 :名無しさん@お腹いっぱい。:02/02/04 23:34
C-M-a, C-M-eって、()にも{}にも反応しちゃうんだね。
しょうがないから、Cソースで行頭の{}だけに飛ぶ関数を作ったよ。

↓関係ないけど、最近知ったのでコピペ。
;; 行頭に #!/usr/local/bin/ruby とか書いてあるとそのモードになる。
(setq interpreter-mode-alist
`(
("ruby" . ruby-mode)
,@interpreter-mode-alist))


371 :名無しさん@お腹いっぱい。:02/02/05 03:07
>>370
ふつー add-to-list とか cons とか append するけど
backquote とか利用する人初めてみたYO!


372 :名無しさん@Meadow:02/02/05 09:58
>>371を見て>>370の意味がわかったYO!
でも @ の意味がちょいとよくわかんない。
リストを展開するのかな。

373 :名無さん@お腹いっぱい:02/02/05 10:26
でも、lisp 的には cons とか append が美しいと思うんだがね。

374 :370:02/02/05 12:59
>>373
我流で書いているのですが、そんなに一般的ではなかったのかな?
Cプログラマ的には、短くかけるとチョイ幸せ。(^。^)


375 :名無しさん@お腹いっぱい。:02/02/05 13:38
短くないじゃん > Cプルグラマ

(push '("ruby" . ruby-mode) interpreter-mode-alist)


376 :名無しさん@Meadow:02/02/05 14:35
プログラムなんてみんなほとんど我流では?
というか本読んだり人のソース読んだりして勉強するから自然とみんなと同じ
ような書き方になっていくはず…違うかな。

377 :名無しさん@お腹いっぱい。:02/02/05 17:11
>>372
M-x describe-function [RET] backquote [RET]
例文つき

378 :名無しさん@お腹いっぱい。:02/02/05 17:43
(defun trim-region (start end)
"リージョン中の行末の無駄な空白を消去"
(interactive "r")
(save-excursion
(save-restriction
(narrow-to-region start end)
(goto-char start)
(replace-regexp "[ \t]+$" ""))))

(defun trim-eob ()
"バッファの最後に溜った空行を消去"
(interactive)
(save-excursion
(progn
(goto-char (point-max))
(delete-blank-lines)
nil)))

(defun trim-buffer ()
"バッファ中の行末の無駄な空白を消去"
(interactive)
(save-excursion
(mark-whole-buffer)
(trim-region (region-beginning) (region-end))))

;; I don't use timestamp.el... I don't know why:)
(defun set-lastmodified-tag ()
"Last Modified: という文字列を見付けると新しい日付を挿入する"
(interactive)
(let ((tostr (concat "Last Modified: " (current-time-string) ".")))
(save-excursion
(goto-char (point-min))
(while (re-search-forward
"\\Last Modified:\\([A-Za-z0-9: ]*\\)?\\." nil t)
(replace-match tostr nil t)))))


379 :名無しさん@お腹いっぱい。:02/02/05 19:26
>>378
すなおに、これじゃダメかな?
;; Time Stamp の更新を有効にする
(if (not (memq 'time-stamp write-file-hooks))
(setq write-file-hooks
(cons 'time-stamp write-file-hooks)))


380 :名無しさん@お腹いっぱい。:02/02/05 19:30
>>375
push は cl が必要だし、add-to-list のほうが、
既に member か check してるのでいいよ。

>>378
リージョン内だけ行末の空白を消そうって事はないなぁ。
M-x picture-mode, C-cC-c してる。
あと、俺は素直に timestamp 使ってるよ。
time-stamp-start とか変更して。たしかこのスレに
以前書いた気がする。


381 :名無しさん@お腹いっぱい。:02/02/06 00:17
>>380
push は Emacs 21 で subr.el 入り。
add-to-list も push も alist に使うには微妙に使いづらくない?

382 :名無しさん@お腹いっぱい。:02/02/06 03:17
>>381
お、subr 入りですが。help から辿ると cl のが
出てきたので...
> add-to-list も push も alist に使うには微妙に使いづらくない?
じゃあ、なにが便利でせう?


383 :名無さん@お腹いっぱい:02/02/06 05:24
空白の削除にpicture-mode 使うって発想はすごいなぁ。
ちょっと感動。

384 :名無しさん@お腹いっぱい。:02/02/06 06:26
たしかに、素直に assocに新しい pairを入れるような
関数が標準でほしいな..

(defun assoc-add (alist-var key value)
 (let ((p (assoc key (symbol-value alist-var))))
   (if p
    (setcdr p value)
    (set alist-var (cons (cons key value) (symbol-value alist-var))))))
みたいな? もしかしてもうそんなのある?



385 :名無しさん@お腹いっぱい。:02/02/06 06:53
>>384
APEL の alist.el


386 :名無さん@お腹いっぱい:02/02/06 07:55
APEL とか FLIM とか SEMI って
なんで Emacs の標準パッケージに組み込まれないんだろ?


387 :名無しさん@お腹いっぱい。:02/02/06 08:20
>>380
trim-region は trim-buffer で使うための準備だとは思うんだけど。

下のは、プログラマー天国で公開されてるもの(おすすめ)
;;; 余分な空白を削除する
(defun trim-buffer ()
"Delete excess white space."
(interactive)
(save-excursion
;; 行末の空白を削除する
(goto-char (point-min))
(while (re-search-forward "[ \t]+$" nil t)
(replace-match "" nil nil))
;; ファイルの終わりにある空白行を削除する
(goto-char (point-max))
(delete-blank-lines)
;; タブに変換できる空白は変換する
(mark-whole-buffer)
(tabify (region-beginning) (region-end))
))


388 :名無しさん@お腹いっぱい。:02/02/06 08:55
font-lock-mode使って、tabコードを表示させることはできますが、
ある特定のファイルだけで、tabコードを表示させることはできますか?
ファイルの最後とかに書くやり方で。

389 :名無しさん@Meadow:02/02/06 10:08
>>388
> font-lock-mode使って、tabコードを表示させることはできますが、
俺はこれを教えてほしい(w

390 :名無しさん@お腹いっぱい。:02/02/06 10:30
>>389
blank-mode.el とか whitespace.el とか develock.el じゃなくてって事?
しかし、スレ違いだな。


391 :名無しさん@お腹いっぱい。:02/02/06 18:48
>;; タブに変換できる空白は変換する
>(mark-whole-buffer)
>(tabify (region-beginning) (region-end))
>))

これって何げに便利じゃない?
目から鱗だよ。


392 :名無しさん@お腹いっぱい。:02/02/06 20:38
tabify と untabify だけなら M-x からでも
できるよ.

393 :388:02/02/06 21:35
>>389
見づらくなるから、全角スペースを表示しか使っていません。
ttp://homepage1.nifty.com/blankspace/emacs/color.html

>>390
普段はtabを表示させる必要はありませんが、
Change-log Memo(先月のUNIX MAGAZINE参照)をする時に表示できたら、
便利かなと思ったわけです。


394 :名無しさん@お腹いっぱい。:02/02/06 22:44
Makefile とかで tab が色付けされるから,
そういうのを作れば表示できるな.

395 :名無しさん@Meadow:02/02/06 22:47
>>386
> APEL とか FLIM とか SEMI って
> なんで Emacs の標準パッケージに組み込まれないんだろ?

ライセンスの問題?

396 :388:02/02/06 23:14
>>394
なるほど。そういえば Makefileは表示してますね。
ソース見てみます。

397 :名無しさん@お腹いっぱい。:02/02/06 23:17
>>395
ぜんぶ GPL じゃん。

398 :名無さん@お腹いっぱい:02/02/07 09:40
もしかして、日本人開発者って煙たがられてる?


399 :名無しさん@お腹いっぱい。:02/02/07 09:48
そんなことはないんじゃない?


400 :名無さん@お腹いっぱい:02/02/07 10:20
なんか、Mule の機能が完全に取り込まれなかったあたりとか
あんまり理解されてないように思えてしまう。

401 :名無しさん@お腹いっぱい。:02/02/07 16:25
nemacs はともかく mule は非欧米圏の人に
そういう便利だと思うんだけど。
でも中国用の cemacs? とかあったな...

402 :名無しさん@Meadow:02/02/07 16:59
FLIM って、標準ライブラリや他のパッケージ (Gnus) のライブラリと名称が
バッティングするから欝。
とりあえず、smtpmail, mailcap, md5 とか。
関数名でも、mime-{encode/decode}-region なんてのがあったか。
まだ見ぬ Emacs21 には Gnus 5.9 が添付らしいだが。

煽る意図は皆無。
成果物自体とそれに携わった人には、敬意を払い、多いに感謝している。


403 :名無さん@お腹いっぱい:02/02/07 17:39
うーん。Emacs 標準の機能になるんだとしたら、
flim-smtpmail とか flim-mailcap って名前はかっこつかないよね。

Gnus もそんな一般的な名前つけるなよーって気もしないでもない。


404 :名無しさん@お腹いっぱい。:02/02/07 21:06
>>403
> Gnus もそんな一般的な名前つけるなよーって気もしないでもない。
FLIM にも同じ事が言えると思うんだけど。
Gnus は Emacs の標準の機能になっちゃってるから、FLIM を入れると Gnus
が動かなくなるってのはかなり印象悪い。

405 :名無しさん@お腹いっぱい。:02/02/07 21:14
mule って日本以外ではあんまり使われてなかったんでしょ?
(/.-J のある投稿によると)

406 :名無しさん@お腹いっぱい。:02/02/07 22:08
Emacs-2[01] が Mule だと言えばそうだろうし、そうでないと
言えばそうでない。

407 :名無しさん@@お腹いっぱい。:02/02/07 23:15
>>397
この件についてはどうだかしらないけど、
Emacs に入れるなら GPL であるだけじゃだめで、
assignment を出す必要ありです。
tamago が困ってるのはそれですよね。


408 :名無さん@お腹いっぱい:02/02/08 08:14
>>404
Gnus 使ってないからよくわからないんだけど、
Gnus の内部の機能って他でも使われてるんですか?
内部でしか使われないんだったら
gnus-* ってプリフィックス付けるべきじゃないのかなぁ。


409 :名無しさん@お腹いっぱい。:02/02/08 08:15
tramp が使ってたような気がする

410 :名無しさん@お腹いっぱい。:02/02/08 11:15
パッケージの機構がが欲しいね。
スレ違いなので sage。

411 :名無さん@お腹いっぱい:02/02/08 11:51
>>410
名前空間の分離という意味でのパッケージ機構?
それとも XEmacs でやってるみたいなパッケージ機構?

まあ、そうスレ違いでもないんじゃない?
名前が被るのは .emacs.el を設定するうえでも困ることだし。

最近 psgml と xml.el、dom.el の一部が被って困ってる。

luna とか eieio 使うようになればこういう問題はなくなるのかな。
でもこんどは識別用の名前が被ったりして。

412 :名無しさん@お腹いっぱい。:02/02/08 12:25
>>411
名前空間の分離の意味でのパッケージ機構です。

> でもこんどは識別用の名前が被ったりして。
それは確かに(w
でも、とりあえず一段階の名前空間の分離があれば現実的に大丈夫ですよね。

TRR は全部 TRR:: ってプリフィックスをつけていて好感が持てました。


413 :名無しさん@お腹いっぱい。:02/02/08 16:31
どんなに基本的な関数であっても
もともと emacs にないものは
一般的過ぎる名前は付けて欲しくないな。
例えば string-reverse とか。

414 :名無さん@お腹いっぱい:02/02/08 16:45
>>413
APEL はどう?

C でいう static な関数定義出来るといいよね。

プリフィックスはコロン二つがいいのかな?
当方 hogehoge-* って感じでハイフン一つでやってるけど。

415 :名無しさん@Meadow:02/02/08 19:32
;; キー入力をしたらマウスカーソルを消す
(setq w32-hide-mouse-on-key t)

が効かないようなので代わりに何かないか探してたら,mouse-avoidance-mode
なんてのがあった。おもろいね、これ。

416 :名無しさん@Meadow:02/02/08 19:34
あ、効かないっていうのは Emacs21 での話です。

417 :名無しさん@お腹いっぱい。:02/02/08 22:27
>>415
おもろいね。'proteus にして、picture-mode でおいかけてみました(w


418 :名無しさん@お腹いっぱい。:02/02/11 09:50
;; run functions from the~/local/lib/emacs.d directory
;; Files in this directory ending with ".el" are run on startup

(let (list)
(setq list (directory-files "~/local/lib/emacs.d" t "\\.el$"))
(while list
(load-file (car list))
(setq list (cdr list))
)
)

設定ファイルのあるディレクトリから自動読み込み
(Emacs のsite-lisp からパクッている)
ファイルを入れるだけでOK
いらないのはファイルを消すだけでいいので、管理が楽


419 :名無しさん@お腹いっぱい。:02/02/11 22:16
>>418
似たようなのを最近作ったので、コピペします。
elisp-directory以下のディレクトリにパスを通します。
直下のディレクトリじゃないと駄目なのが...(ToT)
ツッコミあったらお願いします。

(defvar elisp-directory (expand-file-name "~/lib/elisp")
"*自分の elisp-functionを入れておくディレクトリ")

;; elisp-directoryとその直下のディレクトリにパスを通す。
(mapcar
(lambda (arg)
(if (file-directory-p arg)
(setq load-path (cons (expand-file-name arg) load-path))))
;; 実質、記号を含まないディレクトリと"."を抽出している。
(directory-files elisp-directory t "\\(^\\.$\\|^[a-z0-9]+$\\)"))



420 :名無しさん@お腹いっぱい。:02/02/11 22:29
そーいえば俺は load-path や Info-directory-list に
$HOME 以下を追加する時も expand-file-name してないけど
old emacsen はダメだったのだろうか?


421 :名無さん@お腹いっぱい:02/02/11 23:10
>>418,419

それって >>55 で既出ですね。
結構需要あるってことか。

422 :419:02/02/11 23:30
>>421
ツッコミありがとうございます。
でも、directory-files()の使い方とか
微妙に違っていて面白いともいえる...かな?

ところで、Emacs21で load-pathを *scratch*バッファで評価すると、
リストの終端が ...)のように省略されるのをやめる方法はありませんか?
C-mで適当に改行すれば見えるようになりますが、けっこうウザイんで。


423 :名無しさん@お腹いっぱい。:02/02/11 23:50
>>422
既出
(setq eval-expression-print-level nil
eval-expression-print-length nil
eval-expression-debug-on-error nil)


424 :419:02/02/12 12:41
>>423
また既出ですか...。すみません。(;´_`;)

425 :418:02/02/16 10:41
>>421
>それって >>55 で既出ですね。

ちょっと違いますよ。
問答無用で実行しています。


426 :名無しさん@お腹いっぱい。:02/02/16 22:45
少々やりすぎの感も否めないが、こんなのどうですか?

(defun set-aurora-tab-width (num &optional local)
"タブ幅をセットします。
タブ5とかタブ20も設定できたりします。
localが non-nilの場合は、カレントバッファでのみ有効になります。"
(interactive "nTab Width: ")
(when local
(make-local-variable 'tab-width)
(make-local-variable 'tab-stop-list))
(setq tab-width num)
(setq tab-stop-list ())
(while (< num 256)
(setq tab-stop-list (append tab-stop-list (list num)))
(setq num (+ num tab-width)))
(if local (redraw-display)))

;; general tab stops
(setq default-tab-width 8)
(set-aurora-tab-width 8)

;; custom of the C-q ? key
(defvar ctl-q-map (make-keymap))
(define-key global-map "\C-q" ctl-q-map)
(define-key ctl-q-map "2" (lambda () (interactive) (set-aurora-tab-width 2 t)))
(define-key ctl-q-map "4" (lambda () (interactive) (set-aurora-tab-width 4 t)))
(define-key ctl-q-map "8" (lambda () (interactive) (set-aurora-tab-width 8 t)))


427 :名無しさん@お腹いっぱい。:02/02/16 23:14
(load-liblary "CUA-mode")
(CUA-mode t)

Windowsライクに、シフト+カーソルで領域選択、選択時にCtrl+xで
カット、Ctrl+cでコピー、さらにCtrl+vでペースト。
C-xやC-cのプレフィクスと共存できるため、変態的なキーバインドが
出来上がるという危険も伴う、諸刃の剣。素人にしかお薦めできない。

428 :名無しさん@お腹いっぱい。:02/02/16 23:18
>>427
M-x pc-selection-modeの高機能版ってところですか?


429 :名無しさん@お腹いっぱい。:02/02/16 23:24
>>428
そういうこと。知らない間にバージョンアップしてるみたいね。
http://www.cua.dk/emacs.html

430 :名無しさん@お腹いっぱい。:02/02/16 23:27
>>429
ネタにはなるけど、使わないだろうなあ。。。

431 :名無しさん@お腹いっぱい。:02/02/17 03:35
>>427
> 素人にしかお薦めできない。
ワラタ

432 :名無しさん@XEmacs:02/02/21 14:08
198 の google検索でカーソルの近くの単語を検索

(require 'lookup)
(defun google-current-word ()
(interactive)
(let ((str (lookup-current-word)))
(browse-url
(concat
"http://www.google.com/search?q="
(replace-in-string (google-encoding str) " +" "+")
"&hl=ja&lr=lang_ja"))))

lookup の lookup-current-word を使ってるだけです


433 :名無しさん@XEmacs:02/02/21 14:36
こっちの方がいい
lookup の lookup-pattern-input を使って google を引く。

(defun google2 (str &optional module)
(interactive (lookup-pattern-input))
(browse-url
(concat
"http://www.google.com/search?q="
(replace-in-string (google-encoding str) " +" "+")
"&hl=ja&lr=lang_ja")))

検索は楽チンで ウマー
でもこれだと検索語の要求の prompt に lookup とでてしまって マズー


434 :432 433:02/02/21 14:51
この検索語入力のときに Lookup とでちゃうの変更するのどうすんのかな
lookup を読んでもよくわからん
なにしろ elisp なんて全然分からん

この調子で yahoo, amazon, 2ch検索, ... だれか作っちゃってくれないかな
C-c C-a で amazon検索, C-c C-2 で 2ch検索とか


435 :名無しさん@お腹いっぱい。:02/02/22 03:57
;; Emacsスレは激しくレベル低下してるし、こっちに書くか…。
shell-command-on-region って便利だけど、俺はリージョンより
バッファ全体に適用する事が多くて、C-x h でカーソルが
動いてしまうのが嫌なので。

;; C-u 付けて置換しなければカーソルが動かない
(defun shell-command-on-buffer (command
&optional output-buffer replace error-buffer)
;; そのまま shell-command.el のアドバイス内容を埋め込んでもいいけど
(interactive (let (string)
(setq string (read-from-minibuffer "Shell command on buffer: "
nil nil nil
'shell-command-history))
(list string
current-prefix-arg
current-prefix-arg
shell-command-default-error-buffer)))
(shell-command-on-region (point-min) (point-max)
command
output-buffer
replace
error-buffer))

;; current-load-list を nil に束縛してるのは何故
(let (current-load-list)
(defadvice shell-command-on-buffer
(before shell-command-on-region-with-completion activate compile)
(interactive
(list (shell-command-read-minibuffer shell-command-on-region-prompt
default-directory
nil nil nil 'shell-command-history)
current-prefix-arg
current-prefix-arg
shell-command-default-error-buffer))))

土屋さんの shell-command.el を利用してるんだけど、
これで current-load-list を nil にしてるのは何故でしょう?
いろいろ探ってみたけどサッパリ分りません。


436 :名無しさん@Emacs:02/02/22 20:57
>>434
read-stringでいいんじゃネーノ。
ついでにデフォルトを編集できるように。

(defun google2 (str)
(interactive (list (read-string "Google search: " (lookup-current-word))))
(browse-url
(concat
"http://www.google.com/search?q="
(my-replace-in-string (google-encoding str) " +" "+")
"&hl=ja&lr=lang_ja")))

437 :432 433:02/02/23 02:39
>>436
感謝!!

ところで my-replace-in-string って何 ?
ひょっとして何かすごいやつ ?


438 :名無しさん@Emacs:02/02/23 03:25
ああああ (狼狽
XEmacsにあるreplace-in-stringと同じやつです。
Emacs 20 には無いんで、自分で定義してるだけです。
いわゆる消し忘れってやつです、ハイ。

439 :432 433:02/02/23 03:35
; Super-j でカーソルの近くの url を開く
(define-key global-map [(super j)] 'browse-url-at-point)

これだけで凄く便利になった

; Super-g でカーソル近くの keyword を google で検索
(defun google (str option)
(browse-url
(concat
"http://www.google.com/search?q="
(replace-in-string (google-encoding str) " +" "+")
"&num=100"
option
)))

(defun google-ja (str &optional module)
(interactive (list (read-string "Google search: " (lookup-current-word))))
(google str "&hl=ja&lr=lang_ja"))
(defun google-all (str &optional module)
(interactive (list (read-string "Google search: " (lookup-current-word))))
(google str ""))
(define-key global-map [(super g)] 'google-all)


ところで google は get でいけるからこれでよいが、post しかないサイトの場合
どうしたものでしょう。
とりあえず amazon を検索したいのですが


440 :432 433:02/02/23 03:40
最近 mozilla を使いはじめたのだが、いろいろ良いところもあるが
いかんせん重い。 上のような調子でどんどん emacs から遠隔操作する方が
正しいような気がしてきた。
そうすれば mozilla の tab なんていらないんじゃないか。
bookmark も全部 emacs でやった方が早いんじゃないか。

そういうわけで
「俺はこんなリモコンしてるよ」
っていうのを自慢して下さい


441 :432 433:02/02/23 03:42
しかし考えてみると、どうやって bookmark をつけるときの url を emacs に戻すのだ?
そういう切口が mozilla にあるのか?


442 :名無しさん@お腹いっぱい。:02/02/23 04:26
bookmark.html を emacs から読めばいいんじゃないの?

443 :432 433:02/02/23 04:28
>>442
いやそうじゃなくて逆のはなし
netscape でみつけたページを emacs に戻す方のこと

444 :名無しさん@お腹いっぱい。:02/02/23 23:29
>>439
> ; Super-g でカーソル近くの keyword を google で検索

便利そうなので.eamcsに書いてみたのですが
Google search: hogehoge
でエンターを押すと
google: Symbol's function definition is void: google-encoding
となってしまいます。
Emacs21 on FreeBSDなのですが原因分かりますか?


445 :名無しさん@お腹いっぱい。:02/02/23 23:54
>>444 まんま、そのまんま。

446 :444:02/02/23 23:56
>>445
> >>444 まんま、そのまんま。

どうすれば動くのか教えてください。


447 :名無しさん@お腹いっぱい。:02/02/24 03:26
>>446
google: Symbol's function definition is void: google-encoding
となってるのだから、google-encoding というシンボルに
対応する関数が定義されてないってこと。
即ち、あなたは google-encoding を defun してないって事ね。
で、この関数定義はずいぶん前にこのスレに出ていたけど。
# もう解決してるかもしれけど、ねんのためね。


448 :444:02/02/24 11:00
>>447
> で、この関数定義はずいぶん前にこのスレに出ていたけど。

すいません。何番のスレッドに書いてるのでしょうか?


449 :名無しさん@お腹いっぱい。:02/02/24 11:16
>>448
自分で調べれ。
もしくは推察して書け。
ここは教えて君スレッドじゃねぇ。

450 :444:02/02/24 11:49
>>449

すいません。教えて君禁止と書いてなかったのでつい。
google-encodingだから>>198だと思って>>198>>439
を書いてみたのですがSuper-jで
read-string: Symbol's function definition is void: lookup-current-word1
こなってしまい困ってるところです。


451 :444:02/02/24 11:50
あ、Super-gの間違いだ。

452 :432 433:02/02/24 13:21
>>450
それは lookup の関数です。
これらは lookup に依存しているので、何か適当に lookup を入れて下さい。
lookup は emacs でいろいろな辞書を見るための package です。
本当はこんなことは lookup を使わなければならないことではないはずなのですが
私が elisp を全然しらないので、それっぽい関数を見つけてきて間に合わせている
ということです。


453 :444:02/02/24 13:44
>>452
おかしいですね。
lookupならすでに使っているのですが。


454 :名無しさん@お腹いっぱい。:02/02/24 14:07
>>444 新手の荒しですか?

455 :名無しさん@お腹いっぱい。:02/02/24 14:12
つーか、google の完全版書いてよ。

456 :444:02/02/24 14:15
>>454
他の方がどう感じたかはわかりませんが自分では荒らすつもりはないです。

457 :名無しさん@お腹いっぱい。:02/02/24 14:23
>>456
> >>454
> 他の方がどう感じたかはわかりませんが自分では荒らすつもりはないです。

コンビニでマガジンを立ち読みしてたりしないか?


458 :名無しさん@お腹いっぱい。:02/02/24 18:19
>>438
お前コテハンで目立つかもしれんが、うざい。

459 :432 433:02/02/24 18:22
>>455
完全版って、単に 198 の google の代わりを書いただけ。
その中で lookup の関数を間に合わせで使っているということ。

444 は FreeBSD で emacs 21 ということだが lookup は package か?
load-path とかはどうなってる?

460 :名無しさん@お腹いっぱい。:02/02/24 18:23
>>458
navi2ch のデフォルトの名前だよ。

461 :432 433:02/02/24 18:24
458 はどういう意味? わけ分からん

462 :名無しさん@お腹いっぱい。:02/02/24 18:27
>>460
どうりでトッポイとオモタ

463 :432 433:02/02/24 18:28
あ、そうか分かった。
(require 'lookup)
を前に付けて下さい。
つけなっくても先に M-x lookup で lookup を一度起動してから
上の関数を eval すれば大丈夫だと思います。

464 :名無しさん@お腹いっぱい。:02/02/24 18:29
>>461
この板のという意味か

465 :432 433:02/02/24 18:30
と書いてから思ったのだが、私は xemacs しか使ってないので emacs 21 では
どうなのか良く分からん。どうなんですか?

466 :444:02/02/24 18:41
>>465
さっきのlookup関係はおさっしの通りでした。
しかし、今度は
google: Symbol's function definition is void: replace-in-string
と出てしまった。そうすると>>436あたりが関係してくるのかな。

>>455みたいに思うのは誰かが書いてそれを他の人が書いて……
ってやっていくと、僕のような初心者はどれが完成したものなのか
分からなくなってしまうのではないでしょうか。


467 :432 433:02/02/24 19:02
>>466
436 438 によれば emacs 21 には replace-in-string がついていないようなので
それをなんとかしてとってくれば良いはず。
xemacs は subr.el に replace-in-string の定義がある。
これを xemacs の tarball から取り出して load-path の通っているところにおけば
いいんじゃないかなあ。
まあ、ひょっとするとそれがまた何かに依存しているかもしれないしけど。
何しろ emacs 21 を使ったことがないので分かりません。
私は何でも付いてきちゃって楽なので xemacs です。

468 :名無しさん@お腹いっぱい。:02/02/24 21:01
>>444 おまえ、ちゃんとスレ読んでるか?


469 :444:02/02/24 21:11
>>468
はい、とても参考にさせてもらっています。


470 :444:02/02/24 21:13
あ、でも>>468の「ちゃんと」が僕の思っている「ちょんと」と同義だかは分かりません。

471 :432 433:02/02/24 22:03
何か非常に空気が悪くなってきているが困ったものだ。
444 さん、470 のようなレスは、もしあなたがもっと「勉強」したいのであれば
止めておいた方が良いと思います。このようなレスをあなたが続けるのであれば
私は消えます。

私も elisp は全然分からないので、誰かもうちょっと書いてくれんかというつもりで
たいしたことないことを書きこんでましたが。なんかないですか


472 :名無しさん@お腹いっぱい。:02/02/26 18:33
>>132のdmacro.elってXEmacs.21.1.14で動きますか?

ぐぐーるのEmacs part3スレのキャッシュを見るとXEmacs関連のパッチが
取り込まれたみたいなんだけど、肝心のパッチの部分がキャッシュされてないので
どういうものかよくわからんのです。

手元にあるdmacro.elのrevisionは1.12です。Dateが1995年になっているので
たぶんそのパッチは当ってないと思うのですが。


473 :名無しさん@お腹いっぱい。:02/02/27 00:22
>>472
あれはベクトル有効にするだけで、XEmacs はまだ対応してなかったよ。残念。
ハックして >>472


474 :名無しさん@お腹いっぱい。:02/02/27 00:56
>>472,473
Emacs part3 スレで dmacro.el のパッチ書いたものです。

あの後作者の増井さんが Mailing list を作って、
そこである方が XEmacs でも使えるものを書いてくれました。
ただその後 ML が停滞してるんで、
元作者の web page には反映されてないようです。

その XEmacs でも使える dmacro を書いてくださった方は
この板にもいると思うんですが、
たぶん問題ないと思うんで、下に勝手に上げちゃいます。
ただ、まだ不完全な部分もあるかも。


475 :名無しさん@お腹いっぱい。:02/02/27 01:00
二つに分割するのでくっつけて。
begin 644 dmacro.el.gz
M'XL("/B,>SP``V1M86-R;RYE;`"M6=USTU86?R9_Q1U/*3)=TQC:V:64SLZT
MO.W3]G&W#XJM!!?'=B4E"W^.S%6::9QI2)IUC&,2DF`[3J/0+RBS6TIA2B$)
M[30PPTYG8?:<<W7U9=F&SJK8CJ1[?N?[=Z[44Z>&3IUB=&3'U8Q>/*;E68K9
ML];RU3N7?^9.=:9S@U>7K,9U]BI;7JM]#>L]D?3)DR?8&Z^GWV#N4=1S8[F"
MFF>YK*:RD0OLZK.Y^XVO6E7KJ5VU[UG+]DU/..;(C9?RVKA6,+4L"J^M[JQ=
MVUA=L9YNU.8KB_7YSMI/_<29KHWF"@304_<AL/E-=N+U$\-LO)C-C>9`U6A1
M9V?`>R-]LJ><I_>5]U13>PM=?_/U8<!)LW3ZK>&3\(^]XB_ZJS:9,W+%`BP\
MECY.=_"F'V.^8Y6K,WP7HKO(]_F>C+CSF,_PA\L6=RC^!]N-M0JO8N!A79WO
M(0I?X3]PQ[YI/[+G[(?V'=[B->MB,%_<P8SQ-F]PAV0/ZM\Z/_`:WR/9+40Y
M*HQ)G=,N'&6\5?]V8Q<7--<[GW/'NB&`T"SK)HBWM[\`V-NH"(7QX]SCT_RZ
M?1\B]$]>D;ZK(QGX1V:VF\^='9!:6?HQBC=O@:ZV50X&A"5`,,&X@V+"&X1Q
M/3H@CZJ\"3[M\P/RJFJ5T</JWOSG=M.>M6MVF^^$#?%LX1V^*^R'[Q6K'%B6
MU4;5D=]C,5]`4\ANP$#3$84P9"+:[<9Z"PV5B:EO@!W.YI-.1217.,*;+.%B
M'`@;A(6Q;I&]^-WEV0+\U^)W^=3<_K5;O3P(F(NJ"*02J,6F5>ZO-EZY+`M>
MY@_Y?;^BO5!46A\O7[+*;BWOBUJTRJ*,I)X\-'`Z>'(\>'(B>/*&:P'G4YZ]
M!W+!X3#2X1?"<O@#/L6W.E\WEOH507=T^FL[/$`?QE!4\M*/I&&%?\6WD`-J
M7S<K?(LE#K,$KVQLSJ^+!('+LY&@+[A@G46KU1#D0H9_8:_8C[F#H0=%#_@N
MNF+_&SZ;]FW[4_L1M-),<^[:)X(4-G87KU*3<4A/N[8-J=D#[#;45$OJ[$)P
MKNS7?N*B92D!"S/U'>22N<[5.=`*CA'&@>0*L@:T2`NN7=]9P?6;E>V;O`(%
MM$L^@39>"75<B^\LKUW^CF\)[X1&LA>Y:1U3!FND/O)HD0/B!OBS0E9"=\0F
M=95?$I(N)G!$A'01L>)'`5=(_S%JG6=;EB+J'8V(4T(PH"C)[\;'4)$G%,!V
MXQ.GCLPMB#G)M]KW^2W>1)CU2XU[5#CKE"NO%J@8K/\RY&OGGG]EJK-4_\UY
MO'[CLYHL&5G%Z_?!Z<\`!D@?.AN-M6Y`?W_`MQI\=1%54^0.J!J:_'M?FR>P
M9%U^B@N]G@<R?]?4\ZGW&6P#6(:=>?]=X)L65#E2)O5-XKTS?V'RDV4:&Z45
MJ!H@/=W1N*/HW&]\=FV!SV*+=-D0J_G`)W;>$J;'=7:\416/IZ'[K/(*P(C:
M(I78D2O2BDK8?KP79&:</"'%5!*N\J`WO7!"O;X5XX3HW4]%_6._-WZR:D!I
ME'[1G5@$H761Z(J"J7ZU^IP0]O@G"].-7_FLO"<'\F>W^9V%:?CMK`.WP(HN
M-$'M<M9.6]-\^N++?R1O3D]-VR_["=!L!VU%/R![7#"653ZGY0RM0-S2X9NX
MS\&."ML;U"]&#J!P44HR`]9-S($_8WLC^"@N[?>=UMV1BXM&=!0W+VUOBPIE
M("*$7_!;"$W!G_:+?T>B?#>@&8T/8$H*[+W/VBE#9T-U^JR\>36^3B77"7G:
M*#O(PMZ]T$;,H2;>W;)@V\;Y(_P0H3T4K14:-#AGB&<Z\\O2KVU[]<&U6S`9
M[D+]U,.L2QJ5=)(U+_$EU.J.W8HP:N,*CL'CUVZ1*7*""U;=$=M9[\D!U2"+
M61=#`[S2N;CR!`:C*[11`X"[8-J!O]XS!`_9>=8->)SXA>/A_D*,:<M$P0$_
M_15XQP.@796K.[`W7!'"\P?+/V"9@[`'*%=[$#W$'.=*YQFOS&_`/J4E`H^,
MAHYYHB&CA(_5:+B/)S'D[N9C"V+3A&#>AGQ>MLH4<=K=.H_?-MZ!RH$HTV[$
MO2AVZG3,[6\^"8Q2BK#B`_`*`+"W3?@`D%L,U:MN>U&H0J))I!6PXS*(R,<W


476 :名無しさん@お腹いっぱい。:02/02/27 01:01
ML;D#?H='.Q=-W/(Q*(7$[&T^2YHB.79!8%I#TA"@LEX7"WR0`=4`LT57,VH6
M?[K*H`Q*3XLE.'\NMT!_![2W/!37<ECD8U!709VCWN"0<EMS]?N-7;<E">:8
MAH_91+5;HKGPV;3Y'%L"SF"OYDDK,/\RQ8)AAA]4$W]_-V4F6$)T!^Z-D#@2
M21(9RQ='U'S*T$Q<'!8\XIYHY[6,6*U.F,5\4<V&;K&$.$FP0B[/S*1KC7PG
M0!LG]ZW`PI/EN?E?E[]D=L/^QF[;4_;'=GEI:O%^@[:OXZHQD?NS<;:4,?+'
MC+.J7CJ6*1[[L(2(0^C=I*J[+P12JJZK%U+FA9(V!)6=&P7C"EFFC!0G"MD2
M.T)12XVK'Q;UU*2FXXN%Y-`A2(GRSFD6<Y.E3R:30R)K1R:UC%G4V1'#U'.%
M,;SLNHC/?W>A]EN-!]O/L&I:_\+&6/[%N0-9(%@``A*\\B-D[.'F4@/?-.PP
M%Q!Z1E2:`*;-.3L++NA_8,8$_:AY$Y0T^)7G]2^!XSK?U9\1A7>@\J"RUA_-
M?6-=A-P-*:.0,R\/D/:,:KKV*W`&H5"TC[J#Y3G%C@@9$96>JX7EL'K279YT
M!2(&&!,CAO91Q(!1334G=`W2<9YB`S!BG8RTNURDKJ\!(0%7K&^N8]:#@@&9
MERMU[:.)G`[:,_G(K7@'3'%=1!;1O&H]ZKL$'84-DO"'-U8/Y#)N;2K=M5J\
M`G%EAA2(OA<P:->7R7W8I6#/1_V*Q"4/&5>4*%%$P]>G`&+20NNI?]'0$@/$
M7LMHZ;A:DOV9`8I0,Z:FITR@HDE\B=E76G$%E1Z"R6Y/X@,10`QU7O=]-Q!"
M\4#G\$"ZO`7/M&U[CSOUY\`0\D4KT4J5S]2VG25Z&@%2&`!&@2U,C(]HH!PB
MK(VB"6RXEZ.APZ^J`0H&,^]@91)O(#OW/R!Z?\.@FWHQS\XGF?H!;O-G^,[G
MB]O/@#EA%IY7\>EV^S_;7P`;[_/KK'CNA:"Q\C+0ID>H8)!RP3HSE<\9`\HN
M9-U"IV;/S0*;7^*;5GG!65Z#K=!W`Q-)!NB:FDV=&\FFQ##"1DQE-2.CYTHF
M1LFMX0&6]"QF>4@8@NHB&@/V&<&A$[@5^),D@=<F"BRX55!HF':]YW3?5-,+
M`YB0"1KI!>A/:-+<I(9"+O?XVL<T4[KJ5GD^SX!A#BGCFF&H8QI+A-^E+LWP
M#:@$?."K<^10-QQHV(2I!0+K\93XC?&%*$,1AF&+XSJ%3![#3M.2C.X)(@;B
M'5$SYXR2FH$;?PK=,-61)#L9NH3_,P<F;OI$Z*JN`9,6NBY#]M42H![_8^AR
M5H-PP>6TO&Y"SP_%^J)K&2QGD5G/H8$;`B4@AWN"02/G4""#(5'F[LLPAV)Q
M"1+`#+'-(&NPRKSN"Z7`D-L1)JLUY-L8:@Q4CQZJW[`9.'4#Y82?_N/+GX:&
M-P>Z!W*_1BQVS_S0?N$%*"78<='ED)$)-8_M;/08:V(SP]RPI-"EPIAYEHF0
MA!%=M#@BZ`436!M&4TIZ<:P0!">2B=D`!2V(C8V0Q$N^.9JJ9\[&6S<<;U_0
M/)]-_)+H967$1EGB:2A;J%62AU8QCL-Y5IX/0HS0*P@;Z>Y*B,:*K!8I`O6)
M1)*VCR#9K2ZO&F:`[7J67#=DV-`0>%S[R400'\@V/(K[_6"Z!%OH&LYZC8FU
M`3,4HV3JC`5#H&3ATG`$(#[KI&F8(89H<?%G%(P18N#JN'H>UPD^^,?97%X3
MVQQ:UY4,I5`TX\T)#,<XRPQ?=Z0`3XO+PMRN%`KSPKZ(.X2HI%^+N]?MJ7_]
M_Q+.Z#@.1C'0'R5=R^8R9JI/&<3I5=(I5W.6E":[BG5`!H)ZHQT%W1)F=WR3
MPGZGI<.^K1$SO<`3?"+Q4J!N."/A[NZ[")9T-T(LBK=`CM9<%N9ASKP@B:H'
ML"R-$H"09:\6:?^)/&&JNAGL=&!:CVY+^/H`-P+@1Y"&21N#$[I;8J/X)`%_
MN=5$)5JB!!.\^RV?88+=27U(XL"Z;Y\&*5`5:0*Z+7D-78B+-:A[#;[(ILA@
<"&B0ED&WE:)9P<5"5<F?$1C1_P%!%&E"0"0`````
`
end


477 :472:02/02/27 01:24
>>474
|´∀`)∩ < いただきました。試してみた限りでは問題なく動いているようです。

>>473
|)彡サッ

478 :名無しさん@お腹いっぱい。:02/02/27 02:11
dmacro を XEmacsに対応させた者です。

改訂版 dmacro 利用時の注意ですが、FSF Emacs で Meta key を
含んだキー(例えば M-C-r) を指定する場合には "\C-\M-r" じゃなくて
ベクトルで [(control meta r)] のように指定しないとダメです。
XEmacs の場合には問題無いと思います。
キーをどのように表現するかは
http://tiny-tools.sourceforge.net/emacs-keys-body.html
でも参考にしてください。
# どなたか dmacro-key の設定するコード、綺麗にしてくれませんか?

# 結局 XEmacs で動かなかったのは execute-kbd-macro した場合の
# recent-keys() の挙動が違うからでした。
## dmacro は recent-keys を利用するので、edebug が使えず疲れた。


479 :474:02/02/27 18:52
>>478
お、解説どうもです。

# これを正式に発表する場を考えないと
# いけませんなあ。ML にうもれっぱなしじゃ
# もったいないので。

480 :仕様書無しさん:02/03/09 16:48
あげ

481 :名無しさん@お腹いっぱい。:02/03/10 14:57
保全 sage

482 :名無しさん@お腹いっぱい。:02/03/16 22:33
保守sage

483 :名無しさん@お腹いっぱい。:02/03/17 15:36
こんなんどうですか?完璧じゃないけど、まー使える感じ。
(super k)に割り当てて使ってます。

(defun my-kakasi-JH ()
(interactive)
(let* ((w (read-string "kanji: " (current-word)))
(buf (concat "*kakasi-JH*")))
(switch-to-buffer buf)
(shell-command (concat "echo \"" w "\" | kakasi -JH") buf)))

カーソルを読めない漢字のところにもってきて M-x my-kakasi-JH
鏑木 鯨 海豚 成程

484 :名無しさん@お腹いっぱい。:02/03/17 15:52
>>483
サンキュ age

485 :名無しさん@お腹いっぱい。:02/03/17 21:06
>>483
ちょい改造

(defun display-ruby-on-minibuffer ()
(interactive)
(shell-command (concat "echo \"" (current-word) "\" | kakasi -JH"))
)


486 :名無しさん@お腹いっぱい。:02/03/17 23:16
>>483
>>485

まじでありがとう。

487 :名無しさん@お腹いっぱい。:02/03/17 23:21
Muleと同じだよね?

488 :名無しさん@お腹いっぱい。:02/03/17 23:44
>>487
何が?

489 :名無しさん@お腹いっぱい。:02/03/18 00:24
まぁだいたい同じだね。


490 :483:02/03/18 14:53
>>484 調子に乗って機能拡張を考える
>>485 シンプルなコードを見て目から鱗が落る
>>487 泣く

491 :ななししさん@おはらいっぱい。:02/03/19 06:42
……うーん。


492 :485:02/03/19 12:31
シンプルっつ−か、新しいバッファをつくるよりminibufferで十分だと思っただけ。
機能が減ったらコ−ドも減るって。



493 :名無しさん@お腹いっぱい。:02/03/19 13:22
(autoload 'save-buffer-to-pilotdoc "pilot-doc" nil t)

日本語が使える様に
diff pilot-doc.el.orig pilot-doc.el
122a123
> (set-buffer-file-coding-system 'japanese-shift-jis)


494 :名無しさん@お腹いっぱい。:02/03/19 16:03
pilot-doc-docname も encodep-coding-string した方が

495 :483 = 490:02/03/20 03:31
2chなのにフォローされてる。今度は違う意味で泣きそーだ(ぉぃ

伽藍とバザールを思い出した。
> 何を書けばいいかわかってるのがよいプログラマ。なにを書き直せば(そし
> て使い回せば)いいかわかってるのが、すごいプログラマ。
> 「完成」(デザイン上の)とは、付け加えるものが何もなくなったときでは
> なく、むしろなにも取り去るものがなくなったとき。

496 :493:02/03/20 15:15
>>494
あ、titleの事忘れてた。ありがと。

diff pilot-doc.el.orig pilot-doc.el
115c115
< (pilot-doc-docname title)
---
> (pilot-doc-docname (encode-coding-string title 'japanese-shift-jis))

こんな感じかな。

497 :名無しさん@お腹いっぱい。:02/03/23 23:34
期待age

498 :名無しさん@お腹いっぱい。:02/03/25 07:31
begin 664 himark.patch.gz
M'XL(`')2GCP``]U637/:,!`]EU^QPZ&QQYAB$@@AAZ8?F?:23"?-3'M5[`4T
MM25'EDG27]^59`,&NTE[C&?`8.VNWNZ^?588AH`I+_)W*YXQ]6N(Z5"JY9LK
M*>"**1A/8#2=1Z?SXQF,1Z-Q+PB"?8>&\>D\BN:3D3.^N(#P9#R80D#?,[BX
MZ$$/SL_/X9-,<$Y_`N]AA0*\!3)=*LSAZ!$S%A=^+P#P%-Z77"$<R36JE#WY
M?@^\7,DU3^BAV]\W(;T$%VL"X!Z%E7E(,#4(GEH<D_$@&D,P.1F,3RR2#J<%
MBVWPY2JEC^X!0/^:90AR`7;-NR^EQ@2*I^Q.ICYH"66!L)!UJ&'?@`I-_%+4
MX4M1H`;/[X44[P8SVJY:@FIGX`+TBA=P5RX6J(9]8^IQH5&Q6/,U6E\J&$^Q
M+5.S"B:K%#76*^#%[77Q_<J>8-VW%LZ+DPY/\@U:LWLK<\VE8"D4FBD-*!+;
MR9<EW`M^&#(H7%(,H.<N[0'(G$J@JX<*"ZUX;#I`E7?&5*N@62OP4@.H"6/O
M\OBB@WDM5T54MU_H-@GS+NNZKF[_VNN.;D)PL>QV<Q<!WC@9\'Z[0X6)D;56
M3!0<A0YM/S*:+["_:NIT9/7_*`\P=FV1H,7`B)1V8%LMO5*D6!0.2GNRNU!S
MR4VJ7/P-HT586;+'CGTMU;<T<49>(MT(R+7Y6+86(=%UQ]`%VQ\WN38A*DG:
MS@?5"1]S6R]S;YT3BM;_6LL.L#0%&<>E4BAB*SXWEU\N?WX;PL<GH-BL3'4U
M&+1J!@FMS$VG@V@$P6PTB"96YIZ;B\.ZD3YG)66_(F*1U%3S>(>D<.8?2X@;
M0+7G;FYIC/-2M\>1!$L]<))'^E%'RFR"*T9H8MICB8F3HF9C_H';A][/,KO-
M98<U#5ZWAC]@]6L4&.J@]]N`#G?2=6ZO39):K)P$&,*'YI5#I.]7\TLO'C?8
M\_?]-E=W-50%*CH(6<F-WZ5H9&P&>38>G$(0C:+!V>:XTA`4,TI>IWYLIE8_
M('7D^^V'FULP;;F\_DRO2]B3A;[JN^.%P6C,=E>)AB_J9I=SHPVV`H=3T31Z
M=K?.3MK,K,99\<[8KZTX[S<$-N(>DH*1=L.1/>&UG`A=3\Y<3Z+CCI[$FN2,
M)+.[+;&DR@A=&$'?VM==LJ<C4T#+AE??INKU%=*X;FMQM%]-.G0*W/;.'.CM
+*_8/LX'_(KL,````
`
end

オリジナルでなくて御免。


499 :名無しさん@お腹いっぱい。:02/03/27 23:41
ありがとうございます。
頂いておきます。

500 :名無しさんのEmacs:02/03/28 03:36
某キーボードスレを見て
;; vi 風に
(define-key global-map [(super h)] 'backward-char)
(define-key global-map [(super j)] 'next-line)
(define-key global-map [(super k)] 'previous-line)
(define-key global-map [(super l)] 'forward-char)

;; nethacker 向けに斜め移動(たまにおかしい)
(define-key global-map [(super y)] (lambda ()
(interactive) (backward-char) (previous-line 1)))
(define-key global-map [(super u)] (lambda ()
(interactive) (forward-char) (previous-line 1)))
(define-key global-map [(super b)] (lambda ()
(interactive) (backward-char) (next-line 1)))
(define-key global-map [(super n)] (lambda ()
(interactive) (forward-char) (next-line 1)))

使ってるととても混乱します。super k のつもりが C-k とか。C-h とか。で、
いつのまにか C-n 押してたりとか。そして super n で navi2ch が動きだし
たりとか。イライラ。逆ギレ。こんなもんいるかー。クシャクシャ。ポイッ。
誰か使う?(バキ


501 :名無しさん@お腹いっぱい。:02/03/29 05:42
>>500
これはメチャクチャ混乱しそうだな。

502 :名無しさん@お腹いっぱい。:02/03/29 12:00
人間の脳みそには干渉って現象があるからな。
super h を押そうとすると、C-hにも刺激が伝わって、
ついいつも押してる C-hを押してしまうような。
super n ってのもなかなか典型的な間違いで面白し。

UIをつくるときには、指に物理的限界があるように
脳にも認知的限界があるということを意識してつくるべし。
って、emacsつかいがいうことばではないか...


503 :名無しさん@お腹いっぱい。:02/03/29 15:02
(setq manual-program "jman") したときに
manページの表示が ^H だらけになってしまうのを回避する elisp を
どこかで見たのですが忘れてしまいました。

どなたか教えてくだちゃい。


504 :名無しさん@お腹いっぱい。:02/03/29 15:33
Man-fontify-buffer (ウロ)
ん?でもこれを通った上で ^H マンセー状態なのか?
下げとく〜。

505 :名無しさん@お腹いっぱい。:02/03/29 16:07
M-x Man-fontify-manpage はしてみました。
でも小見出し(?)のボールド体のところに ^H がマンセーなのれす...(欝
Emacs-20.x だけの現象らしいのですけど。

506 :名無しさん@お腹いっぱい。:02/03/29 17:28
「いやぜんぜんウロ&テキトーです〜^^;」とことわりつつ

日本語groffの日本語文字に対する下線か反転(あるいはイタ
リック/ボールド)のどっちか、のつけ方がマズーな記憶がある。
確かイタリックの方がマズーだったと思う。
だから壊れたフォーマット済みマニュアルの可能性あり。
(話が明後日...の可能性もあり)
あと、その^Hあたりの話ってtermcapがらみ、文字コードがらみ
となかなかレガシーな話でなんともかんとも...
ヤバ、スレ違いポイ。そんならエイ!

「日本語manpageの読めるelisp自慢をキボーン!」


507 :名無しさん@Meadow:02/03/29 22:12
昔fjでもらったもの。どう? しかし21.xでは要らなくなっていたとは…

(setq Man-see-also-regexp "SEE ALSO\\|関連項目"
Man-first-heading-regexp
"^[ \t]*\\(NAME\\|名前\\)$\\|^[ \t]*No manual entry fo.*$")
(defun Man-fontify-manpage ()
"Convert overstriking and underlining to the correct fonts.
Same for the ANSI bold and normal escape sequences."
(interactive)
(message "Please wait: making up the %s man page..." Man-arguments)
(goto-char (point-min))
(while (search-forward "\e[1m" nil t)
(delete-backward-char 4)
(put-text-property (point)
(progn (if (search-forward "\e[0m" nil 'move)
(delete-backward-char 4))
(point))
'face Man-overstrike-face))
(goto-char (point-min))
(while (search-forward "_\b" nil t)
(backward-delete-char 2)
(put-text-property (point) (1+ (point)) 'face Man-underline-face))
(goto-char (point-min))
(while (search-forward "\b_" nil t)
(backward-delete-char 2)
(put-text-property (1- (point)) (point) 'face Man-underline-face))
(goto-char (point-min))
(while (re-search-forward "\\(.\\)\\(\b\\1\\)+" nil t)
(replace-match "\\1")
(put-text-property (1- (point)) (point) 'face Man-overstrike-face))
(goto-char (point-min))
(while (re-search-forward "o\b\\+\\|\\+\bo" nil t)
(replace-match "o")
(put-text-property (1- (point)) (point) 'face 'bold))
(goto-char (point-min))
(while (search-forward "__\b\b" nil t)
(backward-delete-char 4)
(put-text-property (point) (progn (forward-char) (point))
'face Man-underline-face))
(goto-char (point-min))
(while (re-search-forward "\\(\\cj\\)\\(\b\b\\1\\)+" nil t)
(replace-match "\\1")
(put-text-property (- (point) 3) (point) 'face Man-overstrike-face))
(goto-char (point-min))
(while (re-search-forward "[-|]\\(\b[-|]\\)+" nil t)
(replace-match "+")
(put-text-property (1- (point)) (point) 'face 'bold))
(Man-softhyphen-to-minus)
(message "%s man page made up" Man-arguments))


508 :505:02/03/29 22:52
↑で出来ました。ありがとう。

でも、どこにおいて良いか分からないので、とりあえず ~/.emacs の中で
Man-Cooked-hook で呼ぶようにすますた ...


509 :名無しさん@Meadow:02/03/30 00:11
>>508
defunの前に(require 'man)でいいんでない?

別のネタ。

(add-hook 'post-command-hook
'(lambda ()
(set-cursor-color (if mw32-ime-state "gold" "gray90"))))

Canna, Wnnでも似たようなことしてたけど、Emacs21.x, tamago-current, Gnus5.9
の組み合わせだとなぜかうまくいかん。

510 :名無しさん@お腹いっぱい。:02/03/30 02:58
縦分割ウィンドウで,ウィンドウ移動時に横幅を自動的に変更する。
0.65とかなってる数字は,ウィンドウ全体から見た,1つのウィンドウの大きさの割合です。
これで縦分割使って全画面emacsで作業するようになりました・・・


(defun my-other-window() ""
(interactive)
(setq truncate-lines t)
(other-window 1)
(setq truncate-lines nil)
(let ((max-width (truncate (* (screen-width) 0.65))))
(if ( < (window-width) max-width)
(enlarge-window-horizontally ( - max-width (window-width))))))


511 :Emacsマンセー:02/03/30 11:44
保守age

~/.emacs

(setq 逝ってよし t)


512 :名無しさん@お腹いっぱい。:02/03/30 12:04
日本語を使えたとは...


513 :506:02/03/31 00:02
うお?!キボーンと書いてすぐに来た!
507はイイ奴にケテーイ!

514 :507,509:02/03/31 04:10
>>513 さんきゅ。

もう一個、日本人のモードラインにはこれ。

(defconst dayname-to-youbi
'(("Mon" . "月")("Tue" . "火")("Wed" . "水")("Thu" . "木")
("Fri" . "金")("Sat" . "土")("Sun" . "日")))
(setq display-time-string-forms
'((format "%s月%s日(%s)%s:%s"
month day (cdr (assoc dayname dayname-to-youbi))
12-hours minutes)))


515 :名無しさん@お腹いっぱい。:02/03/31 05:13
;; Info では frame-title に詳しい情報を

;; for FSF Emacs
(add-hook 'Info-mode-hook
#'(lambda ()
(make-local-variable 'frame-title-format)
(setq frame-title-format
(concat "*info* ("
(file-name-nondirectory
(if (stringp Info-current-file)
Info-current-file
(or buffer-file-name "")))
") "
Info-current-node))))
(add-hook 'Info-selection-hook
#'(lambda ()
(setq frame-title-format
(concat "*info* ("
(file-name-nondirectory
(if (stringp Info-current-file)
Info-current-file
(or buffer-file-name "")))
") "
Info-current-node))))

;; for XEmacs
(add-hook 'Info-startup-hook
#'(lambda ()
(make-local-variable 'frame-title-format)
(setq frame-title-format
(concat "*info* ("
(file-name-nondirectory
(if (stringp Info-current-file)
Info-current-file
(or buffer-file-name "")))
") "
Info-current-node))))
(add-hook 'Info-select-hook
#'(lambda ()
(setq frame-title-format
(concat "*info* ("
(file-name-nondirectory
(if (stringp Info-current-file)
Info-current-file
(or buffer-file-name "")))
") "
Info-current-node))))

ちょっとは嬉しくなったでしょ?


516 :名無しさん@お腹いっぱい。:02/04/02 20:48
.emacsじゃないけどちょっとしたtips。
C-x C-fした時に
~/を
~//
なんて/を2個以上連続させればそれは
/
と指定したと同じになる。
だから
~/
からC-h C-hなんてしなくてもいい。
まぁ、$HONE以外のファイルをEmacsで開く事なんてないのかな。

それと誰かミニバッファでzshのようにC-wで
~/test/aaa.txt

~/test/
にする方法知らない?
C-[ C-hでは出来るんだけど…。

517 :あー、いらいら:02/04/02 21:42
http://namazu.org/~satoru/diary/?200203c&to=200203271#200203271


518 :名無しさん@お腹いっぱい。:02/04/02 22:06
>>516 それと誰かミニバッファでzshのようにC-wで

backward-word()と kill-region()を
組み合わせればいいのでは?
ミニバッファのkey-mapは知っていますよね?


519 :名無しさん@お腹いっぱい。:02/04/03 02:51
>>517
それ、特にセンスを感じなかった。普段は割と面白いのに…。

>>518
> ミニバッファのkey-mapは知っていますよね?
そういえば minibuffer の事は良く分らんなぁ。
未だに minibuffer から(XEmacs みたく) C-TAB で other-window
するように設定できてない。


520 :519:02/04/04 19:20
なんだ、
(add-hook 'minibuffer-setup-hook
#'(lambda ()
(local-set-key [(control tab)] 'other-window)))

でいいのか。minibuffer は初期化される事に注意する必要があるのね。


521 :名無しさん@お腹いっぱい。:02/04/04 19:45
質問スレじゃないって怒られるは承知ですが

>>51
この方法教えてください。

522 :名無しさん@お腹いっぱい。:02/04/04 20:34
>>521
emacs スレで apel 入れたいんだけど、って聞けばいいじゃん。
% make install はい、おしまい。



523 :名無しさん@お腹いっぱい。:02/04/04 21:09
>>522
すまん、スゲー間違い
>>51じゃなくて>>518だった。


524 :他人:02/04/04 21:13
>>516
520を参考に

(add-hook 'minibuffer-setup-hook
'(lambda ()
(local-set-key "\C-w" 'backward-kill-word)))

とやってみた。これでできているように思えるけどダメれすか?

525 :名無しさん@お腹いっぱい。:02/04/04 21:31
>>524
サンコス。


526 :名無しさん@お腹いっぱい。:02/04/04 22:20
(add-hook 'minibuffer-setup-hook
#'(lambda ()
(when (string-match "find-" (symbol-name this-command))
(local-set-key "\C-w" #'backward-kill-word))))
こうかな?


527 :518:02/04/04 23:17
ん? minibuffer-local-mapとかじゃないの?
試してないけど。


528 :518:02/04/04 23:21
(define-key minibuffer-local-completion-map "\C-w" 'backward-kill-word)
でした。

529 :名無しさん@お腹いっぱい。:02/04/06 06:26
yank-popの反対。
C-yのあとM-yして逆向きに戻りたくなったとき使う。

(defun my-yank-pop-reverse (&optional arg)
"Replace just-yanked text with more recent item in kill-ring."
(interactive)
(yank-pop (- (or arg 1))))
(global-set-key "\C-\M-y" 'my-yank-pop-reverse)


530 :名無しさん@Emacs:02/04/06 14:39
拡張子が html の場合のみ自動改行を禁止するには
どう書いたらよいでしょうか

531 :名無しさん@お腹いっぱい。:02/04/06 14:58
>>530
そーいうのは emacsスレで。ここは依頼スレじゃないし。
yatex-mode とか html-helper-mode(?) 使えばいいでそ。


532 :名無しさん@Emacs:02/04/06 15:13
>>531
すみません。逝って来ます。
# yatex-modeもyahtml-modeも自動改行されるんですけど

533 :名無しさん@Emacs:02/04/06 15:14
自動改行ってなに?

534 :名無しさん@お腹いっぱい。:02/04/06 22:37
ちゃんと自慢しろよ

535 :名無しさん@お腹いっぱい。:02/04/06 22:41
>>529
逆向きに戻りたくなったら、C-gしてM-yじゃダメなんでしょうか?


536 :529:02/04/07 06:19
>>535
> 逆向きに戻りたくなったら、C-gしてM-yじゃダメなんでしょうか?

いまひとつよくわからないので、もう少し詳しく教えてください。
C-y M-y M-y ... M-y で C-g すると Quit と表示されて、
次に M-y してもダメなんですけど。
そういうことではない?


537 :名無しさん@お腹いっぱい。:02/04/07 14:14
>>536
ごめん、undoとごちゃごちゃになっていた。(-_-)ウツダ

538 ::02/04/08 11:17
brose-kill-ring.el とか

539 :名無しさん@Emacs:02/04/09 10:55
今開いてるファイルをブラウザで開く
# 作成中のWebページ等のプレビュー用に.

w3m-elで閲覧:
;; Browse current-buffer-file using w3m-el
(defun w3m-browse-current-file ()
(interactive)
(w3m (concat "file:/" buffer-file-name)))

mozillaで閲覧:
;; Browse current-buffer-file using mozilla
(defun mozilla-browse-current-file ()
(interactive)
(browse-url-mozilla (concat "file:/" buffer-file-name)))

・・・と思ったけどmozillaのほうは動いてない.
そもそもbrowse-url.elcが腐ってるのか
M-x browse-url 系は遅かれ早かれ
Wrong type argument: stringp, nil
とエラーが出て全滅してしまう.

どなたか解決策教えてくだされ.

540 :名無しさん@お腹いっぱい。:02/04/09 14:51
自慢してください。


541 :名無しさん@Emacs:02/04/09 15:03
omaemona( ´∀`)

542 :名無しさん@Emacs:02/04/13 01:54
woman用
;; 常識かな?

;; 初回起動が遅いので cache 作成。
(setq woman-cache-filename (expand-file-name "~/.woman_cache"))

;; 新しく frame は作らない。
(setq woman-use-own-frame nil)


543 :名無しさん@お腹いっぱい。:02/04/19 19:15
;; 久しぶりに...

(add-hook 'dired-mode-hook
#'(lambda ()
(let* ((dir default-directory)
(len (length dir))
(lim 25))
(setq mode-line-buffer-identification
(if (> len lim)
(concat "*" (substring dir (- len (1- lim)) len))
dir))
(set-text-properties 0 (length mode-line-buffer-identification)
`(face bold help-echo ,dir)
mode-line-buffer-identification)
(make-local-variable 'frame-title-format)
(setq frame-title-format dir))))

どうよ?


544 :名無しさん@お腹いっぱい。:02/04/20 14:40
>>543
mode-lineにディレクトリ名を表示し、
C-x C-fとかした時のfaceを変更し、
フレームタイトルにディレクトリ名を表示しているってことで良いですか?

オレはシンプル(?)にこうかな。
フレームタイトルにホスト名とファイル名を表示させている。

(setq frame-title-format
`(
"(HOST::" ,(downcase (car (split-string (system-name) "\\."))) ") "
"(FILE::%f) "))



545 :543:02/04/20 15:15
>>544
> mode-lineにディレクトリ名を表示し、
dired の時はフルパス(あんまり長いときは省略)が欲しかったので。

> C-x C-fとかした時のfaceを変更し、
?? ふつうにディレクトリの表示を bold にしたかっただけです。

ところでホスト名表示って嬉しいのですか? よく分らん。まぁそうなのかも...

ちなみに普段は
(setq frame-title-format
'(buffer-file-name ("%b [ " buffer-file-truename " ]")
("%b")))
です。XEmacs では buffer-file-truename で $HOME が ~ にならないので
find-file-hooks, after-save-hook で (abbreviate-file-name buffer-file-name)
を別の変数に設定して利用してます。

ところで、Emacs21 では mode-line-format に (:eval FORM) が使えるようになった
らしいのですが、使い方が悪いのか効きません。誰か教えてください。
あと、どういうタイミングで re-eval され更新されるのだろうか。
;; risky-local-variable が求められるようになったのは、これと関係がある?


546 :543:02/04/21 00:08
>>544
> C-x C-fとかした時のfaceを変更し、
ごめん、いまごろ気付いた。
(なんせ昨日作ったばっかりだし、あまりdired 使わないので...)

で、Emacs21 らしく propertize 使えば楽なんだけど、それじゃ悔しいので

(add-hook 'dired-mode-hook
#'(lambda ()
(let* ((dir default-directory)
(len (length dir))
(lim 25)
tmp-str)
(setq tmp-str
(if (> len lim)
(concat "*" (substring dir (- len (1- lim)) len))
(copy-sequence dir))) ; copy-sequence がキモ
(set-text-properties 0 (length tmp-str)
`(face (:weight bold) help-echo ,tmp-str)
tmp-str)
(setq mode-line-buffer-identification
(list tmp-str)) ; list する必要あるの??
(make-local-variable 'frame-title-format)
(setq frame-title-format dir))))

ところでこれまた今気付いたんだけど、Emacs21 で、dired で / を
開いた状態から別のディレクトリ辿ると /: が頭に付加されるので、
dired のバッファから C-xC-f でファイル補完が効きませんね。
cvs 版のみかな < この不具合


547 :名無しさん@お腹いっぱい。:02/04/21 00:51
>>546 > cvs 版のみかな < この不具合
Emacs-21.2だけど、そういう不具合は起こっていません。


548 :名無しさん@Meadow:02/04/30 04:21
TSP(Time Series Processor)を編集するTSP-modeって
やつがあると聞いたんですけど、どこにあるかご存知の
方はいらっしゃいますか?


549 :名無しさん@お腹いっぱい。:02/04/30 04:54
>>548 自分で作って自慢してください。じゃなければスレチ



550 :名無しさん@Emacs20:02/04/30 22:56
ええっと、browse-url-lynx-xtermの改造ともいえないくらい簡単な改造です。
w3m-browseだとちょっと反応が遅かったり、入力できないフォームがあったり
するんでやりました。w3mが画像も表示できるようになったので結構快適です。

(setq browse-url-browser-function 'browse-url-w3m-xterm)
(setq browse-url-xterm-program "kterm")
(setq browse-url-xterm-args '("-geometry" "80x30+40+20"))
(defun browse-url-w3m-xterm (url &optional new-window)
;; new-window ignored
(interactive (browse-url-interactive-arg "w3m URL: "))
(apply #'start-process `(,(concat "w3m" url) nil ,browse-url-xterm-program
,@browse-url-xterm-args "-e" "w3m" ,url)))



551 :名無しさん@お腹いっぱい。:02/04/30 23:35
>>550
これ、ひとつの w3m にどんどん次の url を送り込めるといいね。
上野さんの xtc でいけるかな?


552 :名無しさん@お腹いっぱい。:02/05/03 04:25
起動時に .emacs.el と .emacs.elc の日付を比べて
更新されていればコンパイルして再起動するよう

553 :名無しさん@Emacs20:02/05/04 09:50
>551

これxtcと付属のbrowse-url-x3m-xtc.elがあればいけそうっすね。




最初xtcだけで検索したらパンクバンドが一杯でてきて鬱だった。


554 :名無しさん@Emacs20:02/05/04 13:18
>553

自己フォロー

emacs20.7でREADMEにあるとおりだけでやったら、
browse-url-maybe-new-windowが無いって怒られました。鬱だ。

調べたらemacs20系では1999-01-19に無くなったfunctionやった

emacs21系には2001年に追加されてるのに、何故だ。

既存のプロセスが有るか無いかの判断が一番面倒なのになあ。20系では何か別
の名前で動いてるのかなあ。


555 :名無しさん@Emacs20:02/05/04 22:12
スレ違いになりそうなのでsage & これでやめます。

>554

15,15
< (if (or (browse-url-maybe-new-window new-window)
---
> (if (or new-window

でemacs20でもbrows-url-w3m-xtcが動きました。


556 :名無しさん@お腹いっぱい。:02/05/10 15:46
別に自慢のじゃないけど、こっちのほうが適切? と思ったので。

find-file-read-only ってさ、
(defun find-file-read-only (filename &optional wildcards) ...)
ってなってるくせに wildcards 対応してないやんね。

(defun find-file-read-only (filename &optional wildcards)
"Edit file FILENAME but don't allow changes.
Like `find-file' but marks buffer as read-only.
Use \\[toggle-read-only] to permit editing."
(interactive "FFind file read-only: \np")
(let ((value (find-file-noselect filename nil nil wildcards)))
(if (listp value)
(mapcar #'(lambda (buf)
(prog1
(switch-to-buffer buf)
(toggle-read-only 1)))
(nreverse value))
(switch-to-buffer value)
(toggle-read-only 1)
(current-buffer))))

たぶん大丈夫と思うけど。
俺は view-read-only な人なので find-file-read-only が好きです。


557 :名無しさん@お腹いっぱい。:02/05/11 11:34
自慢にもなにもなりゃせんが、便利そう。

;; 手軽に elisp を試す
(defun my-add-load-path ()
(interactive)
(add-to-list 'load-path default-directory))


558 :名無しさん@お腹いっぱい。:02/05/11 21:55
1行スクロールアップだけじゃ芸がないので、
2つのWindowを同時にスクロールできるオプションを...(以下略)

(defun scroll-up-one-line (num &optional both)
"1行スクロールアップします。
bothが non-nilの場合は、両方のWindowがスクロールアップします。"
(interactive "p")
(scroll-up num)
(if both (scroll-other-window num)))

(defun scroll-down-one-line (num &optional both)
"1行スクロールダウンします。
bothが non-nilの場合は、両方のWindowがスクロールダウンします。"
(interactive "p")
(scroll-up-one-line (- 0 num) both))


559 :名無しさん@Meadow:02/05/11 23:40
google使いたいんですけど、うちでも

> Symbol's function definition is void: lookup-current-word

コレ出ます(lookup1.3)。無論、lookupはautoloadしてますよ。

lookup-1.3にはlookup-current-wordがない????
だもんで、1.99.1を取ってきて、./configureしてmakeすると、こんどは

> Symbol's function definition is void: mapc
> Signal 127
> make[1]: *** [lookup.elc] Error 255

こんなん出てダメだよ〜。
WinXPでMeadow1.15preでcygwinです。

560 :名無しさん@お腹いっぱい。:02/05/12 00:37
>>559
マルチやめれ

561 :名無しさん@お腹いっぱい。:02/05/12 01:39
>>559 autoload って、lookup-pattern とかを autoload してるだけでそ? どうせ。
それじゃ、lookup-current-word がいきなり呼ばれた時は対応できん。
つーか、これぐらい切り分けできぬ野郎の出入りしていいスレではないわ!!


562 :559:02/05/12 03:16
>>561
おかげさんでMeadowでも動いたよ。
regionがある場合はregionからワードを取ってくるように改造してくだせい。

■Googleまとめ版 その1

;; replace-in-string (MeadowとかのEmacs20系には必要)
(defun replace-in-string (str regexp newtext &optional literal)
"Replaces all matches in STR for REGEXP with NEWTEXT string,
and returns the new string.
Optional LITERAL non-nil means do a literal replacement.
Otherwise treat \\ in NEWTEXT string as special:
\\& means substitute original matched text,
\\N means substitute match for \(...\) number N,
\\\\ means insert one \\."
;;; (check-argument-type 'stringp str)
;;; (check-argument-type 'stringp newtext)
(let ((rtn-str "")
(start 0)
(special)
match prev-start)
(while (setq match (string-match regexp str start))
(setq prev-start start
start (match-end 0)
rtn-str
(concat
rtn-str
(substring str prev-start match)
(cond (literal newtext)
(t (mapconcat
(lambda (c)
(if special
(progn
(setq special nil)
(cond ((eq c ?\\) "\\")
((eq c ?&)
(substring str
(match-beginning 0)
(match-end 0)))
((and (>= c ?0) (<= c ?9))
(if (> c (+ ?0 (length
(match-data))))
;; Invalid match num
(error "Invalid match num: %c" c)
(setq c (- c ?0))
(substring str
(match-beginning c)
(match-end c))))
(t (char-to-string c))))
(if (eq c ?\\) (progn (setq special t) nil)
(char-to-string c))))
newtext ""))))))
(concat rtn-str (substring str start))))

563 :559:02/05/12 03:17
■Googleまとめ版 その2

(require 'browse-url)

(require 'lookup)

(defun google-encoding (str)
(setq str (encode-coding-string str 'shift_jis))
(let* ((len (length str))
(ret (make-string (* len 3) ?a))
(i 0) (j 0) char type)
(while (< i len)
(setq char (aref str i))
(if (< char 126)
(aset ret j char)
(aset ret j ?%)
(setq j (1+ j))
(aset ret j (aref "0123456789ABCDEF" (lsh char -4)))
(setq j (1+ j))
(aset ret j (aref "0123456789ABCDEF" (logand char 15))))
(setq i (1+ i) j (1+ j)))
(substring ret 0 j)))

; Super-g でカーソル近くの keyword を google で検索
(defun google (str option)
(browse-url
(concat
"http://www.google.com/search?q="
(replace-in-string (google-encoding str) " +" "+")
"&num=100"
option
)))

(defun google-ja (str &optional module)
(interactive (list (read-string "Google search: " (lookup-current-word))))
(google str "&hl=ja&lr=lang_ja"))

(defun google-all (str &optional module)
(interactive (list (read-string "Google search: " (lookup-current-word))))
(google str ""))

;; Superを無変換に
(w32-set-modifier-key "noconvert" 'super)

;; Super-g でカーソルの近くの 単語 をGoogleで検索
(define-key global-map [(super g)] 'google-all)

564 :名無しさん@お腹いっぱい。:02/05/12 06:43
>>562
regionがある場合って…、
一度C-SPCしたらreionは常にあるんじゃあ。

regionがあるサイズ以下ならそっから切り出す、
みたいな感じでどうよ?

(defvar google-current-word-max-region-size 20
"*検索単語を拾うとき、regionからの切り出しを行なう最大のサイズ。
検索単語をバッファから拾うときに、regionのサイズがこの値以下なら
regionの文字列を、それ以上なら`lookup-current-word'を使用する。")

;; 検索単語を拾う
(defun google-current-word ()
(let ((region-size (abs (- (point) (mark)))))
(if (and (not (zerop region-size))
(< region-size google-current-word-max-region-size))
(buffer-substring (point) (mark))
(lookup-current-word))))

(defun google-ja (str &optional module)
(interactive (list (read-string "Google search: " (google-current-word))))
(google str "&hl=ja&lr=lang_ja"))

(defun google-all (str &optional module)
(interactive (list (read-string "Google search: " (google-current-word))))
(google str ""))

おまけ

;; infoseek 辞書
(defun infoseek-jisyo (str)
(interactive (list (read-string "infoseek jisyo: " (google-current-word))))
(browse-url
(concat
"http://jiten.www.infoseek.co.jp/Kokugo?pg=result_k.html&col=KO&qt="
(replace-in-string (google-encoding str) " +" "+")
"&sm=1")))

565 :名無しさん@お腹いっぱい。:02/05/12 10:55
>>562
それって昔の XEmacs のか?
ちなみに Emacs21 には replace-regexp-in-string がある。

>>564
> >>562
> regionがある場合って…、
> 一度C-SPCしたらreionは常にあるんじゃあ。
>
> regionがあるサイズ以下ならそっから切り出す、
> みたいな感じでどうよ?

transient-mark-mode||zmacs-region を利用しては?
old style の人にはダメだけど。

566 :559:02/05/12 13:14
>>564
希望通りの動作をしております。
ありがとうございます。
>>565
replace-in-stringは、ここにあったのをパチってきました。
ttp://www.dotemacs.de/emacro/emacs/functions.html

僕はregionとtransientの違いを理解していないでありますが、
確かにtransient(暫定マーク)が検索対象になる方が便利な気がします。
(transient-mark-mode t)にしてます。

567 :名無しさん@お腹いっぱい。:02/05/17 14:29
Alt-半角/全角 で、eggをon/offさせたい。どうしてもさせたい。
教えれ。


568 :名無しさん@お腹いっぱい。:02/05/17 15:13
>>567 スレ違い。


569 :名無しさん@お腹いっぱい。:02/05/17 23:48
>>567
しかもマルチ
しかも押しにくいキーに割り当てようとしている

570 :名無しさん@Emacs:02/05/20 23:35
>>567
人にものを聞く態度じゃない。
しかも、ぐぐーるで見つかる。

571 :名無しさん@お腹いっぱい。:02/05/22 00:41
# かなり便利なのでたまには age で書こう。

(defvar my-window-config)
(defvar my-pos)
(defvar my-working-buf)

(defadvice lisp-complete-symbol (around restore-window activate)
(setq my-window-config (current-window-configuration))
ad-do-it
(setq my-working-buf (current-buffer)
my-pos (point))
(add-hook 'post-command-hook 'my-restore-window-hook))

(defun my-restore-window-hook ()
(when (and (eq (current-buffer)
my-working-buf)
(not (eq (point)
my-pos)))
(set-window-configuration my-window-config)
(remove-hook 'post-command-hook 'my-restore-window-hook)))

たった今作ったんだけど、なんでもっと早く作らなかったのかと
自分を小一時間問い詰めたい気分。


572 :名無しさん@お腹いっぱい。:02/05/22 00:50
>>571
できれば説明も加えて頂けませんか?


573 :571:02/05/22 00:59
elisp を書いてて関数とか変数を補完すれば分かるよ。
これを評価する前後で試して。


574 :572:02/05/22 01:44
>>573
なるほど。補間が終了したら、補間候補のウィンドウを閉じてくれるのね。


575 :名無しさん@お腹いっぱい。:02/05/22 13:14
(defun upcase-word-hack (p)
"Upcase last word if at eol and no ARG."
(interactive "p")
(upcase-word (if (eolp) (- p) p)))
(global-set-key "\M-u" 'upcase-word-hack)

(defun downcase-word-hack (p)
"Downcase last word if at eol and no ARG."
(interactive "p")
(downcase-word (if (eolp) (- p) p)))
(global-set-key "\M-l" 'downcase-word-hack)

(defun capitalize-word-hack (p)
"Capitalize last word if at eol and no ARG."
(interactive "p")
(capitalize-word (if (eolp) (- p) p)))
(global-set-key "\M-c" 'capitalize-word-hack)

576 :名無しさん@お腹いっぱい。:02/05/22 13:17
>>575
自慢されるからには作成した本人ですか?


577 :名無しさん@お腹いっぱい。:02/05/22 13:25
なわけねーだろ!

578 :名無しさん@お腹いっぱい。:02/05/22 13:30
自分が作ったのじゃなくてもいいよね。
procamailrcを編集する時に。

(defun procmail-mode ()
"Mode for highlighting procmailrc files"
(interactive)
(setq mode-name "Procmail"
major-mode 'procmail)

(require 'font-lock)
(make-local-variable 'font-lock-defaults)
(setq procmail-font-lock-keywords
(list '("#.*"
. font-lock-comment-face)
'("Return-Path:"
. font-lock-type-face) ; green
'("^[\t ]*:.*"
. font-lock-function-name-face) ; blue ?
'("[A-Z_]+=.*"
; '("[A-Za-z_]+=.*"
. font-lock-keyword-face)
'("^[\t ]*\\*.*"
. font-lock-doc-face) ; light brown
; '("\$[A-Za-z0-9_]+"
'("^[\t ]*ml\/"
. font-lock-builtin-face) ; violet
'("^[\t ]*from\/"
. font-lock-reference-face)
'("^[\t ]*junk\/"
. font-lock-constant-face) ; turquoize
'("^[\t ]*dm/"
. font-lock-warning-face) ; red
'("^[\t ]*not-found/"
. font-lock-variable-name-face) ; orange
'("^[\t ]*to/"
. font-lock-string-face) ; light brown
))
(setq font-lock-defaults '(procmail-font-lock-keywords t))
(font-lock-mode t) )


579 :名無しさん@お腹いっぱい。:02/05/23 11:47
即興。役に立つかは判らんが。
transient-mark-mode を普段は使ってないけど、小松さんの replace.el とかを使いたいときに。
使い方:
C-SPC を連続で叩くと transient-mark-mode をトグルする。
一回押すだけなら set-mark-mode。

(global-set-key [(control ? )] 'toggle-transient-or-set-mark)
(defvar toggle-transient-continuate-p nil)
(defun toggle-transient-or-set-mark ()
(interactive)
(if (eq last-command 'toggle-transient-or-set-mark)
(progn
(unless toggle-transient-continuate-p
(pop-mark)
(setq toggle-transient-continuate-p t))
(if transient-mark-mode
(transient-mark-mode 0)
(transient-mark-mode 1)))
(set-mark-command nil)
(setq toggle-transient-continuate-p nil)))


580 :名無しさん@お腹いっぱい。:02/05/26 18:18
XEmacs で wl とか w3m を使うときだけ toolbar を使いたかったので書いたんだけど、
どんどん縦幅が無くなっていってしまうのであまり役に立たなかったりする。

(defvar buffers-tab-visivle-p nil)
(make-variable-buffer-local 'toolbar-visible-p)
(make-variable-buffer-local 'buffers-tab-visivle-p)
(defadvice other-window (after other-window-specifier activate)
(customize-set-variable 'toolbar-visible-p toolbar-visible-p)
(set-specifier default-gutter-visible-p buffers-tab-visivle-p))
(defadvice set-window-buffer (after set-buffer-specifier activate)
(customize-set-variable 'toolbar-visible-p toolbar-visible-p)
(set-specifier default-gutter-visible-p buffers-tab-visivle-p))

581 :名無しさん@お腹いっぱい。:02/05/28 03:39
なんとなく >>518 あたりのを触ってみたら気持ちわるっ。
(add-hook 'minibuffer-setup-hook
(lambda ()
(local-set-key "\C-w"
(lambda ()
(interactive)
(if mark-active
(kill-region (region-beginning)
(region-end))
(backward-kill-word 1))))))
でもしばらく使ってみよう。


582 :名無しさん@お腹いっぱい。:02/06/08 10:54
Emacs Lisp から C や C++ で作った外部のライブラリをよびだすことはできるのでしょうか?

583 :名無しさん@お腹いっぱい。:02/06/08 11:05
>>582
できるけど、スレ違いです。ここは質問スレじゃないので。

584 :名無しさん@Meadow:02/06/13 00:54
前に出てたgoogle-encodingとかを使って
「フィールド」を検索しようとしたら、
うまくブラウザに渡らなかた。漏れだけ?
on Meadow-1.15pre1


585 :名無しさん@お腹いっぱい。:02/06/13 12:37
俺はGoogle関係の決定稿がどれなんだかわからず使えていない。
誰かまとめてくれたらうれしい

586 :名無しさん@お腹いっぱい。:02/06/13 17:06
決定稿かは知らないですが、自分の設定を載せます。
キーバインドして呼び出せば、リージョンが明示されてるなら
(マウスドラッグとか C-xC-x とか transient-mark-mode)
領域を切り出し、そうでなければ単語(チョッと嘘)を取り出します。

(require 'browse-url)
(require 'thingatpt)
;; w3m-url-encode-string の rename 版 (w3m.el を入れてないから)
(defun my-url-encode-string (str &optional coding)
(apply (function concat)
(mapcar
(lambda (ch)
(cond
((eq ch ?\n) ; newline
"%0D%0A")
((string-match "[-a-zA-Z0-9_:/]" (char-to-string ch)) ; xxx?
(char-to-string ch)) ; printable
((char-equal ch ?\x20) ; space
"+")
(t
(format "%%%02X" ch)))) ; escape
;; Coerce a string to a list of chars.
(append (encode-coding-string (or str "") (or coding 'iso-2022-jp))
nil))))

;; google で検索。引数無しだと mini-buffer で編集できる。
(defun google (str &optional flag)
"google で検索。引数無しだと mini-buffer で編集できる。"
(interactive
(list (cond ((eq last-command 'mouse-drag-region)
;; mouse drag の後で呼び出された場合
(car kill-ring))
((or (and transient-mark-mode mark-active)
(eq last-command 'exchange-point-and-mark))
;; region が活性 or point と mark を入れ替えた後の場合
(buffer-substring-no-properties
(region-beginning) (region-end)))
(t (thing-at-point 'sexp)))
current-prefix-arg))
(if flag
nil
(setq str (read-from-minibuffer "Search word: " str)))
(browse-url
(concat
"http://www.google.com/search?q="
(my-url-encode-string str 'shift_jis)
"&hl=ja&lr=lang_ja")))


587 :名無しさん@お腹いっぱい。:02/06/17 14:32
>>586
read-from-minibuffer というのは read-string とどうちがうのですか?

588 :名無しさん@カラアゲうまうま:02/06/17 14:52
ここは質問するスレではなく自慢するスレでございます。

589 :587:02/06/17 15:10
>>584
うちでは大丈夫です。うちは freebsd で xemacs です。
>>586
いま試してみているんだけど、今のところ動いてません。
emacs は何を使ってますか?

590 :名無しさん@カラアゲうまうま:02/06/17 18:35
>>587
知らない関数が出て来たらとりあえずdescribe-functionしる。

591 :名無しさん@お腹いっぱい。:02/06/17 18:49
どなたか、左右の改行マーク表示エリアを消す設定を自慢してください

592 :名無しさん@カラアゲうまうま:02/06/17 18:53
そんなエリアありません。えっへん。

593 :名無しさん@カラアゲうまうま:02/06/17 19:06
>>591
慣れれば便利でしょ。でも気になるなら、
左右の余白は fringe っていう名前だから、これで
infoを検索してみたら。消せるのか知らないけどね。

594 :名無しさん@お腹いっぱい。:02/06/17 22:30
>>591
そういうの反則。素直にEmacsスレで聞いて。お ね が い。

595 :名無しさん@Emacs:02/06/17 22:59
>>591
21.3.50使ってるなら

C-x fringe C-m none
又は
menu-barのOptions->Show/Hide
にfringeの設定があるぞ


596 :584:02/06/18 00:19
漏れが使ったのは>>564さんのgoogle-allほか。
で、「フィールド」をぐぐると、
http://www.google.com/search?q=%83t%83B%81
しか渡らない。elispの知識ないからよく分かんないな。
質問スレじゃないので、このぐらいにしときまス。


597 :名無しさん@お腹いっぱい。:02/06/18 01:59
頼むからここで新規質問したり、それに教えたり し な い で !!
投稿されたコードに関する質問は ok だけど。

あとからこのスレを読み返すときに普通の質問スレだったらウザいでしょ?


598 :名無しさん@お腹いっぱい。:02/06/18 06:03
あ、これはこれは、管理者の方でしたか。
すいませんでした。自粛します。

599 :586:02/06/18 12:36
xemacs でも動くようにしました。

動作確認
meadow-1.15pre1
ntemacs21.2
xemacs (on cygwin)

;; google で検索。引数無しだと mini-buffer で編集できる。
(defun google (str &optional flag)
"google で検索。引数無しだと mini-buffer で編集できる。"
(interactive
(list (cond ((or
;; mouse drag の後で呼び出された場合
(eq last-command 'mouse-drag-region) ; for emacs
(and (eq last-command 'mouse-track) ; for xemacs
(boundp 'primary-selection-extent)
primary-selection-extent)
;; region が活性
(and (boundp 'transient-mark-mode) transient-mark-mode
(boundp 'mark-active) mark-active) ; for emacs
(and (fboundp 'region-active-p)
(region-active-p)) ; for xemacs
;; point と mark を入れ替えた後
(eq last-command 'exchange-point-and-mark))
(buffer-substring-no-properties
(region-beginning) (region-end)))
(t (thing-at-point 'sexp)))
current-prefix-arg))
(if flag
nil
(setq str (read-from-minibuffer "Search word: " str)))
(browse-url
(concat
"http://www.google.com/search?q="
(my-url-encode-string str 'shift_jis)
"&hl=ja&lr=lang_ja")))


600 :600:02/06/18 21:46
600

601 :名無しさん@お腹いっぱい。:02/06/19 06:49
.emacs はどこのフォルダにあるのでしょうか…

602 :名無しさん@お腹いっぱい。:02/06/19 07:57
>>601
それは自慢ですか?
違うなら Emacsスレに逝ってください。

603 :587:02/06/19 22:09
>>599
xemacs で動きました。いいですね。
一つおもったのは thing-at-point というのは、例えば elisp のソース何かの上だとものすごく
大きな式とかでも持ってきてしまうようで、これがいいかどうか。
current-word とかはそこらへんを適当にやっているようです。

604 :名無しさん@お腹いっぱい。:02/06/20 01:41
site-lisp/subdirs.elの
(normal-top-level-add-subdirs-to-load-path)を自分用に改造してみました。
elisp-directoryとその中にあるディレクトリを全てload-pathに追加します。
ディレクトリRCS&CVSは追加しません。
パスを通したくないディレクトリには、.nosearchというファイルを置けば良いです。
(´-`).。oO(需要あるかなあ?)

(defvar elisp-directory (expand-file-name "~/lib/elisp")
"*自分の elisp-functionを入れておくディレクトリ")

(let (dirs
attrs
(pending (list elisp-directory)))
;; This loop does a breadth-first tree walk on DIR's subtree,
;; putting each subdir into DIRS as its contents are examined.
(while pending
(setq dirs (cons (car pending) dirs))
(setq pending (cdr pending))
(let ((contents (directory-files (car dirs)))
(default-directory (car dirs)))
(while contents
(unless (member (car contents) '("." ".." "RCS" "CVS"))
(when (and (string-match "\\`[a-zA-Z0-9]" (car contents))
;; Avoid doing a `stat' when it isn't necessary
;; because that can cause trouble when an NFS server
;; is down.
(not (string-match "\\.elc?\\'" (car contents)))
(file-directory-p (car contents)))
(let ((expanded (expand-file-name (car contents))))
(unless (file-exists-p (expand-file-name ".nosearch"
expanded))
(setq pending (nconc pending (list expanded)))))))
(setq contents (cdr contents)))))
(mapcar (lambda (dir) (setq load-path (cons dir load-path))) dirs))


605 :名無しさん@お腹いっぱい。:02/06/24 15:07
w3m-elでgooの辞書を使う。
>>586をパクりました。

;; 英和辞典
(defun eiwa-goo (str &optional flag)
(interactive
(list (cond ((eq last-command 'mouse-drag-region)
(car kill-ring))
((or (and transient-mark-mode mark-active)
(eq last-command 'exchange-point-and-mark))
(buffer-substring-no-properties
(region-beginning) (region-end)))
(t (thing-at-point 'sexp)))
current-prefix-arg))
(if flag
nil
(setq str (read-from-minibuffer "EXCEED英和辞典【検索語】: " str)))
(w3m
(concat
"http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT="
(w3m-url-encode-string str 'shift_jis)
"&sw=0")))

;; 和英辞典
(defun waei-goo (str &optional flag)
(interactive
(list (cond ((eq last-command 'mouse-drag-region)
(car kill-ring))
((or (and transient-mark-mode mark-active)
(eq last-command 'exchange-point-and-mark))
(buffer-substring-no-properties
(region-beginning) (region-end)))
(t (thing-at-point 'sexp)))
current-prefix-arg))
(if flag
nil
(setq str (read-from-minibuffer "EXCEED和英辞典【検索語】: " str)))
(w3m
(concat
"http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT="
(w3m-url-encode-string str 'shift_jis)
"&sw=1")))


606 :名無しさん@カラアゲうまうま:02/06/24 15:49
>>605 をパクりました。

;; 国語辞典
(defun kokugo-goo (str &optional flag)
(interactive
(list (cond ((eq last-command 'mouse-drag-region)
(car kill-ring))
((or (and transient-mark-mode mark-active)
(eq last-command 'exchange-point-and-mark))
(buffer-substring-no-properties
(region-beginning) (region-end)))
(t (thing-at-point 'sexp)))
current-prefix-arg))
(if flag
nil
(setq str (read-from-minibuffer "大辞林第二版【検索語】: " str)))
(w3m
(concat
"http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT="
(w3m-url-encode-string str 'shift_jis)
"&sw=2")))

607 :名無しさん@お腹いっぱい。:02/06/24 18:46
(setq w3m-search-engine-alist
(append '(("waei" "http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=%s&sw=1")
("eiwa" "http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=%s&sw=0"))
w3m-search-engine-alist))
こんな設定で、C-u M-x w3m-search じゃだめすか?

608 :名無しさん@カラアゲうまうま:02/06/24 19:03
>>607 をパクりました。

(setq w3m-search-engine-alist
(append '(("kokugo" "http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=%s&sw=2"))
w3m-search-engine-alist))

609 :名無しさん@お腹いっぱい。:02/06/24 21:39
お前ら常時接続うらやましいな。

610 :605:02/06/24 22:35
>>607-608
(・∀・)イイ!!と言いたいところだけど

Symbol's value as variable is void: w3m-search-engine-alist

なエラーが出て使えてません(涙

611 :名無しさん@お腹いっぱい。:02/06/24 23:04
(autoload 'w3m-search "w3m-search" "Search QUERY using SEARCH-ENGINE" t)


612 :611:02/06/24 23:14
エラーと関係なかった。スマソ。


613 :名無しさん@Meadow:02/06/24 23:20
>>610

(eval-after-load "w3m-search"
`(setq w3m-search-engine-alist
(append '(("waei" "http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=%s&sw=1")
("eiwa" "http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=%s&sw=0")
("kokugo" "http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=%s&sw=2"))
w3m-search-engine-alist)))

かな。

614 :610:02/06/25 01:21
>>613
それで大丈夫でした。thx!

ついでに
("eiei" "http://www.dictionary.com/cgi-bin/dict.pl?term=%s&r=67")
もappendかな。
発音記号にgif画像使ってるのがw3m派にはちょっと痛いけど。


615 :名無しさん@Emacs:02/06/26 10:56
コンピュータ用語辞典とかはないかな?

616 :名無しさん@Emacs:02/06/26 15:15
>>604
exciteの翻訳ページ
http://www.excite.co.jp/world/text/
を使えるようにってのは無理ですか?

617 :名無しさん@Emacs:02/06/26 16:20
>>615
ASCIIのweb


618 :名無しさん@お腹いっぱい。:02/06/28 13:15
generic.el 便利かも(標準で入ってる)。
例えば .hoge ってファイルは hoge-generic-mode にする。
コメントは % で始まる。
hoge fuga に色を付ける。
{{{[^}]+}}} な regexp に match した個所は太くする。
この mode に入ったときに hogehoge! って minibuffer に表示したい。
こんな mode を作りたいときにたったこれだけで作れちゃう。

(require 'generic)
(define-generic-mode 'hoge-generic-mode
'(?%) ; コメントの最初の文字
'("hoge" "fuga") ; 色を付けたい文字列のリスト
'( ; font-lock-keywords
("{{{[^}]+}}}" . bold))
(list "\.hoge") ; この mode を適用する拡張子
(list 'hoge-setup-function)) ; この mode に入ったときに呼ぶ関数

(defun hoge-setup-function ()
(message "hogehoge!"))


619 :ななしさん@お腹いっぱい:02/06/28 13:40
バッファ全体のインデントをやり直したいんだけど…こんなのでいいの?
一応動いているみたいなんだけど。

(defun delete-heading-spaces-and-indent-according-to-mode (begin end)
"Delete spaces at the head of line in the specified region."
(goto-char begin) (beginning-of-line)
(let ((i begin)(j 0))
(while (and (< i end)(= j 0))
(delete-horizontal-space)
(indent-according-to-mode)
(setq j (forward-line))
(setq i (point)))))

(defun indent-according-to-mode-region (begin end)
"Delete spaces at the head of each line in the region."
(interactive "*r")
(save-excursion
(delete-heading-spaces-and-indent-according-to-mode begin end)))

(defun indent-according-to-mode-buffer ()
"Delete spaces at the head of each line in the current buffer."
(interactive)
(save-excursion
(delete-heading-spaces-and-indent-according-to-mode
(point-min) (point-max))))

620 :名無しさん@お腹いっぱい。:02/06/28 13:50
>>619
C-x h M-C-\ じゃだめ?

621 :ななしさん@お腹いっぱい:02/06/28 14:25
そ、そんなのがあるんですか……
知らなかった…
てか、基本的なもの以外は覚えられません (T_T)

たとえばその C-x h M-C-\ がいったいなんていう関数を実行しているのかって、
どうやって調べるんだろう… いまからマニュアル紐解きます。

http://www.gnu.org/manual/emacs-lisp-intro/emacs-lisp-intro.html の途中までと
http://www.gnu.org/manual/elisp-manual-21-2.8/elisp.html の途中までしか読んでないんです。
http://www.gnu.org/manual/emacs-21.2/emacs.html はこれから。

はぁー果てしなく長い道のりだ…

622 : ◆ILHANTrk :02/06/28 14:42
# ちょっとスレチになってくるのが嫌なので返事不要。

>>621
C-h k の後に C-x h とすれば
C-x h runs the command mark-whole-buffer
と教えてくれます。
同様に C-h k C-M-\ とすればいいし。
マニュアルを全部目を通した人なんて少ししかいないでしょう。

623 :名無しさん@お腹いっぱい。:02/06/28 16:13
>>621
> そ、そんなのがあるんですか……
M-x indent と打って TAB するとか。
C-h f と打って TAB するとか。
C-h a indent とか。

624 :名無しさん@お腹いっぱい。:02/06/28 16:14
>>623
> C-h f と打って TAB するとか。
C-h f indent と打って TAB、の間違い。

あとは、C-h b して indent で検索、とか。

625 :名無しさん@Emacs:02/06/28 20:13
M-x apropos とか…

626 :名無しさん@お腹いっぱい。:02/06/28 20:50
自慢汁!

627 :名無しさん@お腹いっぱい。:02/06/28 23:47
Meadow に Internet Shortcut なアイコンをドラッグしたときに w3m を起動
するようにしてみる。
begin 666 my-w32-dd.el.gz
M'XL(`$IO'#T``X53L6[;,!"=;<#_<-"2(P(&:#MWZE2@4XM.40::.EF$*5(A
M3U;R]R7%R#5<U](@0=3=>^_>.V$D?H7^74Y?/LLFJ(-TZ>$'V8Y.2V5-Y-T6
MYNL!L1J#K>#I5GWCTU$OA-AM=UML*/7_OPQ09%2<.G*`RC6`UONC<0>I&*JZ
M?O[NF((C_M7YP'KDNGZI4L]F5H*!9"05="=;'R85&JA^__SQM:[QZ;&N107.
M6&`ABG2<&7O%J3YR2"SP2:PI!:03.2XZ35:C-)L30455.8SJ1)+>]!BB\>Z#
MRA(#8AM43]('.1G7^`EP\-&=7V;@I$0%AD(B%JF9JP5T/J&4\@&NP$2Q`:^=
M]=Q1D',Q+-(WF.(M9\DP2YJI661DB]9U98P;,<9Q'RY8@C*1"H^X<O:>S%6+
M>W5<8,O[724KJS=77E+V:M`JP.P\6M7O&P78&DM+&$N:Z5<`U$WJ5C%Z78JD
MRZ[2&Y/+^<-'XV93=O3N+W49^)QX_E2V.\7.G63J![D?VY;">>F-BQ12FIE;
M^V27XWAF+24'SU[J+@V5DDV.RMXX\?=S9E'6SFSE.$WBFAFR("VZ,!M31LZW
J\Y86BP_6[Y65>;>.]`[/%T.^P,._DXL;/=_D6M?EJB2$/[UERX:J!```
`
end


628 :英辞郎 on the Web:02/07/01 20:38
英辞郎 on the Web を Emacs の中から引けるようにしてみました。
lookup と w3 が必要です。
M-x eijiro とすると単語を聞いてきます。
カーソル位置の単語がデフォルトになっています。
英和・和英は自動的に判断します。
検索結果の先頭の広告部分はスキップします。
動作確認は xemacs 21.4 (patch 6), Debian GNU/Linux 3.0 (woody) for x86 です。

(defun eijiro-hexify-string (string)
"Escape characters in a string as euc-japan."
(mapconcat
(function
(lambda (char)
(if (not (memq char url-unreserved-chars))
(if (< char 16)
(upcase (format "%%0%x" char))
(upcase (format "%%%x" char)))
(char-to-string char))))
(encode-coding-string string 'shift_jis) ""))

(defun eijiro (pattern &optional dummy)
"Look up PATTERN in the online Eijiro dictionary."
(interactive (lookup-pattern-input))
(let ((cgi "http://home.alc.co.jp/db/owa/eijiro_red2")
(word-prefix "word_in=")
(mode-prefix "type_in=")
(mode "ej")
(url)
(hexified-pattern)
(top-margin 15))
(or (string-match "^[a-zA-Z '\"\?!]+$" pattern)
(setq mode "je"))
(setq hexified-pattern (eijiro-hexify-string pattern))
(setq url (concat cgi "?" word-prefix
hexified-pattern "&" mode-prefix mode))
(w3-fetch url)
(message (concat "Looking up : " pattern ))
(set-window-point (selected-window) (point-min))
(scroll-up top-margin)))

ホントは referer もいじったほうがいいのかもしれませんが、
ALC さんが寛大であることを期待して……

ちなみに漏れは普段あんまり Emacs Lisp を使ってないので、
変なところがあったら教えてください。

629 :英辞郎 on the Web:02/07/01 20:44
>>628
"Escape characters in a string as euc-japan."
のところ、 euc-japan じゃなくて shift-jis ですた。

630 :英辞郎 on the Web:02/07/02 13:36
>>629 xemacs -nw でもまぁ使えることを確認しマスタ。
でもまだ lookup.el と w3.el がロードされてないときに自動的に
lookup-pattern-input と w3-fetch が使えるようにする方法が分かりません。
autoload ? provide & require ? まだ勉強中。

631 :英辞郎 on the Web:02/07/11 18:30
>>630 しばらくほうっておいたんですけど、先頭に
(require 'w3 "w3")
(require 'lookup "lookup")
つけとけばいいだけでしたね。

632 :あぼーん:あぼーん
あぼーん

633 :名無しさん@お腹いっぱい。:02/07/11 19:35
>>631
ふつー autoload だろ?

634 :名無しさん@お腹いっぱい。:02/07/11 21:07
この場合は関数の中に require 書く方がいいと思うが。

635 :名無しさん@お腹いっぱい。:02/07/12 05:40
iswitchb を便利にしてみる。
;; うざいだけかもしれんが。
(defadvice iswitchb-completions (after
iswitchb-completions-with-file-name
activate)
"選択してるときにファイル名とかを出してみる。"
(when iswitchb-matches
(save-excursion
(set-buffer (car iswitchb-matches))
(setq ad-return-value
(concat ad-return-value
"\n"
(cond ((buffer-file-name)
(concat "file: "
(expand-file-name (buffer-file-name))))
((eq major-mode 'dired-mode)
(concat "directory: "
(expand-file-name dired-directory)))
(t
(concat "mode: " mode-name " Mode"))))))))

(defadvice iswitchb-exhibit (after
iswitchb-exhibit-with-display-buffer
activate)
"選択している buffer を window に表示してみる。"
(when iswitchb-matches
(select-window (get-buffer-window (cadr (buffer-list))))
(iswitchb-visit-buffer (get-buffer (car iswitchb-matches)))
(select-window (minibuffer-window))))

636 :名無しさん@お腹いっぱい。:02/07/15 13:13
>>635
すごく便利!

637 :名無しさん@お腹いっぱい。:02/07/15 13:16
>>635
(require 'dired) があった方がいいかも。

638 :名無しさん@お腹いっぱい。:02/07/17 18:45
>635

すばらしいです。

639 :名無しさん@お腹いっぱい。:02/07/18 01:46
>>635
Good Job!!

>>637
dired-directory が未定義だと警告されるからですか?

それなら (eval 'dired-directory) に置き換えれば警告は消えました。

ほかに何か見落としてるでしょうか?

640 :637:02/07/18 02:01
>>639
おっけーです。

641 :名無しさん@お腹いっぱい。:02/07/18 02:38
>>639
> それなら (eval 'dired-directory) に置き換えれば警告は消えました。
(defvar dired-directory nil)
の方がいいかも。

642 :639:02/07/20 22:09
よく考えたら、 (eval 'dired-directory) よりは
(identity 'dired-directory) のほうがいいですね。
どっちにしろ横着ですが。

もっとちゃんと解決するには、やっぱり >>637>>641

643 :639:02/07/20 22:13
すみません。ボケてました。
そもそも、問題の advice の方はうちじゃ動いてなかったようだ……。

スレ汚し失礼。

644 :名無しさん@お腹いっぱい。:02/07/27 11:14
emacs-w3m 上の素の w3m で、 frame を一応表示させてみる。

(defun my-w3m-fontify-frames ()
"Insert frame contents directry."
(save-excursion
(goto-char (point-min))
(save-match-data
(while (re-search-forward "<frame[^>]*src=\"\\([^\"]*\\)\"[^>]*>" nil t)
(let* ((url (save-match-data
(w3m-expand-url (match-string 1)))))
(delete-region (match-beginning 0) (match-end 0))
(insert (with-temp-buffer
(let ((out (current-buffer)))
(with-temp-buffer
(let ((type (w3m-retrieve url)))
(when type
(w3m-prepare-content url type out)))))
(buffer-string))))))))

(add-hook 'w3m-fontify-before-hook 'my-w3m-fontify-frames)


645 :名無しさん@Emacs:02/07/28 22:52
age

646 :名無しさん@Emacs:02/08/05 19:31
age


647 :名無しさん@カラアゲうまうま:02/08/05 20:19
(define-key global-map [(hyper t)] 'tool-bar-mode)
(define-key global-map [(hyper m)] 'menu-bar-mode)

648 :名無しさん@野菜増し:02/08/05 20:28
XEmacs で tool-bar-mode と menu-bar-mode.

(when (and (featurep 'toolbar) (fboundp 'set-specifier))
(defun tool-bar-mode (&optional arg)
(interactive)
(set-specifier default-toolbar-visible-p
(if (null arg)
(not (specifier-instance default-toolbar-visible-p))
(> (prefix-numeric-value arg) 0)))))

(when (and (featurep 'menubar) (fboundp 'set-specifier))
(defun menu-bar-mode (&optional arg)
(interactive)
(when (fboundp 'set-specifier)
(set-specifier menubar-visible-p
(if (null arg)
(not (specifier-instance menubar-visible-p))
(> (prefix-numeric-value arg) 0))))))



649 :hage:02/08/06 03:17
英辞郎 - コマンドラインから和英/英和単語翻訳
----> http://bulknews.net/lib/columns/02_eijiro/column.html
この方法で使えなくなった。

----------------------------------------------
本現象は、弊社Norton InternetSecurityの初期設定におきましてリファラ(参照元)情報を遮断しているために発生しております。
以下URLにて公開されておりますNorton InternetSecurityの設定を行っていただくことで本現象は回避されます。
http://service1.symantec.com/SUPPORT/INTER/nisjapanesekb.nsf/jp_docid/20020215093818947
----------------------------------------------

誰か、LWP::UserAgent を使って書き直しておくれ。




650 :hage:02/08/06 03:36
#!/usr/bin/perl -w
# eijiro.pl - http://www.alc.co.jp/eijiro/

require HTTP::Headers;
require HTTP::Request;
use strict;
use Jcode;
use LWP::Simple;
use LWP::UserAgent;
use HTTP::Request::Common;
use FileHandle;
use URI::Escape;
use HTML::FormatText;
use HTML::TreeBuilder;
use Term::ReadLine;

my $historyfile = $ENV{HOME} . '/.eijirohistory';
my $pager = $ENV{PAGER} || 'less';

my $action = 'http://home.alc.co.jp/db/owa/eijiro_red2';

651 :hage:02/08/06 03:37
# Terminal mode / Argv mode
if (@ARGV) {
  my $line = join ' ', @ARGV;
  translate($line);
} else {
  my $term = Term::ReadLine->new('Eijiro');
  # read history
  if (my $fh = FileHandle->new($historyfile)) {
    my @h = $fh->getlines;
    chomp @h;
    $fh->close;
    my %seen;
    $term->addhistory($_) foreach (grep { /\S/ && !$seen{$_}++ } @h);
  }
  # readline & translate
  while ( defined ($_ = $term->readline('eijiro> ')) ) {
    exit if /^!exit/;
    translate($_);
    # Add history
    {
      my $fh = FileHandle->new(">>$historyfile") or die $!;
      $fh->print("$_\n");
      $fh->close;
    }
    $term->addhistory($_) if /\S/;
  }
}

sub translate {
  my $line = shift or return;

  # ej or je
  my $type_in = $line =~ /^[\x00-\x7f]*$/ ? 'ej' : 'je';

  # URI-Escape
  my $word_in = Jcode->new($line)->sjis;
  $word_in = uri_escape($word_in, '\W');




652 :hage:02/08/06 03:37

  # get Simply
  my $url = sprintf '%s?word_in=%s&type_in=%s', $action, $word_in, $type_in;



  my $ua = LWP::UserAgent->new;

  $ua->agent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" . $ua->agent);
  my $req = HTTP::Request->new(GET => '$url');

  $req->header('Accept' => 'text/html');
  my HTTP::Response $content = $ua->request($req);
  # 出力のチェック

  if ($content->is_success) {
print $content->as_string;
  } else {
print "Error Is : " . $content->status_line . "\n";
  }


  my $parser = new HTML::TreeBuilder;
  my $html = $parser->parse(Jcode->new($content)->euc);
  my $format = new HTML::FormatText(leftmargin=>0);

  my $p = new FileHandle "| $pager";
  $p->print($format->format($html));
  $p->close;
}

653 :hage:02/08/06 03:40
上記では動かない。だれか〜。



654 :名無しさん@お腹いっぱい。:02/08/06 06:58
>>653
馬鹿、激しくスレ違い。

$req->push_header('REFERER' => 'http://www.alc.co.jp/');
とかやってみれ。

655 :名無しさん@お腹いっぱい。:02/08/07 14:18
今さらだけど >>635 (・∀・)イイ!!

;; でもあんまり便利になっても、もし .emacs が消えてしまったら生きてい
;; けなくなるんじゃないかと不安。。

656 :ふわふわ名無しさん:02/08/07 22:52
>>655
もし、あなたの .emacs が消えてしまったら?
* なにそれ?
* なんともない
* 利き手と逆の手で文字を書くぐらい辛い
* 音信不通になる
* 生きていけない



657 :名無しさん@お腹いっぱい。:02/08/08 23:55
>>656
ctrl-hでヘルプが出た時点でとりあえず泣く。

658 :名無しさん@お腹いっぱい。:02/08/09 02:34
整理するのにはいい機会かも知れない。
やりたいことがクリアなら一から書くよりずっと速く出来るだろうし。

659 :名無しさん@お腹いっぱい。:02/08/09 13:10
>>657
なんでC-hを変更する人が多いんだろ。
あとF1でヘルプ出すのも許せない。

660 :名無しさん@お腹いっぱい。:02/08/09 13:13
>>659
C-h で backward-delete-char したいから。

661 :ふわふわ名無しさん:02/08/09 15:01
>>660 同じく。
qwerty で使っていたときは C-h はそのままで、いつも一歩戻って
C-d してたけど、dvorak になったら C-h 使う使う。
指を動かさなくていいのって大きいと思った。

逆に、qwerty の時は多用した C-t を余り使わなくなったよ。
そう思う前に反射的に C-h しちゃってる。

662 :名無しさん@お腹いっぱい。:02/08/09 16:24
お前らあふぉか

663 :名無しさん@Emacs:02/08/13 00:29
shell-mode の Completions がうざいので、

(defadvice comint-send-input (after hide-completions)
(let ((completions-window (get-buffer-window "*Completions*"))
(other-buffer-name (buffer-name (other-buffer))))
(if (and completions-window other-buffer-name)
(set-window-buffer completions-window other-buffer-name))))
(ad-activate 'comint-send-input)


664 :名無しさん@お腹いっぱい。:02/08/14 10:34
emacs を起動した時に行われる処理は、すべて lisp/startup.el に書かれているのでしょうか?
その前、後にはなにも暗黙の処理は行われないのでしょうか?

665 :名無しさん@お腹いっぱい。:02/08/14 10:34
>>664
すみません、スレ間違えました。

666 :名無しさん@お腹いっぱい。:02/08/18 00:26
>>604

(let ((default-directory "~/lib/elisp"))
(setq load-path (cons default-directory load-path))
(normal-top-level-add-subdirs-to-load-path))


667 :名無しさん@お腹いっぱい。:02/08/18 12:30
>>666
>>604の意図がわかっていないと思われ


668 :名無しさん@お腹いっぱい。:02/08/18 23:47
gnu.emacs.sources に出てた pretty-lambda.el をちょこっとだけ改変:
(defvar pretty-lambda-character "λ"
"the alternative character displayed in place of lambda.")
(defun pretty-lambda ()
(font-lock-add-keywords
nil `(("\\<lambda\\>"
(0 (progn (compose-region (match-beginning 0) (match-end 0)
pretty-lambda-character)
nil))))))
(add-hook 'emacs-lisp-mode-hook 'pretty-lambda)
(add-hook 'scheme-mode-hook 'pretty-lambda)

オリジナルで使ってた (make-char 'greek-iso8859-7 107) よりも
全角の "λ" の方がいいと思うのだが、まぁフォントによるか。

669 :名無しさん@お腹いっぱい。:02/08/22 20:50
(defun diary ()
(interactive)
(find-file (format "~/doc/diary/%s-%s.html"
(substring (current-time-string) 20)
(substring (current-time-string) 4 7))))

ついでに .cshrc にも。
alias diary `date | awk \{print\ \"~/doc/diary/\"\ \$6\ \"-\"\ \$2\ \".html\"\}`

670 :669:02/08/22 20:53
訂正。'alias diary ' のうしろに 'mule -nw ' を挿入してください。

671 :ふわふわ名無しさん:02/08/22 21:41
>>669 date の引数で書式指定した方がよいよ。

672 :名無しさん@お腹いっぱい。:02/08/27 16:48
>>599
を.eamacsに書いてM-x google し 文字列を入力し C-m すると

google: Symbol's function definition is void: my-url-encode-string

とミニバッファにエラーが出るのですがどう対処したらいいのでしょうか?
「こうすればいいんだぜ!」と自慢出来る人自慢してください。

FreeBSD 4.6.2 Emacs21.3.50

673 :名無しさん@お腹いっぱい。:02/08/27 17:51
>>672
>>599 の名前でどう

674 :名無しさん@お腹いっぱい。:02/08/27 18:41
>>673
さんきゅ

675 :名無しさん@お腹いっぱい。:02/08/29 22:52
>>565 当たりに追加
(defun google-jump (str &optional module)
(interactive (list (read-string "Google jump: " (lookup-current-word))))
(google str "&hl=ja&btnI=I%27m+Feeling+Lucky"))
(global-set-key "\C-c\C-j" 'google-jump)

I'm Feeling Luckeyボタンの動きをする。
基本的にはURLでも何でも突っ込めば行ける。
googleに登録されていない場合無理だけど…。

676 :名無しさん@お腹いっぱい。:02/09/06 16:16
http://www.dotemacs.de/
おまえらここで自慢すれ。


677 :名無しさん@Emacs:02/09/14 20:48
Wanderlustでutf-8を表示させるためのMule-UCSのロードが長いので、
utf-8のメールを開いた時にロードする。(utf-8がくるまで、ロードしない)

(defvar my-wl-load-mule-ucs nil)
(add-hook 'wl-message-display-internal-hook
(lambda ()
(let ((message-buffer (wl-current-message-buffer)))
(if (and (not my-wl-load-mule-ucs)
message-buffer
wl-current-summary-buffer)
(save-excursion
(set-buffer message-buffer)
(if (re-search-forward "^Content-type:.*charset=UTF-8" 10000 t)
(progn
(message "loading Mule-UCS...")
(require 'un-define)
(setq my-wl-load-mule-ucs t)
(set-buffer wl-current-summary-buffer)
(wl-message-buffer-cache-clean-up)
(wl-summary-set-message-buffer-or-redisplay 'ignore-original))))))))
(setq wl-message-visible-field-list
(list "^Dnas.*:"
"^Message-Id:"
"^Content-Type"
))


678 :名無しさん@お腹いっぱい。:02/09/15 02:54
>>677
明かに素人レベルのソースなんで突っこみ所イパーイな訳ですが、
とりあえず一つ目の指摘はmy-wl-load-mule-ucsなんて変な
変数作らずに大人しく(featurep 'un-define)しとけってこった。


679 :名無しさん@Emacs:02/09/15 21:29
>>678
どうも。
できれば、もっとつっこんで頂いて、玄人っぽい、コードをおせえてくださると、
後学になってうれしいのですが。。。

680 :名無しさん@お腹いっぱい。:02/09/21 06:12
>>586,599 の Google 検索大変便利に使わせてもらっています。
C-SPC C-SPC C-x C-x するのが結構面倒なんですが、カーソルの
下の文字を適度に文節分けして検索対象にできないでしょうか?
lookup は結構賢く切り出してくれるのですが。

681 :名無しさん@お腹いっぱい。:02/09/21 10:34
>>680
lookup も w3m も使っていいならこんなんでどう?? あんまし使ってないので
おかしいとこあるかもしれんけど。

;; google で検索して browse-url (Netscape) で表示
;; w3m で表示するならば `w3m-search' がある
;; fixme
;; 他のサイトへの対応(w3m を参考)と翻訳もしたい
(defun google (arg)
(interactive "P")
(let ((str
(if mark-active
(buffer-substring (region-beginning) (region-end))
(read-string "Google search: " (lookup-current-word)))))
(require 'w3m)
(if arg
(browse-url
(google-all str))
(browse-url
(google-ja str)))))
;; google 日本語検索
(defun google-ja (str)
(concat "http://www.google.com/search?q=" str "&hl=ja&lr=lang_ja"))
;; google ウェブ全体から検索
(defun google-all (str)
(concat "http://www.google.com/search?q=" str))

682 :名無しさん@お腹いっぱい。:02/09/27 14:08
ll

683 :名無しさん@お腹いっぱい。:02/09/30 21:09
>>586,599 使ってみたのですが 1つの単語を検索するのは問題ないけど
2つをスペースを開けて並べると
mapcar: Symbol's value as variable is void: n

って出て検索出来なくない?

684 :名無しさん@Emacs:02/10/07 04:04
age

685 :名無しさん@お腹いっぱい。:02/10/14 03:25
vim のC-a、C-x相当の機能を実現するelisp知りませんか?

686 :名無しさん@お腹いっぱい。:02/10/14 07:50
スレ違いです。

687 :名無しさん@お腹いっぱい。:02/10/14 11:29
>>685
そんな機能いらねーw

688 :名無しさん@お腹いっぱい。:02/10/14 13:10
どんな機能なのか説明キボン

689 :687:02/10/14 13:45
>>688
手元にvimが入った環境がないから確認できないが、カーソル位置にある数字をインクリメント(C-a)、
デクリメント(C-x)する…だったハズ。昔はvim使いだったから知ってるんだけど、使ったことないや。

>>685
lispで書いてここに貼ってね。このスレはそういうところ。


690 :!685:02/10/15 16:31
>>689
書いてみた。

いまいちなんだけど、あんまり使いそうも無いことに気付いたので
もういいや。

(defun integer-edit (add-num)
(save-excursion
(save-restriction
(forward-word 1)
(if (search-backward-regexp "[1-9][0-9]*")
(progn
(narrow-to-region (match-beginning 0) (match-end 0))
(let ((numstr (match-string 0)))
(goto-char (point-min))
(replace-string numstr (int-to-string (+ add-num (string-to-int numstr))))))))))

(defun integer-edit-increase (add-num)
(interactive "p")
(integer-edit add-num))

(defun integer-edit-decrease (add-num)
(interactive "p")
(integer-edit (- add-num)))


691 :!685:02/10/15 17:04
>>690

駄目でした。直してね。
< (forward-word 1)
< (if (search-backward-regexp "[1-9][0-9]*")

> (backward-word 1)
> (if (search-forward-regexp "[1-9][0-9]*")

でも、これでもうまくない。
(数値列の先頭にポイントがあって、それより前に別の数値列がある場合、そっ
ちが変わってしまう。)


692 :名無しさん@お腹いっぱい。:02/10/16 03:24
>>691
カーソル位置にあるって事で、いきなり read してみるとか。

(defun integer-edit (add-num)
(save-excursion
(skip-syntax-forward "-")
(condition-case nil
(let* ((p (point))
(i (read (current-buffer))))
(when (numberp i)
(delete-region p (point))
(insert (number-to-string (+ i add-num)))))
(error nil))))

一応、空白だけは飛ばしてみたけど…

693 :名無しさん@お腹いっぱい。:02/10/16 12:41
ところで、685はこの要らない機能を何に使うのだろう。

694 :名無しさん@お腹いっぱい。:02/10/26 00:23
>>693
このスレで自慢するのでは?


695 :Emacs外道:02/10/28 19:01
(if (boundp 'input-method-alist)
(progn
;いったん Wnn を起動する
(if (assoc "japanese-egg-wnn" input-method-alist)
(activate-input-method "japanese-egg-wnn")
)

;デフォルトのものに戻す
(activate-input-method default-input-method)
(inactivate-input-method)
))

これ絶対必要。これ書かないで
(global-set-key "\C-e" 'previous-line)
(global-set-key "\C-x" 'next-line)
とかやると、XEmacsでC-\押した瞬間に文字入力が効かなくなる。


696 :名無しさん@お腹いっぱい。:02/10/31 12:47
Windowsのメモ帳みたいにリージョンを選択した状態で
バックスペースや文字入力をすると選択範囲が消えて,
上書きされる設定ってないですか?



697 :名無しさん@お腹いっぱい。:02/10/31 12:59
質問は下記のスレッドのほうへ

Emacs part6
http://pc.2ch.net/test/read.cgi/unix/1032611750/

698 :名無しさん@お腹いっぱい。:02/10/31 14:54
タブ,全角スペース,改行直前のスペースに色を付ける
## 黒背景向け

(defface my-face-b-1 '((t (:background "gray"))) nil)
(defface my-face-b-2 '((t (:background "gray26"))) nil)
(defface my-face-u-1 '((t (:foreground "SteelBlue" :underline t))) nil)
(defvar my-face-b-1 'my-face-b-1)
(defvar my-face-b-2 'my-face-b-2)
(defvar my-face-u-1 'my-face-u-1)

(defadvice font-lock-mode (before my-font-lock-mode ())
(font-lock-add-keywords
major-mode
'(("\t" 0 my-face-b-2 append)
(" " 0 my-face-b-1 append)
("[ \t]+$" 0 my-face-u-1 append)
)))
(ad-enable-advice 'font-lock-mode 'before 'my-font-lock-mode)
(ad-activate 'font-lock-mode)


699 :名無しさん@お腹いっぱい。:02/10/31 15:07
>>698
どっかの web page で見て俺も使ってる

700 :名無しさん@お腹いっぱい。:02/10/31 22:57
C言語をプログラミングする際に便利と思われるものを自慢してください。

701 :名無しさん@お腹いっぱい。:02/11/01 02:44
(;´Д`)ウズウズ

702 :名無しさん@お腹いっぱい。:02/11/01 14:47
>>698 は、まんまコピペだな。作者なら問題ないが、そうでないなら
断わりを入れたほうがよかろう

703 :名無しさん@お腹いっぱい。:02/11/01 22:31
>>702
defface して defadvice で font-lock に引っかけるくらいは誰でも
やってると思うけどなぁ。作者が誰かは知らないけど、この程度なら
設定サンプルのうちだし、気にはしないような。

704 :名無しさん@お腹いっぱい。:02/11/01 23:36
>>703
まあその通りなんだが、さすがに一字一句同じだからねえ。
どこかのページで拾ったと一言添えてもいいだろうに。

705 :名無しさん@Emacs:02/11/02 00:40
>>696
(pc-selection-mode)

706 :名無しさん@お腹いっぱい。:02/11/02 06:41
;;For AMP
(display-battery)
(setq battery-mode-line-format " [%L %B %p%%] ")
(cond (window-system
(setq frame-title-format
'((multiple-frames " ")
battery-mode-line-string
("[ %b ]" (buffer-file-name "[ %f ]"))))
(remove-hook 'global-mode-string 'battery-mode-line-string)))
識者が公開してる.emacs.elを見て,思い付いただけだが…(石投げないでね)


707 :名無しさん@Emacs:02/11/02 11:07
#!/bin/sh とかのスクリプトファイル保存時に
自動で実行許可フラグを立てるフック、
標準で用意されるようになってたみたい。

(add-hook 'after-save-hook
'exeutable-make-buffer-file-executable-if-script-p)

これで >>29 と同等のことをしてくれる上に
.emacs.el の行数を減らしてくれる。

最近不要な設定を削る方にはまってたりする。
使いもしないモードの設定なんかいらんもんね。

708 :名無しさん@お腹いっぱい。:02/11/02 12:16
>>707
それっていつの Emacsからあるの?


709 :名無しさん@Emacs:02/11/02 15:12
Emacs 20.7 と Emacs 21.1 にはあった。
executable.el ってやつにはいってる。


710 :名無しさん@お腹いっぱい。:02/11/02 19:04
でも相変わらず ange-ftp とか tramp 越しだとダメか…あとでいじってみよう。

>>708
exeutable になってるから動かないんじゃないの?
executable-make-buffer-file-executable-if-script-p …だ。

711 :名無しさん@お腹いっぱい。:02/11/03 05:40
;; さっきなんとなく*scratch*に書いてしまった。.emacsには入れていない。

(defun sinh (x)
(/ (- (exp x) (exp (- x))) 2))
(defun cosh (x)
(/ (+ (exp x) (exp (- x))) 2))
(defun tanh (x)
(/ (sinh x) (cosh x)))
(defun arcsinh (x)
(if (>= x 0)
(log (+ x (sqrt (+ 1 (* x x)))))
(- (log (- (sqrt (+ 1 (* x x))) x)))))
(defun arccosh (x)
(log (+ x (sqrt (- (* x x) 1)))))
(defun arctanh (x)
(/ (log (/ (+ 1 x) (- 1 x))) 2))

;; ツッコミどころありまくりかもしれないがご容赦を。

712 :名無しさん@お腹いっぱい。:02/11/03 20:30
>>707
これって
"executable-make-buffer-file-executable-if-script-p"
の間違いじゃない?

http://www.google.com/search?q=exeutable-make-buffer-file-executable-if-script-p&sourceid=mozilla-search&start=0&start=0

713 :名無しさん@お腹いっぱい。:02/11/03 20:37
(  )
ノ( * )ヽ
 ノωヽ\ プップッ
     \●
      \\  ベシッ
         ●(´・ω・`) アタタ!
         (∩ ∩)
.
.
          (・ω・` ) ン?
     ● ● (∩ ∩)

.
           (・ω・` )
     ● ●ノ (∩ ∩)

.             
          (●ω・` )
       ●ノ (∩ ∩)

.             
          (●ω● ) タモーリ
          (∩ ∩)


     ♪  
   ♪           
      ヽ(●ω●)ノ   オヒ-ル ヤスミハ
         (  へ)     ウキウキ
          く        ウォッチン♪


714 :名無しさん@お腹いっぱい。:02/11/05 07:29
>>712
>>710


715 :名無しさん@Emacs:02/11/05 13:46
>>710
うちだと、tramp 管理下のファイルでも +x してくれたよ。
tramp 2.0.25 ね。


716 :710:02/11/05 21:02
tramp(su) だといけた。ange-ftp だとだめだった。よく試さないで書いてしまってすまそ。
理由は書かなくても分かるわな…。

717 :名無しさん@お腹いっぱい。:02/11/06 02:15
; 16進数で色一覧を表示
(defun list-hexadecimal-colors-display ()
(interactive)
(let ((r 0)
(g 0)
(b 0)
(delta 32)
(color-list ()))
(while (< r 256)
(setq g 0)
(while (< g 256)
(setq b 0)
(while (< b 256)
(setq color-list (append color-list (list (format "#%.2x%.2x%.2x" r g b))))
(setq b (+ b delta)))
(setq g (+ g delta)))
(setq r (+ r delta)))
(list-colors-display color-list)))

718 :名無しさん@お腹いっぱい。:02/11/06 06:26
>>717
便利だ…(*´Д`)ハァハァ。頂いてきまつ。

719 :名無しさん@Emacs:02/11/06 12:22
>>718
これ、html 系のモードで色指定するとき使えないかな。
リターン押すとその色が挿入されるみたいな。


720 :717:02/11/07 00:16
begin 666 color-selection.el.gz
M'XL("+@MR3T``V-O;&]R+7-E;&5C=&EO;BYE;`"55LURVS80/HNOD,N&AD:D
M4JJVTV::VHG'<=K8<:K)3*>])/4,2$(4(@I4"="6<\BS=Q<`:<F19/<@BESL
M_WZ[V*.C(TB&"?PVYYE./DB]H,_@",D'+YZP-R?O3PQ[Q\8G@_WRCYN+5\<1
M.W?O[!F3;-Q__O2X?W%Z]?NW)]&;`.5@>*&TX67)C:P4$0`^??MQ),C`/^X;
M(.*-J<J*YS`HI3;)5"QY+C(YYV62X4&MDQQ]*?DMA/8[T:(4&:D,6QT`X5O/
MLR(.EAV?N=`_`%<YZ&EU`S=3;L!,Q2V4536#4L[$*`03!T$0Y6)RS6NX9R>Q
MCLU13S(E$27+`$T.,4<&J@E,&F7Y-)@*,@P8;0@%0AE12U5X/SIU0.J`U(W"
MQUF=\T5K]%+<TM>DJK>HY5^0V"F/Y&2WWH"RYW1'I3`01:0>'S.1Z`6OM4AF
MUF0<QY:7O)7*4H%8P\]GR3R$P48K&>8+-=@S+ZZ%^?>!4+TUBR$"WH"-/[P^
MW6<U@8N]9#-VSA)VR=ZR`S9#L,&B1I^6Q/X)RS]?E**#5[@7`KQZ#7MU711I
MVI'WER&1]Y>>OK,(3G^BC2TGJK3E_VBIX*G59`5O+O>[5$J5U6*.$('GAU;;
M14=`38)G4Z\.Q8CJH-(FA+JN_[%_UO^K_Y2Z#U-4GP[9W]1YCH>EF"3Z,7;2
M<5YVJ1R__^7HZUC?I90DR>%&;?9WM9(042W#,TNB5O*N&NJL124Q!JE!JA'E
M*9+4!AQ578OX#F7.B.)S`6$8?X\->Q)E.1HKA$F,6%(9JH6HS2U$UD@,@PG/
M1+Q=NE(9>O2(D@:]7L]-(]VDGK:BZ8"\5H69KA#CSNY,EF62-I.)0&>SIJZQ
M7/Y[Q;668Z,W52T+J7BKQDM)I3'<=9L="/I?^B_[Y^SRIRMVQ4HVH]+:85S;
MT>Q+BKQDX->U/FJ+/W8Z'BS]^A2.B&@KN1*5+9)[3Q#'W&!9AV<D^&>K;.C*
M'"$8$$AK@6I^+1*QQ-QINBG<2'=`T7'0BVZFLA0VD*!'>9E`I"H\5`W.6HUJ
M>U[$9RS\K$)'=:#0+6(<S7-%&3:G#:8EYU0YG.&'^XZR:.XC3Z]C;P4X&<W_
M0<JS65%7C<K;5KDS\J!#.*G"[[SZ_S[@W2`>X8.]+FR'^:.U/O*UQ%+F2:7*
M6S#^=.OH;J5OI,FFF,46&AMQ$-BM`MJUPB\5Z]CUF'QH*[##:,N4J8$J&17N
M+W5_N2@-Q[%+[RX:EXI-@V1WGVYK=X?7Z!AJ./SY1=P"VNJUOGA"QU<XOI[/
MO?.S.TW]Z;IKSFF^6`C<;%9)[HDHF./P"_?ZH\-E^PO1HP+2>`T(*43/\+'[
MFK(2;03(7SR"?S7LFH0>N@N["CQF#MV%[,;BKA%&^-P"%#N]<6=+R@I7MP0O
M;,G34FA[:!NO!;<+Q"Y83N'FG><>.RTU[IK;N@:&EKW!J>A\H!UHYX9D^>M&
3V754[_##,F!V_@/<8:O%W`L`````
`
end

721 :717:02/11/07 00:17

リターンで色コードが挿入されるようなのを書いてみました。
Emacs Lisp ってあんまり書いたことないんで変なところがあったら教えてください。


722 :名無しさん@Emacs:02/11/07 18:58
>>721
おぉー! いいかんじ!
使わせていただいてます。
色選ぶとき、新しいウィンドウ開いてくれるとうれしいかも。
高さも指定出来ると嬉しいです。

723 :名無しさん@お腹いっぱい。:02/11/07 22:06
>>722
自分で書いてそれ書き込めやゴルァ

724 :名無しさん@お腹いっぱい。:02/11/08 04:57
>>722
ここは自慢するスレだからな。

725 :名無しさん@お腹いっぱい。:02/11/10 05:57
(defun scroll-up-in-place (n)
(interactive "p")
(previous-line n)
(scroll-down n))

(defun scroll-down-in-place (n)
(interactive "p")
(next-line n)
(scroll-up n))

(global-set-key "\M-p" 'scroll-up-in-place)
(global-set-key "\M-n" 'scroll-down-in-place)




(eval-after-load "tetris"
'(progn
(setcdr (assq t (car tetris-border-options)) (list "++"))
(setcdr (assq t (car tetris-blank-options)) (list "| "))
(setcdr (assq t (car tetris-cell-options)) (list " "))
;; (setcdr (assq t (car tetris-space-options)) (list " "))
(setcdr (assq 'emacs-tty (car tetris-cell-options)) (list "[]"))
))


726 :名無しさん@お腹いっぱい。:02/11/10 09:48
>>725
>>702

727 :名無しさん@お腹いっぱい。:02/11/20 21:30
PSファイルへ印刷出力
(setq ps-lpr-command "cat2file")


〜cat2file〜
#!/bin/sh
cat $* >/tmp/emacs>_print_out.ps


728 :名無しさん@Emacs:02/11/20 22:07
>>727
そんなことしなくても
標準の ps-print-buffer に C-u のプリフェックス付ければ
ファイルに出力出来ると思った。

729 :名無しさん@お腹いっぱい。:02/11/21 13:25
プリフェックス カコ(・∀・)イイ!!

730 :名無しさん@Emacs:02/11/21 14:45
prefix

731 :名無しさん@Emacs:02/11/21 15:55
プリセクース
婚前交渉

732 :名無しさん@お腹いっぱい。:02/11/22 15:07
ps-print という言葉に反応して
自分の設定を貼ってみる
余白とか減らしてるだけです

;; ps-print
(setq ps-paper-type 'a4)
(setq ps-font-size 8)
(setq ps-number-of-columns 2)
(setq ps-landscape-mode t)
(setq ps-left-margin (/ (* 72 1.5) 2.54) ) ;1cm
(setq ps-inter-column (/ (* 72 0.5) 2.54) )
(setq ps-right-margin (/ (* 72 1.0) 2.54) )

(setq ps-top-margin (/ (* 72 0.7) 2.54) )
(setq ps-bottom-margin (/ (* 72 1.2) 2.54) )
(setq ps-header-offset (/ (* 72 0.5) 2.54) )

(setq ps-print-only-one-header t)


733 :名無しさん@お腹いっぱい。:02/11/22 23:12
自慢って云う程でも無いんですけど、
タブ好きなんで自前でLisp書いてメニューを
それっぽくタブ化してみました。

そのまま貼るには結構長くなってしまったので、
http://ruins-isweb.hp.infoseek.co.jp/
に(要らない)説明までつけて上げてあります。

自分の .emacs での設定はこんな感じ。
(load "tabbed-menu-mode.el")
(global-set-key [C-tab] 'tabbed-menu-next-buffer)
(global-set-key [C-S-tab] 'tabbed-menu-prev-buffer)
(setq
tabbed-menu-fixed-menu-string "."
tabbed-menu-tab-function-string '(" " " x " " % ")
)

ほぼ初めてのマトモなelispなのでかなり稚拙です。
自分のところ(20.7)では一応ちゃんと動いてるので、
興味のある方は試してみて下さい。
実にそれっぽいですが、かなり胡散臭いコードと動きだったり。

# Emacs21には何かそんなlibraryやモードってあるんでしょうか。
# あったら20.7からとっとと移行してそちらを使いたかったんですが。
# 調べてもそれっぽいのがさっぱり見つかりません。
# xyzzyにはちゃんとあるのになぁ…。

# まぁ既にあったとしても、折角ゴリゴリと書いてしまったので
# こっそりとココで自慢(さら)させて下さい。


734 :名無しさん@お腹いっぱい。:02/11/23 23:47
>733

まだ使ってないけど面白そうだ。ありがと

735 :名無しさん@Emacs:02/11/23 23:50
>>733
面白いんだけど、普段 iswitchb-buffer でやってるから
あんまり出番がなかったりする・・・

736 :名無しさん@お腹いっぱい。:02/11/24 03:32
>733

気に入った。
でも tabbed-menu-tab-function-string ってなに?

737 :名無しさん@お腹いっぱい。:02/11/25 02:44
provideしてrequire出来るようにした方が良いのでは。

738 :733:02/11/25 20:39
>735
自分もiswitchb-bufferを使っています。
バッファ一覧が常に視界に入っていれば良いかなぁと。
というわけで今のところ自分も表示させて満足してるだけだったり。

>736
ソースのコメントアウトされてる部分の値に設定して
貰えればすぐ分かると思いますが、メニュー左端に
・(S) スイッチバッファ
・<K> キルバッファ
・{R} リードオンリーのトグル
というタブ動作の切り替えボタンを表示するためのラベル設定です。
(21.xでは「押してもすぐに更新されない」らしいのであんまり使えません。)

気に入って貰って嬉しい限り。

Emacsではマウスを滅多に使わないため(当然か)、
tabbed-menu-tab-function-string 設定は
単に雰囲気をタブブラウザっぽさを演出するためだけの
余分な機能のつもりでした。

>737
最後の行に
(provide 'tabbed-menu)
とか書くだけで良いのでしょうか…。

provideなどの仕組みを殆んど理解していないため
また勉強しときます。require は.emacsでおまじない程度に
使っていたに過ぎませんし、自前で使っている分には
全然支障が無かったんで…。

739 :733:02/11/25 20:40
sage忘れました…。済みません。


740 :フェチ:02/11/25 20:46

http://www.freewebz.com/kotish/cgi-bin/img20021122154429.jpg




741 :736:02/11/25 21:09
うーむ 21.x だからか。うまくいかないので混乱してました。
emacsを使ってる間マウスなんて触らないので、あまり使う機会がないと思いますが、
ありがたく頂戴します。

おもしろい。



742 :733:02/11/29 03:24
>736
21.xでの動作を(かなり強引な方法を使って)直してきました。

それと、設定が少し複雑になってしまったのが難点な蛇足なのですが、
タブを表示するバッファも色々指定出来るように少し手を加えました。

ttp://ruins-isweb.hp.infoseek.co.jp/

# そろそろやることが無くなってしまった感じです。
# 思ったより反応が良くてビックリ。

# やっぱりタブ好きな方は多いんですね。
# 最後は自らageておきます。

743 :733:02/11/30 00:14
>737
ぐあ、やっぱりprovideとrequireの使い方
よく理解していなかった様です。
というわけで微妙に修正しておきました。

実に恥ずかしい限り…自慢するだとかいう以前のLvでした。

大変御騒がせしてしまって、あとかなりスレを私的っぽく
利用してしまって申し訳ありませんでした。
今後も精進してきます。

744 :名無しさん@お腹いっぱい。:02/12/01 17:04
ぐあ...ッテ,チトハズカスィ

745 :名無しさん@お腹いっぱい。:02/12/04 05:10
WinでMeadowを使っているときに便利なぐらい

;; IME
(mw32-ime-initialize)
(setq default-input-method "MW32-IME")
(add-hook 'mw32-ime-on-hook
(lambda () (set-cursor-color "blue")))
(add-hook 'mw32-ime-off-hook
(lambda () (set-cursor-color "black")))
(setq-default mw32-ime-mode-line-state-indicator "[--]")
(setq mw32-ime-mode-line-state-indicator-list '("[--]" "[あ]" "[--]"))


746 :名無しさん@お腹いっぱい。:02/12/05 21:19
tails-history
http://www.ganaware.org/S/tails-el/

M-x s M-p とするとヒストリを検索して,M-x shell などに
補完してくれる

ただし,Emacs 21 では動かない

747 :名無しさん@お腹いっぱい。:02/12/05 23:43
escreen-tab
ttp://www.geocities.co.jp/SiliconValley-SanJose/7474/
escreen をタブ化してくれる elisp。マウスで切り替えられてだらだらメール
読むときに便利。漏れの .emacs では↓のように設定してる。
(require 'escreen)
(global-set-key "\C-z" escreen-map)
(setq escreen-mode-line-format '(escreen-number-mode ("[" escreen-current-screen-string "]")))
(escreen-install)
(require 'escreen-tab)


748 :名無しさん@お腹いっぱい。:02/12/07 23:18
http://homepage3.nifty.com/akima/soft/meadow_15.html#SEC173

abbrev の補完をしてくれる.候補がなければ dabbrev
これでもう abbrev の候補を全部覚える必要はない


749 :名無しさん@お腹いっぱい。:02/12/08 02:24
sudo emacs /etc/... したとき用にモードラインの色を変えるやつを作ってみました。
emacs lisp初めて書きました。でもこれって -nwで起動するとなぜか無効にされる・・・なぞ。

;; ユーザーによりモードラインの色を変
(cond
((string-match "root" user-login-name)
(set-face-background 'modeline "coral"))
(t
(set-face-background 'modeline "black")))



750 :名無しさん@お腹いっぱい。:02/12/08 02:36
>749
自慢のつもりかもしれんが、
それ、すごい恥ずかしいぞ

751 :名無しさん@お腹いっぱい。:02/12/08 02:43
>750
ぜんぜん自慢じゃないんで教えてください。なぜに?

752 :名無しさん@お腹いっぱい。:02/12/08 03:20
emacsen で /etc/ をいじるような作業はするなって言いたいんちゃうか。
漏れも sudo vi はよくやるが sudo emacs はしない。

どうせやるなら modeline といわず reverse video にした方がはっきり
すると思われ。

>>749 は visudo や vipw も emacsen なのかい?

753 :名無しさん@お腹いっぱい。:02/12/08 03:54
>752
そうなんですか。

でもviとemacsを行ったりきたりしてるとキーバインドが混乱してきて、
emacsにESC:wとか入れてしまうんです。

visudoやvipwはviですけど、しかたなしにです。

でも長いファイルになってくるとviしんどいんですよね。
reverse video勉強になりました。

754 :名無しさん@お腹いっぱい。:02/12/08 09:32
eldoc
自動でカーソル付近の単語を引いたりしてくれる
eldoc = autolookup + eldoc
ファイルが,どこにもない.だれか,うp してくれ


755 :名無しさん@お腹いっぱい。:02/12/08 09:50
>>754
意味不明。


756 :485:02/12/08 12:57
eldoc = autolookup + eldoc
ってことは
autolookup = eldoc - eldoc = 0
なのか :-p


757 :名無しさん@お腹いっぱい。:02/12/08 14:50
>>748
abbrev-mode って文字入力を直接する国の人の為の機能って気がする。
日本語は不幸で SKK なりの入力ソフトが必要だが、
その機能で abbrev の機能が補えちゃったりする。
なので、俺はあんまり使う機会がない。

758 :名無しさん@Emacs:02/12/08 17:38
>>757
でも、Java とかのシンボル名がやたら長くなる言語使ってるとね。
dabbrev だけじゃちと辛い。



759 :名無しさん@お腹いっぱい。:02/12/15 16:09
(defun changecase-word (cnt)
(interactive "p")
(let ((type (and (eq this-command last-command)
(get this-command :changecase-type))))
(cond ((or (null type) (eq type 'upcase))
(upcase-word (- cnt))
(put this-command :changecase-type 'capitalize))
((eq type 'capitalize)
(capitalize-word (- cnt))
(put this-command :changecase-type 'downcase))
((eq type 'downcase)
(downcase-word (- cnt))
(put this-command :changecase-type 'upcase)))))
;; 良いキーバインドが思いつかん・・・
(global-set-key [?\M-u] 'changecase-word)


760 :名無しさん@お腹いっぱい。:02/12/18 09:07
;; For Denpa
(defun denpa (str)
(interactive "sURL:http://")
(browse-url
(concat
"http://www02.so-net.ne.jp/~saitou/cgi-bin/denpa.cgi?URL=http%3A%2F%2F"
str
"%2F")))

761 :名無しさん@Meadow:02/12/22 01:36
>>759
意外に便利かも

762 :名無しさん@お腹いっぱい。:02/12/22 21:06
http://sodan.org/~knagano/emacs/dotemacs.html

(defmacro exec-if-bound (sexplist)
"関数が存在する時だけ実行する。(car の fboundp を調べるだけ)"
`(if (fboundp (car ',sexplist))
,sexplist))

(defmacro defun-add-hook (hookname &rest sexplist)
"add-hook のエイリアス。引数を関数にパックして hook に追加する。"
`(add-hook ,hookname
(function (lambda () ,@sexplist))))

(defun load-safe (loadlib)
"安全な load。読み込みに失敗してもそこで止まらない。"
;; missing-ok で読んでみて、ダメならこっそり message でも出しておく
(let ((load-status (load loadlib t)))
(or load-status
(message (format "[load-safe] failed %s" loadlib)))
load-status))

(defmacro eval-safe (&rest body)
"安全な評価。評価に失敗してもそこで止まらない。"
`(condition-case err
(progn ,@body)
(error (message "[eval-safe] %s" err))))

763 :名無しさん@お腹いっぱい。:03/01/05 13:51
;;完全一行スクロール設定。「S.Namba」さん作。
(defun sane-next-line (arg)
"Goto next line by ARG steps with scrolling sanely if needed."
(interactive "p")
(let ((newpt (save-excursion (line-move arg) (point))))
(while (null (pos-visible-in-window-p newpt))
(if (< arg 0) (scroll-down 1) (scroll-up 1)))
(goto-char newpt)
(setq this-command 'next-line)
()))
(defun sane-previous-line (arg)
"Goto previous line by ARG steps with scrolling back sanely if needed."
(interactive "p")
(sane-next-line (- arg))
(setq this-command 'previous-line)
())
(defun sane-newline (arg)
"Put newline\(s\) by ARG with scrolling sanely if needed."
(interactive "p")
(let ((newpt (save-excursion (newline arg) (point))))
(while (null (pos-visible-in-window-p newpt)) (scroll-up 1))
(goto-char newpt)
(setq this-command 'newline)
()))
(global-set-key [up] 'sane-previous-line)
(global-set-key [down] 'sane-next-line)
(global-set-key "\C-m" 'sane-newline)
(define-key global-map "\C-n" 'sane-next-line) ;;;絶対1行スクロール(旧next-line)
(define-key global-map "\C-p" 'sane-previous-line);;;絶対1行スクロール(旧previous-line)

764 :名無しさん@お腹いっぱい。:03/01/05 14:03
>>763
(・∀・)イイ!!
直った。サンクス。

765 :名無しさん@お腹いっぱい。:03/01/10 22:38
>>763,764
ce-scroll.el
http://applause.elfmimi.jp/emacs-lisp/ce-scroll.el
お勧めしておきます。

それにしても、停滞気味なんでしょうかこのスレは。
わりと楽しみにしてるんですが、1/5からなんも書かれてないっていうのは…

766 :765:03/01/10 22:48
> 1/5からなんも書かれてないっていうのは

よくよくみたら5日あいたからって別に珍しくも無かった。
やっぱりおいらは他人の設定を頂戴するだけの駄目人間なんだな。
逝ってきます。

767 :名無しさん@お腹いっぱい。:03/01/11 03:37
-nw で modeline を最上行に表示したり、画面を縦に割ったときのセパレータ"|"を非表示にするにはどう書けばいいのでしょうか?

768 :名無しさん@お腹いっぱい。:03/01/11 03:44
>>767
そんなことできるの?

769 :767:03/01/11 05:31
できたらいいなぁとおもってさ

770 :山崎渉:03/01/15 12:55
(^^)

771 :名無しさん@お腹いっぱい。:03/01/16 18:58
>>762に刺激を受けて作ってみた。
(defun funcall-if-functionp (f &rest a)
(if (functionp f) (apply f a)))

(funcall-if-functionp 'car '(9 . 0))
(funcall-if-functionp (lambda (a) (cdr a)) '(9 . 0))
(funcall-if-functionp 'functionp 'functionp)

772 :名無しさん@お腹いっぱい。:03/01/19 00:42
>>717をmapcarで。
;; 16進数で色一覧を表示
(defun list-hexadecimal-colors-display ()
(interactive)
(let ((f1 (lambda (r) (apply 'append (mapcar f2 a))))
(f2 (lambda (g) (mapcar f3 a)))
(f3 (lambda (b) (format "#%.2x%.2x%.2x" r g b)))
(a ()) (b 0))
(while (< b 256) (setq a (cons b a)) (setq b (+ b 32)))
(list-colors-display (reverse (apply 'append (mapcar f1 a))))))

773 :名無しさん@XEmacs:03/01/19 23:07
有沢先生の日記より。
Help-Emacs とかでちょびっと流行ってる奴。
(~/.wl へ記述する)


;;; The Face Header
;;; http://quimby.gnus.org/circus/face/
;;; Wanderlust + XEmacs で表示させてみる。(手抜き)
;;; http://www.nijino.com/ari/diary/200301.shtml#200301180
(require 'x-face)
(defun wl-highlight-face-header ()
(save-restriction
(save-excursion
(x-face-narrow-to-header)
(let (face from)
(when (and (setq face (x-face-mail-fetch-field "Face"))
(goto-char (point-min))
(setq from (x-face-search-field "^From")))
(set-extent-end-glyph
(make-extent (nth 1 from) (nth 1 from))
(make-glyph (vector 'png :data (base64-decode-string face)))))))))
(add-hook 'wl-highlight-headers-hook 'wl-highlight-face-header)


Face: ヘッダ長いから消したい。


774 :名無しさん@お腹いっぱい。:03/01/20 02:53
>>773
kaoru さんの日記に hide するコードがあるYO!
http://triaez.kaisei.org/~kaoru/diary/?200301b#200301192


775 :名無しさん@EMACS21:03/01/24 08:04
あちこちに落ちてる、timestampを更新するsave-buffer-wrapperをちょっとだ
け改造。不要な変数を無くし、置換専用の関数にし、hookを利用して起動。こ
れでviperの:wでも動作するようになる。

(defun my-update-timestamp ()
(interactive)
(let ()
(save-excursion
(goto-char (point-min))
(while
(re-search-forward "\\$Update\\([A-Za-z0-9: ]*\\)?\\$" nil t)
(replace-match
(concat "$Update: " (current-time-string) " $") nil t)))))

(add-hook 'write-file-hooks 'my-update-timestamp)


776 :名無しさん@お腹いっぱい。:03/01/24 09:01
replace-regexpじゃあかんの?
(defun my-update-timestamp ()
(interactive)
(save-excursion
(goto-char (point-min))
(replace-regexp "\\$Update\\([A-Za-z0-9: ]*\\)?\\$"
(concat "$Update: " (current-time-string) " $"))))

777 :名無しさん@お腹いっぱい。:03/01/24 15:56
>> 776
replace-regexp
...
This function is usually the wrong thing to use in a Lisp program.
What you probably want is a loop like this:
(while (re-search-forward REGEXP nil t)
(replace-match TO-STRING nil nil))
which will run faster and will not set the mark or print anything.


778 :775:03/01/25 06:18
>776 >777

letはたしかに要らないっすね。replace-regexpは777のとおり。
あと、while が無いと最初の1つしか置換しないが、whileがあると、置換する
時刻の変数を無くした私の改造では、厳密にいうと複数置換するときに時刻が
違う可能性がある。

それに単独関数じゃ使わないからλで直接hookに引っ掛けても良いんやなあ。

779 :名無しさん@お腹いっぱい。:03/02/01 23:09
(define-key YaTeX-mode-map "}" '(lambda () (interactive)
(if zmacs-region-active-p
(YaTeX-insert-braces-region
(min (mark) (point)) (max (mark) (point)))
(insert "}"))))
標準でこういう感じに動いてくれると有難いんだが

780 :779:03/02/02 16:26
何も yatex-mode に限ることは無いね

(defun my-insert-parenthesis (arg)
(interactive "p")
(if zmacs-region-active-p
(let* ((paren (key-description (this-command-keys)))
(mathed (char-to-string (matching-paren (string-to-char paren))))
(pos (point)) (start (min pos (mark)))
(end (1+ (max pos (mark)))))
(goto-char start) (insert mathed)
(goto-char end) (insert paren)
(goto-char (1+ pos)))
(self-insert-command arg)))
(global-set-key ")" 'my-insert-parenthesis)

781 :名無しさん@お腹いっぱい。:03/02/02 20:08
zmacs って何? xemacs 用の変数?

782 :779:03/02/02 22:27
うん。たまたま XEmacs 使ってるときに思い付いたもんで。
Emacs なら勿論 mark-active です。

783 :名無しさん@お腹いっぱい。:03/02/02 23:36
>>779
region がハイライトされている時に
} を押すと region がカッコでかこまれるってことかな。

784 :名無しさん@お腹いっぱい。:03/02/03 00:04
前に出てた「% で対応するカッコに飛ぶ」を書き直した。
だいぶきれいになった。
XEmacs 用。
GNUEmacs では (activate-region) を適宜書き直して。

; delived from http://flex.ee.uec.ac.jp/texi/faq-jp/faq-jp_130.html
(global-set-key "%" 'my-match-paren)
(defun my-match-paren (arg)
"Go to the matching parenthesis if on parenthesis otherwise insert %."
(interactive "p")
(cond ((looking-at "\\s\(")
(set-mark (point))
(forward-list 1)
(activate-region))
((unless (bobp)
(save-excursion
(backward-char 1)
(looking-at "\\s\)")))
(set-mark (point))
(backward-list 1)
(activate-region))
(t
(self-insert-command (or arg 1)))))


785 :784:03/02/03 00:09
>>784
> GNUEmacs では (activate-region) を適宜書き直して。
>>781-782 もだけど、
この辺のマークとかリージョンとかまわりを
統一的に扱う方法ってないすかね。
書いたら apel あたりに入れてくれるかなぁ。

786 :名無しさん@お腹いっぱい。:03/02/03 01:18
とりあえず interactive の "_" をどうにかせんとあかんな。

787 :名無しさん@お腹いっぱい。:03/02/03 02:08
全ての emacs に対応できる vertial emacs を誰か
作ってください。

788 :名無しさん@お腹いっぱい。:03/02/03 10:56
>>785
どっかで拾った gnuplot.el よりコピペ

;; There is no `mark-active' variable in XEmacs. Hassle! This is not
;; only replicates mark-active, but it only returns true if the region
;; is of non-zero width.
;; Error checking suggested by <DB>
(defun gnuplot-mark-active ()
"Return non-nil if the mark is active and it is not equal to point."
(condition-case nil
(and (mark) (/= (mark) (point)))
(error nil)))

テスト用
Gnu Emacs: mark-active
XEmacs: (gnuplot-mark-active)

789 :名無しさん@お腹いっぱい。:03/02/04 01:48
wl でツールバーを使いたい人用の設定

(add-hook 'wl-folder-mode-hook
(lambda ()
(set-specifier default-toolbar-visible-p
(cons (current-buffer) t))
(set-face-background 'default "snow" (current-buffer))))

790 :名無しさん@お腹いっぱい。:03/02/06 22:25
これは何: viper で vim の visual mode 風の選択
こういう人向け: viper ユーザ. vim ユーザ.
使い方: v を押して移動して d とか c とか y とかやってみて下さい。
バグ: GNU emacs21 でしかテストしてません。多分 xemacs では動かない。
普段 transient-mark-mode を使っている人のことは考えていません。
vim と違って d,y,c しか動きません。(vim は DYCrRsS も動く)
vim のような矩形選択、行選択はありません。
2ch 用に行数をつめてます。

;;;; my-viper-visual (VIM like visual mode)
(define-key viper-vi-basic-map "v" 'my-viper-visual)

(defvar my-viper-visual-p nil)

(defun my-viper-visual ()
(interactive)
(my-viper-visual-toggle)
(if my-viper-visual-p
(progn (set-mark (point)) (message "--VISUAL--"))))

(defun my-viper-visual-toggle ()
(setq transient-mark-mode (if (and transient-mark-mode mark-active) nil t)
my-viper-visual-p transient-mark-mode))

(defadvice viper-command-argument (before my-viper-visual first nil activate)
(if (and my-viper-visual-p transient-mark-mode mark-active)
(progn (setq unread-command-events (listify-key-sequence "r"))
(my-viper-visual-toggle))))

(defadvice keyboard-quit (before my-viper-visual first nil activate)
(if my-viper-visual-p (my-viper-visual-toggle)))


791 :ヽ(´ー`)ノ:03/02/14 03:02
バッファを開いた時に自動的にSKKに。滅多にelisp書かないから役に立つかな…?
navi2chと微妙に相性が悪いでつw

(defun skk-mode-invoke-if-not-invoked ()
(interactive)

(if (not (boundp 'skk-mode))
(progn
(skk-mode)
(skk-latin-mode 1)
)
(if (not skk-mode)
(skk-latin-mode 1)
)))

(add-hook 'find-file-hooks (lambda () (skk-mode-invoke-if-not-invoked)))
(defadvice get-buffer-create (after get-buffer-create-as-skk-mode activate) (skk-mode-invoke-if-not-invoked))
(defadvice iswitchb-buffer (after iswitchb-buffer-as-skk-mode activate) (skk-mode-invoke-if-not-invoked))


792 :名無しさん@EMACS21:03/02/14 13:07
lispで色々書いてる時の変数チェック用。
適当な所で(my-check-var hoge)と入れる。
型を気にしなくて良いから便利。
ループの間でも*Message*に残る。

(defun my-check-var ( var )
(interactive)
(cond ((equal var nil) (message "Var: nil"))
((equal var t) (message "Var: true"))
((stringp var) (message (concat "String: " var)))
((numberp var) (message (concat "Number: " (number-to-string var))))
((bufferp var) (message (concat "Buffer: " (buffer-name var))))
((markerp var)
(message (concat "Marker: " (number-to-string (marker-position var))
" of " (buffer-name (marker-buffer var)))))
( t (message "UNKNOWN VAR"))
))




793 :名無しさん@お腹いっぱい。:03/02/14 13:43
>>792
rewrite してみる。
list はダメなのか。

(defun my-check-var (var)
(interactive "SVar: ")
(cond ((not var) (message "Var: nil"))
((eq var t) (message "Var: t"))
((stringp var) (message "String: %s" var))
((numberp var) (message "Number: %d" var))
((bufferp var) (message "Buffer: %s" (buffer-name var)))
((markerp var) (message "Marker: %d of %s"
(marker-position var)
(buffer-name (marker-buffer var))))
(t (message "UNKNOWN VAR"))))


794 :792:03/02/14 17:14
>793

を、なんだか、判ってる人が書いた感じになりましたっすね。
貰います。

listは中身を表示する上手い方法が判らなかったんです。





795 :名無しさん@お腹いっぱい。:03/02/14 17:58
(defun my-check-var (var)
(interactive "SVar: ")
(message "%S" var))

で充分なような。。。

796 :792:03/02/14 20:43
>795
うーん、なるほど。

797 :名無しさん@お腹いっぱい。:03/02/14 21:17
>>795
さらに言えば、M-: (eval-expression) で
変数を評価すればいいんじゃあ...。
(C-u) C-x C-e (eval-last-sexp) でもいいし。


798 :名無しさん@お腹いっぱい。:03/02/14 22:03
>>797
> lispで色々書いてる時の変数チェック用。
> 適当な所で(my-check-var hoge)と入れる。


799 :797:03/02/15 00:03
printf()デバッグか。>>793は、引数の種類を表示してくれると。


800 :名無しさん@お腹いっぱい。:03/02/15 13:03
とりあえず edebug や assert も使うわけだが


801 :名無しさん@お腹いっぱい。:03/02/15 20:19
check したい predicate の alist 作って、満たすのを一覧表示してみた。

(defun my-check-var (var)
(message "%s"
(mapconcat 'identity
(or (delete nil
(mapcar (lambda (elm)
(when (funcall (car elm) var)
(if (caddr elm)
(format (cadr elm) var)
(cadr elm))))
my-check-var-alist))
'("Unknown"))
", ")))

(defvar my-check-var-alist
'((null "Nil")
((lambda (x) (eq x t)) "T")
(numberp "Number: %d" t)
(bufferp "Buffer: %S" t)
(markerp "Marker: %S" t)
(stringp "String: %s" t)))


802 :名無しさん@お腹いっぱい。:03/02/15 20:39
>>801
delete → delq の方がいいっしょ


803 :名無しさん@お腹いっぱい。:03/02/25 13:12
なんか寂れてるんで一発ネタを。

3つ前と2つ前のマークの間と、リージョンの間のテキストを入れかえる。
C-SPC を適当な場所で3回ぽちぽちやった後 M-x transpose-marks でどうぞ。
;; vcursor と組み合わせられるとかっこいいんだけど。
(defvar transpose-marks-ovr1 (let ((ovr (make-overlay 0 0)))
(overlay-put ovr 'face 'region)
ovr))
(defvar transpose-marks-ovr2 (let ((ovr (make-overlay 0 0)))
(overlay-put ovr 'face 'secondary-selection)
ovr))
(defun transpose-marks ()
(interactive)
(unwind-protect
(let ((start1 (nth 1 mark-ring))
(end1 (nth 0 mark-ring))
(start2 (mark))
(end2 (point)))
(move-overlay transpose-marks-ovr1 start1 end1 (current-buffer))
(move-overlay transpose-marks-ovr2 start2 end2 (current-buffer))
(when (y-or-n-p "transpose there marks? ")
(transpose-regions start1 end1 start2 end2)))
(move-overlay transpose-marks-ovr1 0 0)
(move-overlay transpose-marks-ovr2 0 0)))

804 :名無しさん@お腹いっぱい。:03/02/25 20:00
vcursor 使ってるの?
どんな時に使う?
おれも昔面白いと思っていろいろ応用を作ったりしたが、
結局作っただけで使わなくなってしまった。



805 :名無しさん@お腹いっぱい。:03/02/25 20:48
vcursor って何?


806 :803:03/02/26 00:15
>>804
やー、使ってないです。
面白い機能ではあるんだけど、 普通に mark や regster を駆使した方が便利
だし。
vcursor みたいに複数のカーソルを作ってそいつら個々の指定した範囲に対し
て何かをするみたいな minor-mode があると面白いかもしれない。

>>805
普通のカーソルの他にもう一つカーソルが出てくるモード。
(require 'vcursor)
したあとに、
M-x vcursor-toggle-vcursor-map
してみると分かると思うです。


807 :名無しさん@お腹いっぱい。:03/03/14 19:15
保守しておこう

808 :名無しさん@Meadow:03/03/27 23:06
保守テスト

809 :名無しさん@お腹いっぱい。:03/03/27 23:08
..

810 :名無しさん@Meadow:03/04/04 23:38
----BEGIN BASE64----(hosyu.tgz)
H4sIAAAAAAAAC+1X3VPbOBDvK8zwF/RFceVi07iXhM8UaCilDYQj6THt9WYa2jGO
krj4q7ICpHP3v9+uJDtOApmbubleH9CDI6/2e3+7coZxOh49Z8Gj/3BVK5WtrS3y
qCLX5Jeotb2+UYHn1sb6enV9A/fVSnUT+H/IGqXC5eASj2PxYyz+VGt3d5c8poe7
x5S2/npsHa4sI8Wq2kjdKb24oadw9rS1s/u9ndK2+dWsm8e0ffDl6OuEO2XiG0nd
qyvXCfxUKOoSIauW3i5ZBqgzm+YH0256lIKoQZTlTKPZMKl5bF7lWpeWiKV5pB/b
tAE+Kj/4GYNnnU5xE7SxvfrqHIgo1d44wa0xzdCo6+N69W06fWzbU+7SS9qmp3Qo
rSxwl1iFVJ39hm5prk7rSUPs/nH0tXYEfPa/iatyWG1ljp9Xgs6L+ch+TV4yzXK2
eV9k2c6q2aSKrLSJtUQvtNMcdcSeN+KymI4Xh0nAhBO5IUOCFDqVQkVHFQgWya1a
E4jkbqzb5My5LciRT+dv3l8U0KQJ0lV0rXMqRZU8UFu9QwfpVUUhSGuIyveGOPlA
HSVTUI96+N5h/T14H9B3JQM5aROrhElolekBrdJ2HhcpVL2MBTt89/KCHtNWIfaC
F7WClCwv5EgXt3OwuVk+2d/Zp2XESe2ouV96Mm1n8wM93TmgFvqVc7dN12ygDsoz
fAEsO6YFPlVLe+ZHWj4pN7qzuuhn2igZW6Mmpx30zPiE1FIJ9l1xsWaojL7+nTob
dRqDzjZtlgz9bgEof4EY6cugPpDyBc0ZWLNeOPv4qgkeoV/r9LjoB3ZG25tgnyik
UoOGGqn0nIZ0WzYYvrWojwer1r1scjBB/sHabMRYA9rWlZivnvKzjD0Jmq/yyO7J
TMfYvqKbgJE5OzASXtO3JQPdWRjN8Vwshop/JprOm3HtlcKUtrWybPVY/9rlxY6C


811 :810 の続き:03/04/04 23:39
DlObaBReMk4iP1hZ1uMBQcw1iHXZSkatsXMEMGjmc5vnAFblekbbKCM9udPkXBNn
Nmc6qplhPZ+P8ldGc4/qITxiPkaNdhbwKCq2qqWCBdMkYNcM2QBSfiQYdz3hXzN8
V1zwZPAoSFjadT8aOJy5vZXlJbmMkygZCZIy7g1JKjicE6kh4X7fv31BjIzTCt3E
A5+twA0vey6xXD6ws0OcqtpyOg4v40BZRRa7wLQglTZGTsSEF19X5xOk9UGkeXCK
kIWMqYG09AlIchYJJ+EMInHAl0w5+KqJAB3Gfc+5doMRu0Mi9/1+3BUcklWxdV36
xNpHp6KBGBZ8JRVkB4aQpak7YMR47UYeC0olBMaSVTAUun6kCxwVNUzs3AETLSXT
/zROhB9HblAEDKRpDfLkxaNIKGcgd0MfK1KkTBVTpUdal8fp6FJhkrMBu01IPBKA
IkfhR4ZxM/QDQJ0b9bLvoUzESuKEqEuPqOxaXo/n57YynUwImikG6EWxyENRoNzb
VwTtN5KkzT2iwslypZMuXVEnVvWZ2k2dqYCkqixTgCYN/SIc5UPEOmboL7cYRAZ6
bEgRJlU85ySYIdfInU2FzRp5riBGt/unoZqIyCRlkUgIu0kSjMmq5pVWUGceKyJQ
eeewbyMAAcQsA9BBZriF75Br5rBbOEkBLSp2mYwJKjBZ+Zt2AXmcy1G/D7PXWOug
5jVDHw1iSI03xMiSGBDshH5UEPtGlJwcRU4cBdncw3POoMVcmEdOP+Y3Lu9hHqzP
nypO/eIZICdiaYOErvCGEFq3az9fg2PAvFIJhHxkYZ7lVMk1J4HrMUcKEwvUhyrL
VdI1zLRrkG63ZqhazZbScns9rLf6dpsCfD5WLB0VyGawmESf791b29Z1lDVCUMOo
KLagNGnd+GLoaEtgWbAwmcv34hJm7PCnLupBJrU2HZFCcxj3mCaopp2PDQwsKKi8
hOACwUxGhurv6YFg/wNUZCrOWToKxHPQtBAuIkfvZI6qG4XhJJ2dsZ0hCcekGfdK
JdKOMdfEjcYkZPLLAcBjpiA2fXmpcXfvnJ0dAOq2mOq7hOgrJJsu8Aq7JPCz1OQ3
JMnuLy4ilcL87tRlUfdXPqeQTbc+7uc+2go6UAnw4O///f/6YT2sh/Wwftb1N+Ge
QX4AFgAA
----END BASE64----


812 :名無しさん@Meadow:03/04/04 23:44
>>810-811
w3m などで、コミック等の発売日のリストを見てる時にでもどうぞ。
ネーミングセンスが腐っているのは無視してください。

813 :質問です。。。:03/04/11 17:07
Meadow(Emacs 20.7.1)を最近使い始めたものです。
ただいま設定に四苦八苦しているところです。
カレント行にアンダーラインを出せないかと調べると、
"hl-line.el"か"highline.el"を使えば良いということがわかりました。
そこまでは良いのですが、デフォルトではアンダーラインの色が文字と同じ色に
なっています。
これを変えたくて、(set-face-foreground 'underline "red")
などとやってみたのですが、カレント行全て(文字+アンダーライン)の色が
変わってしまいました。
アンダーラインの色だけを変えたいのですが、何か方法はありませんでしょうか?
よろしくお願いします。

814 :名無しさん@お腹いっぱい。:03/04/11 17:30
>>813
meadowの事はわからんけど

ttp://homepage3.nifty.com/akima/soft/meadow_toc.html#SEC_Contents
とか参考にならないかな?
よく見てないんでわからんけど

815 :http://www.agemasukudasai.com/movie/:03/04/11 17:35
http://www.agemasukudasai.com/movie/

816 :名無しさん@お腹いっぱい。:03/04/11 17:49
>>813
ここは質問スレではありませんよ( ̄ー ̄)

817 :名無しさん@お腹いっぱい。:03/04/11 20:48
不幸自慢みたいなもんでそ

818 :vim の ^w [hjkl] 風の window 選択コマンド:03/04/12 04:27
begin 644 goto-window-relatively.el.gz
M'XL("/(3ESX``V=O=&\M=VEN9&]W+7)E;&%T:79E;'DN96P`M5=!=]HX$#Z'
M7S&/2^2VIH8DKQL@V;>O;W/8U[VT>Z,<C"VPBFPYDHQA?_V.)-M`,%#8UQP2
M:S3?S#??C"5G-!K!0F@!)<MB48*D/-1L1?FF@SO?PA4=PGCP6_`,?\9,X_/#
MPV._UW]X'/3O[@=WGP:/SZ!8%E$8!,'=Q^#^8[]/7B3S@L'PX=[$^!(J#7^+
MF,T9C8<84L,?N83^`(+[83\8!I_@KV__6'@'_4>@PC3G%)9T,T-.'1+3.<NH
MCVM8<#$+N9^&.4R(2MA<0Y%[4[A--[ZIPG=5^&@\AT.WK`5IS>>PDBT2W0)V
M]G-H3N=M8&M&`8["?_^N_.^?_>5EY5:H'Y>66N'XQ556P.1XA;!B*7"V;'K<
M0TM.)10*?Z7AQFTRW>N,3)95B-9-'<4D(6FXI+[*0ZDL`;1YGG-NH=1%.F5W
M/\0;[_WP!J"Z<*MRSG2]L:)2LRCD?',6NWJ+381D_XI,_Q0:J=X*G5!9;9P%
MO"(@IIQJ^K,(L47L9E)G@4GW6%=/XWX<XMSXG<$M#W'%^=[Q0U0UM*>`5W?\
M?[3[LEY?V.CKNGQ5BZ_J[Q7-/='9^N(X-QSS+A`>IK,X!#)GG"+T!G\`@+!,
M4QE&YOZ#[LL+XL!X`,O`"EA=DD/H[H!.=;[V03JQ;T+M-<(&]_#@LM?>SBUL
MS]8B@P-Q@'B=?9YV_<9/%3,)MR3$R]/D)^,GD+#V\`'6P#T824#3&L;`&X<8
MD*]=/($J(/8,KW8:IK&_CL@&BBV1&!?'B=C.7\VDP(H-DPT6"Z,";.XQ;!W6
M(+=,."Z.,S$OR*\CPE&SAHA$X>S,M#.Q\0EN1#8[OOSO@!!54B"5!XT75.'8
MXL$0:1K7)PF&Q`119!E'A51"^G,9IM2/A)`QRT)-E7-"#B33"02`<3WDC@-C
M#?W*,)JHZ7YXF,BIZ=8'F!33W`;A#C-H@L3.<'<B")^BT!@CGN(,FBAKI(Q?
M!U%D(FS,(G8K[V94%;%#?[*>?IALIB@,U`)4H:T)B)`N'FK+7R%CW'QIY&AQ
M\M?'1NG:L=7W0-[2LR[H0QJQ7)F-5&9Y,ZIU<;(X1*.,0S2ZF*71Q:E0BV")
M(`I'"@A=A1Q<]UTPUUA#OAY5IK17=?MP!LQ@V=/(B0<[XNT,W+'Q<*]`]RO5
MA<Q:0H"8&ZNDF08+[G6K(6W3L'5$2;DWH14@$KQ(,[?/6_8Y7@<&;H4R"@!Y
M[SJ-FD)IU(+*%%>V@[>L+6-5\&>W<-69FO'"<'X]++_`:I4.I598M$@AV*T:
MXV!6I\E>&66C1LEBG33L%=6O8%&^^U/?/"J2@O/&KTS,S46>GZQ763IS2X"R
MK#&X.E6R$;$J^(MYO*Q<A?]*^G1M$$QDCN.,+EB6L6SAB[GK4=4A*TU,E39S
M@^Y`<H$'J^?ZE$'@->78PR]*S$M;'X$F^=:A$F)<QX"=N$;I^BO/3X5-U3=&
5*Q*F[;^'S&MBV<?_``<+<R<R#P``
`
end


819 :818:03/04/12 04:28
>>818
vim の ^w [hjkl] 風の window 選択コマンド。
カーソルの上下左右にある window に移動する。そんだけ。
カーソルの位置に応じてかしこく window を選びます。
てきとーにキーバインド当てて下さい。一応デフォで Shift + 十字キーになってます。
\C-x 2 とか \C-x 3 も使いやすいキーにかえた方が吉。



820 :名無しさん@Meadow:03/04/12 07:50
>>819

あれ!?
http://homepage3.nifty.com/akima/soft/meadow_17.html#SEC233
これと同じような機能のやつですか?標準機能なんですが・・・

821 :818:03/04/12 08:09
>>820
うっそん。
まったく同じじゃん。とほほ。

> 17.9 ウィンドウ間を簡単に移動 (2003/04/05)
結構新しいですね。emacs20 のころにはあったのだろうか。
とにかく無駄なことをしてしまった。

822 :名無しさん@お腹いっぱい。:03/04/12 10:31
>>821
新しいかどうか見るのに、
> 17.9 ウィンドウ間を簡単に移動 (2003/04/05)
この部分は参考にならんでしょ。(とツッコミ)

windmove.el を見ると、1998に登場した elispだけど、
emacs21 から標準に含まれるようになったようだ。

823 :818:03/04/12 15:07
>>822
> 新しいかどうか見るのに、
> > 17.9 ウィンドウ間を簡単に移動 (2003/04/05)
> この部分は参考にならんでしょ。(とツッコミ)
このサイト時々チェックしてるんですよ。
で、ここで紹介されたのも最近だなという意味で。
# なんとなく >>820 さんがこのサイトの作者のような気が。

再発明して自己嫌悪。はぁ。

おちつけ。>>おれ

おちはすでにつきましたが、何か。 ...スマソ

824 :820:03/04/12 21:16
>>823
> このサイト時々チェックしてるんですよ。
> で、ここで紹介されたのも最近だなという意味で。
> # なんとなく >>820 さんがこのサイトの作者のような気が。

残念ながら、松下さんではありません。
私もよくチェックしているものです(毎日)。

> 再発明して自己嫌悪。はぁ。

大丈夫、elispで一つのものを作り上げたという資産が残るじゃないですか。

> おちつけ。>>おれ

次回作を期待していまソ。

825 :名無しさん@お腹いっぱい。:03/04/12 22:56
>823
実装方法の違いを研究すれば今後の役に立つと思われ

826 :818:03/04/12 23:54
>>824
> 大丈夫、elispで一つのものを作り上げたという資産が残るじゃないですか。
> 次回作を期待していまソ。
どうもありがとうございます。

>>825
ざっと見てみました。windmove.el はカーソルを端で
ラップするようにもできるので、
その分コードが複雑になってるようです。
実装も細かい所が違ってて、勉強になりました。

# でも一番勉強になったことは、何か作る時は
# よく調べてから作れということ(笑)

827 :名無しさん@お腹いっぱい。:03/04/13 07:29
818 の行く先に倖あれ

828 :山崎渉:03/04/17 11:55
(^^)

829 :名無しさん@お腹いっぱい。:03/04/18 02:21
(defun ^^ ()
(interactive)
(message "死ねヴォケ"))

M-x (^^)

830 :名無しさん@お腹いっぱい。:03/04/18 03:18
>>829
おまい、本当はよくわかってないだろ?


831 :名無しさん@お腹いっぱい。:03/04/18 03:46
>>829
M-x ^^
もしくは
M-: (^^)

832 :830:03/04/18 03:53
うわぁぁ…

>>829
は山○渉に対する嫌味だったのか。
navi2chで見ていたので気づかなかったよ。
なんだか空気読めてなくてゴメン。


833 :829:03/04/18 16:38
>>830
いや、肝心な所を間違えたおれがあほだった。

834 :山崎渉:03/04/20 05:50
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

835 :名無しさん@お腹いっぱい。:03/05/08 01:16
*scratch*は消せません。
名前が思い浮かばない
(defun kill-buffer-not-scratch (buffer)
(interactive "bKill buffer:")
(if (string= "*scratch*" buffer)
(save-excursion
(set-buffer buffer)
(widen)
(erase-buffer))
(kill-buffer buffer)))

836 :名無しさん@お腹いっぱい。:03/05/08 14:02
scratch と聞いて、昔作ったのを思い出した。

(defun my-create-scratch ()
"*scratch* がなければ作る。すでにあれば、
*my-scratch* というもう一つの scratch を作る。
初めのメッセージとかも復元。
2002/01/09(Wed)10:41"
(interactive)
(let ((scratch-buffer "*scratch*"))
(if (not (get-buffer scratch-buffer))
(switch-to-buffer scratch-buffer)
(setq scratch-buffer "*my-scratch*"))
(switch-to-buffer (get-buffer-create scratch-buffer))
(funcall initial-major-mode)
(if (not (buffer-modified-p))
(progn
(erase-buffer)
(insert initial-scratch-message)
(set-buffer-modified-p nil)))))


837 :名無しさん@お腹いっぱい。:03/05/08 14:05
>>835
permanent-buffers じゃだめなの?

838 :名無しさん@お腹いっぱい。:03/05/09 23:15
長いファイル名だと行番号がモードラインからはみ出して表示されないので。
(let (L C)
(setq C (assoc 'column-number-mode mode-line-format))
(if C (progn
(setq mode-line-format (cons C (delete C mode-line-format)))
))

(setq L (assoc 'line-number-mode mode-line-format))
(if L (progn
(setq mode-line-format (cons L (delete L mode-line-format)))
))
)


839 :名無しさん@お腹いっぱい。:03/05/10 23:39
cvs 版の emacs だと、そこらが改善されてるよ。

840 :名無しさん@お腹いっぱい。:03/05/11 10:45
訂正。mode-line-format は buffer-local だから、setq-default 使わないと。

(let (L C M)
(setq M mode-line-format)
(setq C (assoc 'column-number-mode M))
(if C (setq M (cons C (delete C M))))

(setq L (assoc 'line-number-mode M))
(if L (setq M (cons L (delete L M))))

(setq-default mode-line-format M)
)

あともひとつ、Windozeアプリに手が毒された人のために。

(let (C-z)
(setq C-z (global-key-binding "\C-z"))
(or (equal C-z 'undo)
(global-set-key "\M-z" C-z)
)
(global-set-key "\C-z" 'undo)
)


841 :名無しさん@お腹いっぱい。:03/05/11 14:01
> Windozeアプリに手が毒された人のために。
cua-mode とかどうなん? 俺は全然興味ないけれど。

842 :名無しさん@お腹いっぱい。:03/05/17 14:27
バッファが read-only のときにはモードラインにその旨表示。
(or (assoc 'buffer-read-only mode-line-format)
(setq-default (cons '(buffer-read-only "RO--") mode-line-format))

telnet元のIMEからEUCのemacs -nwに「ESC+非ASCII文字」を打ち込んでも
以後の入力が化けない対策。
(let ((i 128)) (while (<= i 255)
(define-key function-key-map (vector 27 i) (vector i))
(setq i (1+ i))
))

843 :名無しさん@お腹いっぱい。:03/05/17 14:39
> バッファが read-only のときにはモードラインにその旨表示。
`%'表示じゃダメなん?

844 :名無しさん@お腹いっぱい。:03/05/17 15:09
> telnet元のIMEからEUCのemacs -nwに「ESC+非ASCII文字」を打ち込んでも
> 以後の入力が化けない対策。

keyboard-coding-system を適切に設定してあればそんなことにはならないが

845 :842:03/05/17 18:13
>>843
あ、ほんとだ。知らなかった :-)

846 :842:03/05/17 18:22
>>843
あ、ほんとだ。知らなかった。(´Д`)

>>844
設定してもだめなんでつ。
再現手順
% emacs -nw -q で起動して
M-x set-language-environment Japanese RET
M-x set-keyboard-coding-system RET euc-japan RET
M-x set-terminal-coding-system RET euc-japan RET
ESCキーに続けて2バイト文字を2つ以上。

環境は FreeBSD 4.7-RELEASE で、Ports から入れた emacs 21.3。
Mule 2.3 でも同じ再現手順で同じ症状。

847 :名無しさん@お腹いっぱい。:03/05/17 22:48
そりゃ EUC じゃないし

848 :842:03/05/18 03:22
>>847
>そりゃ EUC じゃないし

そりゃそーなんだけど、頻繁にこういうデータをタイプしちゃうのよ。

とゆーのは、ターミナル側で
・Alt+文字キー を押すと ESC 文字キー を送信する
・俺は JIS カナ入力主義者なので、IME をうっかり平仮名モードに
 したままでたとえば Alt+x を押すと ESC サ が送信される
とゆーわけ。

849 :名無しさん@Emacs:03/05/20 01:28
physical-line.el でない、物理行移動の elisp あったと思うんですが、どな
たか知りませんか?


850 :名無しさん@お腹いっぱい。:03/05/20 02:55
>849
どうしてこのスレなんだろう……
ce-scroll.el
screen-lines.el

851 :849:03/05/20 20:56
>>850
ぬりがとう。
お返しに、

(require 'tramp)
(defun find-file-as-root (filename)
(interactive "fFind file as ROOT: ")
(find-file (concat "/[scp/root@localhost]" filename)))

ただし、
% ssh root@localhost
で、パスワードを聞かれない必要があるが。


852 :名無しさん@お腹いっぱい。:03/05/20 21:48
>>851
イラネ

853 :ヽ(´ー`)ノ:03/05/21 13:01
>>851
それ、今の tramp と構文違わね? 2.0.33 使ってるけど /scp:root@localhost だよ。
つーか、/su:root@localhost 使いませう。

854 :山崎渉:03/05/22 02:07
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―

855 :名無しさん@お腹いっぱい。:03/05/25 01:31
>>849-851
俺はvz.elからコピペしてバグ修正したやつを使ってる。
http://www.ht.sakura.ne.jp/~delmonta/emacs/
の第16-17回あたりから朴ってきた。

856 :名無しさん@お腹いっぱい。:03/05/25 05:41
vz.el って Vz editor のまねするやつ?

Vz なつかしいなあ。
おれは逆に、emacs をエミュレートする
Vz macro 使って Unix 気分になってたよ。

857 :名無しさん@お腹いっぱい。:03/05/25 11:23
俺もscreen-lines.elをベースにScreen-lines-next-lineを
vz.elのと交換したやつを使ってる。

858 :855:03/05/25 13:34
vz.el の vz-next-line って、実はちょっとしたバグがあるんだよね。
詳細は>>855のリンク先の第17回へ。

859 :名無しさん@お腹いっぱい。:03/06/06 21:06
>>790
感動した!

860 :わからずや:03/06/06 22:15
emacs、はじめて2日めです。
ファイル名~ は勝手にできないようにできたのですが、
#ファイル名# が勝手にできてしまいます。
.emacsになんと書けば、でなくなるのか、教えてください。
お願いします。


861 :名無しさん@お腹いっぱい。:03/06/06 22:21
そのファイルをちゃんと保存すれば #hoge# は消えるだろうが。
不慮の事故で emacs が強制終了されたときのために #hoge# はあるんだよ。

hoge~ もバックアップなんだから、残しといた方がいいんじゃない?
消したきゃ C-x d RET ~ x でフォルダ内のは一気に消せるしな。

862 : :03/06/06 22:22
>>860 念じる 【残りまつえんように】


863 :名無しさん@お腹いっぱい。:03/06/06 22:28
(setq delete-auto-save-files t)
これか?
kill-bufferした時は消えるけど、kill-emacsした時は残るんだよなー

864 :わからずや:03/06/06 22:34
(setq backup-inhibited t)
(setq delete-auto-save-files t)
(setq make-backup-files nil)
(setq auto-save-list-file-name nil)
(setq auto-save-list-file-prefix nil)
これだけ、やってまだ残ります。
861さんの、いう通り残した方がいいのかな。


865 :わからずや:03/06/06 23:08
できました。今できました。さっそく貼り付けます。
(setq backup-inhibited t)
(setq auto-save-default nil)
(setq delete-auto-save-file-if-necessary t)
(setq delete-auto-save-files t)
(setq make-backup-files nil)
(setq auto-save-list-file-name nil)
(setq auto-save-list-file-prefix nil)
(setq inhibit-startup-message t)
(line-number-mode t)
(column-number-mode t)
これで、なにもバックアップをとらなく、なったかと思います。
失礼しました。

866 :_:03/06/06 23:12
http://homepage.mac.com/hiroyuki43/hankaku07.html

867 :直リン:03/06/06 23:14
http://homepage.mac.com/yuuka20/

868 :名無しさん@お腹いっぱい。:03/06/07 00:20
何度 rm * ~ して泣いたことか。


869 :名無しさん@お腹いっぱい。:03/06/07 01:18
ここは emacs設定質問スレじゃないのに……。

870 :名無しさん@お腹いっぱい。:03/06/07 01:19
まぁ、名前がそれを語っているか。
「わからずや」ですものね。

871 :名無しさん@お腹いっぱい。:03/06/07 13:38
>>868
~ (dired-flag-backup-files) を使うといいよ。


872 :790:03/06/09 04:00
>>859
本当ですか? ありがとうございます。
無反応だとさみしくなっちゃうんで、とてもうれしいです。

もっとも >>790 のやつは、それからまったくいじってなくて、
今は気まぐれに使う程度。G が効かないとか、問題もいろいろあるんですけど。
ひょっとしたら、そのうち直すかも?

873 :859:03/06/09 22:04
>>872
本当ですよ。いままで、makkkkkkkkky'aとかやってましたから。
viperをvimにできたら最高ですよね。

874 :790:03/06/10 03:57
>>873
> viperをvimにできたら最高ですよね。

そう思って作ったのが、
>>818-826
これだったのですが…

875 :859:03/06/10 08:15
>>874
>>818-826
ぜんぜん見てませんでした。ちょっとやってみましたが、最高です。
あとは^W[HJKL]ですね。

876 :859:03/06/10 15:03
windmoveは思ったとおりに動いてくれないけど、
>>818のは思い通りに動きますね。

877 :名無しさん@お腹いっぱい。:03/06/10 18:22
>>876
minibuffer に移動できないバグは、 CVS では直ってるらしい。
他におかしいとこある?

878 :859:03/06/10 18:28
>>877
c-x2 shift↓ c-x3 shift→
で、右下にいけません。

879 :790=818=874:03/06/10 23:42
>>878
僕がいうのも何ですが、手元の windmove でもできましたよ。
emacs21 付属のやつ。

ところで ^W[hjkl] のキーバインドは、
>>818 のやつに sample として書いてあるはずです。

ここら辺のコメントはずせば使えます。
> ;; vim like keybind. viper user may like it.
> ;(defvar my-window-map (make-sparse-keymap))
> ;(define-key global-map "\C-w" my-window-map)
~ 中略
> ;(define-key my-window-map "k" 'my-goto-window-up)
> ;(define-key my-window-map "l" 'my-goto-window-right)

# windmove があるのに >>818 をわざわざ使ってくれるのはうれしいです。

880 :878:03/06/11 01:03
>>879
あ、できるのですか。僕の環境ではできないのでgoto-window-relatively.el
を使っています。

>ところで ^W[hjkl] のキーバインドは、
>>>818 のやつに sample として書いてあるはずです。]
はい、もちろん^W[hjkl]で使っています。
もし、>>875のレスでしたら、^W[HJKL]はバッファを入れ替える動作のことです。
http://www.bookshelf.jp/soft/meadow_22.html#SEC231
こんなかんじのです。

881 :879:03/06/11 01:34
> もし、>>875のレスでしたら、^W[HJKL]はバッファを入れ替える動作のことです。
感違いしてました。ごめんなさい。

vim の ^W[HJKL] は初めて知りました。
その url の、swap-screen も同じようなものなのかな。
横移動がないようですが。

882 :878:03/06/11 07:59
>>881
'swap-screen-with-cursorと同じです。
C-x2の状態から^WHでC-x3の状態にもできます。

883 :名無しさん@お腹いっぱい。:03/06/18 01:35
psgml で属性のとこにも色を付けてみるパッチ。
既出だったらごめん。
----BEGIN BASE64----(psgml-other.diff.gz)
H4sICKxC7z4AA3BzZ21sLW90aGVyLmRpZmYAlVLbjtowEH1OvmLEC46yg5ysQBS1
Ev/RtJIJQ4gITmpPluXvO06I2C3sQ/2Qi+fMOXM5iAidr84Ntnwkt6Bm0bq6inKt
M9Q5Zhqy1eb1dbNcL/R0INXftI7TNP0nN6S9ol5htgadbfLlRucPadstCO3qZQVp
eGVL2G5jiEHt6fBmHAyMvSdkemfsXNuR45o82LpJBJgGYG9HnCfGgykJDbMD5dk4
BrL7JE5Bfs0bIb2XvfN1a8OVXFYtt1geg1JAJ7fry7FuCJQj4TSuPOKhdRfj9jAr
ClUU/pIWRfIjfM9+/i5mv9JCAsksiMFEIjRdz58Kv4I6Gxa6HVW1tbWtIEumu5Cb
SW4URTAPbciztYxNW55QZlGbXUNozZmGJv9LJf+kkn+l4tkJeqSXE6fjIh7mK9P4
MF7gayflhFIaYlBqoFXlXkDG+z9DfGQ4G3fqu4HEDwpjB2Vr96MVstEK+fJlPTgh
GuLmwOTCmmwl4r0tWTY4eWCE7EiKoueYAHoypXsD4yBuU41k+2RB0a3w+YBDNlUI
BiM9eu1utVtLNxcFnu8fovfg871lOMDGopxYD600wXV5usJcTXuZaBTHfwG3QqEN
swMAAA==
----END BASE64----


884 :名無しさん@お腹いっぱい。:03/06/19 14:29
;; S+↓↑←→ で、分割 Window 間を移動。
(windmove-default-keybindings)

;; Window
(global-set-key [C-left] 'shrink-window-horizontally);C+← 横のWindowを狭める
(global-set-key [C-right] 'enlarge-window-horizontally);C+→ 横のWindowを広げる
(global-set-key [C-down] 'shrink-window);C+↓ 下にWindowを狭める
(global-set-key [C-up] 'enlarge-window);C+↑ 上にWindowを広げる


885 :名無しさん@お腹いっぱい。:03/06/19 14:50
>>884
オレも似たよーな事をしている。こんなの。
(defun my-enlarge-window (n)
(interactive "p")
(enlarge-window (* n 2))
(recenter))


886 :名無しさん@お腹いっぱい。:03/06/19 18:30
俺のはこんなやつ。xemacs用だけど

(defun my-modeline-up (arg)
(interactive "p")
(if (window-lowest-p (selected-window))
(or (window-highest-p (selected-window))
(enlarge-window arg))
(shrink-window arg)))


887 :名無しさん@お腹いっぱい。:03/06/20 21:47
Meadow memoをみていろいろ設定した結果、同じキーでも干渉しあうものもあり
キー設定が足らないと思っている人向け。

;;Win32専用: Windowsに、修飾キーである hyperキーとsuperキーを追加
(w32-set-modifier-key 92 'hyper) ; 左Windowsキー
(w32-set-modifier-key 93 'super) ; アプリケーションキー


これで左Winキーを押しながらのキーバインドが追加できる

例、mode-infoは通常のタグジャンプとは置き換えできず(C-uM-.ができない)
  設定キーを変えたいが、なるべくタグジャンプのキーに近いほうがいいので
(global-set-key [(hyper .)] 'mode-info-find-tag) ;; hyper(左ミ田)を押しながら"."

としています。
個人的に標準キーをつぶしてほかの機能を追加することは極力避けたいので
こうしています。

888 :名無しさん@お腹いっぱい。:03/06/20 22:53
板違い。

889 :名無しさん@お腹いっぱい。:03/06/20 23:09
しかし、ソフト板はなんであんなに糞なんだろうな。

890 :名無しさん@お腹いっぱい。:03/06/20 23:55
Windows キーやアプリケーションキーって、標準キーじゃなかったんですね。

891 :名無しさん@お腹いっぱい。:03/06/21 01:57
>>890
ノートはThinkPad、デスクトップのキーボードはHHKですが、何か?


892 :名無しさん@お腹いっぱい。:03/06/21 02:06
>>891
いえ、何も。


893 :名無しさん@お腹いっぱい。:03/06/21 02:08
>>889
meadowスレは痛いな…

894 :名無しさん@お腹いっぱい。:03/06/21 03:15
痛いスレヲチをこのスレでやらないでくだちい。

895 :名無しさん@お腹いっぱい。:03/06/21 03:25
meadow ってどんな動物なんですか?

896 :887:03/06/21 03:52
>>888
> 板違い。

ごめんごめん。
昨日から廃れたスレを何とか立て直そうと思ってね。

ではネタもとのWebページでXのキーの換え方も
載っているんでそっち見て。
http://www.d4.dion.ne.jp/~usuda/emacs/#EMACS-KNOW

でわでわ。

897 :hoge:03/06/24 15:59
emacsいじりは初心者です。
行間をモード毎に変えようとして、カッコ良く再帰を使おうとして

(setq my-no-line-spacing-hook-list '('c-mode-hook 'c++-mode-hook 'emacs-lisp-mode-hook))
(if (>= (string-to-int emacs-version) 21)
(progn
(setq-default line-spacing 4)
(defun my-set-line-space (hook-list line-space)
(if (eq hook-list nil) nil
(add-hook (car hook-list) ;; <-- 1
(lambda ()
(setq line-spacing line-space))
(my-set-line-space (cdr hook-list)))))
(my-set-line-space my-no-line-spacing-hook-list 0))
nil)

としてるんですが、うまく動きません。(エラー出まくる)
再帰しないでadd-hook 単体の時は

(add-hook 'c++-mode-hook
(lambda ()
(setq line-spacing 0)))

でうまくいってるのですが…
長文スマソ。


898 :hoge:03/06/24 16:02
ここ質問スレじゃなかったですね。
emacsスレ行ってきます。失礼。

899 :名無しさん@お腹いっぱい。:03/06/27 13:22
>>883
yahtmlやhtml-helper-modeと比べて属性に色が付かないことだけが
不満だったので非常にありがたい。

いくつか色が付かないものがあったので属性を探すの正規表現のところは
"\\(\\sw+\\)\\s *=\\s *\\(\"[^\"]*\"\\|'[^']*'\\)"
にしてみた。
引用符でくくられてない属性は無視してるけど。

900 : :03/06/27 18:05
スト-ルマンの .emacs って公開されてないの?



901 :名無しさん@お腹いっぱい。:03/06/27 18:05
>>900
空っぽという噂だけど、ほんとかな。

902 :名無しさん@お腹いっぱい。:03/06/30 01:49
>>901
Emacs21の変なデフォルト動作(homeキーとかendキーとか)は
ストールマンの趣味だったのか。。。

903 :名無しさん@お腹いっぱい。:03/06/30 04:17
>>902
rms は home, end は使ってないだろ。

904 :名無しさん@お腹いっぱい。:03/06/30 15:07
C-xC-l とか、本人も禁止にしてるわけ?

905 :名無しさん@お腹いっぱい。:03/06/30 17:12
>>904
ワロタ

906 :名無しさん@お腹いっぱい。:03/06/30 23:31
>>904
どーいう事?
CVS 先端では
(put 'downcase-region 'disabled nil)
しなきゃならなくなったとか??

# ところで 900すぎたけど、最近殆どコードの披露ないから
# 次スレはないのかな……。

907 :名無しさん@お腹いっぱい。:03/06/30 23:34
>>906
禁止にしておかないと、.emacs に
(put 'downcase-region 'disabled nil)
って書かれてしまうじゃん。

ってことは、当然ミニバッファでの評価(M-:)も禁止だろうな。


908 :名無しさん@お腹いっぱい。:03/07/01 00:22
>>907
御免。C-h k C-x C-l はしたけど、
まさかそんな扱いになってるコマンドとは思わなくて
C-x C-l は試さなかった。ホント、まぬけでした。

909 :904:03/07/01 02:39
そういや downcase-region って使ったことないな。
M-: はよく使うけど。
日本人なら kakasi 使って hiragana-region とか。意味ないか。


910 :名無しさん@お腹いっぱい。:03/07/09 23:45
意味はなくもないけど需要がなさそうだなw

911 :山崎 渉:03/07/15 11:17

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

912 :名無しさん@お腹いっぱい。:03/07/15 17:44
童貞max

913 :名無しさん@お腹いっぱい。:03/07/31 21:11
最近 phpでテンプレートを使うようになって、foo.php と foo.htmlを行った
り来たりするようになった。そのたんびに、find-fileや switch-to-bufferす
るのがかなりつらいから、作ってみた。

ごみだったらゴメンな。

;;; Code:
(defvar find-file-existed-complementary-alist
(mapc
(lambda (elt)
(cons (purecopy (car elt)) (cdr elt)))
'(("\\.html$" . "\\.php$")
("\\.c$" . "\\.h$")))
"*Alist of complementary pair of extension patterns in filename.")


(defun extension-from-pattern (pattern)
"Return true extension which is included period from search pattern."
(let ((beg (string-match "\\." pattern))
(end (string-match "\\$" pattern)))
(substring pattern beg end)))

---つづく---

914 :913:03/07/31 21:20
(defun return-complementary-file-name (file-name list)
"Return complementary file name. or return nil in case of not found."
(let ((new-name nil))
(while list
(let ((ext1 (car (car list)))
(ext2 (cdr (car list))))
(if (not (null (string-match ext1 file-name)))
(progn
(setq new-name (concat
(file-name-sans-extension file-name)
(extension-from-pattern ext2)))
(if (file-exists-p new-name)
(setq list '(dummy))))
(if (not (null (string-match ext2 file-name)))
(progn
(setq new-name (concat
(file-name-sans-extension file-name)
(extension-from-pattern ext1)))
(if (file-exists-p new-name)
(setq list '(dummy)))))))
(setq list (cdr list)))
new-name))
---つづく---

915 :913:03/07/31 21:20
(defun find-file-existed-complementary ()
"Find existed complementary file of current buffer's file"
(interactive)
(if (not (null buffer-file-name))
(let ((new-file-name (return-complementary-file-name
buffer-file-name
find-file-existed-complementary-alist)))
(if (not (null new-file-name))
(find-file new-file-name)
(message "\"%s\" does not have a complementary file."
(file-name-nondirectory buffer-file-name))))
(message "The buffer you specified does not have a real file.")))

;;; find-file-existed-complementary ends here

長くて申し訳ない。

916 :913:03/07/31 21:23
ファイルの相方同士の拡張子を定義するには以下のようにします。

;; .e.g
;; (setq find-file-existed-complementary-alist
;; (append '(("\\.cpp$" . "\\.h$"))
;; '(("\\.cpp$" . "\\.hpp$"))
;; find-file-existed-complementary-alist))

めんどくさくて申し訳ない。

917 :名無しさん@お腹いっぱい。:03/07/31 21:57
>>913

213
http://pc.2ch.net/test/read.cgi/unix/1059653836/

( ゚д゚)ポカーン

918 :名無しさん@お腹いっぱい。:03/07/31 22:11
あーらら、誤操作ですか?

919 :913:03/08/01 11:24
すまんす。ミスった。すんません。

920 :913:03/08/01 13:52
とりあえず誤操作でスレ立て防止のため、
(define-key navi2ch-board-mode-map "w" nil)
としときました。

navi2ch関係、スレ違いすんません。

921 :名無しさん@お腹いっぱい。:03/08/01 21:21
どんまい。

922 :あぼーん:あぼーん
あぼーん

923 :名無しさん@お腹いっぱい。:03/08/11 10:25
C-xC-fで存在しないファイルを指定したとき、空のバッファを作ってしまうの
を防ぐ。

(defadvice find-file (before existing-file activate compile)
"When interactive, find file existing files only."
(interactive "f"))

ところで、このスレってもしかして終わってる?

924 :名無しさん@お腹いっぱい。:03/08/11 10:34
>>923
???じゃあ新しいファイルはどうやって作るの?

925 :923:03/08/11 10:47
>>924
M-x esh
$touch newfile
C-xC-f newfile

ダメ?C-uくらいは対応すべきか。


926 :名無しさん@お腹いっぱい。:03/08/11 11:35
>>923
C-x C-r じゃだめなのか?

927 :923:03/08/11 11:39
C-x C-rて find-file-read-only?


928 :名無しさん@Emacs:03/08/11 14:29
次スレきぼんぬ。


929 : :03/08/11 15:06
藻前が立てれ


930 :名無しさん@お腹いっぱい。:03/08/11 15:31
>>926
C-xC-v じゃねーの?

>>928
980までいってからで十分。

931 :名無しさん@お腹いっぱい。:03/08/12 13:11
>>927
そう

>>930
C-xC-r ならファイルがなきゃ開かないでそ、ということ

編集が必要なら C-xC-q すりゃいいし

932 :923:03/08/12 13:56
>>931
> 編集が必要なら C-xC-q すりゃいいし

viみたい(w

933 :名無しさん@お腹いっぱい。:03/08/12 14:05
既存のファイルを開くときは最後の一文字をタブで補完すればいいと思う。

934 :名無しさん@お腹いっぱい。:03/08/12 14:07
>>923よりは>>931のほうがスマートだと思う。
923はEmacsで新ファイルを作らない人なのか?

935 :923:03/08/12 15:01
>>934
めったにつくりません。
ファイル開いてC-x C-wすることが多いです。


936 :名無しさん@お腹いっぱい。:03/08/12 15:07
俺はむしろファイルを作ってC-x iだな

937 :名無しさん@お腹いっぱい。:03/08/13 02:17
補完すれば大体存在しているファイルにいきつくけど、
そんなに空バッファが作られるのがいやなのか。

938 :名無しさん@お腹いっぱい。:03/08/13 03:48
hoge.txtを編集するぞ…と思ってhoge[TAB][RET]と押したら
hoge2.txtもあって補完が途中で止まってしまって中途半端な名前でバッファが出来てしまうのがいやだ

939 :名無しさん@お腹いっぱい。:03/08/13 05:08
>938
おれもそれすごく嫌。なんとかして。


940 :名無しさん@お腹いっぱい。:03/08/13 09:17
>>938,939
スレ違い。iswitchb あたり利用してみろ。

941 :あぼーん:あぼーん
あぼーん

942 :あぼーん:あぼーん
あぼーん

943 :名無しさん@お腹いっぱい。:03/08/16 18:47
>>938
中途半端な名前のバッファが出来てしまったら、
C-xC-v すればいいんじゃないの?

944 :名無しさん@お腹いっぱい。:03/08/16 19:20
>>943
そんなのがあるとは知らなかった。
これからは使ってみる。


945 :923:03/08/19 17:39
ファイル保存時に自動的にファイル名を書き込む。autoinsert使ってない人向け。
つっこみどこは多数あると思われ。

(defvar my-insert-filename-target-string "Filename:"
"The filename string is inserted following this string.")
(defvar my-insert-filename-lines 10
"Its applied upto this line number from head of file.")
(add-hook 'write-file-hooks
'(lambda ()
(save-excursion
(save-restriction
(narrow-to-region (point-min) (progn
(goto-char (point-min))
(end-of-line)
(let ((lines my-insert-filename-lines))
(while (and (not (eobp)) (> lines 1))
(next-line 1)
(end-of-line)
(setq lines (1- lines))))
(point)))
(goto-char (point-min))
(if (not (null (search-forward my-insert-filename-target-string nil t)))
(progn
(if (not (eolp))
(kill-line))
(insert " ")
(insert (file-name-nondirectory buffer-file-name))))))))


946 :945:03/08/19 17:50
>>945
グローバル変数の定義を間違えてました。
正しくは以下。すんまそん。

(defvar my-insert-filename-target-string "Filename:"
"*The filename string is inserted following this string.")
(defvar my-insert-filename-lines 10
"*Its applied upto this line number from head of file.")


947 :名無しさん@お腹いっぱい。:03/08/20 00:42
英語が変。

948 :名無しさん@お腹いっぱい。:03/08/20 07:41
なら、どう変なのか直してやれよ


949 :945:03/08/20 09:56
>>947
エキサイトで英日翻訳してみました。

ファイル名ストリングはこのストリングに続いて挿入されます。
それは、ファイルの頭からのこのライン番号まで適用されます。

だいたい意図は合っていると思うのですが・・・。
英語ってムズカシ。

950 :ヽ(´ー`)ノ:03/08/20 10:22
受け身で書いてるからおかしいんじゃないのかな。

time-stamp.el のコメントを借りれば、

"String after which the filename is inserted."
"Lines of a file searched;"

…ってところか。


951 :名無しさん@お腹いっぱい。:03/08/20 10:50
>>949
Emacs Lisp リファレンスマニュアルの巻末付録に
「A.3 説明文字列に関するヒント」つうのがありますよ。

952 :945:03/08/20 10:55
>>950
アリガトウ!
それそのまま使わしてもらいます。


953 :名無しさん@お腹いっぱい。:03/08/20 14:03
俺は progn の妙なインデントのしかたが気になったが。

954 :名無しさん@お腹いっぱい。:03/08/20 14:26
シェルスクリプトとか書かないんだろうな

955 :945:03/08/20 15:12
>>953
2chにコード書くとインデント崩れません?
そゆはなしではなくて?


956 :名無しさん@お腹いっぱい。:03/08/20 15:27
>>953
TAB が消えたな。
untabify しとけ。

957 :名無しさん@お腹いっぱい。:03/08/20 15:35
>>955
そーいう話ではなく、
(narrow-to-region (point-min) (progn
じゃなく
(narrow-to-region (point-min)
(progn
としたほうが一般的じゃないのかなー、と。
いや、ホント感覚的なものでスマソ。
いちおうコードは C-M-q してから拝見してます。

958 :名無しさん@お腹いっぱい。:03/08/20 15:54
>>957
文句言うほどのことじゃないでしょ。

959 :名無しさん@お腹いっぱい。:03/08/20 20:12
まあ、そんなコードが
数万行とあったら文句言いたくなるけどね。

微々たる事で文句いうな。

960 :名無しさん@お腹いっぱい。:03/08/20 21:18
文句でもないカキコに文句言ってるようにも見える(w

961 :名無しさん@お腹いっぱい。:03/08/20 22:10
数万行なら諦めて放置するが
数行なら改善したくなるのが俺達じゃないか

962 :名無しさん@Emacs:03/08/21 08:23
いま >>961 がいいことを言った希ガス

963 :ヽ(´ー`)ノ:03/08/21 13:53
>>954
if expression; then
ですか、それとも
if expression
do
ですか。

>>961
数万行ならフィルタをかますか、と思うのがうに使い。

964 :名無しさん@お腹いっぱい。:03/08/21 20:02
また恐ろしく手に馴染まなさそうなのを作ってしまった。
M-(みたいに{} と[]を入れるだけです。
1回目は[]が入り、2回目は{}が入ります。それ以降はトグル。

(defvar insert-paren-kaku-state nil)
(defun insert-paren-kaku ()
(interactive)
(if (eq last-command 'insert-paren-kaku)
(progn
(forward-char -1)
(delete-char 2)
(if (null insert-paren-kaku-state)
(progn
(insert ?\{)
(save-excursion
(insert ?\}))
(setq insert-paren-kaku-state t))
(progn
(insert ?\[)
(save-excursion
(insert ?\]))
(setq insert-paren-kaku-state nil))))
(progn
(insert ?\[)
(save-excursion
(insert ?\]))
(setq insert-paren-kaku-state nil))))
(global-set-key "\M-[" 'insert-paren-kaku)

ごめんなさいー ひー


965 :名無しさん@お腹いっぱい。:03/08/21 21:11
>>963
if expression
then
と書いてthenの前にthenの後に書くべき処理を
書いてしまってはまったことがあるので今は
if expression; thenだけにしてます。

>>964
M-( を初めて知りますた。

966 :名無しさん@お腹いっぱい。:03/08/21 21:22
なぜか夏休み終盤に作る工作が頭に浮かんできた

967 :名無しさん@お腹いっぱい。:03/08/21 21:27
M-( で思い出したけど、
C-0 〜 C-9 と M-0 〜 M-9が digit-argumentされてるのって
果てしなくキーバインド資源の無駄遣いだと思ふ。

C-0 〜 C-9は許せるにしてもメタまで食うかと。

968 :名無しさん@お腹いっぱい。:03/08/21 22:22
>>967
なら自分で bind しなおせばいいじゃん。
ちなみの俺は M-num は以前から知ってたが、
C-num は最近の emacsスレ(だったかな?)見るまで知らんかった。
# おもいっきりスレ違いだな。

969 :名無しさん@お腹いっぱい。:03/08/22 03:58
昔は esc-数値で numeric argument 入れてたから、
M-数値はそのなごりなのかな。

970 :名無しさん@お腹いっぱい。:03/08/22 14:33
俺は M-num は windows.el で画面切り替えるのに使ってますです。
こんなん。
(let ((i 1))
(while (< i 10)
(define-key esc-map (number-to-string i) 'win-switch-to-window)
(setq i (1+ i))))
(define-key esc-map "0" 'win-toggle-window)


971 :名無しさん@お腹いっぱい。:03/08/25 09:27
トグルネタが出たので便乗。ナロイングリージョンをトグルさせる。

(defvar toggle-narrowing-region-window-start nil)
(defun toggle-narrowing-region (beg end)
"Toggle narrowing/widening region."
(interactive "r")
(if (string-match "<[0-9]* - [0-9]*>" (what-cursor-position))
(progn
(widen)
(set-window-start nil toggle-narrowing-region-window-start)
(message "widened."))
(progn
(setq toggle-narrowing-region-window-start (window-start))
(narrow-to-region beg end)
(message "narrowed."))))
(global-set-key "\C-xnn" 'toggle-narrowing-region)

ナロイングしてるかどうかを what-cursor-positionの出力文字列に頼ってい
るのがちょっと怪しいが、とりあえずは動く。


972 :名無しさん@お腹いっぱい。:03/08/28 06:22
>>971 これでどう?
(= (- (point-max) (point-min)) (buffer-size))
multibytenessとの絡みは未確認。

973 :名無しさん@お腹いっぱい。:03/08/28 09:02
(defun narrowing-p ()
(not
(let ((min (point-min)) (max (point-max)))
(save-restriction (widen)
(and (eq (point-min) min) (eq (point-max) max))))))


974 :971:03/08/28 11:11
>>972
>>973

アリガd。基本はpoint-min/maxで比べるということか。
参考になりますた。



975 :きょん:03/09/02 01:31
まじめな質問
「mewのMessageモードのヘッダ部分に色がつかない。」

.mew.elには、
(setq mew-theme-file "~/.mew.theme.el")
の記述をして、
.mew.theme.el
はデフォルトのままホームディレクトリに.mew.elと一緒に置いてます。

で、M-x list-colors-displayを実行すると、色の名前も色の一覧も何も表示しない。
使ってる仮想端末エミュレータはTeraTerm,PuTTY.
(両方ともヘッダ部分に色表示なし)

サーバ側の問題だろうか・・?

976 :名無しさん@お腹いっぱい。:03/09/02 01:38
スレ違い。

977 :名無しさん@お腹いっぱい。:03/09/02 02:49
しかも板違い。

978 :名無しさん@お腹いっぱい。:03/09/02 13:54
さらにマルチ。


979 :名無しさん@お腹いっぱい。:03/09/08 07:33
板違いではないだろ、一応mewスレもあるし。


980 :Kusakabe Youichi:03/09/08 21:07
今だ!980ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄    (´´
  ヘ_ヘ   )      (´⌒(´
ミ ・ ・ ミ   )   (´⌒(´
(  ° )〜≡≡≡(´⌒;;;≡≡≡
   ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ


981 :名無しさん@お腹いっぱい。:03/09/12 11:50
>>979
TeraTermのせいだろうから板違い

982 :名無しさん@お腹いっぱい。:03/09/12 14:18
最近コードがなくてちょっと寂しいから、昔書いたやつだけど。
カレント行を2重化する。同じような行をたくさん書く人へ。
ちなみに前置引数xでx行繰り返す。

(defun multi-line (&optional ARG)
"Multiply current line."
(interactive"*p")
(let ((cnt 0)
(pt (point)))
(save-excursion
(end-of-line)
(copy-region-as-kill (point) (progn
(beginning-of-line)
(point)))
(if (null ARG)
(setq ARG 1))
(while (< cnt ARG)
(yank)
(newline)
(setq cnt (1+ cnt))))
(goto-char pt)))

;; テキトーに
(global-set-key [?\M-=] 'multi-line)

kill-bufferに入ってしまうのがちょっとアレなんだな〜。


983 :名無しさん@お腹いっぱい。:03/09/12 15:02
Emacs 18版でも使うつもりがない限り、 Lispプログラムからは
copy-region-as-killを呼ばないこと。 Emacsの新しい版では、そのかわりに
kill-newやkill-appendを使うほうがよい。


984 :名無しさん@お腹いっぱい。:03/09/12 16:17
>>982
> kill-bufferに入ってしまうのがちょっとアレなんだな〜。
(setq str (buffer-substring-no-properties (point)
(progn
(beginning-of-line)
(point))))
(insert str)
みたくすればいいのでは?

985 :982:03/09/12 17:51
>>983
>>984
とても勉強になりますた。
こんなに的確なアドバイスもらえるなんて・・・
ありがとうLisperな兄貴たち。


986 :名無しさん@お腹いっぱい。:03/09/13 09:27
(defun beginning-of-line-or-indentation ()
(interactive)
(let ((old-point (point)))
(back-to-indentation)
(if (= (point) old-point)
(beginning-of-line))))
(global-set-key "\C-a" 'beginning-of-line-or-indentation)

C-a で「空白をのぞいた」行頭に、もっかい C-a で普通の行頭に。


987 :名無しさん@お腹いっぱい。:03/09/13 09:34
>>986
M-m じゃダメなん?


988 :名無しさん@お腹いっぱい。:03/09/13 09:38
>>987
べつにそーいうのもいいんでない?

989 :名無しさん@お腹いっぱい。:03/09/13 17:02
>>987
back-to-indentation じゃん。

990 :名無しさん@お腹いっぱい。:03/09/13 18:48
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                   ここまで読んだ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


991 :名無しさん@お腹いっぱい。:03/09/13 20:38
>>986
> C-a で「空白をのぞいた」行頭に、もっかい C-a で普通の行頭に。
おれ自身は必要ないが、こういう工夫結構好き。
C-k も似たようなものだね。
あんまり複雑にし過ぎると使わなくなるという罠もあるが。

326 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)