元スレEmacs Part 39
emacs覧 / PC版 /みんなの評価 :
551 = :
>>539
別解っぽいものを書いてみた。
call-interactively は使わないほうが行儀が良いような気がする。
>>544
変だったら指摘してくれると大助かり。
(defun somefunc (str)
(interactive "sinput: ")
(if (save-excursion
(goto-char (point-min))
(save-match-data
(search-forward str nil 'noerror)))
(call-interactively 'somefunc)
(insert str)))
ただし call-interactively は使わないほうが行儀が良い気がする。
553 = :
sdic が独自のポップアップ表示してるせいで popwin 管理下に置けなくてストレスMAX
554 = :
>>553
ほれ
;; popwin 管理下におく
(add-to-list 'popwin:special-display-config `(,sdic-buffer-name))
;; sdic-display-buffer 書き換え
(defadvice sdic-display-buffer (around sdic-display-buffer-normalize activate)
"sdic のバッファ表示を普通にする。"
(let ((p (or (ad-get-arg 0)
(point))))
(and sdic-warning-hidden-entry
(> p (point-min))
(message "この前にもエントリがあります。"))
(goto-char p))
(display-buffer (get-buffer sdic-buffer-name)))
555 = :
>>554
ありがとでも sdic-describe-word-at-point がちょっと変な気がする
556 = :
>>555
ほれ。あとちょっと挙動違ってた部分もついでになおした。
;; sdic-display-buffer 書き換え
(defadvice sdic-display-buffer (around sdic-display-buffer-normalize activate)
"sdic のバッファ表示を普通にする。"
(setq ad-return-value (buffer-size))
(let ((p (or (ad-get-arg 0)
(point))))
(and sdic-warning-hidden-entry
(> p (point-min))
(message "この前にもエントリがあります。"))
(goto-char p)
(display-buffer (get-buffer sdic-buffer-name))
(set-window-start (get-buffer-window sdic-buffer-name) p)))
557 = :
追加。閉じる時の変なチラチラも消える。
(defadvice sdic-other-window (around sdic-other-normalize activate)
"sdic のバッファ移動を普通にする。"
(other-window 1))
(defadvice sdic-close-window (around sdic-close-normalize activate)
"sdic のバッファクローズを普通にする。"
(bury-buffer sdic-buffer-name))
558 = :
>>554
>(add-to-list 'popwin:special-display-config `(,sdic-buffer-name))
を
(add-to-list 'popwin:special-display-config `(,sdic-buffer-name ,sdic-window-height))
に直したら大分良くなった
560 = :
ありがてえ・・・
561 = :
速攻でコード書いてくれて凄腕って思うだろ?
こいつらみんな無職なんだぜ……
562 = :
>>548
ありがとうございます。確認してみました。
(define-generic-mode 'my-mode
'(";")
こういう書き出しではじまるgeneric-modeで
;の出力される位置は行頭行末とも適切だとわかったのですがただ行頭が;;になりません
普通generic-modeでこう設定すると行頭は;;となるのでしょうか
563 = :
>>562
emacs-lisp-mode みてみたら、どうやら
comment-add って変数で ; の数を制御しているみたい。
モードのセットアップしてるところで
(setq (make-local-variable 'comment-add) 1) ってやってみて。
564 = :
ここがサポート掲示板か
566 = :
にわかはるびきちが引き取れって言ってるだろうが!!
567 = :
>>563
ありがとうございます。意図した通りの結果が出てきました!
568 = :
きちぼんは誰かに献本されなかったのだろうか。
思うにあいつかなりドケチだよな。
569 = :
書店が献本したがレビューが後回しにされてる
http://d.hatena.ne.jp/rokujyouhitoma/20110816/1313468638
lispじゃなくて普通の方だな
570 = :
>>542-543 >>551
ありがとうございます。save-match-data の使い方を勉強します。
>>541
説明が不足でした。重複している処理なので
whileのたぐいで一度だけ書けばどうにかならないかと悩んでいました。
書き方は再帰でもloopでもかまいませんでした。
571 = :
>>570
save-match-data は >>542 が string-match 使った時に混入しただけで
search-forward 使う分には入れる必要ないかと。
573 = :
必死でアピールしてるな。
578 = :
iOS版は確かあったけどAndroid版はまだじゃないかなあ
と思ったら一応出来ないことはないみたい
http://www.emacswiki.org/emacs/EmacsOnAndroid
579 = :
emacs から emacs を立ち上げれば
elisp だけでの並列プログラミングが実現出来るんじゃないか?
マルチスレッドじゃなくマルチプロセスだけど。
582 = :
replace-regexpについて質問します
このようなテキストがあるところで
akasatana
hamayarawa
ikisitini
「元のテキスト 元のテキスト」のようにテキストを複製するかのような処理を
正規表現の置換で行いたいのですがうまくいきません
置換対象の文字列検索はre-builderでは大丈夫でした
replace-regexp [ret]
\\(.+\\) [ret]
\\1 \\1 [ret]
何を修正すればよいのでしょうか
583 = :
\ を \\ と書く時ってのはどういう理由でそれが必要だったのか考え直せ
584 = :
emacs の正規表現はもうちょっとなんとかならんのかと常々思うわ。
585 = :
似たような問題はどんな言語いじっててもあるからね。
586 = :
>>583
なるほど、re-builderは""内に書くから\\(\\)と書かなければならなくて、
replace-regexpは""内に書かないから\(\)と書くということですね
すっきりしました
587 = :
ELPAの作者がemacsをcommon lispで書き直そうとしているみたい
The Cliffs of Inanity ? Emacs and Common Lisphttp://tromey.com/blog/?p=709
そうなると長い目で見ればcommon lispを知っておいた方がよさそう
588 = :
EmacsをCommon Lispでって・・・・
10年前に Erik Naggum が言ってたのと同じことやん。
歴史は繰り返す。
590 = :
>>588
このあたりの話が関係するか。emacsをcommon lispで、っていうのは真っ正面から議論されていたのかな?
Island Life - 「Cで書くコードの方がCommon Lispで書くより速いって人がいたら、それは彼のCの技量が高すぎるってことだね。」
http://blog.practical-scheme.net/shiro/20100620a-lisp-speed
591 = :
guile emacs の方がいいよ
それはそうと emacs 24で`image-library-alist' is renamed to `dynamic-library-alist' ってなってるの見て
ああもう本当にストールマンいなくなったんだなと実感した
593 = :
>>584
正規表現リテラルでもありゃあいいのにな。
594 = :
>>591のストールマンなら聞いたことがあるが他の人は寡聞にして知らない
emacsの開発歴史というよりも
どういう人がemacsにどういう影響を与えたか、を聞きたい
595 = :
まず名前があがるのがるびきちさんだな
596 = :
>>594
http://ja.wikipedia.org/wiki/Emacs
結構ちゃんと人物も記載されてるよ。
597 = :
define-generic-modeの質問をした者ですが関連する質問をします
test_func {
test
}
のように{が行末に来たときは次の行をスペース2つ分(かタブ1つ分)右にシフトさせて
}が行頭に来たときには左にシフトさせる設定はdefine-generic-mode向けに何かありますか
(上の例では全角スペースを使っています)
単体のemacsでは設定できずyasnippetのようなものを併用しなければならないでしょうか
598 = :
>>597
凝ったことしたくなったら generic-mode 使わないで素でmajor-mode作ってもいいような気もするけど
{ を入力したときに勝手に整形されるようにするのか、
改行したときに勝手にそうなるようにしたいのか、
C-i だの TAB だの入力して indent したときにそうしたいのかによって微妙に入り口は異なると思うけど
基本的には自力で整形処理を書かなきゃいけないと思うよ。
c-mode の c-indent-line の辺り読んで頑張れ
600 = :
gnusわかりにくすぎる
みんなの評価 :
類似してるかもしれないスレッド
- Emacs Part 34 (1001) - [92%] - 2010/6/21 19:45 ○
- Emacs Part 35 (1001) - [92%] - 2010/9/19 17:01
- Emacs Part 36 (1001) - [92%] - 2011/3/1 5:02
- Emacs Part 37 (1001) - [92%] - 2011/6/20 19:47
- Emacs Part 38 (1001) - [92%] - 2011/11/29 0:01
- Emacs Part 49 (974) - [92%] - 2016/12/7 9:45
- Emacs Part 33 (1001) - [92%] - 2010/3/9 20:01 ○
- Emacs Part 32 (1001) - [92%] - 2009/12/20 2:04 ○
- Emacs Part 31 (1001) - [92%] - 2009/10/23 10:31 ○
- Emacs Part 40 (1001) - [84%] - 2012/9/7 0:30
- Emacs Part 53 (989) - [84%] - 2022/12/5 12:45
- Emacs Part 41 (1001) - [84%] - 2012/12/24 4:15
- Emacs Part 54 (97) - [84%] - 2023/1/25 17:15
- Emacs Part 42 (1001) - [84%] - 2013/6/9 5:15 △
トップメニューへ / →のくす牧場書庫について