annotate runtime/mswin.vim @ 35178:b094a5d09a9d default tip

Added tag v9.1.0412 for changeset f2029f612ae5455b0cfd50d8c0410cf553625adf
author Christian Brabandt <cb@256bit.org>
date Tue, 14 May 2024 11:30:08 +0200
parents 91428f34746f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 " Set options and add mapping such that Vim behaves a lot like MS-Windows
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 "
32770
4027cefc2aab Farewell to Bram and dedicate upcoming Vim 9.1 to him (#12749)
Christian Brabandt <cb@256bit.org>
parents: 15131
diff changeset
3 " Maintainer: The Vim Project <https://github.com/vim/vim>
34545
e893892758b7 runtime(mswin): revert back the check for clipboard_working support
Christian Brabandt <cb@256bit.org>
parents: 34474
diff changeset
4 " Last Change: 2024 Mar 13
32770
4027cefc2aab Farewell to Bram and dedicate upcoming Vim 9.1 to him (#12749)
Christian Brabandt <cb@256bit.org>
parents: 15131
diff changeset
5 " Former Maintainer: Bram Moolenaar <Bram@vim.org>
21
db5102f7e29f updated for version 7.0013
vimboss
parents: 7
diff changeset
6
15131
bc1a8d21c811 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 14372
diff changeset
7 " Bail out if this isn't wanted.
21
db5102f7e29f updated for version 7.0013
vimboss
parents: 7
diff changeset
8 if exists("g:skip_loading_mswin") && g:skip_loading_mswin
db5102f7e29f updated for version 7.0013
vimboss
parents: 7
diff changeset
9 finish
db5102f7e29f updated for version 7.0013
vimboss
parents: 7
diff changeset
10 endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 " set the 'cpoptions' to its Vim default
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 if 1 " only do this when compiled with expression evaluation
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 let s:save_cpo = &cpoptions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 set cpo&vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 " set 'selection', 'selectmode', 'mousemodel' and 'keymodel' for MS-Windows
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 behave mswin
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 " backspace and cursor keys wrap to previous/next line
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 set backspace=indent,eol,start whichwrap+=<,>,[,]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 " backspace in Visual mode deletes selection
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 vnoremap <BS> d
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26
34545
e893892758b7 runtime(mswin): revert back the check for clipboard_working support
Christian Brabandt <cb@256bit.org>
parents: 34474
diff changeset
27 " the better solution would be to use has("clipboard_working"),
e893892758b7 runtime(mswin): revert back the check for clipboard_working support
Christian Brabandt <cb@256bit.org>
parents: 34474
diff changeset
28 " but that may not be available yet while starting up, so let's just check if
e893892758b7 runtime(mswin): revert back the check for clipboard_working support
Christian Brabandt <cb@256bit.org>
parents: 34474
diff changeset
29 " clipboard support has been compiled in and assume it will be working :/
e893892758b7 runtime(mswin): revert back the check for clipboard_working support
Christian Brabandt <cb@256bit.org>
parents: 34474
diff changeset
30 if has("clipboard")
10863
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
31 " CTRL-X and SHIFT-Del are Cut
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
32 vnoremap <C-X> "+x
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
33 vnoremap <S-Del> "+x
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34
10863
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
35 " CTRL-C and CTRL-Insert are Copy
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
36 vnoremap <C-C> "+y
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
37 vnoremap <C-Insert> "+y
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38
10863
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
39 " CTRL-V and SHIFT-Insert are Paste
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
40 map <C-V> "+gP
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
41 map <S-Insert> "+gP
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42
10863
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
43 cmap <C-V> <C-R>+
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
44 cmap <S-Insert> <C-R>+
34474
1d0b21fc9df1 runtime(mswin): Use unnamed register when clipboard not working (#13813)
Christian Brabandt <cb@256bit.org>
parents: 32770
diff changeset
45 else
34545
e893892758b7 runtime(mswin): revert back the check for clipboard_working support
Christian Brabandt <cb@256bit.org>
parents: 34474
diff changeset
46 " Use the unnamed register when clipboard support not available
34474
1d0b21fc9df1 runtime(mswin): Use unnamed register when clipboard not working (#13813)
Christian Brabandt <cb@256bit.org>
parents: 32770
diff changeset
47
1d0b21fc9df1 runtime(mswin): Use unnamed register when clipboard not working (#13813)
Christian Brabandt <cb@256bit.org>
parents: 32770
diff changeset
48 " CTRL-X and SHIFT-Del are Cut
1d0b21fc9df1 runtime(mswin): Use unnamed register when clipboard not working (#13813)
Christian Brabandt <cb@256bit.org>
parents: 32770
diff changeset
49 vnoremap <C-X> x
1d0b21fc9df1 runtime(mswin): Use unnamed register when clipboard not working (#13813)
Christian Brabandt <cb@256bit.org>
parents: 32770
diff changeset
50 vnoremap <S-Del> x
1d0b21fc9df1 runtime(mswin): Use unnamed register when clipboard not working (#13813)
Christian Brabandt <cb@256bit.org>
parents: 32770
diff changeset
51
1d0b21fc9df1 runtime(mswin): Use unnamed register when clipboard not working (#13813)
Christian Brabandt <cb@256bit.org>
parents: 32770
diff changeset
52 " CTRL-C and CTRL-Insert are Copy
1d0b21fc9df1 runtime(mswin): Use unnamed register when clipboard not working (#13813)
Christian Brabandt <cb@256bit.org>
parents: 32770
diff changeset
53 vnoremap <C-C> y
1d0b21fc9df1 runtime(mswin): Use unnamed register when clipboard not working (#13813)
Christian Brabandt <cb@256bit.org>
parents: 32770
diff changeset
54 vnoremap <C-Insert> y
1d0b21fc9df1 runtime(mswin): Use unnamed register when clipboard not working (#13813)
Christian Brabandt <cb@256bit.org>
parents: 32770
diff changeset
55
1d0b21fc9df1 runtime(mswin): Use unnamed register when clipboard not working (#13813)
Christian Brabandt <cb@256bit.org>
parents: 32770
diff changeset
56 " CTRL-V and SHIFT-Insert are Paste
1d0b21fc9df1 runtime(mswin): Use unnamed register when clipboard not working (#13813)
Christian Brabandt <cb@256bit.org>
parents: 32770
diff changeset
57 noremap <C-V> gP
1d0b21fc9df1 runtime(mswin): Use unnamed register when clipboard not working (#13813)
Christian Brabandt <cb@256bit.org>
parents: 32770
diff changeset
58 noremap <S-Insert> gP
1d0b21fc9df1 runtime(mswin): Use unnamed register when clipboard not working (#13813)
Christian Brabandt <cb@256bit.org>
parents: 32770
diff changeset
59
1d0b21fc9df1 runtime(mswin): Use unnamed register when clipboard not working (#13813)
Christian Brabandt <cb@256bit.org>
parents: 32770
diff changeset
60 inoremap <C-V> <C-R>"
1d0b21fc9df1 runtime(mswin): Use unnamed register when clipboard not working (#13813)
Christian Brabandt <cb@256bit.org>
parents: 32770
diff changeset
61 inoremap <S-Insert> <C-R>"
10863
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
62 endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 " Pasting blockwise and linewise selections is not possible in Insert and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 " Visual mode without the +virtualedit feature. They are pasted as if they
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 " were characterwise instead.
720
e180933b876a updated for version 7.0219
vimboss
parents: 654
diff changeset
67 " Uses the paste.vim autoload script.
3682
11d40fc82f11 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 819
diff changeset
68 " Use CTRL-G u to have CTRL-Z only undo the paste.
720
e180933b876a updated for version 7.0219
vimboss
parents: 654
diff changeset
69
34556
91428f34746f runtime(mswin): still another clipboard_working test
Christian Brabandt <cb@256bit.org>
parents: 34545
diff changeset
70 if has("clipboard")
10863
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
71 exe 'inoremap <script> <C-V> <C-G>u' . paste#paste_cmd['i']
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
72 exe 'vnoremap <script> <C-V> ' . paste#paste_cmd['v']
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
73 endif
720
e180933b876a updated for version 7.0219
vimboss
parents: 654
diff changeset
74
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 imap <S-Insert> <C-V>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 vmap <S-Insert> <C-V>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 " Use CTRL-Q to do what CTRL-V used to do
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 noremap <C-Q> <C-V>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80
14372
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 12708
diff changeset
81 " Use CTRL-S for saving, also in Insert mode (<C-O> doesn't work well when
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 12708
diff changeset
82 " using completions).
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83 noremap <C-S> :update<CR>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 vnoremap <C-S> <C-C>:update<CR>
14372
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 12708
diff changeset
85 inoremap <C-S> <Esc>:update<CR>gi
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 " For CTRL-V to work autoselect must be off.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 " On Unix we have two selections, autoselect can be used.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89 if !has("unix")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90 set guioptions-=a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 " CTRL-Z is Undo; not in cmdline though
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94 noremap <C-Z> u
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 inoremap <C-Z> <C-O>u
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 " CTRL-Y is Redo (although not repeat); not in cmdline though
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 noremap <C-Y> <C-R>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99 inoremap <C-Y> <C-O><C-R>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101 " Alt-Space is System menu
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 if has("gui")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103 noremap <M-Space> :simalt ~<CR>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104 inoremap <M-Space> <C-O>:simalt ~<CR>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105 cnoremap <M-Space> <C-C>:simalt ~<CR>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 " CTRL-A is Select all
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 noremap <C-A> gggH<C-O>G
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110 inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 cnoremap <C-A> <C-C>gggH<C-O>G
816
4a79d6d376f0 updated for version 7.0c02
vimboss
parents: 720
diff changeset
112 onoremap <C-A> <C-C>gggH<C-O>G
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 816
diff changeset
113 snoremap <C-A> <C-C>gggH<C-O>G
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 816
diff changeset
114 xnoremap <C-A> <C-C>ggVG
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 " CTRL-Tab is Next window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117 noremap <C-Tab> <C-W>w
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
118 inoremap <C-Tab> <C-O><C-W>w
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119 cnoremap <C-Tab> <C-C><C-W>w
816
4a79d6d376f0 updated for version 7.0c02
vimboss
parents: 720
diff changeset
120 onoremap <C-Tab> <C-C><C-W>w
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
121
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122 " CTRL-F4 is Close window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123 noremap <C-F4> <C-W>c
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124 inoremap <C-F4> <C-O><C-W>c
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125 cnoremap <C-F4> <C-C><C-W>c
816
4a79d6d376f0 updated for version 7.0c02
vimboss
parents: 720
diff changeset
126 onoremap <C-F4> <C-C><C-W>c
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127
10863
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
128 if has("gui")
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
129 " CTRL-F is the search dialog
12708
77960063e2e7 patch 8.0.1232: MS-Windows users are confused about default mappings
Christian Brabandt <cb@256bit.org>
parents: 10863
diff changeset
130 noremap <expr> <C-F> has("gui_running") ? ":promptfind\<CR>" : "/"
77960063e2e7 patch 8.0.1232: MS-Windows users are confused about default mappings
Christian Brabandt <cb@256bit.org>
parents: 10863
diff changeset
131 inoremap <expr> <C-F> has("gui_running") ? "\<C-\>\<C-O>:promptfind\<CR>" : "\<C-\>\<C-O>/"
77960063e2e7 patch 8.0.1232: MS-Windows users are confused about default mappings
Christian Brabandt <cb@256bit.org>
parents: 10863
diff changeset
132 cnoremap <expr> <C-F> has("gui_running") ? "\<C-\>\<C-C>:promptfind\<CR>" : "\<C-\>\<C-O>/"
10863
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
133
12708
77960063e2e7 patch 8.0.1232: MS-Windows users are confused about default mappings
Christian Brabandt <cb@256bit.org>
parents: 10863
diff changeset
134 " CTRL-H is the replace dialog,
77960063e2e7 patch 8.0.1232: MS-Windows users are confused about default mappings
Christian Brabandt <cb@256bit.org>
parents: 10863
diff changeset
135 " but in console, it might be backspace, so don't map it there
77960063e2e7 patch 8.0.1232: MS-Windows users are confused about default mappings
Christian Brabandt <cb@256bit.org>
parents: 10863
diff changeset
136 nnoremap <expr> <C-H> has("gui_running") ? ":promptrepl\<CR>" : "\<C-H>"
77960063e2e7 patch 8.0.1232: MS-Windows users are confused about default mappings
Christian Brabandt <cb@256bit.org>
parents: 10863
diff changeset
137 inoremap <expr> <C-H> has("gui_running") ? "\<C-\>\<C-O>:promptrepl\<CR>" : "\<C-H>"
77960063e2e7 patch 8.0.1232: MS-Windows users are confused about default mappings
Christian Brabandt <cb@256bit.org>
parents: 10863
diff changeset
138 cnoremap <expr> <C-H> has("gui_running") ? "\<C-\>\<C-C>:promptrepl\<CR>" : "\<C-H>"
10863
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
139 endif
9130644aec5c patch 8.0.0321: errors when trying to use scripts in tiny version
Christian Brabandt <cb@256bit.org>
parents: 3713
diff changeset
140
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141 " restore 'cpoptions'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142 set cpo&
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143 if 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
144 let &cpoptions = s:save_cpo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145 unlet s:save_cpo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
146 endif