私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
【叩かれて】Emacs Lisp道場【強くなれ】
emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ○
レスフィルター : (試験中)
なんとなくEmacs 触り始めて、なんとなくelispにも手を出して
しまったアナタ。
なんとなく書いてしまったコードをココに書き込んで叩かれましょう。
タタカレテツヨクナレ。
年季の入った玄人衆は、もしアドバイスできたらお願いします。
いや、叩きついでにでも。
とりあえず入門書は
http://www.netfort.gr.jp/~kiyoka/emacs_setq/emacs_setq.html
http://www.math.s.chiba-u.ac.jp/~matsu/lisp/emacs-lisp-intro-jp.html
リファレンスマニュアルは(ちと古い)
http://www.fan.gr.jp/~ring/doc/elisp-manual/elisp.html
とか、新しいのは(でも英語)
http://www.delorie.com/gnu/docs/elisp-manual-21/elisp.html
ではひとつ、コード中心の熱いバトルをよろぴく。
しまったアナタ。
なんとなく書いてしまったコードをココに書き込んで叩かれましょう。
タタカレテツヨクナレ。
年季の入った玄人衆は、もしアドバイスできたらお願いします。
いや、叩きついでにでも。
とりあえず入門書は
http://www.netfort.gr.jp/~kiyoka/emacs_setq/emacs_setq.html
http://www.math.s.chiba-u.ac.jp/~matsu/lisp/emacs-lisp-intro-jp.html
リファレンスマニュアルは(ちと古い)
http://www.fan.gr.jp/~ring/doc/elisp-manual/elisp.html
とか、新しいのは(でも英語)
http://www.delorie.com/gnu/docs/elisp-manual-21/elisp.html
ではひとつ、コード中心の熱いバトルをよろぴく。
自慢の.emacsを貼り付けよう
http://pc.2ch.net/test/read.cgi/unix/1001393679/
http://pc.2ch.net/test/read.cgi/unix/1001393679/
ウッス!
自慢スレの括弧の対を入れるのを参考に just-one-spaceを改造してみました。
作る前から明白でしたけど、あきれるほどに実用度ゼロでした・・・_| ̄|○
(defvar my-just-one-space-state nil)
(defun my-just-one-space ()
(interactive)
(if (and (eq last-command 'my-just-one-space) (null my-just-one-space-state))
(progn
(backward-delete-char 1)
(setq my-just-one-space-state t))
(progn
(just-one-space)
(setq my-just-one-space-state nil))))
(global-set-key "\M- " 'my-just-one-space)
(setq completion-ignored-extensions
(cons ".class" completion-ignored-extensions))
(setq completion-ignored-extensions
(cons ".exe" completion-ignored-extensions))
(setq completion-ignored-extensions
(cons ".obj" completion-ignored-extensions))
これを1行にまとめたいのですが、どうすればいいですか?
(cons ".class" completion-ignored-extensions))
(setq completion-ignored-extensions
(cons ".exe" completion-ignored-extensions))
(setq completion-ignored-extensions
(cons ".obj" completion-ignored-extensions))
これを1行にまとめたいのですが、どうすればいいですか?
>>10
(setq completion-ignored-extensions (cons ".class" completion-ignored-extensions)) (setq completion-ignored-extensions (cons ".exe" completion-ignored-extensions)) (setq completion-ignored-extensions (cons ".obj" completion-ignored-extensions))
(setq completion-ignored-extensions (cons ".class" completion-ignored-extensions)) (setq completion-ignored-extensions (cons ".exe" completion-ignored-extensions)) (setq completion-ignored-extensions (cons ".obj" completion-ignored-extensions))
ほしい答えはこれか?
(setq completion-ignored-extensions (append '(".class" ".exe" ".obj" completion-ignored-extensions)))
add-to-list も参照のこと。
(setq completion-ignored-extensions (append '(".class" ".exe" ".obj" completion-ignored-extensions)))
add-to-list も参照のこと。
括弧位置がおかしくない?
(setq completion-ignored-extensions (append '(".class" ".exe" ".obj") completion-ignored-extensions))
(setq completion-ignored-extensions (append '(".class" ".exe" ".obj") completion-ignored-extensions))
(setq completion-ignored-extensions (append `(".class" ".exe" ".obj" ,@completion-ignored-extensions)))
なるほど、こうやるんですね。
どうもありがとうございました。
どうもありがとうございました。
あー append はいらなかった。
XHTMLだと原則終了タグも書かなきゃならないので、タグ書きがめ
んどう。そこで、ミニバッファでタグの要素を打ち込んでカーソ
ル位置にタグを挿入するかんたんなS式
;; insert-htmltag
(defun insert-htmltag (str)
"Insert a pair of HTML tags.
Insert a pair of HTML tags read from
mini buffer at the cursor point."
(interactive "sInput tag: ")
(let ((elm (car (split-string str))))
(if (stringp elm)
(progn (insert "<"str"></"elm">")
(forward-char (- (+ 3 (length elm))))))))
(setq html-helper-mode-hook
'(lambda ()
(define-key html-helper-mode-map "\C-ct" 'insert-htmltag)))
たとえば、ミニバッファで
div class="hoge" と入力すると
<div class="hoge"></div> とカレントバッファに挿入され、カー
ソルもタグのあいだに移動ずみです。
HTML-helper-mode のキーバインドを覚えきらないんで(^_^;)
んどう。そこで、ミニバッファでタグの要素を打ち込んでカーソ
ル位置にタグを挿入するかんたんなS式
;; insert-htmltag
(defun insert-htmltag (str)
"Insert a pair of HTML tags.
Insert a pair of HTML tags read from
mini buffer at the cursor point."
(interactive "sInput tag: ")
(let ((elm (car (split-string str))))
(if (stringp elm)
(progn (insert "<"str"></"elm">")
(forward-char (- (+ 3 (length elm))))))))
(setq html-helper-mode-hook
'(lambda ()
(define-key html-helper-mode-map "\C-ct" 'insert-htmltag)))
たとえば、ミニバッファで
div class="hoge" と入力すると
<div class="hoge"></div> とカレントバッファに挿入され、カー
ソルもタグのあいだに移動ずみです。
HTML-helper-mode のキーバインドを覚えきらないんで(^_^;)
>>19
yatex付属のyahtmlとか。
yatex付属のyahtmlとか。
以前自慢スレで、存在するファイルのみを読み込む
(defadvice find-file (before existing-file activate compile)
"When interactive, find file existing files only."
(interactive "fFind file: \np"))
を書いた者です。
新規ファイルが作れないのが自分でも不便に思ってきたので、
簡単ですが新しいのを考えましたです。
(defun my-find-file (filename &optional wildcards)
(interactive "FFind file: \np")
(when (or (file-exists-p filename)
(y-or-n-p "Not exists. New file? "))
(find-file filename)))
(global-set-key "\C-x\C-f" 'my-find-file)
今度はいかがでしょうか?
(defadvice find-file (before existing-file activate compile)
"When interactive, find file existing files only."
(interactive "fFind file: \np"))
を書いた者です。
新規ファイルが作れないのが自分でも不便に思ってきたので、
簡単ですが新しいのを考えましたです。
(defun my-find-file (filename &optional wildcards)
(interactive "FFind file: \np")
(when (or (file-exists-p filename)
(y-or-n-p "Not exists. New file? "))
(find-file filename)))
(global-set-key "\C-x\C-f" 'my-find-file)
今度はいかがでしょうか?
>>25
(fset 'yes-or-no-p 'y-or-n-p)
(fset 'yes-or-no-p 'y-or-n-p)
>>28
こんなんではいかが?
(defun my-find-file (filename &optional wildcards)
(interactive "FFind file: \np")
(unless (or (file-exists-p filename) (y-or-n-p "Not exists. New file? "))
(setq filename nil)
(command-execute 'my-find-file))
(find-file filename))
こんなんではいかが?
(defun my-find-file (filename &optional wildcards)
(interactive "FFind file: \np")
(unless (or (file-exists-p filename) (y-or-n-p "Not exists. New file? "))
(setq filename nil)
(command-execute 'my-find-file))
(find-file filename))
>>30
拙者もちょっと気になってましたが、
何をどうやればよいのやら・・・。
(interactive "FFind file: \np")のプロンプトの後に文字列を挿入すること自体、
さっぱりわかりません。
拙者もちょっと気になってましたが、
何をどうやればよいのやら・・・。
(interactive "FFind file: \np")のプロンプトの後に文字列を挿入すること自体、
さっぱりわかりません。
(defun my-find-file (filename &optional wildcards)
(interactive "FFind file: \np")
(unless (or (file-exists-p filename) (string-match "[[*?]" filename)
(y-or-n-p "Not exists. New file? "))
(let* ((regexp (concat "^" (regexp-quote default-directory) "\\(.*\\)"))
(str (progn
(string-match regexp filename)
(match-string 1 filename))))
(catch 'exit
(while t
(setq filename
(read-file-name "Find file: " default-directory nil nil str))
(when (or (file-exists-p filename) (string-match "[[*?]" filename)
(y-or-n-p "Not exists. New file? "))
(throw 'exit t))
(string-match regexp filename)
(setq str (match-string 1 filename))))))
(find-file filename wildcards))
(interactive "FFind file: \np")
(unless (or (file-exists-p filename) (string-match "[[*?]" filename)
(y-or-n-p "Not exists. New file? "))
(let* ((regexp (concat "^" (regexp-quote default-directory) "\\(.*\\)"))
(str (progn
(string-match regexp filename)
(match-string 1 filename))))
(catch 'exit
(while t
(setq filename
(read-file-name "Find file: " default-directory nil nil str))
(when (or (file-exists-p filename) (string-match "[[*?]" filename)
(y-or-n-p "Not exists. New file? "))
(throw 'exit t))
(string-match regexp filename)
(setq str (match-string 1 filename))))))
(find-file filename wildcards))
こんなのも考えてみた。
(defun my-find-file-interactive-arg (&optional initial)
(let* ((insert-default-directory (null initial))
(name (read-file-name "Find file: " nil nil nil initial))
(file (expand-file-name name)))
(cond ((file-exists-p file) (list file))
((y-or-n-p (format "File %s not exists, New file?" file))
(list file))
(t (my-find-file-interactive-arg name)))))
(defun my-find-file (filename &optional wildcards)
(interactive (my-find-file-interactive-arg))
(find-file filename wildcards))
なんか、 point が filename の最初に来ちゃうんだけどね…
(defun my-find-file-interactive-arg (&optional initial)
(let* ((insert-default-directory (null initial))
(name (read-file-name "Find file: " nil nil nil initial))
(file (expand-file-name name)))
(cond ((file-exists-p file) (list file))
((y-or-n-p (format "File %s not exists, New file?" file))
(list file))
(t (my-find-file-interactive-arg name)))))
(defun my-find-file (filename &optional wildcards)
(interactive (my-find-file-interactive-arg))
(find-file filename wildcards))
なんか、 point が filename の最初に来ちゃうんだけどね…
>>34
!!! interactiveの引数が関数になってる。
おお、こんなことができるのですか!
自前でinteractiveのコード文字を定義すればいいと・・・目から鱗。
ちょっと感動してます。
コンパクトになってるし。
!!! interactiveの引数が関数になってる。
おお、こんなことができるのですか!
自前でinteractiveのコード文字を定義すればいいと・・・目から鱗。
ちょっと感動してます。
コンパクトになってるし。
あ… >>34 、 wildcards なんて引数があったの忘れてる (w
wildcard なときでも存在確認できるように、前の関数修正。
(defun my-find-file-interactive-arg (&optional initial)
(let* ((insert-default-directory (null initial))
(name (read-file-name "Find file: " nil nil nil initial))
(wild-p current-prefix-arg)
(file (if wild-p name (expand-file-name name))))
(cond ((if wild-p (file-expand-wildcards name)
(file-exists-p file))
(list file wild-p))
((y-or-n-p (format "File %s not exists, New file?" file))
(list file wild-p))
(t (my-find-file-interactive-arg name)))))
wildcard なときでも存在確認できるように、前の関数修正。
(defun my-find-file-interactive-arg (&optional initial)
(let* ((insert-default-directory (null initial))
(name (read-file-name "Find file: " nil nil nil initial))
(wild-p current-prefix-arg)
(file (if wild-p name (expand-file-name name))))
(cond ((if wild-p (file-expand-wildcards name)
(file-exists-p file))
(list file wild-p))
((y-or-n-p (format "File %s not exists, New file?" file))
(list file wild-p))
(t (my-find-file-interactive-arg name)))))
>>34
> なんか、 point が filename の最初に来ちゃうんだけどね…
気になりだすと止まらないので、朝から覗いてるんですが、
read-file-name -> completing-read -> read-from-minibuffer -> read-string
と見ていっても結局 built-in function で補完途中の動作は触れないんですね。
src/fileio.c にread-file-nameがあるんですけど、ここいらにパッチするし
かないんでしょうか・・・ポイント動かすだけなのに・・・
もうギブっす
> なんか、 point が filename の最初に来ちゃうんだけどね…
気になりだすと止まらないので、朝から覗いてるんですが、
read-file-name -> completing-read -> read-from-minibuffer -> read-string
と見ていっても結局 built-in function で補完途中の動作は触れないんですね。
src/fileio.c にread-file-nameがあるんですけど、ここいらにパッチするし
かないんでしょうか・・・ポイント動かすだけなのに・・・
もうギブっす
すごい安直なことを思いつきました。
(add-hook 'minibuffer-setup-hook
'end-of-line)
問題続出の予感・・・
(add-hook 'minibuffer-setup-hook
'end-of-line)
問題続出の予感・・・
>>40
んじゃ、こんなんでどうでしょ?
my-find-file-interactive-arg() をちょっとだけ変えますた。
(defvar my-find-file-interactive-arg-active-p nil)
(defun my-find-file-interactive-arg (&optional initial)
(let* ((my-find-file-interactive-arg-active-p t)
(insert-default-directory (null initial))
(name (read-file-name "Find file: " nil nil nil initial))
(file (expand-file-name name)))
(cond ((file-exists-p file) (list file))
((y-or-n-p (format "File %s not exists, New file?" file))
(list file))
(t (my-find-file-interactive-arg name)))))
(defun my-find-file-minibuffer-setup-hook ()
(when my-find-file-interactive-arg-active-p
(end-of-line)))
(add-hook 'minibuffer-setup-hook 'my-find-file-minibuffer-setup-hook)
んじゃ、こんなんでどうでしょ?
my-find-file-interactive-arg() をちょっとだけ変えますた。
(defvar my-find-file-interactive-arg-active-p nil)
(defun my-find-file-interactive-arg (&optional initial)
(let* ((my-find-file-interactive-arg-active-p t)
(insert-default-directory (null initial))
(name (read-file-name "Find file: " nil nil nil initial))
(file (expand-file-name name)))
(cond ((file-exists-p file) (list file))
((y-or-n-p (format "File %s not exists, New file?" file))
(list file))
(t (my-find-file-interactive-arg name)))))
(defun my-find-file-minibuffer-setup-hook ()
(when my-find-file-interactive-arg-active-p
(end-of-line)))
(add-hook 'minibuffer-setup-hook 'my-find-file-minibuffer-setup-hook)
>>41
おお、完璧です。そうかこうすればよかったんだ。
ところで
> (let* ((my-find-file-interactive-arg-active-p t)
で、
> (defvar my-find-file-interactive-arg-active-p nil)
を変更できるというのをはじめて知りますた。
勉強になりますです。
おお、完璧です。そうかこうすればよかったんだ。
ところで
> (let* ((my-find-file-interactive-arg-active-p t)
で、
> (defvar my-find-file-interactive-arg-active-p nil)
を変更できるというのをはじめて知りますた。
勉強になりますです。
----BEGIN BASE64----(bf-mode.el.gz)
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
/wV3LINvtjEAAA==
----END BASE64----
はじめてマイナーモードを作ってみました。dired で上下2画面に割って、下
側にファイルの内容を表示するものです。なんか、禿しくガイシュツな気もす
るのですが、習作ということで許してやってください。
ホントは画像も表示させるつもりでしたが、
http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=thumbs
を見て落ち込みましたので、とりあえず保留さしてもらいます。
人の環境で動くかどうか不安なんですが。
JYmmDIr5ZgN54I9ofIbN0/Q9vbrlYR7qC4wdz53u8Fv0Q3WrL9cMVGmV63X8VhVa
SOvqQZy0uRtk7Xng41jCd8v0KfUqVBJRYasFeVLfl9N3EF2y7LitvpIwfc2h87K+
f0FieHCv75nd63156+JJ//JBH6F7DQXMXW6bHzaUcq7fndCyrscriE/30BFDALNF
tYQaWkEti6SiZj7q5q7NFw/Z3FjxaYERdAla36Uz6q2vHA7cr7vP3p6+9Q1S66Q7
A4b0mPNBe3ze7001Ev7trsA8+DLKRKs5bM+OczQyeVeU3J2t1/jDje1wvrZsRY2+
naWb6hqo7kr0xv59zP49KHtDSm/0nXFOvYPfby3TsLefV9VpE6JyLJ12HGh319zJ
kgrJPJG1OsGJ9LMWQnD5MtoEjeN07tqMYRUeSmHer01Alx50bZBpDOJhDLzwnUTe
+fnp02fPDg7+evDLJBH94nqaDeGx0b39M4259jDbt3Sm8WQfrz2onsR+H/g+aNwQ
2259F4FK+b7JWc3laegq9GtK/8zqrprCP8ZWZccdAQE5SoNwgNJA4iDzv7gbflQY
JQRH3nXsnu93UwwJvh+4JYSdvpawymvCpunwrljZtuVrHA6A4m6jotowkcWRnuJr
LDjObJw04eZGCq1DrFaTnxDbN+LWnF+ZPo8m11kMZ6/iNuv7l2UhXxGZbcp82zqN
DQ4ZvwSnuaSpvbcN7mi0o/9ADeiPEhkYkr6r78jvNCm/IwTewjE2o0kSIf8+sH6g
Vbgzz+lmmVB9AMzayhm9j9kHHb2j2IB6Dt4+qFo+7lcd90FdtsPDiFwKfp0lrcv0
/wV3LINvtjEAAA==
----END BASE64----
はじめてマイナーモードを作ってみました。dired で上下2画面に割って、下
側にファイルの内容を表示するものです。なんか、禿しくガイシュツな気もす
るのですが、習作ということで許してやってください。
ホントは画像も表示させるつもりでしたが、
http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=thumbs
を見て落ち込みましたので、とりあえず保留さしてもらいます。
人の環境で動くかどうか不安なんですが。
>>46
ナルホドです。
そうすれば読み込みの時間も減らせますね。
暇を見つけてやってみます。
:: bf-mode 切 でもディレクトリ移動時にbf-mode 入 になってしまう不具合
:: を見つけてしまいますた。すんまそん。これも暇みつけて直しまふ。
ナルホドです。
そうすれば読み込みの時間も減らせますね。
暇を見つけてやってみます。
:: bf-mode 切 でもディレクトリ移動時にbf-mode 入 になってしまう不具合
:: を見つけてしまいますた。すんまそん。これも暇みつけて直しまふ。
>>48
やっぱり既出でしたか。
「やさしいEmacs‐Lisp講座」でしょうか。
関係ないんですが、探してるうちに
http://www.gentei.org/~yuuji/lispmind/
へたどり着きました。
コンスセルを「トロッコ」と「連結器」に例えているのが、すごく面白くて納
得しつつ爆笑してしまいました。このシリーズ、再開してホスィです。
あ、また脱線していく。
やっぱり既出でしたか。
「やさしいEmacs‐Lisp講座」でしょうか。
関係ないんですが、探してるうちに
http://www.gentei.org/~yuuji/lispmind/
へたどり着きました。
コンスセルを「トロッコ」と「連結器」に例えているのが、すごく面白くて納
得しつつ爆笑してしまいました。このシリーズ、再開してホスィです。
あ、また脱線していく。
大昔に作ったことがあったけど、元のアイデアは「秀見え」からだった。
http://hide.maruo.co.jp/software/index.html
diredの標準だと、n/C-n/Down, p/C-p/Up にそれぞれ同じキーバインディングがあるので、
どれかに表示する機能をバインドすればいいだけ。
http://hide.maruo.co.jp/software/index.html
diredの標準だと、n/C-n/Down, p/C-p/Up にそれぞれ同じキーバインディングがあるので、
どれかに表示する機能をバインドすればいいだけ。
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
トップメニューへ / →のくす牧場書庫について