annotate runtime/doc/os_win32.txt @ 25084:beff72446e2e v8.2.3079

patch 8.2.3079: Powershell core not supported by default Commit: https://github.com/vim/vim/commit/a3d1b29bd36487167c98b3cefa30f06c529e412d Author: Mike Williams <mikew@globalgraphics.com> Date: Wed Jun 30 20:56:00 2021 +0200 patch 8.2.3079: Powershell core not supported by default Problem: Powershell core not supported by default. Solution: Set option defaults for "pwsh". (Mike Williams, closes https://github.com/vim/vim/issues/8481)
author Bram Moolenaar <Bram@vim.org>
date Wed, 30 Jun 2021 21:00:05 +0200
parents 5c98ea5f5d6e
children 54425c665ba9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
24387
5c98ea5f5d6e Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 20241
diff changeset
1 *os_win32.txt* For Vim version 8.2. Last change: 2021 Apr 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
10264
c036c0f636d5 commit https://github.com/vim/vim/commit/cea912af725c54f4727a0565e31661f6b29c6bb1
Christian Brabandt <cb@256bit.org>
parents: 10198
diff changeset
10 The Win32 version of Vim works on Windows XP, Vista, 7, 8 and 10. There are
c036c0f636d5 commit https://github.com/vim/vim/commit/cea912af725c54f4727a0565e31661f6b29c6bb1
Christian Brabandt <cb@256bit.org>
parents: 10198
diff changeset
11 both console and GUI versions.
2364
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
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 1. Known problems |win32-problems|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 2. Startup |win32-startup|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 3. Restore screen contents |win32-restore|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 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
19 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
20 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
21 7. Win32 mini FAQ |win32-faq|
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 Additionally, there are a number of common Win32 and DOS items:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 File locations |dos-locations|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 Using backslashes |dos-backslash|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 Standard mappings |dos-standard-mappings|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 Screen output and colors |dos-colors|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 File formats |dos-file-formats|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 :cd command |dos-:cd|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 Interrupting |dos-CTRL-Break|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 Temp files |dos-temp-files|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 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
33 PowerShell defaults |dos-powershell|
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 Win32 GUI |gui-w32|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 Credits:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 The Win32 version was written by George V. Reilly <george@reilly.org>.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39 The original Windows NT port was done by Roger Knobbe <RogerK@wonderware.com>.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 The GUI version was made by George V. Reilly and Robert Webb.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41
2217
120502692d82 Improve the MS-Windows installer.
Bram Moolenaar <bram@vim.org>
parents: 2154
diff changeset
42 For compiling see "src/INSTALLpc.txt". *win32-compiling*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 ==============================================================================
10264
c036c0f636d5 commit https://github.com/vim/vim/commit/cea912af725c54f4727a0565e31661f6b29c6bb1
Christian Brabandt <cb@256bit.org>
parents: 10198
diff changeset
45 1. Known problems *win32-problems*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47 When doing file name completion, Vim also finds matches for the short file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 name. But Vim will still find and use the corresponding long file name. For
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 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
50 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
51
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53 2. Startup *win32-startup*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 Current directory *win32-curdir*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57 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
58 (starts with "x:\"), Vim assumes it was started from the file explorer and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 will set the current directory to where that file is. To avoid this when
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 typing a command to start Vim, use a forward slash instead of a backslash.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 Example: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 vim c:\text\files\foo.txt
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 Will change to the "C:\text\files" directory. >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67 vim c:/text\files\foo.txt
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69 Will use the current directory.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72 Term option *win32-term*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 The only kind of terminal type that the Win32 version of Vim understands is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 "win32", which is built-in. If you set 'term' to anything else, you will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 probably get very strange behavior from Vim. Therefore Vim does not obtain
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 the default value of 'term' from the environment variable "TERM".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 810
diff changeset
79 $PATH *win32-PATH*
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 810
diff changeset
80
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 810
diff changeset
81 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
82 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
83 executable() returns 1 the executable can actually be executed.
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 810
diff changeset
84
12756
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
85 Command line arguments *win32-cmdargs*
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
86
24387
5c98ea5f5d6e Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 20241
diff changeset
87 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
88 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
89 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
90 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
91
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
92 The basic rules are: *win32-backslashes*
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
93 a) A parameter is a sequence of graphic characters.
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
94 b) Parameters are separated by white space.
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
95 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
96 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
97 is special. The effective number of backslashes is halved, rounded
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
98 down. An even number of backslashes reverses the acceptability of
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
99 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
100 double quote.
8440
4c6ad81d41fe commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents: 6259
diff changeset
101
12756
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
102 So:
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
103 " is a special double quote
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
104 \" is a literal double quote
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
105 \\" is a literal backslash and a special double quote
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
106 \\\" is a literal backslash and a literal double quote
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
107 \\\\" is 2 literal backslashes and a special double quote
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
108 \\\\\" is 2 literal backslashes and a literal double quote
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
109 etc.
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
110
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
111 Example: >
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
112 vim "C:\My Music\freude" +"set ignorecase" +/"\"foo\\" +\"bar\\\"
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
113
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
114 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
115 set ignorecase; /"foo\ and /bar\"
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
116
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
117 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
118 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
119
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
120 *win32-quotes*
3b26420fc639 Long overdue runtime update.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
121 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
122 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
123 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
124 vim -c "echo 'foo\"bar'"
4c6ad81d41fe commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents: 6259
diff changeset
125
4c6ad81d41fe commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents: 6259
diff changeset
126 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
127 vim -c "echo 'foo"""bar'"
4c6ad81d41fe commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents: 6259
diff changeset
128
4c6ad81d41fe commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents: 6259
diff changeset
129 The quotation rules are:
4c6ad81d41fe commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents: 6259
diff changeset
130
4c6ad81d41fe commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents: 6259
diff changeset
131 1. A `"` starts quotation.
4c6ad81d41fe commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents: 6259
diff changeset
132 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
133 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
134
4c6ad81d41fe commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents: 6259
diff changeset
135 Examples, with [] around an argument:
4c6ad81d41fe commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents: 6259
diff changeset
136 "foo" -> [foo]
4c6ad81d41fe commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents: 6259
diff changeset
137 "foo"" -> [foo"]
4c6ad81d41fe commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents: 6259
diff changeset
138 "foo"bar -> [foobar]
4c6ad81d41fe commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents: 6259
diff changeset
139 "foo" bar -> [foo], [bar]
4c6ad81d41fe commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents: 6259
diff changeset
140 "foo""bar -> [foo"bar]
4c6ad81d41fe commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents: 6259
diff changeset
141 "foo"" bar -> [foo"], [bar]
4c6ad81d41fe commit https://github.com/vim/vim/commit/5f148ec0b5a6cedd9129b3abac351034b83cc4f7
Christian Brabandt <cb@256bit.org>
parents: 6259
diff changeset
142 "foo"""bar" -> [foo"bar]
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
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
146 3. Restore screen contents *win32-restore*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
147
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148 When 'restorescreen' is set (which is the default), Vim will restore the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149 original contents of the console when exiting or when executing external
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
150 commands. If you don't want this, use ":set nors". |'restorescreen'|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153 4. Using the mouse *win32-mouse*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
154
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 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
156 mouse, the middle button can be emulated by pressing both left and right
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
157 buttons simultaneously - but note that in the Win32 GUI, if you have the right
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
158 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
159 pressing the left button first. |mouse-using|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
160
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
161 When the mouse doesn't work, try disabling the "Quick Edit Mode" feature of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
162 the console.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
163
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
164 ==============================================================================
10264
c036c0f636d5 commit https://github.com/vim/vim/commit/cea912af725c54f4727a0565e31661f6b29c6bb1
Christian Brabandt <cb@256bit.org>
parents: 10198
diff changeset
165 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
166 *windows95* *windows98* *windowsme*
c036c0f636d5 commit https://github.com/vim/vim/commit/cea912af725c54f4727a0565e31661f6b29c6bb1
Christian Brabandt <cb@256bit.org>
parents: 10198
diff changeset
167 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
168 you will need to get a version older than that.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
169
10264
c036c0f636d5 commit https://github.com/vim/vim/commit/cea912af725c54f4727a0565e31661f6b29c6bb1
Christian Brabandt <cb@256bit.org>
parents: 10198
diff changeset
170 ==============================================================================
c036c0f636d5 commit https://github.com/vim/vim/commit/cea912af725c54f4727a0565e31661f6b29c6bb1
Christian Brabandt <cb@256bit.org>
parents: 10198
diff changeset
171 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
172
14123
583bf95b6c84 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
173 *win32s* *windows-3.1* *gui-w32s* *win16*
11473
bd6ff5246c71 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 11262
diff changeset
174 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
175 Support was removed in patch 7.4.1364.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
176
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177 ==============================================================================
10264
c036c0f636d5 commit https://github.com/vim/vim/commit/cea912af725c54f4727a0565e31661f6b29c6bb1
Christian Brabandt <cb@256bit.org>
parents: 10198
diff changeset
178 7. Win32 mini FAQ *win32-faq*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
179
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
180 Q. How do I change the font?
22
cc049b00ee70 updated for version 7.0014
vimboss
parents: 7
diff changeset
181 A. In the GUI version, you can use the 'guifont' option. Example: >
cc049b00ee70 updated for version 7.0014
vimboss
parents: 7
diff changeset
182 :set guifont=Lucida_Console:h15:cDEFAULT
cc049b00ee70 updated for version 7.0014
vimboss
parents: 7
diff changeset
183 < 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
184 You cannot do this from within Vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
185
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
186 Q. How do I type dead keys on Windows NT?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
187 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
188 application.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
189 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
190 Keyboard part of the Control Panel) is the same as the currently active
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
191 locale. Otherwise the NT code will get confused and crash! This is a NT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
192 4.0 problem, not really a Vim problem.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
193
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
194 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
195 When I write the file, Vim does not "write through" the symlink. Instead,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
196 it deletes the symbolic link and creates a new file in its place. Why?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
197 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
198 the original file is made and then the original file is overwritten. This
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
199 assures that all properties of the file remain the same. On non-Unix
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
200 systems, the original file is renamed and a new file is written. Only the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
201 protection bits are set like the original file. However, this doesn't work
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
202 properly when working on an NFS-mounted file system where links and other
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
203 things exist. The only way to fix this in the current version is not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
204 making a backup file, by ":set nobackup nowritebackup" |'writebackup'|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
205
22
cc049b00ee70 updated for version 7.0014
vimboss
parents: 7
diff changeset
206 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
207 write the file, the owner of the file is changed. Why?
cc049b00ee70 updated for version 7.0014
vimboss
parents: 7
diff changeset
208 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
209 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
210 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
211 differ from the original owner.
cc049b00ee70 updated for version 7.0014
vimboss
parents: 7
diff changeset
212 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
213 copy of the file for the backup, and overwrite the original file. The
cc049b00ee70 updated for version 7.0014
vimboss
parents: 7
diff changeset
214 owner isn't changed then.
cc049b00ee70 updated for version 7.0014
vimboss
parents: 7
diff changeset
215
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
216 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
217 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
218 (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
219 copy of tee (and a number of other GNU tools) at
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
220 http://gnuwin32.sourceforge.net or http://unxutils.sourceforge.net
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
221 Alternatively, try the more recent Cygnus version of the GNU tools at
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
222 http://www.cygwin.com Other Unix-style tools for Win32 are listed at
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
223 http://directory.google.com/Top/Computers/Software/Operating_Systems/Unix/Win32/
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
224 When you do get a copy of tee, you'll need to add >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
225 :set shellpipe=\|\ tee
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
226 < to your _vimrc.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
227
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
228 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
229 disappear!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
230 A. VisionFS can't handle certain dot (.) three letter extension file names.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
231 SCO declares this behavior required for backwards compatibility with 16bit
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
232 DOS/Windows environments. The two commands below demonstrate the behavior:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
233 >
20241
56265f711890 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 19125
diff changeset
234 echo Hello > file.bat~
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
235 dir > file.bat
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
236 <
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
237 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
238 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
239 when editing an existing file named "foo.bat" because the default behavior
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
240 of Vim is to create a temporary file with a '~' character appended to the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
241 name. When the file is written, it winds up being deleted.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
242
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
243 Solution: Add this command to your _vimrc file: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
244 :set backupext=.temporary
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
245
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
246 Q. How do I change the blink rate of the cursor?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
247 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
248 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
249
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
250 *:!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
251 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
252 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
253 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
254 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
255 :!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
256 < 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
257 :!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
258 < 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
259 :!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
260 < 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
261 :!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
262 <
a3ea65af63cf patch 8.0.0501: on MS-Windows ":!start" does not work as expected
Christian Brabandt <cb@256bit.org>
parents: 10264
diff changeset
263 Using "start" stops Vim switching to another screen, opening a new console,
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
264 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
265 program that does not affect the files you are editing. Programs begun
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
266 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
267 not have to be closed before Vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
268 To avoid this special treatment, use ":! start".
2859
ce1dce2af2a3 updated for version 7.3.203
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
269 There are two optional arguments (see the next Q):
3513
1b584a6f446c Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3082
diff changeset
270 /min the window will be minimized
1b584a6f446c Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3082
diff changeset
271 /b no console window will be opened
3082
3502a7f991fc Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2908
diff changeset
272 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
273 treated as the start of the command.
ce1dce2af2a3 updated for version 7.3.203
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
274
ce1dce2af2a3 updated for version 7.3.203
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
275 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
276 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
277 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
278 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
279 applications.
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2859
diff changeset
280 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
281 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
282 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
283 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
284 (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
285
ce1dce2af2a3 updated for version 7.3.203
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
286 Example for a console application, run Exuberant ctags: >
ce1dce2af2a3 updated for version 7.3.203
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
287 :!start /min ctags -R .
ce1dce2af2a3 updated for version 7.3.203
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
288 < 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
289 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
290 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
291 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
292 :!start /b ctags -R .
ce1dce2af2a3 updated for version 7.3.203
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
293 < 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
294 blinking on the taskbar.
ce1dce2af2a3 updated for version 7.3.203
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
295 Example for a GUI application: >
ce1dce2af2a3 updated for version 7.3.203
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
296 :!start /min notepad
ce1dce2af2a3 updated for version 7.3.203
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
297 :!start /b notepad
ce1dce2af2a3 updated for version 7.3.203
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
298 < 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
299 normally.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
300
6259
bd18da914be9 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6180
diff changeset
301 *windows-icon*
bd18da914be9 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6180
diff changeset
302 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
303 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
304 'runtimepath'. For example ~/vimfiles/bitmaps/vim.ico.
bd18da914be9 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6180
diff changeset
305
bd18da914be9 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6180
diff changeset
306
14945
4ee65b4150fd Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14421
diff changeset
307 vim:tw=78:ts=8:noet:ft=help:norl: