socket使って通信すると言うのも一つの方法です。(anthyとかcannaとか)
953 :
デフォルトの名無しさん :2007/09/25(火) 11:01:14
;; django-html-mode.el --- django html mode (require 'sgml-mode) . (defconst django-html-font-lock-keywords-1 (append ;; html-mode keyword sgml-font-lock-keywords-1) "First level keyword highlighting") (defconst django-html-font-lock-keywords-2 (append django-html-font-lock-keywords-1 sgml-font-lock-keywords-2)) (provide 'django-html-mode) .emacsに (load django-heml-mode.el)を追加して 起動すると Symbol's value as variable is void: sgml-font-lock-keywords-1 というエラーになります sgml-modeはデフォルトで入っているので理由がわかりません どういったことが考えられるのでしょうか? 環境はWindows xp emacs-22.1です
typo
それ以前に、(load "hogehoge") って感じでダブルクォートで囲んでいないからでは
957 :
デフォルトの名無しさん :2007/09/27(木) 10:49:31
meadowでflymakeを動かす方法をどこかにまとまってないでしょうか?
>>958 フツーに動くのでは?
cperl-modeでうまく動かない件については
オレがバグレポート出したよ。返事こないけど。
>>960 {}を好きなところってのはインデントの付け方のスタイルの違いなんで気に入らないならしょうがないかもね
深さの方なら js-indent-levelの数値変えればいいんじゃないの?
962 :
960 :2007/09/28(金) 21:45:56
>>961 ありがとうございます。
設定済みmeadowだと色をつけて強調とかいっさいされてなかったのですが
Redhat linuxでうごかしたら望みどうりのエディタになってくれました
javascript.el は、確かに便利でした
C:\meadow\site-lisp
にjavascript.elを置いたのがいけなかったのかな
963 :
960 :2007/09/28(金) 22:26:10
勘違いしてました 設定済みmeadowを使うとjavascript.el がインストールされていても *.jsというファイルを読み込むと強制的にcc-modeになってしまうようです
964 :
953 :2007/09/29(土) 08:09:43
psgmlを入れていたので'sgml-modeの中身がpsgmlになってたみたいです お騒がせしました
質問です。 M-x h M-x align-regexp [RET] // と同じことをやりたくて、 describe-functionでalign-regexpを調べたところ、 (align-regexp beg end regexp &optional group spacing repeat) と出たので、とりあえず (defun Test () (interactive) (align-regexp (point-min) (point-max) "//")) と書いたTest.elというファイルを用意し load-file後にTestと実行してみたんですが align-regexp: Wrong type argument: numberp, nil と出て使えません。。。 何がマズいんでしょうか? どなたかお願いしますorz
もともとの関数、 align-regexp の定義がマズいっぽい。 これ、他の関数から呼ばれることを想定してない感じ。 ・regexp は \\(\\s-*\\) を前置する ・group は数字を渡さなきゃいけなくて、 1 がデフォルト ・spacing も数字を渡さなきゃいけなくて、 align-default-spacing がデフォルトで、これの初期値も 1 って感じの仕様になってる。 とりあえず (align-regexp (point-min) (point-max) "\\(\\s-*\\)//" 1 1) なら動くと思う。
>>966 なるほど。
そうだったんですか。
ありがとうございました!
968 :
デフォルトの名無しさん :2007/10/01(月) 09:42:04
質問です: 範囲選択したあと, C-c C-tで範囲内のすべての行の先頭にタブを追加したい のですが,どうしたらいいのか教えてください.
板違いに気付け
>>968 (defun oresama-function-insert-tab-in-head-of-line-on-region ()
"選択した領域のすべての行頭にTABを入れる"
(interactive)
(shell-command-on-region (region-beginning) (region-end) "sed s/^/'C-qTABとかでタブ文字をいれておく'/" nil t)
)
(defun my-insert-tab-in-head-of-lines-on-region (begin end) "選択した領域のすべての行頭にTABを入れる" (interactive "r") (goto-char (max begin end)) (let ((begin (min begin end)) (end (point-marker))) (goto-char begin) (while (<= (point) end) (when (bolp) (insert "\t")) (forward-line 1)) (set-marker end nil))) とか。
string-rectangle でいいんじゃない?
replace-regexpで^を\tに置換するだけで良いと思うんだがなあ。 なんでいろいろややこしい方法考えてるの?
(lambda (start end) (interactive "r") (save-excursion (save-restriction (narrow-to-region start end) (goto-char start) (while (re-search-forward "^" nil t) (replace-match "\t")))))
>>973 interactive に呼んだ場合にはそうだね。
でも他の関数から呼ぶ場合、呼び出し側がその条件を考えなくていいように、こうやる慣習がある。
>>975 narrow-to-region の使い方は参考になった。
ただ、このままだと start が行頭じゃなかった場合でも、必ずそこにタブが入っちゃうね。
narrow-to-region した結果、そこが行頭扱いになっちゃうから。
ああそうか。じゃあこんな感じ? (lambda (start end) (interactive "r") (save-excursion (goto-char start) (and (re-search-forward "^" end t) (save-restriction (narrow-to-region (point) end) (while (re-search-forward "^" nil t) (replace-match "\t"))))))
無能ばかりかwww
まったくだwww で、ためしに自分も書き込んでみると、やっぱ似たレベルなんだよなwww
>>972 を受けてこんなとか
(lambda (start end)
(string-insert-rectangle start end "\t"))
C-x r t とか。
それでも色々やってみるのは楽しい
この場合の問題は、
・start や end が行頭にあることを仮定していいのか
・行頭にない場合がありうるなら、どういう処理が期待されるのか
あたり。
単純に選択した範囲内って条件だと、 start と end それぞれが行頭にない場合を想定しなきゃいけなそう。
で、 start またはそれ以降の最初の行頭から、 end またはそれ以前の最後の行頭まで、各行頭にタブを挿入するってのが妥当かな。
もしかしたら、 start がある行の行頭にもタブ挿入するほうが喜ばれるかもしれないけど。
ってことで、
>>980 を元に、その手の処理を加えてみた。
(lambda (start end)
(interactive "r")
(save-excursion
(goto-char start)
(unless (bolp) (forward-line 1))
(string-insert-rectangle (point) end "\t")))
start が行頭でなく、end も同じ行だった場合に (forward-line 1) で end を通り越しちゃうよ。
>>982 なるほど、その状況には気がつかなかった。
その場合、何もしないのが正しいだろうから、対策はこんな感じでいいかな。
(lambda (start end)
(interactive "r")
(save-excursion
(goto-char start)
(unless (bolp) (forward-line 1))
(unless (> (point) end)
(string-insert-rectangle (point) end "\t"))))
…書いてから気づいた。
これだと
>>982 の状況で更に end が (eobp) を満たす場合、行頭じゃなくても end の位置にタブ挿入しちゃう。
(lambda (start end)
(interactive "r")
(save-excursion
(goto-char start)
(unless (bolp) (forward-line 1))
(unless (> (point) end)
(when (bolp) (string-insert-rectangle (point) end "\t")))))
くらいしなきゃダメだね。
みなさん本当にありがとうございます!! これでReStructuredTextの整形済みブロックが楽々書けます!
ふとスレを確認したら、ここはム板のelispスレじゃねーか。 なんか違和感が。
(!)
scroll-up で、EOBまで移動して、さらにバッファをスクロールして ウィンドウの下端にカーソルが来るようにしたくて、以下のように 書きました。 eobp でないか、ウィンドウの下端でなければ期待通 りに動作しますが、そうでないときにカーソルが上端へ移動してし まいます。何が悪いのでしょうか? Meadow21.4.1使っています。 (defadvice scroll-up (around eob-scroll-up activate) (condition-case err ad-do-it (error (if (and (interactive-p) (not (eobp))) (goto-char (point-max)) (message "End of Buffer.")) (when (eobp) (recenter (1- (window-text-height))) ) nil)))
989 :
988 :2007/10/07(日) 11:56:54
すみません。事故解決しました。
原因は?
991 :
988 :2007/10/07(日) 12:10:58
>>990 recenter する位置が悪いだけでした。
condition-case の外側にしたらできました。
(defadvice scroll-up
(around eob-scroll-up activate)
"バッファ末への移動を可能にし、バッファ末の時 `next-screen-context-lines' を考慮してスクロール"
(condition-case err
ad-do-it
(error
(if (and (interactive-p)
(not (eobp)))
(goto-char (point-max))
(message "End of Buffer."))
))
(and (eobp)
(interactive-p)
(recenter (- next-screen-context-lines)))
nil)
/home/myname/ の下に ダウンロードしたelisp (本来なら/usr/share/emacs/site-lispとかにおくべきもの) 自作のelispのプログラム をおくとしたら,どんなフォルダーするべきかの推奨はあるのでしょうか?
推奨というのは無いだろうけど、 オレは自作の elisp は ~/mylisp/ に入れていて、 他所から貰ってきたものは ~/elisp/ に入れている。 で、単体で使えるものは ~/elisp/elisp1/ に パッケージでインストールするものは ~/elisp/elisp2/ に入れている。 ~/elisp/subdirs.el を置いておいて、.emacs には (let ((default-directory "~/elisp")) (setq load-path (cons default-directory load-path)) (load "~/elisp/subdirs"))
>>992 すでに ~/share/man とか ~/lib/ruby とかを作っているので
ダウンロードした方は ~/share/emacs/ で
自作は ~/lib/emacs を作るかな。
ダウンロードしたelisp /home/myname/share/emacs/site-lisp 自作のelisp /home/myname/local/share/emacs/site-lisp
h
t
p
h
1000ならジュースでも飲むか
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。