2009-03-09 6 views
30

多くの場合、ファイルバッファが変更されています(duh!)。終了する前に、emacsは変更を保存するかどうかを尋ねます。実際に何が変わったのかを知ることは興味深いでしょう。見つけ出す方法はありますか?ハイライトバッファの変更

+1

http://stackoverflow.com/questions/331569/diff-save-or-kill-when-killing-buffers-in-emacsを参照してください。 –

答えて

1

この場合、最後の変更を表示するために元に戻すと入力します(通常は間違ったウィンドウに入力された迷い文字です。

現在の変更の他の表示がある場合は、いいでしょう。 Eclipseのテキストエディタで簡単に見分けることができます。

+0

重要な変更を元に戻す場合は、 Emacsのアンドゥ機能のおかげで、ほとんどのエディタより強力です。 –

17

私はdiff-buffer-with-fileを使用して、バッファから来たファイルを選択します(これはコマンドのデフォルトで、ちょうどEnterを押します)。

ハイライト変更モードを使用することもできますが、これをオンにするまで変更内容を追跡することはできません。そうでないファイルを閉じるときに変更された内容を確認したい場合はあまり役に立ちません。 Emacsの22.1のよう

29

:-)このモードでは、(少なくとも)、'save-buffers-kill-emacsCxをCcをのバインディングデフォルトでは)ファイルを持つ各保存されていないバッファの入力が求められます。保存するかどうかを確認するメッセージが表示されたらdと入力してdiffを表示します。ヘルプドキュメントから

:Chのを入力

Save file /path/to/file.txt? (y, n, !, ., q, C-r, d, or C-h) 

あなたはもう少し詳細な説明(しかしを与える:

Save some modified file-visiting buffers. Asks user about each one. 
You can answer `y' to save, `n' not to save, `C-r' to look at the 
buffer in question with `view-buffer' before deciding or `d' to 
view the differences using `diff-buffer-with-file'. 

プロンプトを見れば、それは何かが言うべきではdはあなたが求めているものです):

Type SPC or `y' to save the current buffer; 
DEL or `n' to skip the current buffer; 
RET or `q' to give up on the save (skip all remaining buffers); 
C-g to quit (cancel the whole command); 
! to save all remaining buffers; 
C-r to view this buffer; 
d to view changes in this buffer; 
or . (period) to save the current buffer and exit. 
8

highlight-changes-modeを有効にすることができます。すべての変更が赤で表示されます。ただし、空白の変更は表示されず、赤色の_のみでマークされます。 http://www.emacswiki.org/emacs/TrackChangesも参照してください。

+0

これは素晴らしいです、ありがとうございます。 – CodyChan

+0

http://stackoverflow.com/a/21084181/1528712これは、左フリンジに変更マークを表示します。 – CodyChan

0

私はそのようなもののためにgoto-chgを使用します。それは完璧ではありませんが、私は何が変わったのかとすぐに忘れてしまったことについて私の記憶を揺さぶるだけで十分です。

2

これは、Emacsの変更を追跡する上で最も有用なdjcbによってpost about tracking changesが見つかりました。トリックは、あなたの.emacsに以下を追加することです:あなたが変更されているものを見たいとき

;; higlight changes in documents 
(global-highlight-changes-mode t) 
(setq highlight-changes-visibility-initial-state nil); initially hide 

、その後はハイライトの変更可視モードを切り替えます。

関連する問題