私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
【叩かれて】Emacs Lisp道場【強くなれ】
emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ○
レスフィルター : (試験中)
返事が遅れました。初心者に付き合っていただいて、ありがとうございます。
LISPがC言語とどう違うのか教えてください。
言語が違うってのは略。利点や使う場面等。
UNIXと深い関係にあるのですか?
LISPがC言語とどう違うのか教えてください。
言語が違うってのは略。利点や使う場面等。
UNIXと深い関係にあるのですか?
使う場面: スクリプティング用途
例:
Emacsのカスタマイズ
Gimpのプラグイン (script-fu)
ゲーム作り (AisleRiotのルールとかtrackballsのステージとか)
WMのカスタマイズ (http://scwm.sourceforge.net/ とか)
uimの各種IMの実装
利点:
クロージャとマクロが使える
いや、「LispとCがどう違うか」なんて言ってる奴にマジレスするなんて
我ながら釣られているとしか思えないが…
例:
Emacsのカスタマイズ
Gimpのプラグイン (script-fu)
ゲーム作り (AisleRiotのルールとかtrackballsのステージとか)
WMのカスタマイズ (http://scwm.sourceforge.net/ とか)
uimの各種IMの実装
利点:
クロージャとマクロが使える
いや、「LispとCがどう違うか」なんて言ってる奴にマジレスするなんて
我ながら釣られているとしか思えないが…
建築系でメジャーな AutoCAD も lisp でカスタマイズする。
Emacs みたいに lisp interpreter をコアにしてるのか?
Emacs みたいに lisp interpreter をコアにしてるのか?
>>616
正直、PythonやRubyが普及している今となってはlispを使う意味はないよなぁ。
その記事で、オブジェクトの永続化とか動的バインドとかで、すごい助かった
って言ってるけど、それなら別にlispでなくてええやん。Pythonでええやん。
正直、PythonやRubyが普及している今となってはlispを使う意味はないよなぁ。
その記事で、オブジェクトの永続化とか動的バインドとかで、すごい助かった
って言ってるけど、それなら別にlispでなくてええやん。Pythonでええやん。
Lisp 道場らしくいこう。
java のソース上で、find-file-at-point したときに、クラスに対応したファイルを探
してみる。
制限:
- 同じソースツリー上にあるものだけが対象。
- 今見てるソースと同じディレクトリにクラス名と同じパッケージがあったりするとダメ
だったりする。
次のレスからソース。
java のソース上で、find-file-at-point したときに、クラスに対応したファイルを探
してみる。
制限:
- 同じソースツリー上にあるものだけが対象。
- 今見てるソースと同じディレクトリにクラス名と同じパッケージがあったりするとダメ
だったりする。
次のレスからソース。
;; その1
(require 'ffap)
(eval-when-compile
(require 'cl))
(defun ffap-java-package-to-path (package-or-fqcn)
(replace-regexp-in-string "\\." "/" package-or-fqcn))
(defun ffap-java-import-list ()
(save-excursion
(goto-char (point-min))
(let (list)
(while (re-search-forward "import\\s-+\\(.+\\)\\s-*;" nil t)
(push (match-string 1) list))
(nreverse list))))
(defun ffap-java-src-directory ()
(save-excursion
(goto-char (point-min))
(if (re-search-forward "package\\s-+\\(.+\\)\\s-*;" nil t)
(let ((package (match-string 1)))
(replace-regexp-in-string
(concat (regexp-quote (ffap-java-package-to-path package)) "$") ""
(directory-file-name default-directory)))
default-directory)))
(require 'ffap)
(eval-when-compile
(require 'cl))
(defun ffap-java-package-to-path (package-or-fqcn)
(replace-regexp-in-string "\\." "/" package-or-fqcn))
(defun ffap-java-import-list ()
(save-excursion
(goto-char (point-min))
(let (list)
(while (re-search-forward "import\\s-+\\(.+\\)\\s-*;" nil t)
(push (match-string 1) list))
(nreverse list))))
(defun ffap-java-src-directory ()
(save-excursion
(goto-char (point-min))
(if (re-search-forward "package\\s-+\\(.+\\)\\s-*;" nil t)
(let ((package (match-string 1)))
(replace-regexp-in-string
(concat (regexp-quote (ffap-java-package-to-path package)) "$") ""
(directory-file-name default-directory)))
default-directory)))
;; その2
(defun ffap-java-mode (name)
(let ((class (car (split-string name "\\.")))
(import-list (ffap-java-import-list))
(src-directory (ffap-java-src-directory)))
(or
(catch 'found-class
(dolist (import-class import-list)
(when (string-match (concat "\\." (regexp-quote class) "$")
import-class)
(throw 'found-class
(expand-file-name
(concat (ffap-java-package-to-path import-class)
".java")
src-directory)))))
(ffap-locate-file
name '(".java")
(delq nil
(cons
"."
(mapcar (lambda (import-class)
(when (string-match "\\.\\*$" import-class)
(expand-file-name
(ffap-java-package-to-path
(replace-match "" nil nil import-class))
src-directory)))
import-list)))))))
(defun ffap-java-mode (name)
(let ((class (car (split-string name "\\.")))
(import-list (ffap-java-import-list))
(src-directory (ffap-java-src-directory)))
(or
(catch 'found-class
(dolist (import-class import-list)
(when (string-match (concat "\\." (regexp-quote class) "$")
import-class)
(throw 'found-class
(expand-file-name
(concat (ffap-java-package-to-path import-class)
".java")
src-directory)))))
(ffap-locate-file
name '(".java")
(delq nil
(cons
"."
(mapcar (lambda (import-class)
(when (string-match "\\.\\*$" import-class)
(expand-file-name
(ffap-java-package-to-path
(replace-match "" nil nil import-class))
src-directory)))
import-list)))))))
;; 設定
(add-to-list 'ffap-alist '(java-mode . ffap-java-mode))
これでおしまい。
素直に jde とか gtags 使えよって話もあるけどね。
ちょっと開いたソースのクラスを追ったりするのには使えると思う。
(add-to-list 'ffap-alist '(java-mode . ffap-java-mode))
これでおしまい。
素直に jde とか gtags 使えよって話もあるけどね。
ちょっと開いたソースのクラスを追ったりするのには使えると思う。
>>622
おっ、これ結構つかえる。あんがと
おっ、これ結構つかえる。あんがと
淋しすぎるから、ちょっとだけネタ投下。
nxml ネタその1
昔どっかに書いた気もするけど、無理矢理 mule-ucs と共存させるにはこんな感じに修
正すればそれっぽくいける。
ただし、どんな問題が起きるか分からないから自己責任でやる事。
;; 何かあるから無効にしてるハズだから。
--- nxml-mode-orig/nxml-mode.el
+++ nxml-mode/nxml-mode.el
@@ -33,8 +33,8 @@
-(when (featurep 'mucs)
- (error "nxml-mode is not compatible with Mule-UCS"))
+;; (when (featurep 'mucs)
+;; (error "nxml-mode is not compatible with Mule-UCS"))
--- nxml-mode-orig/rng-auto.el
+++ nxml-mode/rng-auto.el
@@ -26,8 +26,8 @@
-(when (featurep 'mucs)
- (error "nxml-mode is not compatible with Mule-UCS"))
+;; (when (featurep 'mucs)
+;; (error "nxml-mode is not compatible with Mule-UCS"))
nxml ネタその1
昔どっかに書いた気もするけど、無理矢理 mule-ucs と共存させるにはこんな感じに修
正すればそれっぽくいける。
ただし、どんな問題が起きるか分からないから自己責任でやる事。
;; 何かあるから無効にしてるハズだから。
--- nxml-mode-orig/nxml-mode.el
+++ nxml-mode/nxml-mode.el
@@ -33,8 +33,8 @@
-(when (featurep 'mucs)
- (error "nxml-mode is not compatible with Mule-UCS"))
+;; (when (featurep 'mucs)
+;; (error "nxml-mode is not compatible with Mule-UCS"))
--- nxml-mode-orig/rng-auto.el
+++ nxml-mode/rng-auto.el
@@ -26,8 +26,8 @@
-(when (featurep 'mucs)
- (error "nxml-mode is not compatible with Mule-UCS"))
+;; (when (featurep 'mucs)
+;; (error "nxml-mode is not compatible with Mule-UCS"))
nxml ネタその2
自分で mime-charset の名前を定義できるようにする。
ari さんの cp932.el を使えばカンペキ。
(defvar nxml-mime-charset-coding-system-alist
'(("windows-31j" . shift_jis)
("cp932" . shift_jis)
("ms932" . shift_jis)))
(defadvice nxml-mime-charset-coding-system
(after nxml-mime-charset-coding-system-use-alist activate)
(unless ad-return-value
(setq ad-return-value
(cdr (assoc-ignore-case (ad-get-arg 0)
nxml-mime-charset-coding-system-alist)))))
自分で mime-charset の名前を定義できるようにする。
ari さんの cp932.el を使えばカンペキ。
(defvar nxml-mime-charset-coding-system-alist
'(("windows-31j" . shift_jis)
("cp932" . shift_jis)
("ms932" . shift_jis)))
(defadvice nxml-mime-charset-coding-system
(after nxml-mime-charset-coding-system-use-alist activate)
(unless ad-return-value
(setq ad-return-value
(cdr (assoc-ignore-case (ad-get-arg 0)
nxml-mime-charset-coding-system-alist)))))
バッファリストをソートしようと
こんな感じにしたけど、全部のバッファが表示されない。。
(defadvice buffer-list (around buffer-list-around activate)
(sort ad-do-it
'(lambda (b1 b2)
(string< (buffer-name b1) (buffer-name b2)))))
defadvice 良く分からん。
Elispも。
make-variable-buffer-localとdefvaraliasの
合の子みたいなのってできないでしょうか。
デフォルトでは変数Bは変数Aの値を使うけれど、
setqされるとAの値を変更するのではなく、
以後は独立した値を持つ、と。
合の子みたいなのってできないでしょうか。
デフォルトでは変数Bは変数Aの値を使うけれど、
setqされるとAの値を変更するのではなく、
以後は独立した値を持つ、と。
>>629
buffer-listは表示なんかしない。
何がしたいのかよくわからんが、list-buffersでの並びを制御したいのだったら
list-buffers-noselectをadviceするべきだと思う。
buffer-listは表示なんかしない。
何がしたいのかよくわからんが、list-buffersでの並びを制御したいのだったら
list-buffers-noselectをadviceするべきだと思う。
したいことは、C-xC-bのとき
ソートしたいなーと思ったんだけど。
list-buffers-noselect の中で buffer-list を呼んでるんで
いいと思ったが、だめか。。
>>635
(setq ibuffer-default-sorting-mode 'alphabetic)してibuffer使っとけ。
(setq ibuffer-default-sorting-mode 'alphabetic)してibuffer使っとけ。
Oh Thanks.
ところで、ibuffer ってファイルだけ
表示って可能か?
C-uC-xC-b っぽいこと。
ところで、ibuffer ってファイルだけ
表示って可能か?
C-uC-xC-b っぽいこと。
初歩的な質問だと思いますが,
xemacsで
/home/mako/jikken/userFiles/690562.txt
など,
/homeではじまり.txtで終るファイル
へのパスが書かれていた場合,
そのパスの上でマウスの中ボタンをクリックすれば,
xemacsでそのファイルを起動できるようにする方法を
教えてください.
あまりLISPにくわしくないので,記述法など詳細に教えて頂ければ
助かります.
googleで検索したところ,URLをマウスの中ボタンをクリックすれば,
ブラウザで起動できるようにする方法は,
(autoload 'browse-url-at-mouse "browse-url"
"Ask a WWW browser to load a URL clicked with the mouse." t)
(add-hook 'mew-message-mode-hook
(function
(lambda()
(local-set-key [mouse-2] 'browse-url-at-mouse)
)))
でできるという事は分かりました.
これを,txtファイル,XEMACSで起動という形に出来れば最高なのですが.
またいろいろ調べていると,thingatptやfiberという
プログラムを使うと出来そうなのですが,そこからどうすれば良いのかが
分かりません.明日までに出来るようにしてと頼まれているので,
急いでいます.
宜しくお願い致します.
xemacsで
/home/mako/jikken/userFiles/690562.txt
など,
/homeではじまり.txtで終るファイル
へのパスが書かれていた場合,
そのパスの上でマウスの中ボタンをクリックすれば,
xemacsでそのファイルを起動できるようにする方法を
教えてください.
あまりLISPにくわしくないので,記述法など詳細に教えて頂ければ
助かります.
googleで検索したところ,URLをマウスの中ボタンをクリックすれば,
ブラウザで起動できるようにする方法は,
(autoload 'browse-url-at-mouse "browse-url"
"Ask a WWW browser to load a URL clicked with the mouse." t)
(add-hook 'mew-message-mode-hook
(function
(lambda()
(local-set-key [mouse-2] 'browse-url-at-mouse)
)))
でできるという事は分かりました.
これを,txtファイル,XEMACSで起動という形に出来れば最高なのですが.
またいろいろ調べていると,thingatptやfiberという
プログラムを使うと出来そうなのですが,そこからどうすれば良いのかが
分かりません.明日までに出来るようにしてと頼まれているので,
急いでいます.
宜しくお願い致します.
解決はしていません.
よろしくお願い致します.
よろしくお願い致します.
Emacs Lisp道場っつーネタかよそれ。しかもすげー自己中。そしてバカ。
小学生が大学生の電気工学の授業中に乗り込んでいって
これができる回路を作ってください。明日までに提出する自由工作なんです。よろしく。
ついては電子工作に詳しくないので回路や作り方も懇切丁寧に教えてください。
というみたいな行動を自分がしているというのは認識しているか? >>639
小学生が大学生の電気工学の授業中に乗り込んでいって
これができる回路を作ってください。明日までに提出する自由工作なんです。よろしく。
ついては電子工作に詳しくないので回路や作り方も懇切丁寧に教えてください。
というみたいな行動を自分がしているというのは認識しているか? >>639
Emacs 22だとlist-buffersではWindowsのエクスプローラとかみたいに
見出しをクリックして並べ替えできるようになってるんだけど、
ibufferは旧態依然なので見劣りしてしまうね。
見出しをクリックして並べ替えできるようになってるんだけど、
ibufferは旧態依然なので見劣りしてしまうね。
>>639 が「自分はヌルーされている」と気付くのはいったいいつかな?(ワクテカ(AA略
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
みんなの評価 : ○類似してるかもしれないスレッド
- 【熱く】お前のEmacsにはまった理由【語れ】 (577) - [36%] - 2021/8/28 17:30 ○
- 「Emacsは消滅すべき」、ゴスリング氏 (127) - [17%] - 2023/1/12 15:45
トップメニューへ / →のくす牧場書庫について