/
usr
/
share
/
vim
/
vim82
/
doc
/
/usr/share/vim/vim82/doc
mkdir
upload
Name
Size
Mode
Actions
arabic.txt
12204
0644
edit
dl
rm
autocmd.txt
74314
0644
edit
dl
rm
builtin.txt
389075
0644
edit
dl
rm
change.txt
79214
0644
edit
dl
rm
channel.txt
50387
0644
edit
dl
rm
cmdline.txt
50130
0644
edit
dl
rm
debug.txt
6896
0644
edit
dl
rm
debugger.txt
5443
0644
edit
dl
rm
develop.txt
22861
0644
edit
dl
rm
diff.txt
17515
0644
edit
dl
rm
digraph.txt
62082
0644
edit
dl
rm
editing.txt
75319
0644
edit
dl
rm
eval.txt
178282
0644
edit
dl
rm
farsi.txt
523
0644
edit
dl
rm
filetype.txt
27998
0644
edit
dl
rm
fold.txt
24139
0644
edit
dl
rm
ft_ada.txt
18246
0644
edit
dl
rm
ft_ps1.txt
2187
0644
edit
dl
rm
ft_raku.txt
4183
0644
edit
dl
rm
ft_rust.txt
9596
0644
edit
dl
rm
ft_sql.txt
30697
0644
edit
dl
rm
gui.txt
53076
0644
edit
dl
rm
gui_w32.txt
19117
0644
edit
dl
rm
gui_x11.txt
29906
0644
edit
dl
rm
hangulin.txt
598
0644
edit
dl
rm
hebrew.txt
5666
0644
edit
dl
rm
help.txt
9098
0644
edit
dl
rm
help.txt.vim-tiny
1431
0644
edit
dl
rm
helphelp.txt
15933
0644
edit
dl
rm
howto.txt
2916
0644
edit
dl
rm
if_cscop.txt
19325
0644
edit
dl
rm
if_lua.txt
18546
0644
edit
dl
rm
if_mzsch.txt
11941
0644
edit
dl
rm
if_ole.txt
7361
0644
edit
dl
rm
if_perl.txt
11281
0644
edit
dl
rm
if_pyth.txt
38644
0644
edit
dl
rm
if_ruby.txt
8516
0644
edit
dl
rm
if_sniff.txt
271
0644
edit
dl
rm
if_tcl.txt
22941
0644
edit
dl
rm
indent.txt
41902
0644
edit
dl
rm
index.txt
81125
0644
edit
dl
rm
insert.txt
87568
0644
edit
dl
rm
intro.txt
38934
0644
edit
dl
rm
map.txt
74464
0644
edit
dl
rm
mbyte.txt
59640
0644
edit
dl
rm
message.txt
31671
0644
edit
dl
rm
mlang.txt
8187
0644
edit
dl
rm
motion.txt
51891
0644
edit
dl
rm
netbeans.txt
37982
0644
edit
dl
rm
options.txt
401254
0644
edit
dl
rm
os_390.txt
4749
0644
edit
dl
rm
os_amiga.txt
5466
0644
edit
dl
rm
os_beos.txt
293
0644
edit
dl
rm
os_dos.txt
15496
0644
edit
dl
rm
os_haiku.txt
8496
0644
edit
dl
rm
os_mac.txt
6856
0644
edit
dl
rm
os_mint.txt
391
0644
edit
dl
rm
os_msdos.txt
523
0644
edit
dl
rm
os_os2.txt
299
0644
edit
dl
rm
os_qnx.txt
4071
0644
edit
dl
rm
os_risc.txt
328
0644
edit
dl
rm
os_unix.txt
2603
0644
edit
dl
rm
os_vms.txt
32903
0644
edit
dl
rm
os_win32.txt
14404
0644
edit
dl
rm
pattern.txt
62949
0644
edit
dl
rm
pi_getscript.txt
21082
0644
edit
dl
rm
pi_gzip.txt
1294
0644
edit
dl
rm
pi_logipat.txt
4196
0644
edit
dl
rm
pi_netrw.txt
181824
0644
edit
dl
rm
pi_paren.txt
2274
0644
edit
dl
rm
pi_spec.txt
4127
0644
edit
dl
rm
pi_tar.txt
7247
0644
edit
dl
rm
pi_vimball.txt
11859
0644
edit
dl
rm
pi_zip.txt
7491
0644
edit
dl
rm
popup.txt
39689
0644
edit
dl
rm
print.txt
31209
0644
edit
dl
rm
quickfix.txt
83331
0644
edit
dl
rm
quickref.txt
72492
0644
edit
dl
rm
quotes.txt
12748
0644
edit
dl
rm
README.Debian
324
0644
edit
dl
rm
recover.txt
10720
0644
edit
dl
rm
remote.txt
8420
0644
edit
dl
rm
repeat.txt
43565
0644
edit
dl
rm
rileft.txt
4938
0644
edit
dl
rm
russian.txt
3024
0644
edit
dl
rm
scroll.txt
13781
0644
edit
dl
rm
sign.txt
26870
0644
edit
dl
rm
spell.txt
64095
0644
edit
dl
rm
sponsor.txt
6803
0644
edit
dl
rm
starting.txt
73599
0644
edit
dl
rm
syntax.txt
229795
0644
edit
dl
rm
tabpage.txt
17248
0644
edit
dl
rm
tags
362670
0644
edit
dl
rm
tags.vim-tiny
30
0644
edit
dl
rm
tagsrch.txt
40278
0644
edit
dl
rm
term.txt
49822
0644
edit
dl
rm
terminal.txt
57098
0644
edit
dl
rm
testing.txt
16678
0644
edit
dl
rm
textprop.txt
16395
0644
edit
dl
rm
tips.txt
21089
0644
edit
dl
rm
todo.txt
307147
0644
edit
dl
rm
uganda.txt
14028
0644
edit
dl
rm
undo.txt
16584
0644
edit
dl
rm
usr_01.txt
7081
0644
edit
dl
rm
usr_02.txt
24229
0644
edit
dl
rm
usr_03.txt
23872
0644
edit
dl
rm
usr_04.txt
19131
0644
edit
dl
rm
usr_05.txt
27023
0644
edit
dl
rm
usr_06.txt
10638
0644
edit
dl
rm
usr_07.txt
15995
0644
edit
dl
rm
usr_08.txt
19379
0644
edit
dl
rm
usr_09.txt
11502
0644
edit
dl
rm
usr_10.txt
29200
0644
edit
dl
rm
usr_11.txt
13025
0644
edit
dl
rm
usr_12.txt
13433
0644
edit
dl
rm
usr_20.txt
13733
0644
edit
dl
rm
usr_21.txt
18456
0644
edit
dl
rm
usr_22.txt
14999
0644
edit
dl
rm
usr_23.txt
12744
0644
edit
dl
rm
usr_24.txt
20827
0644
edit
dl
rm
usr_25.txt
19176
0644
edit
dl
rm
usr_26.txt
8259
0644
edit
dl
rm
usr_27.txt
17709
0644
edit
dl
rm
usr_28.txt
16020
0644
edit
dl
rm
usr_29.txt
20121
0644
edit
dl
rm
usr_30.txt
22658
0644
edit
dl
rm
usr_31.txt
10399
0644
edit
dl
rm
usr_32.txt
5378
0644
edit
dl
rm
usr_40.txt
23195
0644
edit
dl
rm
usr_41.txt
95626
0644
edit
dl
rm
usr_42.txt
13853
0644
edit
dl
rm
usr_43.txt
7409
0644
edit
dl
rm
usr_44.txt
28948
0644
edit
dl
rm
usr_45.txt
17688
0644
edit
dl
rm
usr_46.txt
7096
0644
edit
dl
rm
usr_90.txt
16836
0644
edit
dl
rm
usr_toc.txt
9505
0644
edit
dl
rm
various.txt
31483
0644
edit
dl
rm
version4.txt
13911
0644
edit
dl
rm
version5.txt
308533
0644
edit
dl
rm
version6.txt
576942
0644
edit
dl
rm
version7.txt
674703
0644
edit
dl
rm
version8.txt
1940466
0644
edit
dl
rm
vim9.txt
68612
0644
edit
dl
rm
visual.txt
21846
0644
edit
dl
rm
vi_diff.txt
57428
0644
edit
dl
rm
windows.txt
55898
0644
edit
dl
rm
workshop.txt
371
0644
edit
dl
rm
Edit:
/usr/share/vim/vim82/doc/usr_22.txt
(14999B)
*usr_22.txt* For Vim version 8.2. Last change: 2020 Mar 28 VIM USER MANUAL - by Bram Moolenaar Finding the file to edit Files can be found everywhere. So how do you find them? Vim offers various ways to browse the directory tree. There are commands to jump to a file that is mentioned in another. And Vim remembers which files have been edited before. |22.1| The file browser |22.2| The current directory |22.3| Finding a file |22.4| The buffer list Next chapter: |usr_23.txt| Editing other files Previous chapter: |usr_21.txt| Go away and come back Table of contents: |usr_toc.txt| ============================================================================== *22.1* The file browser Vim has a plugin that makes it possible to edit a directory. Try this: > :edit . Through the magic of autocommands and Vim scripts, the window will be filled with the contents of the directory. It looks like this: " ============================================================================ ~ " Netrw Directory Listing (netrw v109) ~ " Sorted by name ~ " Sort sequence: [\/]$,\.h$,\.c$,\.cpp$,*,\.info$,\.swp$,\.o$\.obj$,\.bak$ ~ " Quick Help: <F1>:help -:go up dir D:delete R:rename s:sort-by x:exec ~ " ============================================================================ ~ ../ ~ ./ ~ check/ ~ Makefile ~ autocmd.txt ~ change.txt ~ eval.txt~ ~ filetype.txt~ ~ help.txt.info ~ You can see these items: 1. The name of the browsing tool and its version number 2. The name of the browsing directory 3. The method of sorting (may be by name, time, or size) 4. How names are to be sorted (directories first, then *.h files, *.c files, etc) 5. How to get help (use the <F1> key), and an abbreviated listing of available commands 6. A listing of files, including "../", which allows one to list the parent directory. If you have syntax highlighting enabled, the different parts are highlighted so as to make it easier to spot them. You can use Normal mode Vim commands to move around in the text. For example, move the cursor atop a file and press <Enter>; you will then be editing that file. To go back to the browser use ":edit ." again, or use ":Explore". CTRL-O also works. Try using <Enter> while the cursor is atop a directory name. The result is that the file browser moves into that directory and displays the items found there. Pressing <Enter> on the first directory "../" moves you one level higher. Pressing "-" does the same thing, without the need to move to the "../" item first. You can press <F1> to get help on the things you can do in the netrw file browser. This is what you get: > 9. Directory Browsing netrw-browse netrw-dir netrw-list netrw-help MAPS netrw-maps <F1>.............Help.......................................|netrw-help| <cr>.............Browsing...................................|netrw-cr| <del>............Deleting Files or Directories..............|netrw-delete| -................Going Up...................................|netrw--| a................Hiding Files or Directories................|netrw-a| mb...............Bookmarking a Directory....................|netrw-mb| gb...............Changing to a Bookmarked Directory.........|netrw-gb| cd...............Make Browsing Directory The Current Dir....|netrw-c| d................Make A New Directory.......................|netrw-d| D................Deleting Files or Directories..............|netrw-D| <c-h>............Edit File/Directory Hiding List............|netrw-ctrl-h| i................Change Listing Style.......................|netrw-i| <c-l>............Refreshing the Listing.....................|netrw-ctrl-l| o................Browsing with a Horizontal Split...........|netrw-o| p................Use Preview Window.........................|netrw-p| P................Edit in Previous Window....................|netrw-p| q................Listing Bookmarks and History..............|netrw-qb| r................Reversing Sorting Order....................|netrw-r| < (etc) The <F1> key thus brings you to a netrw directory browsing contents help page. It's a regular help page; use the usual |CTRL-]| to jump to tagged help items and |CTRL-O| to jump back. To select files for display and editing: (with the cursor is atop a filename) <enter> Open the file in the current window. |netrw-cr| o Horizontally split window and display file |netrw-o| v Vertically split window and display file |netrw-v| p Use the |preview-window| |netrw-p| P Edit in the previous window |netrw-P| t Open file in a new tab |netrw-t| The following normal-mode commands may be used to control the browser display: i Controls listing style (thin, long, wide, and tree). The long listing includes size and date information. s Repeatedly pressing s will change the way the files are sorted; one may sort on name, modification time, or size. r Reverse the sorting order. As a sampling of extra normal-mode commands: cd Change Vim's notion of the current directory to be the same as the browser directory. (see |g:netrw_keepdir| to control this, too) R Rename the file or directory under the cursor; a prompt will be issued for the new name. D Delete the file or directory under the cursor; a confirmation request will be issued. mb gb Make bookmark/goto bookmark One may also use command mode; again, just a sampling: :Explore [directory] Browse specified/current directory :NetrwSettings A comprehensive list of your current netrw settings with help linkage. The netrw browser is not limited to just your local machine; one may use urls such as: (that trailing / is important) :Explore ftp://somehost/path/to/dir/ :e scp://somehost/path/to/dir/ See |netrw-browse| for more. ============================================================================== *22.2* The current directory Just like the shell, Vim has the concept of a current directory. Suppose you are in your home directory and want to edit several files in a directory "VeryLongFileName". You could do: > :edit VeryLongFileName/file1.txt :edit VeryLongFileName/file2.txt :edit VeryLongFileName/file3.txt To avoid much of the typing, do this: > :cd VeryLongFileName :edit file1.txt :edit file2.txt :edit file3.txt The ":cd" command changes the current directory. You can see what the current directory is with the ":pwd" command: > :pwd /home/Bram/VeryLongFileName Vim remembers the last directory that you used. Use "cd -" to go back to it. Example: > :pwd /home/Bram/VeryLongFileName :cd /etc :pwd /etc :cd - :pwd /home/Bram/VeryLongFileName :cd - :pwd /etc WINDOW LOCAL DIRECTORY When you split a window, both windows use the same current directory. When you want to edit a number of files somewhere else in the new window, you can make it use a different directory, without changing the current directory in the other window. This is called a local directory. > :pwd /home/Bram/VeryLongFileName :split :lcd /etc :pwd /etc CTRL-W w :pwd /home/Bram/VeryLongFileName So long as no `:lcd` command has been used, all windows share the same current directory. Doing a `:cd` command in one window will also change the current directory of the other window. For a window where `:lcd` has been used a different current directory is remembered. Using `:cd` or `:lcd` in other windows will not change it. When using a `:cd` command in a window that uses a different current directory, it will go back to using the shared directory. TAB LOCAL DIRECTORY When you open a new tab page, it uses the directory of the window in the previous tab page from which the new tab page was opened. You can change the directory of the current tab page using the `:tcd` command. All the windows in a tab page share this directory except for windows with a window-local directory. Any new windows opened in this tab page will use this directory as the current working directory. Using a `:cd` command in a tab page will not change the working directory of tab pages which have a tab local directory. When the global working directory is changed using the `:cd` command in a tab page, it will also change the current tab page working directory. ============================================================================== *22.3* Finding a file You are editing a C program that contains this line: #include "inits.h" ~ You want to see what is in that "inits.h" file. Move the cursor on the name of the file and type: > gf Vim will find the file and edit it. What if the file is not in the current directory? Vim will use the 'path' option to find the file. This option is a list of directory names where to look for your file. Suppose you have your include files located in "c:/prog/include". This command will add it to the 'path' option: > :set path+=c:/prog/include This directory is an absolute path. No matter where you are, it will be the same place. What if you have located files in a subdirectory, below where the file is? Then you can specify a relative path name. This starts with a dot: > :set path+=./proto This tells Vim to look in the directory "proto", below the directory where the file in which you use "gf" is. Thus using "gf" on "inits.h" will make Vim look for "proto/inits.h", starting in the directory of the file. Without the "./", thus "proto", Vim would look in the "proto" directory below the current directory. And the current directory might not be where the file that you are editing is located. The 'path' option allows specifying the directories where to search for files in many more ways. See the help on the 'path' option. The 'isfname' option is used to decide which characters are included in the file name, and which ones are not (e.g., the " character in the example above). When you know the file name, but it's not to be found in the file, you can type it: > :find inits.h Vim will then use the 'path' option to try and locate the file. This is the same as the ":edit" command, except for the use of 'path'. To open the found file in a new window use CTRL-W f instead of "gf", or use ":sfind" instead of ":find". A nice way to directly start Vim to edit a file somewhere in the 'path': > vim "+find stdio.h" This finds the file "stdio.h" in your value of 'path'. The quotes are necessary to have one argument |-+c|. ============================================================================== *22.4* The buffer list The Vim editor uses the term buffer to describe a file being edited. Actually, a buffer is a copy of the file that you edit. When you finish changing the buffer, you write the contents of the buffer to the file. Buffers not only contain file contents, but also all the marks, settings, and other stuff that goes with it. HIDDEN BUFFERS Suppose you are editing the file one.txt and need to edit the file two.txt. You could simply use ":edit two.txt", but since you made changes to one.txt that won't work. You also don't want to write one.txt yet. Vim has a solution for you: > :hide edit two.txt The buffer "one.txt" disappears from the screen, but Vim still knows that you are editing this buffer, so it keeps the modified text. This is called a hidden buffer: The buffer contains text, but you can't see it. The argument of ":hide" is another command. ":hide" makes that command behave as if the 'hidden' option was set. You could also set this option yourself. The effect is that when any buffer is abandoned, it becomes hidden. Be careful! When you have hidden buffers with changes, don't exit Vim without making sure you have saved all the buffers. INACTIVE BUFFERS When a buffer has been used once, Vim remembers some information about it. When it is not displayed in a window and it is not hidden, it is still in the buffer list. This is called an inactive buffer. Overview: Active Appears in a window, text loaded. Hidden Not in a window, text loaded. Inactive Not in a window, no text loaded. The inactive buffers are remembered, because Vim keeps information about them, like marks. And remembering the file name is useful too, so that you can see which files you have edited. And edit them again. LISTING BUFFERS View the buffer list with this command: > :buffers A command which does the same, is not so obvious to list buffers, but is much shorter to type: > :ls The output could look like this: 1 #h "help.txt" line 62 ~ 2 %a + "usr_21.txt" line 1 ~ 3 "usr_toc.txt" line 1 ~ The first column contains the buffer number. You can use this to edit the buffer without having to type the name, see below. After the buffer number come the flags. Then the name of the file and the line number where the cursor was the last time. The flags that can appear are these (from left to right): u Buffer is unlisted |unlisted-buffer|. % Current buffer. # Alternate buffer. a Buffer is loaded and displayed. h Buffer is loaded but hidden. = Buffer is read-only. - Buffer is not modifiable, the 'modifiable' option is off. + Buffer has been modified. EDITING A BUFFER You can edit a buffer by its number. That avoids having to type the file name: > :buffer 2 But the only way to know the number is by looking in the buffer list. You can use the name, or part of it, instead: > :buffer help Vim will find the best match for the name you type. If there is only one buffer that matches the name, it will be used. In this case "help.txt". To open a buffer in a new window: > :sbuffer 3 This works with a name as well. USING THE BUFFER LIST You can move around in the buffer list with these commands: :bnext go to next buffer :bprevious go to previous buffer :bfirst go to the first buffer :blast go to the last buffer To remove a buffer from the list, use this command: > :bdelete 3 Again, this also works with a name. If you delete a buffer that was active (visible in a window), that window will be closed. If you delete the current buffer, the current window will be closed. If it was the last window, Vim will find another buffer to edit. You can't be editing nothing! Note: Even after removing the buffer with ":bdelete" Vim still remembers it. It's actually made "unlisted", it no longer appears in the list from ":buffers". The ":buffers!" command will list unlisted buffers (yes, Vim can do the impossible). To really make Vim forget about a buffer, use ":bwipe". Also see the 'buflisted' option. ============================================================================== Next chapter: |usr_23.txt| Editing other files Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
Save
cmd:
run