mirror of
https://github.com/zoriya/vim.git
synced 2025-12-20 14:15:18 +00:00
Compare commits
682 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4029cabbe7 | ||
|
|
d0fe620cbb | ||
|
|
c0913d023b | ||
|
|
2d870f8d9e | ||
|
|
29d2f45c88 | ||
|
|
c5e6a7179d | ||
|
|
6cd42db9dc | ||
|
|
f6c177ab3a | ||
|
|
21e51221f2 | ||
|
|
476268c387 | ||
|
|
c0d670ce16 | ||
|
|
0684e36a7e | ||
|
|
af0df47a76 | ||
|
|
e0de171ecd | ||
|
|
7f76494aac | ||
|
|
ea87069d78 | ||
|
|
38bd8de551 | ||
|
|
1cbfc9914d | ||
|
|
a452b808b4 | ||
|
|
c478ee3d83 | ||
|
|
57cf4973a2 | ||
|
|
4324d87a44 | ||
|
|
4b8a065145 | ||
|
|
004d9b00ba | ||
|
|
da7c20c953 | ||
|
|
f0068c5154 | ||
|
|
23515b4ef7 | ||
|
|
287153c5d4 | ||
|
|
b46f57e87b | ||
|
|
f5452691ba | ||
|
|
ce2c5444e2 | ||
|
|
f8ca03bf91 | ||
|
|
ebec3e29b8 | ||
|
|
dc234caff2 | ||
|
|
4a44120e3d | ||
|
|
4d05af0a64 | ||
|
|
aeb313f355 | ||
|
|
6ee874d378 | ||
|
|
3482be6a33 | ||
|
|
fccbf068f8 | ||
|
|
ce7be3a0e6 | ||
|
|
2472a74be4 | ||
|
|
d49a35a1c3 | ||
|
|
c2ca935d26 | ||
|
|
47a2abf0bc | ||
|
|
34c54eb6cb | ||
|
|
6bed0dbc85 | ||
|
|
d653293c80 | ||
|
|
3a3b691042 | ||
|
|
36fe7b287e | ||
|
|
5dc4e2f883 | ||
|
|
448465e687 | ||
|
|
5ee0981fb5 | ||
|
|
ff94bd9e47 | ||
|
|
813196784a | ||
|
|
a09bee322e | ||
|
|
c9f8b849b6 | ||
|
|
8e6be34338 | ||
|
|
142f23544c | ||
|
|
60bc8e7244 | ||
|
|
9e40c4b15e | ||
|
|
f637bceb61 | ||
|
|
792f786aad | ||
|
|
6abdcf8285 | ||
|
|
dcbab75db3 | ||
|
|
18dc355395 | ||
|
|
4b2ce1297e | ||
|
|
5546688fb6 | ||
|
|
896ad2c33e | ||
|
|
9681f71392 | ||
|
|
e79cdb69a4 | ||
|
|
4466ad6baa | ||
|
|
2d718267f4 | ||
|
|
d91467f830 | ||
|
|
c71ee829ef | ||
|
|
95388e3179 | ||
|
|
eeece9e488 | ||
|
|
bebaa0d5c0 | ||
|
|
80d868ec25 | ||
|
|
2ea95b61f4 | ||
|
|
67d1c68f09 | ||
|
|
c6ca9f3a29 | ||
|
|
2bede173a1 | ||
|
|
ee8b787bcd | ||
|
|
79cdf80bed | ||
|
|
d92cc130fb | ||
|
|
9950280d37 | ||
|
|
8e02faf4e9 | ||
|
|
382319211a | ||
|
|
032f40afb8 | ||
|
|
17ab28daa0 | ||
|
|
88774a30c0 | ||
|
|
c77534c303 | ||
|
|
b3a01946b3 | ||
|
|
1efefda623 | ||
|
|
52bf81c2d5 | ||
|
|
0ba48e8c27 | ||
|
|
fc74d03e76 | ||
|
|
e6329e4c55 | ||
|
|
27f4f6baee | ||
|
|
8adc8d9b73 | ||
|
|
193f6201b4 | ||
|
|
714cbe5b21 | ||
|
|
c4390fe6c0 | ||
|
|
50dc3ecc64 | ||
|
|
4792a679f9 | ||
|
|
ca359cbedd | ||
|
|
6a07644db3 | ||
|
|
2dfae04f37 | ||
|
|
e41decc892 | ||
|
|
6453cc8078 | ||
|
|
a065a14115 | ||
|
|
02764713a7 | ||
|
|
33aecb1f2c | ||
|
|
f4d61bc559 | ||
|
|
2ce7790348 | ||
|
|
8496c9eadb | ||
|
|
659bb2275e | ||
|
|
47c5ea44b9 | ||
|
|
957cf67d50 | ||
|
|
ea2d407f9c | ||
|
|
6f6244855f | ||
|
|
bbf9f344af | ||
|
|
29b281ba8d | ||
|
|
232f4612e2 | ||
|
|
5e1f22ff61 | ||
|
|
c56936e2ba | ||
|
|
f883508e36 | ||
|
|
ea696852e7 | ||
|
|
8cebd43e97 | ||
|
|
59d8e56e04 | ||
|
|
cbcd9cbd77 | ||
|
|
46f479c756 | ||
|
|
faebda8cc1 | ||
|
|
927495b1fe | ||
|
|
32e5ec0b01 | ||
|
|
85d9b03f84 | ||
|
|
22286895fc | ||
|
|
0fd797eacd | ||
|
|
3132cddd20 | ||
|
|
00806bceb6 | ||
|
|
b885b435d1 | ||
|
|
fabc3ca896 | ||
|
|
b4d16cb11d | ||
|
|
66669fc664 | ||
|
|
f65b35b446 | ||
|
|
631e8f9345 | ||
|
|
c7f7f6db3e | ||
|
|
64ffa9b5fb | ||
|
|
9c13f76275 | ||
|
|
348be7ed07 | ||
|
|
4778b4d0e1 | ||
|
|
c136a3528b | ||
|
|
35efa22ff2 | ||
|
|
0d90e728fe | ||
|
|
6fd3a4ba23 | ||
|
|
36113e46b4 | ||
|
|
dbfa795d8b | ||
|
|
399db046ed | ||
|
|
97a19005e1 | ||
|
|
3b6d57f2ce | ||
|
|
a46765a797 | ||
|
|
645cd3eb1f | ||
|
|
388908352f | ||
|
|
578f4cc7d0 | ||
|
|
e88c8e802c | ||
|
|
55e29611d2 | ||
|
|
963734e316 | ||
|
|
fbcbffe1ad | ||
|
|
749bc9521d | ||
|
|
0289065e41 | ||
|
|
cd030c4b60 | ||
|
|
d66960bf57 | ||
|
|
b2620202c7 | ||
|
|
6d967125ad | ||
|
|
086fc9a585 | ||
|
|
4f6b6ed208 | ||
|
|
185577e47e | ||
|
|
dcdd42a8cc | ||
|
|
cf4d454df0 | ||
|
|
28ee892ac4 | ||
|
|
3e2534ed1a | ||
|
|
159563b439 | ||
|
|
171fb923b8 | ||
|
|
6cf7e3b026 | ||
|
|
b4bcea474d | ||
|
|
70cf45810c | ||
|
|
68a48ee55e | ||
|
|
977fd0b327 | ||
|
|
caf73dcfad | ||
|
|
cb80aa2d53 | ||
|
|
8133cc6bf4 | ||
|
|
c8970b9464 | ||
|
|
f9d51354de | ||
|
|
a360dbe3b6 | ||
|
|
4882d98339 | ||
|
|
89b693e562 | ||
|
|
37e4e03c67 | ||
|
|
e974fa7b2b | ||
|
|
4ff2f2fb6b | ||
|
|
02194d2bd5 | ||
|
|
67def64a4e | ||
|
|
e100440158 | ||
|
|
5661ed6c83 | ||
|
|
e1be11864d | ||
|
|
210681c509 | ||
|
|
f4c6e1e75c | ||
|
|
8ded5b647a | ||
|
|
9c24cd11e2 | ||
|
|
683581eb49 | ||
|
|
081db1a66d | ||
|
|
b07a39de48 | ||
|
|
e6e70a10f1 | ||
|
|
15ab48f088 | ||
|
|
371806e164 | ||
|
|
2733779a1a | ||
|
|
a1224cb706 | ||
|
|
4ce5fe4c87 | ||
|
|
c58f5456e5 | ||
|
|
692d1a51e7 | ||
|
|
af7a9066a9 | ||
|
|
ca17453e73 | ||
|
|
8a99e66b4f | ||
|
|
b8f519e538 | ||
|
|
94738d8fab | ||
|
|
3da855c8e2 | ||
|
|
b53e13a91a | ||
|
|
20d89e0ac6 | ||
|
|
e9f9f16387 | ||
|
|
c95940c06a | ||
|
|
39ca4127a0 | ||
|
|
955347cc7e | ||
|
|
9a13e185e5 | ||
|
|
80b0e5ea11 | ||
|
|
66fa5fd54f | ||
|
|
1dcae59957 | ||
|
|
334a8b4bde | ||
|
|
e3c65ce4e5 | ||
|
|
2ea79ad835 | ||
|
|
a2c026d0fd | ||
|
|
335e671322 | ||
|
|
352134bbfb | ||
|
|
403dc31f5a | ||
|
|
218450ad5e | ||
|
|
9668cc57a1 | ||
|
|
e13bdec6b9 | ||
|
|
1e021e63c5 | ||
|
|
7a66a17190 | ||
|
|
ffdf8adfa8 | ||
|
|
27491cd3ef | ||
|
|
a604ccc959 | ||
|
|
ed234f24f3 | ||
|
|
74f8eece5e | ||
|
|
209f0208f7 | ||
|
|
fbbcd00367 | ||
|
|
8d739de43b | ||
|
|
3d30af8783 | ||
|
|
b9616af23f | ||
|
|
21cbe175ee | ||
|
|
2b9b17ea5d | ||
|
|
f4e8cdd3d2 | ||
|
|
fc8aa6d02d | ||
|
|
93be1644db | ||
|
|
c07b7f701f | ||
|
|
62cd26a229 | ||
|
|
6eb36ade98 | ||
|
|
efc0d94afc | ||
|
|
204ade6bcb | ||
|
|
aab9fada4a | ||
|
|
ef16c90423 | ||
|
|
4f4d51a942 | ||
|
|
c6ed254d9f | ||
|
|
bd6428b9e7 | ||
|
|
1b1e9df78b | ||
|
|
10a1a534d1 | ||
|
|
9becdf2b98 | ||
|
|
d747548c66 | ||
|
|
fcdc5d83fb | ||
|
|
28f224b2c1 | ||
|
|
f57497276b | ||
|
|
1a73923705 | ||
|
|
820d55a50b | ||
|
|
85d5e2b723 | ||
|
|
8956023920 | ||
|
|
e8211a33dc | ||
|
|
11416321ff | ||
|
|
6a61421f64 | ||
|
|
922acbda3d | ||
|
|
10c65860f8 | ||
|
|
0876c78527 | ||
|
|
9a033d7b18 | ||
|
|
d7e5e9430a | ||
|
|
4e2114e988 | ||
|
|
f12f0022e6 | ||
|
|
349f609f89 | ||
|
|
253b16a4ab | ||
|
|
80361a5f2b | ||
|
|
50c4e9e08f | ||
|
|
afe8cf6170 | ||
|
|
44aefffaad | ||
|
|
55b419b871 | ||
|
|
dda749ce85 | ||
|
|
d1ad99b654 | ||
|
|
1310660557 | ||
|
|
6abd3dc257 | ||
|
|
7b5d544269 | ||
|
|
2bb2658bef | ||
|
|
92f26c256e | ||
|
|
c8fe645c19 | ||
|
|
588d241d44 | ||
|
|
1bdae40323 | ||
|
|
794771cfd8 | ||
|
|
c1f0066b64 | ||
|
|
016faaa1b2 | ||
|
|
795aaa1e84 | ||
|
|
8a9bc95eae | ||
|
|
3f974ff45e | ||
|
|
fa79be6b10 | ||
|
|
bdf931c25b | ||
|
|
74273e6691 | ||
|
|
4537bcc889 | ||
|
|
668008be66 | ||
|
|
0022675aa3 | ||
|
|
5366e1aecf | ||
|
|
55759b5228 | ||
|
|
17bb4d4607 | ||
|
|
8ec92c9779 | ||
|
|
32fbc4f247 | ||
|
|
1b9129809d | ||
|
|
f43e7ac4ee | ||
|
|
391c362794 | ||
|
|
d569a9e746 | ||
|
|
4934ad0e44 | ||
|
|
d58a3bf7da | ||
|
|
b45cd36bd9 | ||
|
|
727345ebea | ||
|
|
7a9cbca00a | ||
|
|
9830938e77 | ||
|
|
06f9c6940a | ||
|
|
6c542f77eb | ||
|
|
d0e1b7103c | ||
|
|
ac564082f1 | ||
|
|
2914a20abc | ||
|
|
37ce6d3a6a | ||
|
|
5597ba0467 | ||
|
|
a5fe91e6dc | ||
|
|
cfcd011fcd | ||
|
|
c0e29010f6 | ||
|
|
8c7ad3631a | ||
|
|
f6a44f714a | ||
|
|
daff0fb738 | ||
|
|
bade44e5ca | ||
|
|
3697c9bbae | ||
|
|
c70bdab0b8 | ||
|
|
f3c51bbff1 | ||
|
|
8f187fc630 | ||
|
|
373863ed48 | ||
|
|
d47f50b331 | ||
|
|
30fd8204ce | ||
|
|
273af497ca | ||
|
|
7e9210ea53 | ||
|
|
6a33ef0deb | ||
|
|
58dbef330c | ||
|
|
9c4f55204f | ||
|
|
509f8031b2 | ||
|
|
10476521f5 | ||
|
|
531be47ac5 | ||
|
|
851d108313 | ||
|
|
148ce7ae62 | ||
|
|
4ee711f213 | ||
|
|
6bf1b52ba2 | ||
|
|
81ed496048 | ||
|
|
04bdd573d0 | ||
|
|
189832bf66 | ||
|
|
c53e9c57a9 | ||
|
|
99ca9c4868 | ||
|
|
4f73b8e9cc | ||
|
|
44aaf5416e | ||
|
|
971caf53b8 | ||
|
|
280227270c | ||
|
|
dbd759309b | ||
|
|
7f9c9c51a3 | ||
|
|
078269bdce | ||
|
|
10e4f12bf4 | ||
|
|
b816dae16d | ||
|
|
809fcecddc | ||
|
|
b5cfff0b34 | ||
|
|
26cd3063b2 | ||
|
|
8902b31f1b | ||
|
|
7795bfea6d | ||
|
|
1d59aa1fdf | ||
|
|
a05e524f3a | ||
|
|
fdeab65db6 | ||
|
|
77b20977dc | ||
|
|
dec07510bb | ||
|
|
b185a40745 | ||
|
|
2bbada8116 | ||
|
|
7cbfaa51de | ||
|
|
e8df010498 | ||
|
|
77e5dcc36a | ||
|
|
213da551de | ||
|
|
da697645d5 | ||
|
|
08e51f446b | ||
|
|
9939f57b7f | ||
|
|
916911f598 | ||
|
|
a187c43cfe | ||
|
|
7707228aac | ||
|
|
2c12f89055 | ||
|
|
2f8cbc4b22 | ||
|
|
573545a55a | ||
|
|
05eb5b9cae | ||
|
|
fb489af2ec | ||
|
|
5e65423077 | ||
|
|
8b51b7f0f1 | ||
|
|
ad5e5631c5 | ||
|
|
c8f12c9856 | ||
|
|
9b123d8590 | ||
|
|
71abe48289 | ||
|
|
0b4c66c67a | ||
|
|
efd5d8a967 | ||
|
|
2b22b113c6 | ||
|
|
dbeecb2b6b | ||
|
|
08052228a7 | ||
|
|
eb26f4331f | ||
|
|
3bd8de40b4 | ||
|
|
d1f76afaf9 | ||
|
|
4d170af0a9 | ||
|
|
a4224860a4 | ||
|
|
05c1acd5e1 | ||
|
|
f0afd9e182 | ||
|
|
b806aa5bd9 | ||
|
|
4a091b9978 | ||
|
|
c6e57b74fa | ||
|
|
8f13d82fa6 | ||
|
|
b0fa5e17c5 | ||
|
|
dadaddd59f | ||
|
|
0f769815c8 | ||
|
|
b00ef0508b | ||
|
|
635414dd2f | ||
|
|
c2c8205634 | ||
|
|
14944c04bd | ||
|
|
0e655111e9 | ||
|
|
c6a67c92bc | ||
|
|
c0c71e9d98 | ||
|
|
96fdf4348a | ||
|
|
a810db3f17 | ||
|
|
8b848cafb0 | ||
|
|
dfa3d5524e | ||
|
|
895a7a472d | ||
|
|
ad9ec5e799 | ||
|
|
4f25b1aba0 | ||
|
|
a953b5cf4f | ||
|
|
64e2db6dc6 | ||
|
|
c1ec0422e4 | ||
|
|
3e4cc9671c | ||
|
|
a62372be1f | ||
|
|
4ed124cc6c | ||
|
|
33e3346322 | ||
|
|
81a4cf469a | ||
|
|
ba7c0d7b4c | ||
|
|
96f8f499ce | ||
|
|
4507f6ada5 | ||
|
|
29a86ffee7 | ||
|
|
f842cd9e28 | ||
|
|
64075b0ab1 | ||
|
|
8e9be208ea | ||
|
|
c3516f7e45 | ||
|
|
6defa7bf0a | ||
|
|
57ad94c5a9 | ||
|
|
1c6737b20a | ||
|
|
9c929713b7 | ||
|
|
e83cca2911 | ||
|
|
44d6652d56 | ||
|
|
9bd5d879c2 | ||
|
|
c98cdb3bc9 | ||
|
|
63969ef07e | ||
|
|
418155def2 | ||
|
|
ad30470610 | ||
|
|
707be5f352 | ||
|
|
30d6413782 | ||
|
|
3986b94b09 | ||
|
|
d2c617055a | ||
|
|
2f3cd2e4ec | ||
|
|
8a0dcf4330 | ||
|
|
4140c4f3ff | ||
|
|
7c27f337bf | ||
|
|
401f0c0798 | ||
|
|
4b9bd692bd | ||
|
|
fcb6d7082d | ||
|
|
30788d3d37 | ||
|
|
597aaac9d2 | ||
|
|
fa2e38df76 | ||
|
|
a5a40c5696 | ||
|
|
ed6a430fae | ||
|
|
a48f786787 | ||
|
|
7918238528 | ||
|
|
15183b41c4 | ||
|
|
636c5d5399 | ||
|
|
04637e243d | ||
|
|
b02628b8a2 | ||
|
|
d217a87755 | ||
|
|
c08cc72947 | ||
|
|
036c2cf719 | ||
|
|
2df4731042 | ||
|
|
44b4a246b6 | ||
|
|
59941cbd80 | ||
|
|
2ce14589f2 | ||
|
|
8b5866ded6 | ||
|
|
7dfc5ce7cf | ||
|
|
86394aa972 | ||
|
|
cf8aa6448b | ||
|
|
e2e4075fad | ||
|
|
24f7750ffa | ||
|
|
c05d1c043a | ||
|
|
fe136c9a85 | ||
|
|
b936b79424 | ||
|
|
077cc7aa0e | ||
|
|
eadee486c7 | ||
|
|
fe6dce8739 | ||
|
|
fa57335e53 | ||
|
|
eb24556df3 | ||
|
|
18eedfa40b | ||
|
|
7ca86fe8dc | ||
|
|
1f42f5a675 | ||
|
|
a60053b8f4 | ||
|
|
5b5aa11801 | ||
|
|
62f93f4ec9 | ||
|
|
04d594b9c1 | ||
|
|
6c553f9c04 | ||
|
|
f966ce5ea2 | ||
|
|
5892ea1511 | ||
|
|
67ff97ded7 | ||
|
|
551d25e765 | ||
|
|
119f557230 | ||
|
|
9d8bfae50f | ||
|
|
a5d3841177 | ||
|
|
4da7a259f6 | ||
|
|
6efa46f4ef | ||
|
|
4488f5a545 | ||
|
|
e90d63ea90 | ||
|
|
4ad739fc05 | ||
|
|
6f84b6db10 | ||
|
|
3767e3a330 | ||
|
|
81fcb67fb3 | ||
|
|
9c2b06637b | ||
|
|
ca563b9b94 | ||
|
|
2f1228463a | ||
|
|
997cd1a17f | ||
|
|
39f7aa3c31 | ||
|
|
7d6979608e | ||
|
|
07e87e9eb5 | ||
|
|
2c93c685e3 | ||
|
|
64f37d3090 | ||
|
|
8b565c2c15 | ||
|
|
02aaad9109 | ||
|
|
ca774f6753 | ||
|
|
0b8cf278ec | ||
|
|
02c037a4be | ||
|
|
cd80006ecb | ||
|
|
76603baac5 | ||
|
|
207f009326 | ||
|
|
0b39c3fd4c | ||
|
|
25859dd74c | ||
|
|
a5639848cc | ||
|
|
95006e3dca | ||
|
|
98945560c1 | ||
|
|
e3d4685f1f | ||
|
|
423a85a11a | ||
|
|
b06a6d59d1 | ||
|
|
4e4473c927 | ||
|
|
08aac3c619 | ||
|
|
ee8580e52e | ||
|
|
6a950581da | ||
|
|
2566054a7f | ||
|
|
7a3330fc57 | ||
|
|
5163fcce79 | ||
|
|
749639ec72 | ||
|
|
3988f64f9d | ||
|
|
601e76ac3c | ||
|
|
228e62975e | ||
|
|
6e3aeec846 | ||
|
|
2e0866128b | ||
|
|
b9fc192f92 | ||
|
|
c8ec5fe56f | ||
|
|
07399e7f07 | ||
|
|
b3ea36c5bc | ||
|
|
c2af0afff5 | ||
|
|
2e80095501 | ||
|
|
6c53fca023 | ||
|
|
430deb1945 | ||
|
|
8436773fad | ||
|
|
dc0cf1db3e | ||
|
|
0981c8729e | ||
|
|
69e44552c5 | ||
|
|
cd94277f72 | ||
|
|
5390099a97 | ||
|
|
9943b3d979 | ||
|
|
c63b72b6dc | ||
|
|
51b6eb47b3 | ||
|
|
d70840ed68 | ||
|
|
1b04ce2d40 | ||
|
|
7cb6fc29d0 | ||
|
|
81e17fbe00 | ||
|
|
122616d9c1 | ||
|
|
3fc71285d5 | ||
|
|
5d72ce69c8 | ||
|
|
ec65d77fa2 | ||
|
|
733d259a83 | ||
|
|
17f67547f3 | ||
|
|
b8a9296ced | ||
|
|
df2524bbb4 | ||
|
|
825b54415f | ||
|
|
fc2a47ffc4 | ||
|
|
20b23c6358 | ||
|
|
66250c932e | ||
|
|
93ad14710b | ||
|
|
191929b182 | ||
|
|
9dc1917f42 | ||
|
|
a7c4e74763 | ||
|
|
f8abbf37d6 | ||
|
|
af8822ce08 | ||
|
|
9b02d64cff | ||
|
|
165036ddba | ||
|
|
aeb2bdd0de | ||
|
|
3affe7a6c6 | ||
|
|
e15eebd202 | ||
|
|
1d634542cf | ||
|
|
558813314d | ||
|
|
f39397e515 | ||
|
|
aa9675a61d | ||
|
|
36967b32fd | ||
|
|
624b6eaf20 | ||
|
|
021bda5671 | ||
|
|
7b22117c4e | ||
|
|
241572794f | ||
|
|
c0f8823ee4 | ||
|
|
0aae4809fd | ||
|
|
f923571ec1 | ||
|
|
e5abf7af08 | ||
|
|
cc673e746a | ||
|
|
56acb0943e | ||
|
|
829ac868b7 | ||
|
|
ed5918771f | ||
|
|
11107bab7e | ||
|
|
3d1cde8a2f | ||
|
|
e3c37d8ebf | ||
|
|
451c2e3536 | ||
|
|
53b29e4845 | ||
|
|
9a5c553f79 | ||
|
|
793dcc540d | ||
|
|
1623619119 | ||
|
|
d1103587cf | ||
|
|
79e8db9a21 | ||
|
|
8de2f44ac6 | ||
|
|
8d56622944 | ||
|
|
41fab3eac8 | ||
|
|
7d6997015d | ||
|
|
32a23ac615 | ||
|
|
4ac97f4761 | ||
|
|
32f335f75c | ||
|
|
7517ffdbb5 | ||
|
|
c4ce36d486 | ||
|
|
bc4c505166 | ||
|
|
cdd70f09a5 | ||
|
|
be7529e889 | ||
|
|
c771908681 | ||
|
|
16c6232cad | ||
|
|
b96a32ef1a | ||
|
|
7ac616cb0a | ||
|
|
c9edd6b582 | ||
|
|
66e0014ba6 | ||
|
|
418f1df547 | ||
|
|
fd77748df2 | ||
|
|
ba60cc45e7 | ||
|
|
6d91bcb4d2 | ||
|
|
c3d6e8a46a | ||
|
|
db199216e8 | ||
|
|
17a836cbee | ||
|
|
ed677f5587 | ||
|
|
7c5ad34878 | ||
|
|
a177344dc0 | ||
|
|
575f24b3f3 |
158
.github/CODEOWNERS
vendored
Normal file
158
.github/CODEOWNERS
vendored
Normal file
@@ -0,0 +1,158 @@
|
||||
# Lines starting with '#' are comments.
|
||||
# Each line is a file pattern followed by one or more owners.
|
||||
# You can use github users with @user or email addresses
|
||||
|
||||
# These owners will be the default owners for everything in the repo.
|
||||
#* @brammool
|
||||
|
||||
# Order is important. The last matching pattern has the most precedence.
|
||||
# So if a pull request only touches javascript files, only these owners
|
||||
# will be requested to review.
|
||||
|
||||
src/iscygpty.* @k-takata
|
||||
src/libvterm/ @leonerd
|
||||
|
||||
runtime/autoload/getscript.vim @cecamp
|
||||
runtime/autoload/netrw.vim @cecamp
|
||||
runtime/autoload/netrwFileHandlers.vim @cecamp
|
||||
runtime/autoload/netrwSettings.vim @cecamp
|
||||
runtime/autoload/rubycomplete.vim @segfault @dkearns
|
||||
runtime/autoload/tar.vim @cecamp
|
||||
runtime/autoload/vimball.vim @cecamp
|
||||
runtime/autoload/zip.vim @cecamp
|
||||
runtime/compiler/checkstyle.vim @dkearns
|
||||
runtime/compiler/cucumber.vim @tpope
|
||||
runtime/compiler/dart.vim @dkearns
|
||||
runtime/compiler/dart2js.vim @dkearns
|
||||
runtime/compiler/dart2native.vim @dkearns
|
||||
runtime/compiler/dartanalyser.vim @dkearns
|
||||
runtime/compiler/dartdevc.vim @dkearns
|
||||
runtime/compiler/dartdoc.vim @dkearns
|
||||
runtime/compiler/dartfmt.vim @dkearns
|
||||
runtime/compiler/eruby.vim @dkearns
|
||||
runtime/compiler/gawk.vim @dkearns
|
||||
runtime/compiler/gjs.vim @dkearns
|
||||
runtime/compiler/haml.vim @tpope
|
||||
runtime/compiler/javac.vim @dkearns
|
||||
runtime/compiler/jest.vim @dkearns
|
||||
runtime/compiler/jjs.vim @dkearns
|
||||
runtime/compiler/jshint.vim @dkearns
|
||||
runtime/compiler/jsonlint.vim @dkearns
|
||||
runtime/compiler/lazbuild.vim @dkearns
|
||||
runtime/compiler/php.vim @dkearns
|
||||
runtime/compiler/rake.vim @tpope @dkearns
|
||||
runtime/compiler/rhino.vim @dkearns
|
||||
runtime/compiler/rspec.vim @tpope @dkearns
|
||||
runtime/compiler/rubocop.vim @dkearns
|
||||
runtime/compiler/ruby.vim @tpope @dkearns
|
||||
runtime/compiler/rubyunit.vim @dkearns
|
||||
runtime/compiler/sass.vim @tpope
|
||||
runtime/compiler/se.vim @dkearns
|
||||
runtime/compiler/shellcheck.vim @dkearns
|
||||
runtime/compiler/stylelint.vim @dkearns
|
||||
runtime/compiler/tcl.vim @dkearns
|
||||
runtime/compiler/tidy.vim @dkearns
|
||||
runtime/compiler/ts-node.vim @dkearns
|
||||
runtime/compiler/tsc.vim @dkearns
|
||||
runtime/compiler/typedoc.vim @dkearns
|
||||
runtime/compiler/xmllint.vim @dkearns
|
||||
runtime/compiler/xo.vim @dkearns
|
||||
runtime/doc/pi_getscript.txt @cecamp
|
||||
runtime/doc/pi_logipat.txt @cecamp
|
||||
runtime/doc/pi_netrw.txt @cecamp
|
||||
runtime/doc/pi_tar.txt @cecamp
|
||||
runtime/doc/pi_vimball.txt @cecamp
|
||||
runtime/doc/pi_zip.txt @cecamp
|
||||
runtime/ftplugin/awk.vim @dkearns
|
||||
runtime/ftplugin/bst.vim @tpope
|
||||
runtime/ftplugin/css.vim @dkearns
|
||||
runtime/ftplugin/cucumber.vim @tpope
|
||||
runtime/ftplugin/eiffel.vim @dkearns
|
||||
runtime/ftplugin/eruby.vim @tpope @dkearns
|
||||
runtime/ftplugin/git.vim @tpope
|
||||
runtime/ftplugin/gitcommit.vim @tpope
|
||||
runtime/ftplugin/gitconfig.vim @tpope
|
||||
runtime/ftplugin/gitrebase.vim @tpope
|
||||
runtime/ftplugin/gitsendemail.vim @tpope
|
||||
runtime/ftplugin/haml.vim @tpope
|
||||
runtime/ftplugin/hgcommit.vim @k-takata
|
||||
runtime/ftplugin/javascript.vim @dkearns
|
||||
runtime/ftplugin/javascriptreact.vim @dkearns
|
||||
runtime/ftplugin/liquid.vim @tpope
|
||||
runtime/ftplugin/markdown.vim @tpope
|
||||
runtime/ftplugin/matlab.vim @cecamp
|
||||
runtime/ftplugin/nsis.vim @k-takata
|
||||
runtime/ftplugin/pdf.vim @tpope
|
||||
runtime/ftplugin/ruby.vim @tpope @dkearns
|
||||
runtime/ftplugin/sass.vim @tpope
|
||||
runtime/ftplugin/scss.vim @tpope
|
||||
runtime/ftplugin/tmux.vim @ericpruitt
|
||||
runtime/ftplugin/typescript.vim @dkearns
|
||||
runtime/ftplugin/typescriptreact.vim @dkearns
|
||||
runtime/indent/bst.vim @tpope
|
||||
runtime/indent/cucumber.vim @tpope
|
||||
runtime/indent/dosbatch.vim @k-takata
|
||||
runtime/indent/eruby.vim @tpope @dkearns
|
||||
runtime/indent/gitconfig.vim @tpope
|
||||
runtime/indent/haml.vim @tpope
|
||||
runtime/indent/liquid.vim @tpope
|
||||
runtime/indent/nsis.vim @k-takata
|
||||
runtime/indent/ruby.vim @AndrewRadev @dkearns
|
||||
runtime/indent/sass.vim @tpope
|
||||
runtime/indent/scss.vim @tpope
|
||||
runtime/indent/teraterm.vim @k-takata
|
||||
runtime/plugin/getscriptPlugin.vim @cecamp
|
||||
runtime/plugin/logiPat.vim @cecamp
|
||||
runtime/plugin/netrwPlugin.vim @cecamp
|
||||
runtime/plugin/tarPlugin.vim @cecamp
|
||||
runtime/plugin/vimballPlugin.vim @cecamp
|
||||
runtime/plugin/zipPlugin.vim @cecamp
|
||||
runtime/syntax/amiga.vim @cecamp
|
||||
runtime/syntax/asm.vim @dkearns
|
||||
runtime/syntax/asmh8300.vim @dkearns
|
||||
runtime/syntax/awk.vim @dkearns
|
||||
runtime/syntax/bst.vim @tpope
|
||||
runtime/syntax/csh.vim @cecamp
|
||||
runtime/syntax/cucumber.vim @tpope
|
||||
runtime/syntax/dcl.vim @cecamp
|
||||
runtime/syntax/elmfilt.vim @cecamp
|
||||
runtime/syntax/eruby.vim @tpope @dkearns
|
||||
runtime/syntax/exports.vim @cecamp
|
||||
runtime/syntax/git.vim @tpope
|
||||
runtime/syntax/gitcommit.vim @tpope
|
||||
runtime/syntax/gitconfig.vim @tpope
|
||||
runtime/syntax/gitrebase.vim @tpope
|
||||
runtime/syntax/haml.vim @tpope
|
||||
runtime/syntax/hgcommit.vim @k-takata
|
||||
runtime/syntax/lex.vim @cecamp
|
||||
runtime/syntax/liquid.vim @tpope
|
||||
runtime/syntax/lisp.vim @cecamp
|
||||
runtime/syntax/lynx.vim @dkearns
|
||||
runtime/syntax/mailcap.vim @dkearns
|
||||
runtime/syntax/make.vim @rohieb
|
||||
runtime/syntax/make.vim @rohieb
|
||||
runtime/syntax/maple.vim @cecamp
|
||||
runtime/syntax/markdown.vim @tpope
|
||||
runtime/syntax/netrw.vim @cecamp
|
||||
runtime/syntax/nsis.vim @k-takata
|
||||
runtime/syntax/pdf.vim @tpope
|
||||
runtime/syntax/php.vim @TysonAndre
|
||||
runtime/syntax/privoxy.vim @dkearns
|
||||
runtime/syntax/rpcgen.vim @cecamp
|
||||
runtime/syntax/ruby.vim @dkearns
|
||||
runtime/syntax/sass.vim @tpope
|
||||
runtime/syntax/scss.vim @tpope
|
||||
runtime/syntax/sh.vim @cecamp
|
||||
runtime/syntax/sm.vim @cecamp
|
||||
runtime/syntax/tags.vim @cecamp
|
||||
runtime/syntax/teraterm.vim @k-takata
|
||||
runtime/syntax/tex.vim @cecamp
|
||||
runtime/syntax/tidy.vim @dkearns
|
||||
runtime/syntax/tmux.vim @ericpruitt
|
||||
runtime/syntax/vim.vim @cecamp
|
||||
runtime/syntax/wget.vim @dkearns
|
||||
runtime/syntax/xbl.vim @dkearns
|
||||
runtime/syntax/xmath.vim @cecamp
|
||||
runtime/syntax/xslt.vim @Boobies
|
||||
runtime/syntax/xxd.vim @cecamp
|
||||
runtime/syntax/yacc.vim @cecamp
|
||||
21
.github/workflows/ci-windows.yaml
vendored
21
.github/workflows/ci-windows.yaml
vendored
@@ -3,7 +3,7 @@ name: GitHub CI
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- '*'
|
||||
- '**'
|
||||
pull_request:
|
||||
|
||||
env:
|
||||
@@ -39,6 +39,7 @@ jobs:
|
||||
runs-on: windows-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
toolchain: [msvc, mingw]
|
||||
arch: [x64, x86]
|
||||
@@ -74,8 +75,8 @@ jobs:
|
||||
git config --global core.autocrlf input
|
||||
python_dir=$(cat "/proc/${{ matrix.cygreg }}/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON_VER_DOT}/InstallPath/@")
|
||||
python3_dir=$(cat "/proc/${{ matrix.cygreg }}/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON3_VER_DOT}${{ matrix.pyreg }}/InstallPath/@")
|
||||
echo "::set-env name=PYTHON_DIR::$python_dir"
|
||||
echo "::set-env name=PYTHON3_DIR::$python3_dir"
|
||||
echo "PYTHON_DIR=$python_dir" >> $GITHUB_ENV
|
||||
echo "PYTHON3_DIR=$python3_dir" >> $GITHUB_ENV
|
||||
|
||||
- uses: msys2/setup-msys2@v2
|
||||
if: matrix.toolchain == 'mingw'
|
||||
@@ -127,6 +128,11 @@ jobs:
|
||||
)
|
||||
goto :eof
|
||||
|
||||
- name: Copy src directory to src2
|
||||
shell: cmd
|
||||
run: |
|
||||
xcopy src src2\ /E > nul
|
||||
|
||||
- name: Build (MSVC)
|
||||
if: matrix.toolchain == 'msvc'
|
||||
shell: cmd
|
||||
@@ -196,10 +202,6 @@ jobs:
|
||||
echo %COL_GREEN%vim version:%COL_RESET%
|
||||
.\vim --version || exit 1
|
||||
|
||||
mkdir ..\src2
|
||||
xcopy testdir ..\src2\testdir\ /E > nul || exit 1
|
||||
copy evalfunc.c ..\src2 > nul
|
||||
|
||||
echo %COL_GREEN%Start testing vim in background.%COL_RESET%
|
||||
start cmd /c "cd ..\src2\testdir & nmake -nologo -f Make_dos.mak VIMPROG=..\..\src\vim > nul & echo done>done.txt"
|
||||
|
||||
@@ -211,9 +213,10 @@ jobs:
|
||||
echo %COL_GREEN%Wait for vim tests to finish.%COL_RESET%
|
||||
cd ..\src2\testdir
|
||||
:: Wait about 10 minutes.
|
||||
for /L %%i in (1,1,600) do (
|
||||
for /L %%i in (1,1,60) do (
|
||||
if exist done.txt goto exitloop
|
||||
ping -n 2 localhost > nul
|
||||
timeout 10 > NUL 2>&1
|
||||
if ERRORLEVEL 1 ping -n 11 localhost > NUL
|
||||
)
|
||||
set timeout=1
|
||||
:exitloop
|
||||
|
||||
71
.github/workflows/codeql-analysis.yml
vendored
Normal file
71
.github/workflows/codeql-analysis.yml
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
# For most projects, this workflow file will not need changing; you simply need
|
||||
# to commit it to your repository.
|
||||
#
|
||||
# You may wish to alter this file to override the set of languages analyzed,
|
||||
# or to provide custom queries or build logic.
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [master]
|
||||
schedule:
|
||||
- cron: '0 18 * * 1'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# Override automatic language detection by changing the below list
|
||||
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
|
||||
language: ['cpp', 'python']
|
||||
# Learn more...
|
||||
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
fetch-depth: 2
|
||||
|
||||
# If this run was triggered by a pull request event, then checkout
|
||||
# the head of the pull request instead of the merge commit.
|
||||
- run: git checkout HEAD^2
|
||||
if: ${{ github.event_name == 'pull_request' }}
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v1
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
|
||||
#- run: |
|
||||
# make bootstrap
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
||||
61
.travis.yml
61
.travis.yml
@@ -2,16 +2,16 @@ language: c
|
||||
|
||||
env:
|
||||
global:
|
||||
- BUILD=yes TEST=test CONFOPT= LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
- BUILD=yes TEST=test CONFOPT= LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no LOG_DIR="$TRAVIS_BUILD_DIR/logs"
|
||||
|
||||
_anchors:
|
||||
envs:
|
||||
- &tiny-nogui
|
||||
FEATURES=tiny CONFOPT="--disable-gui"
|
||||
FEATURES=tiny TEST=testtiny CONFOPT="--disable-gui"
|
||||
- &tiny
|
||||
FEATURES=tiny
|
||||
FEATURES=tiny TEST=testtiny
|
||||
- &small
|
||||
FEATURES=small
|
||||
FEATURES=small TEST=testtiny
|
||||
- &normal
|
||||
FEATURES=normal
|
||||
- &linux-huge
|
||||
@@ -25,8 +25,8 @@ _anchors:
|
||||
- &coverage
|
||||
CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage
|
||||
- &asan # ASAN build
|
||||
SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
||||
ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
|
||||
SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize-recover=all -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer"
|
||||
ASAN_OPTIONS="print_stacktrace=1 log_path=$LOG_DIR/asan" UBSAN_OPTIONS="print_stacktrace=1 log_path=$LOG_DIR/ubsan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
|
||||
- &shadowopt
|
||||
SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow
|
||||
|
||||
@@ -35,7 +35,7 @@ _anchors:
|
||||
dist: bionic
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
packages: &apt-packages
|
||||
- autoconf
|
||||
- clang
|
||||
- lcov
|
||||
@@ -69,7 +69,11 @@ _anchors:
|
||||
fi
|
||||
before_script:
|
||||
- sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
|
||||
- sudo bash ci/load-snd-dummy.sh || true
|
||||
# It appears we can load "snd-dummy" on only amd64.
|
||||
- |
|
||||
if [[ "${TRAVIS_CPU_ARCH}" = amd64 ]]; then
|
||||
sudo bash ci/load-snd-dummy.sh || true
|
||||
fi
|
||||
- sudo usermod -a -G audio $USER
|
||||
- do_test() { sg audio "sg $(id -gn) '$*'"; }
|
||||
|
||||
@@ -104,13 +108,14 @@ _anchors:
|
||||
# Update pyenv to fix the error "/opt/pyenv/libexec/pyenv: line 43: cd: asan_symbolize-6.0: Not a directory".
|
||||
# https://github.com/pyenv/pyenv/issues/580
|
||||
- (cd "${PYENV_ROOT}" && git fetch -p origin && git checkout "$(git rev-list --tags -n1)") &>/dev/null || true
|
||||
- find . -type f -name 'asan.*' -size +0 2>/dev/null | xargs grep -l '^==[[:digit:]]*==ERROR:' | xargs -I{} -n1 -t asan_symbolize -l{}
|
||||
- for f in $(grep -l '#[[:digit:]]* *0x[[:digit:]a-fA-F]*' "$LOG_DIR"/*); do asan_symbolize-11 -l "$f"; done
|
||||
|
||||
branches:
|
||||
except:
|
||||
- /^v[0-9]/
|
||||
|
||||
script:
|
||||
- mkdir -p "$LOG_DIR"
|
||||
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||
- set -o errexit
|
||||
- echo -e "\\033[33;1mConfiguring Vim\\033[0m" && echo -en "travis_fold:start:configure\\r\\033[0K"
|
||||
@@ -131,7 +136,7 @@ script:
|
||||
# Append various warning flags to CFLAGS.
|
||||
# BSD sed needs backup extension specified.
|
||||
sed -i.bak -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
|
||||
if [[ "${TRAVIS_OS_NAME}" = "osx" ]]; then
|
||||
if [[ "${TRAVIS_OS_NAME}" = "osx" ]] || [[ "${CC}" = "clang-11" ]]; then
|
||||
# On macOS, the entity of gcc is clang.
|
||||
sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
|
||||
else
|
||||
@@ -151,6 +156,15 @@ script:
|
||||
- echo -e "\\033[33;1mTesting Vim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
|
||||
- do_test make ${SHADOWOPT} ${TEST} && FOLD_MARKER=travis_fold
|
||||
- echo -en "${FOLD_MARKER}:end:test\\r\\033[0K"
|
||||
- |
|
||||
# Not all sanitizers will cause the tests to fail. This helps since we can
|
||||
# see all the failures instead of just the first one, but we still want the
|
||||
# test phase to fail if any sanitizer issues are detected.
|
||||
if [[ -n "${ASAN_OPTIONS}" ]]; then
|
||||
if grep -q '#[[:digit:]]* *0x[[:digit:]a-fA-F]*' "$LOG_DIR"/*; then
|
||||
false
|
||||
fi
|
||||
fi
|
||||
|
||||
# Instead of using all environments with both compilers on both systems,
|
||||
# exclude some builds on mac os x and linux.
|
||||
@@ -208,13 +222,12 @@ jobs:
|
||||
env:
|
||||
- *normal
|
||||
- *shadowopt
|
||||
# Temporarily disabled, always fails
|
||||
#- <<: *linux
|
||||
# arch: s390x
|
||||
# name: huge/gcc-s390x
|
||||
# compiler: gcc
|
||||
# env: *linux-huge
|
||||
# services: []
|
||||
- <<: *linux
|
||||
arch: s390x
|
||||
name: huge/gcc-s390x
|
||||
compiler: gcc
|
||||
env: *linux-huge
|
||||
services: []
|
||||
- <<: *linux
|
||||
arch: arm64
|
||||
name: huge/gcc-arm64
|
||||
@@ -227,8 +240,6 @@ jobs:
|
||||
env:
|
||||
- *linux-huge
|
||||
- *coverage
|
||||
# Clang cannot compile test_libvterm with "--coverage" flag.
|
||||
- TEST=scripttests
|
||||
after_success: *eval-coverage
|
||||
- <<: *linux
|
||||
name: huge+coverage/gcc
|
||||
@@ -238,8 +249,16 @@ jobs:
|
||||
- *coverage
|
||||
after_success: *eval-coverage
|
||||
- <<: *linux # ASAN
|
||||
name: huge+asan/gcc
|
||||
compiler: gcc
|
||||
name: huge+asan/clang
|
||||
compiler: clang-11
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main'
|
||||
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
|
||||
packages:
|
||||
- *apt-packages
|
||||
- clang-11
|
||||
env:
|
||||
- *linux-huge
|
||||
- *asan
|
||||
|
||||
15
Filelist
15
Filelist
@@ -10,6 +10,8 @@ SRC_ALL = \
|
||||
.travis.yml \
|
||||
.cirrus.yml \
|
||||
.github/workflows/ci-windows.yaml \
|
||||
.github/workflows/codeql-analysis.yml \
|
||||
.github/CODEOWNERS \
|
||||
appveyor.yml \
|
||||
ci/appveyor.bat \
|
||||
ci/if_ver*.vim \
|
||||
@@ -45,6 +47,7 @@ SRC_ALL = \
|
||||
src/drawline.c \
|
||||
src/drawscreen.c \
|
||||
src/edit.c \
|
||||
src/errors.h \
|
||||
src/eval.c \
|
||||
src/evalbuffer.c \
|
||||
src/evalfunc.c \
|
||||
@@ -73,6 +76,7 @@ SRC_ALL = \
|
||||
src/highlight.c \
|
||||
src/indent.c \
|
||||
src/insexpand.c \
|
||||
src/job.c \
|
||||
src/json.c \
|
||||
src/json_test.c \
|
||||
src/kword_test.c \
|
||||
@@ -158,9 +162,7 @@ SRC_ALL = \
|
||||
src/testdir/gen_opt_test.vim \
|
||||
src/testdir/README.txt \
|
||||
src/testdir/Make_all.mak \
|
||||
src/testdir/dotest.in \
|
||||
src/testdir/test1.in \
|
||||
src/testdir/test77a.in \
|
||||
src/testdir/*.in \
|
||||
src/testdir/*.py \
|
||||
src/testdir/lsan-suppress.txt \
|
||||
src/testdir/sautest/autoload/*.vim \
|
||||
@@ -179,7 +181,7 @@ SRC_ALL = \
|
||||
src/testdir/summarize.vim \
|
||||
src/testdir/term_util.vim \
|
||||
src/testdir/view_util.vim \
|
||||
- src/testdir/test1.ok \
|
||||
src/testdir/test[0-9]*.ok \
|
||||
src/testdir/test77a.ok \
|
||||
src/testdir/test83-tags? \
|
||||
src/testdir/test77a.com \
|
||||
@@ -250,6 +252,7 @@ SRC_ALL = \
|
||||
src/proto/highlight.pro \
|
||||
src/proto/indent.pro \
|
||||
src/proto/insexpand.pro \
|
||||
src/proto/job.pro \
|
||||
src/proto/json.pro \
|
||||
src/proto/list.pro \
|
||||
src/proto/locale.pro \
|
||||
@@ -621,7 +624,7 @@ SRC_AMI = \
|
||||
README_amisrc.txt.info \
|
||||
src.info \
|
||||
src/INSTALLami.txt \
|
||||
src/Make_morph.mak \
|
||||
src/Make_ami.mak \
|
||||
src/os_amiga.c \
|
||||
src/os_amiga.h \
|
||||
src/proto/os_amiga.pro \
|
||||
@@ -1029,6 +1032,8 @@ LANG_SRC = \
|
||||
src/po/README_mvc.txt \
|
||||
src/po/check.vim \
|
||||
src/po/cleanup.vim \
|
||||
src/po/tojavascript.vim \
|
||||
src/po/fixfilenames.vim \
|
||||
src/po/Makefile \
|
||||
src/po/Make_all.mak \
|
||||
src/po/Make_cyg.mak \
|
||||
|
||||
2
Makefile
2
Makefile
@@ -32,7 +32,7 @@ first:
|
||||
|
||||
# Some make programs use the last target for the $@ default; put the other
|
||||
# targets separately to always let $@ expand to "first" by default.
|
||||
all install uninstall tools config configure reconfig proto depend lint tags types test scripttests test_libvterm unittests testclean clean distclean:
|
||||
all install uninstall tools config configure reconfig proto depend lint tags types test scripttests testtiny test_libvterm unittests testclean clean distclean:
|
||||
@if test ! -f src/auto/config.mk; then \
|
||||
cp src/config.mk.dist src/auto/config.mk; \
|
||||
fi
|
||||
|
||||
@@ -80,7 +80,7 @@ e.g. each stack item is a typeval_T. And one of the instructions is
|
||||
"execute Ex command", for commands that are not compiled.
|
||||
|
||||
|
||||
## 2. PHASING OUT INTERFACES
|
||||
## 2. DEPRIORITIZE INTERFACES
|
||||
|
||||
Attempts have been made to implement functionality with built-in script
|
||||
languages such as Python, Perl, Lua, Tcl and Ruby. This never gained much
|
||||
@@ -98,7 +98,7 @@ Instead of using script language support in Vim:
|
||||
tool and implements the Vim side of the interface. Also, it can be used when
|
||||
an external tool is undesired.
|
||||
|
||||
All together this creates a clear situation: Vim with the +eval feature
|
||||
Altogether this creates a clear situation: Vim with the +eval feature
|
||||
will be sufficient for most plugins, while some plugins require
|
||||
installing a tool that can be written in any language. No confusion
|
||||
about having Vim but the plugin not working because some specific
|
||||
@@ -159,18 +159,18 @@ thing I have been thinking of is assignments without ":let". I often
|
||||
make that mistake (after writing JavaScript especially). I think it is
|
||||
possible, if we make local variables shadow commands. That should be OK,
|
||||
if you shadow a command you want to use, just rename the variable.
|
||||
Using "let" and "const" to declare a variable, like in JavaScript and
|
||||
Using "var" and "const" to declare a variable, like in JavaScript and
|
||||
TypeScript, can work:
|
||||
|
||||
|
||||
``` vim
|
||||
def MyFunction(arg: number): number
|
||||
let local = 1
|
||||
let todo = arg
|
||||
var local = 1
|
||||
var todo = arg
|
||||
const ADD = 88
|
||||
while todo > 0
|
||||
local += ADD
|
||||
--todo
|
||||
todo -= 1
|
||||
endwhile
|
||||
return local
|
||||
enddef
|
||||
@@ -192,7 +192,7 @@ function and export it:
|
||||
``` vim
|
||||
vim9script " Vim9 script syntax used here
|
||||
|
||||
let local = 'local variable is not exported, script-local'
|
||||
var local = 'local variable is not exported, script-local'
|
||||
|
||||
export def MyFunction() " exported function
|
||||
...
|
||||
@@ -248,10 +248,10 @@ END
|
||||
return luaeval('sum')
|
||||
endfunc
|
||||
|
||||
def VimNew()
|
||||
let sum = 0
|
||||
def VimNew(): number
|
||||
var sum = 0
|
||||
for i in range(1, 2999999)
|
||||
let sum += i
|
||||
sum += i
|
||||
endfor
|
||||
return sum
|
||||
enddef
|
||||
@@ -277,7 +277,7 @@ echo 'Vim new: ' .. reltimestr(reltime(start))
|
||||
|
||||
``` vim
|
||||
def VimNew(): number
|
||||
let totallen = 0
|
||||
var totallen = 0
|
||||
for i in range(1, 100000)
|
||||
setline(i, ' ' .. getline(i))
|
||||
totallen += len(getline(i))
|
||||
|
||||
@@ -16,7 +16,6 @@ src/os_amiga.* Files for the Amiga port.
|
||||
src/os_msdos.*
|
||||
src/os_dos.* Files for the MS-DOS port.
|
||||
|
||||
src/gui_mac.*
|
||||
src/os_mac.* Files for the Mac port.
|
||||
|
||||
src/os_vms* Files for the VMS port.
|
||||
|
||||
@@ -3,6 +3,6 @@ set -e
|
||||
|
||||
if ! modprobe snd-dummy; then
|
||||
# snd-dummy is contained in linux-modules-extra (if exists)
|
||||
apt install -y "linux-modules-extra-$(uname -r)"
|
||||
apt-get install -yq --no-install-suggests --no-install-recommends "linux-modules-extra-$(uname -r)"
|
||||
modprobe snd-dummy
|
||||
fi
|
||||
|
||||
@@ -174,6 +174,7 @@ Page custom SetCustom ValidateCustom
|
||||
!include "lang\german.nsi"
|
||||
!include "lang\italian.nsi"
|
||||
!include "lang\japanese.nsi"
|
||||
!include "lang\russian.nsi"
|
||||
!include "lang\simpchinese.nsi"
|
||||
!include "lang\tradchinese.nsi"
|
||||
!include "lang\turkish.nsi"
|
||||
|
||||
@@ -58,10 +58,10 @@ LangString str_desc_console ${LANG_ITALIAN} \
|
||||
"Versione console di Vim (vim.exe)."
|
||||
|
||||
LangString str_section_batch ${LANG_ITALIAN} \
|
||||
"Crea file di invocazione (MS-DOS) .bat"
|
||||
"Crea file .bat"
|
||||
LangString str_desc_batch ${LANG_ITALIAN} \
|
||||
"Crea file di invocazione .bat per varianti di Vim nella directory \
|
||||
di Windows, per utilizzo da linea di comando (MS-DOS)."
|
||||
"Crea file .bat per varianti di Vim nella directory \
|
||||
di Windows, per utilizzo da riga di comando."
|
||||
|
||||
LangString str_group_icons ${LANG_ITALIAN} \
|
||||
"Crea icone per Vim"
|
||||
|
||||
287
nsis/lang/russian.nsi
Normal file
287
nsis/lang/russian.nsi
Normal file
@@ -0,0 +1,287 @@
|
||||
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
|
||||
#
|
||||
# russian.nsi: Russian language strings for gvim NSIS installer.
|
||||
#
|
||||
# Locale ID : 1049
|
||||
# Locale name : ru-RU
|
||||
# fileencoding : UTF-8
|
||||
# Author : Restorer
|
||||
|
||||
!insertmacro MUI_LANGUAGE "Russian"
|
||||
|
||||
|
||||
# Overwrite the default translation.
|
||||
# These strings should be always English. Otherwise dosinst.c fails.
|
||||
LangString ^SetupCaption ${LANG_RUSSIAN} \
|
||||
"$(^Name) Setup"
|
||||
LangString ^UninstallCaption ${LANG_RUSSIAN} \
|
||||
"$(^Name) Uninstall"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
##############################################################################
|
||||
|
||||
#LangString str_dest_folder ${LANG_RUSSIAN} \
|
||||
# "Маршрут к каталогу установки (должен оканчиваться каталогом $\"vim$\")"
|
||||
|
||||
LangString str_show_readme ${LANG_RUSSIAN} \
|
||||
"После окончания установки ознакомиться с кратким описанием"
|
||||
|
||||
# Install types:
|
||||
LangString str_type_typical ${LANG_RUSSIAN} \
|
||||
"Стандартная"
|
||||
|
||||
LangString str_type_minimal ${LANG_RUSSIAN} \
|
||||
"Минимальная"
|
||||
|
||||
LangString str_type_full ${LANG_RUSSIAN} \
|
||||
"Полная"
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Section Titles & Description {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString str_section_old_ver ${LANG_RUSSIAN} \
|
||||
"Удаление предыдущих версий"
|
||||
LangString str_desc_old_ver ${LANG_RUSSIAN} \
|
||||
"Будут удалены предыдущие установленные версии программы"
|
||||
|
||||
LangString str_section_exe ${LANG_RUSSIAN} \
|
||||
"Графический интерфейс и вспомогательные файлы"
|
||||
LangString str_desc_exe ${LANG_RUSSIAN} \
|
||||
"Графический интерфейс программы Vim и все необходимые для этого файлы. \
|
||||
Это обязательный компонент"
|
||||
|
||||
LangString str_section_console ${LANG_RUSSIAN} \
|
||||
"Консольная программа Vim"
|
||||
LangString str_desc_console ${LANG_RUSSIAN} \
|
||||
"Вариант редактора Vim (vim.exe), используемый в командной оболочке"
|
||||
|
||||
LangString str_section_batch ${LANG_RUSSIAN} \
|
||||
"Создать командные файлы"
|
||||
LangString str_desc_batch ${LANG_RUSSIAN} \
|
||||
"Создание командных bat-файлов позволяющих работать с редактором \
|
||||
Vim из командной строки Windows"
|
||||
|
||||
LangString str_group_icons ${LANG_RUSSIAN} \
|
||||
"Создать ярлыки для редактора Vim"
|
||||
LangString str_desc_icons ${LANG_RUSSIAN} \
|
||||
"Создание ярлыков редактора Vim для облегчения запуска программы"
|
||||
|
||||
LangString str_section_desktop ${LANG_RUSSIAN} \
|
||||
"На Рабочем столе"
|
||||
LangString str_desc_desktop ${LANG_RUSSIAN} \
|
||||
"Создание ярлыков программы Gvim на Рабочем столе"
|
||||
|
||||
LangString str_section_start_menu ${LANG_RUSSIAN} \
|
||||
"В меню кнопки Пуск"
|
||||
LangString str_desc_start_menu ${LANG_RUSSIAN} \
|
||||
"Создание ярлыков программы Gvim в меню кнопки Пуск"
|
||||
|
||||
#LangString str_section_quick_launch ${LANG_RUSSIAN} \
|
||||
# "На панели быстрого запуска"
|
||||
#LangString str_desc_quick_launch ${LANG_RUSSIAN} \
|
||||
# "Создание ярлыков программы GVim на панели быстрого запуска"
|
||||
|
||||
LangString str_section_edit_with ${LANG_RUSSIAN} \
|
||||
"В контекстном меню"
|
||||
LangString str_desc_edit_with ${LANG_RUSSIAN} \
|
||||
"Добавление вызова программы Gvim в пункт $\"Открыть с помощью...$\" контекстного меню"
|
||||
|
||||
#LangString str_section_edit_with32 ${LANG_RUSSIAN} \
|
||||
# "32-разрядная версия программы"
|
||||
#LangString str_desc_edit_with32 ${LANG_RUSSIAN} \
|
||||
# "Добавление вызова программы Gvim в пункт $\"Открыть с помощью...$\" контекстного меню \
|
||||
# для 32-разрядных приложений"
|
||||
|
||||
#LangString str_section_edit_with64 ${LANG_RUSSIAN} \
|
||||
# "64-разрядная версия программы"
|
||||
#LangString str_desc_edit_with64 ${LANG_RUSSIAN} \
|
||||
# "Добавление вызова программы Gvim в пункт $\"Открыть с помощью...$\" контекстного меню \
|
||||
# для 64-разрядных приложений"
|
||||
|
||||
LangString str_section_vim_rc ${LANG_RUSSIAN} \
|
||||
"Настройки программы по умолчанию"
|
||||
LangString str_desc_vim_rc ${LANG_RUSSIAN} \
|
||||
"Создание файла _vimrc с предустановленными настройками, если нет других \
|
||||
файлов настроек"
|
||||
|
||||
LangString str_group_plugin ${LANG_RUSSIAN} \
|
||||
"Создать каталог для подключаемых модулей"
|
||||
LangString str_desc_plugin ${LANG_RUSSIAN} \
|
||||
"Создание каталога для размещения подключаемых модулей, которые расширяют \
|
||||
возможности редактора Vim"
|
||||
|
||||
LangString str_section_plugin_home ${LANG_RUSSIAN} \
|
||||
"Личный каталог"
|
||||
LangString str_desc_plugin_home ${LANG_RUSSIAN} \
|
||||
"Создание каталога для подключаемых модулей в домашнем каталоге пользователя"
|
||||
|
||||
LangString str_section_plugin_vim ${LANG_RUSSIAN} \
|
||||
"Общий каталог"
|
||||
LangString str_desc_plugin_vim ${LANG_RUSSIAN} \
|
||||
"Создание каталога для подключаемых модулей в каталоге установки редактора Vim. \
|
||||
Модули в этом каталоге будут доступны для любого пользователя \
|
||||
зарегистрировавшегося в системе"
|
||||
|
||||
LangString str_section_vis_vim ${LANG_RUSSIAN} \
|
||||
"Подключаемый модуль VisVim"
|
||||
LangString str_desc_vis_vim ${LANG_RUSSIAN} \
|
||||
"Подключаемый модуль VisVim используется для интеграции с Microsoft Visual Studio"
|
||||
|
||||
LangString str_section_nls ${LANG_RUSSIAN} \
|
||||
"Поддержка региональных языков"
|
||||
LangString str_desc_nls ${LANG_RUSSIAN} \
|
||||
"Установка файлов для поддержки региональных языков операционной системы"
|
||||
|
||||
LangString str_unsection_register ${LANG_RUSSIAN} \
|
||||
"Отменить регистрацию компонентов программы Vim"
|
||||
LangString str_desc_unregister ${LANG_RUSSIAN} \
|
||||
"Отмена регистрации компонентов программы Vim в операционной системе"
|
||||
|
||||
LangString str_unsection_exe ${LANG_RUSSIAN} \
|
||||
"Удалить файлы редактора Vim"
|
||||
LangString str_desc_rm_exe ${LANG_RUSSIAN} \
|
||||
"Удаление всех исполняемых и вспомогательных файлов редактора Vim"
|
||||
|
||||
LangString str_ungroup_plugin ${LANG_RUSSIAN} \
|
||||
"Удалить каталог подключаемых модулей"
|
||||
LangString str_desc_rm_plugin ${LANG_RUSSIAN} \
|
||||
"Удаление каталога подключаемых модулей, если в нём нет файлов"
|
||||
|
||||
LangString str_unsection_plugin_home ${LANG_RUSSIAN} \
|
||||
"Личный каталог"
|
||||
LangString str_desc_rm_plugin_home ${LANG_RUSSIAN} \
|
||||
"Удаление каталога подключаемых модулей из домашнего каталога пользователя"
|
||||
|
||||
LangString str_unsection_plugin_vim ${LANG_RUSSIAN} \
|
||||
"Общий каталог"
|
||||
LangString str_desc_rm_plugin_vim ${LANG_RUSSIAN} \
|
||||
"Удаление каталога подключаемых модулей из каталога установки редактора Vim"
|
||||
|
||||
LangString str_unsection_rootdir ${LANG_RUSSIAN} \
|
||||
"Удалить основной каталог программы Vim"
|
||||
LangString str_desc_rm_rootdir ${LANG_RUSSIAN} \
|
||||
"Удаление основного каталога программы Vim. В этом каталоге находятся файлы \
|
||||
настроек!"
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Messages {{{1
|
||||
##############################################################################
|
||||
|
||||
#LangString str_msg_too_many_ver ${LANG_RUSSIAN} \
|
||||
# "Обнаружено предыдущих версий программы Vim: $vim_old_ver_count.$\r$\n\
|
||||
# Данная программа установки может удалить не более ${VIM_MAX_OLD_VER}.$\r$\n\
|
||||
# Удалить лишние версии программы Vim и повторите установку"
|
||||
|
||||
#LangString str_msg_invalid_root ${LANG_RUSSIAN} \
|
||||
# "Недопустимый каталог установки программы Vim $vim_install_root!$\r$\n\
|
||||
# Маршрут установки должен оканчиваться каталогом $\"vim$\""
|
||||
|
||||
#LangString str_msg_bin_mismatch ${LANG_RUSSIAN} \
|
||||
# "Недопустимый маршрут к каталогу с исполняемыми файлами!$\r$\n$\r$\n\
|
||||
# Маршрут к каталогу с исполняемыми файлами должен быть $\"$vim_bin_path$\",$\r$\n\
|
||||
# но от операционной системы получен как $\"$INSTDIR$\"."
|
||||
|
||||
#LangString str_msg_vim_running ${LANG_RUSSIAN} \
|
||||
# "Программа Vim сейчас работает.$\r$\n\
|
||||
# Прежде чем продолжить, закройте все работающие редакторы Vim"
|
||||
|
||||
#LangString str_msg_register_ole ${LANG_RUSSIAN} \
|
||||
# "Попытка зарегистрировать компоненты программы Vim в пространстве OLE. \
|
||||
# Но не получено уведомление об успешности данной операции"
|
||||
|
||||
#LangString str_msg_unreg_ole ${LANG_RUSSIAN} \
|
||||
# "Попытка отменить регистрацию компонентов программы Vim в пространстве OLE. \
|
||||
# Но не получено уведомление об успешности данной операции"
|
||||
|
||||
#LangString str_msg_rm_start ${LANG_RUSSIAN} \
|
||||
# "Выполняется удаление следующих версий программы:"
|
||||
|
||||
#LangString str_msg_rm_fail ${LANG_RUSSIAN} \
|
||||
# "Произошёл сбой при выполнении удаления следующих версий программы:"
|
||||
|
||||
#LangString str_msg_no_rm_key ${LANG_RUSSIAN} \
|
||||
# "Не удалось найти раздел реестра, содержащий информацию об удалении программы"
|
||||
|
||||
#LangString str_msg_no_rm_reg ${LANG_RUSSIAN} \
|
||||
# "Не удалось найти программу выполняющую удаление, указанную в разделе реестра"
|
||||
|
||||
#LangString str_msg_no_rm_exe ${LANG_RUSSIAN} \
|
||||
# "Отсутствуют права на доступ к программе, выполняющей удаление"
|
||||
|
||||
#LangString str_msg_rm_copy_fail ${LANG_RUSSIAN} \
|
||||
# "Произошла ошибка при копировании программы удаления во временный каталог"
|
||||
|
||||
#LangString str_msg_rm_run_fail ${LANG_RUSSIAN} \
|
||||
# "Произошёл сбой при запуске программы, выполняющей удаление"
|
||||
|
||||
#LangString str_msg_abort_install ${LANG_RUSSIAN} \
|
||||
# "Установка программы была отменена"
|
||||
|
||||
LangString str_msg_install_fail ${LANG_RUSSIAN} \
|
||||
"Произошла ошибка при установке программы. Попробуйте повторить установку \
|
||||
немного попозже"
|
||||
# когда луна будет в другой фазе и ветер должен дуть с юго‐запада
|
||||
|
||||
LangString str_msg_rm_exe_fail ${LANG_RUSSIAN} \
|
||||
"Некоторые файлы не были удалены из каталога $0 $\r$\n\
|
||||
Необходимо выполнить их удаление самостоятельно"
|
||||
|
||||
#LangString str_msg_rm_root_fail ${LANG_RUSSIAN} \
|
||||
# "Внимание! В каталоге $\"$vim_install_root$\" содержатся файлы. Удаление каталога не выполнено"
|
||||
|
||||
LangString str_msg_uninstalling ${LANG_RUSSIAN} \
|
||||
"Удаление предыдущих версий программ..."
|
||||
|
||||
LangString str_msg_registering ${LANG_RUSSIAN} \
|
||||
"Регистрация компонентов программы в системе..."
|
||||
|
||||
LangString str_msg_unregistering ${LANG_RUSSIAN} \
|
||||
"Отмена регистрации компонентов программы в системе..."
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Dialog Box {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString str_vimrc_page_title ${LANG_RUSSIAN} \
|
||||
"Установка параметров программы"
|
||||
LangString str_vimrc_page_subtitle ${LANG_RUSSIAN} \
|
||||
"Параметры, используемые для клавиатуры, «мыши» и функциональности программы"
|
||||
|
||||
LangString str_msg_compat_title ${LANG_RUSSIAN} \
|
||||
" Варианты использования программы "
|
||||
LangString str_msg_compat_desc ${LANG_RUSSIAN} \
|
||||
"Совместимость и функциональность программы"
|
||||
LangString str_msg_compat_vi ${LANG_RUSSIAN} \
|
||||
"Работа в варианте совместимости с редактором Vi"
|
||||
LangString str_msg_compat_vim ${LANG_RUSSIAN} \
|
||||
"Работа в варианте функциональности редактора Vim"
|
||||
LangString str_msg_compat_defaults ${LANG_RUSSIAN} \
|
||||
"Работа редактора Vim с некоторыми улучшениями (файл defaults.vim)"
|
||||
LangString str_msg_compat_all ${LANG_RUSSIAN} \
|
||||
"Работа редактора Vim со всеми улучшениями (файл vimrc_example.vim). \
|
||||
Используется по умолчанию"
|
||||
|
||||
LangString str_msg_keymap_title ${LANG_RUSSIAN} \
|
||||
" Клавиатурные команды "
|
||||
LangString str_msg_keymap_desc ${LANG_RUSSIAN} \
|
||||
"Клавиатурные команды используемые в ОС Windows (CTRL+V, CTRL+C, CTRL+S, CTRL+F и т. п.)"
|
||||
LangString str_msg_keymap_default ${LANG_RUSSIAN} \
|
||||
"Не изменять клавиатурные команды. Использовать принятые в редакторе Vim"
|
||||
LangString str_msg_keymap_windows ${LANG_RUSSIAN} \
|
||||
"Изменить указанные клавиатурные команды"
|
||||
|
||||
LangString str_msg_mouse_title ${LANG_RUSSIAN} \
|
||||
" Манипулятор «мышь» "
|
||||
LangString str_msg_mouse_desc ${LANG_RUSSIAN} \
|
||||
"Действий правой и левой кнопки манипулятора «мышь»"
|
||||
LangString str_msg_mouse_default ${LANG_RUSSIAN} \
|
||||
"Правая кнопка — всплывающее меню, левая кнопка — режим визуальный"
|
||||
LangString str_msg_mouse_windows ${LANG_RUSSIAN} \
|
||||
"Правая кнопка — всплывающее меню, левая кнопка — режим выборки (как в ОС Windows)"
|
||||
LangString str_msg_mouse_unix ${LANG_RUSSIAN} \
|
||||
"Правая кнопка — расширяемый режим выбора, левая кнопка — режим визуальный (как в UNIX‐подобных ОС)"
|
||||
@@ -1,13 +1,13 @@
|
||||
" Vim completion script
|
||||
" Language: C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2020 Apr 08
|
||||
" Last Change: 2020 Nov 14
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" This function is used for the 'omnifunc' option.
|
||||
function! ccomplete#Complete(findstart, base)
|
||||
func ccomplete#Complete(findstart, base)
|
||||
if a:findstart
|
||||
" Locate the start of the item, including ".", "->" and "[...]".
|
||||
let line = getline('.')
|
||||
@@ -244,7 +244,7 @@ function! ccomplete#Complete(findstart, base)
|
||||
return map(res, 's:Tagline2item(v:val, brackets)')
|
||||
endfunc
|
||||
|
||||
function! s:GetAddition(line, match, memarg, bracket)
|
||||
func s:GetAddition(line, match, memarg, bracket)
|
||||
" Guess if the item is an array.
|
||||
if a:bracket && match(a:line, a:match . '\s*\[') > 0
|
||||
return '['
|
||||
@@ -260,13 +260,13 @@ function! s:GetAddition(line, match, memarg, bracket)
|
||||
endif
|
||||
endif
|
||||
return ''
|
||||
endfunction
|
||||
endfunc
|
||||
|
||||
" Turn the tag info "val" into an item for completion.
|
||||
" "val" is is an item in the list returned by taglist().
|
||||
" If it is a variable we may add "." or "->". Don't do it for other types,
|
||||
" such as a typedef, by not including the info that s:GetAddition() uses.
|
||||
function! s:Tag2item(val)
|
||||
func s:Tag2item(val)
|
||||
let res = {'match': a:val['name']}
|
||||
|
||||
let res['extra'] = s:Tagcmd2extra(a:val['cmd'], a:val['name'], a:val['filename'])
|
||||
@@ -289,10 +289,10 @@ function! s:Tag2item(val)
|
||||
endif
|
||||
|
||||
return res
|
||||
endfunction
|
||||
endfunc
|
||||
|
||||
" Use all the items in dictionary for the "info" entry.
|
||||
function! s:Dict2info(dict)
|
||||
func s:Dict2info(dict)
|
||||
let info = ''
|
||||
for k in sort(keys(a:dict))
|
||||
let info .= k . repeat(' ', 10 - len(k))
|
||||
@@ -307,7 +307,7 @@ function! s:Dict2info(dict)
|
||||
endfunc
|
||||
|
||||
" Parse a tag line and return a dictionary with items like taglist()
|
||||
function! s:ParseTagline(line)
|
||||
func s:ParseTagline(line)
|
||||
let l = split(a:line, "\t")
|
||||
let d = {}
|
||||
if len(l) >= 3
|
||||
@@ -334,12 +334,12 @@ function! s:ParseTagline(line)
|
||||
endif
|
||||
|
||||
return d
|
||||
endfunction
|
||||
endfunc
|
||||
|
||||
" Turn a match item "val" into an item for completion.
|
||||
" "val['match']" is the matching item.
|
||||
" "val['tagline']" is the tagline in which the last part was found.
|
||||
function! s:Tagline2item(val, brackets)
|
||||
func s:Tagline2item(val, brackets)
|
||||
let line = a:val['tagline']
|
||||
let add = s:GetAddition(line, a:val['match'], [a:val], a:brackets == '')
|
||||
let res = {'word': a:val['match'] . a:brackets . add }
|
||||
@@ -377,10 +377,10 @@ function! s:Tagline2item(val, brackets)
|
||||
let res['menu'] = s:Tagcmd2extra(s, a:val['match'], matchstr(line, '[^\t]*\t\zs[^\t]*\ze\t'))
|
||||
endif
|
||||
return res
|
||||
endfunction
|
||||
endfunc
|
||||
|
||||
" Turn a command from a tag line to something that is useful in the menu
|
||||
function! s:Tagcmd2extra(cmd, name, fname)
|
||||
func s:Tagcmd2extra(cmd, name, fname)
|
||||
if a:cmd =~ '^/^'
|
||||
" The command is a search command, useful to see what it is.
|
||||
let x = matchstr(a:cmd, '^/^\s*\zs.*\ze$/')
|
||||
@@ -395,13 +395,13 @@ function! s:Tagcmd2extra(cmd, name, fname)
|
||||
let x = a:cmd . ' - ' . a:fname
|
||||
endif
|
||||
return x
|
||||
endfunction
|
||||
endfunc
|
||||
|
||||
" Find composing type in "lead" and match items[0] with it.
|
||||
" Repeat this recursively for items[1], if it's there.
|
||||
" When resolving typedefs "depth" is used to avoid infinite recursion.
|
||||
" Return the list of matches.
|
||||
function! s:Nextitem(lead, items, depth, all)
|
||||
func s:Nextitem(lead, items, depth, all)
|
||||
|
||||
" Use the text up to the variable name and split it in tokens.
|
||||
let tokens = split(a:lead, '\s\+\|\<')
|
||||
@@ -485,7 +485,7 @@ function! s:Nextitem(lead, items, depth, all)
|
||||
endfor
|
||||
|
||||
return res
|
||||
endfunction
|
||||
endfunc
|
||||
|
||||
|
||||
" Search for members of structure "typename" in tags files.
|
||||
@@ -493,7 +493,7 @@ endfunction
|
||||
" Each match is a dictionary with "match" and "tagline" entries.
|
||||
" When "all" is non-zero find all, otherwise just return 1 if there is any
|
||||
" member.
|
||||
function! s:StructMembers(typename, items, all)
|
||||
func s:StructMembers(typename, items, all)
|
||||
" Todo: What about local structures?
|
||||
let fnames = join(map(tagfiles(), 'escape(v:val, " \\#%")'))
|
||||
if fnames == ''
|
||||
@@ -586,12 +586,12 @@ function! s:StructMembers(typename, items, all)
|
||||
|
||||
" Failed to find anything.
|
||||
return []
|
||||
endfunction
|
||||
endfunc
|
||||
|
||||
" For matching members, find matches for following items.
|
||||
" When "all" is non-zero find all, otherwise just return 1 if there is any
|
||||
" member.
|
||||
function! s:SearchMembers(matches, items, all)
|
||||
func s:SearchMembers(matches, items, all)
|
||||
let res = []
|
||||
for i in range(len(a:matches))
|
||||
let typename = ''
|
||||
|
||||
4
runtime/autoload/dist/ft.vim
vendored
4
runtime/autoload/dist/ft.vim
vendored
@@ -1,7 +1,7 @@
|
||||
" Vim functions for file type detection
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2020 Mar 30
|
||||
" Last Change: 2020 Aug 17
|
||||
|
||||
" These functions are moved here from runtime/filetype.vim to make startup
|
||||
" faster.
|
||||
@@ -575,7 +575,7 @@ endfunc
|
||||
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
|
||||
func dist#ft#FTRules()
|
||||
let path = expand('<amatch>:p')
|
||||
if path =~ '^/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
|
||||
if path =~ '/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|\%(usr/\)\=lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
|
||||
setf udevrules
|
||||
return
|
||||
endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" netrw.vim: Handles file transfer and remote directory listing across
|
||||
" AUTOLOAD SECTION
|
||||
" Date: Jan 07, 2020
|
||||
" Version: 168
|
||||
" Date: Sep 18, 2020
|
||||
" Version: 170
|
||||
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
|
||||
@@ -43,7 +43,7 @@ if exists("s:needspatches")
|
||||
endfor
|
||||
endif
|
||||
|
||||
let g:loaded_netrw = "v168"
|
||||
let g:loaded_netrw = "v170"
|
||||
if !exists("s:NOTE")
|
||||
let s:NOTE = 0
|
||||
let s:WARNING = 1
|
||||
@@ -86,7 +86,16 @@ fun! netrw#ErrorMsg(level,msg,errnum)
|
||||
endif
|
||||
" call Decho("level=".level,'~'.expand("<slnum>"))
|
||||
|
||||
if g:netrw_use_errorwindow
|
||||
if g:netrw_use_errorwindow == 2 && (v:version > 802 || (v:version == 802 && has("patch486")))
|
||||
" use popup window
|
||||
if type(a:msg) == 3
|
||||
let msg = [level]+a:msg
|
||||
else
|
||||
let msg= level.a:msg
|
||||
endif
|
||||
let s:popuperr_id = popup_beval(msg,{})
|
||||
let s:popuperr_text= ""
|
||||
elseif g:netrw_use_errorwindow
|
||||
" (default) netrw creates a one-line window to show error/warning
|
||||
" messages (reliably displayed)
|
||||
|
||||
@@ -203,7 +212,11 @@ let g:netrw_localrmdiropt = ""
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Default values for netrw's global protocol variables {{{2
|
||||
call s:NetrwInit("g:netrw_use_errorwindow",1)
|
||||
if (v:version > 802 || (v:version == 802 && has("patch486"))) && has("balloon_eval") && !exists("s:initbeval") && !exists("g:netrw_nobeval") && has("syntax") && exists("g:syntax_on") && has("mouse")
|
||||
call s:NetrwInit("g:netrw_use_errorwindow",2)
|
||||
else
|
||||
call s:NetrwInit("g:netrw_use_errorwindow",1)
|
||||
endif
|
||||
|
||||
if !exists("g:netrw_dav_cmd")
|
||||
if executable("cadaver")
|
||||
@@ -559,6 +572,7 @@ call s:NetrwInit("s:netrw_posn",'{}')
|
||||
if v:version >= 700 && has("balloon_eval") && !exists("s:initbeval") && !exists("g:netrw_nobeval") && has("syntax") && exists("g:syntax_on")
|
||||
" call Decho("installed beval events",'~'.expand("<slnum>"))
|
||||
let &l:bexpr = "netrw#BalloonHelp()"
|
||||
" call Decho("&l:bexpr<".&l:bexpr."> buf#".bufnr())
|
||||
au FileType netrw setl beval
|
||||
au WinLeave * if &ft == "netrw" && exists("s:initbeval")|let &beval= s:initbeval|endif
|
||||
au VimEnter * let s:initbeval= &beval
|
||||
@@ -591,7 +605,18 @@ if v:version >= 700 && has("balloon_eval") && has("syntax") && exists("g:syntax_
|
||||
if &ft != "netrw"
|
||||
return ""
|
||||
endif
|
||||
if !exists("w:netrw_bannercnt") || v:beval_lnum >= w:netrw_bannercnt || (exists("g:netrw_nobeval") && g:netrw_nobeval)
|
||||
if exists("s:popuperr_id") && popup_getpos(s:popuperr_id) != {}
|
||||
" popup error window is still showing
|
||||
" s:pouperr_id and s:popuperr_text are set up in netrw#ErrorMsg()
|
||||
if exists("s:popuperr_text") && s:popuperr_text != "" && v:beval_text != s:popuperr_text
|
||||
" text under mouse hasn't changed; only close window when it changes
|
||||
call popup_close(s:popuperr_id)
|
||||
unlet s:popuperr_text
|
||||
else
|
||||
let s:popuperr_text= v:beval_text
|
||||
endif
|
||||
let mesg= ""
|
||||
elseif !exists("w:netrw_bannercnt") || v:beval_lnum >= w:netrw_bannercnt || (exists("g:netrw_nobeval") && g:netrw_nobeval)
|
||||
let mesg= ""
|
||||
elseif v:beval_text == "Netrw" || v:beval_text == "Directory" || v:beval_text == "Listing"
|
||||
let mesg = "i: thin-long-wide-tree gh: quick hide/unhide of dot-files qf: quick file info %:open new file"
|
||||
@@ -1247,6 +1272,10 @@ fun! netrw#Lexplore(count,rightside,...)
|
||||
setlocal winfixwidth
|
||||
let g:netrw_altv = keep_altv
|
||||
let t:netrw_lexbufnr = bufnr("%")
|
||||
" done to prevent build-up of hidden buffers due to quitting and re-invocation of :Lexplore.
|
||||
" Since the intended use of :Lexplore is to have an always-present explorer window, the extra
|
||||
" effort to mis-use :Lex is warranted.
|
||||
set bh=wipe
|
||||
" call Decho("let t:netrw_lexbufnr=".t:netrw_lexbufnr)
|
||||
" call Decho("t:netrw_lexposn".(exists("t:netrw_lexposn")? string(t:netrw_lexposn) : " n/a"))
|
||||
if exists("t:netrw_lexposn")
|
||||
@@ -1908,7 +1937,7 @@ fun! s:NetrwRestoreSetting(keepvar,setting)
|
||||
if type(a:setting) == 0
|
||||
exe "let ".a:setting."= ".keepvarval
|
||||
elseif type(a:setting) == 1
|
||||
exe "let ".a:setting."= '".keepvarval."'"
|
||||
exe "let ".a:setting."= '".substitute(keepvarval,"'","''","g")."'"
|
||||
else
|
||||
call netrw#ErrorMsg(s:ERROR,"(s:NetrwRestoreSetting) doesn't know how to restore ".a:keepvar." with a setting of type#".type(a:setting),105)
|
||||
endif
|
||||
@@ -3640,6 +3669,8 @@ fun! s:NetrwBookHistSave()
|
||||
let savefile= s:NetrwHome()."/.netrwhist"
|
||||
" call Decho("savefile<".savefile.">",'~'.expand("<slnum>"))
|
||||
1split
|
||||
|
||||
" setting up a new buffer which will become .netrwhist
|
||||
call s:NetrwEnew()
|
||||
" call Decho("case g:netrw_use_noswf=".g:netrw_use_noswf.(exists("+acd")? " +acd" : " -acd"),'~'.expand("<slnum>"))
|
||||
if g:netrw_use_noswf
|
||||
@@ -4722,7 +4753,7 @@ endfun
|
||||
" "new directory name" is actually a file,
|
||||
" NetrwBrowseChgDir() edits the file.
|
||||
fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
" call Dfunc("s:NetrwBrowseChgDir(islocal=".a:islocal."> newdir<".a:newdir.">) a:0=".a:0." curpos<".string(getpos("."))."> b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : "").">")
|
||||
" call Dfunc("s:NetrwBrowseChgDir(islocal=".a:islocal."> newdir<".a:newdir.">) a:0=".a:0." win#".winnr()." curpos<".string(getpos("."))."> b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : "").">")
|
||||
" call Decho("tab#".tabpagenr()." win#".winnr()." buf#".bufnr("%")."<".bufname("%")."> line#".line(".")." col#".col(".")." winline#".winline()." wincol#".wincol(),'~'.expand("<slnum>"))
|
||||
|
||||
let ykeep= @@
|
||||
@@ -4751,13 +4782,14 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
let newdir = a:newdir
|
||||
let dolockout = 0
|
||||
let dorestore = 1
|
||||
" call Decho("win#".winnr(),'~'.expand("<slnum>"))
|
||||
" call Decho("dirname<".dirname.">",'~'.expand("<slnum>"))
|
||||
" call Decho("newdir<".newdir.">",'~'.expand("<slnum>"))
|
||||
|
||||
" ignore <cr>s when done in the banner
|
||||
" call Decho('(s:NetrwBrowseChgDir) ignore [return]s when done in banner (g:netrw_banner='.g:netrw_banner.")",'~'.expand("<slnum>"))
|
||||
if g:netrw_banner
|
||||
" call Decho("w:netrw_bannercnt=".(exists("w:netrw_bannercnt")? w:netrw_bannercnt : 'n/a')." line(.)#".line('.')." line($)#".line("#"),'~'.expand("<slnum>"))
|
||||
" call Decho("win#".winnr()." w:netrw_bannercnt=".(exists("w:netrw_bannercnt")? w:netrw_bannercnt : 'n/a')." line(.)#".line('.')." line($)#".line("#"),'~'.expand("<slnum>"))
|
||||
if exists("w:netrw_bannercnt") && line(".") < w:netrw_bannercnt && line("$") >= w:netrw_bannercnt
|
||||
if getline(".") =~# 'Quick Help'
|
||||
" call Decho("#1: quickhelp=".g:netrw_quickhelp." ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap." (filename<".expand("%")."> win#".winnr()." ft<".&ft.">)",'~'.expand("<slnum>"))
|
||||
@@ -4794,7 +4826,7 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
" ------------------------------
|
||||
" NetrwBrowseChgDir: edit a file {{{3
|
||||
" ------------------------------
|
||||
" call Decho('(s:NetrwBrowseChgDir) edit-a-file: case "handling a file": newdir<'.newdir.'> !~ dirpat<'.dirpat.">",'~'.expand("<slnum>"))
|
||||
" call Decho('edit-a-file: case "handling a file": win#'.winnr().' newdir<'.newdir.'> !~ dirpat<'.dirpat.">",'~'.expand("<slnum>"))
|
||||
|
||||
" save position for benefit of Rexplore
|
||||
let s:rexposn_{bufnr("%")}= winsaveview()
|
||||
@@ -4829,7 +4861,7 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
NetrwKeepj call s:NetrwOptionsRestore("s:")
|
||||
let curdir= b:netrw_curdir
|
||||
if !exists("s:didsplit")
|
||||
" call Decho("edit-a-file: s:didsplit does not exist; g:netrw_browse_split=".string(g:netrw_browse_split)." win#".winnr(),'~'.expand("<slnum>"))
|
||||
" " call Decho("edit-a-file: s:didsplit does not exist; g:netrw_browse_split=".string(g:netrw_browse_split)." win#".winnr()." g:netrw_chgwin=".g:netrw_chgwin",'~'.expand("<slnum>"))
|
||||
if type(g:netrw_browse_split) == 3
|
||||
" open file in server
|
||||
" Note that g:netrw_browse_split is a List: [servername,tabnr,winnr]
|
||||
@@ -4837,22 +4869,27 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
call s:NetrwServerEdit(a:islocal,dirname)
|
||||
" call Dret("s:NetrwBrowseChgDir")
|
||||
return
|
||||
|
||||
elseif g:netrw_browse_split == 1
|
||||
" horizontally splitting the window first
|
||||
" call Decho("edit-a-file: horizontally splitting window prior to edit",'~'.expand("<slnum>"))
|
||||
keepalt new
|
||||
let winsz= (g:netrw_winsize > 0)? (g:netrw_winsize*winheight(0))/100 : -g:netrw_winsize
|
||||
exe "keepalt ".(g:netrw_alto? "bel " : "abo ").winsz."wincmd s"
|
||||
if !&ea
|
||||
keepalt wincmd _
|
||||
endif
|
||||
call s:SetRexDir(a:islocal,curdir)
|
||||
|
||||
elseif g:netrw_browse_split == 2
|
||||
" vertically splitting the window first
|
||||
" call Decho("edit-a-file: vertically splitting window prior to edit",'~'.expand("<slnum>"))
|
||||
keepalt rightb vert new
|
||||
let winsz= (g:netrw_winsize > 0)? (g:netrw_winsize*winwidth(0))/100 : -g:netrw_winsize
|
||||
exe "keepalt ".(g:netrw_alto? "top " : "bot ")."vert ".winsz."wincmd s"
|
||||
if !&ea
|
||||
keepalt wincmd |
|
||||
endif
|
||||
call s:SetRexDir(a:islocal,curdir)
|
||||
|
||||
elseif g:netrw_browse_split == 3
|
||||
" open file in new tab
|
||||
" call Decho("edit-a-file: opening new tab prior to edit",'~'.expand("<slnum>"))
|
||||
@@ -4861,6 +4898,7 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
let b:netrw_curdir= getcwd()
|
||||
endif
|
||||
call s:SetRexDir(a:islocal,curdir)
|
||||
|
||||
elseif g:netrw_browse_split == 4
|
||||
" act like "P" (ie. open previous window)
|
||||
" call Decho("edit-a-file: use previous window for edit",'~'.expand("<slnum>"))
|
||||
@@ -4870,13 +4908,14 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
return
|
||||
endif
|
||||
call s:SetRexDir(a:islocal,curdir)
|
||||
|
||||
else
|
||||
" handling a file, didn't split, so remove menu
|
||||
" call Decho("edit-a-file: handling a file+didn't split, so remove menu",'~'.expand("<slnum>"))
|
||||
call s:NetrwMenu(0)
|
||||
" optional change to window
|
||||
if g:netrw_chgwin >= 1
|
||||
" call Decho("edit-a-file: changing window to #".g:netrw_chgwin,'~'.expand("<slnum>"))
|
||||
" call Decho("edit-a-file: changing window to #".g:netrw_chgwin.": (due to g:netrw_chgwin)",'~'.expand("<slnum>"))
|
||||
if winnr("$")+1 == g:netrw_chgwin
|
||||
" if g:netrw_chgwin is set to one more than the last window, then
|
||||
" vertically split the last window to make that window available.
|
||||
@@ -4889,19 +4928,26 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
endif
|
||||
call s:SetRexDir(a:islocal,curdir)
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
" the point where netrw actually edits the (local) file
|
||||
" if its local only: LocalBrowseCheck() doesn't edit a file, but NetrwBrowse() will
|
||||
" no keepalt to support :e # to return to a directory listing
|
||||
if !&mod
|
||||
" if e the new file would fail due to &mod, then don't change any of the flags
|
||||
let dolockout= 1
|
||||
endif
|
||||
if a:islocal
|
||||
" call Decho("edit-a-file: edit local file: exe e! ".fnameescape(dirname),'~'.expand("<slnum>"))
|
||||
" some like c-^ to return to the last edited file
|
||||
" others like c-^ to return to the netrw buffer
|
||||
" Apr 30, 2020: used to have e! here. That can cause loss of a modified file,
|
||||
" so emit error E37 instead.
|
||||
if exists("g:netrw_altfile") && g:netrw_altfile
|
||||
exe "NetrwKeepj keepalt e! ".fnameescape(dirname)
|
||||
exe "NetrwKeepj keepalt e ".fnameescape(dirname)
|
||||
else
|
||||
exe "NetrwKeepj e! ".fnameescape(dirname)
|
||||
exe "NetrwKeepj e ".fnameescape(dirname)
|
||||
endif
|
||||
" call Decho("edit-a-file: after e! ".dirname.": hidden=".&hidden." bufhidden<".&bufhidden."> mod=".&mod,'~'.expand("<slnum>"))
|
||||
call s:NetrwCursor()
|
||||
@@ -4912,7 +4958,6 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
else
|
||||
" call Decho("edit-a-file: remote file: NetrwBrowse will edit it",'~'.expand("<slnum>"))
|
||||
endif
|
||||
let dolockout= 1
|
||||
|
||||
" handle g:Netrw_funcref -- call external-to-netrw functions
|
||||
" This code will handle g:Netrw_funcref as an individual function reference
|
||||
@@ -5376,16 +5421,6 @@ fun! netrw#BrowseX(fname,remote)
|
||||
endif
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("unix") && executable("kfmclient") && s:CheckIfKde()
|
||||
" call Decho("(netrw#BrowseX) unix and kfmclient",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe("sil !kfmclient exec ".s:ShellEscape(fname,1)." ".redir)
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("unix") && executable("exo-open") && executable("xdg-open") && executable("setsid")
|
||||
" call Decho("(netrw#BrowseX) unix, exo-open, xdg-open",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe("sil !setsid xdg-open ".s:ShellEscape(fname,1).redir)
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("unix") && $DESKTOP_SESSION == "mate" && executable("atril")
|
||||
" call Decho("(netrw#BrowseX) unix and atril",'~'.expand("<slnum>"))
|
||||
if a:fname =~ '^https\=://'
|
||||
@@ -5400,9 +5435,19 @@ fun! netrw#BrowseX(fname,remote)
|
||||
endif
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("unix") && executable("kfmclient") && s:CheckIfKde()
|
||||
" call Decho("(netrw#BrowseX) unix and kfmclient",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe("sil !kfmclient exec ".s:ShellEscape(fname,1)." ".redir)
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("unix") && executable("exo-open") && executable("xdg-open") && executable("setsid")
|
||||
" call Decho("(netrw#BrowseX) unix, exo-open, xdg-open",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe("sil !setsid xdg-open ".s:ShellEscape(fname,1).redir.'&')
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("unix") && executable("xdg-open")
|
||||
" call Decho("(netrw#BrowseX) unix and xdg-open",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe("sil !xdg-open ".s:ShellEscape(fname,1).redir)
|
||||
call s:NetrwExe("sil !xdg-open ".s:ShellEscape(fname,1).redir.'&')
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("macunix") && executable("open")
|
||||
@@ -6107,10 +6152,10 @@ fun! s:NetrwListHide()
|
||||
" Duplicate characters don't matter.
|
||||
" Remove all such characters from the '/~@#...890' string.
|
||||
" Use the first character left as a separator character.
|
||||
" call Decho("find a character not in the hide string to use as a separator")
|
||||
" call Decho("find a character not in the hide string to use as a separator",'~'.expand("<slnum>"))
|
||||
let listhide= g:netrw_list_hide
|
||||
let sep = strpart(substitute('~@#$%^&*{};:,<.>?|1234567890','['.escape(listhide,'-]^\').']','','ge'),1,1)
|
||||
" call Decho("sep=".sep," (sep not in hide string)'~'.expand("<slnum>"))
|
||||
" call Decho("sep<".sep."> (sep not in hide string)",'~'.expand("<slnum>"))
|
||||
|
||||
while listhide != ""
|
||||
if listhide =~ ','
|
||||
@@ -6120,7 +6165,7 @@ fun! s:NetrwListHide()
|
||||
let hide = listhide
|
||||
let listhide = ""
|
||||
endif
|
||||
" call Decho("..extracted from listhide: hide<".hide."> g:netrw_sort_by<".g:netrw_sort_by.'>','~'.expand("<slnum>"))
|
||||
" call Decho("..extracted pattern from listhide: hide<".hide."> g:netrw_sort_by<".g:netrw_sort_by.'>','~'.expand("<slnum>"))
|
||||
if g:netrw_sort_by =~ '^[ts]'
|
||||
if hide =~ '^\^'
|
||||
" call Decho("..modify hide to handle a \"^...\" pattern",'~'.expand("<slnum>"))
|
||||
@@ -6132,7 +6177,7 @@ fun! s:NetrwListHide()
|
||||
endif
|
||||
|
||||
" Prune the list by hiding any files which match
|
||||
" call Decho("..prune the list by hiding any files which ",((g:netrw_hide == 1)? "" : "don't")." match hide<".hide.">")
|
||||
" call Decho("..prune the list by hiding any files which ".((g:netrw_hide == 1)? "" : "don't")."match hide<".hide.">")
|
||||
if g:netrw_hide == 1
|
||||
" call Decho("..hiding<".hide.">",'~'.expand("<slnum>"))
|
||||
exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$g'.sep.hide.sep.'d'
|
||||
@@ -9215,6 +9260,7 @@ endfun
|
||||
" (full path directory with trailing slash returned)
|
||||
fun! s:NetrwTreeDir(islocal)
|
||||
" call Dfunc("s:NetrwTreeDir(islocal=".a:islocal.") getline(".line(".").")"."<".getline('.')."> b:netrw_curdir<".b:netrw_curdir."> tab#".tabpagenr()." win#".winnr()." buf#".bufnr("%")."<".bufname("%")."> ft=".&ft)
|
||||
" call Decho("Determine tree directory given current cursor position")
|
||||
" call Decho("g:netrw_keepdir =".(exists("g:netrw_keepdir")? g:netrw_keepdir : 'n/a'),'~'.expand("<slnum>"))
|
||||
" call Decho("w:netrw_liststyle=".(exists("w:netrw_liststyle")? w:netrw_liststyle : 'n/a'),'~'.expand("<slnum>"))
|
||||
" call Decho("w:netrw_treetop =".(exists("w:netrw_treetop")? w:netrw_treetop : 'n/a'),'~'.expand("<slnum>"))
|
||||
@@ -9320,7 +9366,6 @@ fun! s:NetrwTreeDisplay(dir,depth)
|
||||
call setline(line("$")+1,a:depth.shortdir.'/')
|
||||
endif
|
||||
" call Decho("setline#".line("$")." shortdir<".a:depth.shortdir.">",'~'.expand("<slnum>"))
|
||||
|
||||
" append a / to dir if its missing one
|
||||
let dir= a:dir
|
||||
|
||||
@@ -9334,7 +9379,7 @@ fun! s:NetrwTreeDisplay(dir,depth)
|
||||
let listhide= split(g:netrw_list_hide,',')
|
||||
" call Decho("listhide=".string(listhide))
|
||||
for pat in listhide
|
||||
call filter(w:netrw_treedict[dir],'v:val !~ "'.pat.'"')
|
||||
call filter(w:netrw_treedict[dir],'v:val !~ "'.escape(pat,'\\').'"')
|
||||
endfor
|
||||
|
||||
elseif g:netrw_hide == 2
|
||||
@@ -9472,6 +9517,7 @@ fun! s:NetrwTreeListing(dirname)
|
||||
" call Decho("g:netrw_banner=".g:netrw_banner.": banner ".(g:netrw_banner? "enabled" : "suppressed").": (line($)=".line("$")." byte2line(1)=".byte2line(1)." bannercnt=".w:netrw_bannercnt.")",'~'.expand("<slnum>"))
|
||||
|
||||
" display from treetop on down
|
||||
" call Decho("(s:NetrwTreeListing) w:netrw_treetop<".w:netrw_treetop.">")
|
||||
NetrwKeepj call s:NetrwTreeDisplay(w:netrw_treetop,"")
|
||||
" call Decho("s:NetrwTreeDisplay) setl noma nomod ro",'~'.expand("<slnum>"))
|
||||
|
||||
@@ -9742,7 +9788,7 @@ fun! s:PerformListing(islocal)
|
||||
|
||||
" Hiding... -or- Showing... {{{3
|
||||
if g:netrw_banner
|
||||
" call Decho("--handle hiding/showing (g:netrw_hide=".g:netrw_hide." g:netrw_list_hide<".g:netrw_list_hide.">)",'~'.expand("<slnum>"))
|
||||
" call Decho("--handle hiding/showing in banner (g:netrw_hide=".g:netrw_hide." g:netrw_list_hide<".g:netrw_list_hide.">)",'~'.expand("<slnum>"))
|
||||
if g:netrw_list_hide != "" && g:netrw_hide
|
||||
if g:netrw_hide == 1
|
||||
NetrwKeepj put ='\" Hiding: '.g:netrw_list_hide
|
||||
@@ -9795,7 +9841,7 @@ fun! s:PerformListing(islocal)
|
||||
" call Decho("g:netrw_banner=".g:netrw_banner.": banner ".(g:netrw_banner? "enabled" : "suppressed").": (line($)=".line("$")." byte2line(1)=".byte2line(1)." bannercnt=".w:netrw_bannercnt.")",'~'.expand("<slnum>"))
|
||||
|
||||
if !g:netrw_banner || line("$") >= w:netrw_bannercnt
|
||||
" call Decho("manipulate directory listing (hide)",'~'.expand("<slnum>"))
|
||||
" call Decho("manipulate directory listing (support hide)",'~'.expand("<slnum>"))
|
||||
" call Decho("g:netrw_hide=".g:netrw_hide." g:netrw_list_hide<".g:netrw_list_hide.">",'~'.expand("<slnum>"))
|
||||
if g:netrw_hide && g:netrw_list_hide != ""
|
||||
NetrwKeepj call s:NetrwListHide()
|
||||
@@ -11808,7 +11854,7 @@ endfun
|
||||
" ---------------------------------------------------------------------
|
||||
" s:NetrwEnew: opens a new buffer, passes netrw buffer variables through {{{2
|
||||
fun! s:NetrwEnew(...)
|
||||
" call Dfunc("s:NetrwEnew() a:0=".a:0." bufnr($)=".bufnr("$")." expand(%)<".expand("%").">")
|
||||
" call Dfunc("s:NetrwEnew() a:0=".a:0." win#".winnr()." winnr($)=".winnr("$")." bufnr($)=".bufnr("$")." expand(%)<".expand("%").">")
|
||||
" call Decho("curdir<".((a:0>0)? a:1 : "")."> buf#".bufnr("%")."<".bufname("%").">",'~'.expand("<slnum>"))
|
||||
|
||||
" grab a function-local-variable copy of buffer variables
|
||||
@@ -11875,6 +11921,9 @@ fun! s:NetrwEnew(...)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
if v:version >= 700 && has("balloon_eval") && !exists("s:initbeval") && !exists("g:netrw_nobeval") && has("syntax") && exists("g:syntax_on")
|
||||
let &l:bexpr = "netrw#BalloonHelp()"
|
||||
endif
|
||||
|
||||
" call Dret("s:NetrwEnew : buf#".bufnr("%")."<".bufname("%")."> expand(%)<".expand("%")."> expand(#)<".expand("#")."> bh=".&bh." win#".winnr()." winnr($)#".winnr("$"))
|
||||
endfun
|
||||
@@ -11934,6 +11983,7 @@ endfun
|
||||
" -1=failed
|
||||
fun! s:NetrwLcd(newdir)
|
||||
" call Dfunc("s:NetrwLcd(newdir<".a:newdir.">)")
|
||||
" call Decho("changing local directory",'~'.expand("<slnum>"))
|
||||
|
||||
let err472= 0
|
||||
try
|
||||
@@ -11969,6 +12019,8 @@ fun! s:NetrwLcd(newdir)
|
||||
return -1
|
||||
endif
|
||||
|
||||
" call Decho("getcwd <".getcwd().">")
|
||||
" call Decho("b:netrw_curdir<".b:netrw_curdir.">")
|
||||
" call Dret("s:NetrwLcd 0")
|
||||
return 0
|
||||
endfun
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" netrwFileHandlers: contains various extension-based file handlers for
|
||||
" netrw's browsers' x command ("eXecute launcher")
|
||||
" Author: Charles E. Campbell
|
||||
" Date: May 03, 2013
|
||||
" Version: 11b ASTRO-ONLY
|
||||
" Date: Sep 18, 2020
|
||||
" Version: 11
|
||||
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
@@ -20,7 +20,7 @@
|
||||
if exists("g:loaded_netrwFileHandlers") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwFileHandlers= "v11b"
|
||||
let g:loaded_netrwFileHandlers= "v11"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrwFileHandlers needs vim 7.2"
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
"python3complete.vim - Omni Completion for python
|
||||
" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
||||
" Maintainer: <vacancy>
|
||||
" Previous Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
||||
" Version: 0.9
|
||||
" Last Updated: 18 Jun 2009 (small fix 2015 Sep 14 from Debian)
|
||||
" Last Updated: 2020 Oct 9
|
||||
"
|
||||
" Roland Puntaier: this file contains adaptations for python3 and is parallel to pythoncomplete.vim
|
||||
"
|
||||
@@ -83,7 +84,7 @@ function! python3complete#Complete(findstart, base)
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
execute "py3 vimpy3complete('" . cword . "', '" . a:base . "')"
|
||||
execute "py3 vimpy3complete('" . escape(cword, "'") . "', '" . escape(a:base, "'") . "')"
|
||||
return g:python3complete_completions
|
||||
endif
|
||||
endfunction
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
"pythoncomplete.vim - Omni Completion for python
|
||||
" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
||||
" Maintainer: <vacancy>
|
||||
" Previous Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
||||
" Version: 0.9
|
||||
" Last Updated: 18 Jun 2009
|
||||
" Last Updated: 2020 Oct 9
|
||||
"
|
||||
" Changes
|
||||
" TODO:
|
||||
@@ -81,7 +82,7 @@ function! pythoncomplete#Complete(findstart, base)
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
execute "python vimcomplete('" . cword . "', '" . a:base . "')"
|
||||
execute "python vimcomplete('" . escape(cword, "'") . "', '" . escape(a:base, "'") . "')"
|
||||
return g:pythoncomplete_completions
|
||||
endif
|
||||
endfunction
|
||||
|
||||
@@ -163,7 +163,7 @@ fun! tar#Browse(tarfile)
|
||||
" call Decho("1: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
|
||||
elseif tarfile =~# '\.\(tgz\)$' || tarfile =~# '\.\(tbz\)$' || tarfile =~# '\.\(txz\)$'
|
||||
elseif tarfile =~# '\.\(tgz\)$' || tarfile =~# '\.\(tbz\)$' || tarfile =~# '\.\(txz\)$' || tarfile =~# '\.\(tzs\)$'
|
||||
if has("unix") && executable("file")
|
||||
let filekind= system("file ".shellescape(tarfile,1)) =~ "bzip2"
|
||||
else
|
||||
@@ -174,6 +174,8 @@ fun! tar#Browse(tarfile)
|
||||
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
elseif filekind =~ "XZ"
|
||||
exe "sil! r! xz -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
elseif filekind =~ "Zstandard"
|
||||
exe "sil! r! zstd --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
else
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
endif
|
||||
@@ -190,6 +192,8 @@ fun! tar#Browse(tarfile)
|
||||
elseif tarfile =~# '\.\(xz\|txz\)$'
|
||||
" call Decho("3: exe silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
|
||||
exe "sil! r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
elseif tarfile =~# '\.\(zst\|tzs\)$'
|
||||
exe "sil! r! zstd --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
else
|
||||
if tarfile =~ '^\s*-'
|
||||
" A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
|
||||
@@ -302,6 +306,9 @@ fun! tar#Read(fname,mode)
|
||||
elseif fname =~ '\.xz$' && executable("xzcat")
|
||||
let decmp= "|xzcat"
|
||||
let doro = 1
|
||||
elseif fname =~ '\.zst$' && executable("zstdcat")
|
||||
let decmp= "|zstdcat"
|
||||
let doro = 1
|
||||
else
|
||||
let decmp=""
|
||||
let doro = 0
|
||||
@@ -331,6 +338,8 @@ fun! tar#Read(fname,mode)
|
||||
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
elseif filekind =~ "XZ"
|
||||
exe "sil! r! xz -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
elseif filekind =~ "Zstandard"
|
||||
exe "sil! r! zstd --decompress --stdout -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
else
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
endif
|
||||
@@ -452,6 +461,10 @@ fun! tar#Write(fname)
|
||||
let tarfile = substitute(tarfile,'\.xz','','e')
|
||||
let compress= "xz -- ".shellescape(tarfile,0)
|
||||
" call Decho("compress<".compress.">")
|
||||
elseif tarfile =~# '\.zst'
|
||||
call system("zstd --decompress -- ".shellescape(tarfile,0))
|
||||
let tarfile = substitute(tarfile,'\.zst','','e')
|
||||
let compress= "zstd -- ".shellescape(tarfile,0)
|
||||
elseif tarfile =~# '\.lzma'
|
||||
call system("lzma -d -- ".shellescape(tarfile,0))
|
||||
let tarfile = substitute(tarfile,'\.lzma','','e')
|
||||
@@ -676,6 +689,28 @@ fun! tar#Extract()
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
elseif filereadable(tarbase.".tzs")
|
||||
let extractcmd= substitute(extractcmd,"-","--zstd","")
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tzs ".shellescape(fname).")")
|
||||
call system(extractcmd." ".shellescape(tarbase).".txz ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tzs ".fname.": failed!" | echohl NONE
|
||||
" call Decho("***error*** ".extractcmd." ".tarbase.".tzs ".fname.": failed!")
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
elseif filereadable(tarbase.".tar.zst")
|
||||
let extractcmd= substitute(extractcmd,"-","--zstd","")
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tar.zst ".shellescape(fname).")")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tar.xz ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tar.zst ".fname.": failed!" | echohl NONE
|
||||
" call Decho("***error*** ".extractcmd." ".tarbase.".tar.zst ".fname.": failed!")
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
endif
|
||||
|
||||
" restore option
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" zip.vim: Handles browsing zipfiles
|
||||
" AUTOLOAD PORTION
|
||||
" Date: Jan 07, 2020
|
||||
" Version: 30
|
||||
" Version: 31
|
||||
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" License: Vim License (see vim's :help license)
|
||||
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
|
||||
@@ -20,7 +20,7 @@
|
||||
if &cp || exists("g:loaded_zip")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_zip= "v30"
|
||||
let g:loaded_zip= "v31"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of zip needs vim 7.2 or later"
|
||||
@@ -65,7 +65,7 @@ endif
|
||||
" zip#Browse: {{{2
|
||||
fun! zip#Browse(zipfile)
|
||||
" call Dfunc("zip#Browse(zipfile<".a:zipfile.">)")
|
||||
" sanity check: ensure that the zipfile has "PK" as its first two letters
|
||||
" sanity check: insure that the zipfile has "PK" as its first two letters
|
||||
" (zipped files have a leading PK as a "magic cookie")
|
||||
if !filereadable(a:zipfile) || readfile(a:zipfile, "", 1)[0] !~ '^PK'
|
||||
exe "noswapfile noautocmd noswapfile e ".fnameescape(a:zipfile)
|
||||
|
||||
@@ -67,7 +67,7 @@ You can use ":highlight" to find out the current colors. Exception: the
|
||||
ctermfg and ctermbg values are numbers, which are only valid for the current
|
||||
terminal. Use the color names instead. See ":help cterm-colors".
|
||||
|
||||
The default color settings can be found in the source file src/syntax.c.
|
||||
The default color settings can be found in the source file src/highlight.c.
|
||||
Search for "highlight_init".
|
||||
|
||||
If you think you have a color scheme that is good enough to be used by others,
|
||||
|
||||
@@ -185,7 +185,7 @@ func! Test_check_colors()
|
||||
|
||||
" 9) Normal should be defined first, not use reverse, fg or bg
|
||||
call cursor(1,1)
|
||||
let pat = 'hi\%[light] \+\%(link\|clear\)\@!\w\+\>'
|
||||
let pat = 'hi\%[ghlight] \+\%(link\|clear\)\@!\w\+\>'
|
||||
call search(pat, 'cW') " Look for the first hi def, skipping `hi link` and `hi clear`
|
||||
if getline('.') !~# '\m\<Normal\>'
|
||||
let err['highlight']['Normal'] = 'Should be defined first'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Checkstyle
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2013 Jun 26
|
||||
" Last Change: 2020 Aug 2
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -12,8 +12,18 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=java\ com.puppycrawl.tools.checkstyle.Main\ -f\ plain
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" sample error: WebTable.java:282: '+=' is not preceeded with whitespace.
|
||||
" WebTable.java:201:1: '{' should be on the previous line.
|
||||
CompilerSet errorformat=%f:%l:%v:\ %m,%f:%l:\ %m,%-G%.%#
|
||||
" CompilerSet makeprg=java\ com.puppycrawl.tools.checkstyle.Main\ -f\ plain\ -c\ /sun_checks.xml
|
||||
" CompilerSet makeprg=java\ -jar\ checkstyle-X.XX-all.jar\ -f\ plain\ -c\ /sun_checks.xml
|
||||
|
||||
CompilerSet makeprg=checkstyle\ -f\ plain
|
||||
CompilerSet errorformat=[%tRROR]\ %f:%l:%v:\ %m,
|
||||
\[%tARN]\ %f:%l:%v:\ %m,
|
||||
\[%tRROR]\ %f:%l:\ %m,
|
||||
\[%tARN]\ %f:%l:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
26
runtime/compiler/dart.vim
Normal file
26
runtime/compiler/dart.vim
Normal file
@@ -0,0 +1,26 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Dart VM
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 May 08
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "dart"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=dart
|
||||
CompilerSet errorformat=%E%f:%l:%c:\ Error:\ %m,
|
||||
\%CTry\ %.%#,
|
||||
\%Z\ %#^%\\+,
|
||||
\%C%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
28
runtime/compiler/dart2js.vim
Normal file
28
runtime/compiler/dart2js.vim
Normal file
@@ -0,0 +1,28 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Dart to JavaScript Compiler
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 May 08
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "dart2js"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=dart2js
|
||||
CompilerSet errorformat=%E%f:%l:%c:,
|
||||
\%-GError:\ Compilation\ failed.,
|
||||
\%CError:\ %m,
|
||||
\%Z\ %#^%\\+,
|
||||
\%C%.%#,
|
||||
\%trror:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
28
runtime/compiler/dart2native.vim
Normal file
28
runtime/compiler/dart2native.vim
Normal file
@@ -0,0 +1,28 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Dart to Native Compiler
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 May 08
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "dart2native"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=dart2native
|
||||
CompilerSet errorformat=%E%f:%l:%c:\ Error:\ %m,
|
||||
\%CTry\ %.%#,
|
||||
\%Z\ %#^%\\+,
|
||||
\%Z%$,
|
||||
\%C%.%#,
|
||||
\%E%f:\ %trror:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
23
runtime/compiler/dartanalyser.vim
Normal file
23
runtime/compiler/dartanalyser.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Dart Analyzer
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 May 08
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "dartanalyzer"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=dartanalyzer\ --format\ machine
|
||||
CompilerSet errorformat=%t%\\w%\\+\|%\\w%\\+\|%\\w%\\+\|%f\|%l\|%c\|%\\d%\\+\|%m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
28
runtime/compiler/dartdevc.vim
Normal file
28
runtime/compiler/dartdevc.vim
Normal file
@@ -0,0 +1,28 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Dart Development Compiler
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 May 08
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "dartdevc"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=dartdevc
|
||||
CompilerSet errorformat=%E%f:%l:%c:\ Error:\ %m,
|
||||
\%CTry\ %.%#,
|
||||
\%Z\ %#^%\\+,
|
||||
\%Z%$,
|
||||
\%C%.%#,
|
||||
\%E%f:\ %trror:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
26
runtime/compiler/dartdoc.vim
Normal file
26
runtime/compiler/dartdoc.vim
Normal file
@@ -0,0 +1,26 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Dart Documentation Generator
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 May 08
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "dartdoc"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=dartdoc
|
||||
CompilerSet errorformat=\ \ %tarning:\ %m,
|
||||
\\ \ %trror:\ %m,
|
||||
\%+EGeneration\ failed:\ %m,
|
||||
\%+ISuccess!\ Docs\ generated\ into\ %f,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
25
runtime/compiler/dartfmt.vim
Normal file
25
runtime/compiler/dartfmt.vim
Normal file
@@ -0,0 +1,25 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Dart Formatter
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 May 08
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "dartfmt"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=dartfmt
|
||||
CompilerSet errorformat=%Eline\ %l\\,\ column\ %c\ of\ %f:\ %m,
|
||||
\%Z\ %\\{3}│\ %\\+^%\\+,
|
||||
\%C%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: ESLint for JavaScript
|
||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||
" Last Change: 2020 May 17
|
||||
" Last Change: 2020 August 20
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -12,5 +12,5 @@ if exists(":CompilerSet") != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=eslint\ --format\ compact
|
||||
CompilerSet makeprg=npx\ eslint\ --format\ compact
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#
|
||||
|
||||
34
runtime/compiler/gawk.vim
Normal file
34
runtime/compiler/gawk.vim
Normal file
@@ -0,0 +1,34 @@
|
||||
" Vim compiler file
|
||||
" Compiler: GNU Awk
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Feb 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "gawk"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=gawk
|
||||
CompilerSet errorformat=%Z%.awk:\ %f:%l:\ %p^\ %m,
|
||||
\%Eg%\\=awk:\ %f:%l:\ fatal:\ %m,
|
||||
\%Egawk:\ %f:%l:\ error:\ %m,
|
||||
\%Wgawk:\ %f:%l:\ warning:\ %m,
|
||||
\%Egawk:\ %f:%l:\ %.%#,
|
||||
\gawk:\ %f:%l:\ %tatal:\ %m,
|
||||
\gawk:\ %f:%l:\ %trror:\ %m,
|
||||
\gawk:\ %f:%l:\ %tarning:\ %m,
|
||||
\gawk:\ %tatal:\ %m,
|
||||
\gawk:\ %trror:\ %m,
|
||||
\gawk:\ %tarning:\ %m,
|
||||
\%+C%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
25
runtime/compiler/gjs.vim
Normal file
25
runtime/compiler/gjs.vim
Normal file
@@ -0,0 +1,25 @@
|
||||
" Vim compiler file
|
||||
" Compiler: GJS (Gnome JavaScript Bindings)
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jul 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "gjs"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=gjs
|
||||
CompilerSet errorformat=%.%#JS\ %tRROR:\ %m\ @\ %f:%c,
|
||||
\%E%.%#JS\ ERROR:\ %m,
|
||||
\%Z@%f:%l:%c,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: javac
|
||||
" Compiler: Java Development Kit Compiler
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2004 Nov 27
|
||||
" Last Change: 2019 Oct 21
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -12,6 +12,15 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=javac
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet errorformat=%E%f:%l:\ %m,%-Z%p^,%-C%.%#,%-G%.%#
|
||||
CompilerSet makeprg=javac
|
||||
CompilerSet errorformat=%E%f:%l:\ error:\ %m,
|
||||
\%W%f:%l:\ warning:\ %m,
|
||||
\%-Z%p^,
|
||||
\%-C%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
30
runtime/compiler/jest.vim
Normal file
30
runtime/compiler/jest.vim
Normal file
@@ -0,0 +1,30 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Jest
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2018 May 15
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "jest"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ jest\ --no-colors
|
||||
|
||||
CompilerSet makeprg=jest\ --no-colors
|
||||
CompilerSet errorformat=%E\ \ ●\ %m,
|
||||
\%Z\ %\\{4}%.%#Error:\ %f:\ %m\ (%l:%c):%\\=,
|
||||
\%Z\ %\\{6}at\ %\\S%#\ (%f:%l:%c),
|
||||
\%+C\ %\\{4}%\\w%.%#,
|
||||
\%+C\ %\\{4}%[-+]%.%#,
|
||||
\%-C%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
24
runtime/compiler/jjs.vim
Normal file
24
runtime/compiler/jjs.vim
Normal file
@@ -0,0 +1,24 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Nashorn Shell
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2018 Jan 9
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "jjs"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=jjs
|
||||
CompilerSet errorformat=%f:%l:%c\ %m,
|
||||
\%f:%l\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
25
runtime/compiler/jshint.vim
Normal file
25
runtime/compiler/jshint.vim
Normal file
@@ -0,0 +1,25 @@
|
||||
" Vim compiler file
|
||||
" Compiler: JSHint
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jul 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "jshint"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ jshint\ --verbose
|
||||
|
||||
CompilerSet makeprg=jshint\ --verbose
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m\ (%t%n),
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
25
runtime/compiler/jsonlint.vim
Normal file
25
runtime/compiler/jsonlint.vim
Normal file
@@ -0,0 +1,25 @@
|
||||
" Vim compiler file
|
||||
" Compiler: JSON Lint
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jul 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "jsonlint"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ jsonlint\ --compact\ --quiet
|
||||
|
||||
CompilerSet makeprg=jsonlint\ --compact\ --quiet
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ found:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
30
runtime/compiler/rhino.vim
Normal file
30
runtime/compiler/rhino.vim
Normal file
@@ -0,0 +1,30 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Rhino Shell (JavaScript in Java)
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jul 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "rhino"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=java\ -jar\ lib/rhino-X.X.XX.jar\ -w\ -strict
|
||||
|
||||
CompilerSet makeprg=rhino
|
||||
CompilerSet errorformat=%-Gjs:\ %.%#Compilation\ produced%.%#,
|
||||
\%Ejs:\ \"%f\"\\,\ line\ %l:\ %m,
|
||||
\%Ejs:\ uncaught\ JavaScript\ runtime\ exception:\ %m,
|
||||
\%Wjs:\ warning:\ \"%f\"\\,\ line\ %l:\ %m,
|
||||
\%Zjs:\ %p^,
|
||||
\%Cjs:\ %.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
23
runtime/compiler/rubocop.vim
Normal file
23
runtime/compiler/rubocop.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
" Vim compiler file
|
||||
" Compiler: RuboCop
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jul 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "rubocop"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=rubocop\ --format\ emacs
|
||||
CompilerSet errorformat=%f:%l:%c:\ %t:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
25
runtime/compiler/shellcheck.vim
Normal file
25
runtime/compiler/shellcheck.vim
Normal file
@@ -0,0 +1,25 @@
|
||||
" Vim compiler file
|
||||
" Compiler: ShellCheck
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Sep 4
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "shellcheck"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=shellcheck\ -f\ gcc
|
||||
CompilerSet errorformat=%f:%l:%c:\ %trror:\ %m\ [SC%n],
|
||||
\%f:%l:%c:\ %tarning:\ %m\ [SC%n],
|
||||
\%f:%l:%c:\ %tote:\ %m\ [SC%n],
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Standard for JavaScript
|
||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||
" Last Change: 2020 May 17
|
||||
" Last Change: 2020 August 20
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -12,5 +12,5 @@ if exists(":CompilerSet") != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=standard
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#
|
||||
CompilerSet makeprg=npx\ standard
|
||||
CompilerSet errorformat=%f:%l:%c:\ %m,%-G%.%#
|
||||
|
||||
26
runtime/compiler/stylelint.vim
Normal file
26
runtime/compiler/stylelint.vim
Normal file
@@ -0,0 +1,26 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Stylelint
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Jun 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "stylelint"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ stylelint\ --formatter\ compact
|
||||
|
||||
CompilerSet makeprg=stylelint\ --formatter\ compact
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %trror\ -\ %m,
|
||||
\%f:\ line\ %l\\,\ col\ %c\\,\ %tarning\ -\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
29
runtime/compiler/ts-node.vim
Normal file
29
runtime/compiler/ts-node.vim
Normal file
@@ -0,0 +1,29 @@
|
||||
" Vim compiler file
|
||||
" Compiler: TypeScript Runner
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Feb 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "node"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ ts-node
|
||||
|
||||
CompilerSet makeprg=ts-node
|
||||
CompilerSet errorformat=%f\ %#(%l\\,%c):\ %trror\ TS%n:\ %m,
|
||||
\%E%f:%l,
|
||||
\%+Z%\\w%\\+Error:\ %.%#,
|
||||
\%C%p^%\\+,
|
||||
\%C%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
26
runtime/compiler/tsc.vim
Normal file
26
runtime/compiler/tsc.vim
Normal file
@@ -0,0 +1,26 @@
|
||||
" Vim compiler file
|
||||
" Compiler: TypeScript Compiler
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Feb 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "tsc"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ tsc
|
||||
|
||||
CompilerSet makeprg=tsc
|
||||
CompilerSet errorformat=%f\ %#(%l\\,%c):\ %trror\ TS%n:\ %m,
|
||||
\%trror\ TS%n:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
28
runtime/compiler/typedoc.vim
Normal file
28
runtime/compiler/typedoc.vim
Normal file
@@ -0,0 +1,28 @@
|
||||
" Vim compiler file
|
||||
" Compiler: TypeDoc
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Feb 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "typedoc"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ typedoc
|
||||
|
||||
CompilerSet makeprg=typedoc
|
||||
CompilerSet errorformat=%EError:\ %f(%l),
|
||||
\%WWarning:\ %f(%l),
|
||||
\%+IDocumentation\ generated\ at\ %f,
|
||||
\%Z\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: xmllint
|
||||
" Compiler: Libxml2 Command-Line Tool
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2013 Jul 8
|
||||
" Last Change: 2020 Jul 30
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -13,14 +13,16 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=xmllint\ --valid\ --noout
|
||||
|
||||
CompilerSet errorformat=%+E%f:%l:\ %.%#\ error\ :\ %m,
|
||||
\%+W%f:%l:\ %.%#\ warning\ :\ %m,
|
||||
\%-Z%p^,
|
||||
\%-G%.%#
|
||||
CompilerSet errorformat=%E%f:%l:\ %.%#\ error\ :\ %m,
|
||||
\%W%f:%l:\ %.%#\ warning\ :\ %m,
|
||||
\%-Z%p^,
|
||||
\%C%.%#,
|
||||
\%terror:\ %m,
|
||||
\%tarning:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
23
runtime/compiler/zsh.vim
Normal file
23
runtime/compiler/zsh.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Zsh
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Sep 6
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "zsh"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=zsh\ -n\ --\ %:S
|
||||
CompilerSet errorformat=%f:\ line\ %l:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,7 +1,7 @@
|
||||
" The default vimrc file.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last change: 2019 Oct 27
|
||||
" Last change: 2020 Sep 30
|
||||
"
|
||||
" This is loaded if no vimrc file was found.
|
||||
" Except when Vim is run with "-u NONE" or "-C".
|
||||
@@ -85,17 +85,6 @@ if has('mouse')
|
||||
endif
|
||||
endif
|
||||
|
||||
" Switch syntax highlighting on when the terminal has colors or when using the
|
||||
" GUI (which always has colors).
|
||||
if &t_Co > 2 || has("gui_running")
|
||||
" Revert with ":syntax off".
|
||||
syntax on
|
||||
|
||||
" I like highlighting strings inside C comments.
|
||||
" Revert with ":unlet c_comment_strings".
|
||||
let c_comment_strings=1
|
||||
endif
|
||||
|
||||
" Only do this part when Vim was compiled with the +eval feature.
|
||||
if 1
|
||||
|
||||
@@ -124,6 +113,17 @@ if 1
|
||||
|
||||
endif
|
||||
|
||||
" Switch syntax highlighting on when the terminal has colors or when using the
|
||||
" GUI (which always has colors).
|
||||
if &t_Co > 2 || has("gui_running")
|
||||
" Revert with ":syntax off".
|
||||
syntax on
|
||||
|
||||
" I like highlighting strings inside C comments.
|
||||
" Revert with ":unlet c_comment_strings".
|
||||
let c_comment_strings=1
|
||||
endif
|
||||
|
||||
" Convenient command to see the difference between the current buffer and the
|
||||
" file it was loaded from, thus the changes you made.
|
||||
" Only define it when not defined already.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2020 Aug 02
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2020 Nov 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -70,6 +70,10 @@ effects. Be careful not to destroy your text.
|
||||
The special pattern <buffer> or <buffer=N> defines a buffer-local autocommand.
|
||||
See |autocmd-buflocal|.
|
||||
|
||||
If the `:autocmd` is in Vim9 script then {cmd} will be executed as in Vim9
|
||||
script. Thus this depends on where the autocmd is defined, not where it is
|
||||
triggered.
|
||||
|
||||
Note: The ":autocmd" command can only be followed by another command when the
|
||||
'|' appears before {cmd}. This works: >
|
||||
:augroup mine | au! BufRead | augroup END
|
||||
@@ -278,7 +282,7 @@ Name triggered by ~
|
||||
|BufWinLeave| before a buffer is removed from a window
|
||||
|
||||
|BufUnload| before unloading a buffer
|
||||
|BufHidden| just after a buffer has become hidden
|
||||
|BufHidden| just before a buffer becomes hidden
|
||||
|BufNew| just after creating a new buffer
|
||||
|
||||
|SwapExists| detected an existing swap file
|
||||
@@ -551,12 +555,15 @@ CmdlineChanged After a change was made to the text in the
|
||||
*CmdlineEnter*
|
||||
CmdlineEnter After moving the cursor to the command line,
|
||||
where the user can type a command or search
|
||||
string.
|
||||
string; including non-interactive use of ":"
|
||||
in a mapping, but not when using |<Cmd>|.
|
||||
<afile> is set to a single character,
|
||||
indicating the type of command-line.
|
||||
|cmdwin-char|
|
||||
*CmdlineLeave*
|
||||
CmdlineLeave Before leaving the command line.
|
||||
CmdlineLeave Before leaving the command line; including
|
||||
non-interactive use of ":" in a mapping, but
|
||||
not when using |<Cmd>|.
|
||||
Also when abandoning the command line, after
|
||||
typing CTRL-C or <Esc>.
|
||||
When the commands result in an error the
|
||||
@@ -631,7 +638,7 @@ CompleteDone After Insert mode completion is done. Either
|
||||
|
||||
*CursorHold*
|
||||
CursorHold When the user doesn't press a key for the time
|
||||
specified with 'updatetime'. Not re-triggered
|
||||
specified with 'updatetime'. Not triggered
|
||||
until the user has pressed a key (i.e. doesn't
|
||||
fire every 'updatetime' ms if you leave Vim to
|
||||
make some coffee. :) See |CursorHold-example|
|
||||
@@ -881,9 +888,14 @@ InsertEnter Just before starting Insert mode. Also for
|
||||
The cursor is restored afterwards. If you do
|
||||
not want that set |v:char| to a non-empty
|
||||
string.
|
||||
*InsertLeavePre*
|
||||
InsertLeavePre Just before leaving Insert mode. Also when
|
||||
using CTRL-O |i_CTRL-O|. Be careful not to
|
||||
change mode or use `:normal`, it will likely
|
||||
cause trouble.
|
||||
*InsertLeave*
|
||||
InsertLeave When leaving Insert mode. Also when using
|
||||
CTRL-O |i_CTRL-O|. But not for |i_CTRL-C|.
|
||||
InsertLeave Just after leaving Insert mode. Also when
|
||||
using CTRL-O |i_CTRL-O|. But not for |i_CTRL-C|.
|
||||
*MenuPopup*
|
||||
MenuPopup Just before showing the popup menu (under the
|
||||
right mouse button). Useful for adjusting the
|
||||
@@ -1202,6 +1214,7 @@ VimLeave Before exiting Vim, just after writing the
|
||||
To detect an abnormal exit use |v:dying|.
|
||||
When v:dying is 2 or more this event is not
|
||||
triggered.
|
||||
To get the exit code use |v:exiting|.
|
||||
*VimLeavePre*
|
||||
VimLeavePre Before exiting Vim, just before writing the
|
||||
.viminfo file. This is executed only once,
|
||||
@@ -1212,6 +1225,7 @@ VimLeavePre Before exiting Vim, just before writing the
|
||||
< To detect an abnormal exit use |v:dying|.
|
||||
When v:dying is 2 or more this event is not
|
||||
triggered.
|
||||
To get the exit code use |v:exiting|.
|
||||
*VimResized*
|
||||
VimResized After the Vim window was resized, thus 'lines'
|
||||
and/or 'columns' changed. Not when starting
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 8.2. Last change: 2020 Jun 04
|
||||
*change.txt* For Vim version 8.2. Last change: 2020 Nov 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -153,7 +153,7 @@ the 'joinspaces' option is on, these commands insert two spaces after a '.',
|
||||
'!' or '?' (but if 'cpoptions' includes the 'j' flag, they insert two spaces
|
||||
only after a '.').
|
||||
The 'B' and 'M' flags in 'formatoptions' change the behavior for inserting
|
||||
spaces before and after a multi-byte character |fo-table|.
|
||||
spaces before and after a multibyte character |fo-table|.
|
||||
|
||||
The '[ mark is set at the end of the first line that was joined, '] at the end
|
||||
of the resulting line.
|
||||
@@ -1680,11 +1680,11 @@ b Like 'v', but only auto-wrap if you enter a blank at or before
|
||||
l Long lines are not broken in insert mode: When a line was longer than
|
||||
'textwidth' when the insert command started, Vim does not
|
||||
automatically format it.
|
||||
m Also break at a multi-byte character above 255. This is useful for
|
||||
m Also break at a multibyte character above 255. This is useful for
|
||||
Asian text where every character is a word on its own.
|
||||
M When joining lines, don't insert a space before or after a multi-byte
|
||||
M When joining lines, don't insert a space before or after a multibyte
|
||||
character. Overrules the 'B' flag.
|
||||
B When joining lines, don't insert a space between two multi-byte
|
||||
B When joining lines, don't insert a space between two multibyte
|
||||
characters. Overruled by the 'M' flag.
|
||||
1 Don't break a line after a one-letter word. It's broken before it
|
||||
instead (if possible).
|
||||
@@ -1801,7 +1801,7 @@ Vim has a sorting function and a sorting command. The sorting function can be
|
||||
found here: |sort()|, |uniq()|.
|
||||
|
||||
*:sor* *:sort*
|
||||
:[range]sor[t][!] [b][f][i][n][o][r][u][x] [/{pattern}/]
|
||||
:[range]sor[t][!] [b][f][i][l][n][o][r][u][x] [/{pattern}/]
|
||||
Sort lines in [range]. When no range is given all
|
||||
lines are sorted.
|
||||
|
||||
@@ -1809,6 +1809,16 @@ found here: |sort()|, |uniq()|.
|
||||
|
||||
With [i] case is ignored.
|
||||
|
||||
With [l] sort uses the current collation locale.
|
||||
Implementation details: strcoll() is used to compare
|
||||
strings. See |:language| to check or set the collation
|
||||
locale. Example: >
|
||||
:language collate en_US.UTF-8
|
||||
:%sort l
|
||||
< |v:collate| can also used to check the current locale.
|
||||
Sorting using the locale typically ignores case.
|
||||
This does not work properly on Mac.
|
||||
|
||||
Options [n][f][x][o][b] are mutually exclusive.
|
||||
|
||||
With [n] sorting is done on the first decimal number
|
||||
@@ -1842,6 +1852,8 @@ found here: |sort()|, |uniq()|.
|
||||
When /{pattern}/ is specified and there is no [r] flag
|
||||
the text matched with {pattern} is skipped, so that
|
||||
you sort on what comes after the match.
|
||||
'ignorecase' applies to the pattern, but 'smartcase'
|
||||
is not used.
|
||||
Instead of the slash any non-letter can be used.
|
||||
For example, to sort on the second comma-separated
|
||||
field: >
|
||||
@@ -1875,8 +1887,7 @@ found here: |sort()|, |uniq()|.
|
||||
Note that using `:sort` with `:global` doesn't sort the matching lines, it's
|
||||
quite useless.
|
||||
|
||||
The details about sorting depend on the library function used. There is no
|
||||
guarantee that sorting obeys the current locale. You will have to try it out.
|
||||
`:sort` does not use the current locale unless the l flag is used.
|
||||
Vim does do a "stable" sort.
|
||||
|
||||
The sorting can be interrupted, but if you interrupt it too late in the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*channel.txt* For Vim version 8.2. Last change: 2020 Jul 10
|
||||
*channel.txt* For Vim version 8.2. Last change: 2020 Oct 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -608,6 +608,10 @@ ch_logfile({fname} [, {mode}]) *ch_logfile()*
|
||||
after every message, on Unix you can use "tail -f" to see what
|
||||
is going on in real time.
|
||||
|
||||
To enable the log very early, to see what is received from a
|
||||
terminal during startup, use |--cmd|: >
|
||||
vim --cmd "call ch_logfile('logfile', 'w')"
|
||||
<
|
||||
This function is not available in the |sandbox|.
|
||||
NOTE: the channel communication is stored in the file, be
|
||||
aware that this may contain confidential and privacy sensitive
|
||||
@@ -961,6 +965,10 @@ job_status({job}) *job_status()* *E916*
|
||||
"fail", because a fork happens before the failure can be
|
||||
detected.
|
||||
|
||||
If in Vim9 script a variable is declared with type "job" but
|
||||
never assigned to, passing that variable to job_status()
|
||||
returns "fail".
|
||||
|
||||
If an exit callback was set with the "exit_cb" option and the
|
||||
job is now detected to be "dead" the callback will be invoked.
|
||||
|
||||
@@ -1256,7 +1264,9 @@ After setting 'buftype' to "prompt" Vim does not automatically start Insert
|
||||
mode, use `:startinsert` if you want to enter Insert mode, so that the user
|
||||
can start typing a line.
|
||||
|
||||
The text of the prompt can be set with the |prompt_setprompt()| function.
|
||||
The text of the prompt can be set with the |prompt_setprompt()| function. If
|
||||
no prompt is set with |prompt_setprompt()|, "% " is used. You can get the
|
||||
effective prompt text for a buffer, with |prompt_getprompt()|.
|
||||
|
||||
The user can go to Normal mode and navigate through the buffer. This can be
|
||||
useful to see older output or copy text.
|
||||
@@ -1282,7 +1292,7 @@ prompt. >
|
||||
" Send the text to a shell with Enter appended.
|
||||
call ch_sendraw(g:shell_job, a:text .. "\n")
|
||||
endfunc
|
||||
|
||||
|
||||
" Function handling output from the shell: Added above the prompt.
|
||||
func GotOutput(channel, msg)
|
||||
call append(line("$") - 1, "- " . a:msg)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2020 Jul 26
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2020 Sep 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -797,7 +797,7 @@ three lines: >
|
||||
<
|
||||
|
||||
Visual Mode and Range *v_:*
|
||||
|
||||
*:star-visual-range*
|
||||
{Visual}: Starts a command-line with the Visual selected lines as a
|
||||
range. The code `:'<,'>` is used for this range, which makes
|
||||
it possible to select a similar line from the command-line
|
||||
@@ -873,34 +873,37 @@ it, no matter how many backslashes.
|
||||
\\# \#
|
||||
Also see |`=|.
|
||||
|
||||
*:<cword>* *<cword>* *:<cWORD>* *<cWORD>*
|
||||
*:<cexpr>* *<cexpr>* *:<cfile>* *<cfile>*
|
||||
*:<afile>* *<afile>* *:<abuf>* *<abuf>*
|
||||
*:<amatch>* *<amatch>* *:<stack>* *<stack>*
|
||||
*:<sfile>* *<sfile>* *:<slnum>* *<slnum>*
|
||||
*:<sflnum>* *<sflnum>* *E499* *E500*
|
||||
*E499* *E500*
|
||||
Note: these are typed literally, they are not special keys!
|
||||
*:<cword>* *<cword>*
|
||||
<cword> is replaced with the word under the cursor (like |star|)
|
||||
*:<cWORD>* *<cWORD>*
|
||||
<cWORD> is replaced with the WORD under the cursor (see |WORD|)
|
||||
*:<cexpr>* *<cexpr>*
|
||||
<cexpr> is replaced with the word under the cursor, including more
|
||||
to form a C expression. E.g., when the cursor is on "arg"
|
||||
of "ptr->arg" then the result is "ptr->arg"; when the
|
||||
cursor is on "]" of "list[idx]" then the result is
|
||||
"list[idx]". This is used for |v:beval_text|.
|
||||
*:<cfile>* *<cfile>*
|
||||
<cfile> is replaced with the path name under the cursor (like what
|
||||
|gf| uses)
|
||||
*:<afile>* *<afile>*
|
||||
<afile> When executing autocommands, is replaced with the file name
|
||||
of the buffer being manipulated, or the file for a read or
|
||||
write. *E495*
|
||||
*:<abuf>* *<abuf>*
|
||||
<abuf> When executing autocommands, is replaced with the currently
|
||||
effective buffer number (for ":r file" and ":so file" it is
|
||||
the current buffer, the file being read/sourced is not in a
|
||||
buffer). *E496*
|
||||
*:<amatch>* *<amatch>*
|
||||
<amatch> When executing autocommands, is replaced with the match for
|
||||
which this autocommand was executed. *E497*
|
||||
It differs from <afile> only when the file name isn't used
|
||||
to match with (for FileType, Syntax and SpellFileMissing
|
||||
events).
|
||||
*:<sfile>* *<sfile>*
|
||||
<sfile> When executing a ":source" command, is replaced with the
|
||||
file name of the sourced file. *E498*
|
||||
When executing a function, is replaced with the call stack,
|
||||
@@ -908,18 +911,24 @@ Note: these are typed literally, they are not special keys!
|
||||
<stack> is preferred).
|
||||
Note that filename-modifiers are useless when <sfile> is
|
||||
not used inside a script.
|
||||
*:<stack>* *<stack>*
|
||||
<stack> is replaced with the call stack, using
|
||||
"function {function-name}[{lnum}]" for a function line
|
||||
and "script {file-name}[{lnum}]" for a script line, and
|
||||
".." in between items. E.g.:
|
||||
"function {function-name1}[{lnum}]..{function-name2}[{lnum}]"
|
||||
*:<slnum>* *<slnum>*
|
||||
<slnum> When executing a ":source" command, is replaced with the
|
||||
line number. *E842*
|
||||
When executing a function it's the line number relative to
|
||||
the start of the function.
|
||||
*:<sflnum>* *<sflnum>*
|
||||
<sflnum> When executing a script, is replaced with the line number.
|
||||
It differs from <slnum> in that <sflnum> is replaced with
|
||||
the script line number in any situation. *E961*
|
||||
*:<client>* *<client>*
|
||||
<client> is replaced with the {clinetid} of the last received
|
||||
message in |server2client()|
|
||||
|
||||
*filename-modifiers*
|
||||
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* *::S*
|
||||
@@ -1130,7 +1139,8 @@ CTRL-C Continue in Command-line mode. The command-line under the
|
||||
in Normal mode. There is no redraw, thus the window will
|
||||
remain visible.
|
||||
:quit Discard the command line and go back to Normal mode.
|
||||
":close", ":exit", ":xit" and CTRL-\ CTRL-N also work.
|
||||
":close", CTRL-W c, ":exit", ":xit" and CTRL-\ CTRL-N also
|
||||
work.
|
||||
:qall Quit Vim, unless there are changes in some buffer.
|
||||
:qall! Quit Vim, discarding changes to any buffer.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 8.2. Last change: 2020 Jul 27
|
||||
*develop.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -473,7 +473,7 @@ available spell checking libraries and programs. Unfortunately, the result
|
||||
was that none of them provided sufficient capabilities to be used as the spell
|
||||
checking engine in Vim, for various reasons:
|
||||
|
||||
- Missing support for multi-byte encodings. At least UTF-8 must be supported,
|
||||
- Missing support for multibyte encodings. At least UTF-8 must be supported,
|
||||
so that more than one language can be used in the same file.
|
||||
Doing on-the-fly conversion is not always possible (would require iconv
|
||||
support).
|
||||
|
||||
@@ -921,6 +921,7 @@ char digraph hex dec official name ~
|
||||
‟ 9" 201F 8223 DOUBLE HIGH-REVERSED-9 QUOTATION MARK
|
||||
† /- 2020 8224 DAGGER
|
||||
‡ /= 2021 8225 DOUBLE DAGGER
|
||||
• oo 2022 8226 BULLET
|
||||
‥ .. 2025 8229 TWO DOT LEADER
|
||||
… ,. 2026 8230 HORIZONTAL ELLIPSIS
|
||||
‰ %0 2030 8240 PER MILLE SIGN
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 8.2. Last change: 2020 Jul 05
|
||||
*editing.txt* For Vim version 8.2. Last change: 2020 Oct 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -73,10 +73,14 @@ g CTRL-G Prints the current position of the cursor in five
|
||||
ways: Column, Line, Word, Character and Byte. If the
|
||||
number of Characters and Bytes is the same then the
|
||||
Character position is omitted.
|
||||
|
||||
If there are characters in the line that take more
|
||||
than one position on the screen (<Tab> or special
|
||||
character), both the "real" column and the screen
|
||||
column are shown, separated with a dash.
|
||||
character), or characters using more than one byte per
|
||||
column (characters above 0x7F when 'encoding' is
|
||||
utf-8), both the byte column and the screen column are
|
||||
shown, separated by a dash.
|
||||
|
||||
Also see the 'ruler' option and the |wordcount()|
|
||||
function.
|
||||
|
||||
@@ -652,7 +656,7 @@ list of the current window.
|
||||
:args ## x
|
||||
< This will add the "x" item and sort the new list.
|
||||
|
||||
:argd[elete] {pattern} .. *:argd* *:argdelete* *E480*
|
||||
:argd[elete] {pattern} .. *:argd* *:argdelete* *E480* *E610*
|
||||
Delete files from the argument list that match the
|
||||
{pattern}s. {pattern} is used like a file pattern,
|
||||
see |file-pattern|. "%" can be used to delete the
|
||||
@@ -662,7 +666,7 @@ list of the current window.
|
||||
Example: >
|
||||
:argdel *.obj
|
||||
|
||||
:[range]argd[elete] Delete the {range} files from the argument list.
|
||||
:[range]argd[elete] Delete the [range] files from the argument list.
|
||||
Example: >
|
||||
:10,$argdel
|
||||
< Deletes arguments 10 and further, keeping 1-9. >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 8.2. Last change: 2020 Aug 07
|
||||
*eval.txt* For Vim version 8.2. Last change: 2020 Nov 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -120,8 +120,9 @@ base, use |str2nr()|.
|
||||
|
||||
*TRUE* *FALSE* *Boolean*
|
||||
For boolean operators Numbers are used. Zero is FALSE, non-zero is TRUE.
|
||||
You can also use |v:false| and |v:true|. When TRUE is returned from a
|
||||
function it is the Number one, FALSE is the number zero.
|
||||
You can also use |v:false| and |v:true|. In Vim9 script |false| and |true|.
|
||||
When TRUE is returned from a function it is the Number one, FALSE is the
|
||||
number zero.
|
||||
|
||||
Note that in the command: >
|
||||
:if "foo"
|
||||
@@ -132,7 +133,27 @@ non-zero number it means TRUE: >
|
||||
:" executed
|
||||
To test for a non-empty string, use empty(): >
|
||||
:if !empty("foo")
|
||||
<
|
||||
|
||||
< *falsy* *truthy*
|
||||
An expression can be used as a condition, ignoring the type and only using
|
||||
whether the value is "sort of true" or "sort of false". Falsy is:
|
||||
the number zero
|
||||
empty string, blob, list or dictionary
|
||||
Other values are truthy. Examples:
|
||||
0 falsy
|
||||
1 truthy
|
||||
-1 truthy
|
||||
0.0 falsy
|
||||
0.1 truthy
|
||||
'' falsy
|
||||
'x' truthy
|
||||
[] falsy
|
||||
[0] truthy
|
||||
{} falsy
|
||||
#{x: 1} truthy
|
||||
0z falsy
|
||||
0z00 truthy
|
||||
|
||||
*non-zero-arg*
|
||||
Function arguments often behave slightly different from |TRUE|: If the
|
||||
argument is present and it evaluates to a non-zero Number, |v:true| or a
|
||||
@@ -876,10 +897,13 @@ Example: >
|
||||
All expressions within one level are parsed from left to right.
|
||||
|
||||
|
||||
expr1 *expr1* *E109*
|
||||
expr1 *expr1* *trinary* *falsy-operator* *??* *E109*
|
||||
-----
|
||||
|
||||
expr2 ? expr1 : expr1
|
||||
The trinary operator: expr2 ? expr1 : expr1
|
||||
The falsy operator: expr2 ?? expr1
|
||||
|
||||
Trinary operator ~
|
||||
|
||||
The expression before the '?' is evaluated to a number. If it evaluates to
|
||||
|TRUE|, the result is the value of the expression between the '?' and ':',
|
||||
@@ -902,6 +926,23 @@ To keep this readable, using |line-continuation| is suggested: >
|
||||
You should always put a space before the ':', otherwise it can be mistaken for
|
||||
use in a variable such as "a:1".
|
||||
|
||||
Falsy operator ~
|
||||
|
||||
This is also known as the "null coalescing operator", but that's too
|
||||
complicated, thus we just call it the falsy operator.
|
||||
|
||||
The expression before the '??' is evaluated. If it evaluates to
|
||||
|truthy|, this is used as the result. Otherwise the expression after the '??'
|
||||
is evaluated and used as the result. This is most useful to have a default
|
||||
value for an expression that may result in zero or empty: >
|
||||
echo theList ?? 'list is empty'
|
||||
echo GetName() ?? 'unknown'
|
||||
|
||||
These are similar, but not equal: >
|
||||
expr2 ?? expr1
|
||||
expr2 ? expr2 : expr1
|
||||
In the second line "expr2" is evaluated twice.
|
||||
|
||||
|
||||
expr2 and expr3 *expr2* *expr3*
|
||||
---------------
|
||||
@@ -1131,19 +1172,25 @@ Evaluation is always from left to right.
|
||||
|
||||
expr8[expr1] item of String or |List| *expr-[]* *E111*
|
||||
*E909* *subscript*
|
||||
In legacy Vim script:
|
||||
If expr8 is a Number or String this results in a String that contains the
|
||||
expr1'th single byte from expr8. expr8 is used as a String, expr1 as a
|
||||
Number. This doesn't recognize multi-byte encodings, see `byteidx()` for
|
||||
an alternative, or use `split()` to turn the string into a list of characters.
|
||||
|
||||
Index zero gives the first byte. This is like it works in C. Careful:
|
||||
text column numbers start with one! Example, to get the byte under the
|
||||
cursor: >
|
||||
expr1'th single byte from expr8. expr8 is used as a String (a number is
|
||||
automatically converted to a String), expr1 as a Number. This doesn't
|
||||
recognize multibyte encodings, see `byteidx()` for an alternative, or use
|
||||
`split()` to turn the string into a list of characters. Example, to get the
|
||||
byte under the cursor: >
|
||||
:let c = getline(".")[col(".") - 1]
|
||||
|
||||
In Vim9 script:
|
||||
If expr8 is a String this results in a String that contains the expr1'th
|
||||
single character from expr8. To use byte indexes use |strpart()|.
|
||||
|
||||
Index zero gives the first byte or character. Careful: text column numbers
|
||||
start with one!
|
||||
|
||||
If the length of the String is less than the index, the result is an empty
|
||||
String. A negative index always results in an empty string (reason: backward
|
||||
compatibility). Use [-1:] to get the last byte.
|
||||
compatibility). Use [-1:] to get the last byte or character.
|
||||
|
||||
If expr8 is a |List| then it results the item at index expr1. See |list-index|
|
||||
for possible index values. If the index is out of range this results in an
|
||||
@@ -1157,10 +1204,16 @@ error.
|
||||
|
||||
expr8[expr1a : expr1b] substring or sublist *expr-[:]*
|
||||
|
||||
If expr8 is a Number or String this results in the substring with the bytes
|
||||
from expr1a to and including expr1b. expr8 is used as a String, expr1a and
|
||||
expr1b are used as a Number. This doesn't recognize multi-byte encodings, see
|
||||
|byteidx()| for computing the indexes.
|
||||
If expr8 is a String this results in the substring with the bytes or
|
||||
characters from expr1a to and including expr1b. expr8 is used as a String,
|
||||
expr1a and expr1b are used as a Number.
|
||||
|
||||
In legacy Vim script the indexes are byte indexes. This doesn't recognize
|
||||
multibyte encodings, see |byteidx()| for computing the indexes. If expr8 is
|
||||
a Number it is first converted to a String.
|
||||
|
||||
In Vim9 script the indexes are character indexes. To use byte indexes use
|
||||
|strpart()|.
|
||||
|
||||
If expr1a is omitted zero is used. If expr1b is omitted the length of the
|
||||
string minus one is used.
|
||||
@@ -1173,6 +1226,7 @@ expr1b is smaller than expr1a the result is an empty string.
|
||||
|
||||
Examples: >
|
||||
:let c = name[-1:] " last byte of a string
|
||||
:let c = name[0:-1] " the whole string
|
||||
:let c = name[-2:-2] " last but one byte of a string
|
||||
:let s = line(".")[4:] " from the fifth byte to the end
|
||||
:let s = s[:-3] " remove last two bytes
|
||||
@@ -1796,6 +1850,13 @@ v:dying Normally zero. When a deadly signal is caught it's set to
|
||||
< Note: if another deadly signal is caught when v:dying is one,
|
||||
VimLeave autocommands will not be executed.
|
||||
|
||||
*v:exiting* *exiting-variable*
|
||||
v:exiting Vim exit code. Normally zero, non-zero when something went
|
||||
wrong. The value is v:null before invoking the |VimLeavePre|
|
||||
and |VimLeave| autocmds. See |:q|, |:x| and |:cquit|.
|
||||
Example: >
|
||||
:au VimLeave * echo "Exit value is " .. v:exiting
|
||||
<
|
||||
*v:echospace* *echospace-variable*
|
||||
v:echospace Number of screen cells that can be used for an `:echo` message
|
||||
in the last screen line before causing the |hit-enter-prompt|.
|
||||
@@ -2347,7 +2408,7 @@ assert_equalfile({fname-one}, {fname-two} [, {msg}])
|
||||
Number assert file contents are equal
|
||||
assert_exception({error} [, {msg}])
|
||||
Number assert {error} is in v:exception
|
||||
assert_fails({cmd} [, {error} [, {msg}]])
|
||||
assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]])
|
||||
Number assert {cmd} fails
|
||||
assert_false({actual} [, {msg}])
|
||||
Number assert {actual} is false
|
||||
@@ -2413,6 +2474,7 @@ ch_status({handle} [, {options}])
|
||||
String status of channel {handle}
|
||||
changenr() Number current change number
|
||||
char2nr({expr} [, {utf8}]) Number ASCII/UTF8 value of first char in {expr}
|
||||
charclass({string}) Number character class of {string}
|
||||
chdir({dir}) String change current working directory
|
||||
cindent({lnum}) Number C indent for line {lnum}
|
||||
clearmatches([{win}]) none clear all matches
|
||||
@@ -2501,7 +2563,7 @@ getcmdtype() String return current command-line type
|
||||
getcmdwintype() String return current command-line window type
|
||||
getcompletion({pat}, {type} [, {filtered}])
|
||||
List list of cmdline completion matches
|
||||
getcurpos() List position of the cursor
|
||||
getcurpos([{winnr}]) List position of the cursor
|
||||
getcwd([{winnr} [, {tabnr}]]) String get the current working directory
|
||||
getenv({name}) String return environment variable
|
||||
getfontname([{name}]) String name of font being used
|
||||
@@ -2533,6 +2595,7 @@ gettabvar({nr}, {varname} [, {def}])
|
||||
gettabwinvar({tabnr}, {winnr}, {name} [, {def}])
|
||||
any {name} in {winnr} in tab page {tabnr}
|
||||
gettagstack([{nr}]) Dict get the tag stack of window {nr}
|
||||
gettext({text}) String lookup translation of {text}
|
||||
getwininfo([{winid}]) List list of info about each window
|
||||
getwinpos([{timeout}]) List X and Y coord in pixels of the Vim window
|
||||
getwinposx() Number X coord in pixels of the Vim window
|
||||
@@ -2613,8 +2676,9 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]])
|
||||
rhs of mapping {name} in mode {mode}
|
||||
mapcheck({name} [, {mode} [, {abbr}]])
|
||||
String check for mappings matching {name}
|
||||
mapset({mode}, {abbr}, {dict})
|
||||
none restore mapping from |maparg()| result
|
||||
mapnew({expr1}, {expr2}) List/Dict like |map()| but creates a new List
|
||||
or Dictionary
|
||||
mapset({mode}, {abbr}, {dict}) none restore mapping from |maparg()| result
|
||||
match({expr}, {pat} [, {start} [, {count}]])
|
||||
Number position where {pat} matches in {expr}
|
||||
matchadd({group}, {pattern} [, {priority} [, {id} [, {dict}]]])
|
||||
@@ -2625,6 +2689,10 @@ matcharg({nr}) List arguments of |:match|
|
||||
matchdelete({id} [, {win}]) Number delete match identified by {id}
|
||||
matchend({expr}, {pat} [, {start} [, {count}]])
|
||||
Number position where {pat} ends in {expr}
|
||||
matchfuzzy({list}, {str} [, {dict}])
|
||||
List fuzzy match {str} in {list}
|
||||
matchfuzzypos({list}, {str} [, {dict}])
|
||||
List fuzzy match {str} in {list}
|
||||
matchlist({expr}, {pat} [, {start} [, {count}]])
|
||||
List match and submatches of {pat} in {expr}
|
||||
matchstr({expr}, {pat} [, {start} [, {count}]])
|
||||
@@ -2641,7 +2709,7 @@ mzeval({expr}) any evaluate |MzScheme| expression
|
||||
nextnonblank({lnum}) Number line nr of non-blank line >= {lnum}
|
||||
nr2char({expr} [, {utf8}]) String single char with ASCII/UTF8 value {expr}
|
||||
or({expr}, {expr}) Number bitwise OR
|
||||
pathshorten({expr}) String shorten directory names in a path
|
||||
pathshorten({expr} [, {len}]) String shorten directory names in a path
|
||||
perleval({expr}) any evaluate |Perl| expression
|
||||
popup_atcursor({what}, {options}) Number create popup window near the cursor
|
||||
popup_beval({what}, {options}) Number create popup window for 'ballooneval'
|
||||
@@ -2669,6 +2737,7 @@ popup_show({id}) none unhide popup window {id}
|
||||
pow({x}, {y}) Float {x} to the power of {y}
|
||||
prevnonblank({lnum}) Number line nr of non-blank line <= {lnum}
|
||||
printf({fmt}, {expr1}...) String format text
|
||||
prompt_getprompt({buf}) String get prompt text
|
||||
prompt_setcallback({buf}, {expr}) none set prompt callback function
|
||||
prompt_setinterrupt({buf}, {text}) none set prompt interrupt function
|
||||
prompt_setprompt({buf}, {text}) none set prompt text
|
||||
@@ -2685,7 +2754,7 @@ prop_type_change({name}, {props})
|
||||
none change an existing property type
|
||||
prop_type_delete({name} [, {props}])
|
||||
none delete a property type
|
||||
prop_type_get([{name} [, {props}]])
|
||||
prop_type_get({name} [, {props}])
|
||||
Dict get property type values
|
||||
prop_type_list([{props}]) List get list of property types
|
||||
pum_getpos() Dict position and size of pum if visible
|
||||
@@ -2756,6 +2825,7 @@ setbufline({expr}, {lnum}, {text})
|
||||
{expr}
|
||||
setbufvar({expr}, {varname}, {val})
|
||||
none set {varname} in buffer {expr} to {val}
|
||||
setcellwidths({list}) none set character cell width overrides
|
||||
setcharsearch({dict}) Dict set character search from {dict}
|
||||
setcmdpos({pos}) Number set cursor position in command-line
|
||||
setenv({name}, {val}) none set environment variable
|
||||
@@ -2824,7 +2894,8 @@ str2list({expr} [, {utf8}]) List convert each character of {expr} to
|
||||
str2nr({expr} [, {base} [, {quoted}]])
|
||||
Number convert String to Number
|
||||
strcharpart({str}, {start} [, {len}])
|
||||
String {len} characters of {str} at {start}
|
||||
String {len} characters of {str} at
|
||||
character {start}
|
||||
strchars({expr} [, {skipcc}]) Number character length of the String {expr}
|
||||
strdisplaywidth({expr} [, {col}]) Number display length of the String {expr}
|
||||
strftime({format} [, {time}]) String format time with a specified format
|
||||
@@ -2833,8 +2904,9 @@ stridx({haystack}, {needle} [, {start}])
|
||||
Number index of {needle} in {haystack}
|
||||
string({expr}) String String representation of {expr} value
|
||||
strlen({expr}) Number length of the String {expr}
|
||||
strpart({str}, {start} [, {len}])
|
||||
String {len} bytes of {str} at byte {start}
|
||||
strpart({str}, {start} [, {len} [, {chars}]])
|
||||
String {len} bytes/chars of {str} at
|
||||
byte {start}
|
||||
strptime({format}, {timestring})
|
||||
Number Convert {timestring} to unix timestamp
|
||||
strridx({haystack}, {needle} [, {start}])
|
||||
@@ -3062,7 +3134,7 @@ appendbufline({expr}, {lnum}, {text}) *appendbufline()*
|
||||
error message is given. Example: >
|
||||
:let failed = appendbufline(13, 0, "# THE START")
|
||||
<
|
||||
< Can also be used as a |method| after a List, the base is
|
||||
Can also be used as a |method| after a List, the base is
|
||||
passed as the second argument: >
|
||||
mylist->appendbufline(buf, lnum)
|
||||
|
||||
@@ -3343,7 +3415,7 @@ bufnr([{expr} [, {create}]])
|
||||
above.
|
||||
|
||||
If the buffer doesn't exist, -1 is returned. Or, if the
|
||||
{create} argument is present and not zero, a new, unlisted,
|
||||
{create} argument is present and TRUE, a new, unlisted,
|
||||
buffer is created and its number is returned. Example: >
|
||||
let newbuf = bufnr('Scratch001', 1)
|
||||
< Using an empty name uses the current buffer. To create a new
|
||||
@@ -3406,9 +3478,10 @@ byte2line({byte}) *byte2line()*
|
||||
|
||||
byteidx({expr}, {nr}) *byteidx()*
|
||||
Return byte index of the {nr}'th character in the string
|
||||
{expr}. Use zero for the first character, it returns zero.
|
||||
This function is only useful when there are multibyte
|
||||
characters, otherwise the returned value is equal to {nr}.
|
||||
{expr}. Use zero for the first character, it then returns
|
||||
zero.
|
||||
If there are no multibyte characters the returned value is
|
||||
equal to {nr}.
|
||||
Composing characters are not counted separately, their byte
|
||||
length is added to the preceding base character. See
|
||||
|byteidxcomp()| below for counting composing characters
|
||||
@@ -3438,7 +3511,7 @@ byteidxcomp({expr}, {nr}) *byteidxcomp()*
|
||||
< The first and third echo result in 3 ('e' plus composing
|
||||
character is 3 bytes), the second echo results in 1 ('e' is
|
||||
one byte).
|
||||
Only works different from byteidx() when 'encoding' is set to
|
||||
Only works differently from byteidx() when 'encoding' is set to
|
||||
a Unicode encoding.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
@@ -3493,7 +3566,7 @@ char2nr({expr} [, {utf8}]) *char2nr()*
|
||||
Example for "utf-8": >
|
||||
char2nr("á") returns 225
|
||||
char2nr("á"[0]) returns 195
|
||||
< With {utf8} set to 1, always treat as utf-8 characters.
|
||||
< With {utf8} set to TRUE, always treat as utf-8 characters.
|
||||
A combining character is a separate character.
|
||||
|nr2char()| does the opposite.
|
||||
To turn a string into a list of character numbers: >
|
||||
@@ -3504,6 +3577,18 @@ char2nr({expr} [, {utf8}]) *char2nr()*
|
||||
Can also be used as a |method|: >
|
||||
GetChar()->char2nr()
|
||||
|
||||
|
||||
charclass({string}) *charclass()*
|
||||
Return the character class of the first character in {string}.
|
||||
The character class is one of:
|
||||
0 blank
|
||||
1 punctuation
|
||||
2 word character
|
||||
3 emoji
|
||||
other specific Unicode class
|
||||
The class is used in patterns and word motions.
|
||||
|
||||
|
||||
chdir({dir}) *chdir()*
|
||||
Change the current working directory to {dir}. The scope of
|
||||
the directory change depends on the directory of the current
|
||||
@@ -3721,7 +3806,7 @@ confirm({msg} [, {choices} [, {default} [, {type}]]])
|
||||
not need to be the first letter: >
|
||||
confirm("file has been modified", "&Save\nSave &All")
|
||||
< For the console, the first letter of each choice is used as
|
||||
the default shortcut key.
|
||||
the default shortcut key. Case is ignored.
|
||||
|
||||
The optional {default} argument is the number of the choice
|
||||
that is made if the user hits <CR>. Use 1 to make the first
|
||||
@@ -4268,6 +4353,7 @@ expand({expr} [, {nosuf} [, {list}]]) *expand()*
|
||||
<afile> autocmd file name
|
||||
<abuf> autocmd buffer number (as a String!)
|
||||
<amatch> autocmd matched name
|
||||
<cexpr> C expression under the cursor
|
||||
<sfile> sourced script file or function name
|
||||
<slnum> sourced script line number or function
|
||||
line number
|
||||
@@ -4275,6 +4361,7 @@ expand({expr} [, {nosuf} [, {list}]]) *expand()*
|
||||
a function
|
||||
<SID> "<SNR>123_" where "123" is the
|
||||
current script ID |<SID>|
|
||||
<stack> call stack
|
||||
<cword> word under the cursor
|
||||
<cWORD> WORD under the cursor
|
||||
<client> the {clientid} of the last received
|
||||
@@ -4348,10 +4435,10 @@ extend({expr1}, {expr2} [, {expr3}]) *extend()*
|
||||
|Dictionaries|.
|
||||
|
||||
If they are |Lists|: Append {expr2} to {expr1}.
|
||||
If {expr3} is given insert the items of {expr2} before item
|
||||
{expr3} in {expr1}. When {expr3} is zero insert before the
|
||||
first item. When {expr3} is equal to len({expr1}) then
|
||||
{expr2} is appended.
|
||||
If {expr3} is given insert the items of {expr2} before the
|
||||
item with index {expr3} in {expr1}. When {expr3} is zero
|
||||
insert before the first item. When {expr3} is equal to
|
||||
len({expr1}) then {expr2} is appended.
|
||||
Examples: >
|
||||
:echo sort(extend(mylist, [7, 5]))
|
||||
:call extend(mylist, [2, 3], 1)
|
||||
@@ -5222,13 +5309,20 @@ getcompletion({pat}, {type} [, {filtered}]) *getcompletion()*
|
||||
GetPattern()->getcompletion('color')
|
||||
<
|
||||
*getcurpos()*
|
||||
getcurpos() Get the position of the cursor. This is like getpos('.'), but
|
||||
getcurpos([{winid}])
|
||||
Get the position of the cursor. This is like getpos('.'), but
|
||||
includes an extra "curswant" item in the list:
|
||||
[0, lnum, col, off, curswant] ~
|
||||
The "curswant" number is the preferred column when moving the
|
||||
cursor vertically. Also see |getpos()|.
|
||||
The first "bufnum" item is always zero.
|
||||
|
||||
The optional {winid} argument can specify the window. It can
|
||||
be the window number or the |window-ID|. The last known
|
||||
cursor position is returned, this may be invalid for the
|
||||
current value of the buffer if it is not the current window.
|
||||
If {winid} is invalid a list with zeroes is returned.
|
||||
|
||||
This can be used to save and restore the cursor position: >
|
||||
let save_cursor = getcurpos()
|
||||
MoveTheCursorAround
|
||||
@@ -5439,8 +5533,9 @@ getloclist({nr} [, {what}]) *getloclist()*
|
||||
|location-list-file-window| for more
|
||||
details.
|
||||
|
||||
Returns an empty Dictionary if there is no location list for
|
||||
the window {nr} or the window is not present.
|
||||
Returns a Dictionary with default values if there is no location
|
||||
list for the window {nr}.
|
||||
Returns an empty Dictionary if window {nr} does not exist.
|
||||
|
||||
Examples (See also |getqflist-examples|): >
|
||||
:echo getloclist(3, {'all': 0})
|
||||
@@ -5455,7 +5550,7 @@ getmarklist([{expr}]) *getmarklist()*
|
||||
local marks defined in buffer {expr}. For the use of {expr},
|
||||
see |bufname()|.
|
||||
|
||||
Each item in the retuned List is a |Dict| with the following:
|
||||
Each item in the returned List is a |Dict| with the following:
|
||||
name - name of the mark prefixed by "'"
|
||||
pos - a |List| with the position of the mark:
|
||||
[bufnum, lnum, col, off]
|
||||
@@ -5692,6 +5787,7 @@ getreginfo([{regname}]) *getreginfo()*
|
||||
If {regname} is invalid or not set, an empty Dictionary
|
||||
will be returned.
|
||||
If {regname} is not specified, |v:register| is used.
|
||||
The returned Dictionary can be passed to |setreg()|.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetRegname()->getreginfo()
|
||||
@@ -5798,6 +5894,19 @@ gettagstack([{nr}]) *gettagstack()*
|
||||
Can also be used as a |method|: >
|
||||
GetWinnr()->gettagstack()
|
||||
|
||||
|
||||
gettext({text}) *gettext()*
|
||||
Translate {text} if possible.
|
||||
This is mainly for use in the distributed Vim scripts. When
|
||||
generating message translations the {text} is extracted by
|
||||
xgettext, the translator can add the translated message in the
|
||||
.po file and Vim will lookup the translation when gettext() is
|
||||
called.
|
||||
For {text} double quoted strings are preferred, because
|
||||
xgettext does not understand escaping in single quoted
|
||||
strings.
|
||||
|
||||
|
||||
getwininfo([{winid}]) *getwininfo()*
|
||||
Returns information about windows as a |List| with Dictionaries.
|
||||
|
||||
@@ -5986,7 +6095,7 @@ has({feature} [, {check}])
|
||||
zero otherwise. This is useful to check for a typo in
|
||||
{feature} and to detect dead code. Keep in mind that an older
|
||||
Vim version will not know about a feature added later and
|
||||
features that have been abandoned will not be know by the
|
||||
features that have been abandoned will not be known by the
|
||||
current Vim version.
|
||||
|
||||
Also see |exists()|.
|
||||
@@ -6886,9 +6995,14 @@ luaeval({expr} [, {expr}]) *luaeval()*
|
||||
< {only available when compiled with the |+lua| feature}
|
||||
|
||||
map({expr1}, {expr2}) *map()*
|
||||
{expr1} must be a |List| or a |Dictionary|.
|
||||
{expr1} must be a |List|, |Blob| or |Dictionary|.
|
||||
Replace each item in {expr1} with the result of evaluating
|
||||
{expr2}. {expr2} must be a |string| or |Funcref|.
|
||||
{expr2}. For a |Blob| each byte is replaced.
|
||||
If the item type changes you may want to use |mapnew()| to
|
||||
create a new List or Dictionary. This is required when using
|
||||
Vim9 script.
|
||||
|
||||
{expr2} must be a |string| or |Funcref|.
|
||||
|
||||
If {expr2} is a |string|, inside {expr2} |v:val| has the value
|
||||
of the current item. For a |Dictionary| |v:key| has the key
|
||||
@@ -6923,11 +7037,11 @@ map({expr1}, {expr2}) *map()*
|
||||
|Dictionary| to remain unmodified make a copy first: >
|
||||
:let tlist = map(copy(mylist), ' v:val . "\t"')
|
||||
|
||||
< Returns {expr1}, the |List| or |Dictionary| that was filtered.
|
||||
When an error is encountered while evaluating {expr2} no
|
||||
further items in {expr1} are processed. When {expr2} is a
|
||||
Funcref errors inside a function are ignored, unless it was
|
||||
defined with the "abort" flag.
|
||||
< Returns {expr1}, the |List|, |Blob| or |Dictionary| that was
|
||||
filtered. When an error is encountered while evaluating
|
||||
{expr2} no further items in {expr1} are processed. When
|
||||
{expr2} is a Funcref errors inside a function are ignored,
|
||||
unless it was defined with the "abort" flag.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
mylist->map(expr2)
|
||||
@@ -7036,7 +7150,13 @@ mapcheck({name} [, {mode} [, {abbr}]]) *mapcheck()*
|
||||
GetKey()->mapcheck('n')
|
||||
|
||||
|
||||
mapset({mode}, {abbr}, {dict}) *mapset()*
|
||||
mapnew({expr1}, {expr2}) *mapnew()*
|
||||
Like |map()| but instead of replacing items in {expr1} a new
|
||||
List or Dictionary is created and returned. {expr1} remains
|
||||
unchanged.
|
||||
|
||||
|
||||
mapset({mode}, {abbr}, {dict}) *mapset()*
|
||||
Restore a mapping from a dictionary returned by |maparg()|.
|
||||
{mode} and {abbr} should be the same as for the call to
|
||||
|maparg()|. *E460*
|
||||
@@ -7260,6 +7380,84 @@ matchend({expr}, {pat} [, {start} [, {count}]]) *matchend()*
|
||||
Can also be used as a |method|: >
|
||||
GetText()->matchend('word')
|
||||
|
||||
|
||||
matchfuzzy({list}, {str} [, {dict}]) *matchfuzzy()*
|
||||
If {list} is a list of strings, then returns a list with all
|
||||
the strings in {list} that fuzzy match {str}. The strings in
|
||||
the returned list are sorted based on the matching score.
|
||||
|
||||
The optional {dict} argument always supports the following
|
||||
items:
|
||||
matchseq When this item is present and {str} contains
|
||||
multiple words separated by white space, then
|
||||
returns only matches that contain the words in
|
||||
the given sequence.
|
||||
|
||||
If {list} is a list of dictionaries, then the optional {dict}
|
||||
argument supports the following additional items:
|
||||
key key of the item which is fuzzy matched against
|
||||
{str}. The value of this item should be a
|
||||
string.
|
||||
text_cb |Funcref| that will be called for every item
|
||||
in {list} to get the text for fuzzy matching.
|
||||
This should accept a dictionary item as the
|
||||
argument and return the text for that item to
|
||||
use for fuzzy matching.
|
||||
|
||||
{str} is treated as a literal string and regular expression
|
||||
matching is NOT supported. The maximum supported {str} length
|
||||
is 256.
|
||||
|
||||
When {str} has multiple words each separated by white space,
|
||||
then the list of strings that have all the words is returned.
|
||||
|
||||
If there are no matching strings or there is an error, then an
|
||||
empty list is returned. If length of {str} is greater than
|
||||
256, then returns an empty list.
|
||||
|
||||
Example: >
|
||||
:echo matchfuzzy(["clay", "crow"], "cay")
|
||||
< results in ["clay"]. >
|
||||
:echo getbufinfo()->map({_, v -> v.name})->matchfuzzy("ndl")
|
||||
< results in a list of buffer names fuzzy matching "ndl". >
|
||||
:echo getbufinfo()->matchfuzzy("ndl", {'key' : 'name'})
|
||||
< results in a list of buffer information dicts with buffer
|
||||
names fuzzy matching "ndl". >
|
||||
:echo getbufinfo()->matchfuzzy("spl",
|
||||
\ {'text_cb' : {v -> v.name}})
|
||||
< results in a list of buffer information dicts with buffer
|
||||
names fuzzy matching "spl". >
|
||||
:echo v:oldfiles->matchfuzzy("test")
|
||||
< results in a list of file names fuzzy matching "test". >
|
||||
:let l = readfile("buffer.c")->matchfuzzy("str")
|
||||
< results in a list of lines in "buffer.c" fuzzy matching "str". >
|
||||
:echo ['one two', 'two one']->matchfuzzy('two one')
|
||||
< results in ['two one', 'one two']. >
|
||||
:echo ['one two', 'two one']->matchfuzzy('two one',
|
||||
\ {'matchseq': 1})
|
||||
< results in ['two one'].
|
||||
|
||||
matchfuzzypos({list}, {str} [, {dict}]) *matchfuzzypos()*
|
||||
Same as |matchfuzzy()|, but returns the list of matched
|
||||
strings and the list of character positions where characters
|
||||
in {str} matches. You can use |byteidx()|to convert a
|
||||
character position to a byte position.
|
||||
|
||||
|
||||
If {str} matches multiple times in a string, then only the
|
||||
positions for the best match is returned.
|
||||
|
||||
If there are no matching strings or there is an error, then a
|
||||
list with two empty list items is returned.
|
||||
|
||||
Example: >
|
||||
:echo matchfuzzypos(['testing'], 'tsg')
|
||||
< results in [['testing'], [[0, 2, 6]]] >
|
||||
:echo matchfuzzypos(['clay', 'lacy'], 'la')
|
||||
< results in [['lacy', 'clay'], [[0, 1], [1, 2]]] >
|
||||
:echo [{'text': 'hello', 'id' : 10}]->matchfuzzypos('ll', {'key' : 'text'})
|
||||
< results in [{'id': 10, 'text': 'hello'}] [[2, 3]]
|
||||
|
||||
matchlist({expr}, {pat} [, {start} [, {count}]]) *matchlist()*
|
||||
Same as |match()|, but return a |List|. The first item in the
|
||||
list is the matched string, same as what matchstr() would
|
||||
@@ -7534,13 +7732,17 @@ or({expr}, {expr}) *or()*
|
||||
:let bits = bits->or(0x80)
|
||||
|
||||
|
||||
pathshorten({expr}) *pathshorten()*
|
||||
pathshorten({expr} [, {len}]) *pathshorten()*
|
||||
Shorten directory names in the path {expr} and return the
|
||||
result. The tail, the file name, is kept as-is. The other
|
||||
components in the path are reduced to single letters. Leading
|
||||
'~' and '.' characters are kept. Example: >
|
||||
components in the path are reduced to {len} letters in length.
|
||||
If {len} is omitted or smaller than 1 then 1 is used (single
|
||||
letters). Leading '~' and '.' characters are kept. Examples: >
|
||||
:echo pathshorten('~/.vim/autoload/myfile.vim')
|
||||
< ~/.v/a/myfile.vim ~
|
||||
>
|
||||
:echo pathshorten('~/.vim/autoload/myfile.vim', 2)
|
||||
< ~/.vi/au/myfile.vim ~
|
||||
It doesn't matter if the path exists or not.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
@@ -7562,7 +7764,7 @@ perleval({expr}) *perleval()*
|
||||
< {only available when compiled with the |+perl| feature}
|
||||
|
||||
|
||||
popup_ functions are documented here: |popup-functions|.
|
||||
popup_ functions are documented here: |popup-functions|
|
||||
|
||||
|
||||
pow({x}, {y}) *pow()*
|
||||
@@ -7790,6 +7992,17 @@ printf({fmt}, {expr1} ...) *printf()*
|
||||
arguments an error is given. Up to 18 arguments can be used.
|
||||
|
||||
|
||||
prompt_getprompt({buf}) *prompt_getprompt()*
|
||||
Returns the effective prompt text for buffer {buf}. {buf} can
|
||||
be a buffer name or number. See |prompt-buffer|.
|
||||
|
||||
If the buffer doesn't exist or isn't a prompt buffer, an empty
|
||||
string is returned.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetBuffer()->prompt_getprompt()
|
||||
|
||||
|
||||
prompt_setcallback({buf}, {expr}) *prompt_setcallback()*
|
||||
Set prompt callback for buffer {buf} to {expr}. When {expr}
|
||||
is an empty string the callback is removed. This has only
|
||||
@@ -7845,7 +8058,7 @@ prompt_setprompt({buf}, {text}) *prompt_setprompt()*
|
||||
Can also be used as a |method|: >
|
||||
GetBuffer()->prompt_setprompt('command: ')
|
||||
|
||||
prop_ functions are documented here: |text-prop-functions|.
|
||||
prop_ functions are documented here: |text-prop-functions|
|
||||
|
||||
pum_getpos() *pum_getpos()*
|
||||
If the popup menu (see |ins-completion-menu|) is not visible,
|
||||
@@ -8127,15 +8340,18 @@ reg_recording() *reg_recording()*
|
||||
Returns an empty string when not recording. See |q|.
|
||||
|
||||
reltime([{start} [, {end}]]) *reltime()*
|
||||
Return an item that represents a time value. The format of
|
||||
the item depends on the system. It can be passed to
|
||||
|reltimestr()| to convert it to a string or |reltimefloat()|
|
||||
to convert to a Float.
|
||||
Without an argument it returns the current time.
|
||||
Return an item that represents a time value. The item is a
|
||||
list with items that depend on the system. In Vim 9 script
|
||||
list<any> can be used.
|
||||
The item can be passed to |reltimestr()| to convert it to a
|
||||
string or |reltimefloat()| to convert to a Float.
|
||||
|
||||
Without an argument reltime() returns the current time.
|
||||
With one argument is returns the time passed since the time
|
||||
specified in the argument.
|
||||
With two arguments it returns the time passed between {start}
|
||||
and {end}.
|
||||
|
||||
The {start} and {end} arguments must be values returned by
|
||||
reltime().
|
||||
|
||||
@@ -8453,6 +8669,7 @@ screencol() *screencol()*
|
||||
the following mappings: >
|
||||
nnoremap <expr> GG ":echom ".screencol()."\n"
|
||||
nnoremap <silent> GG :echom screencol()<CR>
|
||||
nnoremap GG <Cmd>echom screencol()<CR>
|
||||
<
|
||||
screenpos({winid}, {lnum}, {col}) *screenpos()*
|
||||
The result is a Dict with the screen position of the text
|
||||
@@ -8520,11 +8737,16 @@ search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
|
||||
|
||||
'ignorecase', 'smartcase' and 'magic' are used.
|
||||
|
||||
When the 'z' flag is not given, searching always starts in
|
||||
column zero and then matches before the cursor are skipped.
|
||||
When the 'c' flag is present in 'cpo' the next search starts
|
||||
after the match. Without the 'c' flag the next search starts
|
||||
one column further.
|
||||
When the 'z' flag is not given, forward searching always
|
||||
starts in column zero and then matches before the cursor are
|
||||
skipped. When the 'c' flag is present in 'cpo' the next
|
||||
search starts after the match. Without the 'c' flag the next
|
||||
search starts one column further. This matters for
|
||||
overlapping matches.
|
||||
When searching backwards and the 'z' flag is given then the
|
||||
search starts in column zero, thus no match in the current
|
||||
line will be found (unless wrapping around the end of the
|
||||
file).
|
||||
|
||||
When the {stopline} argument is given then the search stops
|
||||
after searching this line. This is useful to restrict the
|
||||
@@ -8922,6 +9144,31 @@ setbufvar({expr}, {varname}, {val}) *setbufvar()*
|
||||
third argument: >
|
||||
GetValue()->setbufvar(buf, varname)
|
||||
|
||||
|
||||
setcellwidths({list}) *setcellwidths()*
|
||||
Specify overrides for cell widths of character ranges. This
|
||||
tells Vim how wide characters are, counted in screen cells.
|
||||
This overrides 'ambiwidth'. Example: >
|
||||
setcellwidths([[0xad, 0xad, 1],
|
||||
\ [0x2194, 0x2199, 2]])
|
||||
|
||||
< *E1109* *E1110* *E1111* *E1112* *E1113*
|
||||
The {list} argument is a list of lists with each three
|
||||
numbers. These three numbers are [low, high, width]. "low"
|
||||
and "high" can be the same, in which case this refers to one
|
||||
character. Otherwise it is the range of characters from "low"
|
||||
to "high" (inclusive). "width" is either 1 or 2, indicating
|
||||
the character width in screen cells.
|
||||
An error is given if the argument is invalid, also when a
|
||||
range overlaps with another.
|
||||
Only characters with value 0x100 and higher can be used.
|
||||
|
||||
To clear the overrides pass an empty list: >
|
||||
setcellwidths([]);
|
||||
< You can use the script $VIMRUNTIME/tools/emoji_list.vim to see
|
||||
the effect for known emoji characters.
|
||||
|
||||
|
||||
setcharsearch({dict}) *setcharsearch()*
|
||||
Set the current character search information to {dict},
|
||||
which contains one or more of the following entries:
|
||||
@@ -9483,8 +9730,25 @@ sort({list} [, {func} [, {dict}]]) *sort()* *E702*
|
||||
When {func} is given and it is '1' or 'i' then case is
|
||||
ignored.
|
||||
|
||||
When {func} is given and it is 'l' then the current collation
|
||||
locale is used for ordering. Implementation details: strcoll()
|
||||
is used to compare strings. See |:language| check or set the
|
||||
collation locale. |v:collate| can also be used to check the
|
||||
current locale. Sorting using the locale typically ignores
|
||||
case. Example: >
|
||||
" ö is sorted similarly to o with English locale.
|
||||
:language collate en_US.UTF8
|
||||
:echo sort(['n', 'o', 'O', 'ö', 'p', 'z'], 'l')
|
||||
< ['n', 'o', 'O', 'ö', 'p', 'z'] ~
|
||||
>
|
||||
" ö is sorted after z with Swedish locale.
|
||||
:language collate sv_SE.UTF8
|
||||
:echo sort(['n', 'o', 'O', 'ö', 'p', 'z'], 'l')
|
||||
< ['n', 'o', 'O', 'p', 'z', 'ö'] ~
|
||||
This does not work properly on Mac.
|
||||
|
||||
When {func} is given and it is 'n' then all items will be
|
||||
sorted numerical (Implementation detail: This uses the
|
||||
sorted numerical (Implementation detail: this uses the
|
||||
strtod() function to parse numbers, Strings, Lists, Dicts and
|
||||
Funcrefs will be considered as being 0).
|
||||
|
||||
@@ -9936,17 +10200,22 @@ strlen({expr}) The result is a Number, which is the length of the String
|
||||
{expr} in bytes.
|
||||
If the argument is a Number it is first converted to a String.
|
||||
For other types an error is given.
|
||||
If you want to count the number of multi-byte characters use
|
||||
If you want to count the number of multibyte characters use
|
||||
|strchars()|.
|
||||
Also see |len()|, |strdisplaywidth()| and |strwidth()|.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetString()->strlen()
|
||||
|
||||
strpart({src}, {start} [, {len}]) *strpart()*
|
||||
strpart({src}, {start} [, {len} [, {chars}]]) *strpart()*
|
||||
The result is a String, which is part of {src}, starting from
|
||||
byte {start}, with the byte length {len}.
|
||||
To count characters instead of bytes use |strcharpart()|.
|
||||
When {chars} is present and TRUE then {len} is the number of
|
||||
characters positions (composing characters are not counted
|
||||
separately, thus "1" means one base character and any
|
||||
following composing characters).
|
||||
To count {start} as characters instead of bytes use
|
||||
|strcharpart()|.
|
||||
|
||||
When bytes are selected which do not exist, this doesn't
|
||||
result in an error, the bytes are simply omitted.
|
||||
@@ -9958,8 +10227,8 @@ strpart({src}, {start} [, {len}]) *strpart()*
|
||||
strpart("abcdefg", 3) == "defg"
|
||||
|
||||
< Note: To get the first character, {start} must be 0. For
|
||||
example, to get three bytes under and after the cursor: >
|
||||
strpart(getline("."), col(".") - 1, 3)
|
||||
example, to get the character under the cursor: >
|
||||
strpart(getline("."), col(".") - 1, 1, v:true)
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
GetText()->strpart(5)
|
||||
@@ -10181,7 +10450,9 @@ synIDattr({synID}, {what} [, {mode}]) *synIDattr()*
|
||||
"bg" background color (as with "fg")
|
||||
"font" font name (only available in the GUI)
|
||||
|highlight-font|
|
||||
"sp" special color (as with "fg") |highlight-guisp|
|
||||
"sp" special color for the GUI (as with "fg")
|
||||
|highlight-guisp|
|
||||
"ul" underline color for cterm: number as a string
|
||||
"fg#" like "fg", but for the GUI and the GUI is
|
||||
running the name in "#RRGGBB" form
|
||||
"bg#" like "fg#" for "bg"
|
||||
@@ -10485,8 +10756,8 @@ terminalprops() *terminalprops()*
|
||||
detected from the response to |t_RV| request. See
|
||||
|v:termresponse| for the response itself. If |v:termresponse|
|
||||
is empty most values here will be 'u' for unknown.
|
||||
cursor_style wether sending |t_RS| works **
|
||||
cursor_blink_mode wether sending |t_RC| works **
|
||||
cursor_style whether sending |t_RS| works **
|
||||
cursor_blink_mode whether sending |t_RC| works **
|
||||
underline_rgb whether |t_8u| works **
|
||||
mouse mouse type supported
|
||||
|
||||
@@ -10953,7 +11224,8 @@ win_screenpos({nr}) *win_screenpos()*
|
||||
Return the screen position of window {nr} as a list with two
|
||||
numbers: [row, col]. The first window always has position
|
||||
[1, 1], unless there is a tabline, then it is [2, 1].
|
||||
{nr} can be the window number or the |window-ID|.
|
||||
{nr} can be the window number or the |window-ID|. Use zero
|
||||
for the current window.
|
||||
Return [0, 0] if the window cannot be found in the current
|
||||
tabpage.
|
||||
|
||||
@@ -11141,7 +11413,8 @@ winsaveview() Returns a |Dictionary| that contains information to restore
|
||||
curswant column for vertical movement
|
||||
topline first line in the window
|
||||
topfill filler lines, only in diff mode
|
||||
leftcol first column displayed
|
||||
leftcol first column displayed; only used when
|
||||
'wrap' is off
|
||||
skipcol columns skipped
|
||||
Note that no option values are saved.
|
||||
|
||||
@@ -11360,7 +11633,7 @@ menu Compiled with support for |:menu|.
|
||||
mksession Compiled with support for |:mksession|.
|
||||
modify_fname Compiled with file name modifiers. |filename-modifiers|
|
||||
(always true)
|
||||
mouse Compiled with support mouse.
|
||||
mouse Compiled with support for mouse.
|
||||
mouse_dec Compiled with support for Dec terminal mouse.
|
||||
mouse_gpm Compiled with support for gpm (Linux console mouse)
|
||||
mouse_gpm_enabled GPM mouse is working
|
||||
@@ -11372,7 +11645,7 @@ mouse_urxvt Compiled with support for urxvt mouse.
|
||||
mouse_xterm Compiled with support for xterm mouse.
|
||||
mouseshape Compiled with support for 'mouseshape'.
|
||||
multi_byte Compiled with support for 'encoding' (always true)
|
||||
multi_byte_encoding 'encoding' is set to a multi-byte encoding.
|
||||
multi_byte_encoding 'encoding' is set to a multibyte encoding.
|
||||
multi_byte_ime Compiled with support for IME input method.
|
||||
multi_lang Compiled with support for multiple languages.
|
||||
mzscheme Compiled with MzScheme interface |mzscheme|.
|
||||
@@ -11915,8 +12188,9 @@ be used to pass settings to the autoload script before it's loaded: >
|
||||
|
||||
Note that when you make a mistake and call a function that is supposed to be
|
||||
defined in an autoload script, but the script doesn't actually define the
|
||||
function, the script will be sourced every time you try to call the function.
|
||||
And you will get an error message every time.
|
||||
function, you will get an error message for the missing function. If you fix
|
||||
the autoload script it won't be automatically loaded again. Either restart
|
||||
Vim or manually source the script.
|
||||
|
||||
Also note that if you have two script files, and one calls a function in the
|
||||
other and vice versa, before the used function is defined, it won't work.
|
||||
@@ -12250,10 +12524,20 @@ text...
|
||||
:const x = 1
|
||||
< is equivalent to: >
|
||||
:let x = 1
|
||||
:lockvar 1 x
|
||||
< This is useful if you want to make sure the variable
|
||||
is not modified.
|
||||
*E995*
|
||||
:lockvar! x
|
||||
< NOTE: in Vim9 script `:const` works differently, see
|
||||
|vim9-const|
|
||||
This is useful if you want to make sure the variable
|
||||
is not modified. If the value is a List or Dictionary
|
||||
literal then the items also cannot be changed: >
|
||||
const ll = [1, 2, 3]
|
||||
let ll[1] = 5 " Error!
|
||||
< Nested references are not locked: >
|
||||
let lvar = ['a']
|
||||
const lconst = [0, lvar]
|
||||
let lconst[0] = 2 " Error!
|
||||
let lconst[1][0] = 'b' " OK
|
||||
< *E995*
|
||||
|:const| does not allow to for changing a variable: >
|
||||
:let x = 1
|
||||
:const x = 2 " Error!
|
||||
@@ -12283,6 +12567,8 @@ text...
|
||||
|
||||
[depth] is relevant when locking a |List| or
|
||||
|Dictionary|. It specifies how deep the locking goes:
|
||||
0 Lock the variable {name} but not its
|
||||
value.
|
||||
1 Lock the |List| or |Dictionary| itself,
|
||||
cannot add or remove items, but can
|
||||
still change their values.
|
||||
@@ -12296,7 +12582,14 @@ text...
|
||||
|Dictionary|, one level deeper.
|
||||
The default [depth] is 2, thus when {name} is a |List|
|
||||
or |Dictionary| the values cannot be changed.
|
||||
*E743*
|
||||
|
||||
Example with [depth] 0: >
|
||||
let mylist = [1, 2, 3]
|
||||
lockvar 0 mylist
|
||||
let mylist[0] = 77 " OK
|
||||
call add(mylist, 4] " OK
|
||||
let mylist = [7, 8, 9] " Error!
|
||||
< *E743*
|
||||
For unlimited depth use [!] and omit [depth].
|
||||
However, there is a maximum depth of 100 to catch
|
||||
loops.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*filetype.txt* For Vim version 8.2. Last change: 2019 Jul 16
|
||||
*filetype.txt* For Vim version 8.2. Last change: 2020 Sep 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -163,8 +163,8 @@ file. It will be overwritten when installing a new version of Vim.
|
||||
|
||||
A. If you want to overrule all default file type checks.
|
||||
This works by writing one file for each filetype. The disadvantage is that
|
||||
means there can be many files. The advantage is that you can simply drop
|
||||
this file in the right directory to make it work.
|
||||
there can be many files. The advantage is that you can simply drop this
|
||||
file in the right directory to make it work.
|
||||
*ftdetect*
|
||||
1. Create your user runtime directory. You would normally use the first
|
||||
item of the 'runtimepath' option. Then create the directory "ftdetect"
|
||||
@@ -397,6 +397,13 @@ ways to change this:
|
||||
3. Docs for the default filetype plugins. *ftplugin-docs*
|
||||
|
||||
|
||||
AWK *ft-awk-plugin*
|
||||
|
||||
Support for features specific to GNU Awk, like @include, can be enabled by
|
||||
setting: >
|
||||
let g:awk_is_gawk = 1
|
||||
|
||||
|
||||
CHANGELOG *ft-changelog-plugin*
|
||||
|
||||
Allows for easy entrance of Changelog entries in Changelog files. There are
|
||||
@@ -556,16 +563,15 @@ Local mappings:
|
||||
|
||||
MAN *ft-man-plugin* *:Man* *man.vim*
|
||||
|
||||
Displays a manual page in a nice way. Also see the user manual
|
||||
|find-manpage|.
|
||||
|
||||
To start using the ":Man" command before any manual page was loaded, source
|
||||
this script from your startup vimrc file: >
|
||||
This plugin displays a manual page in a nice way. See |find-manpage| in the
|
||||
user manual for more information.
|
||||
|
||||
To start using the |:Man| command before any manual page has been loaded,
|
||||
source this script from your startup |vimrc| file: >
|
||||
runtime ftplugin/man.vim
|
||||
|
||||
Options:
|
||||
'iskeyword' the '.' character is added to be able to use CTRL-] on the
|
||||
'iskeyword' The '.' character is added to support the use of CTRL-] on the
|
||||
manual page name.
|
||||
|
||||
Commands:
|
||||
@@ -575,24 +581,25 @@ Man {number} {name}
|
||||
|
||||
Global mapping:
|
||||
<Leader>K Displays the manual page for the word under the cursor.
|
||||
<Plug>ManPreGetPage idem, allows for using a mapping: >
|
||||
nmap <F1> <Plug>ManPreGetPage<CR>
|
||||
<Plug>ManPreGetPage
|
||||
idem, allows for using a mapping: >
|
||||
nmap <F1> <Plug>ManPreGetPage
|
||||
|
||||
Local mappings:
|
||||
CTRL-] Jump to the manual page for the word under the cursor.
|
||||
CTRL-T Jump back to the previous manual page.
|
||||
q Same as ":quit"
|
||||
q Same as the |:quit| command.
|
||||
|
||||
To use a vertical split instead of horizontal: >
|
||||
let g:ft_man_open_mode = 'vert'
|
||||
To use a new tab: >
|
||||
let g:ft_man_open_mode = 'tab'
|
||||
|
||||
To enable folding use this: >
|
||||
let g:ft_man_folding_enable = 1
|
||||
If you do not like the default folding, use an autocommand to add your desired
|
||||
To enable |folding|, use this: >
|
||||
let g:ft_man_folding_enable = 1
|
||||
If you do not like the default folding, use an |autocommand| to add your desired
|
||||
folding style instead. For example: >
|
||||
autocmd FileType man setlocal foldmethod=indent foldenable
|
||||
autocmd FileType man setlocal foldmethod=indent foldenable
|
||||
|
||||
If you would like :Man {number} {name} to behave like man {number} {name} by
|
||||
not running man {name} if no page is found, then use this: >
|
||||
@@ -605,7 +612,7 @@ page in a Vim window: >
|
||||
|
||||
MANPAGER *manpager.vim*
|
||||
|
||||
The :Man command allows you to turn Vim into a manpager (that syntax highlights
|
||||
The |:Man| command allows you to turn Vim into a manpager (that syntax highlights
|
||||
manpages and follows linked manpages on hitting CTRL-]).
|
||||
|
||||
For bash,zsh,ksh or dash, add to the config file (.bashrc,.zshrc, ...)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui.txt* For Vim version 8.2. Last change: 2020 Mar 16
|
||||
*gui.txt* For Vim version 8.2. Last change: 2020 Sep 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -547,15 +547,6 @@ floating menus that do not appear on the main menu bar.
|
||||
5.2 Creating New Menus *creating-menus*
|
||||
|
||||
*:me* *:menu* *:noreme* *:noremenu*
|
||||
*:am* *:amenu* *:an* *:anoremenu*
|
||||
*:nme* *:nmenu* *:nnoreme* *:nnoremenu*
|
||||
*:ome* *:omenu* *:onoreme* *:onoremenu*
|
||||
*:vme* *:vmenu* *:vnoreme* *:vnoremenu*
|
||||
*:xme* *:xmenu* *:xnoreme* *:xnoremenu*
|
||||
*:sme* *:smenu* *:snoreme* *:snoremenu*
|
||||
*:ime* *:imenu* *:inoreme* *:inoremenu*
|
||||
*:cme* *:cmenu* *:cnoreme* *:cnoremenu*
|
||||
*:tlm* *:tlmenu* *:tln* *:tlnoremenu*
|
||||
*E330* *E327* *E331* *E336* *E333*
|
||||
*E328* *E329* *E337* *E792*
|
||||
To create a new menu item, use the ":menu" commands. They are mostly like
|
||||
@@ -596,6 +587,7 @@ With the shortcut "F" (while keeping the <Alt> key pressed), and then "O",
|
||||
this menu can be used. The second part is shown as "Open :e". The ":e"
|
||||
is right aligned, and the "O" is underlined, to indicate it is the shortcut.
|
||||
|
||||
*:am* *:amenu* *:an* *:anoremenu*
|
||||
The ":amenu" command can be used to define menu entries for all modes at once,
|
||||
except for Terminal mode. To make the command work correctly, a character is
|
||||
automatically inserted for some modes:
|
||||
@@ -634,6 +626,30 @@ included they make the <> form and raw key codes not being recognized).
|
||||
Note that <Esc> in Cmdline mode executes the command, like in a mapping. This
|
||||
is Vi compatible. Use CTRL-C to quit Cmdline mode.
|
||||
|
||||
*:nme* *:nmenu* *:nnoreme* *:nnoremenu* *:nunme* *:nunmenu*
|
||||
Menu commands starting with "n" work in Normal mode. |mapmode-n|
|
||||
|
||||
*:ome* *:omenu* *:onoreme* *:onoremenu* *:ounme* *:ounmenu*
|
||||
Menu commands starting with "o" work in Operator-pending mode. |mapmode-o|
|
||||
|
||||
*:vme* *:vmenu* *:vnoreme* *:vnoremenu* *:vunme* *:vunmenu*
|
||||
Menu commands starting with "v" work in Visual mode. |mapmode-v|
|
||||
|
||||
*:xme* *:xmenu* *:xnoreme* *:xnoremenu* *:xunme* *:xunmenu*
|
||||
Menu commands starting with "x" work in Visual and Select mode. |mapmode-x|
|
||||
|
||||
*:sme* *:smenu* *:snoreme* *:snoremenu* *:sunme* *:sunmenu*
|
||||
Menu commands starting with "s" work in Select mode. |mapmode-s|
|
||||
|
||||
*:ime* *:imenu* *:inoreme* *:inoremenu* *:iunme* *:iunmenu*
|
||||
Menu commands starting with "i" work in Insert mode. |mapmode-i|
|
||||
|
||||
*:cme* *:cmenu* *:cnoreme* *:cnoremenu* *:cunme* *:cunmenu*
|
||||
Menu commands starting with "c" work in Cmdline mode. |mapmode-c|
|
||||
|
||||
*:tlm* *:tlmenu* *:tln* *:tlnoremenu* *:tlu* *:tlunmenu*
|
||||
Menu commands starting with "tl" work in Terminal mode. |mapmode-t|
|
||||
|
||||
*:menu-<silent>* *:menu-silent*
|
||||
To define a menu which will not be echoed on the command line, add
|
||||
"<silent>" as the first argument. Example: >
|
||||
@@ -897,14 +913,6 @@ using the last visual selection.
|
||||
|
||||
*:unme* *:unmenu*
|
||||
*:aun* *:aunmenu*
|
||||
*:nunme* *:nunmenu*
|
||||
*:ounme* *:ounmenu*
|
||||
*:vunme* *:vunmenu*
|
||||
*:xunme* *:xunmenu*
|
||||
*:sunme* *:sunmenu*
|
||||
*:iunme* *:iunmenu*
|
||||
*:cunme* *:cunmenu*
|
||||
*:tlu* *:tlunmenu*
|
||||
To delete a menu item or a whole submenu, use the unmenu commands, which are
|
||||
analogous to the unmap commands. Eg: >
|
||||
:unmenu! Edit.Paste
|
||||
@@ -1096,8 +1104,9 @@ That's all. XLFDs are not used. For Chinese this is reported to work well: >
|
||||
|
||||
For Mac OSX you can use something like this: >
|
||||
:set guifont=Monaco:h10
|
||||
Also see 'macatsui', it can help fix display problems.
|
||||
*E236*
|
||||
|
||||
Mono-spaced fonts *E236*
|
||||
|
||||
Note that the fonts must be mono-spaced (all characters have the same width).
|
||||
An exception is GTK: all fonts are accepted, but mono-spaced fonts look best.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*help.txt* For Vim version 8.2. Last change: 2020 Apr 05
|
||||
*help.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
VIM - main help file
|
||||
k
|
||||
@@ -158,7 +158,7 @@ Programming language support ~
|
||||
|
||||
Language support ~
|
||||
|digraph.txt| list of available digraphs
|
||||
|mbyte.txt| multi-byte text support
|
||||
|mbyte.txt| multibyte text support
|
||||
|mlang.txt| non-English language support
|
||||
|rileft.txt| right-to-left editing mode
|
||||
|arabic.txt| Arabic language support and editing
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_mzsch.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
*if_mzsch.txt* For Vim version 8.2. Last change: 2020 Oct 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Sergey Khorev
|
||||
@@ -43,7 +43,7 @@ To speed up the process, you might also want to use --disable-gracket and
|
||||
{script}
|
||||
{endmarker}
|
||||
Execute inlined MzScheme script {script}.
|
||||
Note: This command doesn't work if the MzScheme
|
||||
Note: This command doesn't work when the MzScheme
|
||||
feature wasn't compiled in. To avoid errors, see
|
||||
|script-here|.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 8.2. Last change: 2020 May 31
|
||||
*index.txt* For Vim version 8.2. Last change: 2020 Oct 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -784,10 +784,10 @@ tag char note action in Normal mode ~
|
||||
lines down
|
||||
|gk| gk 1 like "k", but when 'wrap' on go N screen
|
||||
lines up
|
||||
|gn| gn 1,2 find the next match with the last used
|
||||
search pattern and Visually select it
|
||||
|gm| gm 1 go to character at middle of the screenline
|
||||
|gM| gM 1 go to character at middle of the text line
|
||||
|gn| gn 1,2 find the next match with the last used
|
||||
search pattern and Visually select it
|
||||
|go| go 1 cursor to byte N in the buffer
|
||||
|gp| ["x]gp 2 put the text [from register x] after the
|
||||
cursor N times, leave the cursor after it
|
||||
@@ -1317,6 +1317,7 @@ tag command action ~
|
||||
|:filetype| :filet[ype] switch file type detection on/off
|
||||
|:filter| :filt[er] filter output of following command
|
||||
|:find| :fin[d] find file in 'path' and edit it
|
||||
|:final| :final declare an immutable variable in Vim9
|
||||
|:finally| :fina[lly] part of a :try command
|
||||
|:finish| :fini[sh] quit sourcing a Vim script
|
||||
|:first| :fir[st] go to the first file in the argument list
|
||||
@@ -1691,6 +1692,7 @@ tag command action ~
|
||||
|:unsilent| :uns[ilent] run a command not silently
|
||||
|:update| :up[date] write buffer if modified
|
||||
|:vglobal| :v[global] execute commands for not matching lines
|
||||
|:var| :var variable declaration in Vim9
|
||||
|:version| :ve[rsion] print version number and other info
|
||||
|:verbose| :verb[ose] execute command with 'verbose' set
|
||||
|:vertical| :vert[ical] make following command split vertically
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 8.2. Last change: 2020 Apr 30
|
||||
*insert.txt* For Vim version 8.2. Last change: 2020 Oct 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -312,6 +312,7 @@ If you enter a value of 10, it will end up in the file as a 0. The 10 is a
|
||||
the buffer to a file, the <NL> character is translated into <Nul>. The <NL>
|
||||
character is written at the end of each line. Thus if you want to insert a
|
||||
<NL> character in a file you will have to make a line break.
|
||||
Also see 'fileformat'.
|
||||
|
||||
*i_CTRL-X* *insert_expand*
|
||||
CTRL-X enters a sub-mode where several commands can be used. Most of these
|
||||
@@ -1843,6 +1844,7 @@ a Append text after the cursor [count] times. If the
|
||||
|
||||
*A*
|
||||
A Append text at the end of the line [count] times.
|
||||
For using "A" in Visual block mode see |v_b_A|.
|
||||
|
||||
<insert> or *i* *insert* *<Insert>*
|
||||
i Insert text before the cursor [count] times.
|
||||
@@ -1855,6 +1857,7 @@ I Insert text before the first non-blank in the line
|
||||
When the 'H' flag is present in 'cpoptions' and the
|
||||
line only contains blanks, insert start just before
|
||||
the last blank.
|
||||
For using "I" in Visual block mode see |v_b_I|.
|
||||
|
||||
*gI*
|
||||
gI Insert text in column 1 [count] times.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*intro.txt* For Vim version 8.2. Last change: 2020 May 30
|
||||
*intro.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -232,8 +232,8 @@ Vim would never have become what it is now, without the help of these people!
|
||||
Flemming Madsen X11 client-server, various features and patches
|
||||
Tony Mechelynck answers many user questions
|
||||
Paul Moore Python interface extensions, many patches
|
||||
Katsuhito Nagano Work on multi-byte versions
|
||||
Sung-Hyun Nam Work on multi-byte versions
|
||||
Katsuhito Nagano Work on multibyte versions
|
||||
Sung-Hyun Nam Work on multibyte versions
|
||||
Vince Negri Win32 GUI and generic console enhancements
|
||||
Steve Oualline Author of the first Vim book |frombook|
|
||||
Dominique Pelle Valgrind reports and many fixes
|
||||
@@ -510,7 +510,7 @@ the ":map" command. The rules are:
|
||||
<M-a> Meta- a ('a' with bit 8 set)
|
||||
<M-A> Meta- A ('A' with bit 8 set)
|
||||
<t_kd> "kd" termcap entry (cursor down key)
|
||||
Although you can specify <M-{char}> with {char} being a multi-byte
|
||||
Although you can specify <M-{char}> with {char} being a multibyte
|
||||
character, Vim may not be able to know what byte sequence that is and then
|
||||
it won't work.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 8.2. Last change: 2020 Aug 01
|
||||
*map.txt* For Vim version 8.2. Last change: 2020 Nov 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -191,6 +191,12 @@ whether to use the "," mapping or the longer one. To avoid this add the
|
||||
<nowait> argument. Then the mapping will be used when it matches, Vim does
|
||||
not wait for more characters to be typed. However, if the characters were
|
||||
already typed they are used.
|
||||
Note that this works when the <nowait> mapping fully matches and is found
|
||||
before any partial matches. This works when:
|
||||
- There is only one matching buffer-local mapping, since these are always
|
||||
found before global mappings.
|
||||
- There is another buffer-local mapping that partly matches, but it is
|
||||
defined earlier (last defined mapping is found first).
|
||||
|
||||
*:map-<silent>* *:map-silent*
|
||||
To define a mapping which will not be echoed on the command line, add
|
||||
@@ -246,6 +252,17 @@ For abbreviations |v:char| is set to the character that was typed to trigger
|
||||
the abbreviation. You can use this to decide how to expand the {lhs}. You
|
||||
should not either insert or change the v:char.
|
||||
|
||||
In case you want the mapping to not do anything, you can have the expression
|
||||
evaluate to an empty string. If something changed that requires Vim to
|
||||
go through the main loop (e.g. to update the display), return "\<Ignore>".
|
||||
This is similar to "nothing" but makes Vim return from the loop that waits for
|
||||
input. Example: >
|
||||
func s:OpenPopup()
|
||||
call popup_create(... arguments ...)
|
||||
return "\<Ignore>"
|
||||
endfunc
|
||||
nnoremap <expr> <F3> <Sid>OpenPopup()
|
||||
|
||||
Be very careful about side effects! The expression is evaluated while
|
||||
obtaining characters, you may very well make the command dysfunctional.
|
||||
For this reason the following is blocked:
|
||||
@@ -254,7 +271,7 @@ For this reason the following is blocked:
|
||||
- The |:normal| command.
|
||||
- Moving the cursor is allowed, but it is restored afterwards.
|
||||
If you want the mapping to do any of these let the returned characters do
|
||||
that.
|
||||
that, or use a |<Cmd>| mapping instead.
|
||||
|
||||
You can use getchar(), it consumes typeahead if there is any. E.g., if you
|
||||
have these mappings: >
|
||||
@@ -283,15 +300,45 @@ Here is an example that inserts a list number that increases: >
|
||||
CTRL-L inserts the next number, CTRL-R resets the count. CTRL-R returns an
|
||||
empty string, so that nothing is inserted.
|
||||
|
||||
Note that there are some tricks to make special keys work and escape CSI bytes
|
||||
in the text. The |:map| command also does this, thus you must avoid that it
|
||||
is done twice. This does not work: >
|
||||
:imap <expr> <F3> "<Char-0x611B>"
|
||||
Because the <Char- sequence is escaped for being a |:imap| argument and then
|
||||
again for using <expr>. This does work: >
|
||||
:imap <expr> <F3> "\u611B"
|
||||
Using 0x80 as a single byte before other text does not work, it will be seen
|
||||
as a special key.
|
||||
Note that using 0x80 as a single byte before other text does not work, it will
|
||||
be seen as a special key.
|
||||
|
||||
*<Cmd>* *:map-cmd*
|
||||
The special text <Cmd> begins a "command mapping", it executes the command
|
||||
directly without changing modes. Where you might use ":...<CR>" in the
|
||||
{rhs} of a mapping, you can instead use "<Cmd>...<CR>".
|
||||
Example: >
|
||||
noremap x <Cmd>echo mode(1)<CR>
|
||||
<
|
||||
This is more flexible than `:<C-U>` in Visual and Operator-pending mode, or
|
||||
`<C-O>:` in Insert mode, because the commands are executed directly in the
|
||||
current mode, instead of always going to Normal mode. Visual mode is
|
||||
preserved, so tricks with |gv| are not needed. Commands can be invoked
|
||||
directly in Command-line mode (which would otherwise require timer hacks).
|
||||
Example of using <Cmd> halfway Insert mode: >
|
||||
nnoremap <F3> aText <Cmd>echo mode(1)<CR> Added<Esc>
|
||||
|
||||
Unlike <expr> mappings, there are no special restrictions on the <Cmd>
|
||||
command: it is executed as if an (unrestricted) |autocommand| was invoked.
|
||||
|
||||
Note:
|
||||
- Because <Cmd> avoids mode-changes it does not trigger |CmdlineEnter| and
|
||||
|CmdlineLeave| events, because no user interaction is expected.
|
||||
- For the same reason, |keycodes| like <C-R><C-W> are interpreted as plain,
|
||||
unmapped keys.
|
||||
- The command is not echo'ed, no need for <silent>.
|
||||
- In Visual mode you can use `line('v')` and `col('v')` to get one end of the
|
||||
Visual area, the cursor is at the other end.
|
||||
- In Select mode, |:map| and |:vmap| command mappings are executed in
|
||||
Visual mode. Use |:smap| to handle Select mode differently.
|
||||
|
||||
*E1135* *E1136*
|
||||
<Cmd> commands must terminate, that is, they must be followed by <CR> in the
|
||||
{rhs} of the mapping definition. |Command-line| mode is never entered.
|
||||
|
||||
*E1137*
|
||||
<Cmd> commands can have only normal characters and cannot contain special
|
||||
characters like function keys.
|
||||
|
||||
|
||||
1.3 MAPPING AND MODES *:map-modes*
|
||||
@@ -595,7 +642,7 @@ construct can be used:
|
||||
<Char-033> character 27
|
||||
<Char-0x7f> character 127
|
||||
<S-Char-114> character 114 ('r') shifted ('R')
|
||||
This is useful to specify a (multi-byte) character in a 'keymap' file.
|
||||
This is useful to specify a (multibyte) character in a 'keymap' file.
|
||||
Upper and lowercase differences are ignored.
|
||||
|
||||
*map-comments*
|
||||
@@ -840,8 +887,15 @@ execute a shell command, e.g.: `!ls` Or put the lines in your |vimrc|.
|
||||
|
||||
When modifyOtherKeys is enabled you can map <C-[> and <C-S-{>: >
|
||||
imap <C-[> [[[
|
||||
imap <C-S-{> {{{
|
||||
Without modifyOtherKeys <C-[> and <C-S-{> are indistinguishable from Esc.
|
||||
imap <C-{> {{{
|
||||
Without modifyOtherKeys <C-[> and <C-{> are indistinguishable from Esc.
|
||||
Note that <C-{> is used and not <C-S-[> or <C-S-{>. This works on most
|
||||
keyboards. Similarly, <C-}> is used instead of <C-S-]> or <C-S-}> and
|
||||
<C-|> instead of <C-S-\> or <C-S-|>. Note that '|' has a special meaning in a
|
||||
mapping, see |map-bar|.
|
||||
|
||||
WARNING: if you map <C-[> you may very well break any key codes that start
|
||||
with Esc. Make sure it comes AFTER other mappings.
|
||||
|
||||
A known side effect is that in Insert mode the raw escape sequence is inserted
|
||||
after the CTRL-V key. This can be used to check whether modifyOtherKeys is
|
||||
@@ -875,35 +929,47 @@ g@{motion} Call the function set by the 'operatorfunc' option.
|
||||
|
||||
Here is an example that counts the number of spaces with <F4>: >
|
||||
|
||||
nmap <silent> <F4> :set opfunc=CountSpaces<CR>g@
|
||||
vmap <silent> <F4> :<C-U>call CountSpaces(visualmode(), 1)<CR>
|
||||
nnoremap <expr> <F4> CountSpaces()
|
||||
xnoremap <expr> <F4> CountSpaces()
|
||||
" doubling <F4> works on a line
|
||||
nnoremap <expr> <F4><F4> CountSpaces() .. '_'
|
||||
|
||||
function CountSpaces(type = '') abort
|
||||
if a:type == ''
|
||||
set opfunc=CountSpaces
|
||||
return 'g@'
|
||||
endif
|
||||
|
||||
function! CountSpaces(type, ...)
|
||||
let sel_save = &selection
|
||||
let &selection = "inclusive"
|
||||
let reg_save = @@
|
||||
let reg_save = getreginfo('"')
|
||||
let cb_save = &clipboard
|
||||
let visual_marks_save = [getpos("'<"), getpos("'>")]
|
||||
|
||||
if a:0 " Invoked from Visual mode, use gv command.
|
||||
silent exe "normal! gvy"
|
||||
elseif a:type == 'line'
|
||||
silent exe "normal! '[V']y"
|
||||
else
|
||||
silent exe "normal! `[v`]y"
|
||||
endif
|
||||
|
||||
echomsg strlen(substitute(@@, '[^ ]', '', 'g'))
|
||||
|
||||
let &selection = sel_save
|
||||
let @@ = reg_save
|
||||
try
|
||||
set clipboard= selection=inclusive
|
||||
let commands = #{line: "'[V']y", char: "`[v`]y", block: "`[\<c-v>`]y"}
|
||||
silent exe 'noautocmd keepjumps normal! ' .. get(commands, a:type, '')
|
||||
echom getreg('"')->count(' ')
|
||||
finally
|
||||
call setreg('"', reg_save)
|
||||
call setpos("'<", visual_marks_save[0])
|
||||
call setpos("'>", visual_marks_save[1])
|
||||
let &clipboard = cb_save
|
||||
let &selection = sel_save
|
||||
endtry
|
||||
endfunction
|
||||
|
||||
An <expr> mapping is used to be able to fetch any prefixed count and register.
|
||||
This also avoids using a command line, which would trigger CmdlineEnter and
|
||||
CmdlineLeave autocommands.
|
||||
|
||||
Note that the 'selection' option is temporarily set to "inclusive" to be able
|
||||
to yank exactly the right text by using Visual mode from the '[ to the ']
|
||||
mark.
|
||||
|
||||
Also note that there is a separate mapping for Visual mode. It removes the
|
||||
"'<,'>" range that ":" inserts in Visual mode and invokes the function with
|
||||
visualmode() and an extra argument.
|
||||
Also note that the 'clipboard' option is temporarily emptied to avoid
|
||||
clobbering the `"*` or `"+` registers, if its value contains the item `unnamed`
|
||||
or `unnamedplus`.
|
||||
|
||||
==============================================================================
|
||||
2. Abbreviations *abbreviations* *Abbreviations*
|
||||
@@ -1175,9 +1241,9 @@ Otherwise, using "<SID>" outside of a script context is an error.
|
||||
|
||||
If you need to get the script number to use in a complicated script, you can
|
||||
use this function: >
|
||||
function s:SID()
|
||||
return matchstr(expand('<sfile>'), '<SNR>\zs\d\+\ze_SID$')
|
||||
endfun
|
||||
func s:ScriptNumber()
|
||||
return matchstr(expand('<SID>'), '<SNR>\zs\d\+\ze_')
|
||||
endfunc
|
||||
|
||||
The "<SNR>" will be shown when listing functions and mappings. This is useful
|
||||
to find out what they are defined to.
|
||||
@@ -1495,7 +1561,7 @@ The valid escape sequences are
|
||||
<bang> (See the '-bang' attribute) Expands to a ! if the
|
||||
command was executed with a ! modifier, otherwise
|
||||
expands to nothing.
|
||||
*<mods>* *:command-modifiers*
|
||||
*<mods>* *<q-mods>* *:command-modifiers*
|
||||
<mods> The command modifiers, if specified. Otherwise, expands to
|
||||
nothing. Supported modifiers are |:aboveleft|, |:belowright|,
|
||||
|:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mbyte.txt* For Vim version 8.2. Last change: 2019 Jul 04
|
||||
*mbyte.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -36,7 +36,7 @@ characters or boxes when using another encoding.
|
||||
This is a summary of the multibyte features in Vim. If you are lucky it works
|
||||
as described and you can start using Vim without much trouble. If something
|
||||
doesn't work you will have to read the rest. Don't be surprised if it takes
|
||||
quite a bit of work and experimenting to make Vim use all the multi-byte
|
||||
quite a bit of work and experimenting to make Vim use all the multibyte
|
||||
features. Unfortunately, every system has its own way to deal with multibyte
|
||||
languages and it is quite complicated.
|
||||
|
||||
@@ -123,7 +123,7 @@ You can also set 'guifont' alone, Vim will try to find a matching
|
||||
|
||||
INPUT
|
||||
|
||||
There are several ways to enter multi-byte characters:
|
||||
There are several ways to enter multibyte characters:
|
||||
- For X11 XIM can be used. See |XIM|.
|
||||
- For MS-Windows IME can be used. See |IME|.
|
||||
- For all systems keymaps can be used. See |mbyte-keymap|.
|
||||
@@ -237,11 +237,11 @@ encoded with one byte, we call this a single-byte encoding. The most often
|
||||
used one is called "latin1". This limits the number of characters to 256.
|
||||
Some of these are control characters, thus even fewer can be used for text.
|
||||
|
||||
When some characters use two or more bytes, we call this a multi-byte
|
||||
When some characters use two or more bytes, we call this a multibyte
|
||||
encoding. This allows using much more than 256 characters, which is required
|
||||
for most East Asian languages.
|
||||
|
||||
Most multi-byte encodings use one byte for the first 127 characters. These
|
||||
Most multibyte encodings use one byte for the first 127 characters. These
|
||||
are equal to ASCII, which makes it easy to exchange plain-ASCII text, no
|
||||
matter what language is used. Thus you might see the right text even when the
|
||||
encoding was set wrong.
|
||||
@@ -488,11 +488,11 @@ possible.
|
||||
==============================================================================
|
||||
4. Using a terminal *mbyte-terminal*
|
||||
|
||||
The GUI fully supports multi-byte characters. It is also possible in a
|
||||
The GUI fully supports multibyte characters. It is also possible in a
|
||||
terminal, if the terminal supports the same encoding that Vim uses. Thus this
|
||||
is less flexible.
|
||||
|
||||
For example, you can run Vim in a xterm with added multi-byte support and/or
|
||||
For example, you can run Vim in a xterm with added multibyte support and/or
|
||||
|XIM|. Examples are kterm (Kanji term) and hanterm (for Korean), Eterm
|
||||
(Enlightened terminal) and rxvt.
|
||||
|
||||
@@ -544,7 +544,7 @@ For Vim you may need to set 'encoding' to "utf-8".
|
||||
5. Fonts on X11 *mbyte-fonts-X11*
|
||||
|
||||
Unfortunately, using fonts in X11 is complicated. The name of a single-byte
|
||||
font is a long string. For multi-byte fonts we need several of these...
|
||||
font is a long string. For multibyte fonts we need several of these...
|
||||
|
||||
Note: Most of this is no longer relevant for GTK+ 2. Selecting a font via
|
||||
its XLFD is not supported; see 'guifont' for an example of how to
|
||||
@@ -610,7 +610,7 @@ written like:
|
||||
|
||||
X FONTSET
|
||||
*fontset* *xfontset*
|
||||
A single-byte charset is typically associated with one font. For multi-byte
|
||||
A single-byte charset is typically associated with one font. For multibyte
|
||||
charsets a combination of fonts is often used. This means that one group of
|
||||
characters are used from one font and another group from another font (which
|
||||
might be double wide). This collection of fonts is called a fontset.
|
||||
@@ -1436,7 +1436,7 @@ not everybody is able to type a composing character.
|
||||
==============================================================================
|
||||
12. Overview of options *mbyte-options*
|
||||
|
||||
These options are relevant for editing multi-byte files. Check the help in
|
||||
These options are relevant for editing multibyte files. Check the help in
|
||||
options.txt for detailed information.
|
||||
|
||||
'encoding' Encoding used for the keyboard and display. It is also the
|
||||
@@ -1456,14 +1456,14 @@ options.txt for detailed information.
|
||||
languages where a sequence of characters can be broken
|
||||
anywhere.
|
||||
|
||||
'guifontset' The list of font names used for a multi-byte encoding. When
|
||||
'guifontset' The list of font names used for a multibyte encoding. When
|
||||
this option is not empty, it replaces 'guifont'.
|
||||
|
||||
'keymap' Specify the name of a keyboard mapping.
|
||||
|
||||
==============================================================================
|
||||
|
||||
Contributions specifically for the multi-byte features by:
|
||||
Contributions specifically for the multibyte features by:
|
||||
Chi-Deok Hwang <hwang@mizi.co.kr>
|
||||
SungHyun Nam <goweol@gmail.com>
|
||||
K.Nagano <nagano@atese.advantest.co.jp>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 8.2. Last change: 2020 Jan 01
|
||||
*message.txt* For Vim version 8.2. Last change: 2020 Sep 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -19,13 +19,14 @@ The ":messages" command can be used to view previously given messages. This
|
||||
is especially useful when messages have been overwritten or truncated. This
|
||||
depends on the 'shortmess' option.
|
||||
|
||||
:messages Show all messages.
|
||||
:mes[sages] Show all messages.
|
||||
|
||||
:{count}messages Show the {count} most recent messages.
|
||||
:{count}mes[sages] Show the {count} most recent messages.
|
||||
|
||||
:messages clear Clear all messages.
|
||||
:mes[sages] clear Clear all messages.
|
||||
|
||||
:{count}messages clear Clear messages, keeping only the {count} most
|
||||
:{count}mes[sages] clear
|
||||
Clear messages, keeping only the {count} most
|
||||
recent ones.
|
||||
|
||||
The number of remembered messages is fixed at 20 for the tiny version and 200
|
||||
@@ -74,7 +75,7 @@ See `:messages` above.
|
||||
|
||||
|
||||
LIST OF MESSAGES
|
||||
*E222* *E228* *E232* *E256* *E293* *E298* *E304* *E317*
|
||||
*E222* *E228* *E232* *E293* *E298* *E304* *E317*
|
||||
*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
|
||||
*E323* *E341* *E473* *E570* *E685* *E292* >
|
||||
Add to read buffer
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mlang.txt* For Vim version 8.2. Last change: 2020 Jun 16
|
||||
*mlang.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -7,7 +7,7 @@
|
||||
Multi-language features *multilang* *multi-lang*
|
||||
|
||||
This is about using messages and menus in various languages. For editing
|
||||
multi-byte text see |multibyte|.
|
||||
multibyte text see |multibyte|.
|
||||
|
||||
The basics are explained in the user manual: |usr_45.txt|.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 8.2. Last change: 2019 Nov 16
|
||||
*motion.txt* For Vim version 8.2. Last change: 2020 Oct 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -190,11 +190,14 @@ l or *l*
|
||||
|
||||
*^*
|
||||
^ To the first non-blank character of the line.
|
||||
|exclusive| motion.
|
||||
|exclusive| motion. Any count is ignored.
|
||||
|
||||
*$* *<End>* *<kEnd>*
|
||||
$ or <End> To the end of the line. When a count is given also go
|
||||
[count - 1] lines downward. |inclusive| motion.
|
||||
[count - 1] lines downward, or as far is possible.
|
||||
|inclusive| motion. If a count of 2 of larger is
|
||||
given and the cursor is on the last line, that is an
|
||||
error an the cursor doesn't move.
|
||||
In Visual mode the cursor goes to just after the last
|
||||
character in the line.
|
||||
When 'virtualedit' is active, "$" may move the cursor
|
||||
@@ -495,10 +498,11 @@ a set of section macros, specified by the pairs of characters in the
|
||||
'sections' option. The default is "SHNHH HUnhsh", which defines a section to
|
||||
start at the nroff macros ".SH", ".NH", ".H", ".HU", ".nh" and ".sh".
|
||||
|
||||
The "]" and "[" commands stop at the '{' or '}' in the first column. This is
|
||||
useful to find the start or end of a function in a C program. Note that the
|
||||
first character of the command determines the search direction and the
|
||||
second character the type of brace found.
|
||||
The "]]" and "[[" commands stop at the '{' in the first column. This is
|
||||
useful to find the start of a function in a C program. To search for a '}' in
|
||||
the first column, the end of a C function, use "][" (forward) or "[]"
|
||||
(backward). Note that the first character of the command determines the
|
||||
search direction.
|
||||
|
||||
If your '{' or '}' are not in the first column, and you would like to use "[["
|
||||
and "]]" anyway, try these mappings: >
|
||||
@@ -1142,7 +1146,7 @@ sequence of small changes in a line, for example "xxxxx", adds many positions
|
||||
to the change list. When 'textwidth' is zero 'wrapmargin' is used. When that
|
||||
also isn't set a fixed number of 79 is used. Detail: For the computations
|
||||
bytes are used, not characters, to avoid a speed penalty (this only matters
|
||||
for multi-byte encodings).
|
||||
for multibyte encodings).
|
||||
|
||||
Note that when text has been inserted or deleted the cursor position might be
|
||||
a bit different from the position of the change. Especially when lines have
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*netbeans.txt* For Vim version 8.2. Last change: 2020 Apr 19
|
||||
*netbeans.txt* For Vim version 8.2. Last change: 2020 Nov 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
||||
@@ -362,12 +362,12 @@ color Argument with either a decimal number, "none" (without the
|
||||
offset A number argument that indicates a byte position in a buffer.
|
||||
The first byte has offset zero. Line breaks are counted for
|
||||
how they appear in the file (CR/LF counts for two bytes).
|
||||
Note that a multi-byte character is counted for the number of
|
||||
Note that a multibyte character is counted for the number of
|
||||
bytes it takes.
|
||||
|
||||
lnum/col Argument with a line number and column number position. The
|
||||
line number starts with one, the column is the byte position,
|
||||
starting with zero. Note that a multi-byte character counts
|
||||
starting with zero. Note that a multibyte character counts
|
||||
for several columns.
|
||||
|
||||
pathname String argument: file name with full path.
|
||||
@@ -562,9 +562,10 @@ setModtime time
|
||||
saved directly by the Vim Controller.
|
||||
New in version 2.3.
|
||||
|
||||
setReadOnly
|
||||
Set a file as readonly
|
||||
Implemented in version 2.3.
|
||||
setReadOnly readonly
|
||||
When the boolean argument "readonly" is "T" for True, mark the
|
||||
buffer as readonly, when it is "F" for False, mark it as not
|
||||
readonly. Implemented in version 2.3.
|
||||
|
||||
setStyle Not implemented.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.2. Last change: 2020 Aug 07
|
||||
*options.txt* For Vim version 8.2. Last change: 2020 Oct 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -703,6 +703,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
The value "double" cannot be used if 'listchars' or 'fillchars'
|
||||
contains a character that would be double width.
|
||||
|
||||
The values are overruled for characters specified with
|
||||
|setcellwidths()|.
|
||||
|
||||
There are a number of CJK fonts for which the width of glyphs for
|
||||
those characters are solely based on how many octets they take in
|
||||
legacy/traditional CJK encodings. In those encodings, Euro,
|
||||
@@ -727,8 +730,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'antialias' 'anti' boolean (default: off)
|
||||
global
|
||||
{only available when compiled with GUI enabled
|
||||
on Mac OS X}
|
||||
This option only has an effect in the GUI version of Vim on Mac OS X
|
||||
on macOS}
|
||||
This option only has an effect in the GUI version of Vim on macOS
|
||||
v10.2 or later. When on, Vim will use smooth ("antialiased") fonts,
|
||||
which can be easier to read at certain sizes on certain displays.
|
||||
Setting this option can sometimes cause problems if 'guifont' is set
|
||||
@@ -2551,7 +2554,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
"x" delete each combining character on its own. When it is off (the
|
||||
default) the character along with its combining characters are
|
||||
deleted.
|
||||
Note: When 'delcombine' is set "xx" may work different from "2x"!
|
||||
Note: When 'delcombine' is set "xx" may work differently from "2x"!
|
||||
|
||||
This is useful for Arabic, Hebrew and many other languages where one
|
||||
may have combining characters overtop of base characters, and want
|
||||
@@ -2733,8 +2736,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
is replaced with the path name of the edited file.
|
||||
- For Unix and Win32, if a directory ends in two path separators "//",
|
||||
the swap file name will be built from the complete path to the file
|
||||
with all path separators substituted to percent '%' signs. This will
|
||||
ensure file name uniqueness in the preserve directory.
|
||||
with all path separators replaced by percent '%' signs (including
|
||||
the colon following the drive letter on Win32). This will ensure
|
||||
file name uniqueness in the preserve directory.
|
||||
On Win32, it is also possible to end with "\\". However, When a
|
||||
separating comma is following, you must use "//", since "\\" will
|
||||
include the comma in the file name. Therefore it is recommended to
|
||||
@@ -2802,7 +2806,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'emoji' 'emo' boolean (default: on)
|
||||
global
|
||||
When on all Unicode emoji characters are considered to be full width.
|
||||
|
||||
This excludes "text emoji" characters, which are normally displayed as
|
||||
single width. Unfortunately there is no good specification for this
|
||||
and it has been determined on trial-and-error basis. Use the
|
||||
|setcellwidths()| function to change the behavior.
|
||||
|
||||
*'encoding'* *'enc'* *E543*
|
||||
'encoding' 'enc' string (default: "latin1" or value from $LANG)
|
||||
@@ -2832,7 +2839,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
This is specified with 'fileencoding'. The conversion is done with
|
||||
iconv() or as specified with 'charconvert'.
|
||||
|
||||
If you need to know whether 'encoding' is a multi-byte encoding, you
|
||||
If you need to know whether 'encoding' is a multibyte encoding, you
|
||||
can use: >
|
||||
if has("multi_byte_encoding")
|
||||
<
|
||||
@@ -4546,7 +4553,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
set and to the Vim default value when 'compatible' is reset.
|
||||
|
||||
*'isprint'* *'isp'*
|
||||
'isprint' 'isp' string (default for Win32 and Macintosh:
|
||||
'isprint' 'isp' string (default for Win32 and macOS:
|
||||
"@,~-255"; otherwise: "@,161-255")
|
||||
global
|
||||
The characters given by this option are displayed directly on the
|
||||
@@ -4675,7 +4682,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
characters. Example: "abc;ABC"
|
||||
Example: "aA,fgh;FGH,cCdDeE"
|
||||
Special characters need to be preceded with a backslash. These are
|
||||
";", ',' and backslash itself.
|
||||
";", ',', '"', '|' and backslash itself.
|
||||
|
||||
This will allow you to activate vim actions without having to switch
|
||||
back and forth between the languages. Your language characters will
|
||||
@@ -4923,18 +4930,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'macatsui'* *'nomacatsui'*
|
||||
'macatsui' boolean (default on)
|
||||
global
|
||||
{only available in Mac GUI version}
|
||||
This is a workaround for when drawing doesn't work properly. When set
|
||||
and compiled with multi-byte support ATSUI text drawing is used. When
|
||||
not set ATSUI text drawing is not used. Switch this option off when
|
||||
you experience drawing problems. In a future version the problems may
|
||||
be solved and this option becomes obsolete. Therefore use this method
|
||||
to unset it: >
|
||||
if exists('&macatsui')
|
||||
set nomacatsui
|
||||
endif
|
||||
< Another option to check if you have drawing problems is
|
||||
'termencoding'.
|
||||
{not supported}
|
||||
No longer supported, as the Mac OS X GUI code was removed.
|
||||
|
||||
*'magic'* *'nomagic'*
|
||||
'magic' boolean (default on)
|
||||
@@ -6197,7 +6194,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
screen. If the statusline is given by 'statusline' (i.e. not empty),
|
||||
this option takes precedence over 'ruler' and 'rulerformat'
|
||||
If the number of characters displayed is different from the number of
|
||||
bytes in the text (e.g., for a TAB or a multi-byte character), both
|
||||
bytes in the text (e.g., for a TAB or a multibyte character), both
|
||||
the text column (byte number) and the screen column are shown,
|
||||
separated with a dash.
|
||||
For an empty line "0-1" is shown.
|
||||
@@ -6240,7 +6237,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
$VIMRUNTIME,
|
||||
$VIM/vimfiles/after,
|
||||
$HOME/vimfiles/after"
|
||||
Macintosh: "$VIM:vimfiles,
|
||||
macOS: "$VIM:vimfiles,
|
||||
$VIMRUNTIME,
|
||||
$VIM:vimfiles:after"
|
||||
Haiku: "$BE_USER_SETTINGS/vim,
|
||||
@@ -6570,7 +6567,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
For the Amiga the default is ">". For MS-Windows the default is
|
||||
">%s 2>&1". The output is directly saved in a file and not echoed to
|
||||
the screen.
|
||||
For Unix the default it "| tee". The stdout of the compiler is saved
|
||||
For Unix the default is "| tee". The stdout of the compiler is saved
|
||||
in a file and echoed to the screen. If the 'shell' option is "csh" or
|
||||
"tcsh" after initializations, the default becomes "|& tee". If the
|
||||
'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh", "zsh-beta",
|
||||
@@ -7228,7 +7225,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
normal text. Each status line item is of the form:
|
||||
%-0{minwid}.{maxwid}{item}
|
||||
All fields except the {item} are optional. A single percent sign can
|
||||
be given as "%%". Up to 80 items can be specified. *E541*
|
||||
be given as "%%".
|
||||
|
||||
When the option starts with "%!" then it is used as an expression,
|
||||
evaluated and the result is used as the option value. Example: >
|
||||
@@ -7294,8 +7291,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
N N Printer page number. (Only works in the 'printheader' option.)
|
||||
l N Line number.
|
||||
L N Number of lines in buffer.
|
||||
c N Column number.
|
||||
v N Virtual column number.
|
||||
c N Column number (byte index).
|
||||
v N Virtual column number (screen column).
|
||||
V N Virtual column number as -{num}. Not displayed if equal to 'c'.
|
||||
p N Percentage through file in lines as in |CTRL-G|.
|
||||
P S Percentage through file of displayed window. This is like the
|
||||
@@ -7744,14 +7741,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
For further details see |arabic.txt|.
|
||||
|
||||
*'termencoding'* *'tenc'*
|
||||
'termencoding' 'tenc' string (default ""; with GTK+ GUI: "utf-8"; with
|
||||
Macintosh GUI: "macroman")
|
||||
'termencoding' 'tenc' string (default ""; with GTK+ GUI: "utf-8")
|
||||
global
|
||||
Encoding used for the terminal. This specifies what character
|
||||
encoding the keyboard produces and the display will understand. For
|
||||
the GUI it only applies to the keyboard ('encoding' is used for the
|
||||
display). Except for the Mac when 'macatsui' is off, then
|
||||
'termencoding' should be "macroman".
|
||||
display).
|
||||
*E617* *E950*
|
||||
Note: This does not apply to the GTK+ GUI. After the GUI has been
|
||||
successfully initialized, 'termencoding' is forcibly set to "utf-8".
|
||||
@@ -7816,8 +7811,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'termwinsize'* *'tws'*
|
||||
'termwinsize' 'tws' string (default "")
|
||||
local to window
|
||||
Size of the |terminal| window. Format: {rows}x{columns} or
|
||||
{rows}*{columns}.
|
||||
Size used when opening the |terminal| window. Format:
|
||||
{rows}x{columns} or {rows}*{columns}.
|
||||
- When empty the terminal gets the size from the window.
|
||||
- When set with a "x" (e.g., "24x80") the terminal size is not
|
||||
adjusted to the window size. If the window is smaller only the
|
||||
@@ -7828,6 +7823,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
- When rows is zero then use the height of the window.
|
||||
- When columns is zero then use the width of the window.
|
||||
- Using "0x0" or "0*0" is the same as empty.
|
||||
- Can be overruled in the |term_start()| options with "term_rows" and
|
||||
"term_cols".
|
||||
|
||||
Examples:
|
||||
"30x0" uses 30 rows and the current window width.
|
||||
@@ -8397,7 +8394,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'viewdir' 'vdir' string (default for Amiga and Win32:
|
||||
"$VIM/vimfiles/view",
|
||||
for Unix: "~/.vim/view",
|
||||
for Macintosh: "$VIM:vimfiles:view"
|
||||
for macOS: "$VIM:vimfiles:view"
|
||||
for VMS: "sys$login:vimfiles/view")
|
||||
global
|
||||
{not available when compiled without the |+mksession|
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 8.2. Last change: 2020 Jul 10
|
||||
*pattern.txt* For Vim version 8.2. Last change: 2020 Sep 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -797,11 +797,12 @@ An ordinary atom can be:
|
||||
^beep( the start of the C function "beep" (probably).
|
||||
|
||||
*/\^*
|
||||
\^ Matches literal '^'. Can be used at any position in the pattern.
|
||||
\^ Matches literal '^'. Can be used at any position in the pattern, but
|
||||
not inside [].
|
||||
|
||||
*/\_^*
|
||||
\_^ Matches start-of-line. |/zero-width| Can be used at any position in
|
||||
the pattern.
|
||||
the pattern, but not inside [].
|
||||
Example matches ~
|
||||
\_s*\_^foo white space and blank lines and then "foo" at
|
||||
start-of-line
|
||||
@@ -812,12 +813,13 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
|/zero-width|
|
||||
|
||||
*/\$*
|
||||
\$ Matches literal '$'. Can be used at any position in the pattern.
|
||||
\$ Matches literal '$'. Can be used at any position in the pattern, but
|
||||
not inside [].
|
||||
|
||||
*/\_$*
|
||||
\_$ Matches end-of-line. |/zero-width| Can be used at any position in the
|
||||
pattern. Note that "a\_$b" never matches, since "b" cannot match an
|
||||
end-of-line. Use "a\nb" instead |/\n|.
|
||||
pattern, but not inside []. Note that "a\_$b" never matches, since
|
||||
"b" cannot match an end-of-line. Use "a\nb" instead |/\n|.
|
||||
Example matches ~
|
||||
foo\_$\_s* "foo" at end-of-line and following white space and
|
||||
blank lines
|
||||
@@ -840,8 +842,9 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
|/zero-width|
|
||||
|
||||
*/\zs*
|
||||
\zs Matches at any position, and sets the start of the match there: The
|
||||
next char is the first char of the whole match. |/zero-width|
|
||||
\zs Matches at any position, but not inside [], and sets the start of the
|
||||
match there: The next char is the first char of the whole match.
|
||||
|/zero-width|
|
||||
Example: >
|
||||
/^\s*\zsif
|
||||
< matches an "if" at the start of a line, ignoring white space.
|
||||
@@ -852,8 +855,9 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
This cannot be followed by a multi. *E888*
|
||||
{not available when compiled without the |+syntax| feature}
|
||||
*/\ze*
|
||||
\ze Matches at any position, and sets the end of the match there: The
|
||||
previous char is the last char of the whole match. |/zero-width|
|
||||
\ze Matches at any position, but not inside [], and sets the end of the
|
||||
match there: The previous char is the last char of the whole match.
|
||||
|/zero-width|
|
||||
Can be used multiple times, the last one encountered in a matching
|
||||
branch is used.
|
||||
Example: "end\ze\(if\|for\)" matches the "end" in "endif" and
|
||||
@@ -939,7 +943,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
These three can be used to match specific columns in a buffer or
|
||||
string. The "23" can be any column number. The first column is 1.
|
||||
Actually, the column is the byte number (thus it's not exactly right
|
||||
for multi-byte characters).
|
||||
for multibyte characters).
|
||||
WARNING: When inserting or deleting text Vim does not automatically
|
||||
update the matches. This means Syntax highlighting quickly becomes
|
||||
wrong.
|
||||
@@ -994,7 +998,7 @@ Character classes:
|
||||
\p printable character (see 'isprint' option) */\p*
|
||||
\P like "\p", but excluding digits */\P*
|
||||
|
||||
NOTE: the above also work for multi-byte characters. The ones below only
|
||||
NOTE: the above also work for multibyte characters. The ones below only
|
||||
match ASCII characters, as indicated by the range.
|
||||
|
||||
*whitespace* *white-space*
|
||||
@@ -1131,9 +1135,9 @@ x A single character, with no special meaning, matches itself
|
||||
a list of at least one character, each of which is either '-', '.',
|
||||
'/', alphabetic, numeric, '_' or '~'.
|
||||
These items only work for 8-bit characters, except [:lower:] and
|
||||
[:upper:] also work for multi-byte characters when using the new
|
||||
[:upper:] also work for multibyte characters when using the new
|
||||
regexp engine. See |two-engines|. In the future these items may
|
||||
work for multi-byte characters. For now, to get all "alpha"
|
||||
work for multibyte characters. For now, to get all "alpha"
|
||||
characters you can use: [[:lower:][:upper:]].
|
||||
|
||||
The "Func" column shows what library function is used. The
|
||||
@@ -1257,8 +1261,8 @@ When working with expression evaluation, a <NL> character in the pattern
|
||||
matches a <NL> in the string. The use of "\n" (backslash n) to match a <NL>
|
||||
doesn't work there, it only works to match text in the buffer.
|
||||
|
||||
*pattern-multi-byte*
|
||||
Patterns will also work with multi-byte characters, mostly as you would
|
||||
*pattern-multi-byte* *pattern-multibyte*
|
||||
Patterns will also work with multibyte characters, mostly as you would
|
||||
expect. But invalid bytes may cause trouble, a pattern with an invalid byte
|
||||
will probably never match.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_netrw.txt* For Vim version 8.2. Last change: 2020 Jan 14
|
||||
*pi_netrw.txt* For Vim version 8.2. Last change: 2020 Sep 19
|
||||
|
||||
------------------------------------------------
|
||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||
@@ -437,9 +437,13 @@ settings are described below, in |netrw-browser-options|, and in
|
||||
*g:netrw_silent* =0 : transfers done normally
|
||||
=1 : transfers done silently
|
||||
|
||||
*g:netrw_use_errorwindow* =1 : messages from netrw will use a separate one
|
||||
*g:netrw_use_errorwindow* =2: messages from netrw will use a popup window
|
||||
Move the mouse and pause to remove the popup window.
|
||||
(default value if popup windows are availble)
|
||||
=1 : messages from netrw will use a separate one
|
||||
line window. This window provides reliable
|
||||
delivery of messages. (default)
|
||||
delivery of messages.
|
||||
(default value if popup windows are not availble)
|
||||
=0 : messages from netrw will use echoerr ;
|
||||
messages don't always seem to show up this
|
||||
way, but one doesn't have to quit the window.
|
||||
@@ -725,6 +729,8 @@ just as easily as if they were local files! >
|
||||
See |netrw-activate| for more on how to encourage your vim to use plugins
|
||||
such as netrw.
|
||||
|
||||
For password-free use of scp:, see |netrw-ssh-hack|.
|
||||
|
||||
|
||||
==============================================================================
|
||||
7. Ex Commands *netrw-ex* {{{1
|
||||
@@ -1063,7 +1069,7 @@ QUICK HELP *netrw-quickhelp* {{{2
|
||||
Reverse sorting order.........................|netrw-r|
|
||||
|
||||
|
||||
*netrw-quickmap* *netrw-quickmaps*
|
||||
*netrw-quickmap* *netrw-quickmaps*
|
||||
QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
>
|
||||
--- ----------------- ----
|
||||
@@ -1080,7 +1086,7 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
a Cycles between normal display, |netrw-a|
|
||||
hiding (suppress display of files matching g:netrw_list_hide)
|
||||
and showing (display only files which match g:netrw_list_hide)
|
||||
c Make browsing directory the current directory |netrw-c|
|
||||
cd Make browsing directory the current directory |netrw-cd|
|
||||
C Setting the editing window |netrw-C|
|
||||
d Make a directory |netrw-d|
|
||||
D Attempt to remove the file(s)/directory(ies) |netrw-D|
|
||||
@@ -2098,7 +2104,7 @@ the two directories the same, use the "cd" map (type cd). That map will
|
||||
set Vim's notion of the current directory to netrw's current browsing
|
||||
directory.
|
||||
|
||||
*netrw-c* : This map's name has been changed from "c" to cd (see |netrw-cd|).
|
||||
|netrw-cd|: This map's name was changed from "c" to cd (see |netrw-cd|).
|
||||
This change was done to allow for |netrw-cb| and |netrw-cB| maps.
|
||||
|
||||
Associated setting variable: |g:netrw_keepdir|
|
||||
@@ -2753,7 +2759,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
=0 keep the current directory the same as the
|
||||
browsing directory.
|
||||
The current browsing directory is contained in
|
||||
b:netrw_curdir (also see |netrw-c|)
|
||||
b:netrw_curdir (also see |netrw-cd|)
|
||||
|
||||
*g:netrw_keepj* ="keepj" (default) netrw attempts to keep the
|
||||
|:jumps| table unaffected.
|
||||
@@ -3124,7 +3130,8 @@ a file using the local browser (by putting the cursor on it) and pressing
|
||||
|
||||
Related topics:
|
||||
* To see what the current directory is, use |:pwd|
|
||||
* To make the currently browsed directory the current directory, see |netrw-c|
|
||||
* To make the currently browsed directory the current directory, see
|
||||
|netrw-cd|
|
||||
* To automatically make the currently browsed directory the current
|
||||
directory, see |g:netrw_keepdir|.
|
||||
|
||||
@@ -3799,9 +3806,15 @@ netrw:
|
||||
or
|
||||
http://vim.sourceforge.net/scripts/script.php?script_id=120
|
||||
|
||||
Decho.vim is provided as a "vimball"; see |vimball-intro|.
|
||||
Decho.vim is provided as a "vimball"; see |vimball-intro|. You
|
||||
should edit the Decho.vba.gz file and source it in: >
|
||||
|
||||
2. Edit the <netrw.vim> file by typing: >
|
||||
vim Decho.vba.gz
|
||||
:so %
|
||||
:q
|
||||
<
|
||||
2. To turn on debug tracing in netrw, then edit the <netrw.vim>
|
||||
file by typing: >
|
||||
|
||||
vim netrw.vim
|
||||
:DechoOn
|
||||
@@ -3823,14 +3836,34 @@ netrw:
|
||||
read/write your file over the network in a separate tab or
|
||||
server vim window.
|
||||
|
||||
To save the file, use >
|
||||
Change the netrw.vimrc file to include the Decho plugin: >
|
||||
|
||||
set nocp
|
||||
so $HOME/.vim/plugin/Decho.vim
|
||||
so $HOME/.vim/plugin/netrwPlugin.vim
|
||||
<
|
||||
You should continue to run vim with >
|
||||
|
||||
vim -u netrw.vimrc --noplugins -i NONE [some path here]
|
||||
<
|
||||
to avoid entanglements with options and other plugins.
|
||||
|
||||
To save the file: under linux, the output will be in a separate
|
||||
remote server window; in it, just save the file with >
|
||||
|
||||
:w! DBG
|
||||
|
||||
< Under a vim that doesn't support clientserver, your debugging
|
||||
output will appear in another tab: >
|
||||
|
||||
:tabnext
|
||||
:set bt=
|
||||
:w! DBG
|
||||
<
|
||||
Furthermore, it'd be helpful if you would type >
|
||||
|
||||
< Furthermore, it'd be helpful if you would type >
|
||||
:Dsep <command>
|
||||
|
||||
< where <command> is the command you're about to type next,
|
||||
thereby making it easier to associate which part of the
|
||||
debugging trace is due to which command.
|
||||
@@ -3838,17 +3871,34 @@ netrw:
|
||||
Please send that information to <netrw.vim>'s maintainer along
|
||||
with the o/s you're using and the vim version that you're using
|
||||
(see |:version|) (remove the embedded NOSPAM first) >
|
||||
|
||||
NcampObell@SdrPchip.AorgM-NOSPAM
|
||||
<
|
||||
==============================================================================
|
||||
12. History *netrw-history* {{{1
|
||||
|
||||
v170: Mar 11, 2020 * (reported by Reiner Herrmann) netrw+tree
|
||||
would not hide with the ^\..* pattern
|
||||
correctly.
|
||||
* (Marcin Szamotulski) NetrwOptionRestore
|
||||
did not restore options correctly that
|
||||
had a single quote in the option string.
|
||||
Apr 13, 2020 * implemented error handling via popup
|
||||
windows (see |popup_beval()|)
|
||||
Apr 30, 2020 * (reported by Manatsu Takahashi) while
|
||||
using Lexplore, a modified file could
|
||||
be overwritten. Sol'n: will not overwrite,
|
||||
but will emit an |E37| (although one cannot
|
||||
add an ! to override)
|
||||
Jun 07, 2020 * (reported by Jo Totland) repeatedly invoking
|
||||
:Lexplore and quitting it left unused
|
||||
hidden buffers. Netrw will now set netrw
|
||||
buffers created by :Lexplore to |bh|=wipe.
|
||||
v169: Dec 20, 2019 * (reported by amkarthik) that netrw's x
|
||||
(|netrw-x|) would throw an error when
|
||||
attempting to open a local directory.
|
||||
v168: Dec 12, 2019 * scp timeout error message not reported,
|
||||
hopefully now fixed (Shane Xb Qian)
|
||||
|
||||
v167: Nov 29, 2019 * netrw does a save&restore on @* and @+.
|
||||
That causes problems with the clipboard.
|
||||
Now restores occurs only if @* or @+ have
|
||||
@@ -4306,4 +4356,4 @@ netrw:
|
||||
|
||||
==============================================================================
|
||||
Modelines: {{{1
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:fdm=marker
|
||||
vim:tw=78:ts=8:ft=help:noet:norl:fdm=marker
|
||||
|
||||
@@ -154,4 +154,4 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
|
||||
v1 Sep 15, 2005 * Initial release, had browsing, reading, and writing
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:noet:ft=help:fdm=marker
|
||||
vim:tw=78:ts=8:ft=help:noet:norl:fdm=marker
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*popup.txt* For Vim version 8.2. Last change: 2020 Jul 27
|
||||
*popup.txt* For Vim version 8.2. Last change: 2020 Nov 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -101,7 +101,7 @@ CLOSING THE POPUP WINDOW *popup-close*
|
||||
|
||||
Normally the plugin that created the popup window is also in charge of closing
|
||||
it. If somehow a popup hangs around, you can close all of them with: >
|
||||
call popup_clear()
|
||||
call popup_clear(1)
|
||||
Some popups, such as notifications, close after a specified time. This can be
|
||||
set with the "time" property on `popup_create()`.
|
||||
Otherwise, a popup can be closed by clicking on the X in the top-right corner
|
||||
@@ -314,6 +314,7 @@ popup_filter_menu({id}, {key}) *popup_filter_menu()*
|
||||
<Space> <Enter> accept current selection
|
||||
x Esc CTRL-C cancel the menu
|
||||
Other keys are ignored.
|
||||
Always returns |v:true|.
|
||||
|
||||
A match is set on that line to highlight it, see
|
||||
|popup_menu()|.
|
||||
@@ -711,7 +712,7 @@ The second argument of |popup_create()| is a dictionary with options:
|
||||
By default a double line is used all around when
|
||||
'encoding' is "utf-8" and 'ambiwidth' is "single",
|
||||
otherwise ASCII characters are used.
|
||||
scrollbar non-zero: show a scrollbar when the text doesn't fit.
|
||||
scrollbar 1 or true: show a scrollbar when the text doesn't fit.
|
||||
zero: do not show a scrollbar. Default is non-zero.
|
||||
Also see |popup-scrollbar|.
|
||||
scrollbarhighlight Highlight group name for the scrollbar. The
|
||||
@@ -910,11 +911,22 @@ A mouse click arrives as <LeftMouse>. The coordinates can be obtained with
|
||||
Vim provides standard filters |popup_filter_menu()| and
|
||||
|popup_filter_yesno()|.
|
||||
|
||||
Keys coming from a `:normal` command do not pass through the filter. This can
|
||||
be used to move the cursor in a popup where the "cursorline" option is set: >
|
||||
call win_execute(winid, 'normal! 10Gzz')
|
||||
Keys coming from `feedkeys()` are passed through the filter.
|
||||
|
||||
Note that "x" is the normal way to close a popup. You may want to use Esc,
|
||||
but since many keys start with an Esc character, there may be a delay before
|
||||
Vim recognizes the Esc key. If you do use Esc, it is recommended to set the
|
||||
'ttimeoutlen' option to 100 and set 'timeout' and/or 'ttimeout'.
|
||||
|
||||
*popup-filter-errors*
|
||||
If the filter function can't be called, e.g. because the name is wrong, then
|
||||
the popup is closed. If the filter causes an error then it is assumed to
|
||||
return zero. If this happens three times in a row the popup is closed. If
|
||||
the popup gives errors fewer than 10% of the calls then it won't be closed.
|
||||
|
||||
|
||||
POPUP CALLBACK *popup-callback*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*print.txt* For Vim version 8.2. Last change: 2019 Dec 17
|
||||
*print.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -114,7 +114,7 @@ If 'printencoding' is empty or Vim cannot find the file then it will use
|
||||
encoding file. If Vim is unable to find a character encoding file then it
|
||||
will use the "latin1" print character encoding file.
|
||||
|
||||
When 'encoding' is set to a multi-byte encoding, Vim will try to convert
|
||||
When 'encoding' is set to a multibyte encoding, Vim will try to convert
|
||||
characters to the printing encoding for printing (if 'printencoding' is empty
|
||||
then the conversion will be to latin1). Conversion to a printing encoding
|
||||
other than latin1 will require Vim to be compiled with the |+iconv| feature.
|
||||
@@ -269,7 +269,7 @@ Japanese text you would do the following; >
|
||||
:set printmbcharset=JIS_X_1983
|
||||
|
||||
If 'printmbcharset' is not one of the above values then it is assumed to
|
||||
specify a custom multi-byte character set and no check will be made that it is
|
||||
specify a custom multibyte character set and no check will be made that it is
|
||||
compatible with the value for 'printencoding'. Vim will look for a file
|
||||
defining the character set in the "print" directory in 'runtimepath'.
|
||||
|
||||
@@ -304,7 +304,7 @@ printing of characters in the ASCII code range.
|
||||
a:yes Use ASCII character set for codes in the ASCII
|
||||
a:no (default) code range.
|
||||
|
||||
The following is an example of specifying two multi-byte fonts, one for normal
|
||||
The following is an example of specifying two multibyte fonts, one for normal
|
||||
and italic printing and one for bold and bold-italic printing, and using
|
||||
Courier to print codes in the ASCII code range but using the national
|
||||
character set: >
|
||||
@@ -420,10 +420,10 @@ There are currently a number of limitations with PostScript printing:
|
||||
possible to get all the characters in an encoding to print by installing a
|
||||
new version of the Courier font family.
|
||||
|
||||
- Multi-byte support - Currently Vim will try to convert multi-byte characters
|
||||
- Multi-byte support - Currently Vim will try to convert multibyte characters
|
||||
to the 8-bit encoding specified by 'printencoding' (or latin1 if it is
|
||||
empty). Any characters that are not successfully converted are shown as
|
||||
unknown characters. Printing will fail if Vim cannot convert the multi-byte
|
||||
unknown characters. Printing will fail if Vim cannot convert the multibyte
|
||||
to the 8-bit encoding.
|
||||
|
||||
==============================================================================
|
||||
@@ -508,7 +508,7 @@ print ASCII text using the national character set you may see some unexpected
|
||||
characters. If you want true ASCII code printing then you need to configure
|
||||
Vim to output ASCII characters for the ASCII code range with 'printmbfont'.
|
||||
|
||||
It is possible to define your own multi-byte character set although this
|
||||
It is possible to define your own multibyte character set although this
|
||||
should not be attempted lightly. A discussion on the process if beyond the
|
||||
scope of these help files. You can find details on CMap (character map) files
|
||||
in the document 'Adobe CMap and CIDFont Files Specification, Version 1.0',
|
||||
|
||||
@@ -1705,7 +1705,7 @@ special problem here is that it doesn't print information on leaving the
|
||||
directory and that it doesn't print the absolute path.
|
||||
|
||||
To solve the problem with relative paths and missing "leave directory"
|
||||
messages Vim uses following algorithm:
|
||||
messages Vim uses the following algorithm:
|
||||
|
||||
1) Check if the given directory is a subdirectory of the current directory.
|
||||
If this is true, store it as the current directory.
|
||||
@@ -1938,7 +1938,7 @@ list window is:
|
||||
The values displayed in each line correspond to the "bufnr", "lnum", "col" and
|
||||
"text" fields returned by the |getqflist()| function.
|
||||
|
||||
For some quickfix/location lists, the displayed text need to be customized.
|
||||
For some quickfix/location lists, the displayed text needs to be customized.
|
||||
For example, if only the filename is present for a quickfix entry, then the
|
||||
two "|" field separator characters after the filename are not needed. Another
|
||||
use case is to customize the path displayed for a filename. By default, the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 8.2. Last change: 2020 Jun 10
|
||||
*quickref.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -696,7 +696,7 @@ Short explanation of each option: *option-list*
|
||||
'eventignore' 'ei' autocommand events that are ignored
|
||||
'expandtab' 'et' use spaces when <Tab> is inserted
|
||||
'exrc' 'ex' read .vimrc and .exrc in the current directory
|
||||
'fileencoding' 'fenc' file encoding for multi-byte text
|
||||
'fileencoding' 'fenc' file encoding for multibyte text
|
||||
'fileencodings' 'fencs' automatically detected character encodings
|
||||
'fileformat' 'ff' file format used for file I/O
|
||||
'fileformats' 'ffs' automatically detected values for 'fileformat'
|
||||
@@ -728,7 +728,7 @@ Short explanation of each option: *option-list*
|
||||
'grepprg' 'gp' program to use for ":grep"
|
||||
'guicursor' 'gcr' GUI: settings for cursor shape and blinking
|
||||
'guifont' 'gfn' GUI: Name(s) of font(s) to be used
|
||||
'guifontset' 'gfs' GUI: Names of multi-byte fonts to be used
|
||||
'guifontset' 'gfs' GUI: Names of multibyte fonts to be used
|
||||
'guifontwide' 'gfw' list of font names for double-wide characters
|
||||
'guiheadroom' 'ghr' GUI: pixels room for window decorations
|
||||
'guioptions' 'go' GUI: Which components and options are used
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*recover.txt* For Vim version 8.2. Last change: 2020 May 09
|
||||
*recover.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -64,8 +64,8 @@ Disadvantages:
|
||||
directories (although Vim tries to avoid that by comparing the path name).
|
||||
This will result in bogus ATTENTION warning messages.
|
||||
- When you use your home directory, and somebody else tries to edit the same
|
||||
file, he will not see your swap file and will not get the ATTENTION warning
|
||||
message.
|
||||
file, that user will not see your swap file and will not get the ATTENTION
|
||||
warning message.
|
||||
On the Amiga you can also use a recoverable ram disk, but there is no 100%
|
||||
guarantee that this works. Putting swap files in a normal ram disk (like RAM:
|
||||
on the Amiga) or in a place that is cleared when rebooting (like /tmp on Unix)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*repeat.txt* For Vim version 8.2. Last change: 2020 May 14
|
||||
*repeat.txt* For Vim version 8.2. Last change: 2020 Oct 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -271,6 +271,9 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
directories are added to 'runtimepath'. This is
|
||||
useful in your .vimrc. The plugins will then be
|
||||
loaded during initialization, see |load-plugins|.
|
||||
Note that for ftdetect scripts to be loaded
|
||||
you will need to write `filetype plugin indent on`
|
||||
AFTER all `packadd!` commands.
|
||||
|
||||
Also see |pack-add|.
|
||||
{only available when compiled with |+eval|}
|
||||
@@ -643,7 +646,7 @@ This assumes you write one or more plugins that you distribute as a package.
|
||||
|
||||
If you have two unrelated plugins you would use two packages, so that Vim
|
||||
users can choose what they include or not. Or you can decide to use one
|
||||
package with optional plugins, and tell the user to add the ones he wants with
|
||||
package with optional plugins, and tell the user to add the preferred ones with
|
||||
`:packadd`.
|
||||
|
||||
Decide how you want to distribute the package. You can create an archive or
|
||||
@@ -679,7 +682,7 @@ You could add this packadd command in one of your plugins, to be executed when
|
||||
the optional plugin is needed.
|
||||
|
||||
Run the `:helptags` command to generate the doc/tags file. Including this
|
||||
generated file in the package means that the user can drop the package in his
|
||||
generated file in the package means that the user can drop the package in the
|
||||
pack directory and the help command works right away. Don't forget to re-run
|
||||
the command after changing the plugin help: >
|
||||
:helptags path/start/foobar/doc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*sign.txt* For Vim version 8.2. Last change: 2019 Nov 30
|
||||
*sign.txt* For Vim version 8.2. Last change: 2020 Oct 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur
|
||||
@@ -81,10 +81,18 @@ on the same line, the attributes of the sign with the highest priority is used
|
||||
independently of the sign group. The default priority for a sign is 10. The
|
||||
priority is assigned at the time of placing a sign.
|
||||
|
||||
When two signs with the same priority are present, and one has an icon or text
|
||||
in the signcolumn while the other has line highlighting, then both are
|
||||
displayed.
|
||||
|
||||
When the line on which the sign is placed is deleted, the sign is moved to the
|
||||
next line (or the last line of the buffer, if there is no next line). When
|
||||
the delete is undone the sign does not move back.
|
||||
|
||||
When a sign with line highlighting and 'cursorline' highlighting are both
|
||||
present, if the priority is 100 or more then the sign highlighting takes
|
||||
precedence, otherwise the 'cursorline' highlighting.
|
||||
|
||||
==============================================================================
|
||||
2. Commands *sign-commands* *:sig* *:sign*
|
||||
|
||||
@@ -454,11 +462,11 @@ sign_getplaced([{expr} [, {dict}]]) *sign_getplaced()*
|
||||
entries
|
||||
|
||||
The dictionary for each sign contains the following entries:
|
||||
group sign group. Set to '' for the global group.
|
||||
id identifier of the sign
|
||||
lnum line number where the sign is placed
|
||||
name name of the defined sign
|
||||
priority sign priority
|
||||
group sign group. Set to '' for the global group.
|
||||
id identifier of the sign
|
||||
lnum line number where the sign is placed
|
||||
name name of the defined sign
|
||||
priority sign priority
|
||||
|
||||
The returned signs in a buffer are ordered by their line
|
||||
number and priority.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*spell.txt* For Vim version 8.2. Last change: 2020 Jul 10
|
||||
*spell.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -887,7 +887,7 @@ time ":mkspell" is used. Vim will then convert everything to 'encoding' and
|
||||
generate a spell file for 'encoding'. If some of the used characters to not
|
||||
fit in 'encoding' you will get an error message.
|
||||
*spell-affix-mbyte*
|
||||
When using a multi-byte encoding it's possible to use more different affix
|
||||
When using a multibyte encoding it's possible to use more different affix
|
||||
flags. But Myspell doesn't support that, thus you may not want to use it
|
||||
anyway. For compatibility use an 8-bit encoding.
|
||||
|
||||
@@ -1445,7 +1445,7 @@ are spelling mistakes this may not be quite right.
|
||||
Common words can be specified with the COMMON item. This will give better
|
||||
suggestions when editing a short file. Example:
|
||||
|
||||
COMMON the of to and a in is it you that he was for on are ~
|
||||
COMMON the of to and a in is it you that he she was for on are ~
|
||||
|
||||
The words must be separated by white space, up to 25 per line.
|
||||
When multiple regions are specified in a ":mkspell" command the common words
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*starting.txt* For Vim version 8.2. Last change: 2020 Feb 04
|
||||
*starting.txt* For Vim version 8.2. Last change: 2020 Sep 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -513,6 +513,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
'nocompatible': use Vim defaults
|
||||
- no |gvimrc| script is loaded
|
||||
- no viminfo file is read or written
|
||||
Note that a following "-u" argument overrules the effect of
|
||||
"-u DEFAULTS".
|
||||
|
||||
*-x*
|
||||
-x Use encryption to read/write files. Will prompt for a key,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 8.2. Last change: 2020 Jul 28
|
||||
*syntax.txt* For Vim version 8.2. Last change: 2020 Nov 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -3006,7 +3006,7 @@ vimrc file: >
|
||||
(Adapted from the html.vim help text by Claudio Fleiner <claudio@fleiner.com>)
|
||||
|
||||
|
||||
*ft-posix-synax* *ft-dash-syntax*
|
||||
*ft-posix-syntax* *ft-dash-syntax*
|
||||
SH *sh.vim* *ft-sh-syntax* *ft-bash-syntax* *ft-ksh-syntax*
|
||||
|
||||
This covers syntax highlighting for the older Unix (Bourne) sh, and newer
|
||||
@@ -4348,7 +4348,7 @@ Notes:
|
||||
- A negative offset for an end pattern may not always work, because the end
|
||||
pattern may be detected when the highlighting should already have stopped.
|
||||
- Before Vim 7.2 the offsets were counted in bytes instead of characters.
|
||||
This didn't work well for multi-byte characters, so it was changed with the
|
||||
This didn't work well for multibyte characters, so it was changed with the
|
||||
Vim 7.2 release.
|
||||
- The start of a match cannot be in a line other than where the pattern
|
||||
matched. This doesn't work: "a\nb"ms=e. You can make the highlighting
|
||||
@@ -4809,6 +4809,7 @@ in their own color.
|
||||
highlighting for groups added by the user!
|
||||
Uses the current value of 'background' to decide which
|
||||
default colors to use.
|
||||
If there was a default link, restore it. |:hi-link|
|
||||
|
||||
:hi[ghlight] clear {group-name}
|
||||
:hi[ghlight] {group-name} NONE
|
||||
@@ -5304,6 +5305,12 @@ If you like Question highlighting for C comments, put this in your vimrc file: >
|
||||
Without the "default" in the C syntax file, the highlighting would be
|
||||
overruled when the syntax file is loaded.
|
||||
|
||||
To have a link survive `:highlight clear`, which is useful if you have
|
||||
highlighting for a specific filetype and you want to keep it when selecting
|
||||
another color scheme, put a command like this in the
|
||||
"after/syntax/{filetype}.vim" file: >
|
||||
highlight! default link cComment Question
|
||||
|
||||
==============================================================================
|
||||
15. Cleaning up *:syn-clear* *E391*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*tabpage.txt* For Vim version 8.2. Last change: 2020 Feb 06
|
||||
*tabpage.txt* For Vim version 8.2. Last change: 2020 Oct 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -195,8 +195,8 @@ gt *i_CTRL-<PageDown>* *i_<C-PageDown>*
|
||||
:+2tabnext " go to the two next tab page
|
||||
:1tabnext " go to the first tab page
|
||||
:$tabnext " go to the last tab page
|
||||
:tabnext # " go to the last accessed tab page
|
||||
:tabnext $ " as above
|
||||
:tabnext # " go to the last accessed tab page
|
||||
:tabnext - " go to the previous tab page
|
||||
:tabnext -1 " as above
|
||||
:tabnext + " go to the next tab page
|
||||
@@ -225,7 +225,7 @@ gT Go to the previous tab page. Wraps around from the first one
|
||||
*:tabl* *:tablast*
|
||||
:tabl[ast] Go to the last tab page.
|
||||
|
||||
*g<Tab>* *CTRL-W_g<Tab>* *<C-Tab>*
|
||||
*g<Tab>* *CTRL-W_g<Tab>* *<C-Tab>*
|
||||
g<Tab> Go to the last accessed tab page.
|
||||
|
||||
Other commands:
|
||||
@@ -259,7 +259,7 @@ REORDERING TAB PAGES:
|
||||
:tabmove " move the tab page to the last
|
||||
:$tabmove " as above
|
||||
:tabmove $ " as above
|
||||
:tabmove # " move the tab page after the last accessed
|
||||
:tabmove # " move the tab page after the last accessed
|
||||
" tab page
|
||||
|
||||
:tabm[ove] +[N]
|
||||
|
||||
@@ -1975,6 +1975,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:<cWORD> cmdline.txt /*:<cWORD>*
|
||||
:<cexpr> cmdline.txt /*:<cexpr>*
|
||||
:<cfile> cmdline.txt /*:<cfile>*
|
||||
:<client> cmdline.txt /*:<client>*
|
||||
:<cword> cmdline.txt /*:<cword>*
|
||||
:<sfile> cmdline.txt /*:<sfile>*
|
||||
:<sflnum> cmdline.txt /*:<sflnum>*
|
||||
@@ -2124,6 +2125,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:bad windows.txt /*:bad*
|
||||
:badd windows.txt /*:badd*
|
||||
:ball windows.txt /*:ball*
|
||||
:balt windows.txt /*:balt*
|
||||
:bar cmdline.txt /*:bar*
|
||||
:bd windows.txt /*:bd*
|
||||
:bdel windows.txt /*:bdel*
|
||||
@@ -2446,6 +2448,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:filter various.txt /*:filter*
|
||||
:fin editing.txt /*:fin*
|
||||
:fina eval.txt /*:fina*
|
||||
:final vim9.txt /*:final*
|
||||
:finally eval.txt /*:finally*
|
||||
:find editing.txt /*:find*
|
||||
:fini repeat.txt /*:fini*
|
||||
@@ -2722,6 +2725,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:map-<unique> map.txt /*:map-<unique>*
|
||||
:map-alt-keys map.txt /*:map-alt-keys*
|
||||
:map-arguments map.txt /*:map-arguments*
|
||||
:map-cmd map.txt /*:map-cmd*
|
||||
:map-commands map.txt /*:map-commands*
|
||||
:map-expression map.txt /*:map-expression*
|
||||
:map-local map.txt /*:map-local*
|
||||
@@ -3160,6 +3164,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:sta windows.txt /*:sta*
|
||||
:stag windows.txt /*:stag*
|
||||
:star repeat.txt /*:star*
|
||||
:star-visual-range cmdline.txt /*:star-visual-range*
|
||||
:start insert.txt /*:start*
|
||||
:startgreplace insert.txt /*:startgreplace*
|
||||
:startinsert insert.txt /*:startinsert*
|
||||
@@ -3369,6 +3374,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:up editing.txt /*:up*
|
||||
:update editing.txt /*:update*
|
||||
:v repeat.txt /*:v*
|
||||
:var vim9.txt /*:var*
|
||||
:ve various.txt /*:ve*
|
||||
:ver various.txt /*:ver*
|
||||
:verb various.txt /*:verb*
|
||||
@@ -3497,10 +3503,12 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
<C-ScrollWheelLeft> scroll.txt /*<C-ScrollWheelLeft>*
|
||||
<C-ScrollWheelRight> scroll.txt /*<C-ScrollWheelRight>*
|
||||
<C-ScrollWheelUp> scroll.txt /*<C-ScrollWheelUp>*
|
||||
<C-Tab> tabpage.txt /*<C-Tab>*
|
||||
<CR> motion.txt /*<CR>*
|
||||
<CSI> intro.txt /*<CSI>*
|
||||
<Char-> map.txt /*<Char->*
|
||||
<Char> map.txt /*<Char>*
|
||||
<Cmd> map.txt /*<Cmd>*
|
||||
<CursorHold> autocmd.txt /*<CursorHold>*
|
||||
<D- intro.txt /*<D-*
|
||||
<D-c> os_mac.txt /*<D-c>*
|
||||
@@ -3613,6 +3621,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
<cexpr> cmdline.txt /*<cexpr>*
|
||||
<cfile> cmdline.txt /*<cfile>*
|
||||
<character> intro.txt /*<character>*
|
||||
<client> cmdline.txt /*<client>*
|
||||
<count> map.txt /*<count>*
|
||||
<cword> cmdline.txt /*<cword>*
|
||||
<f-args> map.txt /*<f-args>*
|
||||
@@ -3642,6 +3651,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
<mods> map.txt /*<mods>*
|
||||
<nomodeline> autocmd.txt /*<nomodeline>*
|
||||
<q-args> map.txt /*<q-args>*
|
||||
<q-mods> map.txt /*<q-mods>*
|
||||
<range> map.txt /*<range>*
|
||||
<reg> map.txt /*<reg>*
|
||||
<register> map.txt /*<register>*
|
||||
@@ -3684,6 +3694,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
>where repeat.txt /*>where*
|
||||
? pattern.txt /*?*
|
||||
?<CR> pattern.txt /*?<CR>*
|
||||
?? eval.txt /*??*
|
||||
@ repeat.txt /*@*
|
||||
@/ change.txt /*@\/*
|
||||
@: repeat.txt /*@:*
|
||||
@@ -3816,6 +3827,7 @@ CTRL-W_bar windows.txt /*CTRL-W_bar*
|
||||
CTRL-W_c windows.txt /*CTRL-W_c*
|
||||
CTRL-W_d tagsrch.txt /*CTRL-W_d*
|
||||
CTRL-W_f windows.txt /*CTRL-W_f*
|
||||
CTRL-W_g<Tab> tabpage.txt /*CTRL-W_g<Tab>*
|
||||
CTRL-W_gF windows.txt /*CTRL-W_gF*
|
||||
CTRL-W_gT windows.txt /*CTRL-W_gT*
|
||||
CTRL-W_g] windows.txt /*CTRL-W_g]*
|
||||
@@ -3892,6 +3904,8 @@ E10 message.txt /*E10*
|
||||
E100 diff.txt /*E100*
|
||||
E101 diff.txt /*E101*
|
||||
E102 diff.txt /*E102*
|
||||
E1023 vim9.txt /*E1023*
|
||||
E1024 vim9.txt /*E1024*
|
||||
E103 diff.txt /*E103*
|
||||
E104 digraph.txt /*E104*
|
||||
E1042 vim9.txt /*E1042*
|
||||
@@ -3904,9 +3918,17 @@ E1092 vim9.txt /*E1092*
|
||||
E1094 vim9.txt /*E1094*
|
||||
E11 cmdline.txt /*E11*
|
||||
E110 eval.txt /*E110*
|
||||
E1109 eval.txt /*E1109*
|
||||
E111 eval.txt /*E111*
|
||||
E1110 eval.txt /*E1110*
|
||||
E1111 eval.txt /*E1111*
|
||||
E1112 eval.txt /*E1112*
|
||||
E1113 eval.txt /*E1113*
|
||||
E112 eval.txt /*E112*
|
||||
E113 eval.txt /*E113*
|
||||
E1135 map.txt /*E1135*
|
||||
E1136 map.txt /*E1136*
|
||||
E1137 map.txt /*E1137*
|
||||
E114 eval.txt /*E114*
|
||||
E115 eval.txt /*E115*
|
||||
E116 eval.txt /*E116*
|
||||
@@ -4062,7 +4084,6 @@ E252 options.txt /*E252*
|
||||
E253 mbyte.txt /*E253*
|
||||
E254 message.txt /*E254*
|
||||
E255 sign.txt /*E255*
|
||||
E256 message.txt /*E256*
|
||||
E257 if_cscop.txt /*E257*
|
||||
E258 remote.txt /*E258*
|
||||
E259 if_cscop.txt /*E259*
|
||||
@@ -4363,7 +4384,6 @@ E538 options.txt /*E538*
|
||||
E539 options.txt /*E539*
|
||||
E54 pattern.txt /*E54*
|
||||
E540 options.txt /*E540*
|
||||
E541 options.txt /*E541*
|
||||
E542 options.txt /*E542*
|
||||
E543 options.txt /*E543*
|
||||
E544 options.txt /*E544*
|
||||
@@ -4435,6 +4455,7 @@ E607 eval.txt /*E607*
|
||||
E608 eval.txt /*E608*
|
||||
E609 if_cscop.txt /*E609*
|
||||
E61 pattern.txt /*E61*
|
||||
E610 editing.txt /*E610*
|
||||
E612 sign.txt /*E612*
|
||||
E613 print.txt /*E613*
|
||||
E614 editing.txt /*E614*
|
||||
@@ -4916,6 +4937,7 @@ InsertChange autocmd.txt /*InsertChange*
|
||||
InsertCharPre autocmd.txt /*InsertCharPre*
|
||||
InsertEnter autocmd.txt /*InsertEnter*
|
||||
InsertLeave autocmd.txt /*InsertLeave*
|
||||
InsertLeavePre autocmd.txt /*InsertLeavePre*
|
||||
Integer eval.txt /*Integer*
|
||||
J change.txt /*J*
|
||||
Japanese mbyte.txt /*Japanese*
|
||||
@@ -5720,6 +5742,7 @@ char2nr() eval.txt /*char2nr()*
|
||||
characterwise motion.txt /*characterwise*
|
||||
characterwise-register change.txt /*characterwise-register*
|
||||
characterwise-visual visual.txt /*characterwise-visual*
|
||||
charclass() eval.txt /*charclass()*
|
||||
charconvert_from-variable eval.txt /*charconvert_from-variable*
|
||||
charconvert_to-variable eval.txt /*charconvert_to-variable*
|
||||
charity uganda.txt /*charity*
|
||||
@@ -6312,7 +6335,10 @@ extend() eval.txt /*extend()*
|
||||
extension-removal cmdline.txt /*extension-removal*
|
||||
extensions-improvements todo.txt /*extensions-improvements*
|
||||
f motion.txt /*f*
|
||||
false vim9.txt /*false*
|
||||
false-variable eval.txt /*false-variable*
|
||||
falsy eval.txt /*falsy*
|
||||
falsy-operator eval.txt /*falsy-operator*
|
||||
faq intro.txt /*faq*
|
||||
farsi farsi.txt /*farsi*
|
||||
farsi.txt farsi.txt /*farsi.txt*
|
||||
@@ -6446,6 +6472,7 @@ ft-asm68k-syntax syntax.txt /*ft-asm68k-syntax*
|
||||
ft-asmh8300-syntax syntax.txt /*ft-asmh8300-syntax*
|
||||
ft-aspperl-syntax syntax.txt /*ft-aspperl-syntax*
|
||||
ft-aspvbs-syntax syntax.txt /*ft-aspvbs-syntax*
|
||||
ft-awk-plugin filetype.txt /*ft-awk-plugin*
|
||||
ft-bash-syntax syntax.txt /*ft-bash-syntax*
|
||||
ft-basic-syntax syntax.txt /*ft-basic-syntax*
|
||||
ft-c-omni insert.txt /*ft-c-omni*
|
||||
@@ -6528,7 +6555,7 @@ ft-php-syntax syntax.txt /*ft-php-syntax*
|
||||
ft-php3-syntax syntax.txt /*ft-php3-syntax*
|
||||
ft-phtml-syntax syntax.txt /*ft-phtml-syntax*
|
||||
ft-plaintex-syntax syntax.txt /*ft-plaintex-syntax*
|
||||
ft-posix-synax syntax.txt /*ft-posix-synax*
|
||||
ft-posix-syntax syntax.txt /*ft-posix-syntax*
|
||||
ft-postscr-syntax syntax.txt /*ft-postscr-syntax*
|
||||
ft-ppwiz-syntax syntax.txt /*ft-ppwiz-syntax*
|
||||
ft-printcap-syntax syntax.txt /*ft-printcap-syntax*
|
||||
@@ -6863,6 +6890,7 @@ g<End> motion.txt /*g<End>*
|
||||
g<Home> motion.txt /*g<Home>*
|
||||
g<LeftMouse> tagsrch.txt /*g<LeftMouse>*
|
||||
g<RightMouse> tagsrch.txt /*g<RightMouse>*
|
||||
g<Tab> tabpage.txt /*g<Tab>*
|
||||
g<Up> motion.txt /*g<Up>*
|
||||
g? change.txt /*g?*
|
||||
g?? change.txt /*g??*
|
||||
@@ -6946,6 +6974,7 @@ gettabinfo() eval.txt /*gettabinfo()*
|
||||
gettabvar() eval.txt /*gettabvar()*
|
||||
gettabwinvar() eval.txt /*gettabwinvar()*
|
||||
gettagstack() eval.txt /*gettagstack()*
|
||||
gettext() eval.txt /*gettext()*
|
||||
getwininfo() eval.txt /*getwininfo()*
|
||||
getwinpos() eval.txt /*getwinpos()*
|
||||
getwinposx() eval.txt /*getwinposx()*
|
||||
@@ -7722,6 +7751,7 @@ mapmode-s map.txt /*mapmode-s*
|
||||
mapmode-t map.txt /*mapmode-t*
|
||||
mapmode-v map.txt /*mapmode-v*
|
||||
mapmode-x map.txt /*mapmode-x*
|
||||
mapnew() eval.txt /*mapnew()*
|
||||
mapping map.txt /*mapping*
|
||||
mapping-functions usr_41.txt /*mapping-functions*
|
||||
mapset() eval.txt /*mapset()*
|
||||
@@ -7738,6 +7768,8 @@ matchaddpos() eval.txt /*matchaddpos()*
|
||||
matcharg() eval.txt /*matcharg()*
|
||||
matchdelete() eval.txt /*matchdelete()*
|
||||
matchend() eval.txt /*matchend()*
|
||||
matchfuzzy() eval.txt /*matchfuzzy()*
|
||||
matchfuzzypos() eval.txt /*matchfuzzypos()*
|
||||
matchit-install usr_05.txt /*matchit-install*
|
||||
matchlist() eval.txt /*matchlist()*
|
||||
matchparen pi_paren.txt /*matchparen*
|
||||
@@ -7916,7 +7948,6 @@ netrw-browser-options pi_netrw.txt /*netrw-browser-options*
|
||||
netrw-browser-settings pi_netrw.txt /*netrw-browser-settings*
|
||||
netrw-browser-var pi_netrw.txt /*netrw-browser-var*
|
||||
netrw-browsing pi_netrw.txt /*netrw-browsing*
|
||||
netrw-c pi_netrw.txt /*netrw-c*
|
||||
netrw-c-tab pi_netrw.txt /*netrw-c-tab*
|
||||
netrw-cB pi_netrw.txt /*netrw-cB*
|
||||
netrw-cadaver pi_netrw.txt /*netrw-cadaver*
|
||||
@@ -8151,6 +8182,7 @@ new-more-highlighting version7.txt /*new-more-highlighting*
|
||||
new-more-unicode version7.txt /*new-more-unicode*
|
||||
new-multi-byte version5.txt /*new-multi-byte*
|
||||
new-multi-lang version6.txt /*new-multi-lang*
|
||||
new-multibyte version5.txt /*new-multibyte*
|
||||
new-netrw-explore version7.txt /*new-netrw-explore*
|
||||
new-network-files version6.txt /*new-network-files*
|
||||
new-omni-completion version7.txt /*new-omni-completion*
|
||||
@@ -8164,7 +8196,7 @@ new-persistent-undo version7.txt /*new-persistent-undo*
|
||||
new-plugins version6.txt /*new-plugins*
|
||||
new-popup-window version8.txt /*new-popup-window*
|
||||
new-posix version7.txt /*new-posix*
|
||||
new-print-multi-byte version7.txt /*new-print-multi-byte*
|
||||
new-print-multibyte version7.txt /*new-print-multibyte*
|
||||
new-printing version6.txt /*new-printing*
|
||||
new-python3 version7.txt /*new-python3*
|
||||
new-regexp-engine version7.txt /*new-regexp-engine*
|
||||
@@ -8300,12 +8332,14 @@ pascal.vim syntax.txt /*pascal.vim*
|
||||
patches-8 version8.txt /*patches-8*
|
||||
patches-8.1 version8.txt /*patches-8.1*
|
||||
patches-8.2 version8.txt /*patches-8.2*
|
||||
patches-after-8.2 version8.txt /*patches-after-8.2*
|
||||
pathshorten() eval.txt /*pathshorten()*
|
||||
pattern pattern.txt /*pattern*
|
||||
pattern-atoms pattern.txt /*pattern-atoms*
|
||||
pattern-delimiter change.txt /*pattern-delimiter*
|
||||
pattern-multi-byte pattern.txt /*pattern-multi-byte*
|
||||
pattern-multi-items pattern.txt /*pattern-multi-items*
|
||||
pattern-multibyte pattern.txt /*pattern-multibyte*
|
||||
pattern-overview pattern.txt /*pattern-overview*
|
||||
pattern-searches pattern.txt /*pattern-searches*
|
||||
pattern.txt pattern.txt /*pattern.txt*
|
||||
@@ -8376,6 +8410,7 @@ popup-callback popup.txt /*popup-callback*
|
||||
popup-close popup.txt /*popup-close*
|
||||
popup-examples popup.txt /*popup-examples*
|
||||
popup-filter popup.txt /*popup-filter*
|
||||
popup-filter-errors popup.txt /*popup-filter-errors*
|
||||
popup-filter-mode popup.txt /*popup-filter-mode*
|
||||
popup-function-details popup.txt /*popup-function-details*
|
||||
popup-functions popup.txt /*popup-functions*
|
||||
@@ -8469,6 +8504,7 @@ progname-variable eval.txt /*progname-variable*
|
||||
progpath-variable eval.txt /*progpath-variable*
|
||||
progress.vim syntax.txt /*progress.vim*
|
||||
prompt-buffer channel.txt /*prompt-buffer*
|
||||
prompt_getprompt() eval.txt /*prompt_getprompt()*
|
||||
prompt_setcallback() eval.txt /*prompt_setcallback()*
|
||||
prompt_setinterrupt() eval.txt /*prompt_setinterrupt()*
|
||||
prompt_setprompt() eval.txt /*prompt_setprompt()*
|
||||
@@ -8817,6 +8853,7 @@ set-option options.txt /*set-option*
|
||||
set-spc-auto spell.txt /*set-spc-auto*
|
||||
setbufline() eval.txt /*setbufline()*
|
||||
setbufvar() eval.txt /*setbufvar()*
|
||||
setcellwidths() eval.txt /*setcellwidths()*
|
||||
setcharsearch() eval.txt /*setcharsearch()*
|
||||
setcmdpos() eval.txt /*setcmdpos()*
|
||||
setenv() eval.txt /*setenv()*
|
||||
@@ -9626,9 +9663,12 @@ tooltips gui.txt /*tooltips*
|
||||
toupper() eval.txt /*toupper()*
|
||||
tr() eval.txt /*tr()*
|
||||
trim() eval.txt /*trim()*
|
||||
trinary eval.txt /*trinary*
|
||||
trojan-horse starting.txt /*trojan-horse*
|
||||
true vim9.txt /*true*
|
||||
true-variable eval.txt /*true-variable*
|
||||
trunc() eval.txt /*trunc()*
|
||||
truthy eval.txt /*truthy*
|
||||
try-conditionals eval.txt /*try-conditionals*
|
||||
try-echoerr eval.txt /*try-echoerr*
|
||||
try-finally eval.txt /*try-finally*
|
||||
@@ -9638,6 +9678,8 @@ tutor usr_01.txt /*tutor*
|
||||
twice if_cscop.txt /*twice*
|
||||
two-engines pattern.txt /*two-engines*
|
||||
type() eval.txt /*type()*
|
||||
type-casting vim9.txt /*type-casting*
|
||||
type-checking vim9.txt /*type-checking*
|
||||
type-inference vim9.txt /*type-inference*
|
||||
type-mistakes tips.txt /*type-mistakes*
|
||||
typecorr-settings usr_41.txt /*typecorr-settings*
|
||||
@@ -9934,6 +9976,7 @@ valgrind debug.txt /*valgrind*
|
||||
values() eval.txt /*values()*
|
||||
var-functions usr_41.txt /*var-functions*
|
||||
variable-scope eval.txt /*variable-scope*
|
||||
variable-types vim9.txt /*variable-types*
|
||||
variables eval.txt /*variables*
|
||||
various various.txt /*various*
|
||||
various-cmds various.txt /*various-cmds*
|
||||
@@ -10007,10 +10050,13 @@ vim.vim syntax.txt /*vim.vim*
|
||||
vim7 version7.txt /*vim7*
|
||||
vim8 version8.txt /*vim8*
|
||||
vim9 vim9.txt /*vim9*
|
||||
vim9-classes vim9.txt /*vim9-classes*
|
||||
vim9-const vim9.txt /*vim9-const*
|
||||
vim9-declaration vim9.txt /*vim9-declaration*
|
||||
vim9-declarations usr_46.txt /*vim9-declarations*
|
||||
vim9-differences vim9.txt /*vim9-differences*
|
||||
vim9-export vim9.txt /*vim9-export*
|
||||
vim9-final vim9.txt /*vim9-final*
|
||||
vim9-gotchas vim9.txt /*vim9-gotchas*
|
||||
vim9-import vim9.txt /*vim9-import*
|
||||
vim9-rationale vim9.txt /*vim9-rationale*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 8.2. Last change: 2020 Jun 06
|
||||
*terminal.txt* For Vim version 8.2. Last change: 2020 Nov 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -123,12 +123,14 @@ use |:tlmenu| instead of |:tmenu|.
|
||||
|
||||
*options-in-terminal*
|
||||
After opening the terminal window and setting 'buftype' to "terminal" the
|
||||
TerminalOpen autocommand event is triggered. This makes it possible to set
|
||||
options specifically for the window and buffer. Example: >
|
||||
au TerminalOpen * if &buftype == 'terminal' | setlocal bufhidden=hide | endif
|
||||
The <abuf> is set to the terminal buffer, but if there is no window (hidden
|
||||
terminal) then setting options will happen in the wrong buffer, therefore the
|
||||
check for &buftype in the example.
|
||||
|TerminalWinOpen| autocommand event is triggered. This makes it possible to set
|
||||
options specifically for the terminal window and buffer. Example: >
|
||||
au TerminalWinOpen * setlocal bufhidden=hide
|
||||
|
||||
There is also the |TerminalOpen| event, but this may be triggered for a hidden
|
||||
terminal, and the current window and buffer may not be for the new terminal.
|
||||
You need to use <abuf>, which is set to the terminal buffer. Example: >
|
||||
au TerminalOpen * call setbufvar(+expand('<abuf>'), '&colorcolumn', 123)
|
||||
|
||||
Mouse events (click and drag) are passed to the terminal. Mouse move events
|
||||
are only passed when Vim itself is receiving them. For a terminal that is
|
||||
@@ -476,9 +478,11 @@ term_dumpdiff({filename}, {filename} [, {options}])
|
||||
"term_name" name to use for the buffer name, instead
|
||||
of the first file name.
|
||||
"term_rows" vertical size to use for the terminal,
|
||||
instead of using 'termwinsize'
|
||||
instead of using 'termwinsize', but
|
||||
respecting the minimal size
|
||||
"term_cols" horizontal size to use for the terminal,
|
||||
instead of using 'termwinsize'
|
||||
instead of using 'termwinsize', but
|
||||
respecting the minimal size
|
||||
"vertical" split the window vertically
|
||||
"curwin" use the current window, do not split the
|
||||
window; fails if the current buffer
|
||||
@@ -501,6 +505,8 @@ term_dumpdiff({filename}, {filename} [, {options}])
|
||||
a different attribute
|
||||
+ missing position in first file
|
||||
- missing position in second file
|
||||
> cursor position in first file, not in second
|
||||
< cursor position in second file, not in first
|
||||
|
||||
Using the "s" key the top and bottom parts are swapped. This
|
||||
makes it easy to spot a difference.
|
||||
@@ -1409,16 +1415,18 @@ If you don't want this then disable it with: >
|
||||
|
||||
Vim window width *termdebug_wide*
|
||||
|
||||
To change the width of the Vim window when debugging starts, and use a
|
||||
vertical split: >
|
||||
let g:termdebug_wide = 163
|
||||
This will set &columns to 163 when `:Termdebug` is used. The value is restored
|
||||
when quitting the debugger.
|
||||
If g:termdebug_wide is set and &columns is already larger than
|
||||
g:termdebug_wide then a vertical split will be used without changing &columns.
|
||||
Set it to 1 to get a vertical split without every changing &columns (useful
|
||||
for when the terminal can't be resized by Vim).
|
||||
To change the width of the Vim window when debugging starts and use a vertical
|
||||
split: >
|
||||
let g:termdebug_wide = 163
|
||||
|
||||
This will set 'columns' to 163 when `:Termdebug` is used. The value is
|
||||
restored when quitting the debugger.
|
||||
|
||||
If g:termdebug_wide is set and 'columns' is already a greater value, then a
|
||||
vertical split will be used without modifying 'columns'.
|
||||
|
||||
Set g:termdebug_wide to 1 to use a vertical split without ever changing
|
||||
'columns'. This is useful when the terminal can't be resized by Vim.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*testing.txt* For Vim version 8.2. Last change: 2020 Jul 11
|
||||
*testing.txt* For Vim version 8.2. Last change: 2020 Sep 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -20,11 +20,17 @@ and for testing plugins.
|
||||
Vim can be tested after building it, usually with "make test".
|
||||
The tests are located in the directory "src/testdir".
|
||||
|
||||
There are two types of tests added over time:
|
||||
test20.in oldest, only for tiny and small builds
|
||||
test_something.vim new style tests
|
||||
|
||||
*new-style-testing*
|
||||
New tests should be added as new style tests. The test scripts are named
|
||||
test_<feature>.vim (replace <feature> with the feature under test). These use
|
||||
functions such as |assert_equal()| to keep the test commands and the expected
|
||||
result in one place.
|
||||
*old-style-testing*
|
||||
These tests are used only for testing Vim without the |+eval| feature.
|
||||
|
||||
Find more information in the file src/testdir/README.txt.
|
||||
|
||||
@@ -285,8 +291,9 @@ assert_exception({error} [, {msg}]) *assert_exception()*
|
||||
catch
|
||||
call assert_exception('E492:')
|
||||
endtry
|
||||
|
||||
assert_fails({cmd} [, {error} [, {msg}]]) *assert_fails()*
|
||||
<
|
||||
*assert_fails()*
|
||||
assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]])
|
||||
Run {cmd} and add an error message to |v:errors| if it does
|
||||
NOT produce an error or when {error} is not found in the
|
||||
error message. Also see |assert-return|.
|
||||
@@ -305,13 +312,25 @@ assert_fails({cmd} [, {error} [, {msg}]]) *assert_fails()*
|
||||
string for the first error: >
|
||||
assert_fails('cmd', ['', 'E987:'])
|
||||
<
|
||||
If {msg} is empty then it is not used. Do this to get the
|
||||
default message when passing the {lnum} argument.
|
||||
|
||||
When {lnum} is present and not negative, and the {error}
|
||||
argument is present and matches, then this is compared with
|
||||
the line number at which the error was reported. That can be
|
||||
the line number in a function or in a script.
|
||||
|
||||
When {context} is present it is used as a pattern and matched
|
||||
against the context (script name or function name) where
|
||||
{lnum} is located in.
|
||||
|
||||
Note that beeping is not considered an error, and some failing
|
||||
commands only beep. Use |assert_beeps()| for those.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetCmd()->assert_fails('E99:')
|
||||
|
||||
assert_false({actual} [, {msg}]) *assert_false()*
|
||||
assert_false({actual} [, {msg}]) *assert_false()*
|
||||
When {actual} is not false an error message is added to
|
||||
|v:errors|, like with |assert_equal()|.
|
||||
Also see |assert-return|.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*textprop.txt* For Vim version 8.2. Last change: 2020 Mar 05
|
||||
*textprop.txt* For Vim version 8.2. Last change: 2020 Oct 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -101,7 +101,7 @@ Manipulating text property types:
|
||||
prop_type_add({name}, {props}) define a new property type
|
||||
prop_type_change({name}, {props}) change an existing property type
|
||||
prop_type_delete({name} [, {props}]) delete a property type
|
||||
prop_type_get([{name} [, {props}]]) get property type values
|
||||
prop_type_get({name} [, {props}]) get property type values
|
||||
prop_type_list([{props}]) get list of property types
|
||||
|
||||
|
||||
@@ -291,7 +291,7 @@ prop_type_delete({name} [, {props}]) *prop_type_delete()*
|
||||
Can also be used as a |method|: >
|
||||
GetPropName()->prop_type_delete()
|
||||
|
||||
prop_type_get([{name} [, {props}]]) *prop_type_get()*
|
||||
prop_type_get({name} [, {props}]) *prop_type_get()*
|
||||
Returns the properties of property type {name}. This is a
|
||||
dictionary with the same fields as was given to
|
||||
prop_type_add().
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.2. Last change: 2020 Aug 05
|
||||
*todo.txt* For Vim version 8.2. Last change: 2020 Nov 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -38,73 +38,78 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Making everything work:
|
||||
- Check that when sourcing a Vim9 script, only the global items can be used.
|
||||
- Make string indexes character indexes instead of byte indexes. (#6574)
|
||||
explain how to use byte index when needed. Use blob?
|
||||
- :put with a "=" register argument doesn't work, need to find the expression
|
||||
and compile it. (#6397)
|
||||
- At the script level, keep script variables local to the block they are
|
||||
declared in? Need to remember what variables were declared and delete them
|
||||
when leaving the block.
|
||||
- Implement { } block at the script level.
|
||||
Vim9 - Change
|
||||
- Drop support for #{} early December. Close #7310
|
||||
-> Does it work to recognize lambda?
|
||||
{x: int -> x + 5}
|
||||
var int = 5
|
||||
{x: int, y: int}
|
||||
Vim9 - Making everything work:
|
||||
- Compile: for [key, value] in items(map): Also support @r, $VAR, etc.
|
||||
- Make map() give an error if the resulting type of the first argument is
|
||||
wrong. Only works if the type is known? Is this slow (need to go over all
|
||||
items)?
|
||||
- Run the same tests in :def and Vim9 script, like in Test_expr7_not()
|
||||
- need to check type when a declaration specifies a type: #6507
|
||||
let nr: number = 'asdf'
|
||||
- Check many more builtin function arguments at compile time.
|
||||
- Make sure that in vim9script a function call without namespace only finds
|
||||
the script-local function, not a global one.
|
||||
- Make map() give an error if the resulting type is wrong.
|
||||
Add mapnew() to create a new List/Dict for the result, which can have a
|
||||
different value type.
|
||||
- Make sure that where a callback is expected a function can be used (without
|
||||
quotes). E.g. sort() and map(). Also at the script level.
|
||||
- ":put" with ISN_PUT does not handle range correctly, e.g. ":$-2put".
|
||||
Add command to parse range at runtime?
|
||||
- When defining an :autocmd or :command, how to specify using Vim9 syntax?
|
||||
- always do this when defined in a Vim9 script
|
||||
- add some command modifier.
|
||||
- For an :autocmd and :command argument, if a following line starts with "|"
|
||||
append it. It's like line continuation. (#6702)
|
||||
- Implement "export {one, two three}".
|
||||
- ISN_CHECKTYPE could use check_argtype()
|
||||
- Slice of list: [1, 2, 3][1:2].
|
||||
- give error for variable name:
|
||||
let p = function('NoSuchFunc')
|
||||
- Give runtime error if function argument is wrong.
|
||||
def Increment(nr: number)
|
||||
range(3)->Increment()
|
||||
- If a :def function is called with a function reference, compile it to get
|
||||
the function type.
|
||||
def Filter(x: string, Cond: func(string): bool)
|
||||
Filter(x, { v -> v =~ '^b' })
|
||||
- Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop
|
||||
- Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd
|
||||
- Expand `=expr` in :mkspell
|
||||
- Test that a function defined inside a :def function is local to that
|
||||
function, g: functions can be defined and script-local functions cannot be
|
||||
defined.
|
||||
- Does this work already: can use func as reference:
|
||||
def SomeFunc() ...
|
||||
map(list, SomeFunc)
|
||||
- Support passing v:none to use the default argument value. (#6504)
|
||||
- make 0 == 'string' fail on the script level, like inside :def.
|
||||
- Check that when using a user function name without prefix, it does not find
|
||||
a global function. Prefixing g: is required.
|
||||
- Compile: for [key, value] in items(map)
|
||||
- Assignment to dict doesn't work:
|
||||
let ret: dict<string> = #{}
|
||||
ret[i] = string(i)
|
||||
- Appending to dict item doesn't work:
|
||||
let d[i] ..= value
|
||||
- Need the equivalent of get_lval() and set_var_lval() to implement assignment
|
||||
to nested list and dict members.
|
||||
- Assignment to dict doesn't work:
|
||||
let ret: dict<string> = #{}
|
||||
ret[i] = string(i)
|
||||
- Appending to dict item doesn't work:
|
||||
let d[i] ..= value
|
||||
- Using ".." at script level doesn't convert arguments to a string.
|
||||
- Compile replacement of :s command: s/pat/\=expr/
|
||||
- Compile redir to local variable: var_redir_start().
|
||||
- Compile builtin functions that access local variables:
|
||||
islocked()
|
||||
- possible memory leak in test_vim9_func through compile_nested_function.
|
||||
- memory leaks in test_vim9_expr
|
||||
- memory leaks in test_vim9_script
|
||||
- memory leaks in test_vim9_cmd
|
||||
- When evaluating constants for script variables, some functions could work:
|
||||
has('asdf'), len('string')
|
||||
- Implement "as Name" in "import Item as Name from ..."
|
||||
- Implement using imported items at script level from "import * as X" in
|
||||
eval_variable(). Should pass the ".xxx" that follows and return that.
|
||||
- Disallow unlet for local/script/imported vars
|
||||
- Make "++nr" work.
|
||||
- Make closures work:
|
||||
- Create closure in a loop. Need to make a list of them.
|
||||
- nested closure only uses one context, not all (#7150)
|
||||
- expandcmd() with `=expr` in filename uses legacy expression.
|
||||
- eval_expr() in ex_cexpr()
|
||||
- eval_expr() call in dbg_parsearg() and debuggy_find()
|
||||
- has() is compiled as a constant, but some checks are dynamic.
|
||||
Check for dynamic values, such as "gui_running".
|
||||
- Implement command modifiers, such as "silent". (#6530)
|
||||
New syntax and functionality:
|
||||
Improve error checking:
|
||||
- "echo Func()" is an error if Func() does not return anything.
|
||||
Test:
|
||||
- Using a Vim9 autoload script (functions must be global).
|
||||
Also:
|
||||
- For range: make table of first ASCII character with flag to quickly check if
|
||||
it can be a Vim9 command. E.g. "+" can, but "." can't.
|
||||
@@ -113,26 +118,24 @@ Also:
|
||||
- Make Foo.Bar() work to call the dict function. (#5676)
|
||||
- Error in any command in "vim9script" aborts sourcing.
|
||||
- Find a way to test expressions in legacy and Vim9 script without duplication
|
||||
- Fix memory leaks for test_vim9_disassemble, test_vim9_expr, test_vim9_script
|
||||
- Test each level of expressions properly, with type checking
|
||||
- Test try/catch and throw better, also nested.
|
||||
Test return inside try/finally jumps to finally and then returns.
|
||||
- call autoload function.
|
||||
- Implement more expressions, e.g. [a:b]
|
||||
- can use func as reference:
|
||||
def SomeFunc() ...
|
||||
map(list, SomeFunc)
|
||||
- Test: Function declared inside a :def function is local, disappears at the
|
||||
end of the function. Unless g: is used, just like with variables.
|
||||
- Test that a function defined inside a :def function is local to that
|
||||
function, g: functions can be defined and script-local functions cannot be
|
||||
defined.
|
||||
- implement :type
|
||||
- import type declaration?
|
||||
- implement class
|
||||
- implement interface
|
||||
- predefined class: Promise<T>
|
||||
- Future work: See |vim9-classes|
|
||||
- implement enum
|
||||
- Make accessing varargs faster: arg[expr]
|
||||
EVAL expr
|
||||
LOADVARARG (varags idx)
|
||||
LOADVARARG (varargs idx)
|
||||
- Make debugging work - at least per function. Need to recompile a function
|
||||
to step through it line-by-line? Evaluate the stack and variables on the
|
||||
stack?
|
||||
- Make profiling work - Add ISN_PROFILE instructions after every line?
|
||||
- List commands when 'verbose' is set or :verbose is used.
|
||||
Further improvements:
|
||||
- compile options that are an expression, e.g. "expr:" in 'spellsuggest',
|
||||
'foldexpr', 'foldtext', 'printexpr', 'diffexpr', 'patchexpr', 'charconvert',
|
||||
@@ -147,7 +150,11 @@ Further improvements:
|
||||
- compile "expr" and "call" expression of a channel in channel_exe_cmd()?
|
||||
|
||||
Popup windows:
|
||||
- Cursor not updated before a redraw, making it jump. (#5943)
|
||||
- Add a flag to make a popup window focusable?
|
||||
CTRL-W P cycle over any preview window or focusable popup, end up back in
|
||||
current window.
|
||||
? - switch between current window and all popup windows
|
||||
Esc in popup window goes back to previous current window
|
||||
- Add a termcap entry for changing the cursor when it goes under the popup and
|
||||
back. like t_SI and t_EI (t_SU and t_EU, where "U" means under?)
|
||||
- With terminal in popup, allow for popup_hide() to temporarily hide it.?
|
||||
@@ -155,6 +162,8 @@ Popup windows:
|
||||
positioned? PopupNew? Could be used to set some options or move it out of
|
||||
the way. (#5737)
|
||||
However, it may also cause trouble, changing the popup of another plugin.
|
||||
- Width is not computed correctly when minwidth and maxwidth are &columns
|
||||
and padding and a scrollbar are used. (#6676)
|
||||
- Add a way to use popup_menu() synchronously: instead of invoking the
|
||||
callback, return the choice. (Ben Jackson, #6534)
|
||||
- Use popup (or popup menu) for command line completion
|
||||
@@ -173,10 +182,8 @@ Text properties:
|
||||
- :goto does not go to the right place when text properties are present.
|
||||
(#5930)
|
||||
- "cc" does not call inserted_bytes(). (Axel Forsman, #5763)
|
||||
- Get E685 with a sequence of commands. (#5674)
|
||||
- Combining text property with 'cursorline' does not always work (Billie
|
||||
Cleek, #5533)
|
||||
- Text properties spanning more than one line. #5683
|
||||
- See remarks at top of src/textprop.c
|
||||
|
||||
'incsearch' with :s:
|
||||
@@ -253,23 +260,43 @@ Terminal emulator window:
|
||||
- When 'encoding' is not utf-8, or the job is using another encoding, setup
|
||||
conversions.
|
||||
|
||||
Error numbers available:
|
||||
E610, E611, E653
|
||||
Error numbers available: E653
|
||||
|
||||
Clean up empty entries in testdir/Make_all.mak
|
||||
Mapping with partial match not executed properly in GTK. (Ingo Karkat, #7082)
|
||||
|
||||
Patch for Template string: #4634
|
||||
Have another look at the implementation.
|
||||
|
||||
Patch to implement the vimtutor with a plugin: #6414
|
||||
Was originally written by Felipe Morales.
|
||||
|
||||
Remove SPACE_IN_FILENAME ? It is only used for completion.
|
||||
|
||||
Patch to use collaction based sorting. (Christian Brabandt, #6229)
|
||||
Making breakat support multibyte characters (Yasuhiro Matsumoto, #6598)
|
||||
Scroll doesn't work correctly, why?
|
||||
|
||||
Add 'termguiattr' option, use "gui=" attributes in the terminal? Would work
|
||||
with 'termguicolors'. #1740
|
||||
|
||||
Patch for blockwise paste reporting changes: #6660.
|
||||
|
||||
Missing filetype test for bashrc, PKGBUILD, etc.
|
||||
|
||||
Add an option to not fetch terminal codes in xterm, to avoid flicker when t_Co
|
||||
changes.
|
||||
|
||||
Add an option to start_timer() to return from the input loop with K_IGNORE.
|
||||
This is useful e.g. when a popup was created that disables mappings, we need
|
||||
to return from vgetc() to make this happen. #7011
|
||||
|
||||
Expanding <mods> should put the tab number from cmdmod.tab before "tab".
|
||||
Any way to convert "$" back by using a special value? (#6901)
|
||||
|
||||
Can we detect true color support? https://gist.github.com/XVilka/8346728
|
||||
Try setting a color then request the current color, like using t_u7.
|
||||
|
||||
Check out PR #543 (Roland Puntaier).
|
||||
Patch for multi-byte characters in langmap and applying a mapping on them.
|
||||
Patch for multibyte characters in langmap and applying a mapping on them.
|
||||
(Christian Brabandt, 2015 Jun 12, update July 25)
|
||||
Is this the right solution? Need to cleanup langmap behavior:
|
||||
- in vgetorpeek() apply langmap to the typeahead buffer and put the result in
|
||||
@@ -290,15 +317,19 @@ autocommands for the buffer lifecycle:
|
||||
BufIsRenamed (after buffer ID gets another name)
|
||||
The buffer list and windows are locked, no changes possible
|
||||
|
||||
Make it possible to map (console and GUI): #6457
|
||||
<C-[> 0x27 or is this <Esc> ?
|
||||
<C-\> 0x28
|
||||
<C-]> 0x29
|
||||
<C-^> 0x30
|
||||
<C-_> 0x31
|
||||
Add a ModeChanged autocommand that has an argument indicating the old and new
|
||||
mode, as what's returned from mode(). Also used for switching Terminal mode.
|
||||
|
||||
Patch for Template string: #4634
|
||||
Have another look at the implementation.
|
||||
Matchparen doesn't remove highlight after undo. (#7054)
|
||||
Is OK when syntax HL is active.
|
||||
|
||||
Currently Del can be used to delete the last character of a typed count.
|
||||
Can it also be used to delete an incomplete Normal mode command? (#7096)
|
||||
After an operator: should work. After "a" or "i" for text objects: should
|
||||
work.
|
||||
|
||||
Using "au!" after "filetype on" is a bit slow. Can the matching of
|
||||
autocommands be made faster? (#7056)
|
||||
|
||||
Add the <=> (spaceship) operator and "cond ?< expr ?= expr ?> expr"
|
||||
replace this:
|
||||
@@ -309,6 +340,10 @@ Add the <=> (spaceship) operator and "cond ?< expr ?= expr ?> expr"
|
||||
let res = GetLeftFunc() <=> GetRightFunc() ?< lower ?= equal ?> upper
|
||||
Patch to make :q work with local arglist. (Christian Brabandt, #6286)
|
||||
|
||||
Why does Test_invalid_sid() not work in the GUI?
|
||||
|
||||
":pedit" ignores the local working directory when 'pvp' is set (#7267)
|
||||
|
||||
Lua: updating wrong buffer when using newly created, unloaded buffer.
|
||||
(#6539)
|
||||
|
||||
@@ -359,13 +394,13 @@ When 'fileignorecase' is set ":e testfile.c" works to edit TestFile.c, but
|
||||
":find testfile.c" does not ignore case.
|
||||
Might be related to #6088.
|
||||
|
||||
Error for reverse range when using :vimgrep in file "[id-01] file.txt".
|
||||
(#6919)
|
||||
|
||||
When changing the crypt key the buffer should be considered modified.
|
||||
Like when changing 'fileformat'. Save the old key in save_file_ff().
|
||||
(Ninu-Ciprian Marginean)
|
||||
|
||||
Patch to implement the vimtutor with a plugin: #6414
|
||||
Was originally writtten by Felipe Morales.
|
||||
|
||||
Strange sequence of BufWipeout and BufNew events while doing omni-complete.
|
||||
(Paul Jolly, #5656)
|
||||
Get BufDelete without preceding BufNew. (Paul Jolly, #5694)
|
||||
@@ -378,9 +413,6 @@ Another spurious BufDelete. (Dani Dickstein, #5701)
|
||||
|
||||
Wrong error when using local arglist. (Harm te Hennepe, #6133)
|
||||
|
||||
Request to support <Cmd> in mappings, similar to how Neovim does this.
|
||||
(Daniel Hahler, #4784)
|
||||
|
||||
Test loose_clipboard() by selecting text before suspending.
|
||||
|
||||
Undo puts cursor in wrong line after "cG<Esc>" undo.
|
||||
@@ -388,6 +420,7 @@ Undo puts cursor in wrong line after "cG<Esc>" undo.
|
||||
Implement completion for "breakadd". Should expand the second argument, e.g.
|
||||
"func", and then function names after ":breakadd func". Including
|
||||
script-local functions.
|
||||
Also for ":profile".
|
||||
|
||||
:unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019
|
||||
Dec 19)
|
||||
@@ -399,7 +432,6 @@ Patch to fix session file when using multiple tab pages. (Jason Franklin, 2019
|
||||
May 20)
|
||||
Also put :argadd commands at the start for all buffers, so that their order
|
||||
remains equal? Then %argdel to clean it up. Do try this with 'hidden' set.
|
||||
Also #4994: window-local options not always restored, related to using :badd.
|
||||
Also #5326: netrw buffers are not restored.
|
||||
|
||||
When 'backupdir' has a path ending in double slash (meaning: use full path of
|
||||
@@ -413,6 +445,7 @@ Should do current file first and not split it up when more results are found.
|
||||
|
||||
Undo history wrong when ":next file" re-uses a buffer. (#5426)
|
||||
ex_next() should pass flag to do_argfile(), then to do_ecmd().
|
||||
Is there a test for this?
|
||||
|
||||
Help for ":argadd fname" says that if "fname" is already in the argument list
|
||||
that entry is used. But instead it's always added. (#6210)
|
||||
@@ -474,7 +507,7 @@ Better: use the "z" prefix. or ]t) and [t(.
|
||||
Modeless selection doesn't work in gvim. (#4783)
|
||||
Caused by patch 8.1.1534.
|
||||
|
||||
Visual highlight not removed when 'dipslay' is "lastline" and line doesn't
|
||||
Visual highlight not removed when 'display' is "lastline" and line doesn't
|
||||
fit. (Kevin Lawler, #4457)
|
||||
|
||||
Current position in the changelist should be local to the buffer. (#2173)
|
||||
@@ -488,6 +521,7 @@ Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
|
||||
13, #2910) Can't reproduce?
|
||||
|
||||
Display messed up with matchparen, wrapping and scrolling. (#5638)
|
||||
Screen update bug related to matchparen. (Chris Heath, 2017 Mar 4, #1532)
|
||||
|
||||
When getting a focus event halfway a mapping this aborts the mapping. E.g.
|
||||
when "qq" is mapped and after the first "q" the mouse is moved outside of the
|
||||
@@ -534,10 +568,6 @@ Patch to have text objects defined by arbitrary single characters. (Daniel
|
||||
Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
|
||||
Added tests (James McCoy, 2016 Aug 3, #958). Still needs more work.
|
||||
|
||||
":2resize +10" uses size of the current window, adds 10 and applies it to
|
||||
window 2. User expects 10 to be added to size of window 2. (Daniel Steinberg,
|
||||
#5443)
|
||||
|
||||
Would be nice to set tab-local values for 'diffexpr' and 'diffopt'. Use
|
||||
t:diffexpr_option t:diffopt_option? (#4782)
|
||||
|
||||
@@ -733,6 +763,7 @@ Make ":interactive !cmd" stop termcap mode, also when used in an autocommand.
|
||||
|
||||
Add buffer argument to undotree(). (#4001)
|
||||
|
||||
Memory leak in test_debugger
|
||||
Using uninitialized value in test_crypt (can't explain why).
|
||||
Memory leak in test_terminal_fail
|
||||
TODO: be able to run all parts of test_alot with valgrind separately
|
||||
@@ -863,9 +894,6 @@ Try out background make plugin:
|
||||
or asyncmake:
|
||||
https://github.com/yegappan/asyncmake
|
||||
|
||||
Add a ModeChanged autocommand that has an argument indicating the old and new
|
||||
mode, as what's returned from mode(). Also used for switching Terminal mode.
|
||||
|
||||
Add an option with file patterns, to be used when unloading a buffer: If there
|
||||
is a match, remove entries for the buffer from marks, jumplist, etc. To be
|
||||
used for git temp files.
|
||||
@@ -1027,7 +1055,7 @@ neovim #7431)
|
||||
Patch for improving detecting Ruby on Mac in configure. (Ilya Mikhaltsou, 2017
|
||||
Nov 21)
|
||||
|
||||
When t_Co is changed from termresponse, the OptionSet autocmmand event isn't
|
||||
When t_Co is changed from termresponse, the OptionSet autocommand event isn't
|
||||
triggered. Use the code from the end of set_num_option() in
|
||||
set_color_count().
|
||||
|
||||
@@ -1209,18 +1237,14 @@ Suggestion to improve pt-br spell checking. (Marcelo D Montu, 2016 Dec 15,
|
||||
|
||||
Error in test_startup_utf8 on Solaris. (Danek Duvall, 2016 Aug 17)
|
||||
|
||||
Completion for :!cmd shows each match twice. #1435
|
||||
|
||||
GTK: When adding a timer from 'balloonexpr' it won't fire, because
|
||||
g_main_context_iteration() doesn't return. Need to trigger an event when the
|
||||
timer expires.
|
||||
|
||||
Screen update bug related to matchparen. (Chris Heath, 2017 Mar 4, #1532)
|
||||
|
||||
Rule to use "^" for statusline does not work if a space is defined with
|
||||
highlighting for both stl and stlnc. Patch by Ken Hamada (itchyny, 2016 Dec 11)
|
||||
|
||||
8 "stl" and "stlnc" in 'fillchars' don't work for multi-byte characters.
|
||||
8 "stl" and "stlnc" in 'fillchars' don't work for multibyte characters.
|
||||
Patch by Christian Wellenbrock, 2013 Jul 5.
|
||||
|
||||
Using CTRL-G_U in InsertCharPre causes trouble for redo. (Israel Chauca
|
||||
@@ -1316,6 +1340,9 @@ no longer support.
|
||||
sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
|
||||
4#1038)
|
||||
|
||||
sort() does not use 'smartcase' for the skip pattern, even though 'ignorecase'
|
||||
is used. (Filipe Brandenburger, #7322)
|
||||
|
||||
+channel:
|
||||
- Add a in_cb, invoked when the write buffer has become empty. (Matteo Landi)
|
||||
- Add ch_readlines(): for a channel in NL mode, reads as many lines as are
|
||||
@@ -1371,7 +1398,7 @@ Regexp problems:
|
||||
- Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$'
|
||||
(Lech Lorens, 2014 Feb 3)
|
||||
- Issue 164: freeze on regexp search.
|
||||
- Ignorecase not handled properly for multi-byte characters. (Axel Bender,
|
||||
- Ignorecase not handled properly for multibyte characters. (Axel Bender,
|
||||
2013 Dec 11)
|
||||
- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin
|
||||
Szamotulski; Remark from Brett 2014 Jan 6 and 7.
|
||||
@@ -1409,9 +1436,6 @@ Undo message is not always properly displayed. Patch by Ken Takata, 2013 oct
|
||||
3. Doesn't work properly according to Yukihiro Nakadaira.
|
||||
Also see #1635.
|
||||
|
||||
When 'keywordprg' starts with ":" the argument is still escaped as a shell
|
||||
command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
|
||||
|
||||
Idea from Sven: record sequence of keys. Useful to show others what they are
|
||||
doing (look over the shoulder), and also to see what happened.
|
||||
Probably list of keystrokes, with some annotations for mode changes.
|
||||
@@ -1452,8 +1476,6 @@ Have a way to get the call stack, in a function and from an exception.
|
||||
Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
|
||||
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
|
||||
|
||||
Filetype plugin for awk. (Doug Kearns, 2016 Sep 5)
|
||||
|
||||
Patch to improve map documentation. Issue #799.
|
||||
|
||||
We can use '. to go to the last change in the current buffer, but how about
|
||||
@@ -1586,7 +1608,7 @@ Patch to add :mapgroup, put mappings in a group like augroup.
|
||||
Value returned by virtcol() changes depending on how lines wrap. This is
|
||||
inconsistent with the documentation.
|
||||
|
||||
Value of virtcol() for '[ and '] depend on multi-byte character.
|
||||
Value of virtcol() for '[ and '] depend on multibyte character.
|
||||
(Luchr, #277)
|
||||
|
||||
Can we cache the syntax attributes, so that updates for 'relativenumber' and
|
||||
@@ -1673,8 +1695,6 @@ Extended file attributes lost on write (backupcopy=no). Issue 306.
|
||||
Patch to add :lockjumps. (Carlo Baldassi, 2015 May 25)
|
||||
OK to not block marks?
|
||||
|
||||
Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1)
|
||||
|
||||
Patch on Issue 72: 'autochdir' causes problems for :vimgrep.
|
||||
|
||||
When two SIGWINCH arrive very quickly, the second one may be lost.
|
||||
@@ -1741,14 +1761,6 @@ arguments.
|
||||
|
||||
Problem with transparent and matchgroup. Issue #475
|
||||
|
||||
Spell files use a latin single quote. Unicode also has another single quote:
|
||||
0x2019. (Ron Aaron, 2014 Apr 4)
|
||||
New OpenOffice spell files support this with ICONV. But they are not
|
||||
compatible with Vim spell files. The old files can no longer be downloaded.
|
||||
|
||||
Spell checking: Add a feature to only consider two spaces after a dot to start
|
||||
a new sentence. Don't give the capitalization error when there is one space.
|
||||
|
||||
Idea: For a window in the middle (has window above and below it), use
|
||||
right-mouse-drag on the status line to move a window up/down without changing
|
||||
its height? It's like dragging the status bar above it at the same time.
|
||||
@@ -2118,7 +2130,7 @@ Also for another example (ZyX, 2011 Jan 24)
|
||||
|
||||
Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
|
||||
|
||||
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
|
||||
"0g@$" puts '] on last byte of multibyte. (ZyX, 2011 Jan 22)
|
||||
|
||||
Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30)
|
||||
|
||||
@@ -2276,7 +2288,7 @@ Additional info by Dominique Pelle. (also on 2010 Apr 10)
|
||||
|
||||
CreateFile and CreateFileW are used without sharing, filewritable() fails when
|
||||
the file was already open (e.g. script is being sourced). Add FILE_SHARE_READ|
|
||||
FILE_SHARE_WRITE in mch_access()? (Phillippe Vaucher, 2010 Nov 2)
|
||||
FILE_SHARE_WRITE in mch_access()? (Philippe Vaucher, 2010 Nov 2)
|
||||
|
||||
Is ~/bin (literally) in $PATH supposed to work? (Paul, 2010 March 29)
|
||||
Looks like only bash can do it. (Yakov Lerner)
|
||||
@@ -2423,9 +2435,6 @@ Don't load macmap.vim on startup, turn it into a plugin. (Ron Aaron,
|
||||
|
||||
Add "no_hlsearch" to winsaveview().
|
||||
|
||||
Cursorline highlighting combines with Search ('hlsearch') but not with
|
||||
SpellBad. (Jim Karsten, 2009 Mar 18)
|
||||
|
||||
When 'foldmethod' is "indent", adding an empty line below a fold and then
|
||||
indented text, creates a new fold instead of joining it with the previous one.
|
||||
(Evan Laforge, 2009 Oct 17)
|
||||
@@ -2625,7 +2634,7 @@ work, the backslash is removed, assuming that it escapes the (. (Valery
|
||||
Kondakoff, 2009 May 13)
|
||||
|
||||
Win32: Using "gvim --remote-tab-silent elŝuti.txt" doesn't work, the
|
||||
multi-byte character isn't passed and edits elsuti.txt.
|
||||
multibyte character isn't passed and edits elsuti.txt.
|
||||
(Raúl Núñez de Arenas Coronado, 2015 Dec 18)
|
||||
|
||||
Problem with 'langmap' being used on the rhs of a mapping. (Nikolai Weibull,
|
||||
@@ -2863,9 +2872,6 @@ Jun 18)
|
||||
|
||||
If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work.
|
||||
|
||||
Feature request: Command to go to previous tab, like what CTRL-W p does for
|
||||
windows. (Adam George)
|
||||
|
||||
In debug mode, using CTRL-R = to evaluate a function causes stepping through
|
||||
the function. (Hari Krishna Dara, 2006 Jun 28)
|
||||
|
||||
@@ -2935,12 +2941,6 @@ the Visual area. Can this be fixed? (James Vega, 2006 Sept 15)
|
||||
|
||||
GUI: When combining fg en bg make sure they are not equal.
|
||||
|
||||
Spell checking: Add a way to specify punctuation characters. Add the
|
||||
superscript numbers by default: 0x2070, 0xb9, 0xb2, 0xb3, 0x2074 - 0x2079.
|
||||
|
||||
Spell checking in popup menu: If the only problem is the case of the first
|
||||
character, don't offer "ignore" and "add to word list".
|
||||
|
||||
Use different pt_br dictionary for spell checking. (Jackson A. Aquino, 2006
|
||||
Jun 5)
|
||||
|
||||
@@ -2954,10 +2954,6 @@ Jul 22)
|
||||
|
||||
There should be something about spell checking in the user manual.
|
||||
|
||||
Spell menu: When using the Popup menu to select a replacement word,
|
||||
":spellrepeat" doesn't work. SpellReplace() uses setline(). Can it use "z="
|
||||
somehow? Or use a new function.
|
||||
|
||||
Mac: Using gvim: netrw window disappears. (Nick Lo, 2006 Jun 21)
|
||||
|
||||
Add an option to specify the character to use when a double-width character is
|
||||
@@ -3189,7 +3185,7 @@ Awaiting updated patches:
|
||||
7 ATTENTION dialog choices are more logical when "Delete it" appears
|
||||
before "Quit". Patch by Robert Webb, 2004 May 3.
|
||||
- Include flipcase patch: ~/vim/patches/wall.flipcase2 ? Make it work
|
||||
for multi-byte characters.
|
||||
for multibyte characters.
|
||||
- Win32: add options to print dialog. Patch from Vipin Aravind.
|
||||
- Patch to add highlighting for whitespace. (Tom Schumm, 2003 Jul 5)
|
||||
use the patch that keeps using HLF_8 if HLF_WS has not
|
||||
@@ -3241,6 +3237,29 @@ Better 'rightleft' or BIDI support:
|
||||
- Minimal Vi with bidi support: https://github.com/aligrudi/neatvi
|
||||
By Ali Gholami Rudi, also worked on arabic.c
|
||||
|
||||
|
||||
Spell checking:
|
||||
- When 'cursorline' is set and the first word should have SpellCap
|
||||
highlighting, redrawing the line removes it when moving the cursor away
|
||||
from the line. (#7085) Would need to inspect the end of the previous line
|
||||
and update "capcol_lnum" and "cap_col".
|
||||
- Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1)
|
||||
- Spell files use a latin single quote. Unicode also has another single
|
||||
quote: 0x2019. (Ron Aaron, 2014 Apr 4)
|
||||
New OpenOffice spell files support this with ICONV. But they are not
|
||||
compatible with Vim spell files. The old files can no longer be
|
||||
downloaded.
|
||||
- Add a feature to only consider two spaces after a dot to start a new
|
||||
sentence. Don't give the capitalization error when there is one space.
|
||||
- Add a way to specify punctuation characters. Add the superscript numbers
|
||||
by default: 0x2070, 0xb9, 0xb2, 0xb3, 0x2074 - 0x2079.
|
||||
- In popup menu: If the only problem is the case of the first character,
|
||||
don't offer "ignore" and "add to word list".
|
||||
- Spell menu: When using the Popup menu to select a replacement word,
|
||||
":spellrepeat" doesn't work. SpellReplace() uses setline(). Can it use
|
||||
"z=" somehow? Or use a new function.
|
||||
|
||||
|
||||
Quickfix/Location List:
|
||||
- Window size is wrong when using quickfix window. (Lifepillar, 2018 Aug 24,
|
||||
#2999)
|
||||
@@ -3685,8 +3704,8 @@ Macintosh:
|
||||
8 'hkmap' should probably be global-local.
|
||||
8 Using ":s" in a function changes the previous replacement string. Save
|
||||
"old_sub" in save_search_patterns()?
|
||||
8 Should allow multi-byte characters for the delimiter: ":s+a+b+" where "+"
|
||||
is a multi-byte character.
|
||||
8 Should allow multibyte characters for the delimiter: ":s+a+b+" where "+"
|
||||
is a multibyte character.
|
||||
8 When appending to a file and 'patchmode' isn't empty, a backup file is
|
||||
always written, even when the original file already exists.
|
||||
9 When getting focus while writing a large file, could warn for this file
|
||||
@@ -3809,10 +3828,6 @@ Macintosh:
|
||||
on the status line (caused by 'winheight'). Select window on button up,
|
||||
instead of on button down.
|
||||
8 Dragging the status line doesn't scroll but redraw.
|
||||
9 Evaluating 'statusline' in build_stl_str_hl() does not properly check for
|
||||
reaching the end of the available buffer.
|
||||
Patch to dynamically allocate the buffer for % items. (Eric Arnold, 2006
|
||||
May 14)
|
||||
8 When performing incremental search, should abort searching as soon as a
|
||||
character is typed.
|
||||
8 When the value of $MAKE contains a path, configure can't handle this.
|
||||
@@ -3841,7 +3856,7 @@ Macintosh:
|
||||
two lines at a time. "k" doesn't do this. (Cory T. Echols)
|
||||
8 When write_viminfo() is used while there are many orphaned viminfo
|
||||
tempfiles writing the viminfo file fails. Give a clear error message so
|
||||
that the user knows he has to delete the files.
|
||||
that the user knows the files have to be deleted.
|
||||
|
||||
|
||||
I can't reproduce these (if you can, let me know how!):
|
||||
@@ -3989,7 +4004,7 @@ Documentation:
|
||||
- change to cursor position and curswant
|
||||
- if it can be undone (u/CTRL-R) and redone (.)
|
||||
- how it works for folded lines
|
||||
- how it works with multi-byte characters
|
||||
- how it works with multibyte characters
|
||||
9 In change.txt, remark about Javadoc isn't right. Right alignment would
|
||||
work too.
|
||||
8 Spread the windows commands over the other files. For example, ":stag"
|
||||
@@ -4012,7 +4027,7 @@ Help:
|
||||
- Support a way to view (and edit) .info files.
|
||||
- Implement a "sticky" help window, some help text lines that are always
|
||||
displayed in a window with fixed height. (Guckes) Use "~/.vimhelp" file,
|
||||
user can edit it to insert his favorite commands, new account can contain a
|
||||
user can edit it to insert favorite commands, new account can contain a
|
||||
default contents.
|
||||
- Make 'winminheight' a local option, so that the user can set a minimal
|
||||
height for the help window (and other windows).
|
||||
@@ -4225,8 +4240,8 @@ Multi-byte characters:
|
||||
8 Add configure option to be able to disable using the iconv library. (Udo
|
||||
Schweigert)
|
||||
9 'aleph' should be set to 1488 for Unicode. (Zvi Har'El)
|
||||
8 Should add test for using various commands with multi-byte characters.
|
||||
8 'infercase' doesn't work with multi-byte characters.
|
||||
8 Should add test for using various commands with multibyte characters.
|
||||
8 'infercase' doesn't work with multibyte characters.
|
||||
8 toupper() function doesn't handle byte count changes.
|
||||
7 Searching and composing characters:
|
||||
When searching, should order of composing characters be ignored?
|
||||
@@ -4234,7 +4249,7 @@ Multi-byte characters:
|
||||
characters can be manipulated.
|
||||
8 Should implement 'delcombine' for command line editing.
|
||||
8 Detect overlong UTF-8 sequences and handle them like illegal bytes.
|
||||
8 ":s/x/\u\1/" doesn't work, making uppercase isn't done for multi-byte
|
||||
8 ":s/x/\u\1/" doesn't work, making uppercase isn't done for multibyte
|
||||
characters.
|
||||
8 UTF-8: "r" in Visual mode doesn't take composing characters.
|
||||
8 UTF-8: When there is a precomposed character in the font, use it instead
|
||||
@@ -4258,14 +4273,14 @@ Multi-byte characters:
|
||||
convert_input() for Mac GUI.
|
||||
- Add mnemonics from RFC1345 longer than two characters.
|
||||
Support CTRL-K _{mnemonic}_
|
||||
- Make 'breakat' accept multi-byte characters. Problem: can't use a lookup
|
||||
- Make 'breakat' accept multibyte characters. Problem: can't use a lookup
|
||||
table anymore (breakat_flags[]).
|
||||
Simplistic solution: when 'formatoptions' contains "m" also break a line
|
||||
at a multi-byte character >= 0x100.
|
||||
at a multibyte character >= 0x100.
|
||||
- Add the possibility to enter mappings which are used whenever normal text
|
||||
could be entered. E.g., for "f" command. But not in Normal mode. Sort
|
||||
of opposite of 'langmap'. Use ":amap" command?
|
||||
- When breaking a line, take properties of multi-byte characters into
|
||||
- When breaking a line, take properties of multibyte characters into
|
||||
account. The "linebreak" program from Bruno Haible can do it:
|
||||
ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz
|
||||
But it's very complicated...
|
||||
@@ -5330,11 +5345,11 @@ Text objects:
|
||||
8 Add test script for text object commands "aw", "iW", etc.
|
||||
8 Add text object for part of a CamelHumpedWord and under_scored_word.
|
||||
(Scott Graham) "ac" and "au"?
|
||||
8 Add a text object for any kind of quoting, also with multi-byte
|
||||
8 Add a text object for any kind of quoting, also with multibyte
|
||||
characters. Option to specify what quotes are recognized (default: all)
|
||||
use "aq" and "iq". Use 'quotepairs' to define pairs of quotes, like
|
||||
'matchpairs'?
|
||||
8 Add text object for any kind of parens, also multi-byte ones.
|
||||
8 Add text object for any kind of parens, also multibyte ones.
|
||||
8 Add a way to make an ":omap" for a user-defined text object. Requires
|
||||
changing the starting position in oap->start.
|
||||
8 Add "gp" and "gP" commands: insert text and make sure there is a single
|
||||
@@ -5779,7 +5794,7 @@ Modelines:
|
||||
.cpp files.
|
||||
- Support the "abbreviate" command in modelines (Kearns). Careful for
|
||||
characters after <Esc>, that is a security leak.
|
||||
- Add option setting to ask user if he wants to have the modelines executed
|
||||
- Add an option setting to ask the user if the modelines are to be executed
|
||||
or not. Same for .exrc in local dir.
|
||||
|
||||
|
||||
@@ -5909,7 +5924,7 @@ Writing files:
|
||||
losing the original when writing twice. (Slootman)
|
||||
7 On non-Unix machines, also overwrite the original file in some situations
|
||||
(file system full, it's a link on an NFS partition).
|
||||
7 When editing a file, check that it has been change outside of Vim more
|
||||
7 When editing a file, check that it has been changed outside of Vim more
|
||||
often, not only when writing over it. E.g., at the time the swap file is
|
||||
flushed. Or every ten seconds or so (use the time of day, check it before
|
||||
waiting for a character to be typed).
|
||||
@@ -6110,7 +6125,7 @@ Various improvements:
|
||||
regexp which triggers auto-formatting (for one line).
|
||||
":set autoformat=\\s$".
|
||||
- Be able to redefine where a sentence stops. Use a regexp pattern?
|
||||
- Support multi-byte characters for sentences. Example from Ben Peterson.
|
||||
- Support multibyte characters for sentences. Example from Ben Peterson.
|
||||
7 Add command "g)" to go to the end of a sentence, "g(" to go back to the
|
||||
end of a sentence. (Servatius Brandt)
|
||||
- Be able to redefine where a paragraph starts. For "[[" where the '{' is
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*undo.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
*undo.txt* For Vim version 8.2. Last change: 2020 Oct 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -392,7 +392,7 @@ back the text of three deletes ago with '"3P'.
|
||||
*redo-register*
|
||||
If you want to get back more than one part of deleted text, you can use a
|
||||
special feature of the repeat command ".". It will increase the number of the
|
||||
register used. So if you first do ""1P", the following "." will result in a
|
||||
register used. So if you first do '"1P', the following "." will result in a
|
||||
'"2P'. Repeating this will result in all numbered registers being inserted.
|
||||
|
||||
Example: If you deleted text with 'dd....' it can be restored with
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_03.txt* For Vim version 8.2. Last change: 2020 Feb 29
|
||||
*usr_03.txt* For Vim version 8.2. Last change: 2020 Sep 03
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -30,10 +30,11 @@ Table of contents: |usr_toc.txt|
|
||||
|
||||
To move the cursor forward one word, use the "w" command. Like most Vim
|
||||
commands, you can use a numeric prefix to move past multiple words. For
|
||||
example, "3w" moves three words. This figure shows how it works:
|
||||
example, "3w" moves three words. This figure shows how it works (starting at
|
||||
the position marked with "x"):
|
||||
|
||||
This is a line with example text ~
|
||||
--->-->->----------------->
|
||||
x-->-->->----------------->
|
||||
w w w 3w
|
||||
|
||||
Notice that "w" moves to the start of the next word if it already is at the
|
||||
@@ -41,15 +42,15 @@ start of a word.
|
||||
The "b" command moves backward to the start of the previous word:
|
||||
|
||||
This is a line with example text ~
|
||||
<----<--<-<---------<---
|
||||
<----<--<-<---------<--x
|
||||
b b b 2b b
|
||||
|
||||
There is also the "e" command that moves to the next end of a word and "ge",
|
||||
which moves to the previous end of a word:
|
||||
|
||||
This is a line with example text ~
|
||||
<- <--- -----> ---->
|
||||
ge ge e e
|
||||
<----<----x---->------------>
|
||||
2ge ge e we
|
||||
|
||||
If you are at the last word of a line, the "w" command will take you to the
|
||||
first word in the next line. Thus you can use this to move through a
|
||||
@@ -82,12 +83,12 @@ an <End> key it will do the same thing.
|
||||
|
||||
The "^" command moves to the first non-blank character of the line. The "0"
|
||||
command (zero) moves to the very first character of the line, and the <Home>
|
||||
key does the same thing. In a picture:
|
||||
key does the same thing. In a picture ("." indicates a space):
|
||||
|
||||
^
|
||||
<------------
|
||||
<-----------x
|
||||
.....This is a line with example text ~
|
||||
<----------------- --------------->
|
||||
<----------------x x-------------->
|
||||
0 $
|
||||
|
||||
(the "....." indicates blanks here)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_11.txt* For Vim version 8.2. Last change: 2020 Jul 08
|
||||
*usr_11.txt* For Vim version 8.2. Last change: 2020 Oct 25
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -294,7 +294,7 @@ If you really don't want to see this message, you can add the 'A' flag to the
|
||||
'shortmess' option. But it's very unusual that you need this.
|
||||
|
||||
For remarks about encryption and the swap file, see |:recover-crypt|.
|
||||
For programatic access to the swap file, see |swapinfo()|.
|
||||
For programmatic access to the swap file, see |swapinfo()|.
|
||||
|
||||
==============================================================================
|
||||
*11.4* Further reading
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_40.txt* For Vim version 8.2. Last change: 2020 Jul 28
|
||||
*usr_40.txt* For Vim version 8.2. Last change: 2020 Sep 02
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -453,15 +453,15 @@ matching BufWritePre autocommands and executes them, and then it
|
||||
performs the ":write".
|
||||
The general form of the :autocmd command is as follows: >
|
||||
|
||||
:autocmd [group] {events} {file-pattern} [nested] {command}
|
||||
:autocmd [group] {events} {file-pattern} [++nested] {command}
|
||||
|
||||
The [group] name is optional. It is used in managing and calling the commands
|
||||
(more on this later). The {events} parameter is a list of events (comma
|
||||
separated) that trigger the command.
|
||||
{file-pattern} is a filename, usually with wildcards. For example, using
|
||||
"*.txt" makes the autocommand be used for all files whose name end in ".txt".
|
||||
The optional [nested] flag allows for nesting of autocommands (see below), and
|
||||
finally, {command} is the command to be executed.
|
||||
The optional [++nested] flag allows for nesting of autocommands (see below),
|
||||
and finally, {command} is the command to be executed.
|
||||
|
||||
|
||||
EVENTS
|
||||
@@ -578,7 +578,7 @@ trigger any new events. If you read a file in response to a FileChangedShell
|
||||
event, it will not trigger the autocommands that would set the syntax, for
|
||||
example. To make the events triggered, add the "nested" argument: >
|
||||
|
||||
:autocmd FileChangedShell * nested edit
|
||||
:autocmd FileChangedShell * ++nested edit
|
||||
|
||||
|
||||
EXECUTING AUTOCOMMANDS
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 8.2. Last change: 2020 Jun 13
|
||||
*usr_41.txt* For Vim version 8.2. Last change: 2020 Nov 09
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -327,9 +327,9 @@ Grouping is done with parentheses. No surprises here. Example: >
|
||||
:echo (10 + 5) * 2
|
||||
< 30 ~
|
||||
|
||||
Strings can be concatenated with ".". Example: >
|
||||
Strings can be concatenated with ".." (see |expr6|). Example: >
|
||||
|
||||
:echo "foo" . "bar"
|
||||
:echo "foo" .. "bar"
|
||||
< foobar ~
|
||||
|
||||
When the ":echo" command gets multiple arguments, it separates them with a
|
||||
@@ -496,9 +496,9 @@ So far the commands in the script were executed by Vim directly. The
|
||||
very powerful way to build commands and execute them.
|
||||
An example is to jump to a tag, which is contained in a variable: >
|
||||
|
||||
:execute "tag " . tag_name
|
||||
:execute "tag " .. tag_name
|
||||
|
||||
The "." is used to concatenate the string "tag " with the value of variable
|
||||
The ".." is used to concatenate the string "tag " with the value of variable
|
||||
"tag_name". Suppose "tag_name" has the value "get_cmd", then the command that
|
||||
will be executed is: >
|
||||
|
||||
@@ -514,7 +514,7 @@ This jumps to the first line and formats all lines with the "=" operator.
|
||||
To make ":normal" work with an expression, combine ":execute" with it.
|
||||
Example: >
|
||||
|
||||
:execute "normal " . normal_commands
|
||||
:execute "normal " .. normal_commands
|
||||
|
||||
The variable "normal_commands" must contain the Normal mode commands.
|
||||
Make sure that the argument for ":normal" is a complete command. Otherwise
|
||||
@@ -531,12 +531,12 @@ If you don't want to execute a string but evaluate it to get its expression
|
||||
value, you can use the eval() function: >
|
||||
|
||||
:let optname = "path"
|
||||
:let optval = eval('&' . optname)
|
||||
:let optval = eval('&' .. optname)
|
||||
|
||||
A "&" character is prepended to "path", thus the argument to eval() is
|
||||
"&path". The result will then be the value of the 'path' option.
|
||||
The same thing can be done with: >
|
||||
:exe 'let optval = &' . optname
|
||||
:exe 'let optval = &' .. optname
|
||||
|
||||
==============================================================================
|
||||
*41.6* Using functions
|
||||
@@ -600,8 +600,11 @@ String manipulation: *string-functions*
|
||||
strtrans() translate a string to make it printable
|
||||
tolower() turn a string to lowercase
|
||||
toupper() turn a string to uppercase
|
||||
charclass() class of a character
|
||||
match() position where a pattern matches in a string
|
||||
matchend() position where a pattern match ends in a string
|
||||
matchfuzzy() fuzzy matches a string in a list of strings
|
||||
matchfuzzypos() fuzzy matches a string in a list of strings
|
||||
matchstr() match of a pattern in a string
|
||||
matchstrpos() match and positions of a pattern in a string
|
||||
matchlist() like matchstr() and also return submatches
|
||||
@@ -611,6 +614,7 @@ String manipulation: *string-functions*
|
||||
strchars() length of a string in characters
|
||||
strwidth() size of string when displayed
|
||||
strdisplaywidth() size of string when displayed, deals with tabs
|
||||
setcellwidths() set character cell width overrides
|
||||
substitute() substitute a pattern match with a string
|
||||
submatch() get a specific match in ":s" and substitute()
|
||||
strpart() get part of a string using byte index
|
||||
@@ -626,6 +630,7 @@ String manipulation: *string-functions*
|
||||
execute() execute an Ex command and get the output
|
||||
win_execute() like execute() but in a specified window
|
||||
trim() trim characters from a string
|
||||
gettext() lookup message translation
|
||||
|
||||
List manipulation: *list-functions*
|
||||
get() get an item without error for wrong index
|
||||
@@ -639,6 +644,7 @@ List manipulation: *list-functions*
|
||||
deepcopy() make a full copy of a List
|
||||
filter() remove selected items from a List
|
||||
map() change each List item
|
||||
mapnew() make a new List with changed items
|
||||
reduce() reduce a List to a value
|
||||
sort() sort a List
|
||||
reverse() reverse the order of a List
|
||||
@@ -664,6 +670,7 @@ Dictionary manipulation: *dict-functions*
|
||||
extend() add entries from one Dictionary to another
|
||||
filter() remove selected entries from a Dictionary
|
||||
map() change each Dictionary entry
|
||||
mapnew() make a new Dictionary with changed items
|
||||
keys() get List of Dictionary keys
|
||||
values() get List of Dictionary values
|
||||
items() get List of Dictionary key-value pairs
|
||||
@@ -1115,6 +1122,7 @@ Tags: *tag-functions*
|
||||
settagstack() modify the tag stack of a window
|
||||
|
||||
Prompt Buffer: *promptbuffer-functions*
|
||||
prompt_getprompt() get the effective prompt text for a buffer
|
||||
prompt_setcallback() set prompt callback for a buffer
|
||||
prompt_setinterrupt() set interrupt callback for a buffer
|
||||
prompt_setprompt() set the prompt text for a buffer
|
||||
@@ -1284,7 +1292,7 @@ Example: >
|
||||
: let n = n + len(split(getline(lnum)))
|
||||
: let lnum = lnum + 1
|
||||
: endwhile
|
||||
: echo "found " . n . " words"
|
||||
: echo "found " .. n .. " words"
|
||||
:endfunction
|
||||
|
||||
You can call this function with: >
|
||||
@@ -1297,7 +1305,7 @@ It will be executed once and echo the number of words.
|
||||
range, with the cursor in that line. Example: >
|
||||
|
||||
:function Number()
|
||||
: echo "line " . line(".") . " contains: " . getline(".")
|
||||
: echo "line " .. line(".") .. " contains: " .. getline(".")
|
||||
:endfunction
|
||||
|
||||
If you call this function with: >
|
||||
@@ -1321,11 +1329,11 @@ so on. The variable "a:0" contains the number of extra arguments.
|
||||
|
||||
:function Show(start, ...)
|
||||
: echohl Title
|
||||
: echo "start is " . a:start
|
||||
: echo "start is " .. a:start
|
||||
: echohl None
|
||||
: let index = 1
|
||||
: while index <= a:0
|
||||
: echo " Arg " . index . " is " . a:{index}
|
||||
: echo " Arg " .. index .. " is " .. a:{index}
|
||||
: let index = index + 1
|
||||
: endwhile
|
||||
: echo ""
|
||||
@@ -1733,10 +1741,10 @@ Another useful mechanism is the ":finally" command: >
|
||||
|
||||
:let tmp = tempname()
|
||||
:try
|
||||
: exe ".,$write " . tmp
|
||||
: exe "!filter " . tmp
|
||||
: exe ".,$write " .. tmp
|
||||
: exe "!filter " .. tmp
|
||||
: .,$delete
|
||||
: exe "$read " . tmp
|
||||
: exe "$read " .. tmp
|
||||
:finally
|
||||
: call delete(tmp)
|
||||
:endtry
|
||||
@@ -2044,9 +2052,9 @@ for this mapping, but the user might already use it for something else. To
|
||||
allow the user to define which keys a mapping in a plugin uses, the <Leader>
|
||||
item can be used: >
|
||||
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd;
|
||||
|
||||
The "<Plug>TypecorrAdd" thing will do the work, more about that further on.
|
||||
The "<Plug>TypecorrAdd;" thing will do the work, more about that further on.
|
||||
|
||||
The user can set the "mapleader" variable to the key sequence that he wants
|
||||
this mapping to start with. Thus if the user has done: >
|
||||
@@ -2062,15 +2070,15 @@ already happened to exist. |:map-<unique>|
|
||||
But what if the user wants to define his own key sequence? We can allow that
|
||||
with this mechanism: >
|
||||
|
||||
21 if !hasmapto('<Plug>TypecorrAdd')
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd
|
||||
21 if !hasmapto('<Plug>TypecorrAdd;')
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd;
|
||||
23 endif
|
||||
|
||||
This checks if a mapping to "<Plug>TypecorrAdd" already exists, and only
|
||||
This checks if a mapping to "<Plug>TypecorrAdd;" already exists, and only
|
||||
defines the mapping from "<Leader>a" if it doesn't. The user then has a
|
||||
chance of putting this in his vimrc file: >
|
||||
|
||||
map ,c <Plug>TypecorrAdd
|
||||
map ,c <Plug>TypecorrAdd;
|
||||
|
||||
Then the mapped key sequence will be ",c" instead of "_a" or "\a".
|
||||
|
||||
@@ -2087,8 +2095,8 @@ prepending it with "s:".
|
||||
We will define a function that adds a new typing correction: >
|
||||
|
||||
30 function s:Add(from, correct)
|
||||
31 let to = input("type the correction for " . a:from . ": ")
|
||||
32 exe ":iabbrev " . a:from . " " . to
|
||||
31 let to = input("type the correction for " .. a:from .. ": ")
|
||||
32 exe ":iabbrev " .. a:from .. " " .. to
|
||||
..
|
||||
36 endfunction
|
||||
|
||||
@@ -2100,15 +2108,15 @@ function (without the "s:"), which is again another function.
|
||||
<SID> can be used with mappings. It generates a script ID, which identifies
|
||||
the current script. In our typing correction plugin we use it like this: >
|
||||
|
||||
24 noremap <unique> <script> <Plug>TypecorrAdd <SID>Add
|
||||
24 noremap <unique> <script> <Plug>TypecorrAdd; <SID>Add
|
||||
..
|
||||
28 noremap <SID>Add :call <SID>Add(expand("<cword>"), 1)<CR>
|
||||
|
||||
Thus when a user types "\a", this sequence is invoked: >
|
||||
|
||||
\a -> <Plug>TypecorrAdd -> <SID>Add -> :call <SID>Add()
|
||||
\a -> <Plug>TypecorrAdd; -> <SID>Add -> :call <SID>Add()
|
||||
|
||||
If another script was also map <SID>Add, it would get another script ID and
|
||||
If another script also maps <SID>Add, it will get another script ID and
|
||||
thus define another mapping.
|
||||
|
||||
Note that instead of s:Add() we use <SID>Add() here. That is because the
|
||||
@@ -2149,9 +2157,9 @@ difference between using <SID> and <Plug>:
|
||||
To make it very unlikely that other plugins use the same sequence of
|
||||
characters, use this structure: <Plug> scriptname mapname
|
||||
In our example the scriptname is "Typecorr" and the mapname is "Add".
|
||||
This results in "<Plug>TypecorrAdd". Only the first character of
|
||||
scriptname and mapname is uppercase, so that we can see where mapname
|
||||
starts.
|
||||
We add a semicolon as the terminator. This results in
|
||||
"<Plug>TypecorrAdd;". Only the first character of scriptname and
|
||||
mapname is uppercase, so that we can see where mapname starts.
|
||||
|
||||
<SID> is the script ID, a unique identifier for a script.
|
||||
Internally Vim translates <SID> to "<SNR>123_", where "123" can be any
|
||||
@@ -2193,7 +2201,7 @@ a few lines to count the number of corrections: >
|
||||
30 function s:Add(from, correct)
|
||||
..
|
||||
34 let s:count = s:count + 1
|
||||
35 echo s:count . " corrections now"
|
||||
35 echo s:count .. " corrections now"
|
||||
36 endfunction
|
||||
|
||||
First s:count is initialized to 4 in the script itself. When later the
|
||||
@@ -2226,21 +2234,21 @@ Here is the resulting complete example: >
|
||||
18 \ synchronization
|
||||
19 let s:count = 4
|
||||
20
|
||||
21 if !hasmapto('<Plug>TypecorrAdd')
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd
|
||||
21 if !hasmapto('<Plug>TypecorrAdd;')
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd;
|
||||
23 endif
|
||||
24 noremap <unique> <script> <Plug>TypecorrAdd <SID>Add
|
||||
24 noremap <unique> <script> <Plug>TypecorrAdd; <SID>Add
|
||||
25
|
||||
26 noremenu <script> Plugin.Add\ Correction <SID>Add
|
||||
27
|
||||
28 noremap <SID>Add :call <SID>Add(expand("<cword>"), 1)<CR>
|
||||
29
|
||||
30 function s:Add(from, correct)
|
||||
31 let to = input("type the correction for " . a:from . ": ")
|
||||
32 exe ":iabbrev " . a:from . " " . to
|
||||
31 let to = input("type the correction for " .. a:from .. ": ")
|
||||
32 exe ":iabbrev " .. a:from .. " " .. to
|
||||
33 if a:correct | exe "normal viws\<C-R>\" \b\e" | endif
|
||||
34 let s:count = s:count + 1
|
||||
35 echo s:count . " corrections now"
|
||||
35 echo s:count .. " corrections now"
|
||||
36 endfunction
|
||||
37
|
||||
38 if !exists(":Correct")
|
||||
@@ -2279,7 +2287,7 @@ Here is a simple example for a plugin help file, called "typecorr.txt": >
|
||||
6 There are currently only a few corrections. Add your own if you like.
|
||||
7
|
||||
8 Mappings:
|
||||
9 <Leader>a or <Plug>TypecorrAdd
|
||||
9 <Leader>a or <Plug>TypecorrAdd;
|
||||
10 Add a correction for the word under the cursor.
|
||||
11
|
||||
12 Commands:
|
||||
@@ -2417,13 +2425,13 @@ To make sure mappings will only work in the current buffer use the >
|
||||
command. This needs to be combined with the two-step mapping explained above.
|
||||
An example of how to define functionality in a filetype plugin: >
|
||||
|
||||
if !hasmapto('<Plug>JavaImport')
|
||||
map <buffer> <unique> <LocalLeader>i <Plug>JavaImport
|
||||
if !hasmapto('<Plug>JavaImport;')
|
||||
map <buffer> <unique> <LocalLeader>i <Plug>JavaImport;
|
||||
endif
|
||||
noremap <buffer> <unique> <Plug>JavaImport oimport ""<Left><Esc>
|
||||
noremap <buffer> <unique> <Plug>JavaImport; oimport ""<Left><Esc>
|
||||
|
||||
|hasmapto()| is used to check if the user has already defined a map to
|
||||
<Plug>JavaImport. If not, then the filetype plugin defines the default
|
||||
<Plug>JavaImport;. If not, then the filetype plugin defines the default
|
||||
mapping. This starts with |<LocalLeader>|, which allows the user to select
|
||||
the key(s) he wants filetype plugin mappings to start with. The default is a
|
||||
backslash.
|
||||
@@ -2440,12 +2448,12 @@ plugin for the mail filetype: >
|
||||
" Add mappings, unless the user didn't want this.
|
||||
if !exists("no_plugin_maps") && !exists("no_mail_maps")
|
||||
" Quote text by inserting "> "
|
||||
if !hasmapto('<Plug>MailQuote')
|
||||
vmap <buffer> <LocalLeader>q <Plug>MailQuote
|
||||
nmap <buffer> <LocalLeader>q <Plug>MailQuote
|
||||
if !hasmapto('<Plug>MailQuote;')
|
||||
vmap <buffer> <LocalLeader>q <Plug>MailQuote;
|
||||
nmap <buffer> <LocalLeader>q <Plug>MailQuote;
|
||||
endif
|
||||
vnoremap <buffer> <Plug>MailQuote :s/^/> /<CR>
|
||||
nnoremap <buffer> <Plug>MailQuote :.,$s/^/> /<CR>
|
||||
vnoremap <buffer> <Plug>MailQuote; :s/^/> /<CR>
|
||||
nnoremap <buffer> <Plug>MailQuote; :.,$s/^/> /<CR>
|
||||
endif
|
||||
|
||||
Two global variables are used:
|
||||
@@ -2488,7 +2496,7 @@ should be undone. Set the b:undo_ftplugin variable to the commands that will
|
||||
undo the settings in your filetype plugin. Example: >
|
||||
|
||||
let b:undo_ftplugin = "setlocal fo< com< tw< commentstring<"
|
||||
\ . "| unlet b:match_ignorecase b:match_words b:match_skip"
|
||||
\ .. "| unlet b:match_ignorecase b:match_words b:match_skip"
|
||||
|
||||
Using ":setlocal" with "<" after the option name resets the option to its
|
||||
global value. That is mostly the best way to reset the option value.
|
||||
@@ -2609,17 +2617,17 @@ The following example shows how it's done: >
|
||||
map <F19> :call BufNetWrite('something')<CR>
|
||||
|
||||
let s:did_load = 1
|
||||
exe 'au FuncUndefined BufNet* source ' . expand('<sfile>')
|
||||
exe 'au FuncUndefined BufNet* source ' .. expand('<sfile>')
|
||||
finish
|
||||
endif
|
||||
|
||||
function BufNetRead(...)
|
||||
echo 'BufNetRead(' . string(a:000) . ')'
|
||||
echo 'BufNetRead(' .. string(a:000) .. ')'
|
||||
" read functionality here
|
||||
endfunction
|
||||
|
||||
function BufNetWrite(...)
|
||||
echo 'BufNetWrite(' . string(a:000) . ')'
|
||||
echo 'BufNetWrite(' .. string(a:000) .. ')'
|
||||
" write functionality here
|
||||
endfunction
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 8.2. Last change: 2020 Jul 10
|
||||
*various.txt* For Vim version 8.2. Last change: 2020 Nov 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -92,7 +92,7 @@ g8 Print the hex values of the bytes used in the
|
||||
encoding because it contains illegal bytes.
|
||||
Does not wrap around the end of the file.
|
||||
Note that when the cursor is on an illegal byte or the
|
||||
cursor is halfway a multi-byte character the command
|
||||
cursor is halfway a multibyte character the command
|
||||
won't move the cursor.
|
||||
|
||||
*:p* *:pr* *:print* *E749*
|
||||
@@ -142,19 +142,21 @@ g8 Print the hex values of the bytes used in the
|
||||
quit
|
||||
<
|
||||
*:z* *E144*
|
||||
:{range}z[+-^.=]{count} Display several lines of text surrounding the line
|
||||
specified with {range}, or around the current line
|
||||
if there is no {range}. If there is a {count}, that's
|
||||
how many lines you'll see; if there is only one window
|
||||
then twice the value of the 'scroll' option is used,
|
||||
otherwise the current window height minus 3 is used.
|
||||
:[range]z[+-^.=][count] Display several lines of text surrounding the line
|
||||
specified with [range], or around the current line
|
||||
if there is no [range].
|
||||
|
||||
If there is a {count} the 'window' option is set to
|
||||
If there is a [count], that's how many lines you'll
|
||||
see; if there is no [count] and only one window then
|
||||
twice the value of the 'scroll' option is used,
|
||||
otherwise the current window height minus 3 is used.
|
||||
This is the value of "scr" in the table below.
|
||||
|
||||
If there is a [count] the 'window' option is set to
|
||||
its value.
|
||||
|
||||
:z can be used either alone or followed by any of
|
||||
several punctuation marks. These have the following
|
||||
effect:
|
||||
several marks. These have the following effect:
|
||||
|
||||
mark first line last line new cursor line ~
|
||||
---- ---------- --------- ------------
|
||||
@@ -168,7 +170,7 @@ g8 Print the hex values of the bytes used in the
|
||||
If the mark is "=", a line of dashes is printed
|
||||
around the current line.
|
||||
|
||||
:{range}z#[+-^.=]{count} *:z#*
|
||||
:[range]z#[+-^.=][count] *:z#*
|
||||
Like ":z", but number the lines.
|
||||
|
||||
*:=*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version5.txt* For Vim version 8.2. Last change: 2016 Feb 27
|
||||
*version5.txt* For Vim version 8.2. Last change: 2020 Sep 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -2133,12 +2133,12 @@ it is invoked.
|
||||
Deleted the "os_archie" files, they were not working anyway.
|
||||
|
||||
|
||||
Multi-byte support *new-multi-byte*
|
||||
Multi-byte support *new-multi-byte* *new-multibyte*
|
||||
------------------
|
||||
|
||||
MultiByte support for Win32 GUI. (Baek)
|
||||
The 'fileencoding' option decides how the text in the file is encoded.
|
||||
":ascii" works for multi-byte characters. Multi-byte characters work on
|
||||
":ascii" works for multibyte characters. Multi-byte characters work on
|
||||
Windows 95, even when using the US version. (Aaron)
|
||||
Needs to be enabled in feature.h.
|
||||
This has not been tested much yet!
|
||||
@@ -3671,10 +3671,10 @@ For the ":clist" command, you can scroll backwards with "b" (one screenful),
|
||||
"u" (half a screenful) and "k" (one line).
|
||||
|
||||
Multi-byte support:
|
||||
- X-input method for multi-byte characters. And various fixes for multi-byte
|
||||
- X-input method for multibyte characters. And various fixes for multibyte
|
||||
support. (Nam)
|
||||
- Hangul input method feature: |hangul|. (Nam)
|
||||
- Cleaned up configuration of multi-byte support, XIM, fontset and Hangul
|
||||
- Cleaned up configuration of multibyte support, XIM, fontset and Hangul
|
||||
input. Each is now configurable separately.
|
||||
- Changed check for GTK_KEYBOARD to HANGUL_KEYBOARD_TYPE. (Nam)
|
||||
- Added doc/hangulin.txt: Documentation for the Hangul input code. (Nam)
|
||||
@@ -3682,10 +3682,10 @@ Multi-byte support:
|
||||
- First attempt to include support for SJIS encoding. (Nagano)
|
||||
- When a double-byte character doesn't fit at the end of the line, put a "~"
|
||||
there and print it on the next line.
|
||||
- Optimize output of multi-byte text. (Park)
|
||||
- Optimize output of multibyte text. (Park)
|
||||
- Win32 IME: preedit style is like over-the-spot. (Nagano)
|
||||
- Win32 IME: IME mode change now done with ImmSetOpenStatus. (Nagano)
|
||||
- GUI Athena: file selection dialog can display multi-byte characters.
|
||||
- GUI Athena: file selection dialog can display multibyte characters.
|
||||
(Nagano)
|
||||
- Selection reply for XA_TEXT as XA_STRING. (Nagano)
|
||||
|
||||
@@ -3720,7 +3720,7 @@ X11:
|
||||
with the VisualNOS group to show this. (Madsen)
|
||||
- Support for requesting the type of clipboard support. Used for AIX and
|
||||
dtterm. (Wittig)
|
||||
- Support compound_text selection (even when compiled without multi-byte).
|
||||
- Support compound_text selection (even when compiled without multibyte).
|
||||
|
||||
Swap file:
|
||||
- New variation for naming swap files: Replace path separators into %, place
|
||||
@@ -4063,7 +4063,7 @@ compiling pathdef.c. Replaced it with "tr".
|
||||
|
||||
Perl: DO_JOIN was redefined by Perl. Undefined it in the perl files.
|
||||
|
||||
Various XIM and multi-byte fixes:
|
||||
Various XIM and multibyte fixes:
|
||||
- Fix user cannot see his language while he is typing his language with
|
||||
off-the-spot method. (Nagano)
|
||||
- Fix preedit position using text/edit area (using gui.wid). (Nagano)
|
||||
@@ -4080,7 +4080,7 @@ Various XIM and multi-byte fixes:
|
||||
- XIM: Composed strings were sometimes ignored. Vim crashed when compose
|
||||
string was longer than 256 bytes. IM's geometry control is fixed. (Nam,
|
||||
Nagano)
|
||||
- Win32 multi-byte: hollowed cursor width on a double byte char was wrong.
|
||||
- Win32 multibyte: hollowed cursor width on a double byte char was wrong.
|
||||
(Nagano)
|
||||
- When there is no GUI, selecting XIM caused compilation problems.
|
||||
Automatically disable XIM when there is no GUI in configure.
|
||||
@@ -4417,7 +4417,7 @@ Now map <xF4> to <F4>, so that the user can override this.
|
||||
When compiling os_win32.c with MIN_FEAT the apply_autocmds() should not be
|
||||
used. (Aaron)
|
||||
|
||||
This autocommand looped forever: ":au FileChangedShell * nested e <afile>"
|
||||
This autocommand looped forever: ":au FileChangedShell * ++nested e <afile>"
|
||||
Now FileChangeShell never nests. (Roemer)
|
||||
|
||||
When evaluating an ":elseif" that was not going to matter anyway, ignore
|
||||
@@ -5496,7 +5496,7 @@ Solution: When there is a comment leader for the new line, but 'autoindent'
|
||||
Files: src/misc1.c
|
||||
|
||||
Patch 5.4.26
|
||||
Problem: Multi-byte: a multi-byte character is never recognized in a file
|
||||
Problem: Multi-byte: a multibyte character is never recognized in a file
|
||||
name, causing a backslash before it to be removed on Windows.
|
||||
Solution: Assume that a leading-byte character is a file name character in
|
||||
vim_isfilec().
|
||||
@@ -5945,7 +5945,7 @@ __TIME__. (John Card II)
|
||||
BeOS: Adjust computing the char_height and char_ascent. Round them up
|
||||
separately, avoids redrawing artifacts. (Mike Steed)
|
||||
|
||||
Fix a few multi-byte problems in menu_name_skip(), set_reg_ic(), searchc() and
|
||||
Fix a few multibyte problems in menu_name_skip(), set_reg_ic(), searchc() and
|
||||
findmatchlimit(). (Taro Muraoka)
|
||||
|
||||
GTK GUI:
|
||||
@@ -6631,9 +6631,9 @@ Solution: Use a shell extension dll. (Tianmiao Hu)
|
||||
Files: src/dosinst.c, src/uninstal.c, gvimext/*, runtime/doc/gui_w32.txt
|
||||
|
||||
Patch 5.6a.028 (extra)
|
||||
Problem: Win32 GUI: Dialogs and tear-off menus can't handle multi-byte
|
||||
Problem: Win32 GUI: Dialogs and tear-off menus can't handle multibyte
|
||||
characters.
|
||||
Solution: Adjust nCopyAnsiToWideChar() to handle multi-byte characters
|
||||
Solution: Adjust nCopyAnsiToWideChar() to handle multibyte characters
|
||||
correctly.
|
||||
Files: src/gui_w32.c
|
||||
|
||||
@@ -6727,9 +6727,9 @@ Many fixes to Macintosh specific parts: (mostly by Dany StAmant)
|
||||
- Add digraphs table. (Axel Kielhorn)
|
||||
- Multi-byte support: (Kenichi Asai)
|
||||
Switch keyscript when going in/out of Insert mode.
|
||||
Draw multi-byte character correctly.
|
||||
Don't use mblen() but highest bit of char to detect multi-byte char.
|
||||
Display value of multi-byte in statusline (also for other systems).
|
||||
Draw multibyte character correctly.
|
||||
Don't use mblen() but highest bit of char to detect multibyte char.
|
||||
Display value of multibyte in statusline (also for other systems).
|
||||
- mouse button was not initialized properly to MOUSE_LEFT when
|
||||
USE_CTRLCLICKMENU not defined.
|
||||
- With Japanese SJIS characters: Make "w", "b", and "e" work
|
||||
@@ -6981,7 +6981,7 @@ Solution: Support TEXT and COMPOUND_TEXT selection targets. (ChiDeok Hwang)
|
||||
Files: src/gui_gtk_x11.c
|
||||
|
||||
Patch 5.6.037
|
||||
Problem: Multi-byte: Can't use "f" command with multi-byte character in GUI.
|
||||
Problem: Multi-byte: Can't use "f" command with multibyte character in GUI.
|
||||
Solution: Enable XIM in Normal mode for the GUI. (Sung-Hyun Nam)
|
||||
Files: src/gui_gtk_x11.c, src/multbyte.c
|
||||
|
||||
@@ -7094,7 +7094,7 @@ Files: src/fileio.c, src/tag.c
|
||||
Patch 5.6.052
|
||||
Problem: Multi-byte: When an Ex command has a '|' or '"' as a second byte,
|
||||
it terminates the command.
|
||||
Solution: Skip second byte of multi-byte char when checking for '|' and '"'.
|
||||
Solution: Skip second byte of multibyte char when checking for '|' and '"'.
|
||||
(Asai Kenichi)
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
@@ -7246,7 +7246,7 @@ Files: src/Makefile.bor, src/dosinst.c
|
||||
|
||||
Patch 5.6.074 (extra)
|
||||
Problem: Entering CSI directly doesn't always work, because it's recognized
|
||||
as the start of a special key. Mostly a problem with multi-byte
|
||||
as the start of a special key. Mostly a problem with multibyte
|
||||
in the GUI.
|
||||
Solution: Use K_CSI for a typed CSI character. Use <CSI> for a normal CSI,
|
||||
<xCSI> for a CSI typed in the GUI.
|
||||
@@ -7337,7 +7337,7 @@ Solution: Use IsBadStringPtr() to check if the pointer is valid.
|
||||
Files: src/os_win32.c
|
||||
|
||||
Patch 5.6.087
|
||||
Problem: Multi-byte: Commands and messages with multi-byte characters are
|
||||
Problem: Multi-byte: Commands and messages with multibyte characters are
|
||||
displayed wrong.
|
||||
Solution: Detect double-byte characters. (Yasuhiro Matsumoto)
|
||||
Files: src/ex_getln.c, src/message.c, src/misc2.c, src/screen.c
|
||||
@@ -7384,9 +7384,9 @@ Solution: Don't write a message about the file read from stdin until the GUI
|
||||
Files: src/fileio.c
|
||||
|
||||
Patch 5.6.094
|
||||
Problem: Problem with multi-byte string for ":echo var".
|
||||
Problem: Problem with multibyte string for ":echo var".
|
||||
Solution: Check for length in msg_outtrans_len_attr(). (Sung-Hyun Nam)
|
||||
Also make do_echo() aware of multi-byte characters.
|
||||
Also make do_echo() aware of multibyte characters.
|
||||
Files: src/eval.c, src/message.c
|
||||
|
||||
Patch 5.6.095
|
||||
@@ -7417,9 +7417,9 @@ Files: src/misc1.c
|
||||
|
||||
Patch 5.7a.003
|
||||
Problem: Multi-byte: After using CTRL-O in Insert mode with the cursor at
|
||||
the end of the line on a multi-byte character the cursor moves to
|
||||
the end of the line on a multibyte character the cursor moves to
|
||||
the left.
|
||||
Solution: Check for multi-byte character at end-of-line. (Taro Muraoka)
|
||||
Solution: Check for multibyte character at end-of-line. (Taro Muraoka)
|
||||
Also: fix cls() to detect a double-byte character. (Chong-Dae Park)
|
||||
Files: src/edit.c, src/search.c
|
||||
|
||||
@@ -7736,7 +7736,7 @@ Solution: Disallow executing a shell command in get_cmd_output() and
|
||||
Files: src/misc1.c, src/os_unix.c
|
||||
|
||||
Patch 5.7.019
|
||||
Problem: Multibyte: In a substitute string, a multi-byte character isn't
|
||||
Problem: Multibyte: In a substitute string, a multibyte character isn't
|
||||
skipped properly, can be a problem when the second byte is a
|
||||
backslash.
|
||||
Solution: Skip an extra byte for a double-byte character. (Muraoka Taro)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version6.txt* For Vim version 8.2. Last change: 2019 Jan 17
|
||||
*version6.txt* For Vim version 8.2. Last change: 2020 Aug 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -449,7 +449,7 @@ The help window is opened at the top, like ":topleft" was used, if the current
|
||||
window is fewer than 80 characters wide.
|
||||
|
||||
A few options can be used to set the preferences for vertically split windows.
|
||||
They work similar to their existing horizontal equivalents:
|
||||
They work similarly to their existing horizontal equivalents:
|
||||
horizontal vertical ~
|
||||
'splitbelow' 'splitright'
|
||||
'winheight' 'winwidth'
|
||||
@@ -623,7 +623,7 @@ For syntax items:
|
||||
|
||||
Removed limit of matching only up to 32767 times with *, \+, etc.
|
||||
|
||||
Added support to match multi-byte characters. (partly by Muraoka Taro)
|
||||
Added support to match multibyte characters. (partly by Muraoka Taro)
|
||||
Made "\<" and "\>" work for UTF-8. (Muraoka Taro)
|
||||
|
||||
|
||||
@@ -664,10 +664,10 @@ Many new items for Multi-byte support:
|
||||
- Added 'guifontwide' to specify a font for double-wide characters.
|
||||
- Added Korean support for character class detection. Also fix cls() in
|
||||
search.c. (Chong-Dae Park)
|
||||
- Win32: Typing multi-byte characters without IME. (Alexander Smishlajev)
|
||||
- Win32: Typing multibyte characters without IME. (Alexander Smishlajev)
|
||||
- Win32 with Mingw: compile with iconv library. (Ron Aaron)
|
||||
- Win32 with MSVC: dynamically load iconv.dll library. (Muraoka Taro)
|
||||
- Make it possible to build a version with multi-byte and iconv support with
|
||||
- Make it possible to build a version with multibyte and iconv support with
|
||||
Borland 5.5. (Yasuhiro Matsumoto)
|
||||
- Added 'delcombine' option: Delete combining character separately. (Ron
|
||||
Aaron)
|
||||
@@ -680,19 +680,19 @@ Many new items for Multi-byte support:
|
||||
- Support "CursorIM" for XIM. (Nam SungHyun)
|
||||
- Added 'm' flag to 'formatoptions': When wrapping words, allow splitting at
|
||||
each multibyte character, not only at a space.
|
||||
- Made ":syntax keyword" work with multi-byte characters.
|
||||
- Made ":syntax keyword" work with multibyte characters.
|
||||
- Added support for Unicode upper/lowercase flipping and comparing. (based on
|
||||
patch by Raphael Finkel)
|
||||
Let "~" on multi-byte characters that have a third case ("title case")
|
||||
Let "~" on multibyte characters that have a third case ("title case")
|
||||
switch between the three cases. (Raphael Finkel)
|
||||
|
||||
Allow defining digraphs for multi-byte characters.
|
||||
Allow defining digraphs for multibyte characters.
|
||||
Added RFC1345 digraphs for Unicode.
|
||||
Most Normal mode commands that accept a character argument, like "r", "t" and
|
||||
"f" now accept a digraph. The 'D' flag in 'cpoptions' disables this to remain
|
||||
Vi compatible.
|
||||
|
||||
Added Language mapping and 'keymap' to be able to type multi-byte characters:
|
||||
Added Language mapping and 'keymap' to be able to type multibyte characters:
|
||||
- Added the ":lmap" command and friends: Define mappings that are used when
|
||||
typing characters in the language of the text. Also for "r", "t", etc. In
|
||||
Insert and Command-line mode CTRL-^ switches the use of the mappings on/off.
|
||||
@@ -715,7 +715,7 @@ Added Language mapping and 'keymap' to be able to type multi-byte characters:
|
||||
- When typing a mapping that's not finished yet, display the last character
|
||||
under the cursor in Insert mode and Command-line mode. Looks good for dead
|
||||
characters.
|
||||
- Made the 'langmap' option recognize multi-byte characters. But mapping only
|
||||
- Made the 'langmap' option recognize multibyte characters. But mapping only
|
||||
works for 8-bit characters. Helps when using UTF-8.
|
||||
- Use a different cursor for when ":lmap" mappings are active. Can specify
|
||||
two highlight groups for an item in 'guicursor'. By default "lCursor" and
|
||||
@@ -726,7 +726,7 @@ Added Language mapping and 'keymap' to be able to type multi-byte characters:
|
||||
Also works for "f", which now works to find a character that includes a
|
||||
composing character.
|
||||
|
||||
Other multi-byte character additions:
|
||||
Other multibyte character additions:
|
||||
- Support double-byte single-width characters for euc-jp: Characters starting
|
||||
with 0x8E. Added ScreenLines2[] to store the second byte.
|
||||
|
||||
@@ -1004,7 +1004,7 @@ systems a PostScript file is generated, which can be printed with the
|
||||
(MS-Windows part by Vince Negri, Vipin Aravind, PostScript by Vince Negri and
|
||||
Mike Williams)
|
||||
|
||||
Made ":hardcopy" work with multi-byte characters. (Muraoka Taro, Yasuhiro
|
||||
Made ":hardcopy" work with multibyte characters. (Muraoka Taro, Yasuhiro
|
||||
Matsumoto)
|
||||
|
||||
Added options to tune the way printing works: (Vince Negri)
|
||||
@@ -1331,7 +1331,7 @@ eventhandler() Returns 1 when inside an event handler and interactive
|
||||
executable() Checks if a program or batch script can be executed.
|
||||
filewritable() Checks if a file can be written. (Ron Aaron)
|
||||
foldclosed() Find out if there is a closed fold. (Johannes Zellner).
|
||||
foldcloseend() Find the end of a closed fold.
|
||||
foldclosedend() Find the end of a closed fold.
|
||||
foldlevel() Find out the foldlevel. (Johannes Zellner)
|
||||
foreground() Move the GUI window to the foreground.
|
||||
getchar() Get one character from the user. Can be used to define a
|
||||
@@ -1703,7 +1703,7 @@ GUI:
|
||||
- Win32: Added "c" flag to 'guifont' to be able to specify the charset. (Artem
|
||||
Khodush)
|
||||
- When no --enable-xim argument is given, automatically enable it when a X GUI
|
||||
is used. Required for dead key support (and multi-byte input).
|
||||
is used. Required for dead key support (and multibyte input).
|
||||
- After a file selection dialog, check that the edited files were not changed
|
||||
or deleted. The Win32 dialog allows deleting and renaming files.
|
||||
- Motif and Athena: Added support for "editres". (Marcin Dalecki)
|
||||
@@ -2025,8 +2025,8 @@ Timestamps:
|
||||
file that steadily grows.
|
||||
|
||||
Mapping <M-A> when 'encoding' is "latin1" and then setting 'encoding' to
|
||||
"utf-8" causes the first byte of a multi-byte to be mapped. Can cause very
|
||||
hard to find problems. Disallow mapping part of a multi-byte character.
|
||||
"utf-8" causes the first byte of a multibyte to be mapped. Can cause very
|
||||
hard to find problems. Disallow mapping part of a multibyte character.
|
||||
|
||||
For ":python" and ":tcl" accept an in-line script. (Johannes Zellner)
|
||||
Also for ":ruby" and ":perl". (Benoit Cerrina)
|
||||
@@ -2467,7 +2467,7 @@ Motif: When adding many menu items, the "Help" menu disappeared but the
|
||||
menubar didn't wrap. Now manually set the menubar height.
|
||||
|
||||
When using <BS> in Insert mode to remove a line break, or using "J" to join
|
||||
lines, the cursor could end up halfway a multi-byte character. (Muraoka Taro)
|
||||
lines, the cursor could end up halfway a multibyte character. (Muraoka Taro)
|
||||
|
||||
Removed defining SVR4 in configure. It causes problems for some X header
|
||||
files and doesn't appear to be used anywhere.
|
||||
@@ -2617,12 +2617,12 @@ column. Can't encode a larger number in a character. Now limit the number to
|
||||
222, don't jump back to the first column.
|
||||
|
||||
GUI: In some versions CSI would cause trouble, either when typed directly or
|
||||
when part of a multi-byte sequence.
|
||||
when part of a multibyte sequence.
|
||||
|
||||
When using multibyte characters in a ":normal" command, a trailing byte that
|
||||
is CSI or K_SPECIAL caused problems.
|
||||
|
||||
Wildmenu didn't handle multi-byte characters.
|
||||
Wildmenu didn't handle multibyte characters.
|
||||
|
||||
":sleep 10" could not be interrupted on Windows, while "gs" could. Made them
|
||||
both work the same.
|
||||
@@ -2673,7 +2673,7 @@ path.
|
||||
Multi-byte:
|
||||
- Using an any-but character range [^x] in a regexp didn't work for UTF-8.
|
||||
(Muraoka Taro)
|
||||
- When backspacing over inserted characters in Replace mode multi-byte
|
||||
- When backspacing over inserted characters in Replace mode multibyte
|
||||
characters were not handled correctly. (Muraoka Taro)
|
||||
- Search commands "#" and "*" didn't work with multibyte characters. (Muraoka
|
||||
Taro)
|
||||
@@ -2690,9 +2690,9 @@ Multi-byte:
|
||||
wrong error number. (Muraoka Taro)
|
||||
- Using Alt-x in the GUI while 'encoding' was set to "utf-8" didn't produce
|
||||
the right character.
|
||||
- When using Visual block selection and only the left halve of a double-wide
|
||||
- When using Visual block selection and only the left half of a double-wide
|
||||
character is selected, the highlighting continued to the end of the line.
|
||||
- Visual-block delete didn't work properly when deleting the right halve of a
|
||||
- Visual-block delete didn't work properly when deleting the right half of a
|
||||
double-wide character.
|
||||
- Overstrike mode for the cmdline replaced only the first byte of a multibyte
|
||||
character.
|
||||
@@ -2701,8 +2701,8 @@ Multi-byte:
|
||||
- When a multibyte character contained a 0x80 byte, it didn't work (was using
|
||||
a CSI byte instead). (Muraoka Taro)
|
||||
- Wordwise selection with the mouse didn't work.
|
||||
- Yanking a modeless selection of multi-byte characters didn't work.
|
||||
- When 'selection' is "exclusive", selecting a word that ends in a multi-byte
|
||||
- Yanking a modeless selection of multibyte characters didn't work.
|
||||
- When 'selection' is "exclusive", selecting a word that ends in a multibyte
|
||||
character used wrong highlighting for the following character.
|
||||
|
||||
Win32 with Make_mvc.mak: Didn't compile for debugging. (Craig Barkhouse)
|
||||
@@ -2795,13 +2795,13 @@ GTK: Crash when 'shell' doesn't exist and doing":!ls". Use _exit() instead of
|
||||
exit() when the child couldn't execute the shell.
|
||||
|
||||
Multi-byte:
|
||||
- GUI with double-byte encoding: a mouse click in left halve of double-wide
|
||||
- GUI with double-byte encoding: a mouse click in left half of double-wide
|
||||
character put the cursor in previous char.
|
||||
- Using double-byte encoding and 'selection' is "exclusive": "vey" and "^Vey"
|
||||
included the character after the word.
|
||||
- When using a double-byte encoding and there is a lead byte at the end of the
|
||||
line, the preceding line would be displayed. "ga" also showed wrong info.
|
||||
- "gf" didn't include multi-byte characters before the cursor properly.
|
||||
- "gf" didn't include multibyte characters before the cursor properly.
|
||||
(Muraoka Taro)
|
||||
|
||||
GUI: The cursor was sometimes not removed when scrolling. Changed the policy
|
||||
@@ -2919,7 +2919,7 @@ The message remembered for displaying later (keep_msg) was sometimes pointing
|
||||
into a generic buffer, which might be changed by the time the message is
|
||||
displayed. Now make a copy of the message.
|
||||
|
||||
When using multi-byte characters in a menu and a trailing byte is a backslash,
|
||||
When using multibyte characters in a menu and a trailing byte is a backslash,
|
||||
the menu would not be created correctly. (Muraoka Taro)
|
||||
Using a multibyte character in the substitute string where a trail byte is a
|
||||
backslash didn't work. (Muraoka Taro)
|
||||
@@ -2958,7 +2958,7 @@ the output.
|
||||
Don't define the <NetMouse> termcode in an xterm, reduces the problem when
|
||||
someone types <Esc> } in Insert mode.
|
||||
|
||||
Made slash_adjust() work correctly for multi-byte characters. (Yasuhiro
|
||||
Made slash_adjust() work correctly for multibyte characters. (Yasuhiro
|
||||
Matsumoto)
|
||||
Using a filename in Big5 encoding for autocommands didn't work (backslash in
|
||||
trailbyte). (Yasuhiro Matsumoto)
|
||||
@@ -3147,7 +3147,7 @@ available space correctly. Was counting the menu height twice.
|
||||
Conversion of the docs to HTML didn't handle the line with the +quickfix tag
|
||||
correctly. (Antonio Colombo)
|
||||
|
||||
Win32: fname_case() didn't handle multi-byte characters correctly. (Yasuhiro
|
||||
Win32: fname_case() didn't handle multibyte characters correctly. (Yasuhiro
|
||||
Matsumoto)
|
||||
|
||||
The Cygwin version had trouble with fchdir(). Don't use that function for
|
||||
@@ -3164,10 +3164,10 @@ the terminal it was started in.
|
||||
|
||||
When using ESC in Insert mode, an autoindent that wraps to the next line
|
||||
caused the cursor to move to the end of the line temporarily. When the
|
||||
character before the cursor was a double-wide multi-byte character the cursor
|
||||
would be on the right halve, which causes problems with some terminals.
|
||||
character before the cursor was a double-wide multibyte character the cursor
|
||||
would be on the right half, which causes problems with some terminals.
|
||||
|
||||
Didn't handle multi-byte characters correctly when expanding a file name.
|
||||
Didn't handle multibyte characters correctly when expanding a file name.
|
||||
(Yasuhiro Matsumoto)
|
||||
|
||||
Win32 GUI: Errors generated before the GUI is decided to start were not
|
||||
@@ -3307,7 +3307,7 @@ started from the desktop (no place to display messages) it would hang. Now
|
||||
open the GUI window early to be able to display the messages and pop up the
|
||||
dialog.
|
||||
|
||||
"r<CR>" on a multi-byte character deleted only the first byte of the
|
||||
"r<CR>" on a multibyte character deleted only the first byte of the
|
||||
character. "3r<CR>" deleted three bytes instead of three characters.
|
||||
|
||||
When interrupting reading a file, Vi considers the buffer modified. Added the
|
||||
@@ -3431,7 +3431,7 @@ Solution: Change slashes to backslashes in the directory passed to the file
|
||||
Files: src/gui_w48.c
|
||||
|
||||
Athena file browser: On some systems wcstombs() can't be used to get the
|
||||
length of a multi-byte string. Use the maximum length then. (Yasuhiro
|
||||
length of a multibyte string. Use the maximum length then. (Yasuhiro
|
||||
Matsumoto)
|
||||
|
||||
Patch 6.0ax.001
|
||||
@@ -3784,7 +3784,7 @@ Solution: Check for a NULL pointer.
|
||||
Files: src/mbyte.c
|
||||
|
||||
Patch 6.0.019
|
||||
Problem: Converting a string with multi-byte characters to a printable
|
||||
Problem: Converting a string with multibyte characters to a printable
|
||||
string, e.g., with strtrans(), may cause a crash. (Tomas Zellerin)
|
||||
Solution: Correctly compute the length of the result in transstr().
|
||||
Files: src/charset.c
|
||||
@@ -4148,9 +4148,9 @@ Solution: Position the system cursor before starting the shell.
|
||||
Files: src/os_msdos.c
|
||||
|
||||
Patch 6.0.074
|
||||
Problem: When using "&" in a substitute string a multi-byte character with
|
||||
Problem: When using "&" in a substitute string a multibyte character with
|
||||
a trailbyte 0x5c is not handled correctly.
|
||||
Solution: Recognize multi-byte characters inside the "&" part. (Muraoka Taro)
|
||||
Solution: Recognize multibyte characters inside the "&" part. (Muraoka Taro)
|
||||
Files: src/regexp.c
|
||||
|
||||
Patch 6.0.075
|
||||
@@ -4311,7 +4311,7 @@ Files: src/ex_cmds.c
|
||||
|
||||
Patch 6.0.097
|
||||
Problem: Re-indenting in Insert mode with CTRL-F may cause a crash with a
|
||||
multi-byte encoding.
|
||||
multibyte encoding.
|
||||
Solution: Avoid using a character before the start of a line. (Sergey
|
||||
Vlasov)
|
||||
Files: src/edit.c
|
||||
@@ -4356,7 +4356,7 @@ Files: src/normal.c
|
||||
|
||||
Patch 6.0.104
|
||||
Problem: Multi-byte: When '$' is in 'cpoptions', typing a double-wide
|
||||
character that overwrites the left halve of an old double-wide
|
||||
character that overwrites the left half of an old double-wide
|
||||
character causes a redraw problem and the cursor stops blinking.
|
||||
Solution: Clear the right half of the old character. (Yasuhiro Matsumoto)
|
||||
Files: src/edit.c, src/screen.c
|
||||
@@ -4669,14 +4669,14 @@ Solution: Correctly report "operand could be empty" when using "\{-}".
|
||||
Files: src/regexp.c
|
||||
|
||||
Patch 6.0.150
|
||||
Problem: When using a multi-byte encoding, patch 6.0.148 causes "p" to work
|
||||
Problem: When using a multibyte encoding, patch 6.0.148 causes "p" to work
|
||||
like "P". (Sung-Hyun Nam)
|
||||
Solution: Compute the byte length of a multi-byte character.
|
||||
Solution: Compute the byte length of a multibyte character.
|
||||
Files: src/ops.c
|
||||
|
||||
Patch 6.0.151
|
||||
Problem: Redrawing the status line and ruler can be wrong when it contains
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
Solution: Use character width and byte length correctly. (Yasuhiro Matsumoto)
|
||||
Files: src/screen.c
|
||||
|
||||
@@ -4878,7 +4878,7 @@ Solution: Free the allocated memory. Also avoid an uninitialized memory
|
||||
Files: src/misc2.c
|
||||
|
||||
Patch 6.0.182
|
||||
Problem: When using a regexp on multi-byte characters, could try to read a
|
||||
Problem: When using a regexp on multibyte characters, could try to read a
|
||||
character before the start of the line.
|
||||
Solution: Don't decrement a pointer to before the start of the line.
|
||||
Files: src/regexp.c
|
||||
@@ -5060,7 +5060,7 @@ Files: src/edit.c
|
||||
|
||||
Patch 6.0.209
|
||||
Problem: GUI GTK: After selecting a 'guifont' with the font dialog there
|
||||
are redraw problems for multi-byte characters.
|
||||
are redraw problems for multibyte characters.
|
||||
Solution: Separate the font dialog from setting the new font name to avoid
|
||||
that "*" is used to find wide and bold fonts.
|
||||
When redrawing extra characters for the bold trick, take care of
|
||||
@@ -5203,14 +5203,14 @@ Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/ops.c,
|
||||
|
||||
Patch 6.0.229
|
||||
Problem: Multi-byte: With 'm' in 'formatoptions', formatting doesn't break
|
||||
at a multi-byte char followed by an ASCII char, and the other way
|
||||
at a multibyte char followed by an ASCII char, and the other way
|
||||
around. (Muraoka Taro)
|
||||
When joining lines a space is inserted between multi-byte
|
||||
When joining lines a space is inserted between multibyte
|
||||
characters, which is not always wanted.
|
||||
Solution: Check for multi-byte character before and after the breakpoint.
|
||||
Don't insert a space before or after a multi-byte character when
|
||||
Solution: Check for multibyte character before and after the breakpoint.
|
||||
Don't insert a space before or after a multibyte character when
|
||||
joining lines and the 'M' flag is in 'formatoptions'. Don't
|
||||
insert a space between multi-byte characters when the 'B' flag is
|
||||
insert a space between multibyte characters when the 'B' flag is
|
||||
in 'formatoptions'.
|
||||
Files: src/edit.c, src/ops.c, src/option.h
|
||||
|
||||
@@ -5290,7 +5290,7 @@ Patch 6.0.241
|
||||
Problem: Win32: Expanding the old value of an option that is a path that
|
||||
starts with a backslash, an extra backslash is inserted.
|
||||
Solution: Only insert backslashes where needed.
|
||||
Also handle multi-byte characters properly when removing
|
||||
Also handle multibyte characters properly when removing
|
||||
backslashes.
|
||||
Files: src/option.c
|
||||
|
||||
@@ -5312,7 +5312,7 @@ Problem: Multi-byte: Problems with (illegal) UTF-8 characters in menu and
|
||||
file name (e.g., icon text, status line).
|
||||
Solution: Correctly handle unprintable characters. Catch illegal UTF-8
|
||||
characters and replace them with <xx>. Truncating the status line
|
||||
wasn't done correctly at a multi-byte character. (Yasuhiro
|
||||
wasn't done correctly at a multibyte character. (Yasuhiro
|
||||
Matsumoto)
|
||||
Added correct_cmdspos() and transchar_byte().
|
||||
Files: src/buffer.c, src/charset.c, src/ex_getln.c, src/gui.c,
|
||||
@@ -5424,7 +5424,7 @@ Solution: Don't call gui_write() when still starting up. Don't give error
|
||||
Files: src/fileio.c, src/gui.c, src/misc1.c, src/ui.c
|
||||
|
||||
Patch 6.0.261
|
||||
Problem: nr2char() and char2nr() don't work with multi-byte characters.
|
||||
Problem: nr2char() and char2nr() don't work with multibyte characters.
|
||||
Solution: Use 'encoding' for these functions. (Yasuhiro Matsumoto)
|
||||
Files: runtime/doc/eval.txt, src/eval.c
|
||||
|
||||
@@ -5517,7 +5517,7 @@ Solution: Don't keep the driver context when using ":hardcopy!". (Vince
|
||||
Files: src/os_mswin.c
|
||||
|
||||
Patch 6.1a.006
|
||||
Problem: multi-byte: after setting 'encoding' the window title might be
|
||||
Problem: multibyte: after setting 'encoding' the window title might be
|
||||
wrong.
|
||||
Solution: Force resetting the title. (Yasuhiro Matsumoto)
|
||||
Files: src/option.c
|
||||
@@ -5654,7 +5654,7 @@ Files: src/globals.h, src/mbyte.c, src/screen.c
|
||||
|
||||
Patch 6.1a.029
|
||||
Problem: After patch 6.1a.028 can't compile GTK version with XIM but
|
||||
without multi-byte chars.
|
||||
without multibyte chars.
|
||||
Solution: Add an #ifdef. (Aschwin Marsman)
|
||||
Files: src/mbyte.c
|
||||
|
||||
@@ -5701,9 +5701,9 @@ Solution: Remove the ACL checks, go back to how it worked in Vim 6.0.
|
||||
Files: src/os_win32.c
|
||||
|
||||
Patch 6.1a.035
|
||||
Problem: multi-byte: When using ":sh" in the GUI, typed and displayed
|
||||
multi-byte characters are not handled correctly.
|
||||
Solution: Deal with multi-byte characters to and from the shell. (Yasuhiro
|
||||
Problem: multibyte: When using ":sh" in the GUI, typed and displayed
|
||||
multibyte characters are not handled correctly.
|
||||
Solution: Deal with multibyte characters to and from the shell. (Yasuhiro
|
||||
Matsumoto) Also handle UTF-8 composing characters.
|
||||
Files: src/os_unix.c
|
||||
|
||||
@@ -5748,9 +5748,9 @@ Files: runtime/doc/diff.txt, src/diff.c, src/normal.c, src/proto/diff.pro
|
||||
|
||||
|
||||
Patch 6.1b.001 (extra)
|
||||
Problem: Checking for wildcards in a path does not handle multi-byte
|
||||
Problem: Checking for wildcards in a path does not handle multibyte
|
||||
characters with a trail byte which is a wildcard.
|
||||
Solution: Handle multi-byte characters correctly. (Muraoka Taro)
|
||||
Solution: Handle multibyte characters correctly. (Muraoka Taro)
|
||||
Files: src/os_amiga.c, src/os_mac.c, src/os_msdos.c, src/os_mswin.c,
|
||||
src/os_unix.c
|
||||
|
||||
@@ -6393,7 +6393,7 @@ wrong (back)slashes.
|
||||
|
||||
Win32: printer dialog texts were not translated. (Yasuhiro Matsumoto)
|
||||
|
||||
When using a multi-byte character with a K_SPECIAL byte or a special key code
|
||||
When using a multibyte character with a K_SPECIAL byte or a special key code
|
||||
with "--remote-send" the received byte sequence was mangled. Put it in the
|
||||
typeahead buffer instead of the input buffer.
|
||||
|
||||
@@ -6438,7 +6438,7 @@ library version of fgets() to work correctly for Metrowerks 2.2. (Axel
|
||||
Kielhorn)
|
||||
|
||||
When typing a password a "*" was shown for each byte instead of for each
|
||||
character. Added multi-byte handling to displaying the stars. (Yasuhiro
|
||||
character. Added multibyte handling to displaying the stars. (Yasuhiro
|
||||
Matsumoto)
|
||||
|
||||
When using Perl 5.6 accessing $curbuf doesn't work. Add an #ifdef to use
|
||||
@@ -6690,9 +6690,9 @@ Solution: Overrule 'lazyredraw' when do_redraw is set.
|
||||
Files: src/main.c, src/screen.c
|
||||
|
||||
Patch 6.1.038
|
||||
Problem: Multi-byte: When a ":s" command contains a multi-byte character
|
||||
Problem: Multi-byte: When a ":s" command contains a multibyte character
|
||||
where the trail byte is '~' the text is messed up.
|
||||
Solution: Properly skip multi-byte characters in regtilde() (Muraoka Taro)
|
||||
Solution: Properly skip multibyte characters in regtilde() (Muraoka Taro)
|
||||
Files: src/regexp.c
|
||||
|
||||
Patch 6.1.039
|
||||
@@ -7069,7 +7069,7 @@ Solution: Don't free the item on the stack. Use NULL instead of "none" for
|
||||
Files: src/gui_x11.c
|
||||
|
||||
Patch 6.1.096
|
||||
Problem: When erasing the right halve of a double-byte character, it may
|
||||
Problem: When erasing the right half of a double-byte character, it may
|
||||
cause further characters to be erased. (Yasuhiro Matsumoto)
|
||||
Solution: Make sure only one character is erased.
|
||||
Files: src/screen.c
|
||||
@@ -7105,7 +7105,7 @@ Solution: Use ":setlocal" instead of ":set". Change "aw" to "awa".
|
||||
Files: runtime/optwin.vim
|
||||
|
||||
Patch 6.1.102
|
||||
Problem: Unprintable and multi-byte characters in a statusline item are not
|
||||
Problem: Unprintable and multibyte characters in a statusline item are not
|
||||
truncated correctly. (Yasuhiro Matsumoto)
|
||||
Solution: Count the width of characters instead of the number of bytes.
|
||||
Files: src/buffer.c
|
||||
@@ -7480,7 +7480,7 @@ Solution: Take 'siso' into account when computing the horizontal scroll
|
||||
Files: src/normal.c
|
||||
|
||||
Patch 6.1.159
|
||||
Problem: When expanding an abbreviation that includes a multi-byte
|
||||
Problem: When expanding an abbreviation that includes a multibyte
|
||||
character too many characters are deleted. (Andrey Urazov)
|
||||
Solution: Delete the abbreviation counting characters instead of bytes.
|
||||
Files: src/getchar.c
|
||||
@@ -7964,10 +7964,10 @@ Files: src/gui_w48.c
|
||||
|
||||
Patch 6.1.231
|
||||
Problem: Double clicking with the mouse to select a word does not work for
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
Solution: Use vim_iswordc() instead of vim_isIDc(). This means 'iskeyword'
|
||||
is used instead of 'isident'. Also fix that mixing ASCII with
|
||||
multi-byte word characters doesn't work, the mouse class for
|
||||
multibyte word characters doesn't work, the mouse class for
|
||||
punctuation and word characters was mixed up.
|
||||
Files: src/normal.c
|
||||
|
||||
@@ -8056,7 +8056,7 @@ Files: src/vim.h
|
||||
Patch 6.1.245
|
||||
Problem: Comparing with ignored case does not work properly for Unicode
|
||||
with a locale where case folding an ASCII character results in a
|
||||
multi-byte character. (Glenn Maynard)
|
||||
multibyte character. (Glenn Maynard)
|
||||
Solution: Handle ignore-case compare for Unicode differently.
|
||||
Files: src/mbyte.c
|
||||
|
||||
@@ -8081,8 +8081,8 @@ Files: src/eval.c
|
||||
|
||||
Patch 6.1.249
|
||||
Problem: Can't expand a path on the command line if it includes a "|" as a
|
||||
trail byte of a multi-byte character.
|
||||
Solution: Check for multi-byte characters. (Yasuhiro Matsumoto)
|
||||
trail byte of a multibyte character.
|
||||
Solution: Check for multibyte characters. (Yasuhiro Matsumoto)
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
Patch 6.1.250
|
||||
@@ -8177,9 +8177,9 @@ Solution: Set the previous context mark before jumping.
|
||||
Files: src/fold.c
|
||||
|
||||
Patch 6.1.263
|
||||
Problem: When typing a multi-byte character that triggers an abbreviation
|
||||
Problem: When typing a multibyte character that triggers an abbreviation
|
||||
it is not inserted properly.
|
||||
Solution: Handle adding the typed multi-byte character. (Yasuhiro Matsumoto)
|
||||
Solution: Handle adding the typed multibyte character. (Yasuhiro Matsumoto)
|
||||
Files: src/getchar.c
|
||||
|
||||
Patch 6.1.264 (depends on patch 6.1.254)
|
||||
@@ -8207,7 +8207,7 @@ Solution: Allocate enough memory for saving the register contents. (Muraoka
|
||||
Files: src/ops.c
|
||||
|
||||
Patch 6.1.268
|
||||
Problem: When triggering an abbreviation with a multi-byte character, this
|
||||
Problem: When triggering an abbreviation with a multibyte character, this
|
||||
character is not correctly inserted after expanding the
|
||||
abbreviation. (Taro Muraoka)
|
||||
Solution: Add ABBR_OFF to all characters above 0xff.
|
||||
@@ -8321,7 +8321,7 @@ Files: runtime/doc/options.txt, src/buffer.c, src/option.c,
|
||||
src/quickfix.c
|
||||
|
||||
Patch 6.1.286
|
||||
Problem: 'showbreak' cannot contain multi-byte characters.
|
||||
Problem: 'showbreak' cannot contain multibyte characters.
|
||||
Solution: Allow using all printable characters for 'showbreak'.
|
||||
Files: src/charset.c, src/move.c, src/option.c
|
||||
|
||||
@@ -8343,9 +8343,9 @@ Solution: Add a typecast for " ".
|
||||
Files: src/screen.c
|
||||
|
||||
Patch 6.1.290 (extra)
|
||||
Problem: Truncating long text for message box may break multi-byte
|
||||
Problem: Truncating long text for message box may break multibyte
|
||||
character.
|
||||
Solution: Adjust to start of multi-byte character. (Yasuhiro Matsumoto)
|
||||
Solution: Adjust to start of multibyte character. (Yasuhiro Matsumoto)
|
||||
Files: src/os_mswin.c
|
||||
|
||||
Patch 6.1.291 (extra)
|
||||
@@ -8368,7 +8368,7 @@ Solution: Change ">=" to ">" in ml_find_line_or_offset(). (Bradford C Smith)
|
||||
Files: src/memline.c
|
||||
|
||||
Patch 6.1.294
|
||||
Problem: Can't include a multi-byte character in a string by its hex value.
|
||||
Problem: Can't include a multibyte character in a string by its hex value.
|
||||
(Benji Fisher)
|
||||
Solution: Add "\u....": a character specified with up to four hex numbers
|
||||
and stored according to the value of 'encoding'.
|
||||
@@ -8791,7 +8791,7 @@ Solution: Set Vim as the frontprocess. Fix scrolling. (Peter Cucka)
|
||||
Files: src/gui_mac.c
|
||||
|
||||
Patch 6.1.360 (depends on 6.1.341)
|
||||
Problem: In Insert mode CTRL-K ESC messes up a multi-byte character.
|
||||
Problem: In Insert mode CTRL-K ESC messes up a multibyte character.
|
||||
(Anders Helmersson)
|
||||
Solution: Save all bytes of a character when displaying a character
|
||||
temporarily.
|
||||
@@ -8962,7 +8962,7 @@ Files: src/gui_w32.c
|
||||
|
||||
Patch 6.1.383
|
||||
Problem: The filling of the status line doesn't work properly for
|
||||
multi-byte characters. (Nam SungHyun)
|
||||
multibyte characters. (Nam SungHyun)
|
||||
There is no check for going past the end of the buffer.
|
||||
Solution: Properly distinguish characters and bytes. Properly check for
|
||||
running out of buffer space.
|
||||
@@ -8976,13 +8976,13 @@ Files: runtime/doc/eval.txt, src/eval.c, src/proto/version.pro,
|
||||
src/version.c
|
||||
|
||||
Patch 6.1.385 (depends on 6.1.383)
|
||||
Problem: Can't compile without the multi-byte feature.
|
||||
Problem: Can't compile without the multibyte feature.
|
||||
Solution: Move an #ifdef. (Christian J. Robinson)
|
||||
Files: src/buffer.c
|
||||
|
||||
Patch 6.1.386
|
||||
Problem: Get duplicate tags when running ":helptags".
|
||||
Solution: Do the other halve of moving a section to another help file.
|
||||
Solution: Do the other half of moving a section to another help file.
|
||||
Files: runtime/tagsrch.txt
|
||||
|
||||
Patch 6.1.387 (depends on 6.1.373)
|
||||
@@ -9201,10 +9201,10 @@ Solution: Respect the GUARDEDOFFSET for sign IDs when checking for a guarded
|
||||
Files: src/netbeans.c
|
||||
|
||||
Patch 6.1.417
|
||||
Problem: Unprintable multi-byte characters are not handled correctly.
|
||||
Problem: Unprintable multibyte characters are not handled correctly.
|
||||
Multi-byte characters above 0xffff are displayed as another
|
||||
character.
|
||||
Solution: Handle unprintable multi-byte characters. Display multi-byte
|
||||
Solution: Handle unprintable multibyte characters. Display multibyte
|
||||
characters above 0xffff with a marker. Recognize UTF-16 words and
|
||||
BOM words as unprintable. (Daniel Elstner)
|
||||
Files: src/charset.c, src/mbyte.c, src/screen.c
|
||||
@@ -9326,7 +9326,7 @@ Solution: Add the line number to the error message.
|
||||
Files: src/fileio.c
|
||||
|
||||
Patch 6.1.437 (extra, depends on 6.1.421)
|
||||
Problem: Using multi-byte functions when they are not available.
|
||||
Problem: Using multibyte functions when they are not available.
|
||||
Solution: Put the clipboard conversion inside an #ifdef. (Vince Negri)
|
||||
Also fix a pointer type mistake. (Walter Briscoe)
|
||||
Files: src/os_mswin.c
|
||||
@@ -9526,8 +9526,8 @@ Solution: Only store folds for a buffer with 'buftype' empty and help files.
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
Patch 6.1.469
|
||||
Problem: 'listchars' cannot contain multi-byte characters.
|
||||
Solution: Handle multi-byte UTF-8 list characters. (Matthew Samsonoff)
|
||||
Problem: 'listchars' cannot contain multibyte characters.
|
||||
Solution: Handle multibyte UTF-8 list characters. (Matthew Samsonoff)
|
||||
Files: src/message.c, src/option.c, src/screen.c
|
||||
|
||||
Patch 6.1.470 (lang)
|
||||
@@ -10009,7 +10009,7 @@ Files: nsis/gvim.nsi
|
||||
|
||||
Patch 6.2.010
|
||||
Problem: When 'virtualedit' is effective and a line starts with a
|
||||
multi-byte character, moving the cursor right doesn't work.
|
||||
multibyte character, moving the cursor right doesn't work.
|
||||
Solution: Obtain the right character to compute the column offset. (Taro
|
||||
Muraoka)
|
||||
Files: src/charset.c
|
||||
@@ -10109,7 +10109,7 @@ Files: src/fileio.c
|
||||
|
||||
Patch 6.2.027
|
||||
Problem: Warning for uninitialized variable.
|
||||
Solution: Set mb_l to one when not using multi-byte characters.
|
||||
Solution: Set mb_l to one when not using multibyte characters.
|
||||
Files: src/message.c
|
||||
|
||||
Patch 6.2.028
|
||||
@@ -10271,15 +10271,15 @@ Files: src/osdef1.h.in
|
||||
Patch 6.2.054
|
||||
Problem: A double-byte character with a second byte that is a backslash
|
||||
causes problems inside a string.
|
||||
Solution: Skip over multi-byte characters in a string properly. (Yasuhiro
|
||||
Solution: Skip over multibyte characters in a string properly. (Yasuhiro
|
||||
Matsumoto)
|
||||
Files: src/eval.c
|
||||
|
||||
Patch 6.2.055
|
||||
Problem: Using col('.') from CTRL-O in Insert mode does not return the
|
||||
correct value for multi-byte characters.
|
||||
correct value for multibyte characters.
|
||||
Solution: Correct the cursor position when it is necessary, move to the
|
||||
first byte of a multi-byte character. (Yasuhiro Matsumoto)
|
||||
first byte of a multibyte character. (Yasuhiro Matsumoto)
|
||||
Files: src/edit.c
|
||||
|
||||
Patch 6.2.056 (extra)
|
||||
@@ -10851,7 +10851,7 @@ Files: Makefile, src/Makefile, src/auto/configure, src/configure.in,
|
||||
|
||||
Patch 6.2.143
|
||||
Problem: Using "K" on Visually selected text doesn't work if it ends in
|
||||
a multi-byte character.
|
||||
a multibyte character.
|
||||
Solution: Include all the bytes of the last character. (Taro Muraoka)
|
||||
Files: src/normal.c
|
||||
|
||||
@@ -11269,12 +11269,12 @@ Files: src/gui_w32.c, src/gui_w48.c
|
||||
Patch 6.2.206
|
||||
Problem: Multi-byte characters cannot be used as hotkeys in a console
|
||||
dialog. (Mattias Erkisson)
|
||||
Solution: Handle multi-byte characters properly. Also put () or [] around
|
||||
Solution: Handle multibyte characters properly. Also put () or [] around
|
||||
default hotkeys.
|
||||
Files: src/message.c, src/macros.h
|
||||
|
||||
Patch 6.2.207
|
||||
Problem: When 'encoding' is a multi-byte encoding, expanding an
|
||||
Problem: When 'encoding' is a multibyte encoding, expanding an
|
||||
abbreviation that starts where insertion started results in
|
||||
characters before the insertion to be deleted. (Xiangjiang Ma)
|
||||
Solution: Stop searching leftwards for the start of the word at the position
|
||||
@@ -11344,7 +11344,7 @@ Files: src/fileio.c, src/netbeans.c, src/proto/netbeans.pro,
|
||||
Patch 6.2.216 (after 6.2.206)
|
||||
Problem: Multi-byte characters still cannot be used as hotkeys in a console
|
||||
dialog. (Mattias Erkisson)
|
||||
Solution: Make get_keystroke() handle multi-byte characters.
|
||||
Solution: Make get_keystroke() handle multibyte characters.
|
||||
Files: src/misc1.c
|
||||
|
||||
Patch 6.2.217
|
||||
@@ -11710,7 +11710,7 @@ Files: src/gui.c
|
||||
Patch 6.2.269
|
||||
Problem: Diff mode does not highlight a change in a combining character.
|
||||
(Raphael Finkel)
|
||||
Solution: Make diff_find_change() multi-byte aware: find the start byte of
|
||||
Solution: Make diff_find_change() multibyte aware: find the start byte of
|
||||
a character that contains a change.
|
||||
Files: src/diff.c
|
||||
|
||||
@@ -12505,7 +12505,7 @@ Solution: Don't redraw the bottom line if no rows were inserted or deleted.
|
||||
Files: src/screen.c
|
||||
|
||||
Patch 6.2.390
|
||||
Problem: Using "r*" in Visual mode on multi-byte characters only replaces
|
||||
Problem: Using "r*" in Visual mode on multibyte characters only replaces
|
||||
every other character. (Tyson Roberts)
|
||||
Solution: Correct the cursor position after replacing each character.
|
||||
Files: src/ops.c
|
||||
@@ -12745,7 +12745,7 @@ Solution: Also use the line number of the position where the region
|
||||
Files: src/syntax.c
|
||||
|
||||
Patch 6.2.427 (extra)
|
||||
Problem: When pasting a lot of text in a multi-byte encoding, conversion
|
||||
Problem: When pasting a lot of text in a multibyte encoding, conversion
|
||||
from 'termencoding' to 'encoding' may fail for some characters.
|
||||
(Kuang-che Wu)
|
||||
Solution: When there is an incomplete byte sequence at the end of the read
|
||||
@@ -12984,7 +12984,7 @@ Files: src/normal.c
|
||||
Patch 6.2.462
|
||||
Problem: Finding a matching parenthesis does not correctly handle a
|
||||
backslash in a trailing byte.
|
||||
Solution: Handle multi-byte characters correctly. (Taro Muraoka)
|
||||
Solution: Handle multibyte characters correctly. (Taro Muraoka)
|
||||
Files: src/search.c
|
||||
|
||||
Patch 6.2.463 (extra)
|
||||
@@ -13015,7 +13015,7 @@ Solution: Redefine wcsicmp() to wcscmpi() and add type casts. (Yasuhiro
|
||||
Files: src/os_win32.c
|
||||
|
||||
Patch 6.2.467 (extra, after 6.2.463)
|
||||
Problem: Win32: can't compile without multi-byte feature. (Ajit Thakkar)
|
||||
Problem: Win32: can't compile without multibyte feature. (Ajit Thakkar)
|
||||
Solution: Add #ifdefs around the info stream code.
|
||||
Files: src/os_win32.c
|
||||
|
||||
@@ -13183,8 +13183,8 @@ Solution: Allow using " " (two spaces) in 'paragraph' to match ".$" or
|
||||
Files: src/search.c
|
||||
|
||||
Patch 6.2.491
|
||||
Problem: Decrementing a position doesn't take care of multi-byte chars.
|
||||
Solution: Adjust the column for multi-byte characters. Remove mb_dec().
|
||||
Problem: Decrementing a position doesn't take care of multibyte chars.
|
||||
Solution: Adjust the column for multibyte characters. Remove mb_dec().
|
||||
(Yasuhiro Matsumoto)
|
||||
Files: src/mbyte.c, src/misc2.c, src/proto/mbyte.pro
|
||||
|
||||
@@ -13354,12 +13354,12 @@ Files: runtime/doc/options.txt, runtime/doc/sign.txt, src/option.c,
|
||||
src/screen.c, src/syntax.c, src/vim.h
|
||||
|
||||
Patch 6.2.517
|
||||
Problem: Using "r*" in Visual mode on multi-byte characters replaces
|
||||
Problem: Using "r*" in Visual mode on multibyte characters replaces
|
||||
too many characters. In Visual Block mode replacing with a
|
||||
multi-byte character doesn't work.
|
||||
multibyte character doesn't work.
|
||||
Solution: Adjust the operator end for the difference in byte length of the
|
||||
original and the replaced character. Insert all bytes of a
|
||||
multi-byte character, take care of double-wide characters.
|
||||
multibyte character, take care of double-wide characters.
|
||||
Files: src/ops.c
|
||||
|
||||
Patch 6.2.518
|
||||
@@ -13438,7 +13438,7 @@ Problem: NetBeans: Changes of the "~" command are not reported.
|
||||
Solution: Call netbeans_inserted() after performing "~". (Gordon Prieur)
|
||||
Also change NetBeans debugging to append to the log file.
|
||||
Also fix that "~" in Visual block mode changes too much if there
|
||||
are multi-byte characters.
|
||||
are multibyte characters.
|
||||
Files: src/nbdebug.c, src/normal.c, src/ops.c
|
||||
|
||||
Patch 6.2.529 (extra)
|
||||
@@ -13552,7 +13552,7 @@ Solution: Convert menu strings from 'encoding' to the active codepage.
|
||||
Files: src/gui_w32.c, src/gui_w48.c
|
||||
|
||||
Patch 6.3a.014
|
||||
Problem: Using multi-byte text and highlighting in a statusline causes gaps
|
||||
Problem: Using multibyte text and highlighting in a statusline causes gaps
|
||||
to appear. (Helmut Stiegler)
|
||||
Solution: Advance the column by text width instead of number of bytes. Add
|
||||
the vim_strnsize() function.
|
||||
@@ -14040,19 +14040,19 @@ Solution: Correctly check that one character is being deleted.
|
||||
Files: src/misc1.c
|
||||
|
||||
Patch 6.3.021
|
||||
Problem: When the last character of a file name is a multi-byte character
|
||||
Problem: When the last character of a file name is a multibyte character
|
||||
and the last byte is a path separator, the file cannot be edited.
|
||||
Solution: Check for the last byte to be part of a multi-byte character.
|
||||
Solution: Check for the last byte to be part of a multibyte character.
|
||||
(Taro Muraoka)
|
||||
Files: src/fileio.c
|
||||
|
||||
Patch 6.3.022 (extra)
|
||||
Problem: Win32: When the last character of a file name is a multi-byte
|
||||
Problem: Win32: When the last character of a file name is a multibyte
|
||||
character and the last byte is a path separator, the file cannot
|
||||
be written. A trail byte that is a space makes that a file cannot
|
||||
be opened from the command line.
|
||||
Solution: Recognize double-byte characters when parsing the command line.
|
||||
In mch_stat() check for the last byte to be part of a multi-byte
|
||||
In mch_stat() check for the last byte to be part of a multibyte
|
||||
character. (Taro Muraoka)
|
||||
Files: src/gui_w48.c, src/os_mswin.c
|
||||
|
||||
@@ -14222,7 +14222,7 @@ Solution: Don't allow setting termcap options or 'printdevice' in a
|
||||
Files: src/option.c, runtime/doc/options.txt
|
||||
|
||||
Patch 6.3.046
|
||||
Problem: ":registers" doesn't show multi-byte characters properly.
|
||||
Problem: ":registers" doesn't show multibyte characters properly.
|
||||
(Valery Kondakoff)
|
||||
Solution: Get the length of each character before displaying it.
|
||||
Files: src/ops.c
|
||||
@@ -14250,9 +14250,9 @@ Solution: Ignore SIGHUP when exiting because of an error. (Scott Anderson)
|
||||
Files: src/misc1.c, src/main.c
|
||||
|
||||
Patch 6.3.051
|
||||
Problem: When 'wildmenu' is set and completed file names contain multi-byte
|
||||
Problem: When 'wildmenu' is set and completed file names contain multibyte
|
||||
characters Vim may crash.
|
||||
Solution: Reserve room for multi-byte characters. (Yasuhiro Matsumoto)
|
||||
Solution: Reserve room for multibyte characters. (Yasuhiro Matsumoto)
|
||||
Files: src/screen.c
|
||||
|
||||
Patch 6.3.052 (extra)
|
||||
@@ -14286,9 +14286,9 @@ Solution: When moving ccline out of the way for recursive use, make it
|
||||
Files: src/ex_getln.c
|
||||
|
||||
Patch 6.3.056
|
||||
Problem: The last characters of a multi-byte file name may not be displayed
|
||||
Problem: The last characters of a multibyte file name may not be displayed
|
||||
in the window title.
|
||||
Solution: Avoid to remove a multi-byte character where the last byte looks
|
||||
Solution: Avoid to remove a multibyte character where the last byte looks
|
||||
like a path separator character. (Yasuhiro Matsumoto)
|
||||
Files: src/buffer.c, src/ex_getln.c
|
||||
|
||||
@@ -14319,9 +14319,9 @@ Files: src/edit.c
|
||||
|
||||
Patch 6.3.061
|
||||
Problem: When editing a utf-8 file in an utf-8 xterm and there is a
|
||||
multi-byte character in the last column, displaying is messed up.
|
||||
multibyte character in the last column, displaying is messed up.
|
||||
(Joël Rio)
|
||||
Solution: Check for a multi-byte character, not a multi-column character.
|
||||
Solution: Check for a multibyte character, not a multi-column character.
|
||||
Files: src/screen.c
|
||||
|
||||
Patch 6.3.062
|
||||
@@ -14384,7 +14384,7 @@ Files: src/edit.c
|
||||
Patch 6.3.072
|
||||
Problem: Crash in giving substitute message when language is Chinese and
|
||||
encoding is utf-8. (Yongwei)
|
||||
Solution: Make the msg_buf size larger when using multi-byte.
|
||||
Solution: Make the msg_buf size larger when using multibyte.
|
||||
Files: src/vim.h
|
||||
|
||||
Patch 6.3.073
|
||||
@@ -14508,7 +14508,7 @@ Solution: Change "a" to "b". (Tony Mechelynck)
|
||||
Files: src/version.h
|
||||
|
||||
Patch 6.4b.002
|
||||
Problem: In Insert mode, pasting a multi-byte character after the end of
|
||||
Problem: In Insert mode, pasting a multibyte character after the end of
|
||||
the line leaves the cursor just before that character.
|
||||
Solution: Make sure "gP" leaves the cursor in the right place when
|
||||
'virtualedit' is set.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version7.txt* For Vim version 8.2. Last change: 2016 Jul 17
|
||||
*version7.txt* For Vim version 8.2. Last change: 2020 Oct 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -22,7 +22,7 @@ Vim script enhancements |new-vim-script|
|
||||
Spell checking |new-spell|
|
||||
Omni completion |new-omni-completion|
|
||||
MzScheme interface |new-MzScheme|
|
||||
Printing multi-byte text |new-print-multi-byte|
|
||||
Printing multibyte text |new-print-multibyte|
|
||||
Tab pages |new-tab-pages|
|
||||
Undo branches |new-undo-branches|
|
||||
Extended Unicode support |new-more-unicode|
|
||||
@@ -302,10 +302,10 @@ The |:mzfile| command can be used to execute an MzScheme script file
|
||||
This depends on Vim being compiled with the |+mzscheme| feature.
|
||||
|
||||
|
||||
Printing multi-byte text *new-print-multi-byte*
|
||||
Printing multibyte text *new-print-multibyte*
|
||||
------------------------
|
||||
|
||||
The |:hardcopy| command now supports printing multi-byte characters when using
|
||||
The |:hardcopy| command now supports printing multibyte characters when using
|
||||
PostScript.
|
||||
|
||||
The 'printmbcharset' and 'printmbfont' options are used for this.
|
||||
@@ -1211,7 +1211,7 @@ Also fixes the problem that setting 'clipboard' to "unnamed" breaks using
|
||||
|
||||
Mac: GUI font selector. (Peter Cucka)
|
||||
|
||||
Mac: support for multi-byte characters. (Da Woon Jung)
|
||||
Mac: support for multibyte characters. (Da Woon Jung)
|
||||
This doesn't always work properly. If you see text drawing problems try
|
||||
switching the 'macatsui' option off.
|
||||
|
||||
@@ -1361,7 +1361,7 @@ When C, C++ or IDL syntax is used, may additionally load doxygen syntax.
|
||||
Support setting 'filetype' and 'syntax' to "aaa.bbb" for "aaa" plus "bbb"
|
||||
filetype or syntax.
|
||||
|
||||
The ":registers" command now displays multi-byte characters properly.
|
||||
The ":registers" command now displays multibyte characters properly.
|
||||
|
||||
VMS: In the usage message mention that a slash can be used to make a flag
|
||||
upper case. Add color support to the builtin vt320 terminal codes.
|
||||
@@ -1460,7 +1460,7 @@ To count items (pattern matches) without changing the buffer the 'n' flag has
|
||||
been added to |:substitute|. See |count-items|.
|
||||
|
||||
In a |:substitute| command the \u, \U, \l and \L items now also work for
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
|
||||
The "screen.linux" $TERM name is recognized to set the default for
|
||||
'background' to "dark". (Ciaran McCreesh) Also for "cygwin" and "putty".
|
||||
@@ -1736,7 +1736,7 @@ variables like for a regular command with a file argument.
|
||||
'cindent': When the argument of a #define looks like a C++ class the next line
|
||||
is indented too much.
|
||||
|
||||
When 'comments' includes multi-byte characters inserting the middle part and
|
||||
When 'comments' includes multibyte characters inserting the middle part and
|
||||
alignment may go wrong. 'cindent' also suffers from this for right-aligned
|
||||
items.
|
||||
|
||||
@@ -2309,7 +2309,7 @@ characters in v:this_session.
|
||||
|
||||
":set sta ts=8 sw=4 sts=2" deleted 4 spaces halfway a line instead of 2.
|
||||
|
||||
In a multi-byte file the foldmarker could be recognized in the trail byte.
|
||||
In a multibyte file the foldmarker could be recognized in the trail byte.
|
||||
(Taro Muraoka)
|
||||
|
||||
Pasting with CTRL-V and menu didn't work properly when some commands are
|
||||
@@ -2504,7 +2504,7 @@ a crash.
|
||||
|
||||
For a new tab page the 'scroll' option wasn't set to a good default.
|
||||
|
||||
Using an end offset for a search "/pat/e" didn't work properly for multi-byte
|
||||
Using an end offset for a search "/pat/e" didn't work properly for multibyte
|
||||
text. (Yukihiro Nakadaira)
|
||||
|
||||
":s/\n/,/" doubled the text when used on the last line.
|
||||
@@ -2604,7 +2604,7 @@ recursively. But after a ":normal" command the protection was reset.
|
||||
|
||||
":s/a/b/n" didn't work when 'modifiable' was off.
|
||||
|
||||
When $VIMRUNTIME includes a multi-byte character then rgb.txt could not be
|
||||
When $VIMRUNTIME includes a multibyte character then rgb.txt could not be
|
||||
found. (Yukihiro Nakadaira)
|
||||
|
||||
":mkspell" didn't work correctly for non-ASCII affix flags when conversion is
|
||||
@@ -2670,7 +2670,7 @@ keep them in the original order.
|
||||
Fixed a crash when editing a directory in diff mode. Don't trigger
|
||||
autocommands when executing the diff command.
|
||||
|
||||
Getting a keystroke could get stuck if 'encoding' is a multi-byte encoding and
|
||||
Getting a keystroke could get stuck if 'encoding' is a multibyte encoding and
|
||||
typing a special key.
|
||||
|
||||
When 'foldignore' is set the folds were not updated right away.
|
||||
@@ -2711,7 +2711,7 @@ When using ":vsp" or ":sp" the available space wasn't used equally between
|
||||
windows. (Servatius Brandt)
|
||||
|
||||
Expanding <cWORD> on a trailing blank resulted in the first word in the line
|
||||
if 'encoding' is a multi-byte encoding.
|
||||
if 'encoding' is a multibyte encoding.
|
||||
|
||||
Spell checking: spellbadword() didn't see a missing capital in the first word
|
||||
of a line. Popup menu now only suggest the capitalized word when appropriate.
|
||||
@@ -2734,7 +2734,7 @@ background, which made magenta text disappear. Now use reverse in this
|
||||
specific situation.
|
||||
|
||||
After completing the longest match "." didn't insert the same text. Repeating
|
||||
also didn't work correctly for multi-byte text.
|
||||
also didn't work correctly for multibyte text.
|
||||
|
||||
When using Insert mode completion and BS the whole word that was completed
|
||||
would result in all possible matches. Now stop completion. Also fixes that
|
||||
@@ -2751,7 +2751,7 @@ non-ASCII characters looked wrong. (Yegappan Lakshmanan)
|
||||
Motif: building failed when Xm/Notebook.h doesn't exist. Added a configure
|
||||
check, disable GUI tabline when it's missing.
|
||||
|
||||
Mac: When compiled without multi-byte feature the clipboard didn't work.
|
||||
Mac: When compiled without multibyte feature the clipboard didn't work.
|
||||
|
||||
It was possible to switch to another tab page when the cmdline window is open.
|
||||
|
||||
@@ -2762,7 +2762,7 @@ number following the file name.
|
||||
Added 'guitabtooltip'. Implemented for Win32 (Yegappan Lakshmanan).
|
||||
|
||||
Added "throw" to 'debug' option: throw an exception for error messages even
|
||||
whey they would otherwise be ignored.
|
||||
when they would otherwise be ignored.
|
||||
|
||||
When 'keymap' is set and a line contains an invalid entry could get a "No
|
||||
mapping found" warning instead of a proper error message.
|
||||
@@ -2867,7 +2867,7 @@ a crash.
|
||||
|
||||
GTK: The tab pages line menu was not converted from 'encoding' to utf-8.
|
||||
|
||||
Typing a multi-byte character or a special key at the hit-enter prompt did not
|
||||
Typing a multibyte character or a special key at the hit-enter prompt did not
|
||||
work.
|
||||
|
||||
When 'virtualedit' contains "onemore" CTRL-O in Insert mode still moved the
|
||||
@@ -3387,7 +3387,7 @@ Solution: When running Vim as root don't become a Vim server without an
|
||||
Files: src/main.c
|
||||
|
||||
Patch 7.0.053
|
||||
Problem: Shortening a directory name may fail when there are multi-byte
|
||||
Problem: Shortening a directory name may fail when there are multibyte
|
||||
characters.
|
||||
Solution: Copy the correct bytes. (Titov Anatoly)
|
||||
Files: src/misc1.c
|
||||
@@ -3621,7 +3621,7 @@ Solution: Remove the "-pipe" argument from PERL_CFLAGS.
|
||||
Files: src/auto/configure, src/configure.in
|
||||
|
||||
Patch 7.0.089
|
||||
Problem: "ga" does not work properly for a non-Unicode multi-byte encoding.
|
||||
Problem: "ga" does not work properly for a non-Unicode multibyte encoding.
|
||||
Solution: Only check for composing chars for utf-8. (Taro Muraoka)
|
||||
Files: src/ex_cmds.c
|
||||
|
||||
@@ -3859,7 +3859,7 @@ Solution: Set ins_need_undo after using 'formatexpr'.
|
||||
Files: src/edit.c
|
||||
|
||||
Patch 7.0.127
|
||||
Problem: Crash when swap files has invalid timestamp.
|
||||
Problem: Crash when swap file has invalid timestamp.
|
||||
Solution: Check return value of ctime() for being NULL.
|
||||
Files: src/memline.c
|
||||
|
||||
@@ -4224,7 +4224,7 @@ Files: src/if_cscope.c
|
||||
Patch 7.0.185
|
||||
Problem: Multi-byte characters in a message are displayed with attributes
|
||||
from what comes before it.
|
||||
Solution: Don't use the attributes for a multi-byte character. Do use
|
||||
Solution: Don't use the attributes for a multibyte character. Do use
|
||||
attributes for special characters. (Yukihiro Nakadaira)
|
||||
Files: src/message.c
|
||||
|
||||
@@ -4307,7 +4307,7 @@ Solution: Add type casts. Use "*" for processorArchitecture. (George Reilly)
|
||||
Files: src/Make_mvc.mak, src/eval.c, src/gvim.exe.mnf, src/misc2.c
|
||||
|
||||
Patch 7.0.199
|
||||
Problem: When using multi-byte characters the combination of completion and
|
||||
Problem: When using multibyte characters the combination of completion and
|
||||
formatting may result in a wrong cursor position.
|
||||
Solution: Don't decrement the cursor column, use dec_cursor(). (Yukihiro
|
||||
Nakadaira) Also check for the column to be zero.
|
||||
@@ -5902,10 +5902,10 @@ Solution: Don't advance the cursor when it's already on the NUL after a
|
||||
Files: src/normal.c
|
||||
|
||||
Patch 7.1.185
|
||||
Problem: Using "gR" with a multi-byte encoding and typing a CR pushes
|
||||
Problem: Using "gR" with a multibyte encoding and typing a CR pushes
|
||||
characters onto the replace stack incorrectly, resulting in BS
|
||||
putting back the wrong characters. (Paul B. Mahol)
|
||||
Solution: Push multi-byte characters onto the replace stack in reverse byte
|
||||
Solution: Push multibyte characters onto the replace stack in reverse byte
|
||||
order. Add replace_push_mb().
|
||||
Files: src/edit.c, src/misc1.c, src/proto/edit.pro
|
||||
|
||||
@@ -6112,7 +6112,7 @@ Files: runtime/doc/eval.txt, src/eval.c, src/hardcopy.c,
|
||||
|
||||
Patch 7.1.220
|
||||
Problem: When a ")" or word movement command moves the cursor back from the
|
||||
end of the line it may end up on the trail byte of a multi-byte
|
||||
end of the line it may end up on the trail byte of a multibyte
|
||||
character. It's also moved back when it isn't needed.
|
||||
Solution: Add the adjust_cursor() function.
|
||||
Files: src/normal.c
|
||||
@@ -6241,7 +6241,7 @@ Problem: When "gUe" turns a German sharp s into SS the operation stops
|
||||
before the end of the word. Latin2 has the same sharp s but it's
|
||||
not changed to SS there.
|
||||
Solution: Make sure all the characters are operated upon. Detect the sharp
|
||||
s in latin2. Also fixes that changing case of a multi-byte
|
||||
s in latin2. Also fixes that changing case of a multibyte
|
||||
character that changes the byte count doesn't always work.
|
||||
Files: src/ops.c
|
||||
|
||||
@@ -6757,9 +6757,9 @@ Solution: Use separate buffer for posix path. (Ben Schmidt)
|
||||
Files: src/os_unix.c
|
||||
|
||||
Patch 7.1.329
|
||||
Problem: When the popup menu is removed a column of cells, the right halve
|
||||
Problem: When the popup menu is removed a column of cells, the right half
|
||||
of double-wide characters, may not be redrawn.
|
||||
Solution: Check if the right halve of a character needs to be redrawn.
|
||||
Solution: Check if the right half of a character needs to be redrawn.
|
||||
(Yukihiro Nakadaira)
|
||||
Files: src/screen.c
|
||||
|
||||
@@ -6771,7 +6771,7 @@ Files: src/misc1.c
|
||||
|
||||
Warning for missing sentinel in gui_xmldlg.c. (Dominique Pelle)
|
||||
|
||||
A search offset from the end of a match didn't work properly for multi-byte
|
||||
A search offset from the end of a match didn't work properly for multibyte
|
||||
characters. (Yukihiro Nakadaira)
|
||||
|
||||
When displaying the value of 'key' don't show "*****" when the value is empty.
|
||||
@@ -6965,7 +6965,7 @@ The #ifdef for including "vimio.h" was inconsistent. In a few files it
|
||||
depended on MSWIN, which isn't defined until later.
|
||||
|
||||
Patch 7.2b.001
|
||||
Problem: Compilation problem: mb_fix_col() missing with multi-byte feature
|
||||
Problem: Compilation problem: mb_fix_col() missing with multibyte feature
|
||||
but without GUI or clipboard.
|
||||
Solution: Remove #ifdef.
|
||||
Files: src/mbyte.c
|
||||
@@ -7804,7 +7804,7 @@ Solution: Don't change "Columns" back to an old value at a wrong moment.
|
||||
Files: src/gui.c
|
||||
|
||||
Patch 7.2.066
|
||||
Problem: It's not easy to see whether 'encoding' is a multi-byte encoding.
|
||||
Problem: It's not easy to see whether 'encoding' is a multibyte encoding.
|
||||
Solution: Add has('multi_byte_encoding').
|
||||
Files: runtime/doc/eval.txt, src/eval.c
|
||||
|
||||
@@ -7949,7 +7949,7 @@ Solution: Don't use a WM_OLE message of zero size. (Ray Megal)
|
||||
Files: src/if_ole.cpp, src/gui_w48.c
|
||||
|
||||
Patch 7.2.090
|
||||
Problem: User command containing 0x80 in multi-byte character does not work
|
||||
Problem: User command containing 0x80 in multibyte character does not work
|
||||
properly. (Yasuhiro Matsumoto)
|
||||
Solution: Undo replacement of K_SPECIAL and CSI characters when executing
|
||||
the command.
|
||||
@@ -7967,7 +7967,7 @@ Files: src/eval.c
|
||||
|
||||
Patch 7.2.093 (extra)
|
||||
Problem: Win32: inputdialog() and find/replace dialogs can't handle
|
||||
multi-byte text.
|
||||
multibyte text.
|
||||
Solution: Use the wide version of dialog functions when available. (Yanwei
|
||||
Jia)
|
||||
Files: src/gui_w32.c, src/gui_w48.c
|
||||
@@ -8062,8 +8062,8 @@ Solution: Add #ifdef.
|
||||
Files: src/option.c
|
||||
|
||||
Patch 7.2.109
|
||||
Problem: 'langmap' does not work for multi-byte characters.
|
||||
Solution: Add a list of mapped multi-byte characters. (based on work by
|
||||
Problem: 'langmap' does not work for multibyte characters.
|
||||
Solution: Add a list of mapped multibyte characters. (based on work by
|
||||
Konstantin Korikov, Agathoklis Hatzimanikas)
|
||||
Files: runtime/doc/options.txt, src/edit.c, src/getchar.c, src/macros.h,
|
||||
src/normal.c, src/option.c, src/proto/option.pro, src/window.c
|
||||
@@ -8908,7 +8908,7 @@ Solution: Remove _FORTIFY_SOURCE=2 from CFLAGS. (Dominique Pelle)
|
||||
Files: src/auto/configure, src/configure.in
|
||||
|
||||
Patch 7.2.252
|
||||
Problem: When using a multi-byte 'enc' the 'iskeyword' option cannot
|
||||
Problem: When using a multibyte 'enc' the 'iskeyword' option cannot
|
||||
contain characters above 128.
|
||||
Solution: Use mb_ptr2char_adv().
|
||||
Files: src/charset.c
|
||||
@@ -9053,7 +9053,7 @@ Files: src/memline.c
|
||||
Patch 7.2.276
|
||||
Problem: Crash when setting 'isprint' to a small bullet. (Raul Coronado)
|
||||
Solution: Check for the character to be < 256. Also make it possible to
|
||||
specify a range of multi-byte characters. (Lech Lorens)
|
||||
specify a range of multibyte characters. (Lech Lorens)
|
||||
Files: src/charset.c
|
||||
|
||||
Patch 7.2.277
|
||||
@@ -9144,7 +9144,7 @@ Solution: Use utfc_ptr2char_len() rather than utfc_ptr2char(). (Dominique
|
||||
Files: src/screen.c
|
||||
|
||||
Patch 7.2.292
|
||||
Problem: Block right-shift doesn't work properly with multi-byte encoding
|
||||
Problem: Block right-shift doesn't work properly with multibyte encoding
|
||||
and 'list' set.
|
||||
Solution: Add the missing "else". (Lech Lorens)
|
||||
Files: src/ops.c
|
||||
@@ -9430,7 +9430,7 @@ Files: src/screen.c
|
||||
|
||||
Patch 7.2.342
|
||||
Problem: Popup menu displayed wrong in 'rightleft' mode when there are
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
Solution: Adjust the column computations. (Dominique Pelle)
|
||||
Files: src/popupmnu.c
|
||||
|
||||
@@ -10111,7 +10111,7 @@ Fix compile warnings, esp. for 64-bit systems. (Mike Williams)
|
||||
Fix: :redir to a dictionary that is changed before ":redir END" causes a
|
||||
memory access error.
|
||||
|
||||
Fix: terminal title not properly restored when there are multi-byte
|
||||
Fix: terminal title not properly restored when there are multibyte
|
||||
characters. (partly by James Vega)
|
||||
|
||||
Set 'wrapscan' when checking the .po files. (Mike Williams)
|
||||
@@ -10132,7 +10132,7 @@ Changed readfile() to ignore byte order marks, unless in binary mode.
|
||||
|
||||
On MS-Windows completion of shell commands didn't work.
|
||||
|
||||
An unprintable multi-byte character at the start of the screen line caused the
|
||||
An unprintable multibyte character at the start of the screen line caused the
|
||||
following text to be drawn at the wrong position.
|
||||
|
||||
Got ml_get errors when using undo with 'virtualedit'.
|
||||
@@ -10260,7 +10260,7 @@ Commands:
|
||||
Brabandt)
|
||||
|
||||
Other:
|
||||
Lua interface now also uses userdata binded to Vim structures. (Taro
|
||||
Lua interface now also uses userdata bound to Vim structures. (Taro
|
||||
Muraoka, Luis Carvalho)
|
||||
|
||||
glob() and autocommand patterns used to work with the undocumented
|
||||
@@ -10391,7 +10391,7 @@ Solution: Increase the list reference count. Add a test for undotree()
|
||||
Files: src/eval.c, src/testdir/Makefile, src/testdir/test61.in
|
||||
|
||||
Patch 7.3.006
|
||||
Problem: Can't build some multi-byte code with C89.
|
||||
Problem: Can't build some multibyte code with C89.
|
||||
Solution: Move code to after declarations. (Joachim Schmitz)
|
||||
Files: src/mbyte.c, src/spell.c
|
||||
|
||||
@@ -11161,7 +11161,7 @@ Solution: Call update_screen() before waiting for input.
|
||||
Files: src/misc1.c, src/getchar.c
|
||||
|
||||
Patch 7.3.138
|
||||
Problem: ":com" changes the multi-byte text of :echo. (Dimitar Dimitrov)
|
||||
Problem: ":com" changes the multibyte text of :echo. (Dimitar Dimitrov)
|
||||
Solution: Search for K_SPECIAL as a byte, not a character. (Ben Schmidt)
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
@@ -11486,7 +11486,7 @@ Files: README_extra.txt, src/Make_ro.mak, src/INSTALL, src/Makefile,
|
||||
src/option.h, src/structs.h, src/version.c, src/pty.c, Filelist
|
||||
|
||||
Patch 7.3.192
|
||||
Problem: Ex command ":s/ \?/ /g" splits multi-byte characters into bytes.
|
||||
Problem: Ex command ":s/ \?/ /g" splits multibyte characters into bytes.
|
||||
(Dominique Pelle)
|
||||
Solution: Advance over whole character instead of one byte.
|
||||
Files: src/ex_cmds.c
|
||||
@@ -12016,15 +12016,15 @@ Solution: Only restore the cursor position when there is a command line.
|
||||
Files: src/ex_getln.c
|
||||
|
||||
Patch 7.3.283
|
||||
Problem: An expression mapping with a multi-byte character containing a
|
||||
Problem: An expression mapping with a multibyte character containing a
|
||||
0x80 byte gets messed up. (ZyX)
|
||||
Solution: Unescape the expression before evaluating it (Yukihiro Nakadaira)
|
||||
Files: src/getchar.c
|
||||
|
||||
Patch 7.3.284
|
||||
Problem: The str2special() function doesn't handle multi-byte characters
|
||||
Problem: The str2special() function doesn't handle multibyte characters
|
||||
properly.
|
||||
Solution: Recognize multi-byte characters. (partly by Vladimir Vichniakov)
|
||||
Solution: Recognize multibyte characters. (partly by Vladimir Vichniakov)
|
||||
Files: src/getchar.c, src/message.c, src/misc2.c
|
||||
|
||||
Patch 7.3.285 (after 7.3.284)
|
||||
@@ -12112,7 +12112,7 @@ Solution: Adjust the style. (Elias Diem)
|
||||
Files: src/gui_photon.c
|
||||
|
||||
Patch 7.3.300
|
||||
Problem: Python doesn't parse multi-byte argument correctly.
|
||||
Problem: Python doesn't parse multibyte argument correctly.
|
||||
Solution: Use "t" instead of "s". (lilydjwg)
|
||||
Files: src/if_py_both.h
|
||||
|
||||
@@ -12270,7 +12270,7 @@ Files: src/ex_cmds.c
|
||||
|
||||
Patch 7.3.328
|
||||
Problem: When command line wraps the cursor may be displayed wrong when
|
||||
there are multi-byte characters.
|
||||
there are multibyte characters.
|
||||
Solution: Position the cursor before drawing the text. (Yasuhiro Matsumoto)
|
||||
Files: src/ex_getln.c
|
||||
|
||||
@@ -13377,7 +13377,7 @@ Solution: Move the call to gui_mch_init_check() to after fork(). (Yasuhiro
|
||||
Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro
|
||||
|
||||
Patch 7.3.521
|
||||
Problem: Using "z=" on a multi-byte character may cause a crash.
|
||||
Problem: Using "z=" on a multibyte character may cause a crash.
|
||||
Solution: Don't use strlen() on an int pointer.
|
||||
Files: src/spell.c
|
||||
|
||||
@@ -13475,7 +13475,7 @@ Files: src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok
|
||||
|
||||
Patch 7.3.539
|
||||
Problem: Redrawing a character on the command line does not work properly
|
||||
for multi-byte characters.
|
||||
for multibyte characters.
|
||||
Solution: Count the number of bytes in a character. (Yukihiro Nakadaira)
|
||||
Files: src/ex_getln.c
|
||||
|
||||
@@ -13854,7 +13854,7 @@ Solution: Add #ifdef for MEMORYSTATUSEX.
|
||||
Files: src/os_win32.c
|
||||
|
||||
Patch 7.3.606
|
||||
Problem: CTRL-P completion has a problem with multi-byte characters.
|
||||
Problem: CTRL-P completion has a problem with multibyte characters.
|
||||
Solution: Check for next character being NUL properly. (Yasuhiro Matsumoto)
|
||||
Files: src/search.c, src/macros.h
|
||||
|
||||
@@ -14190,7 +14190,7 @@ Files: src/ex_docmd.c
|
||||
|
||||
Patch 7.3.664
|
||||
Problem: Buffer overflow in unescaping text. (Raymond Ko)
|
||||
Solution: Limit check for multi-byte character to 4 bytes.
|
||||
Solution: Limit check for multibyte character to 4 bytes.
|
||||
Files: src/mbyte.c
|
||||
|
||||
Patch 7.3.665
|
||||
@@ -14357,8 +14357,8 @@ Solution: Add the shiftwidth() function. (so8res)
|
||||
Files: runtime/doc/eval.txt, src/eval.c
|
||||
|
||||
Patch 7.3.695
|
||||
Problem: Balloon cannot show multi-byte text.
|
||||
Solution: Properly deal with multi-byte characters. (Dominique Pelle)
|
||||
Problem: Balloon cannot show multibyte text.
|
||||
Solution: Properly deal with multibyte characters. (Dominique Pelle)
|
||||
Files: src/gui_beval.c, src/ui.c
|
||||
|
||||
Patch 7.3.696
|
||||
@@ -14656,7 +14656,7 @@ Files: runtime/doc/eval.txt, src/eval.c, src/proto/screen.pro,
|
||||
src/testdir/test88.ok,
|
||||
|
||||
Patch 7.3.749
|
||||
Problem: Python interface doesn't build without the multi-byte feature.
|
||||
Problem: Python interface doesn't build without the multibyte feature.
|
||||
Solution: Add #ifdef. (Ken Takata)
|
||||
Files: src/if_py_both.h
|
||||
|
||||
@@ -14762,7 +14762,7 @@ Solution: Save and restore the cursor position when appropriate. (idea by
|
||||
Files: src/edit.c
|
||||
|
||||
Patch 7.3.769
|
||||
Problem: 'matchpairs' does not work with multi-byte characters.
|
||||
Problem: 'matchpairs' does not work with multibyte characters.
|
||||
Solution: Make it work. (Christian Brabandt)
|
||||
Files: src/misc1.c, src/option.c, src/proto/option.pro, src/search.c,
|
||||
src/testdir/test69.in, src/testdir/test69.ok
|
||||
@@ -15182,9 +15182,9 @@ Solution: Add lines for new files.
|
||||
Files: Filelist
|
||||
|
||||
Patch 7.3.840
|
||||
Problem: "\@<!" in regexp does not work correctly with multi-byte
|
||||
Problem: "\@<!" in regexp does not work correctly with multibyte
|
||||
characters, especially cp932.
|
||||
Solution: Move column to start of multi-byte character. (Yasuhiro Matsumoto)
|
||||
Solution: Move column to start of multibyte character. (Yasuhiro Matsumoto)
|
||||
Files: src/regexp.c
|
||||
|
||||
Patch 7.3.841
|
||||
@@ -15254,7 +15254,7 @@ Solution: Use Xutf8TextPropertyToTextList(). (Christian Brabandt)
|
||||
Files: src/ui.c, src/ops.c
|
||||
|
||||
Patch 7.3.853
|
||||
Problem: Using "ra" in multiple lines on multi-byte characters leaves a few
|
||||
Problem: Using "ra" in multiple lines on multibyte characters leaves a few
|
||||
characters not replaced.
|
||||
Solution: Adjust the end column only in the last line. (Yasuhiro Matsumoto)
|
||||
Files: src/testdir/test69.in, src/testdir/test69.ok, src/ops.c
|
||||
@@ -15271,7 +15271,7 @@ Solution: Add type casts. (Mike Williams)
|
||||
Files: src/misc1.c
|
||||
|
||||
Patch 7.3.856
|
||||
Problem: When calling system() multi-byte clipboard contents is garbled.
|
||||
Problem: When calling system() multibyte clipboard contents is garbled.
|
||||
Solution: Save and restore the clipboard contents. (Yukihiro Nakadaira)
|
||||
Files: src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, src/ops.c,
|
||||
src/proto/ops.pro, src/os_unix.c, src/proto/ui.pro, src/ui.c
|
||||
@@ -15379,9 +15379,9 @@ Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok,
|
||||
src/testdir/test80.in, src/testdir/test80.ok
|
||||
|
||||
Patch 7.3.874
|
||||
Problem: Comparing file names does not handle multi-byte characters
|
||||
Problem: Comparing file names does not handle multibyte characters
|
||||
properly.
|
||||
Solution: Implement multi-byte handling.
|
||||
Solution: Implement multibyte handling.
|
||||
Files: src/misc1.c, src/misc2.c
|
||||
|
||||
Patch 7.3.875 (after 7.3.866)
|
||||
@@ -15443,7 +15443,7 @@ Solution: Do not unref list and dict. (Yasuhiro Matsumoto)
|
||||
Files: src/if_lua.c
|
||||
|
||||
Patch 7.3.886
|
||||
Problem: Can't build with multi-byte on Solaris 10.
|
||||
Problem: Can't build with multibyte on Solaris 10.
|
||||
Solution: Add #ifdef X_HAVE_UTF8_STRING. (Laurent Blume)
|
||||
Files: src/ui.c
|
||||
|
||||
@@ -15457,7 +15457,7 @@ Files: src/testdir/test94.in, src/testdir/test94.ok,
|
||||
|
||||
Patch 7.3.888
|
||||
Problem: Filename completion with 'fileignorecase' does not work for
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
Solution: Make 'fileignorecase' work properly. (Hirohito Higashi)
|
||||
Files: src/misc2.c
|
||||
|
||||
@@ -15933,7 +15933,7 @@ Files: src/if_py_both.h
|
||||
Patch 7.3.968
|
||||
Problem: Multi-byte support is only available when compiled with "big"
|
||||
features.
|
||||
Solution: Include multi-byte by default, with "normal" features.
|
||||
Solution: Include multibyte by default, with "normal" features.
|
||||
Files: src/feature.h
|
||||
|
||||
Patch 7.3.969
|
||||
@@ -16009,19 +16009,19 @@ Files: src/regexp_nfa.c
|
||||
|
||||
Patch 7.3.980
|
||||
Problem: Regexp logs may contain garbage. Character classes don't work
|
||||
correctly for multi-byte characters.
|
||||
correctly for multibyte characters.
|
||||
Solution: Check for end of post list. Only use "is" functions for
|
||||
characters up to 255. (Ken Takata)
|
||||
Files: src/regexp_nfa.c
|
||||
|
||||
Patch 7.3.981
|
||||
Problem: In the old regexp engine \i, \I, \f and \F don't work on
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
Solution: Dereference pointer properly.
|
||||
Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok
|
||||
|
||||
Patch 7.3.982
|
||||
Problem: In the new regexp engine \p does not work on multi-byte
|
||||
Problem: In the new regexp engine \p does not work on multibyte
|
||||
characters.
|
||||
Solution: Don't point to an integer but the characters.
|
||||
Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
|
||||
@@ -16169,7 +16169,7 @@ Files: src/memfile.c
|
||||
|
||||
Patch 7.3.1008
|
||||
Problem: Test 95 fails on MS-Windows.
|
||||
Solution: Set 'nomore'. Change \i to \f. Change multi-byte character to
|
||||
Solution: Set 'nomore'. Change \i to \f. Change multibyte character to
|
||||
something that is not matching \i. (Ken Takata)
|
||||
Files: src/testdir/test95.in, src/testdir/test95.ok
|
||||
|
||||
@@ -16185,7 +16185,7 @@ Solution: Only apply ireg_icombine for composing characters.
|
||||
Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
|
||||
|
||||
Patch 7.3.1011
|
||||
Problem: New regexp engine is inefficient with multi-byte characters.
|
||||
Problem: New regexp engine is inefficient with multibyte characters.
|
||||
Solution: Handle a character at a time instead of a byte at a time. Also
|
||||
make \Z partly work.
|
||||
Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
|
||||
@@ -16313,7 +16313,7 @@ Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok,
|
||||
src/regexp.h
|
||||
|
||||
Patch 7.3.1034
|
||||
Problem: New regexp code using strange multi-byte code.
|
||||
Problem: New regexp code using strange multibyte code.
|
||||
Solution: Use the normal code to advance and backup pointers.
|
||||
Files: src/regexp_nfa.c
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user