■概要
"~/junk/年/月/"フォルダに、"日-時分秒." + "指定した拡張子"なファイルを作
成して開きます。*scratch* バッファの代わりに、書き散らかしながら試行錯誤
するために使用したりします。*scratch* バッファと比べ、次の利点があります。
・保存ができる。
・適切なモードで編集できる。
open-jungle.l は、rubikitch さんの open-junk-file.el をテキトーに移植&
改造したものです。
URL: https://github.com/rubikitch/open-junk-file
オリジナルに忠実にと思って作りかけたものの、そうはならなかったため、
名前は変えてしまいました。(--
[変更点]
・簡易的なテンプレート挿入機能を追加
・簡易的なGrep機能を追加
・フック変数を追加
・保存場所と書式の変数を分割
・シングルファイラで保存場所を開く機能を追加
・xyzzyで動作する(はず)。
[劣化点]
・open-junk-file の引数を省略(FORMAT, FIND-FILE-FN)&変更
・バグレポート機能は未実装
・Emacsで動作しない。
■インストール
1. open-jungle.l を site-lisp にコピーする。
2. 必要に応じ,バイトコンパイルする。
M-x byte-compile-file
3. .xyzzy か siteinit.l に以下の記述を追加する。
(require "open-jungle")
4. xyzzy を再起動し,設定を反映させる。
siteinit.l に記述した場合は再ダンプもする。
■起動方法
M-x open-jungle : 新しい JUNK file を開く
実行すると、下記のようにミニバッファに作成する JUNK file の拡張子
入力を求められます。
Junk Code (Enter extension): P:/dat/junk/2019-0303-152054.
JUNK file を開いたら、あとはご自由に試行錯誤してください。
M-x open-jungle-grep : JUNK file の保存場所を Grep
M-x open-jungle-sfiler : シングルファイラで保存場所を開く
■設定例
;;; キーバインドを追加
(define-key ctl-x-map #\j 'open-jungle)
(define-key ctl-x-map #\g 'open-jungle-grep)
;;; 保存場所を変更
(setq *open-jungle-base-dir* "P:/home/junk/")
;;; "年/月/"フォルダを作成しない
(setq *open-jungle-format* "%Y-%m%d-%H%M%S.")
;;; 別窓で開かない
(setq *open-jungle-find-file-function* #'find-file)
;;; テンプレートを追加
(setq *open-jungle-template-alist*
'(("\\.txt$" . "-*- Mode: Text; last modified: \"\"; -*-\n")
("\\.eml$" . "Subject: ")))
■おまけ
・M-x open-jungle-sfiler し、ファイルを指定して W すると、さまざまな屑
が発見できる。(xyzzy 標準機能)
・いらないファイルはすぐに削除するので、こんな関数を定義している。
;;; バッファ&Visitしてるファイルを削除
(defun delete-file-and-kill-buffer ()
"Kill the current buffer and deletes the file it is visiting."
(interactive)
(let ((filename (get-buffer-file-name)))
(when (and filename
(file-exist-p filename)
(y-or-n-p (concat filename " を削除しはるの?")))
(save-buffer)
(delete-file filename)
(message "Deleted file ~A" filename)))
(delete-buffer (selected-buffer)))
(define-key ctl-x-map #\Delete 'delete-file-and-kill-buffer)
・M-x open-jungle-grep して、未入力のまま Enter すると、シングルファイラ
が開く。キーバインドを減らしたかったので。
■更新履歴
[Version 1.01] 2019-03-12 (火)
・JUNK file を開く関数の設定を変更した。(*open-jungle-find-file-function*)
・*after-open-jungle-hook* に引数としてファイル名を渡すようにした。
[Version 1.00] 2019-03-06 (水)
・初版作成。
■ライセンス
open-jungle.l の配布は GNU General Public License およびVersion 2
の条件で、複製・改変したものを配布することができます。
open-jungle.l --- Open a junk (memo) file to trial-and-error
Copyright (C) 2019 HIE Masahiro
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.