Mercurial > vim
annotate runtime/doc/os_win32.txt @ 30465:b3367a7a3914 v9.0.0568
patch 9.0.0568: autocmd code is indented more than needed
Commit: https://github.com/vim/vim/commit/e9dcf13a3007d4f603e007e0526b0005fd026bc5
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Sat Sep 24 11:30:41 2022 +0100
patch 9.0.0568: autocmd code is indented more than needed
Problem: Autocmd code is indented more than needed.
Solution: Break out sooner. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/11208)
Also in user function code.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 24 Sep 2022 12:45:03 +0200 |
parents | 0827d3d6d8c0 |
children | 3e0e82f87029 |
rev | line source |
---|---|
30324 | 1 *os_win32.txt* For Vim version 9.0. Last change: 2022 Sep 18 |
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 | |
30320
0763cb330a65
patch 9.0.0496: no good reason to keep supporting Windows-XP
Bram Moolenaar <Bram@vim.org>
parents:
29314
diff
changeset
|
10 The Win32 version of Vim works on Windows 7, 8, 10 and 11. There are both |
0763cb330a65
patch 9.0.0496: no good reason to keep supporting Windows-XP
Bram Moolenaar <Bram@vim.org>
parents:
29314
diff
changeset
|
11 console and GUI versions. |
0763cb330a65
patch 9.0.0496: no good reason to keep supporting Windows-XP
Bram Moolenaar <Bram@vim.org>
parents:
29314
diff
changeset
|
12 |
0763cb330a65
patch 9.0.0496: no good reason to keep supporting Windows-XP
Bram Moolenaar <Bram@vim.org>
parents:
29314
diff
changeset
|
13 If you have Windows XP or Vista then Vim 9.0 up to patch level 495 can be |
0763cb330a65
patch 9.0.0496: no good reason to keep supporting Windows-XP
Bram Moolenaar <Bram@vim.org>
parents:
29314
diff
changeset
|
14 used. |
2364
151b037b7e74
Fix hang when resizing in diff mode and there are concealed items.
Bram Moolenaar <bram@vim.org>
parents:
2345
diff
changeset
|
15 |
151b037b7e74
Fix hang when resizing in diff mode and there are concealed items.
Bram Moolenaar <bram@vim.org>
parents:
2345
diff
changeset
|
16 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
|
17 |
7 | 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| | |
10264
c036c0f636d5
commit https://github.com/vim/vim/commit/cea912af725c54f4727a0565e31661f6b29c6bb1
Christian Brabandt <cb@256bit.org>
parents:
10198
diff
changeset
|
22 5. Running under Windows 95 |win32-win95| |
c036c0f636d5
commit https://github.com/vim/vim/commit/cea912af725c54f4727a0565e31661f6b29c6bb1
Christian Brabandt <cb@256bit.org>
parents:
10198
diff
changeset
|
23 6. Running under Windows 3.1 |win32-win3.1| |
25354
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
24 7. Installation package |win32-installer| |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
25 8. Win32 mini FAQ |win32-faq| |
7 | 26 |
27 Additionally, there are a number of common Win32 and DOS items: | |
28 File locations |dos-locations| | |
29 Using backslashes |dos-backslash| | |
30 Standard mappings |dos-standard-mappings| | |
31 Screen output and colors |dos-colors| | |
32 File formats |dos-file-formats| | |
33 :cd command |dos-:cd| | |
34 Interrupting |dos-CTRL-Break| | |
35 Temp files |dos-temp-files| | |
36 Shell option default |dos-shell| | |
25084
beff72446e2e
patch 8.2.3079: Powershell core not supported by default
Bram Moolenaar <Bram@vim.org>
parents:
24387
diff
changeset
|
37 PowerShell defaults |dos-powershell| |
7 | 38 |
39 Win32 GUI |gui-w32| | |
40 | |
41 Credits: | |
42 The Win32 version was written by George V. Reilly <george@reilly.org>. | |
43 The original Windows NT port was done by Roger Knobbe <RogerK@wonderware.com>. | |
44 The GUI version was made by George V. Reilly and Robert Webb. | |
45 | |
2217
120502692d82
Improve the MS-Windows installer.
Bram Moolenaar <bram@vim.org>
parents:
2154
diff
changeset
|
46 For compiling see "src/INSTALLpc.txt". *win32-compiling* |
7 | 47 |
28956
3e6e6b4e74eb
patch 8.2.5000: no patch for documentation updates
Bram Moolenaar <Bram@vim.org>
parents:
27804
diff
changeset
|
48 *WSL* |
3e6e6b4e74eb
patch 8.2.5000: no patch for documentation updates
Bram Moolenaar <Bram@vim.org>
parents:
27804
diff
changeset
|
49 When using Vim on WSL (Windows Subsystem for Linux) the remarks here do not |
3e6e6b4e74eb
patch 8.2.5000: no patch for documentation updates
Bram Moolenaar <Bram@vim.org>
parents:
27804
diff
changeset
|
50 apply, `has('win32')` will return false then. In case you need to know |
3e6e6b4e74eb
patch 8.2.5000: no patch for documentation updates
Bram Moolenaar <Bram@vim.org>
parents:
27804
diff
changeset
|
51 whether Vim is running on WSL you can use `exists('$WSLENV')`. |
3e6e6b4e74eb
patch 8.2.5000: no patch for documentation updates
Bram Moolenaar <Bram@vim.org>
parents:
27804
diff
changeset
|
52 |
7 | 53 ============================================================================== |
10264
c036c0f636d5
commit https://github.com/vim/vim/commit/cea912af725c54f4727a0565e31661f6b29c6bb1
Christian Brabandt <cb@256bit.org>
parents:
10198
diff
changeset
|
54 1. Known problems *win32-problems* |
7 | 55 |
56 When doing file name completion, Vim also finds matches for the short file | |
57 name. But Vim will still find and use the corresponding long file name. For | |
58 example, if you have the long file name "this_is_a_test" with the short file | |
59 name "this_i~1", the command ":e *1" will start editing "this_is_a_test". | |
60 | |
61 ============================================================================== | |
62 2. Startup *win32-startup* | |
63 | |
64 Current directory *win32-curdir* | |
65 | |
66 If Vim is started with a single file name argument, and it has a full path | |
67 (starts with "x:\"), Vim assumes it was started from the file explorer and | |
68 will set the current directory to where that file is. To avoid this when | |
69 typing a command to start Vim, use a forward slash instead of a backslash. | |
70 Example: > | |
71 | |
72 vim c:\text\files\foo.txt | |
73 | |
74 Will change to the "C:\text\files" directory. > | |
75 | |
76 vim c:/text\files\foo.txt | |
77 | |
78 Will use the current directory. | |
79 | |
80 | |
81 Term option *win32-term* | |
82 | |
83 The only kind of terminal type that the Win32 version of Vim understands is | |
84 "win32", which is built-in. If you set 'term' to anything else, you will | |
85 probably get very strange behavior from Vim. Therefore Vim does not obtain | |
86 the default value of 'term' from the environment variable "TERM". | |
87 | |
819 | 88 $PATH *win32-PATH* |
89 | |
90 The directory of the Vim executable is appended to $PATH. This is mostly to | |
5400 | 91 make "!xxd" work, as it is in the Tools menu. And it also means that when |
819 | 92 executable() returns 1 the executable can actually be executed. |
93 | |
12756
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
94 Command line arguments *win32-cmdargs* |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
95 |
24387 | 96 Analysis of a command line into parameters is not standardised in MS-Windows. |
12756
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
97 Vim and gvim used to use different logic to parse it (before 7.4.432), and the |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
98 logic was also depended on what it was compiled with. Now Vim and gvim both |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
99 use the CommandLineToArgvW() Win32 API, so they behave in the same way. |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
100 |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
101 The basic rules are: *win32-backslashes* |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
102 a) A parameter is a sequence of graphic characters. |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
103 b) Parameters are separated by white space. |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
104 c) A parameter can be enclosed in double quotes to include white space. |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
105 d) A sequence of zero or more backslashes (\) and a double quote (") |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
106 is special. The effective number of backslashes is halved, rounded |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
107 down. An even number of backslashes reverses the acceptability of |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
108 spaces and tabs, an odd number of backslashes produces a literal |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
109 double quote. |
8440
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
110 |
12756
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
111 So: |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
112 " is a special double quote |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
113 \" is a literal double quote |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
114 \\" is a literal backslash and a special double quote |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
115 \\\" is a literal backslash and a literal double quote |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
116 \\\\" is 2 literal backslashes and a special double quote |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
117 \\\\\" is 2 literal backslashes and a literal double quote |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
118 etc. |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
119 |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
120 Example: > |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
121 vim "C:\My Music\freude" +"set ignorecase" +/"\"foo\\" +\"bar\\\" |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
122 |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
123 opens "C:\My Music\freude" and executes the line mode commands: > |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
124 set ignorecase; /"foo\ and /bar\" |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
125 |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
126 These rules are also described in the reference of the CommandLineToArgvW API: |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
127 https://msdn.microsoft.com/en-us/library/windows/desktop/bb776391.aspx |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
128 |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
129 *win32-quotes* |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
130 There are additional rules for quotes (which are not well documented). |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
131 As described above, quotes inside a file name (or any other command line |
3b26420fc639
Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents:
11473
diff
changeset
|
132 argument) can be escaped with a backslash. E.g. > |
8440
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
133 vim -c "echo 'foo\"bar'" |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
134 |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
135 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
|
136 vim -c "echo 'foo"""bar'" |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
137 |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
138 The quotation rules are: |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
139 |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
140 1. A `"` starts quotation. |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
141 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
|
142 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
|
143 |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
144 Examples, with [] around an argument: |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
145 "foo" -> [foo] |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
146 "foo"" -> [foo"] |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
147 "foo"bar -> [foobar] |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
148 "foo" bar -> [foo], [bar] |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
149 "foo""bar -> [foo"bar] |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
150 "foo"" bar -> [foo"], [bar] |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
151 "foo"""bar" -> [foo"bar] |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
152 |
4c6ad81d41fe
commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents:
6259
diff
changeset
|
153 |
7 | 154 ============================================================================== |
155 3. Restore screen contents *win32-restore* | |
156 | |
157 When 'restorescreen' is set (which is the default), Vim will restore the | |
158 original contents of the console when exiting or when executing external | |
159 commands. If you don't want this, use ":set nors". |'restorescreen'| | |
160 | |
161 ============================================================================== | |
162 4. Using the mouse *win32-mouse* | |
163 | |
164 The Win32 version of Vim supports using the mouse. If you have a two-button | |
165 mouse, the middle button can be emulated by pressing both left and right | |
166 buttons simultaneously - but note that in the Win32 GUI, if you have the right | |
167 mouse button pop-up menu enabled (see 'mouse'), you should err on the side of | |
168 pressing the left button first. |mouse-using| | |
169 | |
170 When the mouse doesn't work, try disabling the "Quick Edit Mode" feature of | |
171 the console. | |
172 | |
173 ============================================================================== | |
10264
c036c0f636d5
commit https://github.com/vim/vim/commit/cea912af725c54f4727a0565e31661f6b29c6bb1
Christian Brabandt <cb@256bit.org>
parents:
10198
diff
changeset
|
174 5. Running under Windows 95 *win32-win95* |
c036c0f636d5
commit https://github.com/vim/vim/commit/cea912af725c54f4727a0565e31661f6b29c6bb1
Christian Brabandt <cb@256bit.org>
parents:
10198
diff
changeset
|
175 *windows95* *windows98* *windowsme* |
c036c0f636d5
commit https://github.com/vim/vim/commit/cea912af725c54f4727a0565e31661f6b29c6bb1
Christian Brabandt <cb@256bit.org>
parents:
10198
diff
changeset
|
176 Windows 95/98/ME support was removed in patch 8.0.0029 If you want to use it |
c036c0f636d5
commit https://github.com/vim/vim/commit/cea912af725c54f4727a0565e31661f6b29c6bb1
Christian Brabandt <cb@256bit.org>
parents:
10198
diff
changeset
|
177 you will need to get a version older than that. |
7 | 178 |
10264
c036c0f636d5
commit https://github.com/vim/vim/commit/cea912af725c54f4727a0565e31661f6b29c6bb1
Christian Brabandt <cb@256bit.org>
parents:
10198
diff
changeset
|
179 ============================================================================== |
c036c0f636d5
commit https://github.com/vim/vim/commit/cea912af725c54f4727a0565e31661f6b29c6bb1
Christian Brabandt <cb@256bit.org>
parents:
10198
diff
changeset
|
180 6. Running under Windows 3.1 *win32-win3.1* |
c036c0f636d5
commit https://github.com/vim/vim/commit/cea912af725c54f4727a0565e31661f6b29c6bb1
Christian Brabandt <cb@256bit.org>
parents:
10198
diff
changeset
|
181 |
14123 | 182 *win32s* *windows-3.1* *gui-w32s* *win16* |
11473 | 183 There was a special version of gvim that runs under Windows 3.1 and 3.11. |
19125
286aa7c0c9ab
patch 8.2.0122: readme files still mention MS-DOS
Bram Moolenaar <Bram@vim.org>
parents:
18879
diff
changeset
|
184 Support was removed in patch 7.4.1364. |
7 | 185 |
186 ============================================================================== | |
25354
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
187 7. Installation package *win32-installer* |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
188 |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
189 A simple installer for windows is available at http://www.vim.org/download.php |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
190 (stable version) and nightly builds are also available at |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
191 https://github.com/vim/vim-win32-installer/releases/ |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
192 |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
193 The nightly builds include 32bit and 64bit builds, have most features enabled |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
194 and usually also contain an extra cryptographic signed installer, so Windows |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
195 will not complain. |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
196 |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
197 To use the installer, simply run the exe file. The following switches are |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
198 also supported: > |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
199 |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
200 gvim_<version>.exe /S -> silent install without any dialogues |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
201 gvim_<version>.exe /D=C:\vim -> Install into directory c:\vim |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
202 -> /D must be the last argument |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
203 gvim_<version>.exe /S /D=c:\vim -> silent install into c:\vim |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
204 < |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
205 The default installation directory can alternatively be given by setting the |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
206 $VIM environment variable. |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
207 |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
208 ============================================================================== |
54425c665ba9
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Bram Moolenaar <Bram@vim.org>
parents:
25084
diff
changeset
|
209 8. Win32 mini FAQ *win32-faq* |
7 | 210 |
211 Q. How do I change the font? | |
22 | 212 A. In the GUI version, you can use the 'guifont' option. Example: > |
213 :set guifont=Lucida_Console:h15:cDEFAULT | |
214 < In the console version, you need to set the font of the console itself. | |
7 | 215 You cannot do this from within Vim. |
216 | |
217 Q. How do I type dead keys on Windows NT? | |
218 A. Dead keys work on NT 3.51. Just type them as you would in any other | |
219 application. | |
220 On NT 4.0, you need to make sure that the default locale (set in the | |
221 Keyboard part of the Control Panel) is the same as the currently active | |
222 locale. Otherwise the NT code will get confused and crash! This is a NT | |
223 4.0 problem, not really a Vim problem. | |
224 | |
225 Q. I'm using Vim to edit a symbolically linked file on a Unix NFS file server. | |
226 When I write the file, Vim does not "write through" the symlink. Instead, | |
227 it deletes the symbolic link and creates a new file in its place. Why? | |
228 A. On Unix, Vim is prepared for links (symbolic or hard). A backup copy of | |
229 the original file is made and then the original file is overwritten. This | |
230 assures that all properties of the file remain the same. On non-Unix | |
231 systems, the original file is renamed and a new file is written. Only the | |
232 protection bits are set like the original file. However, this doesn't work | |
233 properly when working on an NFS-mounted file system where links and other | |
234 things exist. The only way to fix this in the current version is not | |
235 making a backup file, by ":set nobackup nowritebackup" |'writebackup'| | |
236 | |
22 | 237 Q. I'm using Vim to edit a file on a Unix file server through Samba. When I |
238 write the file, the owner of the file is changed. Why? | |
239 A. When writing a file Vim renames the original file, this is a backup (in | |
240 case writing the file fails halfway). Then the file is written as a new | |
241 file. Samba then gives it the default owner for the file system, which may | |
242 differ from the original owner. | |
243 To avoid this set the 'backupcopy' option to "yes". Vim will then make a | |
244 copy of the file for the backup, and overwrite the original file. The | |
245 owner isn't changed then. | |
246 | |
7 | 247 Q. How do I get to see the output of ":make" while it's running? |
248 A. Basically what you need is to put a tee program that will copy its input | |
249 (the output from make) to both stdout and to the errorfile. You can find a | |
1125 | 250 copy of tee (and a number of other GNU tools) at |
7 | 251 http://gnuwin32.sourceforge.net or http://unxutils.sourceforge.net |
252 Alternatively, try the more recent Cygnus version of the GNU tools at | |
253 http://www.cygwin.com Other Unix-style tools for Win32 are listed at | |
254 http://directory.google.com/Top/Computers/Software/Operating_Systems/Unix/Win32/ | |
255 When you do get a copy of tee, you'll need to add > | |
256 :set shellpipe=\|\ tee | |
257 < to your _vimrc. | |
258 | |
259 Q. I'm storing files on a remote machine that works with VisionFS, and files | |
260 disappear! | |
261 A. VisionFS can't handle certain dot (.) three letter extension file names. | |
262 SCO declares this behavior required for backwards compatibility with 16bit | |
263 DOS/Windows environments. The two commands below demonstrate the behavior: | |
264 > | |
20241 | 265 echo Hello > file.bat~ |
7 | 266 dir > file.bat |
267 < | |
268 The result is that the "dir" command updates the "file.bat~" file, instead | |
237 | 269 of creating a new "file.bat" file. This same behavior is exhibited in Vim |
7 | 270 when editing an existing file named "foo.bat" because the default behavior |
271 of Vim is to create a temporary file with a '~' character appended to the | |
272 name. When the file is written, it winds up being deleted. | |
273 | |
274 Solution: Add this command to your _vimrc file: > | |
275 :set backupext=.temporary | |
276 | |
277 Q. How do I change the blink rate of the cursor? | |
278 A. You can't! This is a limitation of the NT console. NT 5.0 is reported to | |
279 be able to set the blink rate for all console windows at the same time. | |
280 | |
281 *:!start* | |
11230
a3ea65af63cf
patch 8.0.0501: on MS-Windows ":!start" does not work as expected
Christian Brabandt <cb@256bit.org>
parents:
10264
diff
changeset
|
282 Q. How can I asynchronously run an external command or program, or open a |
a3ea65af63cf
patch 8.0.0501: on MS-Windows ":!start" does not work as expected
Christian Brabandt <cb@256bit.org>
parents:
10264
diff
changeset
|
283 document or URL with its default program? |
a3ea65af63cf
patch 8.0.0501: on MS-Windows ":!start" does not work as expected
Christian Brabandt <cb@256bit.org>
parents:
10264
diff
changeset
|
284 A. When using :! to run an external command, you can run it with "start". For |
a3ea65af63cf
patch 8.0.0501: on MS-Windows ":!start" does not work as expected
Christian Brabandt <cb@256bit.org>
parents:
10264
diff
changeset
|
285 example, to run notepad: > |
a3ea65af63cf
patch 8.0.0501: on MS-Windows ":!start" does not work as expected
Christian Brabandt <cb@256bit.org>
parents:
10264
diff
changeset
|
286 :!start notepad |
a3ea65af63cf
patch 8.0.0501: on MS-Windows ":!start" does not work as expected
Christian Brabandt <cb@256bit.org>
parents:
10264
diff
changeset
|
287 < To open "image.jpg" with the default image viewer: > |
a3ea65af63cf
patch 8.0.0501: on MS-Windows ":!start" does not work as expected
Christian Brabandt <cb@256bit.org>
parents:
10264
diff
changeset
|
288 :!start image.jpg |
a3ea65af63cf
patch 8.0.0501: on MS-Windows ":!start" does not work as expected
Christian Brabandt <cb@256bit.org>
parents:
10264
diff
changeset
|
289 < To open the folder of the current file in Windows Explorer: > |
a3ea65af63cf
patch 8.0.0501: on MS-Windows ":!start" does not work as expected
Christian Brabandt <cb@256bit.org>
parents:
10264
diff
changeset
|
290 :!start %:h |
a3ea65af63cf
patch 8.0.0501: on MS-Windows ":!start" does not work as expected
Christian Brabandt <cb@256bit.org>
parents:
10264
diff
changeset
|
291 < To open the Vim home page with the default browser: > |
a3ea65af63cf
patch 8.0.0501: on MS-Windows ":!start" does not work as expected
Christian Brabandt <cb@256bit.org>
parents:
10264
diff
changeset
|
292 :!start http://www.vim.org/ |
a3ea65af63cf
patch 8.0.0501: on MS-Windows ":!start" does not work as expected
Christian Brabandt <cb@256bit.org>
parents:
10264
diff
changeset
|
293 < |
a3ea65af63cf
patch 8.0.0501: on MS-Windows ":!start" does not work as expected
Christian Brabandt <cb@256bit.org>
parents:
10264
diff
changeset
|
294 Using "start" stops Vim switching to another screen, opening a new console, |
7 | 295 or waiting for the program to complete; it indicates that you are running a |
1624 | 296 program that does not affect the files you are editing. Programs begun |
7 | 297 with :!start do not get passed Vim's open file handles, which means they do |
298 not have to be closed before Vim. | |
299 To avoid this special treatment, use ":! start". | |
2859 | 300 There are two optional arguments (see the next Q): |
3513 | 301 /min the window will be minimized |
302 /b no console window will be opened | |
3082 | 303 You can use only one of these flags at a time. A second one will be |
2859 | 304 treated as the start of the command. |
27804 | 305 *windows-asynchronously* |
2859 | 306 Q. How do I avoid getting a window for programs that I run asynchronously? |
3082 | 307 A. You have two possible solutions depending on what you want: |
2908 | 308 1) You may use the /min flag in order to run program in a minimized state |
309 with no other changes. It will work equally for console and GUI | |
310 applications. | |
311 2) You can use the /b flag to run console applications without creating a | |
2859 | 312 console window for them (GUI applications are not affected). But you |
2908 | 313 should use this flag only if the application you run doesn't require any |
314 input. Otherwise it will get an EOF error because its input stream | |
3082 | 315 (stdin) would be redirected to \\.\NUL (stdout and stderr too). |
2859 | 316 |
317 Example for a console application, run Exuberant ctags: > | |
318 :!start /min ctags -R . | |
27804 | 319 < When it has finished you should see file named "tags" in your current |
2859 | 320 directory. You should notice the window title blinking on your taskbar. |
6180 | 321 This is more noticeable for commands that take longer. |
2859 | 322 Now delete the "tags" file and run this command: > |
323 :!start /b ctags -R . | |
27804 | 324 < You should have the same "tags" file, but this time there will be no |
2859 | 325 blinking on the taskbar. |
326 Example for a GUI application: > | |
327 :!start /min notepad | |
328 :!start /b notepad | |
27804 | 329 < The first command runs notepad minimized and the second one runs it |
2859 | 330 normally. |
7 | 331 |
6259 | 332 *windows-icon* |
333 Q. I don't like the Vim icon, can I change it? | |
334 A. Yes, place your favorite icon in bitmaps/vim.ico in a directory of | |
335 'runtimepath'. For example ~/vimfiles/bitmaps/vim.ico. | |
336 | |
337 | |
14945 | 338 vim:tw=78:ts=8:noet:ft=help:norl: |