-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathfiles.texi
4180 lines (3782 loc) · 228 KB
/
files.texi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
@c =============================================================
@c = 元 翻 訳: 鈴木悦子@津田塾大学
@c = 加筆修正: 大木敦雄@大塚.筑波大学 = 1998/11/25
@c = 20.4改訂: 大木敦雄@大塚.筑波大学 = 1999/09/12
@c =============================================================
@c This is part of the Emacs manual.
@c Copyright (C) 1985, 86, 87, 93, 94, 95, 1997 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Files, Buffers, Keyboard Macros, Top
@c @chapter File Handling
@c @cindex files
@chapter ファイルの扱い方
@cindex ファイル
@c The operating system stores data permanently in named @dfn{files}. So
@c most of the text you edit with Emacs comes from a file and is ultimately
@c stored in a file.
オペレーティングシステムは、
データを指定した@dfn{ファイル}(file)に恒久的に保存します。
ですから、Emacsで編集するテキストの多くはファイルから取り込み、
最終的にはファイルに格納されます。
@c To edit a file, you must tell Emacs to read the file and prepare a
@c buffer containing a copy of the file's text. This is called
@c @dfn{visiting} the file. Editing commands apply directly to text in the
@c buffer; that is, to the copy inside Emacs. Your changes appear in the
@c file itself only when you @dfn{save} the buffer back into the file.
ファイルを編集するには、
Emacsに対してファイルを読むように指示して、
ファイルの内容のコピーを入れたバッファを用意させる必要があります。
これを、ファイルを@dfn{訪問する/訪れる}(visiting)といいます。
編集コマンドはバッファ内のテキストに直接作用します。
つまり、Emacs内にあるコピーを操作します。
バッファをファイルに@dfn{保存}(save)した場合に限り、
変更はファイルそのものに反映されます。
@c In addition to visiting and saving files, Emacs can delete, copy,
@c rename, and append to files, keep multiple versions of them, and operate
@c on file directories.
ファイルを訪問したり保存したりすることに加えて、
Emacsは、ファイルを、削除したり、コピーしたり、名前を変更したり、
別のファイルへ追加したり、複数の版を保持したり、
ファイルディレクトリを操作したりできます。
@menu
* File Names:: How to type and edit file-name arguments.
* Visiting:: Visiting a file prepares Emacs to edit the file.
* Saving:: Saving makes your changes permanent.
* Reverting:: Reverting cancels all the changes not saved.
* Auto Save:: Auto Save periodically protects against loss of data.
* File Aliases:: Handling multiple names for one file.
* Version Control:: Version control systems (RCS, CVS and SCCS).
* Directories:: Creating, deleting, and listing file directories.
* Comparing Files:: Finding where two files differ.
* Misc File Ops:: Other things you can do on files.
* Compressed Files:: Accessing compressed files.
* Remote Files:: Accessing files on other sites.
* Quoted File Names:: Quoting special characters in file names.
@end menu
@node File Names
@c @section File Names
@c @cindex file names
@section ファイル名
@cindex ファイル名
@c Most Emacs commands that operate on a file require you to specify the
@c file name. (Saving and reverting are exceptions; the buffer knows which
@c file name to use for them.) You enter the file name using the
@c minibuffer (@pxref{Minibuffer}). @dfn{Completion} is available, to make
@c it easier to specify long file names. @xref{Completion}.
ファイルを操作するほとんどのEmacsコマンドには、
ファイル名を指定する必要があります。
(保存と復元の操作を除く。
バッファはこれらの操作に対して使うファイル名を記録している。)
ファイル名は、ミニバッファを使って入力します(@pxref{Minibuffer})。
長いファイル名の指定を簡単にする補完も使えます。
@xref{Completion}。
@c For most operations, there is a @dfn{default file name} which is used
@c if you type just @key{RET} to enter an empty argument. Normally the
@c default file name is the name of the file visited in the current buffer;
@c this makes it easy to operate on that file with any of the Emacs file
@c commands.
多くの操作には、@dfn{デフォルトファイル名}があり、
@key{RET}だけを打って空の引数を指定した場合に使われます。
通常、デフォルトファイル名は、
カレントバッファで訪問したファイルの名前です。
こうすることで、
Emacsのファイルコマンドで当該ファイルを操作するのが簡単になります。
@vindex default-directory
@c Each buffer has a default directory, normally the same as the
@c directory of the file visited in that buffer. When you enter a file
@c name without a directory, the default directory is used. If you specify
@c a directory in a relative fashion, with a name that does not start with
@c a slash, it is interpreted with respect to the default directory. The
@c default directory is kept in the variable @code{default-directory},
@c which has a separate value in every buffer.
各バッファにはデフォルトディレクトリがあります。
通常は、そのバッファの訪問先のファイルのディレクトリと同じです。
ディレクトリを指定しないでファイル名を入力すると、
デフォルトディレクトリを使います。
スラッシュ(@samp{/})で始まらない相対的なディレクトリを指定すると、
デフォルトディレクトリ相対に解釈します。
デフォルトディレクトリは変数@code{default-directory}に保持されていて、
バッファごとに別々の値を持ちます。
@c For example, if the default file name is @file{/u/rms/gnu/gnu.tasks} then
@c the default directory is @file{/u/rms/gnu/}. If you type just @samp{foo},
@c which does not specify a directory, it is short for @file{/u/rms/gnu/foo}.
@c @samp{../.login} would stand for @file{/u/rms/.login}. @samp{new/foo}
@c would stand for the file name @file{/u/rms/gnu/new/foo}.
たとえば、デフォルトファイル名が@file{/u/rms/gnu/gnu.tasks}ならば、
デフォルトディレクトリは@file{/u/rms/gnu/}です。
ディレクトリを指定しないで@samp{foo}とだけ打つと、
@file{/u/rms/gnu/foo}を意味します。
@samp{../.login}は、@file{/u/rms/.login}を意味します。
@samp{new/foo}は、ファイル名@file{/u/rms/gnu/new/foo}を意味します。
@findex cd
@findex pwd
@c The command @kbd{M-x pwd} prints the current buffer's default
@c directory, and the command @kbd{M-x cd} sets it (to a value read using
@c the minibuffer). A buffer's default directory changes only when the
@c @code{cd} command is used. A file-visiting buffer's default directory
@c is initialized to the directory of the file that is visited there. If
@c you create a buffer with @kbd{C-x b}, its default directory is copied
@c from that of the buffer that was current at the time.
コマンド@kbd{M-x pwd}は、カレントバッファのデフォルトディレクトリを表示し、
コマンド@kbd{M-x cd}は、それを(ミニバッファで読んだ値に)設定します。
バッファのデフォルトディレクトリは、
@code{cd}コマンドを使ったときだけ変更されます。
ファイルを訪問しているバッファのデフォルトディレクトリは、
訪問したファイルのディレクトリに初期化されます。
@kbd{C-x b}で作ったバッファのデフォルトディレクトリは、
その時点のカレントバッファのデフォルトディレクトリと同じです。
@vindex insert-default-directory
@c The default directory actually appears in the minibuffer when the
@c minibuffer becomes active to read a file name. This serves two
@c purposes: it @emph{shows} you what the default is, so that you can type
@c a relative file name and know with certainty what it will mean, and it
@c allows you to @emph{edit} the default to specify a different directory.
@c This insertion of the default directory is inhibited if the variable
@c @code{insert-default-directory} is set to @code{nil}.
デフォルトディレクトリは、ミニバッファでファイル名を読むときに、
実際にミニバッファに表示されます。
これには2つの目的があります。
デフォルトが何であるかを@emph{示す}ことで、
相対ファイル名を打ち込めるようにし、しかも、
その意味を確実に知ることができるようにします。
もう1つは、デフォルトディレクトリを@emph{編集}して、
別のディレクトリを指定できるようにします。
変数@code{insert-default-directory}を@code{nil}に設定すると、
デフォルトディレクトリを挿入しません。
@c Note that it is legitimate to type an absolute file name after you
@c enter the minibuffer, ignoring the presence of the default directory
@c name as part of the text. The final minibuffer contents may look
@c invalid, but that is not so. For example, if the minibuffer starts out
@c with @samp{/usr/tmp/} and you add @samp{/x1/rms/foo}, you get
@c @samp{/usr/tmp//x1/rms/foo}; but Emacs ignores everything through the
@c first slash in the double slash; the result is @samp{/x1/rms/foo}.
@c @xref{Minibuffer File}.
ミニバッファで入力するとき、
テキストの一部として入っているデフォルトディレクトリを無視して、
絶対ファイル名を打っても何の問題もありません。
最終的なミニバッファの内容は不正なように見えても、
そうではありません。
たとえば、ミニバッファには@samp{/usr/tmp/}が入っていて
@samp{/x1/rms/foo}を追加すると、@samp{/usr/tmp//x1/rms/foo}となります。
Emacsは連続した2個のスラッシュの始めのスラッシュまでをすべて無視するので、
結果として@samp{/x1/rms/foo}となります。
@xref{Minibuffer File}。
@c @samp{$} in a file name is used to substitute environment variables.
@c For example, if you have used the shell command @samp{export
@c FOO=rms/hacks} to set up an environment variable named @code{FOO}, then
@c you can use @file{/u/$FOO/test.c} or @file{/u/$@{FOO@}/test.c} as an
@c abbreviation for @file{/u/rms/hacks/test.c}. The environment variable
@c name consists of all the alphanumeric characters after the @samp{$};
@c alternatively, it may be enclosed in braces after the @samp{$}. Note
@c that shell commands to set environment variables affect Emacs only if
@c done before Emacs is started.
ファイル名の中の@samp{$}は環境変数で置き換えられます。
たとえば、シェルコマンド@samp{export FOO=rms/hacks}で、
環境変数@code{FOO}を設定してあるとします。
そうすると、@file{/u/rms/hacks/test.c}の略称として
@file{/u/$FOO/test.c}や@file{/u/$@{FOO@}/test.c}を使えます。
環境変数の名前は、@samp{$}のうしろにある英数字全部です。
あるいは、@samp{$}のうしろにある括弧で囲まれたものです。
シェルコマンドで設定した環境変数がEmacsに影響を及ぼすのは、
Emacsを起動するまえに設定したものに限ります。
@c To access a file with @samp{$} in its name, type @samp{$$}. This pair
@c is converted to a single @samp{$} at the same time as variable
@c substitution is performed for single @samp{$}. Alternatively, quote the
@c whole file name with @samp{/:} (@pxref{Quoted File Names}).
名前の中に@samp{$}があるファイルを参照するには、
@samp{$$}と打ちます。
1個の@samp{$}に対して変数の置き換えを行うときに、
この2個の@samp{$}は1個の@samp{$}に変換されます。
あるいは、ファイル名全体を@samp{/:}でクォートします
(@pxref{Quoted File Names})。
@findex substitute-in-file-name
@c The Lisp function that performs the substitution is called
@c @code{substitute-in-file-name}. The substitution is performed only on
@c file names read as such using the minibuffer.
(変数の)置き換えを行うLisp関数は@code{substitute-in-file-name}です。
置き換えは、ミニバッファで読んだファイル名だけに適用されます。
@c You can include non-ASCII characters in file names if you set the
@c variable @code{file-name-coding-system} to a non-@code{nil} value.
@c @xref{Specify Coding}.
変数@code{file-name-coding-system}に@code{nil}以外を設定すると、
ファイル名に非ASCIIを含めることができます。
@xref{Specify Coding}。
@node Visiting
@c @section Visiting Files
@c @cindex visiting files
@section ファイルを訪問する
@cindex ファイルを訪問する
@c WideCommands
@table @kbd
@item C-x C-f
@c Visit a file (@code{find-file}).
ファイルを訪問する(@code{find-file})。
@item C-x C-r
@c Visit a file for viewing, without allowing changes to it
@c (@code{find-file-read-only}).
ファイルを眺めるために訪問し、変更を許さない
(@code{find-file-read-only})。
@item C-x C-v
@c Visit a different file instead of the one visited last
@c (@code{find-alternate-file}).
最後に訪問したファイルのかわりに、別のファイルを訪問する
(@code{find-alternate-file})。
@item C-x 4 f
@c Visit a file, in another window (@code{find-file-other-window}). Don't
@c alter what is displayed in the selected window.
別のウィンドウでファイルを訪問する
(@code{find-file-other-window})。
選択されているウィンドウに表示されている内容は変化しない。
@item C-x 5 f
@c Visit a file, in a new frame (@code{find-file-other-frame}). Don't
@c alter what is displayed in the selected frame.
新たなフレームでファイルを訪問する
(@code{find-file-other-frame})。
選択されているフレームに表示されている内容は変化しない。
@item M-x find-file-literally
@c Visit a file with no conversion of the contents.
ファイルの内容をいっさい変換せずに訪問する。
@end table
@c @cindex files, visiting and saving
@c @cindex visiting files
@c @cindex saving files
@cindex ファイル、訪問と保存
@cindex ファイルを訪問する
@cindex ファイルを保存する
@c @dfn{Visiting} a file means copying its contents into an Emacs buffer
@c so you can edit them. Emacs makes a new buffer for each file that you
@c visit. We say that this buffer is visiting the file that it was created
@c to hold. Emacs constructs the buffer name from the file name by
@c throwing away the directory, keeping just the name proper. For example,
@c a file named @file{/usr/rms/emacs.tex} would get a buffer named
@c @samp{emacs.tex}. If there is already a buffer with that name, a unique
@c name is constructed by appending @samp{<2>}, @samp{<3>}, or so on, using
@c the lowest number that makes a name that is not already in use.
ファイルを@dfn{訪問する/訪れる}とは、
ファイルの内容のコピーを編集できるようにEmacsバッファに入れることです。
Emacsは、訪問する各ファイルごとに新たにバッファを作ります。
バッファ名は、ディレクトリ部分を取りさったファイル名から作ります。
たとえば、ファイル名@file{/usr/rms/emacs.tex}の
バッファ名は@samp{emacs.tex}となります。
その名前のバッファがすでに存在するならば、
まだ使われていない名前になるようなもっとも小さい数を使って、
@samp{<2>}, @samp{<3>}などを付加して唯一の名前を作ります。
@c Each window's mode line shows the name of the buffer that is being displayed
@c in that window, so you can always tell what buffer you are editing.
各ウィンドウのモード行にはウィンドウ内に表示している
バッファ名が示されているので、
編集しているバッファが何かいつでもわかります。
@c The changes you make with editing commands are made in the Emacs
@c buffer. They do not take effect in the file that you visited, or any
@c place permanent, until you @dfn{save} the buffer. Saving the buffer
@c means that Emacs writes the current contents of the buffer into its
@c visited file. @xref{Saving}.
編集コマンドによる変更は、Emacsバッファに対して行われます。
バッファを@dfn{保存}するまでは、
変更は、訪問先のファイルや他のどんな恒久的なものにも影響しません。
バッファを保存するとは、
バッファの現在の内容をそのバッファの訪問先のファイルに書き出すことです。
@xref{Saving}。
@c @cindex modified (buffer)
@cindex 変更されたバッファ
@c If a buffer contains changes that have not been saved, we say the
@c buffer is @dfn{modified}. This is important because it implies that
@c some changes will be lost if the buffer is not saved. The mode line
@c displays two stars near the left margin to indicate that the buffer is
@c modified.
バッファに未保存の変更がある場合、
バッファは@dfn{変更されている}といいます。
バッファを保存しないと変更内容が失われてしまうので、
これは重要なことです。
モード行の左端近くに2個の星印を表示して、
バッファが変更されていることを示します。
@kindex C-x C-f
@findex find-file
@c To visit a file, use the command @kbd{C-x C-f} (@code{find-file}). Follow
@c the command with the name of the file you wish to visit, terminated by a
@c @key{RET}.
ファイルを訪問するには、コマンド@kbd{C-x C-f}(@code{find-file})を使います。
このコマンドに、訪問したいファイル名を続けて@key{RET}で終えます。
@c The file name is read using the minibuffer (@pxref{Minibuffer}), with
@c defaulting and completion in the standard manner (@pxref{File Names}).
@c While in the minibuffer, you can abort @kbd{C-x C-f} by typing @kbd{C-g}.
ファイル名はミニバッファ(@pxref{Minibuffer})で読まれ、
このときデフォルトや標準的な方法の補完を使えます(@pxref{File Names})。
ミニバッファ内で@kbd{C-g}と打てば、@kbd{C-x C-f}をアボートできます。
@c Your confirmation that @kbd{C-x C-f} has completed successfully is the
@c appearance of new text on the screen and a new buffer name in the mode
@c line. If the specified file does not exist and could not be created, or
@c cannot be read, then you get an error, with an error message displayed
@c in the echo area.
@kbd{C-x C-f}が正しく完了したことは、画面上に新たに現れるテキストと
モード行に現れる新たなバッファ名で確認できます。
指定したファイルが存在せず作成もできない場合や読めない場合には、
エコー領域にエラーメッセージが表示されます。
@c If you visit a file that is already in Emacs, @kbd{C-x C-f} does not make
@c another copy. It selects the existing buffer containing that file.
@c However, before doing so, it checks that the file itself has not changed
@c since you visited or saved it last. If the file has changed, a warning
@c message is printed. @xref{Interlocking,,Simultaneous Editing}.
すでに訪問しているファイルを再度訪問すると、
@kbd{C-x C-f}は別のコピーを作らずに、
そのファイルを入れた既存のバッファを選択します。
しかし、そうするまえに、訪問してから、あるいは、保存してから以降に
ファイルが変更されたかどうか検査します。
ファイルが変更されていると警告メッセージを表示します。
@xref{Interlocking}。
@c @cindex creating files
@cindex ファイルの新規作成
@c What if you want to create a new file? Just visit it. Emacs prints
@c @samp{(New File)} in the echo area, but in other respects behaves as if
@c you had visited an existing empty file. If you make any changes and
@c save them, the file is created.
新たにファイルを作りたいときにはどうするのでしょう?@code{ }
単に訪問すればよいのです。
Emacsはエコー領域に@samp{(New File)}と表示しますが、
それ以外に関しては、あたかも空のファイルが存在するかのようにふるまいます。
変更してから保存すれば、ファイルを作成できます。
@c Emacs recognizes from the contents of a file which convention it uses
@c to separate lines---newline (used on GNU/Linux and on Unix),
@c carriage-return linefeed (used on Microsoft systems), or just
@c carriage-return (used on the Macintosh)---and automatically converts the
@c contents to the normal Emacs convention, which is that the newline
@c character separates lines. This is a part of the general feature of
@c coding system conversion (@pxref{Coding Systems}), and makes it possible
@c to edit files imported from various different operating systems with
@c equal convenience. If you change the text and save the file, Emacs
@c performs the inverse conversion, changing newlines back into
@c carriage-return linefeed or just carriage-return if appropriate.
Emacsはファイルの内容から、行区切りの方法、
すなわち、(GNU/LinuxやUNIXで使われる)改行、
(Microsoftシステムで使われる)復帰改行、
(Machintoshで使われる)復帰のみを認識します。
さらに、Emacsの通常の方法、つまり、改行文字で行を区切るように
内容を自動的に変換します。
これは、コーディングシステム変換(@pxref{Coding Systems})の
一般的な機能の一部であり、
さまざまの異なるオペレーティングシステムから持ってきた
ファイルを同一の方法で編集できるようにします。
テキストを変更してファイルに保存すると、
Emacsは逆変換を行い、必要ならば、改行を
復帰改行や復帰のみに戻します。
@vindex find-file-run-dired
@c If the file you specify is actually a directory, @kbd{C-x C-f} invokes
@c Dired, the Emacs directory browser, so that you can ``edit'' the contents
@c of the directory (@pxref{Dired}). Dired is a convenient way to delete,
@c look at, or operate on the files in the directory. However, if the
@c variable @code{find-file-run-dired} is @code{nil}, then it is an error
@c to try to visit a directory.
指定したファイルが実際にはディレクトリならば、
@kbd{C-x C-f}はEmacsのディレクトリブラウザであるdiredを起動するので、
ディレクトリの内容を『編集』できます(@pxref{Dired})。
diredは、ディレクトリ内のファイルを、消去したり、眺めたり、
操作するのに便利です。
しかし、変数 @code{find-file-run-dired}が@code{nil}ならば、
ディレクトリを訪問しようとするとエラーになります。
@c If the file name you specify contains wildcard characters, Emacs
@c visits all the files that match it. @xref{Quoted File Names}, if you
@c want to visit a file whose name actually contains wildcard characters.
指定したファイル名にワイルドカード文字が含まれていると、
Emacsは一致するすべてのファイルを訪問します。
ワイルドカード文字そのものを含む名前のファイルを訪問するには、
@xref{Quoted File Names}。
@c If you visit a file that the operating system won't let you modify,
@c Emacs makes the buffer read-only, so that you won't go ahead and make
@c changes that you'll have trouble saving afterward. You can make the
@c buffer writable with @kbd{C-x C-q} (@code{vc-toggle-read-only}).
@c @xref{Misc Buffer}.
オペレーティングシステムが変更を許さないファイルを訪問すると、
Emacsはバッファを読み出し専用に設定するので、
修正できなかったり、修正できてもあとで保存に手間取ります。
@kbd{C-x C-q}(@code{vc-toggle-read-only})で、
バッファを書き込み可能にできます。
@xref{Misc Buffer}。
@kindex C-x C-r
@findex find-file-read-only
@c Occasionally you might want to visit a file as read-only in order to
@c protect yourself from entering changes accidentally; do so by visiting
@c the file with the command @kbd{C-x C-r} (@code{find-file-read-only}).
ときには、自分でまちがって変更しないように、
ファイルを読み出し専用で訪問したい場合があります。
そういう場合には、コマンド@kbd{C-x C-r}(@code{find-file-read-only})で
ファイルを訪問します。
@kindex C-x C-v
@findex find-alternate-file
@c If you visit a nonexistent file unintentionally (because you typed the
@c wrong file name), use the @kbd{C-x C-v} command
@c (@code{find-alternate-file}) to visit the file you really wanted.
@c @kbd{C-x C-v} is similar to @kbd{C-x C-f}, but it kills the current
@c buffer (after first offering to save it if it is modified). When it
@c reads the file name to visit, it inserts the entire default file name in
@c the buffer, with point just after the directory part; this is convenient
@c if you made a slight error in typing the name.
(ファイル名をまちがって打ったりして)
存在しないファイルを意図せずに訪問してしまったときには、
@kbd{C-x C-v}コマンド(@code{find-alternate-file})を使って
本当の目的のファイルを訪問します。
@kbd{C-x C-v}は@kbd{C-x C-f}と同様ですが、
(バッファが変更されていればまず保存するかどうか聞いてから)
カレントバッファを消去します。
訪問するファイル名を読むときには、
ミニバッファにデフォルトファイル名全体を挿入し、
ディレクトリ部分の直後にポイントを置きます。
これは、ファイル名をほんの少しまちがって入力したときに便利です。
@c If you find a file which exists but cannot be read, @kbd{C-x C-f}
@c signals an error.
存在するのに読めないファイルを訪問すると、
@kbd{C-x C-f}はエラーを通知します。
@kindex C-x 4 f
@findex find-file-other-window
@c @kbd{C-x 4 f} (@code{find-file-other-window}) is like @kbd{C-x C-f}
@c except that the buffer containing the specified file is selected in another
@c window. The window that was selected before @kbd{C-x 4 f} continues to
@c show the same buffer it was already showing. If this command is used when
@c only one window is being displayed, that window is split in two, with one
@c window showing the same buffer as before, and the other one showing the
@c newly requested file. @xref{Windows}.
@kbd{C-x 4 f}(@code{find-file-other-window})は、
別のウィンドウで、指定したファイルを入れたバッファを選択することを除けば、
@kbd{C-x C-f}と同じです。
@kbd{C-x 4 f}を実行するまえに選択されていたウィンドウは、
同じバッファを表示したままです。
ウィンドウを1つだけ表示しているときにこのコマンドを使うと、
そのウィンドウを2つに分けて、一方のウィンドウにはまえと同様に同じバッファを
表示しますが、もう一方には新たに指示したファイルを表示します。
@xref{Windows}。
@kindex C-x 5 f
@findex find-file-other-frame
@c @kbd{C-x 5 f} (@code{find-file-other-frame}) is similar, but opens a
@c new frame, or makes visible any existing frame showing the file you
@c seek. This feature is available only when you are using a window
@c system. @xref{Frames}.
@kbd{C-x 5 f}(@code{find-file-other-frame})も同様ですが、
新たなフレームを開くか、
捜しているファイルを表示している既存のフレームを見えるようにします。
ウィンドウシステムを使っているときだけ、
この機能を利用できます。
@xref{Frames}。
@findex find-file-literally
@c If you wish to edit a file as a sequence of characters with no special
@c encoding or conversion, use the @kbd{M-x find-file-literally} command.
@c It visits a file, like @kbd{C-x C-f}, but does not do format conversion
@c (@pxref{Formatted Text}), character code conversion (@pxref{Coding
@c Systems}), or automatic uncompression (@pxref{Compressed Files}).
@c If you already have visited the same file in the usual (non-literal)
@c manner, this command asks you whether to visit it literally instead.
特別な符号化や変換をせずにファイルを文字の列として編集したいときには、
@kbd{M-x find-file-literally}コマンドを使います。
このコマンドは、@kbd{C-x C-f}のようにファイルを訪問しますが、
形式変換(@pxref{Formatted Text})、文字コード変換(@pxref{Coding Systems})、
(圧縮を)自動展開(@pxref{Compressed Files})といったことをしません。
(そのままの文字の列としてではなく)普通の方法で同じファイルを
すでに訪問している場合には、このコマンドは、
そのままの文字の列として訪問するかどうか聞いてきます。
@vindex find-file-hooks
@vindex find-file-not-found-hooks
@c Two special hook variables allow extensions to modify the operation of
@c visiting files. Visiting a file that does not exist runs the functions
@c in the list @code{find-file-not-found-hooks}; this variable holds a list
@c of functions, and the functions are called one by one until one of them
@c returns non-@code{nil}. Any visiting of a file, whether extant or not,
@c expects @code{find-file-hooks} to contain a list of functions and calls
@c them all, one by one. In both cases the functions receive no
@c arguments. Of these two variables, @code{find-file-not-found-hooks}
@c takes effect first. These variables are @emph{not} normal hooks, and
@c their names end in @samp{-hooks} rather than @samp{-hook} to indicate
@c that fact. @xref{Hooks}.
2つの特別なフック変数で、ファイルを訪問する操作を修正して拡張できます。
存在しないファイルを訪問すると、
@code{find-file-not-found-hooks}のリスト内の関数群を実行します。
この変数は関数のリストを保持していて、
呼び出した関数の中のどれかが@code{nil}以外を返すまで1つ1つ順に呼び出します。
ファイルが存在するかどうかに関わらず、
どんなファイルを訪問するときでも
@code{find-file-hooks}には関数のリストが入っていると仮定され、
それらの1つ1つを順にすべて呼び出します。
いずれの場合でも、関数は引数を受け取りません。
2つの変数のうち、先に@code{find-file-not-found-hooks}を使います。
これらの変数はノーマルフックではありま@emph{せん}。
これらの名前が@samp{-hook}ではなくて@samp{-hooks}で終っていることで、
その事実を表しています。
@xref{Hooks}。
@c There are several ways to specify automatically the major mode for
@c editing the file (@pxref{Choosing Modes}), and to specify local
@c variables defined for that file (@pxref{File Variables}).
編集するファイルに対して自動的にメジャーモード(@pxref{Choosing Modes})を
設定し、そのファイルに対して特別なローカル変数(@pxref{File Variables})を
定義する方法がいくつかあります。
@node Saving
@c @section Saving Files
@section ファイルを保存する
@c @dfn{Saving} a buffer in Emacs means writing its contents back into the file
@c that was visited in the buffer.
Emacsにおいてバッファを@dfn{保存}するとは、
バッファの内容をそのバッファの訪問先のファイルへ書き戻すことです。
@table @kbd
@item C-x C-s
@c Save the current buffer in its visited file (@code{save-buffer}).
カレントバッファを訪問先のファイルに保存する(@code{save-buffer})。
@item C-x s
@c Save any or all buffers in their visited files (@code{save-some-buffers}).
任意のバッファかすべてのバッファをそれぞれの訪問先のファイルに保存する
(@code{save-some-buffers})。
@item M-~
@c Forget that the current buffer has been changed (@code{not-modified}).
カレントバッファを変更していないことにする(@code{not-modified})。
@item C-x C-w
@c Save the current buffer in a specified file (@code{write-file}).
カレントバッファを指定したファイルに保存する(@code{write-file})。
@item M-x set-visited-file-name
@c Change file the name under which the current buffer will be saved.
カレントバッファを保存するファイルの名前を変更する。
@end table
@kindex C-x C-s
@findex save-buffer
@c When you wish to save the file and make your changes permanent, type
@c @kbd{C-x C-s} (@code{save-buffer}). After saving is finished, @kbd{C-x C-s}
@c displays a message like this:
ファイルを保存して変更を恒久的なものとするには、
@kbd{C-x C-s}(@code{save-buffer})と打ちます。
保存を完了すると@kbd{C-x C-s}はつぎのようなメッセージを表示します。
@example
Wrote /u/rms/gnu/gnu.tasks
@end example
@noindent
@c If the selected buffer is not modified (no changes have been made in it
@c since the buffer was created or last saved), saving is not really done,
@c because it would have no effect. Instead, @kbd{C-x C-s} displays a message
@c like this in the echo area:
選択されているバッファが変更されていなければ
(バッファを作って以降、あるいは、最後に保存して以降に、変更されていない)、
保存しても何もならないので実際には保存しません。
かわりに、@kbd{C-x C-s}はつぎのようなメッセージをエコー領域に表示します。
@example
(No changes need to be saved)
@end example
@kindex C-x s
@findex save-some-buffers
@c The command @kbd{C-x s} (@code{save-some-buffers}) offers to save any
@c or all modified buffers. It asks you what to do with each buffer. The
@c possible responses are analogous to those of @code{query-replace}:
コマンド@kbd{C-x s}(@code{save-some-buffers})は、
変更された任意のバッファやすべてのバッファを保存できるようにします。
各バッファについて、何をするか聞いてきます。
このとき選べる返答は、@code{query-replace}に対するものに似ています。
@table @kbd
@item y
@c Save this buffer and ask about the rest of the buffers.
このバッファを保存し、残りのバッファについても質問する。
@item n
@c Don't save this buffer, but ask about the rest of the buffers.
このバッファを保存しないが、残りのバッファについては質問する。
@item !
@c Save this buffer and all the rest with no more questions.
@c @c following generates acceptable underfull hbox
このバッファを保存し、
残りのすべてのバッファについても質問せずに保存する。
@item @key{RET}
@c Terminate @code{save-some-buffers} without any more saving.
何も保存せずに@code{save-some-buffers}を終了する。
@item .
@c Save this buffer, then exit @code{save-some-buffers} without even asking
@c about other buffers.
このバッファを保存し、他のバッファについては何も聞かずに
@code{save-some-buffers}を終える。
@item C-r
@c View the buffer that you are currently being asked about. When you exit
@c View mode, you get back to @code{save-some-buffers}, which asks the
@c question again.
質問対象のバッファを閲覧する。
閲覧(view)モードから抜けると、@code{save-some-buffers}に戻りふたたび質問する。
@item C-h
@c Display a help message about these options.
これらのオプションについてのヘルプメッセージを表示する。
@end table
@c @kbd{C-x C-c}, the key sequence to exit Emacs, invokes
@c @code{save-some-buffers} and therefore asks the same questions.
Emacsから抜けるキー列@kbd{C-x C-c}は、
@code{save-some-buffers}を起動するので、同じ質問をしてきます。
@kindex M-~
@findex not-modified
@c If you have changed a buffer but you do not want to save the changes,
@c you should take some action to prevent it. Otherwise, each time you use
@c @kbd{C-x s} or @kbd{C-x C-c}, you are liable to save this buffer by
@c mistake. One thing you can do is type @kbd{M-~} (@code{not-modified}),
@c which clears out the indication that the buffer is modified. If you do
@c this, none of the save commands will believe that the buffer needs to be
@c saved. (@samp{~} is often used as a mathematical symbol for `not'; thus
@c @kbd{M-~} is `not', metafied.) You could also use
@c @code{set-visited-file-name} (see below) to mark the buffer as visiting
@c a different file name, one which is not in use for anything important.
@c Alternatively, you can cancel all the changes made since the file was
@c visited or saved, by reading the text from the file again. This is
@c called @dfn{reverting}. @xref{Reverting}. You could also undo all the
@c changes by repeating the undo command @kbd{C-x u} until you have undone
@c all the changes; but reverting is easier.
バッファを変更したけれども変更を保存したくないならば、
それを避けるための処置をすべきでしょう。
そうしないと、@kbd{C-x s}や@kbd{C-x C-c}を使うたびに、
まちがってバッファを保存してしまいがちです。
1つの方法は、@kbd{M-~}(@code{not-modified})と打つことです。
これは、バッファが変更されていることを示すフラグを消します。
こうしておくと、保存コマンドはバッファを保存する必要がないと結論します。
(@samp{~}は「否定」(not)を意味する数学記号としてしばしば使われる。
よって@kbd{M-~}は、メタ付き「否定」。)
@code{set-visited-file-name}(下記参照)を使って、
別のファイルを訪問しているバッファである旨の印を付けることもできます。
このときファイル名には、重要でない使っていないものを指定します。
あるいは、ファイルからテキストを再度読み直して、
ファイルを訪問したり保存したりした以降のすべての変更を取り消します。
これを@dfn{復元}(reverting)といいます。
@xref{Reverting}。
すべての変更がもとに戻るまでアンドゥコマンド@kbd{C-x u}を繰り返し使って、
変更しなかったことにもできます。
しかし、復元のほうが簡単です。
@findex set-visited-file-name
@c @kbd{M-x set-visited-file-name} alters the name of the file that the
@c current buffer is visiting. It reads the new file name using the
@c minibuffer. Then it specifies the visited file name and changes the
@c buffer name correspondingly (as long as the new name is not in use).
@c @code{set-visited-file-name} does not save the buffer in the newly
@c visited file; it just alters the records inside Emacs in case you do
@c save later. It also marks the buffer as ``modified'' so that @kbd{C-x
@c C-s} in that buffer @emph{will} save.
@kbd{M-x set-visited-file-name}は、
カレントバッファで訪問しているファイルの名前を変更します。
このコマンドは、ミニバッファで新たなファイル名を読み取ります。
そして、訪問先ファイル名を設定し直し、
それに従って(新しい名前が使われていなければ)
バッファ名も変更します。
@code{set-visited-file-name}は、
新たに指定した訪問先のファイルへはバッファを保存しません。
あとで保存する場合に備えて、Emacs内部の記録を変更するだけです。
また、バッファには『変更された』旨の印を付け、
@kbd{C-x C-s}がそのバッファを保存@emph{しようとする}ようにします。
@kindex C-x C-w
@findex write-file
@c If you wish to mark the buffer as visiting a different file and save it
@c right away, use @kbd{C-x C-w} (@code{write-file}). It is precisely
@c equivalent to @code{set-visited-file-name} followed by @kbd{C-x C-s}.
@c @kbd{C-x C-s} used on a buffer that is not visiting a file has the
@c same effect as @kbd{C-x C-w}; that is, it reads a file name, marks the
@c buffer as visiting that file, and saves it there. The default file name in
@c a buffer that is not visiting a file is made by combining the buffer name
@c with the buffer's default directory.
別のファイルを訪問しているという旨の印をバッファに付けて、
ただちに保存したい場合には、@kbd{C-x C-w}(@code{write-file})を使います。
このコマンドは、@code{set-visited-file-name}に続けて@kbd{C-x C-s}を
実行するのと等価です。
ファイルを訪問していないバッファに対して@kbd{C-x C-s}を使うことは、
@kbd{C-x C-w}と同じ効果があります。
つまり、ファイル名を読み取り、
バッファにはそのファイルを訪問しているという印を付け、
バッファをそのファイルに保存します。
ファイルを訪問していないバッファのデフォルトのファイル名は、
バッファのデフォルトディレクトリとバッファ名を組み合わせて作ります。
@c If the new file name implies a major mode, then @kbd{C-x C-w} switches
@c to that major mode, in most cases. The command
@c @code{set-visited-file-name} also does this. @xref{Choosing Modes}.
新しいファイル名がメジャーモードを示唆するものであれば、
@kbd{C-x C-w}は、多くの場合、そのメジャーモードに切り替えます。
コマンド@code{set-visited-file-name}もそのようにします。
@xref{Choosing Modes}。
@c If Emacs is about to save a file and sees that the date of the latest
@c version on disk does not match what Emacs last read or wrote, Emacs
@c notifies you of this fact, because it probably indicates a problem caused
@c by simultaneous editing and requires your immediate attention.
@c @xref{Interlocking,, Simultaneous Editing}.
Emacsがファイルを保存しようとするときに、
ディスク上の最新版の日付がEmacsが最後に読み書きしたものと合わなかったら、
Emacsはそのことを通知します。
というのは、同時に編集したために引き起こされた問題である可能性があるので、
ユーザーにただちに知らせる必要があるからです。
@xref{Interlocking}。
@vindex require-final-newline
@c If the variable @code{require-final-newline} is non-@code{nil}, Emacs
@c puts a newline at the end of any file that doesn't already end in one,
@c every time a file is saved or written. The default is @code{nil}.
変数@code{require-final-newline}が@code{nil}以外だと、
Emacsはファイルを保存するたびに、
ファイルの末尾に改行がなければ改行を挿入します。
デフォルトは@code{nil}です。
@menu
* Backup:: How Emacs saves the old version of your file.
* Interlocking:: How Emacs protects against simultaneous editing
of one file by two users.
@end menu
@node Backup
@c @subsection Backup Files
@c @cindex backup file
@subsection バックアップファイル
@cindex バックアップファイル
@vindex make-backup-files
@vindex vc-make-backup-files
@vindex backup-enable-predicate
@c On most operating systems, rewriting a file automatically destroys all
@c record of what the file used to contain. Thus, saving a file from Emacs
@c throws away the old contents of the file---or it would, except that
@c Emacs carefully copies the old contents to another file, called the
@c @dfn{backup} file, before actually saving.
多くのオペレーティングシステムでは、
ファイルを書き換えるとファイルに入っていたそれまでの記録は
自動的に破棄されます。
したがって、Emacsでファイルを保存すると、ファイルの古い内容は捨てられます。
しかし、実際に保存するまえに、古い内容を@dfn{バックアップ}ファイル
と呼ばれる別のファイルにEmacsが注意深くコピーすれば、
古い内容は破棄されません。
@c For most files, the variable @code{make-backup-files} determines
@c whether to make backup files. On most operating systems, its default
@c value is @code{t}, so that Emacs does write backup files.
ほとんどのファイルでは、
バックアップファイルを作るかどうかは
変数@code{make-backup-files}で決まります。
多くのオペレーティングシステムでは、この変数のデフォルト値は@code{t}であり、
Emacsはバックアップファイルを作ります。
@c For files managed by a version control system (@pxref{Version
@c Control}), the variable @code{vc-make-backup-files} determines whether
@c to make backup files. By default, it is @code{nil}, since backup files
@c are redundant when you store all the previous versions in a version
@c control system. @xref{VC Workfile Handling}.
版管理システム(@pxref{Version Control})が管理するファイルに対しては、
バックアップファイルを作るかどうかは
変数@code{vc-make-backup-files}で決まります。
デフォルトは@code{nil}です。
というのは、すべての古い版を版管理システムに保管してあるので、
バックアップファイルは冗長だからです。
@xref{VC Workfile Handling}。
@c The default value of the @code{backup-enable-predicate} variable
@c prevents backup files being written for files in @file{/tmp}.
変数@code{backup-enable-predicate}のデフォルト値は、
@file{/tmp}にあるファイルのバックアップファイルを
作らないようにします。
@c At your option, Emacs can keep either a single backup file or a series of
@c numbered backup files for each file that you edit.
Emacsでは、単一のバックアップファイルを保持することも、
編集した各ファイルごとに一連の番号付きバックアップファイルを
保持することもできます。
@c Emacs makes a backup for a file only the first time the file is saved
@c from one buffer. No matter how many times you save a file, its backup file
@c continues to contain the contents from before the file was visited.
@c Normally this means that the backup file contains the contents from before
@c the current editing session; however, if you kill the buffer and then visit
@c the file again, a new backup file will be made by the next save.
Emacsがファイルのバックアップファイルを作るのは、
バッファからそのファイルへ最初に保存したときだけです。
たとえ何度ファイルを保存したとしても、
そのバックアップファイルは、ファイルを訪問する以前の内容を保持し続けます。
通常これは、今の編集セッションを始める以前の内容を
バックアップファイルが保持していることを意味します。
しかしながら、バッファを消去してから再度ファイルを訪問すると、
それ以降に保存するときには新たにバックアップファイルを作ります。
@c You can also explicitly request making another backup file from a
@c buffer even though it has already been saved at least once. If you save
@c the buffer with @kbd{C-u C-x C-s}, the version thus saved will be made
@c into a backup file if you save the buffer again. @kbd{C-u C-u C-x C-s}
@c saves the buffer, but first makes the previous file contents into a new
@c backup file. @kbd{C-u C-u C-u C-x C-s} does both things: it makes a
@c backup from the previous contents, and arranges to make another from the
@c newly saved contents, if you save again.
少なくとも一度は保存したとしても、
バッファからもう1つバックアップファイルを作るように明示的に
指示することもできます。
@kbd{C-u C-x C-s}でバッファを保存すると、
このとき保存した版は、バッファを再度保存するときには
バックアップファイルになります。
@kbd{C-u C-u C-x C-s}もバッファを保存しますが、
まずファイルの古い内容をバックアップファイルにします。
@kbd{C-u C-u C-u C-x C-s} はその両方を行います。
ファイルの以前の内容からバックアップファイルを作り、
さらに、バッファを再度保存するとこのとき保存した版から
もう1つバックアップファイルを作るように準備します。
@menu
* Names: Backup Names. How backup files are named;
choosing single or numbered backup files.
* Deletion: Backup Deletion. Emacs deletes excess numbered backups.
* Copying: Backup Copying. Backups can be made by copying or renaming.
@end menu
@node Backup Names
@c @subsubsection Single or Numbered Backups
@subsubsection 単一バックアップファイルと番号付きバックアップファイル
@c If you choose to have a single backup file (this is the default),
@c the backup file's name is constructed by appending @samp{~} to the
@c file name being edited; thus, the backup file for @file{eval.c} would
@c be @file{eval.c~}.
単一バックアップファイルを作ることを選択すると(デフォルト)、
バックアップファイルの名前は、
編集しているファイルの名前に@samp{~}を付加したものになります。
したがって、@file{eval.c}のバックアップファイルは@file{eval.c~}となります。
@c If you choose to have a series of numbered backup files, backup file
@c names are made by appending @samp{.~}, the number, and another @samp{~} to
@c the original file name. Thus, the backup files of @file{eval.c} would be
@c called @file{eval.c.~1~}, @file{eval.c.~2~}, and so on, through names
@c like @file{eval.c.~259~} and beyond.
番号付きの一連のバックアップファイルを作ることを選択すると、
バックアップファイルの名前は、もとのファイル名に
@samp{.~}と数字ともう1つ@samp{~}を付加したものになります。
したがって、@file{eval.c}のバックアップファイルは、
@file{eval.c.~1~}、@file{eval.c.~2~}、…、@file{eval.c.~259~}というように
どこまでも続きます。
@c If protection stops you from writing backup files under the usual names,
@c the backup file is written as @file{%backup%~} in your home directory.
@c Only one such file can exist, so only the most recently made such backup is
@c available.
保護機構のために
普通の名前でバックアップファイルを書けなくなると、
ユーザーのホームディレクトリの@file{%backup%~}に
バックアップファイルを書きます。
そのファイルはたった1つしか存在できないので、
最新のバックアップにしか利用できません。
@vindex version-control
@c The choice of single backup or numbered backups is controlled by the
@c variable @code{version-control}. Its possible values are
単一バックアップか番号付きバックアップかの選択は、
変数@code{version-control}で制御されます。
この変数に設定できる値はつぎのとおりです。
@table @code
@item t
@c Make numbered backups.
番号付きバックアップを作る。
@item nil
@c Make numbered backups for files that have numbered backups already.
@c Otherwise, make single backups.
ファイルに対して番号付きバックアップファイルがすでにあるならば
番号付きバックアップを作る。
さもなければ、単一バックアップを作る。
@item never
@c Do not in any case make numbered backups; always make single backups.
どんな場合にも番号付きバックアップを作らない。
つねに単一バックアップを作る。
@end table
@noindent
@c You can set @code{version-control} locally in an individual buffer to
@c control the making of backups for that buffer's file. For example,
@c Rmail mode locally sets @code{version-control} to @code{never} to make sure
@c that there is only one backup for an Rmail file. @xref{Locals}.
各バッファではローカルに@code{version-control}を設定できるので、
そのバッファのファイルに対するバックアップの作成方法を制御できます。
たとえば、rmailモードでは、
rmailファイルのバックアップを1個だけに限定するために、
@code{version-control}にはローカルに@code{never}を設定します。
@xref{Locals}。
@c @cindex @code{VERSION_CONTROL} environment variable
@cindex 環境変数@code{VERSION_CONTROL}
@cindex @code{VERSION_CONTROL}(環境変数)
@c If you set the environment variable @code{VERSION_CONTROL}, to tell
@c various GNU utilities what to do with backup files, Emacs also obeys the
@c environment variable by setting the Lisp variable @code{version-control}
@c accordingly at startup. If the environment variable's value is @samp{t}
@c or @samp{numbered}, then @code{version-control} becomes @code{t}; if the
@c value is @samp{nil} or @samp{existing}, then @code{version-control}
@c becomes @code{nil}; if it is @samp{never} or @samp{simple}, then
@c @code{version-control} becomes @code{never}.
環境変数@code{VERSION_CONTROL}を設定すると、
さまざまなGNUユーティリティに
どのようにバックアップファイルを扱うか指示できます。
Emacsも環境変数に従って動作し、
開始時にそれに一致するようにLisp変数@code{version-control}を設定します。
環境変数の値が@samp{t}か@samp{numbered}なら、
@code{version-control}は@code{t}になります。
環境変数の値が@samp{nil}か@samp{existing}なら、
@code{version-control}は@code{nil}になります。
環境変数の値が@samp{never}か@samp{simple}なら、
@code{version-control}は@code{never}になります。
@node Backup Deletion
@c @subsubsection Automatic Deletion of Backups
@subsubsection バックアップの自動削除
@c To prevent unlimited consumption of disk space, Emacs can delete numbered
@c backup versions automatically. Generally Emacs keeps the first few backups
@c and the latest few backups, deleting any in between. This happens every
@c time a new backup is made.
ディスク容量を無限に浪費することを避けるために、
Emacsは番号付きバックアップの版を自動的に削除できます。
一般には、Emacsは始めの数個と最新の数個のバックアップを残して、
そのあいだのものをすべて削除します。
これは、新たにバックアップを作るごとに行われます。
@vindex kept-old-versions
@vindex kept-new-versions
@c The two variables @code{kept-old-versions} and
@c @code{kept-new-versions} control this deletion. Their values are,
@c respectively the number of oldest (lowest-numbered) backups to keep and
@c the number of newest (highest-numbered) ones to keep, each time a new
@c backup is made. Recall that these values are used just after a new
@c backup version is made; that newly made backup is included in the count
@c in @code{kept-new-versions}. By default, both variables are 2.
2つの変数@code{kept-old-versions}と@code{kept-new-versions}は、
このような削除を制御します。
それらの値は、それぞれ、新たにバックアップを作るときに、
保持すべき最古(番号が最小)のバックアップの個数、
保持すべき最新(番号が最大)のバックアップの個数です。
それらの値は、バックアップの新版を作った直後に使われることに
注意してください。
新たに作ったバックアップも、@code{kept-new-versions}の数に含まれます。
デフォルトでは、どちらの変数も2です。
@vindex delete-old-versions
@c If @code{delete-old-versions} is non-@code{nil}, the excess
@c middle versions are deleted without a murmur. If it is @code{nil}, the
@c default, then you are asked whether the excess middle versions should
@c really be deleted.
@code{delete-old-versions}が@code{nil}以外ならば、
何もいわずに余分な中間の版を削除します。
デフォルト値である@code{nil}ならば、
余分な中間の版を削除するかどうかを聞いてきます。
@c Dired's @kbd{.} (Period) command can also be used to delete old versions.