1

2 回、重要なファイルを emacs で上書きしてしまいました。これは、さまざまなコマンド (具体的にはorg-agenda-writeおよびorg-export) が、その名前のファイルが既に存在するという警告なしに既存のファイルを単純に置き換えるために発生します。これが起こらないようにemacsを設定する方法はありますか?

4

1 に答える 1

1

org-agenda-writewrite-file議題を保存するために使用します。この関数は、プログラムから呼び出されると、確認なしで既存のファイルを上書きします。write-fileはかなり奥深くに埋もれてorg-agenda-writeおり、直接変更すると、Emacs の他の場所で驚くべきバグが発生する可能性があります。ただし、org-agenda-writeアドバイスを回避することはできます。これは、ファイルの存在チェックを追加し、上書きする前にユーザーに警告するための優れた方法です。

(defadvice org-agenda-write (around my-file-check)
  "Check if a file exists before writing the agenda to it."
  (if (file-exists-p file)
      (if (y-or-n-p (format "Overwrite %s?" file))
          ad-do-it)
    ad-do-it))

(ad-activate 'org-agenda-write)

これは のバグとして認定される可能性がありorg-agenda-write、orgmode メーリング リストで適切に質問すれば、このチェックをデフォルトの動作にするよう説得される可能性があります。

のファイル書き込み動作はorg-exportもう少し複雑に見え、完了するために外部プログラムを利用する場合があります。それでも、必要に応じて、同様のラッパーを使用できます。

于 2013-01-03T02:53:16.730 に答える