annotate runtime/doc/os_win32.txt @ 9999:2c5b2fc3a9f9

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