Mercurial > vim
annotate runtime/doc/os_win32.txt @ 8773:08944b17c29c v7.4.1675
commit https://github.com/vim/vim/commit/e101204906e10f1e100e2f9017985c61f26b03ac
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Mar 28 21:10:49 2016 +0200
patch 7.4.1675
Problem: The swapmous plugin has to be copied or sourced to be used.
Solution: Turn it into the swapmouse package.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 28 Mar 2016 21:15:06 +0200 |
parents | 4c6ad81d41fe |
children | 43efa4f5a8ea |
rev | line source |
---|---|
8440
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
1 *os_win32.txt* For Vim version 7.4. Last change: 2016 Mar 05 |
7 | 2 |
3 | |
4 VIM REFERENCE MANUAL by George Reilly | |
5 | |
6 | |
7 *win32* *Win32* *MS-Windows* | |
8 This file documents the idiosyncrasies of the Win32 version of Vim. | |
9 | |
2364
151b037b7e74
Fix hang when resizing in diff mode and there are concealed items.
Bram Moolenaar <bram@vim.org>
parents:
2345
diff
changeset
|
10 The Win32 version of Vim works on Windows NT, 95, 98, ME, XP, Vista and |
151b037b7e74
Fix hang when resizing in diff mode and there are concealed items.
Bram Moolenaar <bram@vim.org>
parents:
2345
diff
changeset
|
11 Windows 7. There are both console and GUI versions. |
151b037b7e74
Fix hang when resizing in diff mode and there are concealed items.
Bram Moolenaar <bram@vim.org>
parents:
2345
diff
changeset
|
12 |
151b037b7e74
Fix hang when resizing in diff mode and there are concealed items.
Bram Moolenaar <bram@vim.org>
parents:
2345
diff
changeset
|
13 The 32 bit version also runs on 64 bit MS-Windows systems. |
151b037b7e74
Fix hang when resizing in diff mode and there are concealed items.
Bram Moolenaar <bram@vim.org>
parents:
2345
diff
changeset
|
14 |
151b037b7e74
Fix hang when resizing in diff mode and there are concealed items.
Bram Moolenaar <bram@vim.org>
parents:
2345
diff
changeset
|
15 There is GUI version for use in the Win32s subsystem in Windows 3.1[1]. You |
151b037b7e74
Fix hang when resizing in diff mode and there are concealed items.
Bram Moolenaar <bram@vim.org>
parents:
2345
diff
changeset
|
16 can also use the 32-bit DOS version of Vim instead. See |os_msdos.txt|. |
7 | 17 |
18 1. Known problems |win32-problems| | |
19 2. Startup |win32-startup| | |
20 3. Restore screen contents |win32-restore| | |
21 4. Using the mouse |win32-mouse| | |
22 5. Running under Windows 3.1 |win32-win3.1| | |
23 6. Win32 mini FAQ |win32-faq| | |
24 | |
25 Additionally, there are a number of common Win32 and DOS items: | |
26 File locations |dos-locations| | |
27 Using backslashes |dos-backslash| | |
28 Standard mappings |dos-standard-mappings| | |
29 Screen output and colors |dos-colors| | |
30 File formats |dos-file-formats| | |
31 :cd command |dos-:cd| | |
32 Interrupting |dos-CTRL-Break| | |
33 Temp files |dos-temp-files| | |
34 Shell option default |dos-shell| | |
35 | |
36 Win32 GUI |gui-w32| | |
37 | |
38 Credits: | |
39 The Win32 version was written by George V. Reilly <george@reilly.org>. | |
40 The original Windows NT port was done by Roger Knobbe <RogerK@wonderware.com>. | |
41 The GUI version was made by George V. Reilly and Robert Webb. | |
42 | |
2217
120502692d82
Improve the MS-Windows installer.
Bram Moolenaar <bram@vim.org>
parents:
2154
diff
changeset
|
43 For compiling see "src/INSTALLpc.txt". *win32-compiling* |
7 | 44 |
45 ============================================================================== | |
46 1. Known problems *windows95* *win32-problems* | |
47 | |
48 There are a few known problems with running in a console on Windows 95. As | |
49 far as we know, this is the same in Windows 98 and Windows ME. | |
50 | |
51 Comments from somebody working at Microsoft: "Win95 console support has always | |
52 been and will always be flaky". | |
53 1. Dead key support doesn't work. | |
54 2. Resizing the window with ":set columns=nn lines=nn" works, but executing | |
55 external commands MAY CAUSE THE SYSTEM TO HANG OR CRASH. | |
56 3. Screen updating is slow, unless you change 'columns' or 'lines' to a | |
57 non-DOS value. But then the second problem applies! | |
58 | |
59 If this bothers you, use the 32 bit MS-DOS version or the Win32 GUI version. | |
60 | |
61 When doing file name completion, Vim also finds matches for the short file | |
62 name. But Vim will still find and use the corresponding long file name. For | |
63 example, if you have the long file name "this_is_a_test" with the short file | |
64 name "this_i~1", the command ":e *1" will start editing "this_is_a_test". | |
65 | |
66 ============================================================================== | |
67 2. Startup *win32-startup* | |
68 | |
69 Current directory *win32-curdir* | |
70 | |
71 If Vim is started with a single file name argument, and it has a full path | |
72 (starts with "x:\"), Vim assumes it was started from the file explorer and | |
73 will set the current directory to where that file is. To avoid this when | |
74 typing a command to start Vim, use a forward slash instead of a backslash. | |
75 Example: > | |
76 | |
77 vim c:\text\files\foo.txt | |
78 | |
79 Will change to the "C:\text\files" directory. > | |
80 | |
81 vim c:/text\files\foo.txt | |
82 | |
83 Will use the current directory. | |
84 | |
85 | |
86 Term option *win32-term* | |
87 | |
88 The only kind of terminal type that the Win32 version of Vim understands is | |
89 "win32", which is built-in. If you set 'term' to anything else, you will | |
90 probably get very strange behavior from Vim. Therefore Vim does not obtain | |
91 the default value of 'term' from the environment variable "TERM". | |
92 | |
819 | 93 $PATH *win32-PATH* |
94 | |
95 The directory of the Vim executable is appended to $PATH. This is mostly to | |
5400 | 96 make "!xxd" work, as it is in the Tools menu. And it also means that when |
819 | 97 executable() returns 1 the executable can actually be executed. |
98 | |
8440
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
99 Quotes in file names *win32-quotes* |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
100 |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
101 Quotes inside a file name (or any other command line argument) can be escaped |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
102 with a backslash. E.g. > |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
103 vim -c "echo 'foo\"bar'" |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
104 |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
105 Alternatively use three quotes to get one: > |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
106 vim -c "echo 'foo"""bar'" |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
107 |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
108 The quotation rules are: |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
109 |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
110 1. A `"` starts quotation. |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
111 2. Another `"` or `""` ends quotation. If the quotation ends with `""`, a `"` |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
112 is produced at the end of the quoted string. |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
113 |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
114 Examples, with [] around an argument: |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
115 "foo" -> [foo] |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
116 "foo"" -> [foo"] |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
117 "foo"bar -> [foobar] |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
118 "foo" bar -> [foo], [bar] |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
119 "foo""bar -> [foo"bar] |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
120 "foo"" bar -> [foo"], [bar] |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
121 "foo"""bar" -> [foo"bar] |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
122 |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
123 |
7 | 124 ============================================================================== |
125 3. Restore screen contents *win32-restore* | |
126 | |
127 When 'restorescreen' is set (which is the default), Vim will restore the | |
128 original contents of the console when exiting or when executing external | |
129 commands. If you don't want this, use ":set nors". |'restorescreen'| | |
130 | |
131 ============================================================================== | |
132 4. Using the mouse *win32-mouse* | |
133 | |
134 The Win32 version of Vim supports using the mouse. If you have a two-button | |
135 mouse, the middle button can be emulated by pressing both left and right | |
136 buttons simultaneously - but note that in the Win32 GUI, if you have the right | |
137 mouse button pop-up menu enabled (see 'mouse'), you should err on the side of | |
138 pressing the left button first. |mouse-using| | |
139 | |
140 When the mouse doesn't work, try disabling the "Quick Edit Mode" feature of | |
141 the console. | |
142 | |
143 ============================================================================== | |
144 5. Running under Windows 3.1 *win32-win3.1* | |
145 | |
146 *win32s* *windows-3.1* | |
147 There is a special version of Gvim that runs under Windows 3.1 and 3.11. You | |
148 need the gvim.exe that was compiled with Visual C++ 4.1. | |
149 | |
150 To run the Win32 version under Windows 3.1, you need to install Win32s. You | |
151 might have it already from another Win32 application which you have installed. | |
152 If Vim doesn't seem to be running properly, get the latest version: 1.30c. | |
153 You can find it at: | |
154 | |
155 http://support.microsoft.com/download/support/mslfiles/pw1118.exe | |
156 | |
157 (Microsoft moved it again, we don't know where it is now :-( ). | |
158 | |
159 The reason for having two versions of gvim.exe is that the Win32s version was | |
160 compiled with VC++ 4.1. This is the last version of VC++ that supports Win32s | |
161 programs. VC++ 5.0 is better, so that one was used for the Win32 version. | |
162 Apart from that, there is no difference between the programs. If you are in a | |
163 mixed environment, you can use the gvim.exe for Win32s on both. | |
164 | |
165 The Win32s version works the same way as the Win32 version under 95/NT. When | |
166 running under Win32s the following differences apply: | |
167 - You cannot use long file names, because Windows 3.1 doesn't support them! | |
168 - When executing an external command, it doesn't return an exit code. After | |
169 doing ":make" you have to do ":cn" yourself. | |
170 | |
171 ============================================================================== | |
172 6. Win32 mini FAQ *win32-faq* | |
173 | |
174 Q. Why does the Win32 version of Vim update the screen so slowly on Windows 95? | |
175 A. The support for Win32 console mode applications is very buggy in Win95. | |
176 For some unknown reason, the screen updates very slowly when Vim is run at | |
177 one of the standard resolutions (80x25, 80x43, or 80x50) and the 16-bit DOS | |
178 version updates the screen much more quickly than the Win32 version. | |
179 However, if the screen is set to some other resolution, such as by ":set | |
180 columns=100" or ":set lines=40", screen updating becomes about as fast as | |
181 it is with the 16-bit version. | |
182 | |
183 WARNING: Changing 'columns' may make Windows 95 crash while updating the | |
184 window (complaints --> Microsoft). Since this mostly works, this has not | |
185 been disabled, but be careful with changing 'columns'. | |
186 | |
187 Changing the screen resolution makes updates faster, but it brings | |
188 additional problems. External commands (e.g., ":!dir") can cause Vim to | |
189 freeze when the screen is set to a non-standard resolution, particularly | |
190 when 'columns' is not equal to 80. It is not possible for Vim to reliably | |
191 set the screen resolution back to the value it had upon startup before | |
192 running external commands, so if you change the number of 'lines' or | |
193 'columns', be very, very careful. In fact, Vim will not allow you to | |
194 execute external commands when 'columns' is not equal to 80, because it is | |
195 so likely to freeze up afterwards. | |
196 | |
197 None of the above applies on Windows NT. Screen updates are fast, no | |
198 matter how many 'lines' or 'columns' the window has, and external commands | |
199 do not cause Vim to freeze. | |
200 | |
201 Q. So if the Win32 version updates the screen so slowly on Windows 95 and the | |
202 16-bit DOS version updates the screen quickly, why would I want to run the | |
203 Win32 version? | |
204 A. Firstly, the Win32 version isn't that slow, especially when the screen is | |
205 set to some non-standard number of 'lines' or 'columns'. Secondly, the | |
206 16-bit DOS version has some severe limitations: It can't do big changes and | |
207 it doesn't know about long file names. The Win32 version doesn't have these | |
208 limitations and it's faster overall (the same is true for the 32-bit DJGPP | |
209 DOS version of Vim). The Win32 version is smarter about handling the | |
210 screen, the mouse, and the keyboard than the DJGPP version is. | |
211 | |
212 Q. And what about the 16-bit DOS version versus the Win32 version on NT? | |
213 A. There are no good reasons to run the 16-bit DOS version on NT. The Win32 | |
214 version updates the screen just as fast as the 16-bit version does when | |
215 running on NT. All of the above disadvantages apply. Finally, DOS | |
216 applications can take a long time to start up and will run more slowly. On | |
217 non-Intel NT platforms, the DOS version is almost unusably slow, because it | |
218 runs on top of an 80x86 emulator. | |
219 | |
220 Q. How do I change the font? | |
22 | 221 A. In the GUI version, you can use the 'guifont' option. Example: > |
222 :set guifont=Lucida_Console:h15:cDEFAULT | |
223 < In the console version, you need to set the font of the console itself. | |
7 | 224 You cannot do this from within Vim. |
225 | |
226 Q. When I change the size of the console window with ':set lines=xx' or | |
227 similar, the font changes! (Win95) | |
228 A. You have the console font set to 'Auto' in Vim's (or your MS-DOS prompt's) | |
237 | 229 properties. This makes W95 guess (badly!) what font is best. Set an explicit |
7 | 230 font instead. |
231 | |
232 Q. Why can't I paste into Vim when running Windows 95? | |
233 A. In the properties dialog box for the MS-DOS window, go to "MS-DOS | |
234 Prompt/Misc/Fast pasting" and make sure that it is NOT checked. You should | |
235 also do ":set paste" in Vim to avoid unexpected effects. |'paste'| | |
236 | |
237 Q. How do I type dead keys on Windows 95, in the console version? | |
238 (A dead key is an accent key, such as acute, grave, or umlaut, that doesn't | |
239 produce a character by itself, but when followed by another key, produces | |
240 an accented character, such as a-acute, e-grave, u-umlaut, n-tilde, and so | |
241 on. Very useful for most European languages. English-language keyboard | |
242 layouts don't use dead keys, as far as we know.) | |
243 A. You don't. The console mode input routines simply do not work correctly in | |
244 Windows 95, and I have not been able to work around them. In the words | |
245 of a senior developer at Microsoft: | |
246 Win95 console support has always been and will always be flaky. | |
247 | |
248 The flakiness is unavoidable because we are stuck between the world of | |
249 MS-DOS keyboard TSRs like KEYB (which wants to cook the data; | |
250 important for international) and the world of Win32. | |
251 | |
252 So keys that don't "exist" in MS-DOS land (like dead keys) have a | |
253 very tenuous existence in Win32 console land. Keys that act | |
254 differently between MS-DOS land and Win32 console land (like | |
255 capslock) will act flaky. | |
256 | |
257 Don't even _mention_ the problems with multiple language keyboard | |
258 layouts... | |
259 | |
260 You may be able to fashion some sort of workaround with the digraphs | |
261 mechanism. |digraphs| | |
262 | |
263 The best solution is to use the Win32 GUI version gvim.exe. Alternatively, | |
264 you can try one of the DOS versions of Vim where dead keys reportedly do | |
265 work. | |
266 | |
267 Q. How do I type dead keys on Windows NT? | |
268 A. Dead keys work on NT 3.51. Just type them as you would in any other | |
269 application. | |
270 On NT 4.0, you need to make sure that the default locale (set in the | |
271 Keyboard part of the Control Panel) is the same as the currently active | |
272 locale. Otherwise the NT code will get confused and crash! This is a NT | |
273 4.0 problem, not really a Vim problem. | |
274 | |
275 Q. I'm using Vim to edit a symbolically linked file on a Unix NFS file server. | |
276 When I write the file, Vim does not "write through" the symlink. Instead, | |
277 it deletes the symbolic link and creates a new file in its place. Why? | |
278 A. On Unix, Vim is prepared for links (symbolic or hard). A backup copy of | |
279 the original file is made and then the original file is overwritten. This | |
280 assures that all properties of the file remain the same. On non-Unix | |
281 systems, the original file is renamed and a new file is written. Only the | |
282 protection bits are set like the original file. However, this doesn't work | |
283 properly when working on an NFS-mounted file system where links and other | |
284 things exist. The only way to fix this in the current version is not | |
285 making a backup file, by ":set nobackup nowritebackup" |'writebackup'| | |
286 | |
22 | 287 Q. I'm using Vim to edit a file on a Unix file server through Samba. When I |
288 write the file, the owner of the file is changed. Why? | |
289 A. When writing a file Vim renames the original file, this is a backup (in | |
290 case writing the file fails halfway). Then the file is written as a new | |
291 file. Samba then gives it the default owner for the file system, which may | |
292 differ from the original owner. | |
293 To avoid this set the 'backupcopy' option to "yes". Vim will then make a | |
294 copy of the file for the backup, and overwrite the original file. The | |
295 owner isn't changed then. | |
296 | |
7 | 297 Q. How do I get to see the output of ":make" while it's running? |
298 A. Basically what you need is to put a tee program that will copy its input | |
299 (the output from make) to both stdout and to the errorfile. You can find a | |
1125 | 300 copy of tee (and a number of other GNU tools) at |
7 | 301 http://gnuwin32.sourceforge.net or http://unxutils.sourceforge.net |
302 Alternatively, try the more recent Cygnus version of the GNU tools at | |
303 http://www.cygwin.com Other Unix-style tools for Win32 are listed at | |
304 http://directory.google.com/Top/Computers/Software/Operating_Systems/Unix/Win32/ | |
305 When you do get a copy of tee, you'll need to add > | |
306 :set shellpipe=\|\ tee | |
307 < to your _vimrc. | |
308 | |
309 Q. I'm storing files on a remote machine that works with VisionFS, and files | |
310 disappear! | |
311 A. VisionFS can't handle certain dot (.) three letter extension file names. | |
312 SCO declares this behavior required for backwards compatibility with 16bit | |
313 DOS/Windows environments. The two commands below demonstrate the behavior: | |
314 > | |
315 echo Hello > file.bat~ | |
316 dir > file.bat | |
317 < | |
318 The result is that the "dir" command updates the "file.bat~" file, instead | |
237 | 319 of creating a new "file.bat" file. This same behavior is exhibited in Vim |
7 | 320 when editing an existing file named "foo.bat" because the default behavior |
321 of Vim is to create a temporary file with a '~' character appended to the | |
322 name. When the file is written, it winds up being deleted. | |
323 | |
324 Solution: Add this command to your _vimrc file: > | |
325 :set backupext=.temporary | |
326 | |
327 Q. How do I change the blink rate of the cursor? | |
328 A. You can't! This is a limitation of the NT console. NT 5.0 is reported to | |
329 be able to set the blink rate for all console windows at the same time. | |
330 | |
331 *:!start* | |
332 Q. How can I run an external command or program asynchronously? | |
333 A. When using :! to run an external command, you can run it with "start": > | |
334 :!start winfile.exe<CR> | |
335 < Using "start" stops Vim switching to another screen, opening a new console, | |
336 or waiting for the program to complete; it indicates that you are running a | |
1624 | 337 program that does not affect the files you are editing. Programs begun |
7 | 338 with :!start do not get passed Vim's open file handles, which means they do |
339 not have to be closed before Vim. | |
340 To avoid this special treatment, use ":! start". | |
2859 | 341 There are two optional arguments (see the next Q): |
3513 | 342 /min the window will be minimized |
343 /b no console window will be opened | |
3082 | 344 You can use only one of these flags at a time. A second one will be |
2859 | 345 treated as the start of the command. |
346 | |
347 Q. How do I avoid getting a window for programs that I run asynchronously? | |
3082 | 348 A. You have two possible solutions depending on what you want: |
2908 | 349 1) You may use the /min flag in order to run program in a minimized state |
350 with no other changes. It will work equally for console and GUI | |
351 applications. | |
352 2) You can use the /b flag to run console applications without creating a | |
2859 | 353 console window for them (GUI applications are not affected). But you |
2908 | 354 should use this flag only if the application you run doesn't require any |
355 input. Otherwise it will get an EOF error because its input stream | |
3082 | 356 (stdin) would be redirected to \\.\NUL (stdout and stderr too). |
2859 | 357 |
358 Example for a console application, run Exuberant ctags: > | |
359 :!start /min ctags -R . | |
360 < When it has finished you should see file named "tags" in your current | |
361 directory. You should notice the window title blinking on your taskbar. | |
6180 | 362 This is more noticeable for commands that take longer. |
2859 | 363 Now delete the "tags" file and run this command: > |
364 :!start /b ctags -R . | |
365 < You should have the same "tags" file, but this time there will be no | |
366 blinking on the taskbar. | |
367 Example for a GUI application: > | |
368 :!start /min notepad | |
369 :!start /b notepad | |
370 < The first command runs notepad minimized and the second one runs it | |
371 normally. | |
7 | 372 |
373 Q. I'm using Win32s, and when I try to run an external command like "make", | |
237 | 374 Vim doesn't wait for it to finish! Help! |
7 | 375 A. The problem is that a 32-bit application (Vim) can't get notification from |
237 | 376 Windows that a 16-bit application (your DOS session) has finished. Vim |
7 | 377 includes a work-around for this, but you must set up your DOS commands to |
237 | 378 run in a window, not full-screen. Unfortunately the default when you |
379 install Windows is full-screen. To change this: | |
380 1) Start PIF editor (in the Main program group). | |
7 | 381 2) Open the file "_DEFAULT.PIF" in your Windows directory. |
382 3) Changes the display option from "Full Screen" to "Windowed". | |
383 4) Save and exit. | |
384 | |
385 To test, start Vim and type > | |
386 :!dir C:\<CR>". | |
387 < You should see a DOS box window appear briefly with the directory listing. | |
388 | |
237 | 389 Q. I use Vim under Win32s and NT. In NT, I can define the console to default to |
390 50 lines, so that I get a 80x50 shell when I ':sh'. Can I do the same in | |
7 | 391 W3.1x, or am I stuck with 80x25? |
237 | 392 A. Edit SYSTEM.INI and add 'ScreenLines=50' to the [NonWindowsApp] section. DOS |
7 | 393 prompts and external DOS commands will now run in a 50-line window. |
394 | |
6259 | 395 *windows-icon* |
396 Q. I don't like the Vim icon, can I change it? | |
397 A. Yes, place your favorite icon in bitmaps/vim.ico in a directory of | |
398 'runtimepath'. For example ~/vimfiles/bitmaps/vim.ico. | |
399 | |
400 | |
7 | 401 vim:tw=78:fo=tcq2:ts=8:ft=help:norl: |