Emacs で現在の日時付きの名前でバックアップしてからセーブする

例えば「昨日まで書いてあったんだけど、もうあの内容は消しちゃったな あ」ということは良くあると思います。 ずいぶん前から「現在の日時付きの名前で ~/.trash にバックアップして から、セーブする関数」を使っています。結構便利です。ファイルは無限 に増えるので、cron 等で削除して下さい。 ...

2010-03-13 (土) · masutaka

ver22 までの Emacs で、物理行単位にカーソル移動する方法

[2009-01-20-1] の補完。 ver22 までの Emacs のカーソル移動は論理行単位なので、こんなのを使っ てます。時々移動がミスりますが、そこはご愛嬌ということで。 (defvar vz-goal-column 0 "Vz風ゴールカラム") (defvar vz-enable-p t "*Enable the physical moving.") (defun toggle-variable (var) "Toggle '(symbol-value var)'." (set var (not (symbol-value var))) (message "'%s' is now '%s'" (symbol-name var) (symbol-value var))) (defun vz-toggle-vz-enable-p () "Toggle 'vz-enable-p'." (interactive) (toggle-variable 'vz-enable-p)) (defun vz-next-line (num) "Vz:↓" (interactive "p") (if (or (not vz-enable-p) truncate-lines) (next-line num) (or (eq last-command 'vz-next-line) (setq vz-goal-column (% (current-column) (1- (window-width))))) (if (eolp) (progn (forward-char 1) (move-to-column vz-goal-column)) (vertical-motion num) (move-to-column (+ vz-goal-column (current-column)))))) (defun vz-previous-line (num) "Vz:↑" (interactive "p") (if (not vz-enable-p) (previous-line num) (if truncate-lines (previous-line num) (or (eq last-command 'vz-next-line) (setq vz-goal-column (% (current-column) (1- (window-width))))) (let ((ncol (- vz-goal-column (window-width) -1))) (vertical-motion (- num)) (if (<= 0 ncol) (move-to-column ncol) (move-to-column (+ vz-goal-column (current-column)))))) (setq this-command 'vz-next-line))) ;fake 情報源: 極私的 Emacs カスタマイズ紹介マガヂン Emacs をわたし色に染めて♪ 第 16 回 物理行単位のカーソル移動 〜vz.el から一部を流用する〜 ...

2010-03-13 (土) · masutaka

gpg で暗号化されたファイルを Emacs で開いてもパスフレーズを聞かれない方法

Mew スレで紹介されていた ので、メモメモ。 いつからなのか分かりませんが、少なくとも Emacs23 では gpg で暗号化 されたファイルを開くとパスフレーズを聞かれ、gpg コマンドを打たずし てファイルを開くことが出来ます。ファイル保存時には、パスフレーズを また聞かれます。また入力します。 ...

2010-02-04 (木) · masutaka

Emacs のソースコードを Bazaar から取得してみた

[2009-09-27-1] の補完。 Emacs リポジトリが Git に移行したと思っていましたが、Git でも 取 得できるようになっていただけなのですね。年末に CVS から Bazaar に移 行したらしい ので、手元のリポジトリも移行しました。Bazaar は Git と 同じ分散型バージョン管理システムだそうです。 ...

2010-01-17 (日) · masutaka

Emacs で登録されている timer の一覧を表示

Emacs スレ で紹介されていたコードを、ここにコピペ。 (defun describe-timer () (interactive) (let ((tl timer-list) timer) (pop-to-buffer (get-buffer-create "*timer*")) (erase-buffer) (insert "TIME FUNCTION\n" "-------------- --------------------------\n") (while tl (setq timer (car tl)) (insert (concat (format-time-string "%m/%d %T" (list (aref timer 1)(aref timer 2)(aref timer 3))) " " (symbol-name (aref timer 5)) "\n")) (setq tl (cdr tl))))) こんな出力が得られる。 ...

2009-12-05 (土) · masutaka

UNIX 時間

業務で C 言語と、シェルコマンド date での UNIX 時間(1970 年 1 月 1 日 0:00 からの秒数)の取得方法を調べたのだけれど、我らが Emacs Lisp を調べていませんでした。 Emacs Lisp (time-to-seconds (current-time)) で良いようです。 ...

2009-11-21 (土) · masutaka

Emacs23 から行番号を表示できるようになっていた

今まで外部パッケージを入れないと、Emacs は行番号を表示できませんでしたが、Emacs23 では最初から行番号表示できるようになっていました。 ...

2009-10-25 (日) · masutaka

Emacs23 から初期化時間や動作時間を確認できるようになった

;; Emacs 起動時の初期化時間を返す。 (emacs-init-time) => "26.6 seconds" ;; Emacs の動作時間を返す。 (emacs-uptime) => "1 day, 15 hours, 2 minutes, 17 seconds" 参考にした Web サイト: Emacs23における変更点(一部) - とりあえず暇だったし何となく始めたブログ ...

2009-10-11 (日) · masutaka

Emacs のソースコードを Git から取得してみた

emacs - Git Repositories Emacs のソースコードは Git(ぎっと) でも公開されているので、 Git Repository から取得してみました。 まず、Git というのは分散型バージョン管理システムです。CVS や Subversion は集中型バージョン管理システムなので、操作や考え方が少し 違います。 ...

2009-09-27 (日) · masutaka

Debian squeeze で migemo が使えなくなった

10 日くらい前から Debian squeeze で migemo が使えなくなってしまいま した。 正常に実行できる Meadow と " migemo" バッファを比べてみると、 Debian の方は文字化けしています。migemo_0.40-8 の /usr/bin/migemo への以下の修正が影響しているようです。 ...

2009-09-22 (火) · masutaka