■掲示板に戻る■ 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} だ (鬱


次100 最新50
名前: E-mail (省略可) :

read.cgi ver5.26+ (01/10/21-)