Initial git import
[sxemacs] / info / new-users-guide / files.texi
1 @comment  node-name,  next,  previous,  up
2 @node Files, Other Customizations, Modes, Top
3 @chapter Files
4 @cindex files
5
6    The basic unit of stored data in Unix is the @dfn{file}.  To edit a file,
7 you must tell Emacs to read the file into a buffer. This is called
8 @dfn{visiting} the file. You can now edit the buffer and to save the
9 changes you must write the buffer back to the file.
10
11   In addition to visiting and saving files, Emacs can delete, copy, rename,
12 and append to files, and operate on file directories.
13
14 @comment  node-name,  next,  previous,  up
15 @menu
16 * File Names::                  How to type and edit file name arguments.
17 * Visiting::                    Visiting a file prepares Emacs to edit the file.
18 * Saving Files::                How to save Emacs files.
19 @end menu
20
21 @node File Names, Visiting, Files, Files
22 @section File Names
23 @cindex file names
24
25    Most of the Emacs commands that operate on a file require you to
26 specify a file name. For example, you might specify the file name
27 initially when you enter Emacs :
28
29 @example
30 sxemacs myfile RET
31 @end example
32
33 @noindent
34 After you hit @key{RET}, you will enter SXEmacs with "myfile" read into
35 the current buffer. If you do not specify the filename when entering
36 Emacs, you can use the @b{Open...} option from the @b{File} menu. You
37 will be prompted for a filename in the echo area:
38
39 @example
40 Find file: /usr/workspace/
41 @end example
42
43 @vindex default-directory
44 @noindent
45 Type in a file name which you want to open after the "/" and hit
46 @key{RET}. The specified file will be read into the current buffer. The
47 "/usr/workspace" might be the @dfn{default directory}. When Emacs
48 prompts you for a file, it uses the default-directory unless you specify
49 a directory. You can see what the default directory of the current
50 buffer is by using the @b{Describe Variable} option from the @b{Help}
51 menu. When Emacs prompts you for the variable name to describe, type
52 @code{default-directory}. If you wish to open a file in some other
53 directory, use @key{DEL} or the @key{BackSpace} key to go back and type
54 the path name of the new directory.
55
56    You can create a new directory by typing @kbd{M-x
57 make-directory}. This command will prompt you for a directory name:
58
59 @example
60 Create directory: /usr/workspace/
61 @end example
62
63 @findex make-directory
64 @findex remove-directory
65 @cindex creating-directories
66 @cindex removing-directories
67 @noindent
68 After you type a directory name and press @key{RET}, a new directory
69 with the specified name will be created. If you do not wish to create a
70 new directory, then simply press @kbd{C-g} to quit the
71 command. Similarly, you can also remove a directory by using the command
72 @kbd{remove-directory}. The command @kbd{M-x pwd} will print the current
73 buffer's default directory. For more information on file names,
74 @xref{File Names,,,sxemacs,SXEmacs User's Manual}.
75
76
77 @node Visiting, Saving Files, File Names, Files
78 @section Visiting Files
79 @cindex visiting files
80
81    To edit a file in Emacs you need to @dfn{visit} it. @dfn{Visiting} a
82 file means copying its contents (or reading them) into the current
83 buffer. Emacs will create a new buffer for each file that you visit. The
84 buffer will be named after the file that you open. If you open a file
85 @file{/usr/workspace/myfile.texinfo}, the buffer will be called
86 "myfile.texinfo". If a buffer with this name already exists, a unique
87 name will be constructed by appending @samp{<2>}, @samp{<3>}, etc. If
88 this is the second buffer with the same name, a "<2>" will be appended,
89 "<3>" for a third buffer and so on. The name of the buffer which is
90 being displayed in the window will be shown both at the top and bottom
91 of the frame. Once you are in SXEmacs, you can use the following
92 commands:
93
94 @table @kbd
95 @item C-x C-f
96 @findex find-file
97 @kindex C-x C-f
98 This command will visit a file (@code{find-file}). It will prompt you
99 for a file name to visit. The @b{Open...} option from the @b{File} menu
100 does the same thing:
101
102 @example
103 Find file: /usr/workspace/
104 @end example
105
106 @noindent
107 Type in a filename and press @key{RET}. You will see a new buffer on the
108 screen with its name in the mode-line. If the filename you specify
109 already exists in Emacs, the buffer containing that file will be
110 selected. You will get an error message if the filename does not
111 exist. If you still press @key{RET}, a new buffer with the given
112 filename will be displayed on the screen.
113
114 @item C-x C-v
115 @kindex C-x C-v
116 @findex find-alternate-file
117 This command (@code{find-alternate-file}), will visit a different file
118 instead of the one visited last. It is similar to @kbd{C-c C-f} except
119 that it kills the current buffer (after offering to save it).
120
121 @item C-x 5 C-f
122 @kindex C-x 5 C-f
123 @findex find-file-other-frame
124 This command will visit a file in another frame
125 (@code{find-file-other-frame}) without changing the current window or
126 frame. The @b{Open in New Frame...} from the @b{File} menu will do the
127 same thing. It will prompt you for a file name in the echo area. After
128 you type the file name and press @key{RET}, the specified file will be
129 read into a new buffer and displayed on a new frame.
130 @end table
131
132 @node Saving Files,  , Visiting, Files
133 @section Saving Files
134 @cindex saving files
135
136    The changes that you make after visiting a file will not be saved
137 unless you save the buffer. When you save the buffer, Emacs writes the
138 current contents of the buffer into the visited file. Some commands to
139 save buffers are:
140
141 @table @kbd
142 @item C-x C-s
143 @findex save-buffer
144 @kindex C-x C-s
145 This command will permanently save the current buffer in its visited
146 file (@code{save-buffer}). You will see the following message in the
147 echo area if you save a file called "myfile.texinfo" :
148
149 @example
150 Wrote /usr/workspace/myfile.texinfo
151 @end example
152
153 @noindent
154 Try using this command twice. You will get the above message the first
155 time you use this command, the second time you will get the following
156 message:
157
158 @example
159 (No changes need to be saved)
160 @end example
161
162 @noindent
163 This message indicates that you haven't made any changes since the last
164 time you saved the file.
165
166 @item C-x s
167 @kindex C-x s
168 @findex save-some-buffers
169 This command will save all the buffers in their visited files
170 (@code{save-some-buffers}). It will prompt you for typing yes or no:
171
172 @example
173 Save file /usr/workspace/myfile.texinfo? (y or n)
174 @end example
175
176 @noindent
177 You will get the above message for all the buffers. Type "y" if you want
178 to save the buffer.
179
180 @item C-x C-w
181 @findex write file
182 @kindex C-x C-w
183 This command will prompt you for a file name and save the current buffer
184 in that file. (@code{write-file}). You will see the following message in
185 the echo area:
186
187 @example
188 Write file: /usr/workspace/
189 @end example
190
191 @noindent
192 After you type in a file name, press @key{RET}. The buffer will be saved
193 in a new file. You can make copies of a particular file using this
194 command.
195 @end table
196
197    You can also undo all the changes made since the file was visited or
198 saved by reading the text from the file again (called
199 @dfn{reverting}). For more information on this option,
200 @xref{Reverting,,,sxemacs,SXEmacs User's Manual}.
201
202 @vindex make-backup-files
203    When you save a file in Emacs, it destroys its old contents. However,
204 if you set the variable @code{make-backup-files} to non-@code{nil}
205 i.e. @samp{t}, Emacs will create a @dfn{backup} file. Select the
206 @b{Describe variable} option from the @b{Help} menu and look at the
207 documentation for this variable. Its default value should be
208 @samp{t}. However, if its not then use @kbd{M-x set-variable} to set it
209 to @samp{t} (@pxref{Setting Variables}). The backup file will contain
210 the contents from the last time you visited the file. Emacs also
211 provides options for creating numbered backups. For more information on
212 backups, @xref{Backup,,,sxemacs,SXEmacs User's Manual}.
213
214 @cindex auto saving
215    Emacs also saves all the files from time to time so that in case of a
216 system crash you don't lose lot of your work. You will see the message
217 @samp{Auto-saving...} displayed in the echo area when the buffer is
218 being saved automatically. The auto saved files are named by putting the
219 character @samp{#} in front and back. For example a file called
220 "myfile.texinfo" would be named as @file{#myfile.texinfo#}. For
221 information on controlling auto-saving and recovering data from
222 auto-saving, @xref{Auto Save Files,,,sxemacs,SXEmacs User's Manual}.
223
224 @cindex simultaneous editing
225    Emacs provides protection from simultaneous editing which occurs if
226 two users are visiting the same file and trying to save their
227 changes. It will put a lock on a file which is being visited and
228 modified. If any other user tries to modify that file, it will inform
229 the user about the lock and provide some
230 options. For more information on protection against simultaneous
231 editing, @xref{Interlocking,,,sxemacs,SXEmacs User's Manual}.
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254