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

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

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

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

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.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)