annotate runtime/doc/starting.txt @ 83:d9030055c432 v7.0033

updated for version 7.0033
author vimboss
date Fri, 07 Jan 2005 21:51:51 +0000
parents dbf53ece2e23
children f67f8a8d81ba
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
83
d9030055c432 updated for version 7.0033
vimboss
parents: 56
diff changeset
1 *starting.txt* For Vim version 7.0aa. Last change: 2005 Jan 07
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 VIM REFERENCE MANUAL by Bram Moolenaar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 Starting Vim *starting*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 1. Vim arguments |vim-arguments|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 2. Vim on the Amiga |starting-amiga|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 3. Running eVim |evim-keys|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 4. Initialization |initialization|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 5. $VIM and $VIMRUNTIME |$VIM|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 6. Suspending |suspend|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 7. Saving settings |save-settings|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 8. Views and Sessions |views-sessions|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 9. The viminfo file |viminfo-file|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 1. Vim arguments *vim-arguments*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 Most often, Vim is started to edit a single file with the command
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 vim filename *-vim*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 More generally, Vim is started with:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 vim [option | filename] ..
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 Option arguments and file name arguments can be mixed, and any number of them
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 can be given. However, watch out for options that take an argument.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 For compatibility with various Vi versions, see |cmdline-arguments|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 Exactly one out of the following five items may be used to choose how to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36 start editing:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 *-file* *---*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39 filename One or more file names. The first one will be the current
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 file and read into the buffer. The cursor will be positioned
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 on the first line of the buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 To avoid a file name starting with a '-' being interpreted as
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 an option, precede the arglist with "--", e.g.: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 vim -- -filename
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45 < All arguments after the "--" will be interpreted as file names,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 no other options or "+command" argument can follow.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 *--*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 - This argument can mean two things, depending on whether Ex
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50 mode is to be used.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 Starting in Normal mode: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53 vim -
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 ex -v -
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 < Start editing a new buffer, which is filled with text
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 that is read from stdin. The commands that would normally be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57 read from stdin will now be read from stderr. Example: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 find . -name "*.c" -print | vim -
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 < The buffer will be marked modified, because it contains text
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 that needs to be saved. Except when in readonly mode, then
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 the buffer is not marked modified. Example: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 ls | view -
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 <
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 Starting in Ex mode: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 ex -
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 vim -e -
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67 exim -
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68 vim -E
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69 < Start editing in silent mode. See |-s-ex|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71 *-t* *-tag*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72 -t {tag} A tag. "tag" is looked up in the tags file, the associated
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 file becomes the current file, and the associated command is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 executed. Mostly this is used for C programs, in which case
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 "tag" often is a function name. The effect is that the file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 containing that function becomes the current file and the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 cursor is positioned on the start of the function (see
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 |tags|).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80 *-q* *-qf*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81 -q [errorfile] QuickFix mode. The file with the name [errorfile] is read
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82 and the first error is displayed. See |quickfix|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83 If [errorfile] is not given, the 'errorfile' option is used
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 for the file name. See 'errorfile' for the default value.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 (nothing) Without one of the four items above, Vim will start editing a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 new buffer. It's empty and doesn't have a file name.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91 The startup mode can be changed by using another name instead of "vim", which
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92 is equal to giving options:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 ex vim -e Start in Ex mode (see |Ex-mode|). *ex*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94 exim vim -E Start in improved Ex mode (see |Ex-mode|). *exim*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 (normally not installed)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96 view vim -R Start in read-only mode (see |-R|). *view*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 gvim vim -g Start the GUI (see |gui|). *gvim*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 gex vim -eg Start the GUI in Ex mode. *gex*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99 gview vim -Rg Start the GUI in read-only mode. *gview*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100 rvim vim -Z Like "vim", but in restricted mode (see |-Z|) *rvim*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101 rview vim -RZ Like "view", but in restricted mode. *rview*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 rgvim vim -gZ Like "gvim", but in restricted mode. *rgvim*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103 rgview vim -RgZ Like "gview", but in restricted mode. *rgview*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104 evim vim -y Easy Vim: set 'insertmode' (see |-y|) *evim*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105 eview vim -yR Like "evim" in read-only mode *eview*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 vimdiff vim -d Start in diff mode |diff-mode|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107 gvimdiff vim -gd Start in diff mode |diff-mode|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 Additional characters may follow, they are ignored. For example, you can have
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110 "gvim-5" to start the GUI. You must have an executable by that name then, of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 course.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
112
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113 On Unix, you would normally have one executable called Vim, and links from the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
114 different startup-names to that executable. If your system does not support
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115 links and you do not want to have several copies of the executable, you could
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 use an alias instead. For example: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117 alias view vim -R
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
118 alias gvim vim -g
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119 <
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120 *startup-options*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
121 The option arguments may be given in any order. Single-letter options can be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122 combined after one dash. There can be no option arguments after the "--"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123 argument.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125 On VMS all option arguments are assumed to be lowercase, unless preceded with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126 a slash. Thus "-R" means recovery and "-/R" readonly.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
128 --help *-h* *--help*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
129 -h Give usage (help) message and exit. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130 See |info-message| about capturing the text.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
131
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
132 *--version*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133 --version Print version information and exit. Same output as for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
134 |:version| command. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135 See |info-message| about capturing the text.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137 *--noplugin*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
138 --noplugin Skip loading plugins. Resets the 'loadplugins' option.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
139 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
140 Note that the |-u| argument may also disable loading plugins:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141 argument load vimrc files load plugins ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142 (nothing) yes yes
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143 -u NONE no no
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
144 -u NORC no yes
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145 --noplugin yes no
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
146
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
147 *--literal*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148 --literal Take file names literally, don't expand wildcards. Not needed
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149 for Unix, because Vim always takes file names literally (the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
150 shell expands wildcards).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151 Applies to all the names, also the ones that come before this
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152 argument.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
154 *-+*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 +[num] The cursor will be positioned on line "num" for the first
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
156 file being edited. If "num" is missing, the cursor will be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
157 positioned on the last line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
158
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
159 *-+/*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
160 +/{pat} The cursor will be positioned on the first line containing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
161 "pat" in the first file being edited (see |pattern| for the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
162 available search patterns).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
163
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
164 +{command} *-+c* *-c*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
165 -c {command} {command} will be executed after the first file has been
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
166 read (and after autocommands and modelines for that file have
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
167 been processed). "command" is interpreted as an Ex command.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
168 If the "command" contains spaces, it must be enclosed in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
169 double quotes (this depends on the shell that is used).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
170 Example: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
171 vim "+set si" main.c
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
172 vim "+find stdio.h"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
173 vim -c "set ff=dos" -c wq mine.mak
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
174 <
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
175 Note: You can use up to 10 "+" or "-c" arguments in a Vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
176 command. They are executed in the order given. A "-S"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177 argument counts as a "-c" argument as well.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
178 {Vi only allows one command}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
179
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
180 --cmd {command} *--cmd*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
181 {command} will be executed before processing any vimrc file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
182 Otherwise it acts like -c {command}. You can use up to 10 of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
183 these commands, independently from "-c" commands.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
184 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
185
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
186 *-S*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
187 -S {file} The {file} will be sourced after the first file has been read.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
188 This is an easy way to do the equivalent of: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
189 -c "source {file}"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
190 < It can be mixed with "-c" arguments and repeated like "-c".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
191 The limit of 10 "-c" arguments applies here as well.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
192 {file} cannot start with a "-".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
193 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
194
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
195 -S Works like "-S Session.vim". Only when used as the last
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
196 argument or when another "-" option follows.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
197
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
198 *-r*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
199 -r Recovery mode. Without a file name argument, a list of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
200 existing swap files is given. With a file name, a swap file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
201 is read to recover a crashed editing session. See
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
202 |crash-recovery|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
203
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
204 *-L*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
205 -L Same as -r. {only in some versions of Vi: "List recoverable
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
206 edit sessions"}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
207
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
208 *-R*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
209 -R Readonly mode. The 'readonly' option will be set for all the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
210 files being edited. You can still edit the buffer, but will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
211 be prevented from accidentally overwriting a file. If you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
212 forgot that you are in View mode and did make some changes,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
213 you can overwrite a file by adding an exclamation mark to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
214 the Ex command, as in ":w!". The 'readonly' option can be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
215 reset with ":set noro" (see the options chapter, |options|).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
216 Subsequent edits will not be done in readonly mode. Calling
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
217 the executable "view" has the same effect as the -R argument.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
218 The 'updatecount' option will be set to 10000, meaning that
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
219 the swap file will not be updated automatically very often.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
220
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
221 *-m*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
222 -m Modifications not allowed to be written. The 'write' option
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
223 will be reset, so that writing files is disabled. However,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
224 the 'write' option can be set to enable writing again.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
225 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
226
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
227 *-M*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
228 -M Modifications not allowed. The 'modifiable' option will be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
229 reset, so that changes are not allowed. The 'write' option
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
230 will be reset, so that writing files is disabled. However,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
231 the 'modifiable' and 'write' options can be set to enable
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
232 changes and writing.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
233 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
234
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
235 *-Z* *restricted-mode* *E145*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
236 -Z Restricted mode. All commands that make use of an external
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
237 shell are disabled. This includes suspending with CTRL-Z,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
238 ":sh", filtering, the system() function, backtick expansion,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
239 etc.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
240 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
241
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
242 *-g*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
243 -g Start Vim in GUI mode. See |gui|. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
244
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
245 *-v*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
246 -v Start Ex in Vi mode. Only makes a difference when the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
247 executable is called "ex" or "gvim". For gvim the GUI is not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
248 started if possible.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
249
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
250 *-e*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
251 -e Start Vim in Ex mode |Q|. Only makes a difference when the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
252 executable is not called "ex".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
253
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
254 *-E*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
255 -E Start Vim in improved Ex mode |gQ|. Only makes a difference
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
256 when the executable is not called "exim".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
257 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
258
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
259 *-s-ex*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
260 -s Silent or batch mode. Only when Vim was started as "ex" or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
261 when preceded with the "-e" argument. Otherwise see |-s|,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
262 which does take an argument while this use of "-s" doesn't.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
263 To be used when Vim is used to execute Ex commands from a file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
264 instead of a terminal. Switches off most prompts and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
265 informative messages. Also warnings and error messages.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
266 But ":print" output is displayed. And when 'verbose' is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
267 non-zero messages are printed (for debugging).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
268 If Vim appears to be stuck try typing "qa!<Enter>". You don't
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
269 get a prompt thus you can't see Vim is waiting for you to type
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
270 something.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
271 Initializations are skipped (except the ones given with the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
272 "-u" argument).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
273 Example: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
274 vim -e -s < thefilter thefile
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
275 <
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
276 *-b*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
277 -b Binary mode. File I/O will only recognize <NL> to separate
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
278 lines. The 'expandtab' option will be reset. The 'textwidth'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
279 option is set to 0. 'modeline' is reset. The 'binary' option
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
280 is set. This is done after reading the vimrc/exrc files but
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
281 before reading any file in the arglist. See also
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
282 |edit-binary|. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
283
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
284 *-l*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
285 -l Lisp mode. Sets the 'lisp' and 'showmatch' options on.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
286
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
287 *-A*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
288 -A Arabic mode. Sets the 'arabic' option on. (Only when
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
289 compiled with the |+arabic| features (which include
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
290 |+rightleft|), otherwise Vim gives an error message
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
291 and exits. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
292
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
293 *-F*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
294 -F Farsi mode. Sets the 'fkmap' and 'rightleft' options on.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
295 (Only when compiled with |+rightleft| and |+farsi| features,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
296 otherwise Vim gives an error message and exits). {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
297
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
298 *-H*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
299 -H Hebrew mode. Sets the 'hkmap' and 'rightleft' options on.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
300 (Only when compiled with the |+rightleft| feature, otherwise
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
301 Vim gives an error message and exits). {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
302
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
303 *-V* *verbose*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
304 -V[N] Verbose. Sets the 'verbose' option to [N] (default: 10).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
305 Messages will be given for each file that is ":source"d and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
306 for reading or writing a viminfo file. Can be used to find
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
307 out what is happening upon startup and exit. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
308
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
309 *-D*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
310 -D Debugging. Go to debugging mode when executing the first
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
311 command from a script. |debug-mode|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
312 {not available when compiled without the |+eval| feature}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
313 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
314
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
315 *-C*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
316 -C Compatible mode. Sets the 'compatible' option. You can use
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
317 this to get 'compatible', even though a .vimrc file exists.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
318 But the command ":set nocompatible" overrules it anyway.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
319 Also see |compatible-default|. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
320
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
321 *-N*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
322 -N Not compatible mode. Resets the 'compatible' option. You can
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
323 use this to get 'nocompatible', when there is no .vimrc file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
324 Also see |compatible-default|. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
325
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
326 *-y* *easy*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
327 -y Easy mode. Implied for |evim| and |eview|. Starts with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
328 'insertmode' set and behaves like a click-and-type editor.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
329 This sources the script $VIMRUNTIME/evim.vim. Mappings are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
330 set up to work like most click-and-type editors, see
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
331 |evim-keys|. The GUI is started when available.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
332 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
333
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
334 *-n*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
335 -n No swap file will be used. Recovery after a crash will be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
336 impossible. Handy if you want to view or edit a file on a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
337 very slow medium (e.g., a floppy).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
338 Can also be done with ":set updatecount=0". You can switch it
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
339 on again by setting the 'updatecount' option to some value,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
340 e.g., ":set uc=100".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
341 'updatecount' is set to 0 AFTER executing commands from a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
342 vimrc file, but before the GUI initializations. Thus it
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
343 overrides a setting for 'updatecount' in a vimrc file, but not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
344 in a gvimrc file. See |startup|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
345 When you want to reduce accesses to the disk (e.g., for a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
346 laptop), don't use "-n", but set 'updatetime' and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
347 'updatecount' to very big numbers, and type ":preserve" when
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
348 you want to save your work. This way you keep the possibility
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
349 for crash recovery.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
350 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
351
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
352 *-o*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
353 -o[N] Open N windows, split horizontally. If [N] is not given,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
354 one window is opened for every file given as argument. If
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
355 there is not enough room, only the first few files get a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
356 window. If there are more windows than arguments, the last
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
357 few windows will be editing an empty file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
358 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
359
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
360 *-O*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
361 -O[N] Open N windows, split vertically. Otherwise it's like -o.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
362 If both the -o and the -O option are given, the last one on
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
363 the command line determines how the windows will be split.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
364 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
365
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
366 *-T*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
367 -T {terminal} Set the terminal type to "terminal". This influences the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
368 codes that Vim will send to your terminal. This is normally
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
369 not needed, because Vim will be able to find out what type
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
370 of terminal you are using (See |terminal-info|). {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
371
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
372 *-d*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
373 -d Start in diff mode, like |vimdiff|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
374 {not in Vi} {not available when compiled without the |+diff|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
375 feature}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
376
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
377 -d {device} Only on the Amiga and when not compiled with the |+diff|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
378 feature. Works like "-dev".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
379 *-dev*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
380 -dev {device} Only on the Amiga: The {device} is opened to be used for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
381 editing.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
382 Normally you would use this to set the window position and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
383 size: "-d con:x/y/width/height", e.g.,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
384 "-d con:30/10/600/150". But you can also use it to start
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
385 editing on another device, e.g., AUX:. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
386 *-f*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
387 -f Amiga: Do not restart Vim to open a new window. This
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
388 option should be used when Vim is started by a program that
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
389 will wait for the edit session to finish (e.g., mail or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
390 readnews). See |amiga-window|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
391
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
392 GUI: Do not disconnect from the program that started Vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
393 'f' stands for "foreground". If omitted, the GUI forks a new
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
394 process and exits the current one. "-f" should be used when
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
395 gvim is started by a program that will wait for the edit
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
396 session to finish (e.g., mail or readnews). If you want gvim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
397 never to fork, include 'f' in 'guioptions' in your .gvimrc.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
398 Careful: You can use "-gf" to start the GUI in the foreground,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
399 but "-fg" is used to specify the foreground color. |gui-fork|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
400 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
401
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
402 *--nofork*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
403 --nofork GUI: Do not fork. Same as |-f|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
404 *-u* *E282*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
405 -u {vimrc} The file {vimrc} is read for initializations. Most other
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
406 initializations are skipped; see |initialization|. This can
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
407 be used to start Vim in a special mode, with special
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
408 mappings and settings. A shell alias can be used to make
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
409 this easy to use. For example: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
410 alias vimc vim -u ~/.c_vimrc !*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
411 < Also consider using autocommands; see |autocommand|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
412 When {vimrc} is equal to "NONE" (all uppercase), all
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
413 initializations from files and environment variables are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
414 skipped, including reading the .gvimrc file when the GUI
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
415 starts. Loading plugins is also skipped.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
416 When {vimrc} is equal to "NORC" (all uppercase), this has the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
417 same effect as "NONE", but loading plugins is not skipped.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
418 Using the "-u" argument has the side effect that the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
419 'compatible' option will be on by default. This can have
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
420 unexpected effects. See |'compatible'|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
421 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
422
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
423 *-U* *E230*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
424 -U {gvimrc} The file "gvimrc" is read for initializations when the GUI
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
425 starts. Other GUI initializations are skipped. When {gvimrc}
43
f55897d6921d updated for version 7.0026
vimboss
parents: 17
diff changeset
426 is equal to "NONE", no file is read for GUI initializations at
f55897d6921d updated for version 7.0026
vimboss
parents: 17
diff changeset
427 all. |gui-init|
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
428 Exception: Reading the system-wide menu file is always done.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
429 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
430
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
431 *-i*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
432 -i {viminfo} The file "viminfo" is used instead of the default viminfo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
433 file. If the name "NONE" is used (all uppercase), no viminfo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
434 file is read or written, even if 'viminfo' is set or when
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
435 ":rv" or ":wv" are used. See also |viminfo-file|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
436 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
437
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
438 *-x*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
439 -x Use encryption to read/write files. Will prompt for a key,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
440 which is then stored in the 'key' option. All writes will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
441 then use this key to encrypt the text. The '-x' argument is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
442 not needed when reading a file, because there is a check if
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
443 the file that is being read has been encrypted, and Vim asks
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
444 for a key automatically. |encryption|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
445
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
446 *-X*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
447 -X Do not try connecting to the X server to get the current
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
448 window title and copy/paste using the X clipboard. This
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
449 avoids a long startup time when running Vim in a terminal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
450 emulator and the connection to the X server is slow.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
451 Only makes a difference on Unix or VMS, when compiled with the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
452 |+X11| feature. Otherwise it's ignored.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
453 To disable the connection only for specific terminals, see the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
454 'clipboard' option.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
455 When the X11 Session Management Protocol (XSMP) handler has
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
456 been built in, the -X option also disables that connection as
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
457 it, too, may have undesirable delays.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
458 When the connection is desired later anyway (e.g., for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
459 client-server messages), call the |serverlist()| function.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
460 This does not enable the XSMP handler though.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
461 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
462
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
463 *-s*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
464 -s {scriptin} The script file "scriptin" is read. The characters in the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
465 file are interpreted as if you had typed them. The same can
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
466 be done with the command ":source! {scriptin}". If the end
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
467 of the file is reached before the editor exits, further
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
468 characters are read from the keyboard. Only works when not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
469 started in Ex mode, see |-s-ex|. See also |complex-repeat|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
470 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
471
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
472 *-w*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
473 -w {scriptout} All the characters that you type are recorded in the file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
474 "scriptout", until you exit Vim. This is useful if you want
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
475 to create a script file to be used with "vim -s" or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
476 ":source!". When the "scriptout" file already exists, new
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
477 characters are appended. See also |complex-repeat|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
478 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
479
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
480 *-W*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
481 -W {scriptout} Like -w, but do not append, overwrite an existing file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
482 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
483
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
484 *-w_nr*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
485 -w{number} Does nothing. This was included for Vi-compatibility. In Vi
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
486 it sets the 'window' option, which is not implemented in Vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
487
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
488 --remote [+{cmd}] {file} ...
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
489 Open the {file} in another Vim that functions as a server.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
490 Any non-file arguments must come before this.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
491 See |--remote|. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
492
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
493 --remote-silent [+{cmd}] {file} ...
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
494 Like --remote, but don't complain if there is no server.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
495 See |--remote-silent|. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
496
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
497 --remote-wait [+{cmd}] {file} ...
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
498 Like --remote, but wait for the server to finish editing the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
499 file(s).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
500 See |--remote-wait|. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
501
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
502 --remote-wait-silent [+{cmd}] {file} ...
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
503 Like --remote-wait, but don't complain if there is no server.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
504 See |--remote-wait-silent|. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
505
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
506 --servername {name}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
507 Specify the name of the Vim server to send to or to become.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
508 See |--servername|. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
509
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
510 --remote-send {keys}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
511 Send {keys} to a Vim server and exit.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
512 See |--remote-send|. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
513
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
514 --remote-expr {expr}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
515 Evaluate {expr} in another Vim that functions as a server.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
516 The result is printed on stdout.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
517 See |--remote-expr|. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
518
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
519 --serverlist Output a list of Vim server names and exit. See
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
520 See |--serverlist|. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
521
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
522 --socketid {id} *--socketid*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
523 GTK+ GUI Vim only. Make gvim try to use GtkPlug mechanism, so
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
524 that it runs inside another window. See |gui-gtk-socketid|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
525 for details. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
526
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
527 --echo-wid *--echo-wid*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
528 GTK+ GUI Vim only. Make gvim echo the Window ID on stdout,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
529 which can be used to run gvim in a kpart widget. The format
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
530 of the output is: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
531 WID: 12345\n
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
532 < {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
533
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
534 --role {role} *--role*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
535 GTK+ 2 GUI only. Set the role of the main window to {role}.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
536 The window role can be used by a window manager to uniquely
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
537 identify a window, in order to restore window placement and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
538 such. The --role argument is passed automatically when
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
539 restoring the session on login. See |gui-gnome-session|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
540 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
541
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
542 -P {parent-title} *-P* *MDI* *E671* *E672*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
543 Win32 only: Specify the title of the parent application. When
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
544 possible, Vim will run in an MDI window inside the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
545 application.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
546 {parent-title} must appear in the window title of the parent
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
547 application. Make sure that it is specific enough.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
548 Note that the implementation is still primitive. It won't
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
549 work with all applications and the menu doesn't work.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
550
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
551 -nb *-nb*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
552 -nb={fname}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
553 -nb:{hostname}:{addr}:{password}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
554 Attempt connecting to Netbeans and become an editor server for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
555 it. The second form specifies a file to read connection info
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
556 from. The third form specifies the hostname, address and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
557 password for connecting to Netbeans. |netbeans-run|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
558
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
559 Example for using a script file to change a name in several files:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
560 Create a file "subs.vi" containing substitute commands and a :wq
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
561 command: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
562 :%s/Jones/Smith/g
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
563 :%s/Allen/Peter/g
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
564 :wq
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
565 <
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
566 Execute Vim on all files you want to change: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
567
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
568 foreach i ( *.let ) vim -s subs.vi $i
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
569
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
570 If the executable is called "view", Vim will start in Readonly mode. This is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
571 useful if you can make a hard or symbolic link from "view" to "vim".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
572 Starting in Readonly mode can also be done with "vim -R".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
573
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
574 If the executable is called "ex", Vim will start in "Ex" mode. This means it
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
575 will accept only ":" commands. But when the "-v" argument is given, Vim will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
576 start in Normal mode anyway.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
577
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
578 Additional arguments are available on unix like systems when compiled with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
579 X11 GUI support. See |gui-resources|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
580
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
581 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
582 2. Vim on the Amiga *starting-amiga*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
583
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
584 Starting Vim from the Workbench *workbench*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
585 -------------------------------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
586
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
587 Vim can be started from the Workbench by clicking on its icon twice. It will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
588 then start with an empty buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
589
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
590 Vim can be started to edit one or more files by using a "Project" icon. The
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
591 "Default Tool" of the icon must be the full pathname of the Vim executable.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
592 The name of the ".info" file must be the same as the name of the text file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
593 By clicking on this icon twice, Vim will be started with the file name as
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
594 current file name, which will be read into the buffer (if it exists). You can
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
595 edit multiple files by pressing the shift key while clicking on icons, and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
596 clicking twice on the last one. The "Default Tool" for all these icons must
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
597 be the same.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
598
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
599 It is not possible to give arguments to Vim, other than file names, from the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
600 workbench.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
601
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
602 Vim window *amiga-window*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
603 ----------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
604
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
605 Vim will run in the CLI window where it was started. If Vim was started with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
606 the "run" or "runback" command, or if Vim was started from the workbench, it
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
607 will open a window of its own.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
608
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
609 Technical detail:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
610 To open the new window a little trick is used. As soon as Vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
611 recognizes that it does not run in a normal CLI window, it will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
612 create a script file in "t:". This script file contains the same
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
613 command as the one Vim was started with, and an "endcli" command.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
614 This script file is then executed with a "newcli" command (the "c:run"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
615 and "c:newcli" commands are required for this to work). The script
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
616 file will hang around until reboot, or until you delete it. This
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
617 method is required to get the ":sh" and ":!" commands to work
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
618 correctly. But when Vim was started with the -f option (foreground
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
619 mode), this method is not used. The reason for this is that
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
620 when a program starts Vim with the -f option it will wait for Vim to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
621 exit. With the script trick, the calling program does not know when
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
622 Vim exits. The -f option can be used when Vim is started by a mail
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
623 program which also waits for the edit session to finish. As a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
624 consequence, the ":sh" and ":!" commands are not available when the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
625 -f option is used.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
626
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
627 Vim will automatically recognize the window size and react to window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
628 resizing. Under Amiga DOS 1.3, it is advised to use the fastfonts program,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
629 "FF", to speed up display redrawing.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
630
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
631 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
632 3. Running eVim *evim-keys*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
633
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
634 EVim runs Vim as click-and-type editor. This is very unlike the original Vi
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
635 idea. But it helps for people that don't use Vim often enough to learn the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
636 commands. Hopefully they will find out that learning to use Normal mode
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
637 commands will make their editing much more effective.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
638
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
639 In Evim these options are changed from their default value:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
640
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
641 :set nocompatible Use Vim improvements
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
642 :set insertmode Remain in Insert mode most of the time
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
643 :set hidden Keep invisible buffers loaded
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
644 :set backup Keep backup files (not for VMS)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
645 :set backspace=2 Backspace over everything
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
646 :set autoindent auto-indent new lines
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
647 :set history=50 keep 50 lines of Ex commands
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
648 :set ruler show the cursor position
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
649 :set incsearch show matches halfway typing a pattern
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
650 :set mouse=a use the mouse in all modes
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
651 :set hlsearch highlight all matches for a search pattern
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
652 :set whichwrap+=<,>,[,] <Left> and <Right> wrap around line breaks
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
653 :set guioptions-=a non-Unix only: don't do auto-select
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
654
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
655 Key mappings:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
656 <Down> moves by screen lines rather than file lines
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
657 <Up> idem
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
658 Q does "gq", formatting, instead of Ex mode
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
659 <BS> in Visual mode: deletes the selection
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
660 CTRL-X in Visual mode: Cut to clipboard
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
661 <S-Del> idem
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
662 CTRL-C in Visual mode: Copy to clipboard
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
663 <C-Insert> idem
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
664 CTRL-V Pastes from the clipboard (in any mode)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
665 <S-Insert> idem
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
666 CTRL-Q do what CTRL-V used to do
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
667 CTRL-Z undo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
668 CTRL-Y redo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
669 <M-Space> system menu
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
670 CTRL-A select all
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
671 <C-Tab> next window, CTRL-W w
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
672 <C-F4> close window, CTRL-W c
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
673
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
674 Additionally:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
675 - ":behave mswin" is used |:behave|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
676 - syntax highlighting is enabled
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
677 - filetype detection is enabled, filetype plugins and indenting is enabled
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
678 - in a text file 'textwidth' is set to 78
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
679
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
680 One hint: If you want to go to Normal mode to be able to type a sequence of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
681 commands, use CTRL-L. |i_CTRL-L|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
682
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
683 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
684 4. Initialization *initialization* *startup*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
685
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
686 This section is about the non-GUI version of Vim. See |gui-fork| for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
687 additional initialization when starting the GUI.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
688
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
689 At startup, Vim checks environment variables and files and sets values
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
690 accordingly. Vim proceeds in this order:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
691
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
692 1. Set the 'shell' and 'term' option *SHELL* *COMSPEC* *TERM*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
693 The environment variable SHELL, if it exists, is used to set the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
694 'shell' option. On MS-DOS and Win32, the COMSPEC variable is used
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
695 if SHELL is not set.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
696 The environment variable TERM, if it exists, is used to set the 'term'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
697 option.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
698
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
699 2. Process the arguments
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
700 The options and file names from the command that start Vim are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
701 inspected. Buffers are created for all files (but not loaded yet).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
702
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
703 3. Execute Ex commands, from environment variables and/or files
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
704 An environment variable is read as one Ex command line, where multiple
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
705 commands must be separated with '|' or "<NL>".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
706 *vimrc* *exrc*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
707 A file that contains initialization commands is called a "vimrc" file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
708 Each line in a vimrc file is executed as an Ex command line. It is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
709 sometimes also referred to as "exrc" file. They are the same type of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
710 file, but "exrc" is what Vi always used, "vimrc" is a Vim specific
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
711 name. Also see |vimrc-intro|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
712
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
713 Recommended place for your personal initializations:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
714 Unix $HOME/.vimrc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
715 OS/2 $HOME/.vimrc or $VIM/.vimrc (or _vimrc)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
716 MS-DOS and Win32 $HOME/_vimrc or $VIM/_vimrc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
717 Amiga s:.vimrc or $VIM/.vimrc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
718
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
719 If Vim was started with "-u filename", the file "filename" is used.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
720 All following initializations until 4. are skipped.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
721 "vim -u NORC" can be used to skip these initializations without
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
722 reading a file. "vim -u NONE" also skips loading plugins. |-u|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
723
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
724 If Vim was started in Ex mode with the "-s" argument, all following
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
725 initializations until 4. are skipped. Only the "-u" option is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
726 interpreted.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
727 *evim.vim*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
728 a. If vim was started as |evim| or |eview| or with the |-y| argument, the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
729 script $VIMRUNTIME/evim.vim will be loaded.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
730 *system-vimrc*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
731 b. For Unix, MS-DOS, MS-Windows, OS/2, VMS, Macintosh, RISC-OS and Amiga
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
732 the system vimrc file is read for initializations. The path of this
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
733 file is shown with the ":version" command. Mostly it's "$VIM/vimrc".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
734 Note that this file is ALWAYS read in 'compatible' mode, since the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
735 automatic resetting of 'compatible' is only done later. Add a ":set
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
736 nocp" command if you like.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
737
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
738 *VIMINIT* *.vimrc* *_vimrc* *EXINIT* *.exrc* *_exrc*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
739 c. Four places are searched for initializations. The first that exists
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
740 is used, the others are ignored.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
741 - The environment variable VIMINIT (see also |compatible-default|) (*)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
742 The value of $VIMINIT is used as an Ex command line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
743 - The user vimrc file(s):
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
744 "$HOME/.vimrc" (for Unix and OS/2) (*)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
745 "s:.vimrc" (for Amiga) (*)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
746 "home:.vimrc" (for Amiga) (*)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
747 "$VIM/.vimrc" (for OS/2 and Amiga) (*)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
748 "$HOME/_vimrc" (for MS-DOS and Win32) (*)
17
9be87deaeb52 updated for version 7.0009
vimboss
parents: 9
diff changeset
749 "$VIM/_vimrc" (for MS-DOS and Win32) (*)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
750 Note: For Unix, OS/2 and Amiga, when ".vimrc" does not exist,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
751 "_vimrc" is also tried, in case an MS-DOS compatible file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
752 system is used. For MS-DOS and Win32 ".vimrc" is checked
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
753 after "_vimrc", in case long file names are used.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
754 Note: For MS-DOS and Win32, "$HOME" is checked first. If no
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
755 "_vimrc" or ".vimrc" is found there, "$VIM" is tried.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
756 See |$VIM| for when $VIM is not set.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
757 - The environment variable EXINIT.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
758 The value of $EXINIT is used as an Ex command line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
759 - The user exrc file(s). Same as for the user vimrc file, but with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
760 "vimrc" replaced by "exrc". But without the (*)!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
761
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
762 d. If the 'exrc' option is on (which is not the default), the current
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
763 directory is searched for four files. The first that exists is used,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
764 the others are ignored.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
765 - The file ".vimrc" (for Unix, Amiga and OS/2) (*)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
766 "_vimrc" (for MS-DOS and Win32) (*)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
767 - The file "_vimrc" (for Unix, Amiga and OS/2) (*)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
768 ".vimrc" (for MS-DOS and Win32) (*)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
769 - The file ".exrc" (for Unix, Amiga and OS/2)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
770 "_exrc" (for MS-DOS and Win32)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
771 - The file "_exrc" (for Unix, Amiga and OS/2)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
772 ".exrc" (for MS-DOS and Win32)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
773
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
774 (*) Using this file or environment variable will cause 'compatible' to be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
775 off by default. See |compatible-default|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
776
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
777 4. Load the plugin scripts. *load-plugins*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
778 This does the same as the command: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
779 :runtime! plugin/*.vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
780 < The result is that all directories in the 'runtimepath' option will be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
781 searched for the "plugin" sub-directory and all files ending in ".vim"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
782 will be sourced (in alphabetical order per directory).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
783 Loading plugins won't be done when:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
784 - The 'loadplugins' option was reset in a vimrc file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
785 - The |--noplugin| command line argument is used.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
786 - The "-u NONE" command line argument is used |-u|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
787 - When Vim was compiled without the |+eval| feature.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
788 Note that using "-c set noloadplugins" doesn't work, because the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
789 commands from the command line have not been executed yet.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
790
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
791 5. Set 'shellpipe' and 'shellredir'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
792 The 'shellpipe' and 'shellredir' options are set according to the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
793 value of the 'shell' option, unless they have been set before.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
794 This means that Vim will figure out the values of 'shellpipe' and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
795 'shellredir' for you, unless you have set them yourself.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
796
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
797 6. Set 'updatecount' to zero, if "-n" command argument used
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
798
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
799 7. Set binary options
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
800 If the "-b" flag was given to Vim, the options for binary editing will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
801 be set now. See |-b|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
802
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
803 8. Perform GUI initializations
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
804 Only when starting "gvim", the GUI initializations will be done. See
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
805 |gui-init|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
806
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
807 9. Read the viminfo file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
808 If the 'viminfo' option is not empty, the viminfo file is read. See
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
809 |viminfo-file|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
810
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
811 10. Read the quickfix file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
812 If the "-q" flag was given to Vim, the quickfix file is read. If this
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
813 fails, Vim exits.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
814
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
815 11. Open all windows
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
816 When the |-o| flag was given, windows will be opened (but not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
817 displayed yet).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
818 When switching screens, it happens now. Redrawing starts.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
819 If the "-q" flag was given to Vim, the first error is jumped to.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
820 Buffers for all windows will be loaded.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
821
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
822 12. Execute startup commands
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
823 If a "-t" flag was given to Vim, the tag is jumped to.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
824 The commands given with the |-c| and |+cmd| arguments are executed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
825 If the 'insertmode' option is set, Insert mode is entered.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
826 The |VimEnter| autocommands are executed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
827
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
828 Some hints on using initializations:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
829
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
830 Standard setup:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
831 Create a vimrc file to set the default settings and mappings for all your edit
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
832 sessions. Put it in a place so that it will be found by 3b:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
833 ~/.vimrc (Unix and OS/2)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
834 s:.vimrc (Amiga)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
835 $VIM\_vimrc (MS-DOS and Win32)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
836 Note that creating a vimrc file will cause the 'compatible' option to be off
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
837 by default. See |compatible-default|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
838
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
839 Local setup:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
840 Put all commands that you need for editing a specific directory only into a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
841 vimrc file and place it in that directory under the name ".vimrc" ("_vimrc"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
842 for MS-DOS and Win32). NOTE: To make Vim look for these special files you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
843 have to turn on the option 'exrc'. See |trojan-horse| too.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
844
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
845 System setup:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
846 This only applies if you are managing a Unix system with several users and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
847 want to set the defaults for all users. Create a vimrc file with commands
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
848 for default settings and mappings and put it in the place that is given with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
849 the ":version" command.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
850
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
851 Saving the current state of Vim to a file:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
852 Whenever you have changed values of options or when you have created a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
853 mapping, then you may want to save them in a vimrc file for later use. See
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
854 |save-settings| about saving the current state of settings to a file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
855
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
856 Avoiding setup problems for Vi users:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
857 Vi uses the variable EXINIT and the file "~/.exrc". So if you do not want to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
858 interfere with Vi, then use the variable VIMINIT and the file "vimrc" instead.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
859
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
860 Amiga environment variables:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
861 On the Amiga, two types of environment variables exist. The ones set with the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
862 DOS 1.3 (or later) setenv command are recognized. See the AmigaDos 1.3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
863 manual. The environment variables set with the old Manx Set command (before
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
864 version 5.0) are not recognized.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
865
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
866 MS-DOS line separators:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
867 On MS-DOS-like systems (MS-DOS itself, Win32, and OS/2), Vim assumes that all
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
868 the vimrc files have <CR> <NL> pairs as line separators. This will give
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
869 problems if you have a file with only <NL>s and have a line like
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
870 ":map xx yy^M". The trailing ^M will be ignored.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
871
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
872 *compatible-default*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
873 When Vim starts, the 'compatible' option is on. This will be used when Vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
874 starts its initializations. But as soon as a user vimrc file is found, or a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
875 vimrc file in the current directory, or the "VIMINIT" environment variable is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
876 set, it will be set to 'nocompatible'. This has the side effect of setting or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
877 resetting other options (see 'compatible'). But only the options that have
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
878 not been set or reset will be changed. This has the same effect like the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
879 value of 'compatible' had this value when starting Vim. Note that this
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
880 doesn't happen for the system-wide vimrc file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
881
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
882 But there is a side effect of setting or resetting 'compatible' at the moment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
883 a .vimrc file is found: Mappings are interpreted the moment they are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
884 encountered. This makes a difference when using things like "<CR>". If the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
885 mappings depend on a certain value of 'compatible', set or reset it before
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
886 giving the mapping.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
887
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
888 The above behavior can be overridden in these ways:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
889 - If the "-N" command line argument is given, 'nocompatible' will be used,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
890 even when no vimrc file exists.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
891 - If the "-C" command line argument is given, 'compatible' will be used, even
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
892 when a vimrc file exists.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
893 - If the "-u {vimrc}" argument is used, 'compatible' will be used.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
894 - When the name of the executable ends in "ex", then this works like the "-C"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
895 argument was given: 'compatible' will be used, even when a vimrc file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
896 exists. This has been done to make Vim behave like "ex", when it is started
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
897 as "ex".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
898
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
899 Avoiding trojan horses: *trojan-horse*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
900 While reading the "vimrc" or the "exrc" file in the current directory, some
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
901 commands can be disabled for security reasons by setting the 'secure' option.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
902 This is always done when executing the command from a tags file. Otherwise it
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
903 would be possible that you accidentally use a vimrc or tags file that somebody
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
904 else created and contains nasty commands. The disabled commands are the ones
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
905 that start a shell, the ones that write to a file, and ":autocmd". The ":map"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
906 commands are echoed, so you can see which keys are being mapped.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
907 If you want Vim to execute all commands in a local vimrc file, you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
908 can reset the 'secure' option in the EXINIT or VIMINIT environment variable or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
909 in the global "exrc" or "vimrc" file. This is not possible in "vimrc" or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
910 "exrc" in the current directory, for obvious reasons.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
911 On Unix systems, this only happens if you are not the owner of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
912 vimrc file. Warning: If you unpack an archive that contains a vimrc or exrc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
913 file, it will be owned by you. You won't have the security protection. Check
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
914 the vimrc file before you start Vim in that directory, or reset the 'exrc'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
915 option. Some Unix systems allow a user to do "chown" on a file. This makes
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
916 it possible for another user to create a nasty vimrc and make you the owner.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
917 Be careful!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
918 When using tag search commands, executing the search command (the last
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
919 part of the line in the tags file) is always done in secure mode. This works
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
920 just like executing a command from a vimrc/exrc in the current directory.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
921
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
922 *slow-start*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
923 If Vim takes a long time to start up, there may be a few causes:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
924 - If the Unix version was compiled with the GUI and/or X11 (check the output
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
925 of ":version" for "+GUI" and "+X11"), it may need to load shared libraries
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
926 and connect to the X11 server. Try compiling a version with GUI and X11
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
927 disabled. This also should make the executable smaller.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
928 Use the |-X| command line argument to avoid connecting to the X server when
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
929 running in a terminal.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
930 - If you have "viminfo" enabled, the loading of the viminfo file may take a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
931 while. You can find out if this is the problem by disabling viminfo for a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
932 moment (use the Vim argument "-i NONE", |-i|). Try reducing the number of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
933 lines stored in a register with ":set viminfo='20,<50,s10". |viminfo-file|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
934
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
935 *:intro*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
936 When Vim starts without a file name, an introductory message is displayed (for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
937 those who don't know what Vim is). It is removed as soon as the display is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
938 redrawn in any way. To see the message again, use the ":intro" command (if
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
939 there is not enough room, you will see only part of it).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
940 To avoid the intro message on startup, add the 'I' flag to 'shortmess'.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
941
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
942 *info-message*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
943 The |--help| and |--version| arguments cause Vim to print a message and then
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
944 exit. Normally the message is send to stdout, thus can be redirected to a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
945 file with: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
946
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
947 vim --help >file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
948
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
949 From inside Vim: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
950
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
951 :read !vim --help
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
952
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
953 When using gvim, it detects that it might have been started from the desktop,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
954 without a terminal to show messages on. This is detected when both stdout and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
955 stderr are not a tty. This breaks the ":read" command, as used in the example
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
956 above. To make it work again, set 'shellredir' to ">" instead of the default
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
957 ">&": >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
958
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
959 :set shellredir=>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
960 :read !gvim --help
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
961
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
962 This still won't work for systems where gvim does not use stdout at all
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
963 though.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
964
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
965 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
966 5. $VIM and $VIMRUNTIME
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
967 *$VIM*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
968 The environment variable "$VIM" is used to locate various user files for Vim,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
969 such as the user startup script ".vimrc". This depends on the system, see
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
970 |startup|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
971
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
972 To avoid the need for every user to set the $VIM environment variable, Vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
973 will try to get the value for $VIM in this order:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
974 1. The value defined by the $VIM environment variable. You can use this to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
975 make Vim look in a specific directory for its support files. Example: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
976 setenv VIM /home/paul/vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
977 2. The path from 'helpfile' is used, unless it contains some environment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
978 variable too (the default is "$VIMRUNTIME/doc/help.txt": chicken-egg
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
979 problem). The file name ("help.txt" or any other) is removed. Then
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
980 trailing directory names are removed, in this order: "doc", "runtime" and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
981 "vim{version}" (e.g., "vim54").
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
982 3. For MSDOS, Win32 and OS/2 Vim tries to use the directory name of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
983 executable. If it ends in "/src", this is removed. This is useful if you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
984 unpacked the .zip file in some directory, and adjusted the search path to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
985 find the vim executable. Trailing directory names are removed, in this
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
986 order: "runtime" and "vim{version}" (e.g., "vim54").
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
987 4. For Unix the compile-time defined installation directory is used (see the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
988 output of ":version").
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
989
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
990 Once Vim has done this once, it will set the $VIM environment variable. To
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
991 change it later, use a ":let" command like this: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
992 :let $VIM = "/home/paul/vim/"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
993 <
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
994 *$VIMRUNTIME*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
995 The environment variable "$VIMRUNTIME" is used to locate various support
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
996 files, such as the on-line documentation and files used for syntax
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
997 highlighting. For example, the main help file is normally
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
998 "$VIMRUNTIME/doc/help.txt".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
999 You don't normally set $VIMRUNTIME yourself, but let Vim figure it out. This
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1000 is the order used to find the value of $VIMRUNTIME:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1001 1. If the environment variable $VIMRUNTIME is set, it is used. You can use
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1002 this when the runtime files are in an unusual location.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1003 2. If "$VIM/vim{version}" exists, it is used. {version} is the version
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1004 number of Vim, without any '-' or '.'. For example: "$VIM/vim54". This is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1005 the normal value for $VIMRUNTIME.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1006 3. If "$VIM/runtime" exists, it is used.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1007 4. The value of $VIM is used. This is for backwards compatibility with older
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1008 versions.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1009 5. When the 'helpfile' option is set and doesn't contain a '$', its value is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1010 used, with "doc/help.txt" removed from the end.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1011
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1012 For Unix, when there is a compiled-in default for $VIMRUNTIME (check the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1013 output of ":version"), steps 2, 3 and 4 are skipped, and the compiled-in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1014 default is used after step 5. This means that the compiled-in default
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1015 overrules the value of $VIM. This is useful if $VIM is "/etc" and the runtime
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1016 files are in "/usr/share/vim/vim54".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1017
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1018 Once Vim has done this once, it will set the $VIMRUNTIME environment variable.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1019 To change it later, use a ":let" command like this: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1020 :let $VIMRUNTIME = "/home/piet/vim/vim54"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1021
8
7edf9b6e4c36 Various changes
vimboss
parents: 7
diff changeset
1022 In case you need the value of $VIMRUNTIME in a shell (e.g., for a script that
7edf9b6e4c36 Various changes
vimboss
parents: 7
diff changeset
1023 greps in the help files) you might be able to use this: >
7edf9b6e4c36 Various changes
vimboss
parents: 7
diff changeset
1024
7edf9b6e4c36 Various changes
vimboss
parents: 7
diff changeset
1025 VIMRUNTIME=`vim -e -T dumb --cmd 'exe "set t_cm=\<C-M>"|echo $VIMRUNTIME|quit' | tr -d '\015' `
7edf9b6e4c36 Various changes
vimboss
parents: 7
diff changeset
1026
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1027 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1028 6. Suspending *suspend*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1029
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1030 *iconize* *iconise* *CTRL-Z* *v_CTRL-Z*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1031 CTRL-Z Suspend Vim, like ":stop".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1032 Works in Normal and in Visual mode. In Insert and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1033 Command-line mode, the CTRL-Z is inserted as a normal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1034 character. In Visual mode Vim goes back to Normal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1035 mode.
83
d9030055c432 updated for version 7.0033
vimboss
parents: 56
diff changeset
1036 Note: if CTRL-Z undoes a change see |mswin.vim|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1037
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1038
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1039 :sus[pend][!] or *:sus* *:suspend* *:st* *:stop*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1040 :st[op][!] Suspend Vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1041 If the '!' is not given and 'autowrite' is set, every
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1042 buffer with changes and a file name is written out.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1043 If the '!' is given or 'autowrite' is not set, changed
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1044 buffers are not written, don't forget to bring Vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1045 back to the foreground later!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1046
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1047 In the GUI, suspending is implemented as iconising gvim. In Windows 95/NT,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1048 gvim is minimized.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1049
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1050 On many Unix systems, it is possible to suspend Vim with CTRL-Z. This is only
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1051 possible in Normal and Visual mode (see next chapter, |vim-modes|). Vim will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1052 continue if you make it the foreground job again. On other systems, CTRL-Z
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1053 will start a new shell. This is the same as the ":sh" command. Vim will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1054 continue if you exit from the shell.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1055
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1056 In X-windows the selection is disowned when Vim suspends. this means you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1057 can't paste it in another application (since Vim is going to sleep an attempt
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1058 to get the selection would make the program hang).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1059
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1060 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1061 7. Saving settings *save-settings*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1062
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1063 Mostly you will edit your vimrc files manually. This gives you the greatest
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1064 flexibility. There are a few commands to generate a vimrc file automatically.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1065 You can use these files as they are, or copy/paste lines to include in another
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1066 vimrc file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1067
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1068 *:mk* *:mkexrc*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1069 :mk[exrc] [file] Write current key mappings and changed options to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1070 [file] (default ".exrc" in the current directory),
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1071 unless it already exists. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1072
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1073 :mk[exrc]! [file] Always write current key mappings and changed
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1074 options to [file] (default ".exrc" in the current
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1075 directory). {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1076
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1077 *:mkv* *:mkvimrc*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1078 :mkv[imrc][!] [file] Like ":mkexrc", but the default is ".vimrc" in the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1079 current directory. The ":version" command is also
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1080 written to the file. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1081
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1082 These commands will write ":map" and ":set" commands to a file, in such a way
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1083 that when these commands are executed, the current key mappings and options
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1084 will be set to the same values. The options 'columns', 'endofline',
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1085 'fileformat', 'key', 'lines', 'modified', 'scroll', 'term', 'textmode',
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1086 'ttyfast' and 'ttymouse' are not included, because these are terminal or file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1087 dependent. Note that the options 'binary', 'paste' and 'readonly' are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1088 included, this might not always be what you want.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1089
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1090 When special keys are used in mappings, The 'cpoptions' option will be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1091 temporarily set to its Vim default, to avoid the mappings to be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1092 misinterpreted. This makes the file incompatible with Vi, but makes sure it
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1093 can be used with different terminals.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1094
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1095 Only global mappings are stored, not mappings local to a buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1096
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1097 A common method is to use a default ".vimrc" file, make some modifications
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1098 with ":map" and ":set" commands and write the modified file. First read the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1099 default ".vimrc" in with a command like ":source ~piet/.vimrc.Cprogs", change
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1100 the settings and then save them in the current directory with ":mkvimrc!". If
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1101 you want to make this file your default .vimrc, move it to your home directory
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1102 (on Unix), s: (Amiga) or $VIM directory (MS-DOS). You could also use
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1103 autocommands |autocommand| and/or modelines |modeline|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1104
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1105 If you only want to add a single option setting to your vimrc, you can use
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1106 these steps:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1107 1. Edit your vimrc file with Vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1108 2. Play with the option until it's right. E.g., try out different values for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1109 'guifont'.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1110 3. Append a line to set the value of the option, using the expression register
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1111 '=' to enter the value. E.g., for the 'guifont' option: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1112 o:set guifont=<C-R>=&guifont<CR><Esc>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1113 < [<C-R> is a CTRL-R, <CR> is a return, <Esc> is the escape key]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1114
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1115 Note that when you create a .vimrc file, this can influence the 'compatible'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1116 option, which has several side effects. See |'compatible'|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1117 ":mkvimrc", ":mkexrc" and ":mksession" write the command to set or reset the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1118 'compatible' option to the output file first, because of these side effects.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1119
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1120 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1121 8. Views and Sessions *views-sessions*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1122
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1123 This is introduced in sections |21.4| and |21.5| of the user manual.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1124
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1125 *View* *view-file*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1126 A View is a collection of settings that apply to one window. You can save a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1127 View and when you restore it later, the text is displayed in the same way.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1128 The options and mappings in this window will also be restored, so that you can
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1129 continue editing like when the View was saved.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1130
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1131 *Session* *session-file*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1132 A Session keeps the Views for all windows, plus the global settings. You can
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1133 save a Session and when you restore it later the window layout looks the same.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1134 You can use a Session to quickly switch between different projects,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1135 automatically loading the files you were last working on in that project.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1136
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1137 Views and Sessions are a nice addition to viminfo-files, which are used to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1138 remember information for all Views and Sessions together |viminfo-file|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1139
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1140 You can quickly start editing with a previously saved View or Session with the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1141 |-S| argument: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1142 vim -S Session.vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1143 <
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1144 All this is {not in Vi} and {not available when compiled without the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1145 |+mksession| feature}.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1146
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1147 *:mks* *:mksession*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1148 :mks[ession][!] [file] Write a Vim script that restores the current editing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1149 session.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1150 When [!] is included an existing file is overwritten.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1151 When [file] is omitted "Session.vim" is used.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1152
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1153 The output of ":mksession" is like ":mkvimrc", but additional commands are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1154 added to the file. Which ones depends on the 'sessionoptions' option. The
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1155 resulting file, when executed with a ":source" command:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1156 1. Restores global mappings and options, if 'sessionoptions' contains
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1157 "options". Script-local mappings will not be written.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1158 2. Restores global variables that start with an uppercase letter and contain
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1159 at least one lowercase letter, if 'sessionoptions' contains "globals".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1160 3. Unloads all currently loaded buffers.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1161 4. Restores the current directory if 'sessionoptions' contains "curdir", or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1162 sets the current directory to where the Session file is if 'sessionoptions'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1163 contains "sesdir".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1164 5. Restores GUI Vim window position, if 'sessionoptions' contains "winpos".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1165 6. Restores screen size, if 'sessionoptions' contains "resize".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1166 7. Reloads the buffer list, with the last cursor positions. If
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1167 'sessionoptions' contains "buffers" then all buffers are restored,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1168 including hidden and unloaded buffers. Otherwise only buffers in windows
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1169 are restored.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1170 8. Restores all windows with the same layout. If 'sessionoptions' contains
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1171 contains "help", help windows are restored. If 'sessionoptions' contains
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1172 "blank", windows editing a buffer without a name will be restored.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1173 If 'sessionoptions' contains "winsize" and no (help/blank) windows were
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1174 left out, the window sizes are restored (relative to the screen size).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1175 Otherwise, the windows are just given sensible sizes.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1176 9. Restores the Views for all the windows, as with |:mkview|. But
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1177 'sessionoptions' is used instead of 'viewoptions'.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1178 10. If a file exists with the same name as the Session file, but ending in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1179 "x.vim" (for eXtra), executes that as well. You can use *x.vim files to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1180 specify additional settings and actions associated with a given Session,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1181 such as creating menu items in the GUI version.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1182
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1183 After restoring the Session, the full filename of your current Session is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1184 available in the internal variable "v:this_session" |this_session-variable|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1185 An example mapping: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1186 :nmap <F2> :wa<Bar>exe "mksession! " . v:this_session<CR>:so ~/sessions/
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1187 This saves the current Session, and starts off the command to load another.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1188
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1189 *:mkvie* *:mkview*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1190 :mkvie[w][!] [file] Write a Vim script that restores the contents of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1191 current window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1192 When [!] is included an existing file is overwritten.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1193 When [file] is omitted or is a number from 1 to 9, a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1194 name is generated and 'viewdir' prepended. When last
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1195 directory name in 'viewdir' does not exist, this
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1196 directory is created.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1197 An existing file is always overwritten then. Use
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1198 |:loadview| to load this view again.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1199 When [file] is the name of a file ('viewdir' is not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1200 used), a command to edit the file is added to the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1201 generated file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1202
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1203 The output of ":mkview" contains these items:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1204 1. The argument list used in the window. When the global argument list is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1205 used it is reset to the global list.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1206 The index in the argument list is also restored.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1207 2. The file being edited in the window. If there is no file, the window is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1208 made empty.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1209 3. Restore mappings, abbreviations and options local to the window if
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1210 'viewoptions' contains "options" or "localoptions". For the options it
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1211 restores only values that are local to the current buffer and values local
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1212 to the window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1213 When storing the view as part of a session and "options" is in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1214 'sessionoptions', global values for local options will be stored too.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1215 4. Restore folds when using manual folding and 'viewoptions' contains
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1216 "folds". Restore manually opened and closed folds.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1217 5. The scroll position and the cursor position in the file. Doesn't work very
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1218 well when there are closed folds.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1219 6. The local current directory, if it is different from the global current
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1220 directory.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1221
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1222 Note that Views and Sessions are not perfect:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1223 - They don't restore everything. For example, defined functions, autocommands
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1224 and ":syntax on" are not included. Things like register contents and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1225 command line history are in viminfo, not in Sessions or Views.
9
4102fb4ea781 updated for version 7.0002
vimboss
parents: 8
diff changeset
1226 - Global option values are only set when they differ from the default value.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1227 When the current value is not the default value, loading a Session will not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1228 set it back to the default value. Local options will be set back to the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1229 default value though.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1230 - Existing mappings will be overwritten without warning. An existing mapping
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1231 may cause an error for ambiguity.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1232 - When storing manual folds and when storing manually opened/closed folds,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1233 changes in the file between saving and loading the view will mess it up.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1234 - The Vim script is not very efficient. But still faster than typing the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1235 commands yourself!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1236
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1237 *:lo* *:loadview*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1238 :lo[adview] [nr] Load the view for the current file. When [nr] is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1239 omitted, the view stored with ":mkview" is loaded.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1240 When [nr] is specified, the view stored with ":mkview
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1241 [nr]" is loaded.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1242
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1243 The combination of ":mkview" and ":loadview" can be used to store up to ten
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1244 different views of a file. These are remembered in the directory specified
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1245 with the 'viewdir' option. The views are stored using the file name. If a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1246 file is renamed or accessed through a (symbolic) link the view will not be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1247 found.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1248
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1249 You might want to clean up your 'viewdir' directory now and then.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1250
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1251 To automatically save and restore views for *.c files: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1252 au BufWinLeave *.c mkview
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1253 au BufWinEnter *.c silent loadview
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1254
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1255 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1256 9. The viminfo file *viminfo* *viminfo-file* *E136*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1257 *E575* *E576* *E577*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1258 If you exit Vim and later start it again, you would normally lose a lot of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1259 information. The viminfo file can be used to remember that information, which
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1260 enables you to continue where you left off.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1261
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1262 This is introduced in section |21.3| of the user manual.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1263
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1264 The viminfo file is used to store:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1265 - The command line history.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1266 - The search string history.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1267 - The input-line history.
56
dbf53ece2e23 updated for version 7.0029
vimboss
parents: 43
diff changeset
1268 - Contents of non-empty registers.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1269 - Marks for several files.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1270 - File marks, pointing to locations in files.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1271 - Last search/substitute pattern (for 'n' and '&').
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1272 - The buffer list.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1273 - Global variables.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1274
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1275 The viminfo file is not supported when the |+viminfo| feature has been
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1276 disabled at compile time.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1277
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1278 You could also use a Session file. The difference is that the viminfo file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1279 does not depend on what you are working on. There normally is only one
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1280 viminfo file. Session files are used to save the state of a specific editing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1281 Session. You could have several Session files, one for each project you are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1282 working on. Viminfo and Session files together can be used to effectively
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1283 enter Vim and directly start working in your desired setup. |session-file|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1284
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1285 *viminfo-read*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1286 When Vim is started and the 'viminfo' option is non-empty, the contents of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1287 the viminfo file are read and the info can be used in the appropriate places.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1288 The marks are not read in at startup (but file marks are). See
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1289 |initialization| for how to set the 'viminfo' option upon startup.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1290
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1291 *viminfo-write*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1292 When Vim exits and 'viminfo' is non-empty, the info is stored in the viminfo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1293 file (it's actually merged with the existing one, if one exists). The
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1294 'viminfo' option is a string containing information about what info should be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1295 stored, and contains limits on how much should be stored (see 'viminfo').
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1296
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1297 Notes for Unix:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1298 - The file protection for the viminfo file will be set to prevent other users
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1299 from being able to read it, because it may contain any text or commands that
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1300 you have worked with.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1301 - If you want to share the viminfo file with other users (e.g. when you "su"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1302 to another user), you can make the file writable for the group or everybody.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1303 Vim will preserve this when writing new viminfo files. Be careful, don't
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1304 allow just anybody to read and write your viminfo file!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1305 - Vim will not overwrite a viminfo file that is not writable by the current
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1306 "real" user. This helps for when you did "su" to become root, but your
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1307 $HOME is still set to a normal user's home directory. Otherwise Vim would
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1308 create a viminfo file owned by root that nobody else can read.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1309
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1310 Marks are stored for each file separately. When a file is read and 'viminfo'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1311 is non-empty, the marks for that file are read from the viminfo file. NOTE:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1312 The marks are only written when exiting Vim, which is fine because marks are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1313 remembered for all the files you have opened in the current editing session,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1314 unless ":bdel" is used. If you want to save the marks for a file that you are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1315 about to abandon with ":bdel", use ":wv". The '[' and ']' marks are not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1316 stored, but the '"' mark is. The '"' mark is very useful for jumping to the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1317 cursor position when the file was last exited. No marks are saved for files
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1318 that start with any string given with the "r" flag in 'viminfo'. This can be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1319 used to avoid saving marks for files on removable media (for MS-DOS you would
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1320 use "ra:,rb:", for Amiga "rdf0:,rdf1:,rdf2:").
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1321
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1322 *viminfo-file-marks*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1323 Uppercase marks ('A to 'Z) are stored when writing the viminfo file. The
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1324 numbered marks ('0 to '9) are a bit special. When the viminfo file is written
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1325 (when exiting or with the ":wviminfo" command), '0 is set to the current cursor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1326 position and file. The old '0 is moved to '1, '1 to '2, etc. This
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1327 resembles what happens with the "1 to "9 delete registers. If the current
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1328 cursor position is already present in '0 to '9, it is moved to '0, to avoid
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1329 having the same position twice. The result is that with "'0", you can jump
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1330 back to the file and line where you exited Vim. To do that right away, try
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1331 using this command: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1332
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1333 vim -c "normal '0"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1334
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1335 In a shell you could make an alias for it: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1336
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1337 alias lvim vim -c '"'normal "'"0'"'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1338
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1339 Use the "r" flag in 'viminfo' to specify for which files no marks should be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1340 remembered.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1341
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1342
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1343 VIMINFO FILE NAME *viminfo-file-name*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1344
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1345 - The default name of the viminfo file is "$HOME/.viminfo" for Unix and OS/2,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1346 "s:.viminfo" for Amiga, "$HOME\_viminfo" for MS-DOS and Win32. For the last
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1347 two, when $HOME is not set, "$VIM\_viminfo" is used. When $VIM is also not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1348 set, "c:\_viminfo" is used. For OS/2 "$VIM/.viminfo" is used when $HOME is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1349 not set and $VIM is set.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1350 - The 'n' flag in the 'viminfo' option can be used to specify another viminfo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1351 file name |'viminfo'|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1352 - The "-i" Vim argument can be used to set another file name, |-i|. When the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1353 file name given is "NONE" (all uppercase), no viminfo file is ever read or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1354 written. Also not for the commands below!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1355 - For the commands below, another file name can be given, overriding the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1356 default and the name given with 'viminfo' or "-i" (unless it's NONE).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1357
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1358
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1359 CHARACTER ENCODING *viminfo-encoding*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1360
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1361 The text in the viminfo file is encoded as specified with the 'encoding'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1362 option. Normally you will always work with the same 'encoding' value, and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1363 this works just fine. However, if you read the viminfo file with another
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1364 value for 'encoding' than what it was written with, some of the text
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1365 (non-ASCII characters) may be invalid. If this is unacceptable, add the 'c'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1366 flag to the 'viminfo' option: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1367 :set viminfo+=c
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1368 Vim will then attempt to convert the text in the viminfo file from the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1369 'encoding' value it was written with to the current 'encoding' value. This
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1370 requires Vim to be compiled with the |+iconv| feature. Filenames are not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1371 converted.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1372
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1373
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1374 MANUALLY READING AND WRITING
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1375
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1376 Two commands can be used to read and write the viminfo file manually. This
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1377 can be used to exchange registers between two running Vim programs: First
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1378 type ":wv" in one and then ":rv" in the other. Note that if the register
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1379 already contained something, then ":rv!" would be required. Also note
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1380 however that this means everything will be overwritten with information from
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1381 the first Vim, including the command line history, etc.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1382
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1383 The viminfo file itself can be edited by hand too, although we suggest you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1384 start with an existing one to get the format right. It is reasonably
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1385 self-explanatory once you're in there. This can be useful in order to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1386 create a second file, say "~/.my_viminfo" which could contain certain
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1387 settings that you always want when you first start Vim. For example, you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1388 can preload registers with particular data, or put certain commands in the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1389 command line history. A line in your .vimrc file like >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1390 :rviminfo! ~/.my_viminfo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1391 can be used to load this information. You could even have different viminfos
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1392 for different types of files (e.g., C code) and load them based on the file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1393 name, using the ":autocmd" command (see |:autocmd|).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1394
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1395 *viminfo-errors*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1396 When Vim detects an error while reading a viminfo file, it will not overwrite
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1397 that file. If there are more than 10 errors, Vim stops reading the viminfo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1398 file. This was done to avoid accidentally destroying a file when the file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1399 name of the viminfo file is wrong. This could happen when accidentally typing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1400 "vim -i file" when you wanted "vim -R file" (yes, somebody accidentally did
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1401 that!). If you want to overwrite a viminfo file with an error in it, you will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1402 either have to fix the error, or delete the file (while Vim is running, so
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1403 most of the information will be restored).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1404
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1405 *:rv* *:rviminfo* *E195*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1406 :rv[iminfo][!] [file] Read from viminfo file [file] (default: see above).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1407 If [!] is given, then any information that is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1408 already set (registers, marks, etc.) will be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1409 overwritten. {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1410
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1411 *:wv* *:wviminfo* *E137* *E138* *E574*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1412 :wv[iminfo][!] [file] Write to viminfo file [file] (default: see above).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1413 The information in the file is first read in to make
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1414 a merge between old and new info. When [!] is used,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1415 the old information is not read first, only the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1416 internal info is written. If 'viminfo' is empty, marks
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1417 for up to 100 files will be written.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1418 When you get error "E138: Can't write viminfo file"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1419 check that no old temp files were left behind (e.g.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1420 ~/.viminf*) and that you can write in the directory of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1421 the .viminfo file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1422 {not in Vi}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1423
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1424 vim:tw=78:ts=8:ft=help:norl: