mirror of
https://github.com/zoriya/vim.git
synced 2025-12-14 11:16:16 +00:00
Compare commits
920 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
467676d468 | ||
|
|
4d8c96d466 | ||
|
|
285b15fce1 | ||
|
|
89015a6759 | ||
|
|
4012d26207 | ||
|
|
8242ebbdba | ||
|
|
864a28b6a6 | ||
|
|
41a834d1e3 | ||
|
|
dcc58e031d | ||
|
|
9b8d62267f | ||
|
|
ed1e4c9a70 | ||
|
|
746670604a | ||
|
|
dace9f785f | ||
|
|
3e112acc22 | ||
|
|
17793ef23a | ||
|
|
9618a25b9c | ||
|
|
e4862a0fe6 | ||
|
|
179eb567b1 | ||
|
|
39cb2dab18 | ||
|
|
4389f9cd00 | ||
|
|
e462f52db3 | ||
|
|
7e3ee7823f | ||
|
|
a629495530 | ||
|
|
07a65d26e7 | ||
|
|
cdc40c43f1 | ||
|
|
2b32700dab | ||
|
|
b0ac4ea5e1 | ||
|
|
e5730bdcea | ||
|
|
7e3682068b | ||
|
|
fc0e8f5c3e | ||
|
|
20a762987e | ||
|
|
6e2c2c50ba | ||
|
|
56ce9ea3ea | ||
|
|
f8103f274e | ||
|
|
7cfcd0c99c | ||
|
|
c754b4cc98 | ||
|
|
b2f9e0e2c5 | ||
|
|
3868f59466 | ||
|
|
9e68c32563 | ||
|
|
4aab88d919 | ||
|
|
38455a9213 | ||
|
|
0261a1aeeb | ||
|
|
c139aa8a2b | ||
|
|
b04ddb5b04 | ||
|
|
b54f1202b3 | ||
|
|
4941b5effd | ||
|
|
6dd41b1d57 | ||
|
|
65c4415276 | ||
|
|
b34f337472 | ||
|
|
16204962c7 | ||
|
|
bd318559cf | ||
|
|
27bf7af9d0 | ||
|
|
b3c8b1d254 | ||
|
|
23999d799c | ||
|
|
4072ba571b | ||
|
|
9f63a65f22 | ||
|
|
abcbb0e9ad | ||
|
|
1dcf55d4f1 | ||
|
|
89b474dd4f | ||
|
|
3bdc90b7df | ||
|
|
e5492609b3 | ||
|
|
58a52f215a | ||
|
|
077a42318c | ||
|
|
032a2d050b | ||
|
|
cd45ed03bf | ||
|
|
07761a3b96 | ||
|
|
5b3d1bb0f5 | ||
|
|
c882e4d169 | ||
|
|
1cfb9bb5c0 | ||
|
|
9a963377b4 | ||
|
|
60f63100b9 | ||
|
|
f4e2099e39 | ||
|
|
a3d10a508c | ||
|
|
6f17a3f023 | ||
|
|
4f5e397756 | ||
|
|
2e2f52a4a0 | ||
|
|
ef2dff52de | ||
|
|
6a78f32844 | ||
|
|
9aff970204 | ||
|
|
8c9d98a8af | ||
|
|
52c124d330 | ||
|
|
5082471f91 | ||
|
|
61e07b2394 | ||
|
|
f112f30a82 | ||
|
|
090728ad4d | ||
|
|
d24602f43c | ||
|
|
d88dc4d4e9 | ||
|
|
d0a1dee3f1 | ||
|
|
8f22f5c3aa | ||
|
|
17f700ac8b | ||
|
|
13656f02e4 | ||
|
|
03290b8444 | ||
|
|
1f33e0a7c4 | ||
|
|
8e7d6223f6 | ||
|
|
3beaf9cd8e | ||
|
|
6e562fcc07 | ||
|
|
9aed729fe9 | ||
|
|
b5b77378bc | ||
|
|
18f69229c5 | ||
|
|
0353f56ddb | ||
|
|
b125b535bb | ||
|
|
8dd46e72cf | ||
|
|
a79a8944da | ||
|
|
8ea05de6aa | ||
|
|
4c5bdb99ad | ||
|
|
1c0aa97827 | ||
|
|
530bed993e | ||
|
|
9987fb0b4b | ||
|
|
399ea8108c | ||
|
|
025cb1ca86 | ||
|
|
ec792290eb | ||
|
|
fffdf4754f | ||
|
|
8143a53c53 | ||
|
|
2a3cd3af45 | ||
|
|
acbae18df5 | ||
|
|
b5b9480ee9 | ||
|
|
e498429087 | ||
|
|
c530852315 | ||
|
|
93f82cbee5 | ||
|
|
57f799e6a4 | ||
|
|
2a9d5d386b | ||
|
|
3ae50c775c | ||
|
|
709664cca0 | ||
|
|
cc2335896b | ||
|
|
0ea7421ae6 | ||
|
|
100118c73a | ||
|
|
1b884a0053 | ||
|
|
70249ee831 | ||
|
|
0e12140550 | ||
|
|
8f1bf2ef78 | ||
|
|
08597875b2 | ||
|
|
d356fc65d2 | ||
|
|
9ec7026f24 | ||
|
|
a7a691cc14 | ||
|
|
730677a0da | ||
|
|
7988a6f0e9 | ||
|
|
f46bf5204c | ||
|
|
7bb4e74c38 | ||
|
|
2c78a772fd | ||
|
|
7257af477b | ||
|
|
61265b4000 | ||
|
|
1b3e0727ce | ||
|
|
ac665c24c9 | ||
|
|
023fd5d213 | ||
|
|
8e1cbb55c3 | ||
|
|
8a3da6a368 | ||
|
|
083966f671 | ||
|
|
8ff16e0183 | ||
|
|
b237ae7b83 | ||
|
|
7b130b9738 | ||
|
|
d5a986f460 | ||
|
|
41d6196e30 | ||
|
|
5402175815 | ||
|
|
8bb0f5472c | ||
|
|
67322bf74a | ||
|
|
918a424917 | ||
|
|
08cf0c0d82 | ||
|
|
56602ba153 | ||
|
|
f665e97ffa | ||
|
|
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 | ||
|
|
040f975fc1 | ||
|
|
035d6e91bd | ||
|
|
097148e849 | ||
|
|
4301a729ea | ||
|
|
f7c4d83609 | ||
|
|
59eccb92e3 | ||
|
|
8294d49937 | ||
|
|
efb6482949 | ||
|
|
3e06a1e2a8 | ||
|
|
6f8f7337c1 | ||
|
|
bf61fdd008 | ||
|
|
94f4ffa770 | ||
|
|
6e4cfffe80 | ||
|
|
a9a47d157a | ||
|
|
7f7a888869 | ||
|
|
1e91eafc2e | ||
|
|
64d662d5fc | ||
|
|
127542bceb | ||
|
|
a1b9b0cc01 | ||
|
|
a7cc9e697b | ||
|
|
b3ca982407 | ||
|
|
3896a105eb | ||
|
|
94f6c06ac5 | ||
|
|
62a232506d | ||
|
|
730b248339 | ||
|
|
efa94447e8 | ||
|
|
daa2f36573 | ||
|
|
4a6d1b660f | ||
|
|
5a849da57c | ||
|
|
98b4f145eb | ||
|
|
2dd0a2c39a | ||
|
|
b7f4fa5177 | ||
|
|
bf8feb5aeb | ||
|
|
fa211f3c6d | ||
|
|
1c199f9c70 | ||
|
|
74d95b5b58 | ||
|
|
dd29f1b056 | ||
|
|
e7b1ea0276 | ||
|
|
95dd9f2571 | ||
|
|
994b89d28d | ||
|
|
de6804d871 | ||
|
|
8ce4b7ed85 | ||
|
|
9470a4d88a | ||
|
|
8e1986e389 | ||
|
|
56b8dc331d | ||
|
|
3d945cc925 | ||
|
|
ae95a3946b | ||
|
|
bbd3e3c357 | ||
|
|
b8d732e93e | ||
|
|
803af686e2 | ||
|
|
c5da1fb7ea | ||
|
|
a71e263320 | ||
|
|
f9b2b49663 | ||
|
|
fdac71c507 | ||
|
|
3c1c9fd94b | ||
|
|
c753478b82 | ||
|
|
14ddd226da | ||
|
|
ff1cd39cfe | ||
|
|
b4caa163ff | ||
|
|
a6296200bd | ||
|
|
bb1b5e24ec | ||
|
|
282f9c64e5 | ||
|
|
e46a2ed0d8 | ||
|
|
ecd34bf55d | ||
|
|
6a25026262 | ||
|
|
f96e9dec63 | ||
|
|
8314454648 | ||
|
|
434d72cbf2 | ||
|
|
658217276f | ||
|
|
7226e5b19b | ||
|
|
c2ee44cc38 | ||
|
|
aa970abd0a | ||
|
|
8b89614e69 | ||
|
|
ad486a0f0d | ||
|
|
bcbf41395f | ||
|
|
b9a2cac3ef | ||
|
|
eef2102e20 | ||
|
|
e4218b9416 | ||
|
|
909443028b |
@@ -3,6 +3,8 @@ env:
|
|||||||
FEATURES: huge
|
FEATURES: huge
|
||||||
|
|
||||||
freebsd_12_task:
|
freebsd_12_task:
|
||||||
|
only_if: $CIRRUS_TAG == ''
|
||||||
|
timeout_in: 20m
|
||||||
freebsd_instance:
|
freebsd_instance:
|
||||||
image: freebsd-12-1-release-amd64
|
image: freebsd-12-1-release-amd64
|
||||||
install_script:
|
install_script:
|
||||||
|
|||||||
1
.coveralls.yml
Normal file
1
.coveralls.yml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
service_name: github-actions
|
||||||
198
.github/CODEOWNERS
vendored
Normal file
198
.github/CODEOWNERS
vendored
Normal file
@@ -0,0 +1,198 @@
|
|||||||
|
# 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/xmlformat.vim @chrisbra
|
||||||
|
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/compiler/zsh.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/cfg.vim @chrisbra
|
||||||
|
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/gprof.vim @dpelle
|
||||||
|
runtime/ftplugin/haml.vim @tpope
|
||||||
|
runtime/ftplugin/hgcommit.vim @k-takata
|
||||||
|
runtime/ftplugin/javascript.vim @dkearns
|
||||||
|
runtime/ftplugin/javascriptreact.vim @dkearns
|
||||||
|
runtime/ftplugin/kconfig.vim @chrisbra
|
||||||
|
runtime/ftplugin/liquid.vim @tpope
|
||||||
|
runtime/ftplugin/markdown.vim @tpope
|
||||||
|
runtime/ftplugin/matlab.vim @cecamp
|
||||||
|
runtime/ftplugin/nroff.vim @a-vrma
|
||||||
|
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/spec.vim @ignatenkobrain
|
||||||
|
runtime/ftplugin/tmux.vim @ericpruitt
|
||||||
|
runtime/ftplugin/typescript.vim @dkearns
|
||||||
|
runtime/ftplugin/typescriptreact.vim @dkearns
|
||||||
|
runtime/ftplugin/xml.vim @chrisbra
|
||||||
|
runtime/ftplugin/zsh.vim @chrisbra
|
||||||
|
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/sh.vim @chrisbra
|
||||||
|
runtime/indent/teraterm.vim @k-takata
|
||||||
|
runtime/indent/xml.vim @chrisbra
|
||||||
|
runtime/indent/zsh.vim @chrisbra
|
||||||
|
runtime/keymap/tamil_tscii.vim @yegappan
|
||||||
|
runtime/pack/dist/opt/cfilter/plugin/cfilter.vim @yegappan
|
||||||
|
runtime/pack/dist/opt/matchit/ @chrisbra
|
||||||
|
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/aidl.vim @dpelle
|
||||||
|
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/cabal.vim @coot
|
||||||
|
runtime/syntax/cabalconfig.vim @coot
|
||||||
|
runtime/syntax/cabalproject.vim @coot
|
||||||
|
runtime/syntax/cs.vim @nickspoons
|
||||||
|
runtime/syntax/cs.vim @nickspoons
|
||||||
|
runtime/syntax/csh.vim @cecamp
|
||||||
|
runtime/syntax/cucumber.vim @tpope
|
||||||
|
runtime/syntax/datascript.vim @dpelle
|
||||||
|
runtime/syntax/dcl.vim @cecamp
|
||||||
|
runtime/syntax/doxygen.vim @frogonwheels
|
||||||
|
runtime/syntax/dtd.vim @chrisbra
|
||||||
|
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/gprof.vim @dpelle
|
||||||
|
runtime/syntax/haml.vim @tpope
|
||||||
|
runtime/syntax/haskell.vim @coot
|
||||||
|
runtime/syntax/hgcommit.vim @k-takata
|
||||||
|
runtime/syntax/kconfig.vim @chrisbra
|
||||||
|
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/rc.vim @chrisbra
|
||||||
|
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/spec.vim @ignatenkobrain
|
||||||
|
runtime/syntax/sqloracle.vim @chrisbra
|
||||||
|
runtime/syntax/sshdconfig.vim @Jakuje
|
||||||
|
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/xml.vim @chrisbra
|
||||||
|
runtime/syntax/xslt.vim @Boobies
|
||||||
|
runtime/syntax/xxd.vim @cecamp
|
||||||
|
runtime/syntax/yacc.vim @cecamp
|
||||||
|
runtime/syntax/zsh.vim @chrisbra
|
||||||
|
runtime/tutor/tutor.eo @dpelle
|
||||||
|
runtime/tutor/tutor.eo.utf-8 @dpelle
|
||||||
|
runtime/tutor/tutor.fr @dpelle
|
||||||
|
runtime/tutor/tutor.fr.utf-8 @dpelle
|
||||||
|
src/po/de.po @chrisbra
|
||||||
|
src/po/eo.po @dpelle
|
||||||
|
src/po/fr.po @dpelle
|
||||||
227
.github/workflows/ci-windows.yaml
vendored
227
.github/workflows/ci-windows.yaml
vendored
@@ -1,227 +0,0 @@
|
|||||||
name: GitHub CI
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- '*'
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
env:
|
|
||||||
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat
|
|
||||||
|
|
||||||
# Interfaces
|
|
||||||
# Lua
|
|
||||||
LUA_VER: 54
|
|
||||||
LUA_VER_DOT: '5.4'
|
|
||||||
LUA_RELEASE: 5.4.0
|
|
||||||
LUA32_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win32_dllw6_lib.zip
|
|
||||||
LUA64_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win64_dllw6_lib.zip
|
|
||||||
LUA_DIR: D:\Lua
|
|
||||||
# Python 2
|
|
||||||
PYTHON_VER: 27
|
|
||||||
PYTHON_VER_DOT: '2.7'
|
|
||||||
# Python 3
|
|
||||||
PYTHON3_VER: 38
|
|
||||||
PYTHON3_VER_DOT: '3.8'
|
|
||||||
|
|
||||||
# Other dependencies
|
|
||||||
# winpty
|
|
||||||
WINPTY_URL: https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
|
|
||||||
|
|
||||||
# Escape sequences
|
|
||||||
COL_RED: "\x1b[31m"
|
|
||||||
COL_GREEN: "\x1b[32m"
|
|
||||||
COL_YELLOW: "\x1b[33m"
|
|
||||||
COL_RESET: "\x1b[m"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: windows-latest
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
toolchain: [msvc, mingw]
|
|
||||||
arch: [x64, x86]
|
|
||||||
features: [HUGE, NORMAL]
|
|
||||||
include:
|
|
||||||
- arch: x64
|
|
||||||
vcarch: amd64
|
|
||||||
warch: x64
|
|
||||||
bits: 64
|
|
||||||
msystem: MINGW64
|
|
||||||
cygreg: registry
|
|
||||||
pyreg: ""
|
|
||||||
- arch: x86
|
|
||||||
vcarch: x86
|
|
||||||
warch: ia32
|
|
||||||
bits: 32
|
|
||||||
msystem: MINGW32
|
|
||||||
cygreg: registry32
|
|
||||||
pyreg: "-32"
|
|
||||||
exclude:
|
|
||||||
- toolchain: msvc
|
|
||||||
arch: x64
|
|
||||||
features: NORMAL
|
|
||||||
- toolchain: mingw
|
|
||||||
arch: x86
|
|
||||||
features: NORMAL
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Initalize
|
|
||||||
id: init
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
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"
|
|
||||||
|
|
||||||
- uses: msys2/setup-msys2@v2
|
|
||||||
if: matrix.toolchain == 'mingw'
|
|
||||||
with:
|
|
||||||
msystem: ${{ matrix.msystem }}
|
|
||||||
release: false
|
|
||||||
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Create a list of download URLs
|
|
||||||
shell: cmd
|
|
||||||
run: |
|
|
||||||
type NUL > urls.txt
|
|
||||||
echo %LUA_RELEASE%>> urls.txt
|
|
||||||
echo %WINPTY_URL%>> urls.txt
|
|
||||||
|
|
||||||
- name: Cache downloaded files
|
|
||||||
uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: downloads
|
|
||||||
key: ${{ runner.os }}-${{ matrix.bits }}-${{ hashFiles('urls.txt') }}
|
|
||||||
|
|
||||||
- name: Download dependencies
|
|
||||||
shell: cmd
|
|
||||||
run: |
|
|
||||||
path C:\Program Files\7-Zip;%path%
|
|
||||||
if not exist downloads mkdir downloads
|
|
||||||
|
|
||||||
echo %COL_GREEN%Download Lua%COL_RESET%
|
|
||||||
call :downloadfile %LUA${{ matrix.bits }}_URL% downloads\lua.zip
|
|
||||||
7z x downloads\lua.zip -o%LUA_DIR% > nul || exit 1
|
|
||||||
|
|
||||||
echo %COL_GREEN%Download winpty%COL_RESET%
|
|
||||||
call :downloadfile %WINPTY_URL% downloads\winpty.zip
|
|
||||||
7z x -y downloads\winpty.zip -oD:\winpty > nul || exit 1
|
|
||||||
copy /Y D:\winpty\${{ matrix.warch }}\bin\winpty.dll src\winpty${{ matrix.bits }}.dll
|
|
||||||
copy /Y D:\winpty\${{ matrix.warch }}\bin\winpty-agent.exe src\
|
|
||||||
|
|
||||||
goto :eof
|
|
||||||
|
|
||||||
:downloadfile
|
|
||||||
:: call :downloadfile <URL> <localfile>
|
|
||||||
if not exist %2 (
|
|
||||||
curl -f -L %1 -o %2
|
|
||||||
)
|
|
||||||
if ERRORLEVEL 1 (
|
|
||||||
rem Retry once.
|
|
||||||
curl -f -L %1 -o %2 || exit 1
|
|
||||||
)
|
|
||||||
goto :eof
|
|
||||||
|
|
||||||
- name: Build (MSVC)
|
|
||||||
if: matrix.toolchain == 'msvc'
|
|
||||||
shell: cmd
|
|
||||||
run: |
|
|
||||||
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
|
||||||
cd src
|
|
||||||
:: Filter out the progress bar from the build log
|
|
||||||
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
|
|
||||||
if "${{ matrix.features }}"=="HUGE" (
|
|
||||||
nmake -nologo -f Make_mvc2.mak ^
|
|
||||||
FEATURES=${{ matrix.features }} ^
|
|
||||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes ^
|
|
||||||
DYNAMIC_LUA=yes LUA=%LUA_DIR% ^
|
|
||||||
DYNAMIC_PYTHON=yes PYTHON=%PYTHON_DIR% ^
|
|
||||||
DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR%
|
|
||||||
) else (
|
|
||||||
nmake -nologo -f Make_mvc2.mak ^
|
|
||||||
FEATURES=${{ matrix.features }} ^
|
|
||||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes
|
|
||||||
)
|
|
||||||
if not exist vim${{ matrix.bits }}.dll (
|
|
||||||
echo %COL_RED%Build failure.%COL_RESET%
|
|
||||||
exit 1
|
|
||||||
)
|
|
||||||
|
|
||||||
- name: Build (MinGW)
|
|
||||||
if: matrix.toolchain == 'mingw'
|
|
||||||
shell: msys2 {0}
|
|
||||||
run: |
|
|
||||||
cd src
|
|
||||||
if [ "${{ matrix.features }}" = "HUGE" ]; then
|
|
||||||
mingw32-make -f Make_ming.mak -j2 \
|
|
||||||
FEATURES=${{ matrix.features }} \
|
|
||||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes \
|
|
||||||
DYNAMIC_LUA=yes LUA=${LUA_DIR} \
|
|
||||||
DYNAMIC_PYTHON=yes PYTHON=${PYTHON_DIR} \
|
|
||||||
DYNAMIC_PYTHON3=yes PYTHON3=${PYTHON3_DIR} \
|
|
||||||
STATIC_STDCPLUS=yes
|
|
||||||
else
|
|
||||||
mingw32-make -f Make_ming.mak -j2 \
|
|
||||||
FEATURES=${{ matrix.features }} \
|
|
||||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes \
|
|
||||||
STATIC_STDCPLUS=yes
|
|
||||||
fi
|
|
||||||
|
|
||||||
# - name: Prepare Artifact
|
|
||||||
# shell: cmd
|
|
||||||
# run: |
|
|
||||||
# mkdir artifacts
|
|
||||||
# copy src\*vim.exe artifacts
|
|
||||||
# copy src\vim*.dll artifacts
|
|
||||||
#
|
|
||||||
# - name: Upload Artifact
|
|
||||||
# uses: actions/upload-artifact@v1
|
|
||||||
# with:
|
|
||||||
# name: vim${{ matrix.bits }}-${{ matrix.toolchain }}
|
|
||||||
# path: ./artifacts
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
shell: cmd
|
|
||||||
timeout-minutes: 20
|
|
||||||
run: |
|
|
||||||
PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
|
|
||||||
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
|
||||||
cd src
|
|
||||||
echo.
|
|
||||||
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"
|
|
||||||
|
|
||||||
echo %COL_GREEN%Test gvim:%COL_RESET%
|
|
||||||
cd testdir
|
|
||||||
nmake -nologo -f Make_dos.mak VIMPROG=..\gvim || exit 1
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
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 (
|
|
||||||
if exist done.txt goto exitloop
|
|
||||||
ping -n 2 localhost > nul
|
|
||||||
)
|
|
||||||
set timeout=1
|
|
||||||
:exitloop
|
|
||||||
|
|
||||||
echo %COL_GREEN%Test results of vim:%COL_RESET%
|
|
||||||
if exist messages type messages
|
|
||||||
nmake -nologo -f Make_dos.mak report VIMPROG=..\..\src\vim || exit 1
|
|
||||||
if "%timeout%"=="1" (
|
|
||||||
echo %COL_RED%Timed out.%COL_RESET%
|
|
||||||
exit 1
|
|
||||||
)
|
|
||||||
526
.github/workflows/ci.yml
vendored
Normal file
526
.github/workflows/ci.yml
vendored
Normal file
@@ -0,0 +1,526 @@
|
|||||||
|
name: GitHub CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: ['**']
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
linux:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
env:
|
||||||
|
CC: ${{ matrix.compiler }}
|
||||||
|
TEST: test
|
||||||
|
SRCDIR: ./src
|
||||||
|
LEAK_CFLAGS: -DEXITFREE
|
||||||
|
LOG_DIR: ${{ github.workspace }}/logs
|
||||||
|
TERM: xterm
|
||||||
|
DISPLAY: ':99'
|
||||||
|
DEBIAN_FRONTEND: noninteractive
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
features: [tiny, small, normal, huge]
|
||||||
|
compiler: [clang, gcc]
|
||||||
|
extra: [none]
|
||||||
|
include:
|
||||||
|
- features: tiny
|
||||||
|
compiler: clang
|
||||||
|
extra: nogui
|
||||||
|
- features: tiny
|
||||||
|
compiler: gcc
|
||||||
|
extra: nogui
|
||||||
|
- features: normal
|
||||||
|
shadow: ./src/shadow
|
||||||
|
- features: huge
|
||||||
|
coverage: true
|
||||||
|
- features: huge
|
||||||
|
compiler: gcc
|
||||||
|
coverage: true
|
||||||
|
extra: testgui
|
||||||
|
- features: huge
|
||||||
|
compiler: clang
|
||||||
|
extra: asan
|
||||||
|
- features: huge
|
||||||
|
compiler: gcc
|
||||||
|
coverage: true
|
||||||
|
extra: unittests
|
||||||
|
- features: normal
|
||||||
|
compiler: gcc
|
||||||
|
extra: vimtags
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Install packages
|
||||||
|
run: |
|
||||||
|
sudo apt-get install -y \
|
||||||
|
autoconf \
|
||||||
|
lcov \
|
||||||
|
gettext \
|
||||||
|
libcanberra-dev \
|
||||||
|
libperl-dev \
|
||||||
|
python-dev \
|
||||||
|
python3-dev \
|
||||||
|
liblua5.3-dev \
|
||||||
|
lua5.3 \
|
||||||
|
ruby-dev \
|
||||||
|
tcl-dev \
|
||||||
|
cscope \
|
||||||
|
libgtk2.0-dev \
|
||||||
|
desktop-file-utils \
|
||||||
|
libtool-bin
|
||||||
|
|
||||||
|
- name: Install clang-11
|
||||||
|
if: matrix.compiler == 'clang'
|
||||||
|
run: |
|
||||||
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||||
|
. /etc/lsb-release
|
||||||
|
sudo add-apt-repository -y "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-11 main"
|
||||||
|
sudo apt-get install -y clang-11
|
||||||
|
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 100
|
||||||
|
sudo update-alternatives --set clang /usr/bin/clang-11
|
||||||
|
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-11 100
|
||||||
|
|
||||||
|
- name: Set up environment
|
||||||
|
run: |
|
||||||
|
mkdir -p "${LOG_DIR}"
|
||||||
|
mkdir -p "${HOME}/bin"
|
||||||
|
echo "${HOME}/bin" >> $GITHUB_PATH
|
||||||
|
(
|
||||||
|
echo "LINUX_VERSION=$(uname -r)"
|
||||||
|
echo "NPROC=$(getconf _NPROCESSORS_ONLN)"
|
||||||
|
echo "SND_DUMMY_DIR=${HOME}/snd-dummy"
|
||||||
|
echo "TMPDIR=${{ runner.temp }}"
|
||||||
|
|
||||||
|
case "${{ matrix.features }}" in
|
||||||
|
tiny|small)
|
||||||
|
echo "TEST=testtiny"
|
||||||
|
if ${{ contains(matrix.extra, 'nogui') }}; then
|
||||||
|
echo "CONFOPT=--disable-gui"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
normal)
|
||||||
|
;;
|
||||||
|
huge)
|
||||||
|
echo "TEST=scripttests test_libvterm"
|
||||||
|
echo "CONFOPT=--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if ${{ matrix.coverage == true }}; then
|
||||||
|
echo "CFLAGS=--coverage -DUSE_GCOV_FLUSH"
|
||||||
|
echo "LDFLAGS=--coverage"
|
||||||
|
fi
|
||||||
|
if ${{ contains(matrix.extra, 'testgui') }}; then
|
||||||
|
echo "TEST=-C src testgui"
|
||||||
|
fi
|
||||||
|
if ${{ contains(matrix.extra, 'unittests') }}; then
|
||||||
|
echo "TEST=unittests"
|
||||||
|
fi
|
||||||
|
if ${{ contains(matrix.extra, 'asan') }}; then
|
||||||
|
echo "SANITIZER_CFLAGS=-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize-recover=all -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer"
|
||||||
|
echo "ASAN_OPTIONS=print_stacktrace=1 log_path=${LOG_DIR}/asan"
|
||||||
|
echo "UBSAN_OPTIONS=print_stacktrace=1 log_path=${LOG_DIR}/ubsan"
|
||||||
|
echo "LSAN_OPTIONS=suppressions=${GITHUB_WORKSPACE}/src/testdir/lsan-suppress.txt"
|
||||||
|
fi
|
||||||
|
if ${{ contains(matrix.extra, 'vimtags') }}; then
|
||||||
|
echo "TEST=-C runtime/doc vimtags VIMEXE=../../${SRCDIR}/vim"
|
||||||
|
fi
|
||||||
|
) >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Set up system
|
||||||
|
run: |
|
||||||
|
if [[ ${CC} = clang ]]; then
|
||||||
|
# Use llvm-cov instead of gcov when compiler is clang.
|
||||||
|
ln -fs /usr/bin/llvm-cov ${HOME}/bin/gcov
|
||||||
|
fi
|
||||||
|
# Setup lua5.3 manually since its package doesn't provide alternative.
|
||||||
|
# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
|
||||||
|
if [[ ${CONFOPT} =~ luainterp ]]; then
|
||||||
|
sudo update-alternatives --install /usr/bin/lua lua /usr/bin/lua5.3 10
|
||||||
|
fi
|
||||||
|
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
|
||||||
|
sudo usermod -a -G audio "${USER}"
|
||||||
|
sudo bash ci/setup-xvfb.sh
|
||||||
|
|
||||||
|
- name: Cache snd-dummy
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ${{ env.SND_DUMMY_DIR }}
|
||||||
|
key: linux-${{ env.LINUX_VERSION }}-snd-dummy
|
||||||
|
|
||||||
|
- name: Set up snd-dummy
|
||||||
|
run: |
|
||||||
|
if [[ ! -e ${SND_DUMMY_DIR}/snd-dummy.ko ]]; then
|
||||||
|
bash ci/build-snd-dummy.sh
|
||||||
|
fi
|
||||||
|
cd "${SND_DUMMY_DIR}"
|
||||||
|
sudo insmod soundcore.ko
|
||||||
|
sudo insmod snd.ko
|
||||||
|
sudo insmod snd-pcm.ko
|
||||||
|
sudo insmod snd-dummy.ko
|
||||||
|
|
||||||
|
- name: Check autoconf
|
||||||
|
if: contains(matrix.extra, 'unittests')
|
||||||
|
run: |
|
||||||
|
make -C src autoconf
|
||||||
|
|
||||||
|
- name: Set up shadow dir
|
||||||
|
if: matrix.shadow
|
||||||
|
run: |
|
||||||
|
make -C src shadow
|
||||||
|
echo "SRCDIR=${{ matrix.shadow }}" >> $GITHUB_ENV
|
||||||
|
echo "SHADOWOPT=-C ${{ matrix.shadow }}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Configure
|
||||||
|
run: |
|
||||||
|
./configure --with-features=${{ matrix.features }} ${CONFOPT} --enable-fail-if-missing
|
||||||
|
# Append various warning flags to CFLAGS.
|
||||||
|
sed -i -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
|
||||||
|
sed -i -f ci/config.mk.${CC}.sed ${SRCDIR}/auto/config.mk
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
if: (!contains(matrix.extra, 'unittests'))
|
||||||
|
run: |
|
||||||
|
make ${SHADOWOPT} -j${NPROC}
|
||||||
|
|
||||||
|
- name: Check version
|
||||||
|
if: (!contains(matrix.extra, 'unittests'))
|
||||||
|
run: |
|
||||||
|
"${SRCDIR}"/vim --version
|
||||||
|
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
|
||||||
|
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
timeout-minutes: 20
|
||||||
|
run: |
|
||||||
|
do_test() { sg audio "sg $(id -gn) '$*'"; }
|
||||||
|
do_test make ${SHADOWOPT} ${TEST}
|
||||||
|
|
||||||
|
- name: Coveralls
|
||||||
|
if: matrix.coverage && success() && github.event_name != 'pull_request'
|
||||||
|
env:
|
||||||
|
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
||||||
|
COVERALLS_PARALLEL: true
|
||||||
|
TRAVIS_JOB_ID: ${{ github.run_id }}
|
||||||
|
run: |
|
||||||
|
sudo apt-get install -y python3-setuptools python3-wheel
|
||||||
|
# needed for https support for coveralls building cffi only works with gcc, not with clang
|
||||||
|
CC=gcc pip3 install --user cpp-coveralls pyopenssl ndg-httpsclient pyasn1
|
||||||
|
~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8
|
||||||
|
|
||||||
|
- name: Codecov
|
||||||
|
if: matrix.coverage && success()
|
||||||
|
run: |
|
||||||
|
cd "${SRCDIR}"
|
||||||
|
bash <(curl -s https://codecov.io/bash) -F "${{ matrix.features }}-${{ matrix.compiler }}-${{ matrix.extra }}"
|
||||||
|
|
||||||
|
- name: ASan logs
|
||||||
|
if: contains(matrix.extra, 'asan') && !cancelled()
|
||||||
|
run: |
|
||||||
|
for f in $(grep -lR '#[[:digit:]]* *0x[[:digit:]a-fA-F]*' "${LOG_DIR}"); do
|
||||||
|
asan_symbolize-11 -l "$f"
|
||||||
|
false # in order to fail a job
|
||||||
|
done
|
||||||
|
|
||||||
|
coveralls:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
needs: linux
|
||||||
|
if: always() && github.event_name != 'pull_request'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Parallel finished
|
||||||
|
env:
|
||||||
|
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
||||||
|
run: |
|
||||||
|
curl -k "https://coveralls.io/webhook?repo_token=${COVERALLS_REPO_TOKEN}" -d "payload[build_num]=${GITHUB_RUN_ID}&payload[status]=done"
|
||||||
|
|
||||||
|
macos:
|
||||||
|
runs-on: macos-latest
|
||||||
|
|
||||||
|
env:
|
||||||
|
CC: ${{ matrix.compiler }}
|
||||||
|
TEST: test
|
||||||
|
SRCDIR: ./src
|
||||||
|
LEAK_CFLAGS: -DEXITFREE
|
||||||
|
TERM: xterm
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
features: [tiny, huge]
|
||||||
|
compiler: [clang, gcc]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Install packages
|
||||||
|
env:
|
||||||
|
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||||
|
run: |
|
||||||
|
brew install lua
|
||||||
|
echo "LUA_PREFIX=/usr/local" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Set up environment
|
||||||
|
run: |
|
||||||
|
(
|
||||||
|
echo "NPROC=$(getconf _NPROCESSORS_ONLN)"
|
||||||
|
case "${{ matrix.features }}" in
|
||||||
|
tiny)
|
||||||
|
echo "TEST=testtiny"
|
||||||
|
echo "CONFOPT=--disable-gui"
|
||||||
|
;;
|
||||||
|
huge)
|
||||||
|
echo "CONFOPT=--enable-perlinterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
) >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Configure
|
||||||
|
run: |
|
||||||
|
./configure --with-features=${{ matrix.features }} ${CONFOPT} --enable-fail-if-missing
|
||||||
|
# Append various warning flags to CFLAGS.
|
||||||
|
# BSD sed needs backup extension specified.
|
||||||
|
sed -i.bak -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
|
||||||
|
# On macOS, the entity of gcc is clang.
|
||||||
|
sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
LC_ALL: C
|
||||||
|
run: |
|
||||||
|
make -j${NPROC}
|
||||||
|
|
||||||
|
- name: Check version
|
||||||
|
run: |
|
||||||
|
"${SRCDIR}"/vim --version
|
||||||
|
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
|
||||||
|
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
timeout-minutes: 20
|
||||||
|
run: |
|
||||||
|
make ${TEST}
|
||||||
|
|
||||||
|
windows:
|
||||||
|
runs-on: windows-latest
|
||||||
|
|
||||||
|
env:
|
||||||
|
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat
|
||||||
|
# Interfaces
|
||||||
|
# Lua
|
||||||
|
LUA_VER: 54
|
||||||
|
LUA_VER_DOT: '5.4'
|
||||||
|
LUA_RELEASE: 5.4.0
|
||||||
|
LUA32_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win32_dllw6_lib.zip
|
||||||
|
LUA64_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win64_dllw6_lib.zip
|
||||||
|
LUA_DIR: D:\Lua
|
||||||
|
# Python 2
|
||||||
|
PYTHON_VER: 27
|
||||||
|
PYTHON_VER_DOT: '2.7'
|
||||||
|
# Python 3
|
||||||
|
PYTHON3_VER: 38
|
||||||
|
PYTHON3_VER_DOT: '3.8'
|
||||||
|
# Other dependencies
|
||||||
|
# winpty
|
||||||
|
WINPTY_URL: https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
|
||||||
|
# Escape sequences
|
||||||
|
COL_RED: "\x1b[31m"
|
||||||
|
COL_GREEN: "\x1b[32m"
|
||||||
|
COL_YELLOW: "\x1b[33m"
|
||||||
|
COL_RESET: "\x1b[m"
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
toolchain: [msvc, mingw]
|
||||||
|
arch: [x64, x86]
|
||||||
|
features: [HUGE, NORMAL]
|
||||||
|
include:
|
||||||
|
- arch: x64
|
||||||
|
vcarch: amd64
|
||||||
|
warch: x64
|
||||||
|
bits: 64
|
||||||
|
msystem: MINGW64
|
||||||
|
cygreg: registry
|
||||||
|
pyreg: ""
|
||||||
|
- arch: x86
|
||||||
|
vcarch: x86
|
||||||
|
warch: ia32
|
||||||
|
bits: 32
|
||||||
|
msystem: MINGW32
|
||||||
|
cygreg: registry32
|
||||||
|
pyreg: "-32"
|
||||||
|
exclude:
|
||||||
|
- toolchain: msvc
|
||||||
|
arch: x64
|
||||||
|
features: NORMAL
|
||||||
|
- toolchain: mingw
|
||||||
|
arch: x86
|
||||||
|
features: NORMAL
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Initalize
|
||||||
|
id: init
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
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 "PYTHON_DIR=$python_dir" >> $GITHUB_ENV
|
||||||
|
echo "PYTHON3_DIR=$python3_dir" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- uses: msys2/setup-msys2@v2
|
||||||
|
if: matrix.toolchain == 'mingw'
|
||||||
|
with:
|
||||||
|
msystem: ${{ matrix.msystem }}
|
||||||
|
release: false
|
||||||
|
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Create a list of download URLs
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
type NUL > urls.txt
|
||||||
|
echo %LUA_RELEASE%>> urls.txt
|
||||||
|
echo %WINPTY_URL%>> urls.txt
|
||||||
|
|
||||||
|
- name: Cache downloaded files
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: downloads
|
||||||
|
key: ${{ runner.os }}-${{ matrix.bits }}-${{ hashFiles('urls.txt') }}
|
||||||
|
|
||||||
|
- name: Download dependencies
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
path C:\Program Files\7-Zip;%path%
|
||||||
|
if not exist downloads mkdir downloads
|
||||||
|
|
||||||
|
echo %COL_GREEN%Download Lua%COL_RESET%
|
||||||
|
call :downloadfile %LUA${{ matrix.bits }}_URL% downloads\lua.zip
|
||||||
|
7z x downloads\lua.zip -o%LUA_DIR% > nul || exit 1
|
||||||
|
|
||||||
|
echo %COL_GREEN%Download winpty%COL_RESET%
|
||||||
|
call :downloadfile %WINPTY_URL% downloads\winpty.zip
|
||||||
|
7z x -y downloads\winpty.zip -oD:\winpty > nul || exit 1
|
||||||
|
copy /Y D:\winpty\${{ matrix.warch }}\bin\winpty.dll src\winpty${{ matrix.bits }}.dll
|
||||||
|
copy /Y D:\winpty\${{ matrix.warch }}\bin\winpty-agent.exe src\
|
||||||
|
|
||||||
|
goto :eof
|
||||||
|
|
||||||
|
:downloadfile
|
||||||
|
:: call :downloadfile <URL> <localfile>
|
||||||
|
if not exist %2 (
|
||||||
|
curl -f -L %1 -o %2
|
||||||
|
)
|
||||||
|
if ERRORLEVEL 1 (
|
||||||
|
rem Retry once.
|
||||||
|
curl -f -L %1 -o %2 || exit 1
|
||||||
|
)
|
||||||
|
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
|
||||||
|
run: |
|
||||||
|
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
||||||
|
cd src
|
||||||
|
:: Filter out the progress bar from the build log
|
||||||
|
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
|
||||||
|
if "${{ matrix.features }}"=="HUGE" (
|
||||||
|
nmake -nologo -f Make_mvc2.mak ^
|
||||||
|
FEATURES=${{ matrix.features }} ^
|
||||||
|
GUI=yes IME=yes ICONV=yes VIMDLL=yes ^
|
||||||
|
DYNAMIC_LUA=yes LUA=%LUA_DIR% ^
|
||||||
|
DYNAMIC_PYTHON=yes PYTHON=%PYTHON_DIR% ^
|
||||||
|
DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR%
|
||||||
|
) else (
|
||||||
|
nmake -nologo -f Make_mvc2.mak ^
|
||||||
|
FEATURES=${{ matrix.features }} ^
|
||||||
|
GUI=yes IME=yes ICONV=yes VIMDLL=yes
|
||||||
|
)
|
||||||
|
if not exist vim${{ matrix.bits }}.dll (
|
||||||
|
echo %COL_RED%Build failure.%COL_RESET%
|
||||||
|
exit 1
|
||||||
|
)
|
||||||
|
|
||||||
|
- name: Build (MinGW)
|
||||||
|
if: matrix.toolchain == 'mingw'
|
||||||
|
shell: msys2 {0}
|
||||||
|
run: |
|
||||||
|
cd src
|
||||||
|
if [ "${{ matrix.features }}" = "HUGE" ]; then
|
||||||
|
mingw32-make -f Make_ming.mak -j2 \
|
||||||
|
FEATURES=${{ matrix.features }} \
|
||||||
|
GUI=yes IME=yes ICONV=yes VIMDLL=yes \
|
||||||
|
DYNAMIC_LUA=yes LUA=${LUA_DIR} \
|
||||||
|
DYNAMIC_PYTHON=yes PYTHON=${PYTHON_DIR} \
|
||||||
|
DYNAMIC_PYTHON3=yes PYTHON3=${PYTHON3_DIR} \
|
||||||
|
STATIC_STDCPLUS=yes
|
||||||
|
else
|
||||||
|
mingw32-make -f Make_ming.mak -j2 \
|
||||||
|
FEATURES=${{ matrix.features }} \
|
||||||
|
GUI=yes IME=yes ICONV=yes VIMDLL=yes \
|
||||||
|
STATIC_STDCPLUS=yes
|
||||||
|
fi
|
||||||
|
|
||||||
|
#- name: Prepare Artifact
|
||||||
|
# shell: cmd
|
||||||
|
# run: |
|
||||||
|
# mkdir artifacts
|
||||||
|
# copy src\*vim.exe artifacts
|
||||||
|
# copy src\vim*.dll artifacts
|
||||||
|
#
|
||||||
|
#- name: Upload Artifact
|
||||||
|
# uses: actions/upload-artifact@v1
|
||||||
|
# with:
|
||||||
|
# name: vim${{ matrix.bits }}-${{ matrix.toolchain }}
|
||||||
|
# path: ./artifacts
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
shell: cmd
|
||||||
|
timeout-minutes: 20
|
||||||
|
run: |
|
||||||
|
PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
|
||||||
|
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
||||||
|
cd src
|
||||||
|
echo.
|
||||||
|
echo %COL_GREEN%vim version:%COL_RESET%
|
||||||
|
.\vim --version || exit 1
|
||||||
|
|
||||||
|
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"
|
||||||
|
|
||||||
|
echo %COL_GREEN%Test gvim:%COL_RESET%
|
||||||
|
cd testdir
|
||||||
|
nmake -nologo -f Make_dos.mak VIMPROG=..\gvim || exit 1
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
echo %COL_GREEN%Wait for vim tests to finish.%COL_RESET%
|
||||||
|
cd ..\src2\testdir
|
||||||
|
:: Wait about 10 minutes.
|
||||||
|
for /L %%i in (1,1,60) do (
|
||||||
|
if exist done.txt goto exitloop
|
||||||
|
timeout 10 > NUL 2>&1
|
||||||
|
if ERRORLEVEL 1 ping -n 11 localhost > NUL
|
||||||
|
)
|
||||||
|
set timeout=1
|
||||||
|
:exitloop
|
||||||
|
|
||||||
|
echo %COL_GREEN%Test results of vim:%COL_RESET%
|
||||||
|
if exist messages type messages
|
||||||
|
nmake -nologo -f Make_dos.mak report VIMPROG=..\..\src\vim || exit 1
|
||||||
|
if "%timeout%"=="1" (
|
||||||
|
echo %COL_RED%Timed out.%COL_RESET%
|
||||||
|
exit 1
|
||||||
|
)
|
||||||
62
.github/workflows/codeql-analysis.yml
vendored
Normal file
62
.github/workflows/codeql-analysis.yml
vendored
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
# 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
|
||||||
|
|
||||||
|
# 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
|
||||||
238
.travis.yml
238
.travis.yml
@@ -1,26 +1,32 @@
|
|||||||
language: c
|
language: c
|
||||||
|
|
||||||
|
env:
|
||||||
|
global:
|
||||||
|
- BUILD=yes TEST=test CONFOPT= LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no LOG_DIR="$TRAVIS_BUILD_DIR/logs"
|
||||||
|
|
||||||
_anchors:
|
_anchors:
|
||||||
envs:
|
envs:
|
||||||
- &tiny-nogui
|
- &tiny-nogui
|
||||||
BUILD=yes TEST=test FEATURES=tiny CONFOPT="--disable-gui" LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
FEATURES=tiny TEST=testtiny CONFOPT="--disable-gui"
|
||||||
- &tiny
|
- &tiny
|
||||||
BUILD=yes TEST=test FEATURES=tiny CONFOPT= LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
FEATURES=tiny TEST=testtiny
|
||||||
- &small
|
- &small
|
||||||
BUILD=yes TEST=test FEATURES=small CONFOPT= LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
FEATURES=small TEST=testtiny
|
||||||
- &normal
|
- &normal
|
||||||
BUILD=yes TEST=test FEATURES=normal CONFOPT= LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
FEATURES=normal
|
||||||
- &linux-huge
|
- &linux-huge
|
||||||
BUILD=yes TEST="scripttests test_libvterm" CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage FEATURES=huge LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
FEATURES=huge TEST="scripttests test_libvterm"
|
||||||
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||||
- &osx-huge # macOS build
|
- &osx-huge # macOS build
|
||||||
BUILD=yes TEST=test FEATURES=huge LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
FEATURES=huge
|
||||||
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
CONFOPT="--enable-perlinterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||||
- &unittests
|
- &unittests
|
||||||
BUILD=no TEST=unittests CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage FEATURES=huge LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
|
BUILD=no TEST=unittests FEATURES=huge CHECK_AUTOCONF=yes
|
||||||
|
- &coverage
|
||||||
|
CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage
|
||||||
- &asan # ASAN build
|
- &asan # ASAN build
|
||||||
SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
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=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
|
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
|
||||||
SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow
|
SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow
|
||||||
|
|
||||||
@@ -29,7 +35,7 @@ _anchors:
|
|||||||
dist: bionic
|
dist: bionic
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages: &apt-packages
|
||||||
- autoconf
|
- autoconf
|
||||||
- clang
|
- clang
|
||||||
- lcov
|
- lcov
|
||||||
@@ -63,7 +69,11 @@ _anchors:
|
|||||||
fi
|
fi
|
||||||
before_script:
|
before_script:
|
||||||
- sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
|
- 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
|
- sudo usermod -a -G audio $USER
|
||||||
- do_test() { sg audio "sg $(id -gn) '$*'"; }
|
- do_test() { sg audio "sg $(id -gn) '$*'"; }
|
||||||
|
|
||||||
@@ -87,7 +97,7 @@ _anchors:
|
|||||||
# Lua is not installed on macOS
|
# Lua is not installed on macOS
|
||||||
- export LUA_PREFIX=/usr/local
|
- export LUA_PREFIX=/usr/local
|
||||||
|
|
||||||
coverage: &coverage
|
coverage: &eval-coverage
|
||||||
# needed for https support for coveralls building cffi only works with gcc,
|
# needed for https support for coveralls building cffi only works with gcc,
|
||||||
# not with clang
|
# not with clang
|
||||||
- CC=gcc pip install --user cpp-coveralls pyopenssl ndg-httpsclient pyasn1
|
- CC=gcc pip install --user cpp-coveralls pyopenssl ndg-httpsclient pyasn1
|
||||||
@@ -98,13 +108,14 @@ _anchors:
|
|||||||
# Update pyenv to fix the error "/opt/pyenv/libexec/pyenv: line 43: cd: asan_symbolize-6.0: Not a directory".
|
# 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
|
# https://github.com/pyenv/pyenv/issues/580
|
||||||
- (cd "${PYENV_ROOT}" && git fetch -p origin && git checkout "$(git rev-list --tags -n1)") &>/dev/null || true
|
- (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:
|
branches:
|
||||||
except:
|
except:
|
||||||
- /^v[0-9]/
|
- /^v[0-9]/
|
||||||
|
|
||||||
script:
|
script:
|
||||||
|
- mkdir -p "$LOG_DIR"
|
||||||
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||||
- set -o errexit
|
- set -o errexit
|
||||||
- echo -e "\\033[33;1mConfiguring Vim\\033[0m" && echo -en "travis_fold:start:configure\\r\\033[0K"
|
- echo -e "\\033[33;1mConfiguring Vim\\033[0m" && echo -en "travis_fold:start:configure\\r\\033[0K"
|
||||||
@@ -125,7 +136,7 @@ script:
|
|||||||
# Append various warning flags to CFLAGS.
|
# Append various warning flags to CFLAGS.
|
||||||
# BSD sed needs backup extension specified.
|
# BSD sed needs backup extension specified.
|
||||||
sed -i.bak -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
|
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.
|
# On macOS, the entity of gcc is clang.
|
||||||
sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
|
sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
|
||||||
else
|
else
|
||||||
@@ -145,6 +156,15 @@ script:
|
|||||||
- echo -e "\\033[33;1mTesting Vim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
|
- 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
|
- do_test make ${SHADOWOPT} ${TEST} && FOLD_MARKER=travis_fold
|
||||||
- echo -en "${FOLD_MARKER}:end:test\\r\\033[0K"
|
- 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,
|
# Instead of using all environments with both compilers on both systems,
|
||||||
# exclude some builds on mac os x and linux.
|
# exclude some builds on mac os x and linux.
|
||||||
@@ -152,56 +172,56 @@ script:
|
|||||||
# Linux: 2 compilers on some of the environments + gcc on os390
|
# Linux: 2 compilers on some of the environments + gcc on os390
|
||||||
jobs:
|
jobs:
|
||||||
include:
|
include:
|
||||||
- <<: *osx
|
#- <<: *osx
|
||||||
name: tiny-nogui/clang
|
# name: tiny-nogui/clang
|
||||||
compiler: clang
|
# compiler: clang
|
||||||
env: *tiny-nogui
|
# env: *tiny-nogui
|
||||||
- <<: *osx
|
#- <<: *osx
|
||||||
name: tiny-nogui/gcc
|
# name: tiny-nogui/gcc
|
||||||
compiler: gcc
|
# compiler: gcc
|
||||||
env: *tiny-nogui
|
# env: *tiny-nogui
|
||||||
- <<: *osx
|
#- <<: *osx
|
||||||
<<: *osx-homebrew
|
# <<: *osx-homebrew
|
||||||
name: huge/clang
|
# name: huge/clang
|
||||||
compiler: clang
|
# compiler: clang
|
||||||
env: *osx-huge
|
# env: *osx-huge
|
||||||
- <<: *osx
|
#- <<: *osx
|
||||||
<<: *osx-homebrew
|
# <<: *osx-homebrew
|
||||||
name: huge/gcc
|
# name: huge/gcc
|
||||||
compiler: gcc
|
# compiler: gcc
|
||||||
env: *osx-huge
|
# env: *osx-huge
|
||||||
- <<: *linux
|
#- <<: *linux
|
||||||
name: tiny-nogui/clang
|
# name: tiny-nogui/clang
|
||||||
compiler: clang
|
# compiler: clang
|
||||||
env: *tiny-nogui
|
# env: *tiny-nogui
|
||||||
- <<: *linux
|
#- <<: *linux
|
||||||
name: tiny-nogui/gcc
|
# name: tiny-nogui/gcc
|
||||||
compiler: gcc
|
# compiler: gcc
|
||||||
env: *tiny-nogui
|
# env: *tiny-nogui
|
||||||
- <<: *linux
|
#- <<: *linux
|
||||||
name: tiny/clang
|
# name: tiny/clang
|
||||||
compiler: clang
|
# compiler: clang
|
||||||
env: *tiny
|
# env: *tiny
|
||||||
- <<: *linux
|
#- <<: *linux
|
||||||
name: tiny/gcc
|
# name: tiny/gcc
|
||||||
compiler: gcc
|
# compiler: gcc
|
||||||
env: *tiny
|
# env: *tiny
|
||||||
- <<: *linux
|
#- <<: *linux
|
||||||
name: small/gcc
|
# name: small/gcc
|
||||||
compiler: gcc
|
# compiler: gcc
|
||||||
env: *small
|
# env: *small
|
||||||
- <<: *linux
|
#- <<: *linux
|
||||||
name: normal+shadow/clang
|
# name: normal+shadow/clang
|
||||||
compiler: clang
|
# compiler: clang
|
||||||
env:
|
# env:
|
||||||
- *normal
|
# - *normal
|
||||||
- *shadowopt
|
# - *shadowopt
|
||||||
- <<: *linux
|
#- <<: *linux
|
||||||
name: normal+shadow/gcc
|
# name: normal+shadow/gcc
|
||||||
compiler: gcc
|
# compiler: gcc
|
||||||
env:
|
# env:
|
||||||
- *normal
|
# - *normal
|
||||||
- *shadowopt
|
# - *shadowopt
|
||||||
- <<: *linux
|
- <<: *linux
|
||||||
arch: s390x
|
arch: s390x
|
||||||
name: huge/gcc-s390x
|
name: huge/gcc-s390x
|
||||||
@@ -209,42 +229,60 @@ jobs:
|
|||||||
env: *linux-huge
|
env: *linux-huge
|
||||||
services: []
|
services: []
|
||||||
- <<: *linux
|
- <<: *linux
|
||||||
name: huge+coverage/clang
|
arch: arm64
|
||||||
compiler: clang
|
name: huge/gcc-arm64
|
||||||
env:
|
|
||||||
- *linux-huge
|
|
||||||
# Clang cannot compile test_libvterm with "--coverage" flag.
|
|
||||||
- TEST=scripttests
|
|
||||||
after_success: *coverage
|
|
||||||
- <<: *linux
|
|
||||||
name: huge+coverage/gcc
|
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
env: *linux-huge
|
env: *linux-huge
|
||||||
after_success: *coverage
|
services: []
|
||||||
- <<: *linux # ASAN
|
#- <<: *linux
|
||||||
name: huge+asan/gcc
|
# name: huge+coverage/clang
|
||||||
compiler: gcc
|
# compiler: clang
|
||||||
env:
|
# env:
|
||||||
- *linux-huge
|
# - *linux-huge
|
||||||
- *asan
|
# - *coverage
|
||||||
after_failure: *asan_symbolize
|
# after_success: *eval-coverage
|
||||||
- <<: *linux
|
#- <<: *linux
|
||||||
name: huge-testgui+coverage/gcc
|
# name: huge+coverage/gcc
|
||||||
compiler: gcc
|
# compiler: gcc
|
||||||
env:
|
# env:
|
||||||
- *linux-huge
|
# - *linux-huge
|
||||||
- TEST="-C src testgui"
|
# - *coverage
|
||||||
after_success: *coverage
|
# after_success: *eval-coverage
|
||||||
- <<: *linux
|
#- <<: *linux # ASAN
|
||||||
name: unittests+coverage/gcc
|
# name: huge+asan/clang
|
||||||
compiler: gcc
|
# compiler: clang-11
|
||||||
env: *unittests
|
# addons:
|
||||||
after_success: *coverage
|
# apt:
|
||||||
- <<: *linux
|
# sources:
|
||||||
name: vimtags/gcc
|
# - sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main'
|
||||||
compiler: gcc
|
# key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
|
||||||
env:
|
# packages:
|
||||||
- *normal
|
# - *apt-packages
|
||||||
- TEST="-C runtime/doc vimtags VIMEXE=../../${SRCDIR}/vim"
|
# - clang-11
|
||||||
|
# env:
|
||||||
|
# - *linux-huge
|
||||||
|
# - *asan
|
||||||
|
# after_failure: *asan_symbolize
|
||||||
|
#- <<: *linux
|
||||||
|
# name: huge-testgui+coverage/gcc
|
||||||
|
# compiler: gcc
|
||||||
|
# env:
|
||||||
|
# - *linux-huge
|
||||||
|
# - *coverage
|
||||||
|
# - TEST="-C src testgui"
|
||||||
|
# after_success: *eval-coverage
|
||||||
|
#- <<: *linux
|
||||||
|
# name: unittests+coverage/gcc
|
||||||
|
# compiler: gcc
|
||||||
|
# env:
|
||||||
|
# - *unittests
|
||||||
|
# - *coverage
|
||||||
|
# after_success: *eval-coverage
|
||||||
|
#- <<: *linux
|
||||||
|
# name: vimtags/gcc
|
||||||
|
# compiler: gcc
|
||||||
|
# env:
|
||||||
|
# - *normal
|
||||||
|
# - TEST="-C runtime/doc vimtags VIMEXE=../../${SRCDIR}/vim"
|
||||||
|
|
||||||
# vim:set sts=2 sw=2 tw=0 et:
|
# vim:set sts=2 sw=2 tw=0 et:
|
||||||
|
|||||||
19
Filelist
19
Filelist
@@ -9,7 +9,9 @@ SRC_ALL = \
|
|||||||
.lgtm.yml \
|
.lgtm.yml \
|
||||||
.travis.yml \
|
.travis.yml \
|
||||||
.cirrus.yml \
|
.cirrus.yml \
|
||||||
.github/workflows/ci-windows.yaml \
|
.github/workflows/ci.yml \
|
||||||
|
.github/workflows/codeql-analysis.yml \
|
||||||
|
.github/CODEOWNERS \
|
||||||
appveyor.yml \
|
appveyor.yml \
|
||||||
ci/appveyor.bat \
|
ci/appveyor.bat \
|
||||||
ci/if_ver*.vim \
|
ci/if_ver*.vim \
|
||||||
@@ -45,6 +47,7 @@ SRC_ALL = \
|
|||||||
src/drawline.c \
|
src/drawline.c \
|
||||||
src/drawscreen.c \
|
src/drawscreen.c \
|
||||||
src/edit.c \
|
src/edit.c \
|
||||||
|
src/errors.h \
|
||||||
src/eval.c \
|
src/eval.c \
|
||||||
src/evalbuffer.c \
|
src/evalbuffer.c \
|
||||||
src/evalfunc.c \
|
src/evalfunc.c \
|
||||||
@@ -73,6 +76,7 @@ SRC_ALL = \
|
|||||||
src/highlight.c \
|
src/highlight.c \
|
||||||
src/indent.c \
|
src/indent.c \
|
||||||
src/insexpand.c \
|
src/insexpand.c \
|
||||||
|
src/job.c \
|
||||||
src/json.c \
|
src/json.c \
|
||||||
src/json_test.c \
|
src/json_test.c \
|
||||||
src/kword_test.c \
|
src/kword_test.c \
|
||||||
@@ -149,6 +153,7 @@ SRC_ALL = \
|
|||||||
src/vim9compile.c \
|
src/vim9compile.c \
|
||||||
src/vim9execute.c \
|
src/vim9execute.c \
|
||||||
src/vim9script.c \
|
src/vim9script.c \
|
||||||
|
src/vim9type.c \
|
||||||
src/viminfo.c \
|
src/viminfo.c \
|
||||||
src/winclip.c \
|
src/winclip.c \
|
||||||
src/window.c \
|
src/window.c \
|
||||||
@@ -172,12 +177,12 @@ SRC_ALL = \
|
|||||||
src/testdir/setup_gui.vim \
|
src/testdir/setup_gui.vim \
|
||||||
src/testdir/shared.vim \
|
src/testdir/shared.vim \
|
||||||
src/testdir/vim9.vim \
|
src/testdir/vim9.vim \
|
||||||
|
src/testdir/script_util.vim \
|
||||||
src/testdir/summarize.vim \
|
src/testdir/summarize.vim \
|
||||||
src/testdir/term_util.vim \
|
src/testdir/term_util.vim \
|
||||||
src/testdir/view_util.vim \
|
src/testdir/view_util.vim \
|
||||||
src/testdir/test[0-9]*.ok \
|
src/testdir/test[0-9]*.ok \
|
||||||
src/testdir/test[0-9]*a.ok \
|
src/testdir/test77a.ok \
|
||||||
src/testdir/test49.vim \
|
|
||||||
src/testdir/test83-tags? \
|
src/testdir/test83-tags? \
|
||||||
src/testdir/test77a.com \
|
src/testdir/test77a.com \
|
||||||
src/testdir/test_*.vim \
|
src/testdir/test_*.vim \
|
||||||
@@ -247,6 +252,7 @@ SRC_ALL = \
|
|||||||
src/proto/highlight.pro \
|
src/proto/highlight.pro \
|
||||||
src/proto/indent.pro \
|
src/proto/indent.pro \
|
||||||
src/proto/insexpand.pro \
|
src/proto/insexpand.pro \
|
||||||
|
src/proto/job.pro \
|
||||||
src/proto/json.pro \
|
src/proto/json.pro \
|
||||||
src/proto/list.pro \
|
src/proto/list.pro \
|
||||||
src/proto/locale.pro \
|
src/proto/locale.pro \
|
||||||
@@ -303,6 +309,7 @@ SRC_ALL = \
|
|||||||
src/proto/vim9compile.pro \
|
src/proto/vim9compile.pro \
|
||||||
src/proto/vim9execute.pro \
|
src/proto/vim9execute.pro \
|
||||||
src/proto/vim9script.pro \
|
src/proto/vim9script.pro \
|
||||||
|
src/proto/vim9type.pro \
|
||||||
src/proto/viminfo.pro \
|
src/proto/viminfo.pro \
|
||||||
src/proto/winclip.pro \
|
src/proto/winclip.pro \
|
||||||
src/proto/window.pro \
|
src/proto/window.pro \
|
||||||
@@ -617,7 +624,7 @@ SRC_AMI = \
|
|||||||
README_amisrc.txt.info \
|
README_amisrc.txt.info \
|
||||||
src.info \
|
src.info \
|
||||||
src/INSTALLami.txt \
|
src/INSTALLami.txt \
|
||||||
src/Make_morph.mak \
|
src/Make_ami.mak \
|
||||||
src/os_amiga.c \
|
src/os_amiga.c \
|
||||||
src/os_amiga.h \
|
src/os_amiga.h \
|
||||||
src/proto/os_amiga.pro \
|
src/proto/os_amiga.pro \
|
||||||
@@ -638,13 +645,11 @@ SRC_HAIKU = \
|
|||||||
SRC_MAC = \
|
SRC_MAC = \
|
||||||
src/INSTALLmac.txt \
|
src/INSTALLmac.txt \
|
||||||
src/dehqx.py \
|
src/dehqx.py \
|
||||||
src/gui_mac.c \
|
|
||||||
src/os_mac_rsrc/*.icns \
|
src/os_mac_rsrc/*.icns \
|
||||||
src/os_mac.h \
|
src/os_mac.h \
|
||||||
src/os_mac.rsr.hqx \
|
src/os_mac.rsr.hqx \
|
||||||
src/os_mac_conv.c \
|
src/os_mac_conv.c \
|
||||||
src/os_macosx.m \
|
src/os_macosx.m \
|
||||||
src/proto/gui_mac.pro \
|
|
||||||
src/proto/os_mac_conv.pro \
|
src/proto/os_mac_conv.pro \
|
||||||
|
|
||||||
# source files for VMS (in the extra archive)
|
# source files for VMS (in the extra archive)
|
||||||
@@ -1027,6 +1032,8 @@ LANG_SRC = \
|
|||||||
src/po/README_mvc.txt \
|
src/po/README_mvc.txt \
|
||||||
src/po/check.vim \
|
src/po/check.vim \
|
||||||
src/po/cleanup.vim \
|
src/po/cleanup.vim \
|
||||||
|
src/po/tojavascript.vim \
|
||||||
|
src/po/fixfilenames.vim \
|
||||||
src/po/Makefile \
|
src/po/Makefile \
|
||||||
src/po/Make_all.mak \
|
src/po/Make_all.mak \
|
||||||
src/po/Make_cyg.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
|
# Some make programs use the last target for the $@ default; put the other
|
||||||
# targets separately to always let $@ expand to "first" by default.
|
# 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 \
|
@if test ! -f src/auto/config.mk; then \
|
||||||
cp src/config.mk.dist src/auto/config.mk; \
|
cp src/config.mk.dist src/auto/config.mk; \
|
||||||
fi
|
fi
|
||||||
|
|||||||
15
README.md
15
README.md
@@ -1,15 +1,8 @@
|
|||||||

|
[](https://www.vim.org)
|
||||||
|
|
||||||
[](https://travis-ci.org/vim/vim)
|
[](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22) [](https://travis-ci.org/vim/vim) [](https://ci.appveyor.com/project/chrisbra/vim) [](https://cirrus-ci.com/github/vim/vim) [](https://codecov.io/gh/vim/vim?branch=master) [](https://scan.coverity.com/projects/vim) [](https://lgtm.com/projects/g/vim/vim/context:cpp) [](https://buildd.debian.org/vim) [](https://repology.org/metapackage/vim) [](https://fossies.org/linux/test/vim-master.tar.gz/codespell.html)
|
||||||
[](https://ci.appveyor.com/project/chrisbra/vim)
|
|
||||||
[](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22)
|
<sub>For translations of this README see the end.</sub>
|
||||||
[](https://cirrus-ci.com/github/vim/vim)
|
|
||||||
[](https://codecov.io/gh/vim/vim?branch=master)
|
|
||||||
[](https://scan.coverity.com/projects/vim)
|
|
||||||
[](https://lgtm.com/projects/g/vim/vim/context:cpp)
|
|
||||||
[](https://buildd.debian.org/vim)
|
|
||||||
[](https://repology.org/metapackage/vim)
|
|
||||||
For translations of this README see the end.
|
|
||||||
|
|
||||||
|
|
||||||
## What is Vim? ##
|
## What is Vim? ##
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
This is an experimental side of [Vim](https://github.com/vim/vim).
|
This is an experimental side of [Vim](https://github.com/vim/vim).
|
||||||
It explores ways of making Vim script faster and better.
|
It explores ways of making Vim script faster and better.
|
||||||
|
|
||||||
WARNING: The Vim9 script features are in the early stages of development,
|
WARNING: The Vim9 script features are still under development, anything can
|
||||||
anything can break!
|
break!
|
||||||
|
|
||||||
# Why Vim9?
|
# Why Vim9?
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@ we can gain, and also that Vim script can be faster than builtin
|
|||||||
interfaces.
|
interfaces.
|
||||||
|
|
||||||
In practice the script would not do something useless as counting but change
|
In practice the script would not do something useless as counting but change
|
||||||
the text. For example, re-indent all the lines:
|
the text. For example, reindent all the lines:
|
||||||
|
|
||||||
``` vim
|
``` vim
|
||||||
let totallen = 0
|
let totallen = 0
|
||||||
@@ -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.
|
"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
|
Attempts have been made to implement functionality with built-in script
|
||||||
languages such as Python, Perl, Lua, Tcl and Ruby. This never gained much
|
languages such as Python, Perl, Lua, Tcl and Ruby. This never gained much
|
||||||
@@ -91,14 +91,14 @@ Instead of using script language support in Vim:
|
|||||||
with them. The job and channel support already makes this possible.
|
with them. The job and channel support already makes this possible.
|
||||||
Really any language can be used, also Java and Go, which are not
|
Really any language can be used, also Java and Go, which are not
|
||||||
available built-in.
|
available built-in.
|
||||||
* Phase out the built-in language interfaces, make maintenance a bit easier
|
* No priority for the built-in language interfaces. They will have to be kept
|
||||||
and executables easier to build. They will be kept for backwards
|
for backwards compatibility, but many users won't need a Vim build with these
|
||||||
compatibility, no new features.
|
interfaces.
|
||||||
* Improve the Vim script language, it is used to communicate with the external
|
* Improve the Vim script language, it is used to communicate with the external
|
||||||
tool and implements the Vim side of the interface. Also, it can be used when
|
tool and implements the Vim side of the interface. Also, it can be used when
|
||||||
an external tool is undesired.
|
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
|
will be sufficient for most plugins, while some plugins require
|
||||||
installing a tool that can be written in any language. No confusion
|
installing a tool that can be written in any language. No confusion
|
||||||
about having Vim but the plugin not working because some specific
|
about having Vim but the plugin not working because some specific
|
||||||
@@ -140,6 +140,9 @@ Taking this one step further is also dropping "s:" for script-local variables;
|
|||||||
everything at the script level is script-local by default. Since this is not
|
everything at the script level is script-local by default. Since this is not
|
||||||
backwards compatible it requires a new script style: Vim9 script!
|
backwards compatible it requires a new script style: Vim9 script!
|
||||||
|
|
||||||
|
To avoid having more variations, the syntax inside a compiled function is the
|
||||||
|
same as in Vim9 script. Thus you have legacy syntax and Vim9 syntax.
|
||||||
|
|
||||||
It should be possible to convert code from other languages to Vim
|
It should be possible to convert code from other languages to Vim
|
||||||
script. We can add functionality to make this easier. This still needs
|
script. We can add functionality to make this easier. This still needs
|
||||||
to be discussed, but we can consider adding type checking and a simple
|
to be discussed, but we can consider adding type checking and a simple
|
||||||
@@ -156,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
|
make that mistake (after writing JavaScript especially). I think it is
|
||||||
possible, if we make local variables shadow commands. That should be OK,
|
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.
|
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:
|
TypeScript, can work:
|
||||||
|
|
||||||
|
|
||||||
``` vim
|
``` vim
|
||||||
def MyFunction(arg: number): number
|
def MyFunction(arg: number): number
|
||||||
let local = 1
|
var local = 1
|
||||||
let todo = arg
|
var todo = arg
|
||||||
const ADD = 88
|
const ADD = 88
|
||||||
while todo > 0
|
while todo > 0
|
||||||
local += ADD
|
local += ADD
|
||||||
--todo
|
todo -= 1
|
||||||
endwhile
|
endwhile
|
||||||
return local
|
return local
|
||||||
enddef
|
enddef
|
||||||
@@ -189,7 +192,7 @@ function and export it:
|
|||||||
``` vim
|
``` vim
|
||||||
vim9script " Vim9 script syntax used here
|
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
|
export def MyFunction() " exported function
|
||||||
...
|
...
|
||||||
@@ -245,10 +248,10 @@ END
|
|||||||
return luaeval('sum')
|
return luaeval('sum')
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
def VimNew()
|
def VimNew(): number
|
||||||
let sum = 0
|
var sum = 0
|
||||||
for i in range(1, 2999999)
|
for i in range(1, 2999999)
|
||||||
let sum += i
|
sum += i
|
||||||
endfor
|
endfor
|
||||||
return sum
|
return sum
|
||||||
enddef
|
enddef
|
||||||
@@ -274,7 +277,7 @@ echo 'Vim new: ' .. reltimestr(reltime(start))
|
|||||||
|
|
||||||
``` vim
|
``` vim
|
||||||
def VimNew(): number
|
def VimNew(): number
|
||||||
let totallen = 0
|
var totallen = 0
|
||||||
for i in range(1, 100000)
|
for i in range(1, 100000)
|
||||||
setline(i, ' ' .. getline(i))
|
setline(i, ' ' .. getline(i))
|
||||||
totallen += len(getline(i))
|
totallen += len(getline(i))
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ src/os_amiga.* Files for the Amiga port.
|
|||||||
src/os_msdos.*
|
src/os_msdos.*
|
||||||
src/os_dos.* Files for the MS-DOS port.
|
src/os_dos.* Files for the MS-DOS port.
|
||||||
|
|
||||||
src/gui_mac.*
|
|
||||||
src/os_mac.* Files for the Mac port.
|
src/os_mac.* Files for the Mac port.
|
||||||
|
|
||||||
src/os_vms* Files for the VMS port.
|
src/os_vms* Files for the VMS port.
|
||||||
|
|||||||
19
ci/build-snd-dummy.sh
Normal file
19
ci/build-snd-dummy.sh
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
LINUX_VERSION=$(uname -r | cut -d. -f1-2)
|
||||||
|
LINUX_ARCHIVE_FILE=v${LINUX_VERSION}.tar.gz
|
||||||
|
LINUX_SOURCE_DIR=linux-${LINUX_VERSION}
|
||||||
|
|
||||||
|
mkdir -p "${TMPDIR}"
|
||||||
|
cd "${TMPDIR}"
|
||||||
|
|
||||||
|
wget -q "https://github.com/torvalds/linux/archive/${LINUX_ARCHIVE_FILE}"
|
||||||
|
|
||||||
|
tar -xf "${LINUX_ARCHIVE_FILE}" "${LINUX_SOURCE_DIR}/sound"
|
||||||
|
cd "${LINUX_SOURCE_DIR}/sound"
|
||||||
|
|
||||||
|
CC=gcc make -C "/lib/modules/$(uname -r)/build" M="${PWD}" CONFIG_SOUND=m CONFIG_SND=m CONFIG_SND_PCM=m CONFIG_SND_DUMMY=m modules
|
||||||
|
|
||||||
|
mkdir -p "${SND_DUMMY_DIR}"
|
||||||
|
cp soundcore.ko core/snd.ko core/snd-pcm.ko drivers/snd-dummy.ko "${SND_DUMMY_DIR}"
|
||||||
@@ -3,6 +3,6 @@ set -e
|
|||||||
|
|
||||||
if ! modprobe snd-dummy; then
|
if ! modprobe snd-dummy; then
|
||||||
# snd-dummy is contained in linux-modules-extra (if exists)
|
# 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
|
modprobe snd-dummy
|
||||||
fi
|
fi
|
||||||
|
|||||||
17
ci/setup-xvfb.sh
Normal file
17
ci/setup-xvfb.sh
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
apt-get install -y xvfb
|
||||||
|
|
||||||
|
cat <<EOT >/etc/systemd/system/xvfb.service
|
||||||
|
[Unit]
|
||||||
|
Description=X Virtual Frame Buffer Service
|
||||||
|
After=network.target
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/bin/Xvfb :99 -screen 0 1024x768x24
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOT
|
||||||
|
|
||||||
|
systemctl enable xvfb.service
|
||||||
|
systemctl start xvfb.service
|
||||||
@@ -174,6 +174,7 @@ Page custom SetCustom ValidateCustom
|
|||||||
!include "lang\german.nsi"
|
!include "lang\german.nsi"
|
||||||
!include "lang\italian.nsi"
|
!include "lang\italian.nsi"
|
||||||
!include "lang\japanese.nsi"
|
!include "lang\japanese.nsi"
|
||||||
|
!include "lang\russian.nsi"
|
||||||
!include "lang\simpchinese.nsi"
|
!include "lang\simpchinese.nsi"
|
||||||
!include "lang\tradchinese.nsi"
|
!include "lang\tradchinese.nsi"
|
||||||
!include "lang\turkish.nsi"
|
!include "lang\turkish.nsi"
|
||||||
|
|||||||
@@ -58,10 +58,10 @@ LangString str_desc_console ${LANG_ITALIAN} \
|
|||||||
"Versione console di Vim (vim.exe)."
|
"Versione console di Vim (vim.exe)."
|
||||||
|
|
||||||
LangString str_section_batch ${LANG_ITALIAN} \
|
LangString str_section_batch ${LANG_ITALIAN} \
|
||||||
"Crea file di invocazione (MS-DOS) .bat"
|
"Crea file .bat"
|
||||||
LangString str_desc_batch ${LANG_ITALIAN} \
|
LangString str_desc_batch ${LANG_ITALIAN} \
|
||||||
"Crea file di invocazione .bat per varianti di Vim nella directory \
|
"Crea file .bat per varianti di Vim nella directory \
|
||||||
di Windows, per utilizzo da linea di comando (MS-DOS)."
|
di Windows, per utilizzo da riga di comando."
|
||||||
|
|
||||||
LangString str_group_icons ${LANG_ITALIAN} \
|
LangString str_group_icons ${LANG_ITALIAN} \
|
||||||
"Crea icone per Vim"
|
"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
|
" Vim completion script
|
||||||
" Language: C
|
" Language: C
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2020 Apr 08
|
" Last Change: 2020 Nov 14
|
||||||
|
|
||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
" This function is used for the 'omnifunc' option.
|
" This function is used for the 'omnifunc' option.
|
||||||
function! ccomplete#Complete(findstart, base)
|
func ccomplete#Complete(findstart, base)
|
||||||
if a:findstart
|
if a:findstart
|
||||||
" Locate the start of the item, including ".", "->" and "[...]".
|
" Locate the start of the item, including ".", "->" and "[...]".
|
||||||
let line = getline('.')
|
let line = getline('.')
|
||||||
@@ -244,7 +244,7 @@ function! ccomplete#Complete(findstart, base)
|
|||||||
return map(res, 's:Tagline2item(v:val, brackets)')
|
return map(res, 's:Tagline2item(v:val, brackets)')
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
function! s:GetAddition(line, match, memarg, bracket)
|
func s:GetAddition(line, match, memarg, bracket)
|
||||||
" Guess if the item is an array.
|
" Guess if the item is an array.
|
||||||
if a:bracket && match(a:line, a:match . '\s*\[') > 0
|
if a:bracket && match(a:line, a:match . '\s*\[') > 0
|
||||||
return '['
|
return '['
|
||||||
@@ -260,13 +260,13 @@ function! s:GetAddition(line, match, memarg, bracket)
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
return ''
|
return ''
|
||||||
endfunction
|
endfunc
|
||||||
|
|
||||||
" Turn the tag info "val" into an item for completion.
|
" Turn the tag info "val" into an item for completion.
|
||||||
" "val" is is an item in the list returned by taglist().
|
" "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,
|
" 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.
|
" 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 = {'match': a:val['name']}
|
||||||
|
|
||||||
let res['extra'] = s:Tagcmd2extra(a:val['cmd'], a:val['name'], a:val['filename'])
|
let res['extra'] = s:Tagcmd2extra(a:val['cmd'], a:val['name'], a:val['filename'])
|
||||||
@@ -289,10 +289,10 @@ function! s:Tag2item(val)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
return res
|
return res
|
||||||
endfunction
|
endfunc
|
||||||
|
|
||||||
" Use all the items in dictionary for the "info" entry.
|
" Use all the items in dictionary for the "info" entry.
|
||||||
function! s:Dict2info(dict)
|
func s:Dict2info(dict)
|
||||||
let info = ''
|
let info = ''
|
||||||
for k in sort(keys(a:dict))
|
for k in sort(keys(a:dict))
|
||||||
let info .= k . repeat(' ', 10 - len(k))
|
let info .= k . repeat(' ', 10 - len(k))
|
||||||
@@ -307,7 +307,7 @@ function! s:Dict2info(dict)
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" Parse a tag line and return a dictionary with items like taglist()
|
" 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 l = split(a:line, "\t")
|
||||||
let d = {}
|
let d = {}
|
||||||
if len(l) >= 3
|
if len(l) >= 3
|
||||||
@@ -334,12 +334,12 @@ function! s:ParseTagline(line)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
return d
|
return d
|
||||||
endfunction
|
endfunc
|
||||||
|
|
||||||
" Turn a match item "val" into an item for completion.
|
" Turn a match item "val" into an item for completion.
|
||||||
" "val['match']" is the matching item.
|
" "val['match']" is the matching item.
|
||||||
" "val['tagline']" is the tagline in which the last part was found.
|
" "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 line = a:val['tagline']
|
||||||
let add = s:GetAddition(line, a:val['match'], [a:val], a:brackets == '')
|
let add = s:GetAddition(line, a:val['match'], [a:val], a:brackets == '')
|
||||||
let res = {'word': a:val['match'] . a:brackets . add }
|
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'))
|
let res['menu'] = s:Tagcmd2extra(s, a:val['match'], matchstr(line, '[^\t]*\t\zs[^\t]*\ze\t'))
|
||||||
endif
|
endif
|
||||||
return res
|
return res
|
||||||
endfunction
|
endfunc
|
||||||
|
|
||||||
" Turn a command from a tag line to something that is useful in the menu
|
" 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 =~ '^/^'
|
if a:cmd =~ '^/^'
|
||||||
" The command is a search command, useful to see what it is.
|
" The command is a search command, useful to see what it is.
|
||||||
let x = matchstr(a:cmd, '^/^\s*\zs.*\ze$/')
|
let x = matchstr(a:cmd, '^/^\s*\zs.*\ze$/')
|
||||||
@@ -395,13 +395,13 @@ function! s:Tagcmd2extra(cmd, name, fname)
|
|||||||
let x = a:cmd . ' - ' . a:fname
|
let x = a:cmd . ' - ' . a:fname
|
||||||
endif
|
endif
|
||||||
return x
|
return x
|
||||||
endfunction
|
endfunc
|
||||||
|
|
||||||
" Find composing type in "lead" and match items[0] with it.
|
" Find composing type in "lead" and match items[0] with it.
|
||||||
" Repeat this recursively for items[1], if it's there.
|
" Repeat this recursively for items[1], if it's there.
|
||||||
" When resolving typedefs "depth" is used to avoid infinite recursion.
|
" When resolving typedefs "depth" is used to avoid infinite recursion.
|
||||||
" Return the list of matches.
|
" 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.
|
" Use the text up to the variable name and split it in tokens.
|
||||||
let tokens = split(a:lead, '\s\+\|\<')
|
let tokens = split(a:lead, '\s\+\|\<')
|
||||||
@@ -485,7 +485,7 @@ function! s:Nextitem(lead, items, depth, all)
|
|||||||
endfor
|
endfor
|
||||||
|
|
||||||
return res
|
return res
|
||||||
endfunction
|
endfunc
|
||||||
|
|
||||||
|
|
||||||
" Search for members of structure "typename" in tags files.
|
" Search for members of structure "typename" in tags files.
|
||||||
@@ -493,7 +493,7 @@ endfunction
|
|||||||
" Each match is a dictionary with "match" and "tagline" entries.
|
" 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
|
" When "all" is non-zero find all, otherwise just return 1 if there is any
|
||||||
" member.
|
" member.
|
||||||
function! s:StructMembers(typename, items, all)
|
func s:StructMembers(typename, items, all)
|
||||||
" Todo: What about local structures?
|
" Todo: What about local structures?
|
||||||
let fnames = join(map(tagfiles(), 'escape(v:val, " \\#%")'))
|
let fnames = join(map(tagfiles(), 'escape(v:val, " \\#%")'))
|
||||||
if fnames == ''
|
if fnames == ''
|
||||||
@@ -586,12 +586,12 @@ function! s:StructMembers(typename, items, all)
|
|||||||
|
|
||||||
" Failed to find anything.
|
" Failed to find anything.
|
||||||
return []
|
return []
|
||||||
endfunction
|
endfunc
|
||||||
|
|
||||||
" For matching members, find matches for following items.
|
" For matching members, find matches for following items.
|
||||||
" When "all" is non-zero find all, otherwise just return 1 if there is any
|
" When "all" is non-zero find all, otherwise just return 1 if there is any
|
||||||
" member.
|
" member.
|
||||||
function! s:SearchMembers(matches, items, all)
|
func s:SearchMembers(matches, items, all)
|
||||||
let res = []
|
let res = []
|
||||||
for i in range(len(a:matches))
|
for i in range(len(a:matches))
|
||||||
let typename = ''
|
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
|
" Vim functions for file type detection
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" 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
|
" These functions are moved here from runtime/filetype.vim to make startup
|
||||||
" faster.
|
" faster.
|
||||||
@@ -575,7 +575,7 @@ endfunc
|
|||||||
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
|
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
|
||||||
func dist#ft#FTRules()
|
func dist#ft#FTRules()
|
||||||
let path = expand('<amatch>:p')
|
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
|
setf udevrules
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
" Vim completion script
|
" Vim completion script
|
||||||
" Language: Java Script
|
" Language: Java Script
|
||||||
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
" Maintainer: Jay Sitter (jay@jaysitter.com)
|
||||||
" Last Change: 2017 Mar 04
|
" URL: https://github.com/jsit/javascriptcomplete.vim/
|
||||||
|
" Previous Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||||
|
" Last Change: 2020 Jul 30
|
||||||
|
|
||||||
function! javascriptcomplete#CompleteJS(findstart, base)
|
function! javascriptcomplete#CompleteJS(findstart, base)
|
||||||
if a:findstart
|
if a:findstart
|
||||||
@@ -154,12 +156,30 @@ function! javascriptcomplete#CompleteJS(findstart, base)
|
|||||||
\ 'text', 'vLink']
|
\ 'text', 'vLink']
|
||||||
let bodys = bodyprop
|
let bodys = bodyprop
|
||||||
" Document - document.
|
" Document - document.
|
||||||
let docuprop = ['anchors', 'applets', 'childNodes', 'embeds', 'forms', 'images', 'links', 'stylesheets',
|
let docuprop = ['anchors', 'body', 'characterSet', 'doctype',
|
||||||
\ 'body', 'cookie', 'documentElement', 'domain', 'lastModified', 'referrer', 'title', 'URL']
|
\ 'documentElement', 'documentURI', 'embeds', 'fonts', 'forms',
|
||||||
let documeth = ['close', 'createAttribute', 'createElement', 'createTextNode', 'focus', 'getElementById',
|
\ 'head', 'hidden', 'images', 'implementation', 'lastStyleSheetSet',
|
||||||
\ 'getElementsByName', 'getElementsByTagName', 'open', 'write', 'writeln',
|
\ 'links', 'plugins', 'preferredStyleSheetSet', 'scripts',
|
||||||
\ 'onClick', 'onDblClick', 'onFocus', 'onKeyDown', 'onKeyPress', 'onKeyUp',
|
\ 'scrollingElement', 'selectedStyleSheetSet', 'styleSheetSets',
|
||||||
\ 'onMouseDown', 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp', 'onResize']
|
\ 'timeline', 'visibilityState', 'cookie', 'defaultView',
|
||||||
|
\ 'designMode', 'dir', 'domain', 'lastModified', 'location',
|
||||||
|
\ 'readyState', 'referrer', 'title', 'URL', 'activeElement',
|
||||||
|
\ 'fullscreenElement', 'styleSheets']
|
||||||
|
let documeth = ['adoptNode', 'close', 'createAttribute',
|
||||||
|
\ 'createAttributeNS', 'createCDATASection', 'createComment',
|
||||||
|
\ 'createDocumentFragment', 'createElement', 'createElementNS',
|
||||||
|
\ 'createEvent', 'createExpression', 'createNSResolver',
|
||||||
|
\ 'createNodeIterator', 'createProcessingInstruction', 'createRange',
|
||||||
|
\ 'createTextNode', 'createTouchList', 'createTreeWalker',
|
||||||
|
\ 'enableStyleSheetsForSet', 'evaluate', 'focus', 'getElementById',
|
||||||
|
\ 'getElementById', 'getElementsByClassName', 'getElementsByName',
|
||||||
|
\ 'getElementsByTagName', 'getElementsByTagNameNS',
|
||||||
|
\ 'hasStorageAccess', 'importNode', 'onClick', 'onDblClick',
|
||||||
|
\ 'onFocus', 'onKeyDown', 'onKeyPress', 'onKeyUp', 'onMouseDown',
|
||||||
|
\ 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp',
|
||||||
|
\ 'onResize', 'open', 'querySelector', 'querySelectorAll',
|
||||||
|
\ 'requestStorageAccess', 'write', 'writeln']
|
||||||
|
|
||||||
call map(documeth, 'v:val."("')
|
call map(documeth, 'v:val."("')
|
||||||
let docuxprop = ['attributes', 'childNodes', 'doctype', 'documentElement', 'firstChild',
|
let docuxprop = ['attributes', 'childNodes', 'doctype', 'documentElement', 'firstChild',
|
||||||
\ 'implementation', 'namespaceURI', 'nextSibling', 'nodeName', 'nodeType',
|
\ 'implementation', 'namespaceURI', 'nextSibling', 'nodeName', 'nodeType',
|
||||||
@@ -368,9 +388,11 @@ function! javascriptcomplete#CompleteJS(findstart, base)
|
|||||||
let xdomelemprop = ['attributes', 'childNodes', 'firstChild', 'lastChild',
|
let xdomelemprop = ['attributes', 'childNodes', 'firstChild', 'lastChild',
|
||||||
\ 'namespaceURI', 'nextSibling', 'nodeName', 'nodeType', 'nodeValue',
|
\ 'namespaceURI', 'nextSibling', 'nodeName', 'nodeType', 'nodeValue',
|
||||||
\ 'ownerDocument', 'parentNode', 'prefix', 'previousSibling', 'tagName']
|
\ 'ownerDocument', 'parentNode', 'prefix', 'previousSibling', 'tagName']
|
||||||
let xdomelemmeth = ['appendChild', 'cloneNode', 'getAttribute', 'getAttributeNode',
|
let xdomelemmeth = ['appendChild', 'addEventListener', 'cloneNode',
|
||||||
\ 'getElementsByTagName', 'hasChildNodes', 'insertBefore', 'normalize',
|
\ 'dispatchEvent', 'getAttribute', 'getAttributeNode',
|
||||||
\ 'removeAttribute', 'removeAttributeNode', 'removeChild', 'replaceChild',
|
\ 'getElementsByTagName', 'hasChildNodes', 'insertBefore',
|
||||||
|
\ 'normalize', 'removeAttribute', 'removeAttributeNode',
|
||||||
|
\ 'removeChild', 'removeEventListener', 'replaceChild',
|
||||||
\ 'setAttribute', 'setAttributeNode']
|
\ 'setAttribute', 'setAttributeNode']
|
||||||
call map(xdomelemmeth, 'v:val."("')
|
call map(xdomelemmeth, 'v:val."("')
|
||||||
let xdomelems = xdomelemprop + xdomelemmeth
|
let xdomelems = xdomelemprop + xdomelemmeth
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" netrw.vim: Handles file transfer and remote directory listing across
|
" netrw.vim: Handles file transfer and remote directory listing across
|
||||||
" AUTOLOAD SECTION
|
" AUTOLOAD SECTION
|
||||||
" Date: Jan 07, 2020
|
" Date: Sep 18, 2020
|
||||||
" Version: 168
|
" Version: 170
|
||||||
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||||
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
|
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
|
||||||
@@ -43,7 +43,7 @@ if exists("s:needspatches")
|
|||||||
endfor
|
endfor
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let g:loaded_netrw = "v168"
|
let g:loaded_netrw = "v170"
|
||||||
if !exists("s:NOTE")
|
if !exists("s:NOTE")
|
||||||
let s:NOTE = 0
|
let s:NOTE = 0
|
||||||
let s:WARNING = 1
|
let s:WARNING = 1
|
||||||
@@ -86,7 +86,16 @@ fun! netrw#ErrorMsg(level,msg,errnum)
|
|||||||
endif
|
endif
|
||||||
" call Decho("level=".level,'~'.expand("<slnum>"))
|
" 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
|
" (default) netrw creates a one-line window to show error/warning
|
||||||
" messages (reliably displayed)
|
" messages (reliably displayed)
|
||||||
|
|
||||||
@@ -203,7 +212,11 @@ let g:netrw_localrmdiropt = ""
|
|||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" Default values for netrw's global protocol variables {{{2
|
" 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 !exists("g:netrw_dav_cmd")
|
||||||
if executable("cadaver")
|
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")
|
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>"))
|
" call Decho("installed beval events",'~'.expand("<slnum>"))
|
||||||
let &l:bexpr = "netrw#BalloonHelp()"
|
let &l:bexpr = "netrw#BalloonHelp()"
|
||||||
|
" call Decho("&l:bexpr<".&l:bexpr."> buf#".bufnr())
|
||||||
au FileType netrw setl beval
|
au FileType netrw setl beval
|
||||||
au WinLeave * if &ft == "netrw" && exists("s:initbeval")|let &beval= s:initbeval|endif
|
au WinLeave * if &ft == "netrw" && exists("s:initbeval")|let &beval= s:initbeval|endif
|
||||||
au VimEnter * let s:initbeval= &beval
|
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"
|
if &ft != "netrw"
|
||||||
return ""
|
return ""
|
||||||
endif
|
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= ""
|
let mesg= ""
|
||||||
elseif v:beval_text == "Netrw" || v:beval_text == "Directory" || v:beval_text == "Listing"
|
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"
|
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
|
setlocal winfixwidth
|
||||||
let g:netrw_altv = keep_altv
|
let g:netrw_altv = keep_altv
|
||||||
let t:netrw_lexbufnr = bufnr("%")
|
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("let t:netrw_lexbufnr=".t:netrw_lexbufnr)
|
||||||
" call Decho("t:netrw_lexposn".(exists("t:netrw_lexposn")? string(t:netrw_lexposn) : " n/a"))
|
" call Decho("t:netrw_lexposn".(exists("t:netrw_lexposn")? string(t:netrw_lexposn) : " n/a"))
|
||||||
if exists("t:netrw_lexposn")
|
if exists("t:netrw_lexposn")
|
||||||
@@ -1908,7 +1937,7 @@ fun! s:NetrwRestoreSetting(keepvar,setting)
|
|||||||
if type(a:setting) == 0
|
if type(a:setting) == 0
|
||||||
exe "let ".a:setting."= ".keepvarval
|
exe "let ".a:setting."= ".keepvarval
|
||||||
elseif type(a:setting) == 1
|
elseif type(a:setting) == 1
|
||||||
exe "let ".a:setting."= '".keepvarval."'"
|
exe "let ".a:setting."= '".substitute(keepvarval,"'","''","g")."'"
|
||||||
else
|
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)
|
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
|
endif
|
||||||
@@ -3640,6 +3669,8 @@ fun! s:NetrwBookHistSave()
|
|||||||
let savefile= s:NetrwHome()."/.netrwhist"
|
let savefile= s:NetrwHome()."/.netrwhist"
|
||||||
" call Decho("savefile<".savefile.">",'~'.expand("<slnum>"))
|
" call Decho("savefile<".savefile.">",'~'.expand("<slnum>"))
|
||||||
1split
|
1split
|
||||||
|
|
||||||
|
" setting up a new buffer which will become .netrwhist
|
||||||
call s:NetrwEnew()
|
call s:NetrwEnew()
|
||||||
" call Decho("case g:netrw_use_noswf=".g:netrw_use_noswf.(exists("+acd")? " +acd" : " -acd"),'~'.expand("<slnum>"))
|
" call Decho("case g:netrw_use_noswf=".g:netrw_use_noswf.(exists("+acd")? " +acd" : " -acd"),'~'.expand("<slnum>"))
|
||||||
if g:netrw_use_noswf
|
if g:netrw_use_noswf
|
||||||
@@ -4722,7 +4753,7 @@ endfun
|
|||||||
" "new directory name" is actually a file,
|
" "new directory name" is actually a file,
|
||||||
" NetrwBrowseChgDir() edits the file.
|
" NetrwBrowseChgDir() edits the file.
|
||||||
fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
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>"))
|
" call Decho("tab#".tabpagenr()." win#".winnr()." buf#".bufnr("%")."<".bufname("%")."> line#".line(".")." col#".col(".")." winline#".winline()." wincol#".wincol(),'~'.expand("<slnum>"))
|
||||||
|
|
||||||
let ykeep= @@
|
let ykeep= @@
|
||||||
@@ -4751,13 +4782,14 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
|||||||
let newdir = a:newdir
|
let newdir = a:newdir
|
||||||
let dolockout = 0
|
let dolockout = 0
|
||||||
let dorestore = 1
|
let dorestore = 1
|
||||||
|
" call Decho("win#".winnr(),'~'.expand("<slnum>"))
|
||||||
" call Decho("dirname<".dirname.">",'~'.expand("<slnum>"))
|
" call Decho("dirname<".dirname.">",'~'.expand("<slnum>"))
|
||||||
" call Decho("newdir<".newdir.">",'~'.expand("<slnum>"))
|
" call Decho("newdir<".newdir.">",'~'.expand("<slnum>"))
|
||||||
|
|
||||||
" ignore <cr>s when done in the banner
|
" 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>"))
|
" call Decho('(s:NetrwBrowseChgDir) ignore [return]s when done in banner (g:netrw_banner='.g:netrw_banner.")",'~'.expand("<slnum>"))
|
||||||
if g:netrw_banner
|
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 exists("w:netrw_bannercnt") && line(".") < w:netrw_bannercnt && line("$") >= w:netrw_bannercnt
|
||||||
if getline(".") =~# 'Quick Help'
|
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>"))
|
" 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
|
" 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
|
" save position for benefit of Rexplore
|
||||||
let s:rexposn_{bufnr("%")}= winsaveview()
|
let s:rexposn_{bufnr("%")}= winsaveview()
|
||||||
@@ -4829,7 +4861,7 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
|||||||
NetrwKeepj call s:NetrwOptionsRestore("s:")
|
NetrwKeepj call s:NetrwOptionsRestore("s:")
|
||||||
let curdir= b:netrw_curdir
|
let curdir= b:netrw_curdir
|
||||||
if !exists("s:didsplit")
|
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
|
if type(g:netrw_browse_split) == 3
|
||||||
" open file in server
|
" open file in server
|
||||||
" Note that g:netrw_browse_split is a List: [servername,tabnr,winnr]
|
" 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 s:NetrwServerEdit(a:islocal,dirname)
|
||||||
" call Dret("s:NetrwBrowseChgDir")
|
" call Dret("s:NetrwBrowseChgDir")
|
||||||
return
|
return
|
||||||
|
|
||||||
elseif g:netrw_browse_split == 1
|
elseif g:netrw_browse_split == 1
|
||||||
" horizontally splitting the window first
|
" horizontally splitting the window first
|
||||||
" call Decho("edit-a-file: horizontally splitting window prior to edit",'~'.expand("<slnum>"))
|
" 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
|
if !&ea
|
||||||
keepalt wincmd _
|
keepalt wincmd _
|
||||||
endif
|
endif
|
||||||
call s:SetRexDir(a:islocal,curdir)
|
call s:SetRexDir(a:islocal,curdir)
|
||||||
|
|
||||||
elseif g:netrw_browse_split == 2
|
elseif g:netrw_browse_split == 2
|
||||||
" vertically splitting the window first
|
" vertically splitting the window first
|
||||||
" call Decho("edit-a-file: vertically splitting window prior to edit",'~'.expand("<slnum>"))
|
" 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
|
if !&ea
|
||||||
keepalt wincmd |
|
keepalt wincmd |
|
||||||
endif
|
endif
|
||||||
call s:SetRexDir(a:islocal,curdir)
|
call s:SetRexDir(a:islocal,curdir)
|
||||||
|
|
||||||
elseif g:netrw_browse_split == 3
|
elseif g:netrw_browse_split == 3
|
||||||
" open file in new tab
|
" open file in new tab
|
||||||
" call Decho("edit-a-file: opening new tab prior to edit",'~'.expand("<slnum>"))
|
" 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()
|
let b:netrw_curdir= getcwd()
|
||||||
endif
|
endif
|
||||||
call s:SetRexDir(a:islocal,curdir)
|
call s:SetRexDir(a:islocal,curdir)
|
||||||
|
|
||||||
elseif g:netrw_browse_split == 4
|
elseif g:netrw_browse_split == 4
|
||||||
" act like "P" (ie. open previous window)
|
" act like "P" (ie. open previous window)
|
||||||
" call Decho("edit-a-file: use previous window for edit",'~'.expand("<slnum>"))
|
" call Decho("edit-a-file: use previous window for edit",'~'.expand("<slnum>"))
|
||||||
@@ -4870,13 +4908,14 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
|||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
call s:SetRexDir(a:islocal,curdir)
|
call s:SetRexDir(a:islocal,curdir)
|
||||||
|
|
||||||
else
|
else
|
||||||
" handling a file, didn't split, so remove menu
|
" 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 Decho("edit-a-file: handling a file+didn't split, so remove menu",'~'.expand("<slnum>"))
|
||||||
call s:NetrwMenu(0)
|
call s:NetrwMenu(0)
|
||||||
" optional change to window
|
" optional change to window
|
||||||
if g:netrw_chgwin >= 1
|
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 winnr("$")+1 == g:netrw_chgwin
|
||||||
" if g:netrw_chgwin is set to one more than the last window, then
|
" if g:netrw_chgwin is set to one more than the last window, then
|
||||||
" vertically split the last window to make that window available.
|
" vertically split the last window to make that window available.
|
||||||
@@ -4889,19 +4928,26 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
|||||||
endif
|
endif
|
||||||
call s:SetRexDir(a:islocal,curdir)
|
call s:SetRexDir(a:islocal,curdir)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" the point where netrw actually edits the (local) file
|
" the point where netrw actually edits the (local) file
|
||||||
" if its local only: LocalBrowseCheck() doesn't edit a file, but NetrwBrowse() will
|
" if its local only: LocalBrowseCheck() doesn't edit a file, but NetrwBrowse() will
|
||||||
" no keepalt to support :e # to return to a directory listing
|
" 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
|
if a:islocal
|
||||||
" call Decho("edit-a-file: edit local file: exe e! ".fnameescape(dirname),'~'.expand("<slnum>"))
|
" call Decho("edit-a-file: edit local file: exe e! ".fnameescape(dirname),'~'.expand("<slnum>"))
|
||||||
" some like c-^ to return to the last edited file
|
" some like c-^ to return to the last edited file
|
||||||
" others like c-^ to return to the netrw buffer
|
" 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
|
if exists("g:netrw_altfile") && g:netrw_altfile
|
||||||
exe "NetrwKeepj keepalt e! ".fnameescape(dirname)
|
exe "NetrwKeepj keepalt e ".fnameescape(dirname)
|
||||||
else
|
else
|
||||||
exe "NetrwKeepj e! ".fnameescape(dirname)
|
exe "NetrwKeepj e ".fnameescape(dirname)
|
||||||
endif
|
endif
|
||||||
" call Decho("edit-a-file: after e! ".dirname.": hidden=".&hidden." bufhidden<".&bufhidden."> mod=".&mod,'~'.expand("<slnum>"))
|
" call Decho("edit-a-file: after e! ".dirname.": hidden=".&hidden." bufhidden<".&bufhidden."> mod=".&mod,'~'.expand("<slnum>"))
|
||||||
call s:NetrwCursor()
|
call s:NetrwCursor()
|
||||||
@@ -4912,7 +4958,6 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
|||||||
else
|
else
|
||||||
" call Decho("edit-a-file: remote file: NetrwBrowse will edit it",'~'.expand("<slnum>"))
|
" call Decho("edit-a-file: remote file: NetrwBrowse will edit it",'~'.expand("<slnum>"))
|
||||||
endif
|
endif
|
||||||
let dolockout= 1
|
|
||||||
|
|
||||||
" handle g:Netrw_funcref -- call external-to-netrw functions
|
" handle g:Netrw_funcref -- call external-to-netrw functions
|
||||||
" This code will handle g:Netrw_funcref as an individual function reference
|
" This code will handle g:Netrw_funcref as an individual function reference
|
||||||
@@ -5376,16 +5421,6 @@ fun! netrw#BrowseX(fname,remote)
|
|||||||
endif
|
endif
|
||||||
let ret= v:shell_error
|
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")
|
elseif has("unix") && $DESKTOP_SESSION == "mate" && executable("atril")
|
||||||
" call Decho("(netrw#BrowseX) unix and atril",'~'.expand("<slnum>"))
|
" call Decho("(netrw#BrowseX) unix and atril",'~'.expand("<slnum>"))
|
||||||
if a:fname =~ '^https\=://'
|
if a:fname =~ '^https\=://'
|
||||||
@@ -5400,9 +5435,19 @@ fun! netrw#BrowseX(fname,remote)
|
|||||||
endif
|
endif
|
||||||
let ret= v:shell_error
|
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")
|
elseif has("unix") && executable("xdg-open")
|
||||||
" call Decho("(netrw#BrowseX) unix and xdg-open",'~'.expand("<slnum>"))
|
" 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
|
let ret= v:shell_error
|
||||||
|
|
||||||
elseif has("macunix") && executable("open")
|
elseif has("macunix") && executable("open")
|
||||||
@@ -6107,10 +6152,10 @@ fun! s:NetrwListHide()
|
|||||||
" Duplicate characters don't matter.
|
" Duplicate characters don't matter.
|
||||||
" Remove all such characters from the '/~@#...890' string.
|
" Remove all such characters from the '/~@#...890' string.
|
||||||
" Use the first character left as a separator character.
|
" 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 listhide= g:netrw_list_hide
|
||||||
let sep = strpart(substitute('~@#$%^&*{};:,<.>?|1234567890','['.escape(listhide,'-]^\').']','','ge'),1,1)
|
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 != ""
|
while listhide != ""
|
||||||
if listhide =~ ','
|
if listhide =~ ','
|
||||||
@@ -6120,7 +6165,7 @@ fun! s:NetrwListHide()
|
|||||||
let hide = listhide
|
let hide = listhide
|
||||||
let listhide = ""
|
let listhide = ""
|
||||||
endif
|
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 g:netrw_sort_by =~ '^[ts]'
|
||||||
if hide =~ '^\^'
|
if hide =~ '^\^'
|
||||||
" call Decho("..modify hide to handle a \"^...\" pattern",'~'.expand("<slnum>"))
|
" call Decho("..modify hide to handle a \"^...\" pattern",'~'.expand("<slnum>"))
|
||||||
@@ -6132,7 +6177,7 @@ fun! s:NetrwListHide()
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" Prune the list by hiding any files which match
|
" 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
|
if g:netrw_hide == 1
|
||||||
" call Decho("..hiding<".hide.">",'~'.expand("<slnum>"))
|
" call Decho("..hiding<".hide.">",'~'.expand("<slnum>"))
|
||||||
exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$g'.sep.hide.sep.'d'
|
exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$g'.sep.hide.sep.'d'
|
||||||
@@ -9215,6 +9260,7 @@ endfun
|
|||||||
" (full path directory with trailing slash returned)
|
" (full path directory with trailing slash returned)
|
||||||
fun! s:NetrwTreeDir(islocal)
|
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 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("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_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>"))
|
" 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.'/')
|
call setline(line("$")+1,a:depth.shortdir.'/')
|
||||||
endif
|
endif
|
||||||
" call Decho("setline#".line("$")." shortdir<".a:depth.shortdir.">",'~'.expand("<slnum>"))
|
" call Decho("setline#".line("$")." shortdir<".a:depth.shortdir.">",'~'.expand("<slnum>"))
|
||||||
|
|
||||||
" append a / to dir if its missing one
|
" append a / to dir if its missing one
|
||||||
let dir= a:dir
|
let dir= a:dir
|
||||||
|
|
||||||
@@ -9334,7 +9379,7 @@ fun! s:NetrwTreeDisplay(dir,depth)
|
|||||||
let listhide= split(g:netrw_list_hide,',')
|
let listhide= split(g:netrw_list_hide,',')
|
||||||
" call Decho("listhide=".string(listhide))
|
" call Decho("listhide=".string(listhide))
|
||||||
for pat in 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
|
endfor
|
||||||
|
|
||||||
elseif g:netrw_hide == 2
|
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>"))
|
" 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
|
" display from treetop on down
|
||||||
|
" call Decho("(s:NetrwTreeListing) w:netrw_treetop<".w:netrw_treetop.">")
|
||||||
NetrwKeepj call s:NetrwTreeDisplay(w:netrw_treetop,"")
|
NetrwKeepj call s:NetrwTreeDisplay(w:netrw_treetop,"")
|
||||||
" call Decho("s:NetrwTreeDisplay) setl noma nomod ro",'~'.expand("<slnum>"))
|
" call Decho("s:NetrwTreeDisplay) setl noma nomod ro",'~'.expand("<slnum>"))
|
||||||
|
|
||||||
@@ -9742,7 +9788,7 @@ fun! s:PerformListing(islocal)
|
|||||||
|
|
||||||
" Hiding... -or- Showing... {{{3
|
" Hiding... -or- Showing... {{{3
|
||||||
if g:netrw_banner
|
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_list_hide != "" && g:netrw_hide
|
||||||
if g:netrw_hide == 1
|
if g:netrw_hide == 1
|
||||||
NetrwKeepj put ='\" Hiding: '.g:netrw_list_hide
|
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>"))
|
" 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
|
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>"))
|
" 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 != ""
|
if g:netrw_hide && g:netrw_list_hide != ""
|
||||||
NetrwKeepj call s:NetrwListHide()
|
NetrwKeepj call s:NetrwListHide()
|
||||||
@@ -11808,7 +11854,7 @@ endfun
|
|||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" s:NetrwEnew: opens a new buffer, passes netrw buffer variables through {{{2
|
" s:NetrwEnew: opens a new buffer, passes netrw buffer variables through {{{2
|
||||||
fun! s:NetrwEnew(...)
|
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>"))
|
" call Decho("curdir<".((a:0>0)? a:1 : "")."> buf#".bufnr("%")."<".bufname("%").">",'~'.expand("<slnum>"))
|
||||||
|
|
||||||
" grab a function-local-variable copy of buffer variables
|
" grab a function-local-variable copy of buffer variables
|
||||||
@@ -11875,6 +11921,9 @@ fun! s:NetrwEnew(...)
|
|||||||
endif
|
endif
|
||||||
endif
|
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("$"))
|
" call Dret("s:NetrwEnew : buf#".bufnr("%")."<".bufname("%")."> expand(%)<".expand("%")."> expand(#)<".expand("#")."> bh=".&bh." win#".winnr()." winnr($)#".winnr("$"))
|
||||||
endfun
|
endfun
|
||||||
@@ -11934,6 +11983,7 @@ endfun
|
|||||||
" -1=failed
|
" -1=failed
|
||||||
fun! s:NetrwLcd(newdir)
|
fun! s:NetrwLcd(newdir)
|
||||||
" call Dfunc("s:NetrwLcd(newdir<".a:newdir.">)")
|
" call Dfunc("s:NetrwLcd(newdir<".a:newdir.">)")
|
||||||
|
" call Decho("changing local directory",'~'.expand("<slnum>"))
|
||||||
|
|
||||||
let err472= 0
|
let err472= 0
|
||||||
try
|
try
|
||||||
@@ -11969,6 +12019,8 @@ fun! s:NetrwLcd(newdir)
|
|||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" call Decho("getcwd <".getcwd().">")
|
||||||
|
" call Decho("b:netrw_curdir<".b:netrw_curdir.">")
|
||||||
" call Dret("s:NetrwLcd 0")
|
" call Dret("s:NetrwLcd 0")
|
||||||
return 0
|
return 0
|
||||||
endfun
|
endfun
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
" netrwFileHandlers: contains various extension-based file handlers for
|
" netrwFileHandlers: contains various extension-based file handlers for
|
||||||
" netrw's browsers' x command ("eXecute launcher")
|
" netrw's browsers' x command ("eXecute launcher")
|
||||||
" Author: Charles E. Campbell
|
" Author: Charles E. Campbell
|
||||||
" Date: May 03, 2013
|
" Date: Sep 18, 2020
|
||||||
" Version: 11b ASTRO-ONLY
|
" Version: 11
|
||||||
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
|
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
|
||||||
" Permission is hereby granted to use and distribute this code,
|
" Permission is hereby granted to use and distribute this code,
|
||||||
" with or without modifications, provided that this copyright
|
" with or without modifications, provided that this copyright
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
if exists("g:loaded_netrwFileHandlers") || &cp
|
if exists("g:loaded_netrwFileHandlers") || &cp
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let g:loaded_netrwFileHandlers= "v11b"
|
let g:loaded_netrwFileHandlers= "v11"
|
||||||
if v:version < 702
|
if v:version < 702
|
||||||
echohl WarningMsg
|
echohl WarningMsg
|
||||||
echo "***warning*** this version of netrwFileHandlers needs vim 7.2"
|
echo "***warning*** this version of netrwFileHandlers needs vim 7.2"
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
"python3complete.vim - Omni Completion for python
|
"python3complete.vim - Omni Completion for python
|
||||||
" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
" Maintainer: <vacancy>
|
||||||
|
" Previous Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
||||||
" Version: 0.9
|
" 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
|
" Roland Puntaier: this file contains adaptations for python3 and is parallel to pythoncomplete.vim
|
||||||
"
|
"
|
||||||
@@ -83,7 +84,7 @@ function! python3complete#Complete(findstart, base)
|
|||||||
break
|
break
|
||||||
endif
|
endif
|
||||||
endwhile
|
endwhile
|
||||||
execute "py3 vimpy3complete('" . cword . "', '" . a:base . "')"
|
execute "py3 vimpy3complete('" . escape(cword, "'") . "', '" . escape(a:base, "'") . "')"
|
||||||
return g:python3complete_completions
|
return g:python3complete_completions
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
"pythoncomplete.vim - Omni Completion for python
|
"pythoncomplete.vim - Omni Completion for python
|
||||||
" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
" Maintainer: <vacancy>
|
||||||
|
" Previous Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
||||||
" Version: 0.9
|
" Version: 0.9
|
||||||
" Last Updated: 18 Jun 2009
|
" Last Updated: 2020 Oct 9
|
||||||
"
|
"
|
||||||
" Changes
|
" Changes
|
||||||
" TODO:
|
" TODO:
|
||||||
@@ -81,7 +82,7 @@ function! pythoncomplete#Complete(findstart, base)
|
|||||||
break
|
break
|
||||||
endif
|
endif
|
||||||
endwhile
|
endwhile
|
||||||
execute "python vimcomplete('" . cword . "', '" . a:base . "')"
|
execute "python vimcomplete('" . escape(cword, "'") . "', '" . escape(a:base, "'") . "')"
|
||||||
return g:pythoncomplete_completions
|
return g:pythoncomplete_completions
|
||||||
endif
|
endif
|
||||||
endfunction
|
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." - ")
|
" 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." - "
|
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")
|
if has("unix") && executable("file")
|
||||||
let filekind= system("file ".shellescape(tarfile,1)) =~ "bzip2"
|
let filekind= system("file ".shellescape(tarfile,1)) =~ "bzip2"
|
||||||
else
|
else
|
||||||
@@ -174,6 +174,8 @@ fun! tar#Browse(tarfile)
|
|||||||
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||||
elseif filekind =~ "XZ"
|
elseif filekind =~ "XZ"
|
||||||
exe "sil! r! xz -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
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
|
else
|
||||||
exe "sil! 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." - "
|
||||||
endif
|
endif
|
||||||
@@ -190,6 +192,8 @@ fun! tar#Browse(tarfile)
|
|||||||
elseif tarfile =~# '\.\(xz\|txz\)$'
|
elseif tarfile =~# '\.\(xz\|txz\)$'
|
||||||
" call Decho("3: exe silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
|
" 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." - "
|
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
|
else
|
||||||
if tarfile =~ '^\s*-'
|
if tarfile =~ '^\s*-'
|
||||||
" A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
|
" 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")
|
elseif fname =~ '\.xz$' && executable("xzcat")
|
||||||
let decmp= "|xzcat"
|
let decmp= "|xzcat"
|
||||||
let doro = 1
|
let doro = 1
|
||||||
|
elseif fname =~ '\.zst$' && executable("zstdcat")
|
||||||
|
let decmp= "|zstdcat"
|
||||||
|
let doro = 1
|
||||||
else
|
else
|
||||||
let decmp=""
|
let decmp=""
|
||||||
let doro = 0
|
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
|
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||||
elseif filekind =~ "XZ"
|
elseif filekind =~ "XZ"
|
||||||
exe "sil! r! xz -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
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
|
else
|
||||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||||
endif
|
endif
|
||||||
@@ -452,6 +461,10 @@ fun! tar#Write(fname)
|
|||||||
let tarfile = substitute(tarfile,'\.xz','','e')
|
let tarfile = substitute(tarfile,'\.xz','','e')
|
||||||
let compress= "xz -- ".shellescape(tarfile,0)
|
let compress= "xz -- ".shellescape(tarfile,0)
|
||||||
" call Decho("compress<".compress.">")
|
" 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'
|
elseif tarfile =~# '\.lzma'
|
||||||
call system("lzma -d -- ".shellescape(tarfile,0))
|
call system("lzma -d -- ".shellescape(tarfile,0))
|
||||||
let tarfile = substitute(tarfile,'\.lzma','','e')
|
let tarfile = substitute(tarfile,'\.lzma','','e')
|
||||||
@@ -676,6 +689,28 @@ fun! tar#Extract()
|
|||||||
else
|
else
|
||||||
echo "***note*** successfully extracted ".fname
|
echo "***note*** successfully extracted ".fname
|
||||||
endif
|
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
|
endif
|
||||||
|
|
||||||
" restore option
|
" restore option
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" zip.vim: Handles browsing zipfiles
|
" zip.vim: Handles browsing zipfiles
|
||||||
" AUTOLOAD PORTION
|
" AUTOLOAD PORTION
|
||||||
" Date: Jan 07, 2020
|
" Date: Jan 07, 2020
|
||||||
" Version: 30
|
" Version: 31
|
||||||
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||||
" License: Vim License (see vim's :help license)
|
" License: Vim License (see vim's :help license)
|
||||||
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
|
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
if &cp || exists("g:loaded_zip")
|
if &cp || exists("g:loaded_zip")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let g:loaded_zip= "v30"
|
let g:loaded_zip= "v31"
|
||||||
if v:version < 702
|
if v:version < 702
|
||||||
echohl WarningMsg
|
echohl WarningMsg
|
||||||
echo "***warning*** this version of zip needs vim 7.2 or later"
|
echo "***warning*** this version of zip needs vim 7.2 or later"
|
||||||
@@ -65,7 +65,7 @@ endif
|
|||||||
" zip#Browse: {{{2
|
" zip#Browse: {{{2
|
||||||
fun! zip#Browse(zipfile)
|
fun! zip#Browse(zipfile)
|
||||||
" call Dfunc("zip#Browse(zipfile<".a: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")
|
" (zipped files have a leading PK as a "magic cookie")
|
||||||
if !filereadable(a:zipfile) || readfile(a:zipfile, "", 1)[0] !~ '^PK'
|
if !filereadable(a:zipfile) || readfile(a:zipfile, "", 1)[0] !~ '^PK'
|
||||||
exe "noswapfile noautocmd noswapfile e ".fnameescape(a:zipfile)
|
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
|
ctermfg and ctermbg values are numbers, which are only valid for the current
|
||||||
terminal. Use the color names instead. See ":help cterm-colors".
|
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".
|
Search for "highlight_init".
|
||||||
|
|
||||||
If you think you have a color scheme that is good enough to be used by others,
|
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
|
" 9) Normal should be defined first, not use reverse, fg or bg
|
||||||
call cursor(1,1)
|
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`
|
call search(pat, 'cW') " Look for the first hi def, skipping `hi link` and `hi clear`
|
||||||
if getline('.') !~# '\m\<Normal\>'
|
if getline('.') !~# '\m\<Normal\>'
|
||||||
let err['highlight']['Normal'] = 'Should be defined first'
|
let err['highlight']['Normal'] = 'Should be defined first'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim compiler file
|
" Vim compiler file
|
||||||
" Compiler: Checkstyle
|
" Compiler: Checkstyle
|
||||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||||
" Last Change: 2013 Jun 26
|
" Last Change: 2020 Aug 2
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
@@ -12,8 +12,18 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
|||||||
command -nargs=* CompilerSet setlocal <args>
|
command -nargs=* CompilerSet setlocal <args>
|
||||||
endif
|
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.
|
" CompilerSet makeprg=java\ com.puppycrawl.tools.checkstyle.Main\ -f\ plain\ -c\ /sun_checks.xml
|
||||||
" WebTable.java:201:1: '{' should be on the previous line.
|
" CompilerSet makeprg=java\ -jar\ checkstyle-X.XX-all.jar\ -f\ plain\ -c\ /sun_checks.xml
|
||||||
CompilerSet errorformat=%f:%l:%v:\ %m,%f:%l:\ %m,%-G%.%#
|
|
||||||
|
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
|
" Vim compiler file
|
||||||
" Compiler: ESLint for JavaScript
|
" Compiler: ESLint for JavaScript
|
||||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||||
" Last Change: 2020 May 17
|
" Last Change: 2020 August 20
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
@@ -12,5 +12,5 @@ if exists(":CompilerSet") != 2
|
|||||||
command -nargs=* CompilerSet setlocal <args>
|
command -nargs=* CompilerSet setlocal <args>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CompilerSet makeprg=eslint\ --format\ compact
|
CompilerSet makeprg=npx\ eslint\ --format\ compact
|
||||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#
|
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
|
" Vim compiler file
|
||||||
" Compiler: javac
|
" Compiler: Java Development Kit Compiler
|
||||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||||
" Last Change: 2004 Nov 27
|
" Last Change: 2019 Oct 21
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
@@ -12,6 +12,15 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
|||||||
command -nargs=* CompilerSet setlocal <args>
|
command -nargs=* CompilerSet setlocal <args>
|
||||||
endif
|
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
|
" Vim compiler file
|
||||||
" Compiler: Standard for JavaScript
|
" Compiler: Standard for JavaScript
|
||||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||||
" Last Change: 2020 May 17
|
" Last Change: 2020 August 20
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
@@ -12,5 +12,5 @@ if exists(":CompilerSet") != 2
|
|||||||
command -nargs=* CompilerSet setlocal <args>
|
command -nargs=* CompilerSet setlocal <args>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CompilerSet makeprg=standard
|
CompilerSet makeprg=npx\ standard
|
||||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#
|
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
|
" Vim compiler file
|
||||||
" Compiler: xmllint
|
" Compiler: Libxml2 Command-Line Tool
|
||||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||||
" Last Change: 2013 Jul 8
|
" Last Change: 2020 Jul 30
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
@@ -13,14 +13,16 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo-=C
|
set cpo&vim
|
||||||
|
|
||||||
CompilerSet makeprg=xmllint\ --valid\ --noout
|
CompilerSet makeprg=xmllint\ --valid\ --noout
|
||||||
|
CompilerSet errorformat=%E%f:%l:\ %.%#\ error\ :\ %m,
|
||||||
CompilerSet errorformat=%+E%f:%l:\ %.%#\ error\ :\ %m,
|
\%W%f:%l:\ %.%#\ warning\ :\ %m,
|
||||||
\%+W%f:%l:\ %.%#\ warning\ :\ %m,
|
\%-Z%p^,
|
||||||
\%-Z%p^,
|
\%C%.%#,
|
||||||
\%-G%.%#
|
\%terror:\ %m,
|
||||||
|
\%tarning:\ %m,
|
||||||
|
\%-G%.%#
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
unlet s:cpo_save
|
unlet s:cpo_save
|
||||||
|
|||||||
26
runtime/compiler/xo.vim
Normal file
26
runtime/compiler/xo.vim
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
" Vim compiler file
|
||||||
|
" Compiler: XO
|
||||||
|
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||||
|
" Last Change: 2019 Jul 10
|
||||||
|
|
||||||
|
if exists("current_compiler")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let current_compiler = "xo"
|
||||||
|
|
||||||
|
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\ xo\ --reporter\ compact
|
||||||
|
|
||||||
|
CompilerSet makeprg=xo\ --reporter\ 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
|
||||||
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.
|
" The default vimrc file.
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" 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.
|
" This is loaded if no vimrc file was found.
|
||||||
" Except when Vim is run with "-u NONE" or "-C".
|
" Except when Vim is run with "-u NONE" or "-C".
|
||||||
@@ -85,17 +85,6 @@ if has('mouse')
|
|||||||
endif
|
endif
|
||||||
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.
|
" Only do this part when Vim was compiled with the +eval feature.
|
||||||
if 1
|
if 1
|
||||||
|
|
||||||
@@ -124,6 +113,17 @@ if 1
|
|||||||
|
|
||||||
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
|
||||||
|
|
||||||
" Convenient command to see the difference between the current buffer and the
|
" Convenient command to see the difference between the current buffer and the
|
||||||
" file it was loaded from, thus the changes you made.
|
" file it was loaded from, thus the changes you made.
|
||||||
" Only define it when not defined already.
|
" Only define it when not defined already.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*autocmd.txt* For Vim version 8.2. Last change: 2020 Jun 10
|
*autocmd.txt* For Vim version 8.2. Last change: 2020 Dec 19
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -70,6 +70,11 @@ effects. Be careful not to destroy your text.
|
|||||||
The special pattern <buffer> or <buffer=N> defines a buffer-local autocommand.
|
The special pattern <buffer> or <buffer=N> defines a buffer-local autocommand.
|
||||||
See |autocmd-buflocal|.
|
See |autocmd-buflocal|.
|
||||||
|
|
||||||
|
If the `:autocmd` is in Vim9 script (a script that starts with `:vim9script`
|
||||||
|
and in a `:def` function) 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
|
Note: The ":autocmd" command can only be followed by another command when the
|
||||||
'|' appears before {cmd}. This works: >
|
'|' appears before {cmd}. This works: >
|
||||||
:augroup mine | au! BufRead | augroup END
|
:augroup mine | au! BufRead | augroup END
|
||||||
@@ -278,7 +283,7 @@ Name triggered by ~
|
|||||||
|BufWinLeave| before a buffer is removed from a window
|
|BufWinLeave| before a buffer is removed from a window
|
||||||
|
|
||||||
|BufUnload| before unloading a buffer
|
|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
|
|BufNew| just after creating a new buffer
|
||||||
|
|
||||||
|SwapExists| detected an existing swap file
|
|SwapExists| detected an existing swap file
|
||||||
@@ -301,6 +306,9 @@ Name triggered by ~
|
|||||||
|VimLeavePre| before exiting Vim, before writing the viminfo file
|
|VimLeavePre| before exiting Vim, before writing the viminfo file
|
||||||
|VimLeave| before exiting Vim, after writing the viminfo file
|
|VimLeave| before exiting Vim, after writing the viminfo file
|
||||||
|
|
||||||
|
|VimSuspend| when suspending Vim
|
||||||
|
|VimResume| when Vim is resumed after being suspended
|
||||||
|
|
||||||
Terminal
|
Terminal
|
||||||
|TerminalOpen| after a terminal buffer was created
|
|TerminalOpen| after a terminal buffer was created
|
||||||
|TerminalWinOpen| after a terminal buffer was created in a new window
|
|TerminalWinOpen| after a terminal buffer was created in a new window
|
||||||
@@ -551,12 +559,15 @@ CmdlineChanged After a change was made to the text in the
|
|||||||
*CmdlineEnter*
|
*CmdlineEnter*
|
||||||
CmdlineEnter After moving the cursor to the command line,
|
CmdlineEnter After moving the cursor to the command line,
|
||||||
where the user can type a command or search
|
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,
|
<afile> is set to a single character,
|
||||||
indicating the type of command-line.
|
indicating the type of command-line.
|
||||||
|cmdwin-char|
|
|cmdwin-char|
|
||||||
*CmdlineLeave*
|
*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
|
Also when abandoning the command line, after
|
||||||
typing CTRL-C or <Esc>.
|
typing CTRL-C or <Esc>.
|
||||||
When the commands result in an error the
|
When the commands result in an error the
|
||||||
@@ -631,7 +642,7 @@ CompleteDone After Insert mode completion is done. Either
|
|||||||
|
|
||||||
*CursorHold*
|
*CursorHold*
|
||||||
CursorHold When the user doesn't press a key for the time
|
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
|
until the user has pressed a key (i.e. doesn't
|
||||||
fire every 'updatetime' ms if you leave Vim to
|
fire every 'updatetime' ms if you leave Vim to
|
||||||
make some coffee. :) See |CursorHold-example|
|
make some coffee. :) See |CursorHold-example|
|
||||||
@@ -840,6 +851,8 @@ FuncUndefined When a user function is used but it isn't
|
|||||||
when it's used. The pattern is matched
|
when it's used. The pattern is matched
|
||||||
against the function name. Both <amatch> and
|
against the function name. Both <amatch> and
|
||||||
<afile> are set to the name of the function.
|
<afile> are set to the name of the function.
|
||||||
|
Not triggered when compiling a |Vim9|
|
||||||
|
function.
|
||||||
NOTE: When writing Vim scripts a better
|
NOTE: When writing Vim scripts a better
|
||||||
alternative is to use an autoloaded function.
|
alternative is to use an autoloaded function.
|
||||||
See |autoload-functions|.
|
See |autoload-functions|.
|
||||||
@@ -881,9 +894,14 @@ InsertEnter Just before starting Insert mode. Also for
|
|||||||
The cursor is restored afterwards. If you do
|
The cursor is restored afterwards. If you do
|
||||||
not want that set |v:char| to a non-empty
|
not want that set |v:char| to a non-empty
|
||||||
string.
|
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*
|
||||||
InsertLeave When leaving Insert mode. Also when using
|
InsertLeave Just after leaving Insert mode. Also when
|
||||||
CTRL-O |i_CTRL-O|. But not for |i_CTRL-C|.
|
using CTRL-O |i_CTRL-O|. But not for |i_CTRL-C|.
|
||||||
*MenuPopup*
|
*MenuPopup*
|
||||||
MenuPopup Just before showing the popup menu (under the
|
MenuPopup Just before showing the popup menu (under the
|
||||||
right mouse button). Useful for adjusting the
|
right mouse button). Useful for adjusting the
|
||||||
@@ -1202,6 +1220,7 @@ VimLeave Before exiting Vim, just after writing the
|
|||||||
To detect an abnormal exit use |v:dying|.
|
To detect an abnormal exit use |v:dying|.
|
||||||
When v:dying is 2 or more this event is not
|
When v:dying is 2 or more this event is not
|
||||||
triggered.
|
triggered.
|
||||||
|
To get the exit code use |v:exiting|.
|
||||||
*VimLeavePre*
|
*VimLeavePre*
|
||||||
VimLeavePre Before exiting Vim, just before writing the
|
VimLeavePre Before exiting Vim, just before writing the
|
||||||
.viminfo file. This is executed only once,
|
.viminfo file. This is executed only once,
|
||||||
@@ -1212,10 +1231,22 @@ VimLeavePre Before exiting Vim, just before writing the
|
|||||||
< To detect an abnormal exit use |v:dying|.
|
< To detect an abnormal exit use |v:dying|.
|
||||||
When v:dying is 2 or more this event is not
|
When v:dying is 2 or more this event is not
|
||||||
triggered.
|
triggered.
|
||||||
|
To get the exit code use |v:exiting|.
|
||||||
*VimResized*
|
*VimResized*
|
||||||
VimResized After the Vim window was resized, thus 'lines'
|
VimResized After the Vim window was resized, thus 'lines'
|
||||||
and/or 'columns' changed. Not when starting
|
and/or 'columns' changed. Not when starting
|
||||||
up though.
|
up though.
|
||||||
|
*VimResume*
|
||||||
|
VimResume When the Vim instance is resumed after being
|
||||||
|
suspended and |VimSuspend| was triggered.
|
||||||
|
Useful for triggering |:checktime| and ensure
|
||||||
|
the buffers content did not change while Vim
|
||||||
|
was suspended: >
|
||||||
|
:autocmd VimResume * checktime
|
||||||
|
< *VimSuspend*
|
||||||
|
VimSuspend When the Vim instance is suspended. Only when
|
||||||
|
CTRL-Z was typed inside Vim, not when the
|
||||||
|
SIGSTOP or SIGTSTP signal was sent to Vim.
|
||||||
*WinEnter*
|
*WinEnter*
|
||||||
WinEnter After entering another window. Not done for
|
WinEnter After entering another window. Not done for
|
||||||
the first window, when Vim has just started.
|
the first window, when Vim has just started.
|
||||||
@@ -1425,8 +1456,8 @@ name!
|
|||||||
:aug[roup]! {name} Delete the autocmd group {name}. Don't use
|
:aug[roup]! {name} Delete the autocmd group {name}. Don't use
|
||||||
this if there is still an autocommand using
|
this if there is still an autocommand using
|
||||||
this group! You will get a warning if doing
|
this group! You will get a warning if doing
|
||||||
it anyway. when the group is the current group
|
it anyway. When the group is the current
|
||||||
you will get error E936.
|
group you will get error E936.
|
||||||
|
|
||||||
To enter autocommands for a specific group, use this method:
|
To enter autocommands for a specific group, use this method:
|
||||||
1. Select the group with ":augroup {name}".
|
1. Select the group with ":augroup {name}".
|
||||||
|
|||||||
@@ -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
|
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
|
'!' or '?' (but if 'cpoptions' includes the 'j' flag, they insert two spaces
|
||||||
only after a '.').
|
only after a '.').
|
||||||
The 'B' and 'M' flags in 'formatoptions' change the behavior for inserting
|
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
|
The '[ mark is set at the end of the first line that was joined, '] at the end
|
||||||
of the resulting line.
|
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
|
l Long lines are not broken in insert mode: When a line was longer than
|
||||||
'textwidth' when the insert command started, Vim does not
|
'textwidth' when the insert command started, Vim does not
|
||||||
automatically format it.
|
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.
|
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.
|
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.
|
characters. Overruled by the 'M' flag.
|
||||||
1 Don't break a line after a one-letter word. It's broken before it
|
1 Don't break a line after a one-letter word. It's broken before it
|
||||||
instead (if possible).
|
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()|.
|
found here: |sort()|, |uniq()|.
|
||||||
|
|
||||||
*:sor* *:sort*
|
*: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
|
Sort lines in [range]. When no range is given all
|
||||||
lines are sorted.
|
lines are sorted.
|
||||||
|
|
||||||
@@ -1809,6 +1809,16 @@ found here: |sort()|, |uniq()|.
|
|||||||
|
|
||||||
With [i] case is ignored.
|
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.
|
Options [n][f][x][o][b] are mutually exclusive.
|
||||||
|
|
||||||
With [n] sorting is done on the first decimal number
|
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
|
When /{pattern}/ is specified and there is no [r] flag
|
||||||
the text matched with {pattern} is skipped, so that
|
the text matched with {pattern} is skipped, so that
|
||||||
you sort on what comes after the match.
|
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.
|
Instead of the slash any non-letter can be used.
|
||||||
For example, to sort on the second comma-separated
|
For example, to sort on the second comma-separated
|
||||||
field: >
|
field: >
|
||||||
@@ -1875,8 +1887,7 @@ found here: |sort()|, |uniq()|.
|
|||||||
Note that using `:sort` with `:global` doesn't sort the matching lines, it's
|
Note that using `:sort` with `:global` doesn't sort the matching lines, it's
|
||||||
quite useless.
|
quite useless.
|
||||||
|
|
||||||
The details about sorting depend on the library function used. There is no
|
`:sort` does not use the current locale unless the l flag is used.
|
||||||
guarantee that sorting obeys the current locale. You will have to try it out.
|
|
||||||
Vim does do a "stable" sort.
|
Vim does do a "stable" sort.
|
||||||
|
|
||||||
The sorting can be interrupted, but if you interrupt it too late in the
|
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
|
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
|
after every message, on Unix you can use "tail -f" to see what
|
||||||
is going on in real time.
|
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|.
|
This function is not available in the |sandbox|.
|
||||||
NOTE: the channel communication is stored in the file, be
|
NOTE: the channel communication is stored in the file, be
|
||||||
aware that this may contain confidential and privacy sensitive
|
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
|
"fail", because a fork happens before the failure can be
|
||||||
detected.
|
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
|
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.
|
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
|
mode, use `:startinsert` if you want to enter Insert mode, so that the user
|
||||||
can start typing a line.
|
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
|
The user can go to Normal mode and navigate through the buffer. This can be
|
||||||
useful to see older output or copy text.
|
useful to see older output or copy text.
|
||||||
@@ -1282,7 +1292,7 @@ prompt. >
|
|||||||
" Send the text to a shell with Enter appended.
|
" Send the text to a shell with Enter appended.
|
||||||
call ch_sendraw(g:shell_job, a:text .. "\n")
|
call ch_sendraw(g:shell_job, a:text .. "\n")
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" Function handling output from the shell: Added above the prompt.
|
" Function handling output from the shell: Added above the prompt.
|
||||||
func GotOutput(channel, msg)
|
func GotOutput(channel, msg)
|
||||||
call append(line("$") - 1, "- " . a: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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -797,7 +797,7 @@ three lines: >
|
|||||||
<
|
<
|
||||||
|
|
||||||
Visual Mode and Range *v_:*
|
Visual Mode and Range *v_:*
|
||||||
|
*:star-visual-range*
|
||||||
{Visual}: Starts a command-line with the Visual selected lines as a
|
{Visual}: Starts a command-line with the Visual selected lines as a
|
||||||
range. The code `:'<,'>` is used for this range, which makes
|
range. The code `:'<,'>` is used for this range, which makes
|
||||||
it possible to select a similar line from the command-line
|
it possible to select a similar line from the command-line
|
||||||
@@ -873,34 +873,37 @@ it, no matter how many backslashes.
|
|||||||
\\# \#
|
\\# \#
|
||||||
Also see |`=|.
|
Also see |`=|.
|
||||||
|
|
||||||
*:<cword>* *<cword>* *:<cWORD>* *<cWORD>*
|
*E499* *E500*
|
||||||
*:<cexpr>* *<cexpr>* *:<cfile>* *<cfile>*
|
|
||||||
*:<afile>* *<afile>* *:<abuf>* *<abuf>*
|
|
||||||
*:<amatch>* *<amatch>* *:<stack>* *<stack>*
|
|
||||||
*:<sfile>* *<sfile>* *:<slnum>* *<slnum>*
|
|
||||||
*:<sflnum>* *<sflnum>* *E499* *E500*
|
|
||||||
Note: these are typed literally, they are not special keys!
|
Note: these are typed literally, they are not special keys!
|
||||||
|
*:<cword>* *<cword>*
|
||||||
<cword> is replaced with the word under the cursor (like |star|)
|
<cword> is replaced with the word under the cursor (like |star|)
|
||||||
|
*:<cWORD>* *<cWORD>*
|
||||||
<cWORD> is replaced with the WORD under the cursor (see |WORD|)
|
<cWORD> is replaced with the WORD under the cursor (see |WORD|)
|
||||||
|
*:<cexpr>* *<cexpr>*
|
||||||
<cexpr> is replaced with the word under the cursor, including more
|
<cexpr> is replaced with the word under the cursor, including more
|
||||||
to form a C expression. E.g., when the cursor is on "arg"
|
to form a C expression. E.g., when the cursor is on "arg"
|
||||||
of "ptr->arg" then the result is "ptr->arg"; when the
|
of "ptr->arg" then the result is "ptr->arg"; when the
|
||||||
cursor is on "]" of "list[idx]" then the result is
|
cursor is on "]" of "list[idx]" then the result is
|
||||||
"list[idx]". This is used for |v:beval_text|.
|
"list[idx]". This is used for |v:beval_text|.
|
||||||
|
*:<cfile>* *<cfile>*
|
||||||
<cfile> is replaced with the path name under the cursor (like what
|
<cfile> is replaced with the path name under the cursor (like what
|
||||||
|gf| uses)
|
|gf| uses)
|
||||||
|
*:<afile>* *<afile>*
|
||||||
<afile> When executing autocommands, is replaced with the file name
|
<afile> When executing autocommands, is replaced with the file name
|
||||||
of the buffer being manipulated, or the file for a read or
|
of the buffer being manipulated, or the file for a read or
|
||||||
write. *E495*
|
write. *E495*
|
||||||
|
*:<abuf>* *<abuf>*
|
||||||
<abuf> When executing autocommands, is replaced with the currently
|
<abuf> When executing autocommands, is replaced with the currently
|
||||||
effective buffer number (for ":r file" and ":so file" it is
|
effective buffer number (for ":r file" and ":so file" it is
|
||||||
the current buffer, the file being read/sourced is not in a
|
the current buffer, the file being read/sourced is not in a
|
||||||
buffer). *E496*
|
buffer). *E496*
|
||||||
|
*:<amatch>* *<amatch>*
|
||||||
<amatch> When executing autocommands, is replaced with the match for
|
<amatch> When executing autocommands, is replaced with the match for
|
||||||
which this autocommand was executed. *E497*
|
which this autocommand was executed. *E497*
|
||||||
It differs from <afile> only when the file name isn't used
|
It differs from <afile> only when the file name isn't used
|
||||||
to match with (for FileType, Syntax and SpellFileMissing
|
to match with (for FileType, Syntax and SpellFileMissing
|
||||||
events).
|
events).
|
||||||
|
*:<sfile>* *<sfile>*
|
||||||
<sfile> When executing a ":source" command, is replaced with the
|
<sfile> When executing a ":source" command, is replaced with the
|
||||||
file name of the sourced file. *E498*
|
file name of the sourced file. *E498*
|
||||||
When executing a function, is replaced with the call stack,
|
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).
|
<stack> is preferred).
|
||||||
Note that filename-modifiers are useless when <sfile> is
|
Note that filename-modifiers are useless when <sfile> is
|
||||||
not used inside a script.
|
not used inside a script.
|
||||||
|
*:<stack>* *<stack>*
|
||||||
<stack> is replaced with the call stack, using
|
<stack> is replaced with the call stack, using
|
||||||
"function {function-name}[{lnum}]" for a function line
|
"function {function-name}[{lnum}]" for a function line
|
||||||
and "script {file-name}[{lnum}]" for a script line, and
|
and "script {file-name}[{lnum}]" for a script line, and
|
||||||
".." in between items. E.g.:
|
".." in between items. E.g.:
|
||||||
"function {function-name1}[{lnum}]..{function-name2}[{lnum}]"
|
"function {function-name1}[{lnum}]..{function-name2}[{lnum}]"
|
||||||
|
*:<slnum>* *<slnum>*
|
||||||
<slnum> When executing a ":source" command, is replaced with the
|
<slnum> When executing a ":source" command, is replaced with the
|
||||||
line number. *E842*
|
line number. *E842*
|
||||||
When executing a function it's the line number relative to
|
When executing a function it's the line number relative to
|
||||||
the start of the function.
|
the start of the function.
|
||||||
|
*:<sflnum>* *<sflnum>*
|
||||||
<sflnum> When executing a script, is replaced with the line number.
|
<sflnum> When executing a script, is replaced with the line number.
|
||||||
It differs from <slnum> in that <sflnum> is replaced with
|
It differs from <slnum> in that <sflnum> is replaced with
|
||||||
the script line number in any situation. *E961*
|
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*
|
*filename-modifiers*
|
||||||
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* *::S*
|
*:_%:* *::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
|
in Normal mode. There is no redraw, thus the window will
|
||||||
remain visible.
|
remain visible.
|
||||||
:quit Discard the command line and go back to Normal mode.
|
: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, unless there are changes in some buffer.
|
||||||
:qall! Quit Vim, discarding changes to any buffer.
|
:qall! Quit Vim, discarding changes to any buffer.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*develop.txt* For Vim version 8.2. Last change: 2020 Apr 13
|
*develop.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -34,8 +34,8 @@ balance must be found between them.
|
|||||||
VIM IS... VI COMPATIBLE *design-compatible*
|
VIM IS... VI COMPATIBLE *design-compatible*
|
||||||
|
|
||||||
First of all, it should be possible to use Vim as a drop-in replacement for
|
First of all, it should be possible to use Vim as a drop-in replacement for
|
||||||
Vi. When the user wants to, he can use Vim in compatible mode and hardly
|
Vi. When the user wants to, Vim can be used in compatible mode and hardly
|
||||||
notice any difference with the original Vi.
|
any differences with the original Vi will be noticed.
|
||||||
|
|
||||||
Exceptions:
|
Exceptions:
|
||||||
- We don't reproduce obvious Vi bugs in Vim.
|
- We don't reproduce obvious Vi bugs in Vim.
|
||||||
@@ -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
|
was that none of them provided sufficient capabilities to be used as the spell
|
||||||
checking engine in Vim, for various reasons:
|
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.
|
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
|
Doing on-the-fly conversion is not always possible (would require iconv
|
||||||
support).
|
support).
|
||||||
|
|||||||
@@ -921,6 +921,7 @@ char digraph hex dec official name ~
|
|||||||
‟ 9" 201F 8223 DOUBLE HIGH-REVERSED-9 QUOTATION MARK
|
‟ 9" 201F 8223 DOUBLE HIGH-REVERSED-9 QUOTATION MARK
|
||||||
† /- 2020 8224 DAGGER
|
† /- 2020 8224 DAGGER
|
||||||
‡ /= 2021 8225 DOUBLE DAGGER
|
‡ /= 2021 8225 DOUBLE DAGGER
|
||||||
|
• oo 2022 8226 BULLET
|
||||||
‥ .. 2025 8229 TWO DOT LEADER
|
‥ .. 2025 8229 TWO DOT LEADER
|
||||||
… ,. 2026 8230 HORIZONTAL ELLIPSIS
|
… ,. 2026 8230 HORIZONTAL ELLIPSIS
|
||||||
‰ %0 2030 8240 PER MILLE SIGN
|
‰ %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 Dec 19
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
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
|
ways: Column, Line, Word, Character and Byte. If the
|
||||||
number of Characters and Bytes is the same then the
|
number of Characters and Bytes is the same then the
|
||||||
Character position is omitted.
|
Character position is omitted.
|
||||||
|
|
||||||
If there are characters in the line that take more
|
If there are characters in the line that take more
|
||||||
than one position on the screen (<Tab> or special
|
than one position on the screen (<Tab> or special
|
||||||
character), both the "real" column and the screen
|
character), or characters using more than one byte per
|
||||||
column are shown, separated with a dash.
|
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()|
|
Also see the 'ruler' option and the |wordcount()|
|
||||||
function.
|
function.
|
||||||
|
|
||||||
@@ -652,7 +656,7 @@ list of the current window.
|
|||||||
:args ## x
|
:args ## x
|
||||||
< This will add the "x" item and sort the new list.
|
< 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
|
Delete files from the argument list that match the
|
||||||
{pattern}s. {pattern} is used like a file pattern,
|
{pattern}s. {pattern} is used like a file pattern,
|
||||||
see |file-pattern|. "%" can be used to delete the
|
see |file-pattern|. "%" can be used to delete the
|
||||||
@@ -662,7 +666,7 @@ list of the current window.
|
|||||||
Example: >
|
Example: >
|
||||||
:argdel *.obj
|
: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: >
|
Example: >
|
||||||
:10,$argdel
|
:10,$argdel
|
||||||
< Deletes arguments 10 and further, keeping 1-9. >
|
< Deletes arguments 10 and further, keeping 1-9. >
|
||||||
@@ -1029,7 +1033,7 @@ original file fails, there will be an error message telling you that you
|
|||||||
lost the original file.
|
lost the original file.
|
||||||
|
|
||||||
*DOS-format-write*
|
*DOS-format-write*
|
||||||
If the 'fileformat' is "dos", <CR> <NL> is used for <EOL>. This is default
|
If the 'fileformat' is "dos", <CR><NL> is used for <EOL>. This is default
|
||||||
for Win32. On other systems the message "[dos format]" is shown to remind you
|
for Win32. On other systems the message "[dos format]" is shown to remind you
|
||||||
that an unusual <EOL> was used.
|
that an unusual <EOL> was used.
|
||||||
*Unix-format-write*
|
*Unix-format-write*
|
||||||
@@ -1415,8 +1419,8 @@ There are a few things to remember when editing binary files:
|
|||||||
the file. It is also possible that you get an "out of memory" error when
|
the file. It is also possible that you get an "out of memory" error when
|
||||||
reading the file.
|
reading the file.
|
||||||
- Make sure the 'binary' option is set BEFORE loading the
|
- Make sure the 'binary' option is set BEFORE loading the
|
||||||
file. Otherwise both <CR> <NL> and <NL> are considered to end a line
|
file. Otherwise both <CR><NL> and <NL> are considered to end a line
|
||||||
and when the file is written the <NL> will be replaced with <CR> <NL>.
|
and when the file is written the <NL> will be replaced with <CR><NL>.
|
||||||
- <Nul> characters are shown on the screen as ^@. You can enter them with
|
- <Nul> characters are shown on the screen as ^@. You can enter them with
|
||||||
"CTRL-V CTRL-@" or "CTRL-V 000"
|
"CTRL-V CTRL-@" or "CTRL-V 000"
|
||||||
- To insert a <NL> character in the file split a line. When writing the
|
- To insert a <NL> character in the file split a line. When writing the
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
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.
|
A. If you want to overrule all default file type checks.
|
||||||
This works by writing one file for each filetype. The disadvantage is that
|
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
|
there can be many files. The advantage is that you can simply drop this
|
||||||
this file in the right directory to make it work.
|
file in the right directory to make it work.
|
||||||
*ftdetect*
|
*ftdetect*
|
||||||
1. Create your user runtime directory. You would normally use the first
|
1. Create your user runtime directory. You would normally use the first
|
||||||
item of the 'runtimepath' option. Then create the directory "ftdetect"
|
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*
|
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*
|
CHANGELOG *ft-changelog-plugin*
|
||||||
|
|
||||||
Allows for easy entrance of Changelog entries in Changelog files. There are
|
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*
|
MAN *ft-man-plugin* *:Man* *man.vim*
|
||||||
|
|
||||||
Displays a manual page in a nice way. Also see the user manual
|
This plugin displays a manual page in a nice way. See |find-manpage| in the
|
||||||
|find-manpage|.
|
user manual for more information.
|
||||||
|
|
||||||
To start using the ":Man" command before any manual page was loaded, source
|
|
||||||
this script from your startup vimrc file: >
|
|
||||||
|
|
||||||
|
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
|
runtime ftplugin/man.vim
|
||||||
|
|
||||||
Options:
|
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.
|
manual page name.
|
||||||
|
|
||||||
Commands:
|
Commands:
|
||||||
@@ -575,24 +581,25 @@ Man {number} {name}
|
|||||||
|
|
||||||
Global mapping:
|
Global mapping:
|
||||||
<Leader>K Displays the manual page for the word under the cursor.
|
<Leader>K Displays the manual page for the word under the cursor.
|
||||||
<Plug>ManPreGetPage idem, allows for using a mapping: >
|
<Plug>ManPreGetPage
|
||||||
nmap <F1> <Plug>ManPreGetPage<CR>
|
idem, allows for using a mapping: >
|
||||||
|
nmap <F1> <Plug>ManPreGetPage
|
||||||
|
|
||||||
Local mappings:
|
Local mappings:
|
||||||
CTRL-] Jump to the manual page for the word under the cursor.
|
CTRL-] Jump to the manual page for the word under the cursor.
|
||||||
CTRL-T Jump back to the previous manual page.
|
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: >
|
To use a vertical split instead of horizontal: >
|
||||||
let g:ft_man_open_mode = 'vert'
|
let g:ft_man_open_mode = 'vert'
|
||||||
To use a new tab: >
|
To use a new tab: >
|
||||||
let g:ft_man_open_mode = 'tab'
|
let g:ft_man_open_mode = 'tab'
|
||||||
|
|
||||||
To enable folding use this: >
|
To enable |folding|, use this: >
|
||||||
let g:ft_man_folding_enable = 1
|
let g:ft_man_folding_enable = 1
|
||||||
If you do not like the default folding, use an autocommand to add your desired
|
If you do not like the default folding, use an |autocommand| to add your desired
|
||||||
folding style instead. For example: >
|
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
|
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: >
|
not running man {name} if no page is found, then use this: >
|
||||||
@@ -605,7 +612,7 @@ page in a Vim window: >
|
|||||||
|
|
||||||
MANPAGER *manpager.vim*
|
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-]).
|
manpages and follows linked manpages on hitting CTRL-]).
|
||||||
|
|
||||||
For bash,zsh,ksh or dash, add to the config file (.bashrc,.zshrc, ...)
|
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
|
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*
|
5.2 Creating New Menus *creating-menus*
|
||||||
|
|
||||||
*:me* *:menu* *:noreme* *:noremenu*
|
*: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*
|
*E330* *E327* *E331* *E336* *E333*
|
||||||
*E328* *E329* *E337* *E792*
|
*E328* *E329* *E337* *E792*
|
||||||
To create a new menu item, use the ":menu" commands. They are mostly like
|
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"
|
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.
|
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,
|
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
|
except for Terminal mode. To make the command work correctly, a character is
|
||||||
automatically inserted for some modes:
|
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
|
Note that <Esc> in Cmdline mode executes the command, like in a mapping. This
|
||||||
is Vi compatible. Use CTRL-C to quit Cmdline mode.
|
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*
|
*:menu-<silent>* *:menu-silent*
|
||||||
To define a menu which will not be echoed on the command line, add
|
To define a menu which will not be echoed on the command line, add
|
||||||
"<silent>" as the first argument. Example: >
|
"<silent>" as the first argument. Example: >
|
||||||
@@ -897,14 +913,6 @@ using the last visual selection.
|
|||||||
|
|
||||||
*:unme* *:unmenu*
|
*:unme* *:unmenu*
|
||||||
*:aun* *:aunmenu*
|
*: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
|
To delete a menu item or a whole submenu, use the unmenu commands, which are
|
||||||
analogous to the unmap commands. Eg: >
|
analogous to the unmap commands. Eg: >
|
||||||
:unmenu! Edit.Paste
|
: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: >
|
For Mac OSX you can use something like this: >
|
||||||
:set guifont=Monaco:h10
|
: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).
|
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.
|
An exception is GTK: all fonts are accepted, but mono-spaced fonts look best.
|
||||||
|
|
||||||
|
|||||||
@@ -451,7 +451,7 @@ with the Intellimouse driver 2.2 and when "Universal Scrolling" is turned on.
|
|||||||
|
|
||||||
XPM support *w32-xpm-support*
|
XPM support *w32-xpm-support*
|
||||||
|
|
||||||
GVim can be build on MS-Windows with support for XPM files. |+xpm_w32|
|
GVim can be built on MS-Windows with support for XPM files. |+xpm_w32|
|
||||||
See the Make_mvc.mak file for instructions, search for XPM.
|
See the Make_mvc.mak file for instructions, search for XPM.
|
||||||
|
|
||||||
To try out if XPM support works do this: >
|
To try out if XPM support works do this: >
|
||||||
|
|||||||
@@ -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
|
VIM - main help file
|
||||||
k
|
k
|
||||||
@@ -158,7 +158,7 @@ Programming language support ~
|
|||||||
|
|
||||||
Language support ~
|
Language support ~
|
||||||
|digraph.txt| list of available digraphs
|
|digraph.txt| list of available digraphs
|
||||||
|mbyte.txt| multi-byte text support
|
|mbyte.txt| multibyte text support
|
||||||
|mlang.txt| non-English language support
|
|mlang.txt| non-English language support
|
||||||
|rileft.txt| right-to-left editing mode
|
|rileft.txt| right-to-left editing mode
|
||||||
|arabic.txt| Arabic language support and editing
|
|arabic.txt| Arabic language support and editing
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*helphelp.txt* For Vim version 8.2. Last change: 2020 Mar 01
|
*helphelp.txt* For Vim version 8.2. Last change: 2020 Dec 19
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -92,9 +92,9 @@ Help on help files *helphelp*
|
|||||||
:help k| only
|
:help k| only
|
||||||
< Note that a space before the '|' is seen as part of
|
< Note that a space before the '|' is seen as part of
|
||||||
the ":help" argument.
|
the ":help" argument.
|
||||||
You can also use <LF> or <CR> to separate the help
|
You can also use <NL> or <CR> to separate the help
|
||||||
command from a following command. You need to type
|
command from a following command. You need to type
|
||||||
CTRL-V first to insert the <LF> or <CR>. Example: >
|
CTRL-V first to insert the <NL> or <CR>. Example: >
|
||||||
:help so<C-V><CR>only
|
:help so<C-V><CR>only
|
||||||
|
|
||||||
:h[elp]! [subject] Like ":help", but in non-English help files prefer to
|
:h[elp]! [subject] Like ":help", but in non-English help files prefer to
|
||||||
@@ -161,6 +161,25 @@ files in the directories specified in the 'runtimepath' option.
|
|||||||
The initial height of the help window can be set with the 'helpheight' option
|
The initial height of the help window can be set with the 'helpheight' option
|
||||||
(default 20).
|
(default 20).
|
||||||
|
|
||||||
|
When the help buffer is created, several local options are set to make sure
|
||||||
|
the help text is displayed as it was intended:
|
||||||
|
'iskeyword' nearly all ASCII chars except ' ', '*', '"' and '|'
|
||||||
|
'foldmethod' "manual"
|
||||||
|
'tabstop' 8
|
||||||
|
'arabic' off
|
||||||
|
'binary' off
|
||||||
|
'buflisted' off
|
||||||
|
'cursorbind' off
|
||||||
|
'diff' off
|
||||||
|
'foldenable' off
|
||||||
|
'list' off
|
||||||
|
'modifiable' off
|
||||||
|
'number' off
|
||||||
|
'relativenumber' off
|
||||||
|
'rightleft' off
|
||||||
|
'scrollbind' off
|
||||||
|
'spell' off
|
||||||
|
|
||||||
Jump to specific subjects by using tags. This can be done in two ways:
|
Jump to specific subjects by using tags. This can be done in two ways:
|
||||||
- Use the "CTRL-]" command while standing on the name of a command or option.
|
- Use the "CTRL-]" command while standing on the name of a command or option.
|
||||||
This only works when the tag is a keyword. "<C-Leftmouse>" and
|
This only works when the tag is a keyword. "<C-Leftmouse>" and
|
||||||
@@ -369,14 +388,16 @@ highlighting. So do these:
|
|||||||
You can find the details in $VIMRUNTIME/syntax/help.vim
|
You can find the details in $VIMRUNTIME/syntax/help.vim
|
||||||
|
|
||||||
*inclusion*
|
*inclusion*
|
||||||
Some people make a big deal about using "his" when referring to the user,
|
Vim is for everybody, no matter race, gender or anything. Some people make a
|
||||||
thinking it means we assume the user is male. That is of course not the case,
|
big deal about using "he" or "his" when referring to the user, thinking it
|
||||||
it's just a habit of writing help text, which quite often is many years old.
|
means we assume the user is male. That is not the case, it's just a habit of
|
||||||
Also, a lot of the text is written by contributors for who English is not
|
writing help text, which quite often is many years old. Also, a lot of the
|
||||||
their first language. We do not make any assumptions about the gender of the
|
text is written by contributors for whom English is not their first language.
|
||||||
user, no matter how the text is phrased. And we do not want to waste time on
|
We do not make any assumptions about the gender of the user, no matter how the
|
||||||
this discussion. The goal is that the reader understands how Vim works, the
|
text is phrased. Some people have suggested using "they", but that is not
|
||||||
exact wording is secondary.
|
regular English. We do not want to spend much time on this discussion. The
|
||||||
|
goal is that the reader understands how Vim works, the exact wording is
|
||||||
|
secondary.
|
||||||
|
|
||||||
|
|
||||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||||
|
|||||||
@@ -199,8 +199,8 @@ Vim evaluation and command execution, and others.
|
|||||||
returns it. Note that the buffer is not set as
|
returns it. Note that the buffer is not set as
|
||||||
current.
|
current.
|
||||||
|
|
||||||
vim.call({name} [,{args}])
|
vim.call({name} [, {args}])
|
||||||
Proxy to call Vim function named {name} with
|
Proxy to call Vim function named {name} with
|
||||||
arguments {args}. Example: >
|
arguments {args}. Example: >
|
||||||
:lua print(vim.call('has', 'timers'))
|
:lua print(vim.call('has', 'timers'))
|
||||||
<
|
<
|
||||||
|
|||||||
@@ -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
|
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}
|
{script}
|
||||||
{endmarker}
|
{endmarker}
|
||||||
Execute inlined MzScheme script {script}.
|
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
|
feature wasn't compiled in. To avoid errors, see
|
||||||
|script-here|.
|
|script-here|.
|
||||||
|
|
||||||
|
|||||||
@@ -275,7 +275,7 @@ Options:
|
|||||||
$win delcmd {cmd} *tcl-window-delcmd*
|
$win delcmd {cmd} *tcl-window-delcmd*
|
||||||
Registers the Tcl command {cmd} as a deletion callback for the window.
|
Registers the Tcl command {cmd} as a deletion callback for the window.
|
||||||
This command is executed (in the global scope) just before the window
|
This command is executed (in the global scope) just before the window
|
||||||
is closed. Complex commands should be build with "list": >
|
is closed. Complex commands should be built with "list": >
|
||||||
$win delcmd [list puts vimerr "window deleted"]
|
$win delcmd [list puts vimerr "window deleted"]
|
||||||
< See also |tcl-buffer-delcmd|.
|
< See also |tcl-buffer-delcmd|.
|
||||||
|
|
||||||
@@ -357,7 +357,7 @@ Options:
|
|||||||
$buf delcmd {cmd} *tcl-buffer-delcmd*
|
$buf delcmd {cmd} *tcl-buffer-delcmd*
|
||||||
Registers the Tcl command {cmd} as a deletion callback for the buffer.
|
Registers the Tcl command {cmd} as a deletion callback for the buffer.
|
||||||
This command is executed (in the global scope) just before the buffer
|
This command is executed (in the global scope) just before the buffer
|
||||||
is deleted. Complex commands should be build with "list": >
|
is deleted. Complex commands should be built with "list": >
|
||||||
$buf delcmd [list puts vimerr "buffer [$buf number] gone"]
|
$buf delcmd [list puts vimerr "buffer [$buf number] gone"]
|
||||||
< See also |tcl-window-delcmd|.
|
< See also |tcl-window-delcmd|.
|
||||||
|
|
||||||
|
|||||||
@@ -414,11 +414,11 @@ The examples below assume a 'shiftwidth' of 4.
|
|||||||
<
|
<
|
||||||
*cino-(*
|
*cino-(*
|
||||||
(N When in unclosed parentheses, indent N characters from the line
|
(N When in unclosed parentheses, indent N characters from the line
|
||||||
with the unclosed parentheses. Add a 'shiftwidth' for every
|
with the unclosed parenthesis. Add a 'shiftwidth' for every
|
||||||
extra unclosed parentheses. When N is 0 or the unclosed
|
extra unclosed parentheses. When N is 0 or the unclosed
|
||||||
parentheses is the first non-white character in its line, line
|
parenthesis is the first non-white character in its line, line
|
||||||
up with the next non-white character after the unclosed
|
up with the next non-white character after the unclosed
|
||||||
parentheses. (default 'shiftwidth' * 2).
|
parenthesis. (default 'shiftwidth' * 2).
|
||||||
|
|
||||||
cino= cino=(0 >
|
cino= cino=(0 >
|
||||||
if (c1 && (c2 || if (c1 && (c2 ||
|
if (c1 && (c2 || if (c1 && (c2 ||
|
||||||
@@ -439,7 +439,7 @@ The examples below assume a 'shiftwidth' of 4.
|
|||||||
<
|
<
|
||||||
*cino-U*
|
*cino-U*
|
||||||
UN When N is non-zero, do not ignore the indenting specified by
|
UN When N is non-zero, do not ignore the indenting specified by
|
||||||
( or u in case that the unclosed parentheses is the first
|
( or u in case that the unclosed parenthesis is the first
|
||||||
non-white character in its line. (default 0).
|
non-white character in its line. (default 0).
|
||||||
|
|
||||||
cino= or cino=(s cino=(s,U1 >
|
cino= or cino=(s cino=(s,U1 >
|
||||||
@@ -452,8 +452,8 @@ The examples below assume a 'shiftwidth' of 4.
|
|||||||
*cino-w*
|
*cino-w*
|
||||||
wN When in unclosed parentheses and N is non-zero and either
|
wN When in unclosed parentheses and N is non-zero and either
|
||||||
using "(0" or "u0", respectively, or using "U0" and the unclosed
|
using "(0" or "u0", respectively, or using "U0" and the unclosed
|
||||||
parentheses is the first non-white character in its line, line
|
parenthesis is the first non-white character in its line, line
|
||||||
up with the character immediately after the unclosed parentheses
|
up with the character immediately after the unclosed parenthesis
|
||||||
rather than the first non-white character. (default 0).
|
rather than the first non-white character. (default 0).
|
||||||
|
|
||||||
cino=(0 cino=(0,w1 >
|
cino=(0 cino=(0,w1 >
|
||||||
@@ -464,11 +464,11 @@ The examples below assume a 'shiftwidth' of 4.
|
|||||||
<
|
<
|
||||||
*cino-W*
|
*cino-W*
|
||||||
WN When in unclosed parentheses and N is non-zero and either
|
WN When in unclosed parentheses and N is non-zero and either
|
||||||
using "(0" or "u0", respectively and the unclosed parentheses is
|
using "(0" or "u0", respectively and the unclosed parenthesis is
|
||||||
the last non-white character in its line and it is not the
|
the last non-white character in its line and it is not the
|
||||||
closing parentheses, indent the following line N characters
|
closing parenthesis, indent the following line N characters
|
||||||
relative to the outer context (i.e. start of the line or the
|
relative to the outer context (i.e. start of the line or the
|
||||||
next unclosed parentheses). (default: 0).
|
next unclosed parenthesis). (default: 0).
|
||||||
|
|
||||||
cino=(0 cino=(0,W4 >
|
cino=(0 cino=(0,W4 >
|
||||||
a_long_line( a_long_line(
|
a_long_line( a_long_line(
|
||||||
@@ -495,8 +495,8 @@ The examples below assume a 'shiftwidth' of 4.
|
|||||||
<
|
<
|
||||||
*cino-m*
|
*cino-m*
|
||||||
mN When N is non-zero, line up a line starting with a closing
|
mN When N is non-zero, line up a line starting with a closing
|
||||||
parentheses with the first character of the line with the
|
parenthesis with the first character of the line with the
|
||||||
matching opening parentheses. (default 0).
|
matching opening parenthesis. (default 0).
|
||||||
|
|
||||||
cino=(s cino=(s,m1 >
|
cino=(s cino=(s,m1 >
|
||||||
c = c1 && ( c = c1 && (
|
c = c1 && ( c = c1 && (
|
||||||
@@ -510,7 +510,7 @@ The examples below assume a 'shiftwidth' of 4.
|
|||||||
<
|
<
|
||||||
*cino-M*
|
*cino-M*
|
||||||
MN When N is non-zero, line up a line starting with a closing
|
MN When N is non-zero, line up a line starting with a closing
|
||||||
parentheses with the first character of the previous line.
|
parenthesis with the first character of the previous line.
|
||||||
(default 0).
|
(default 0).
|
||||||
|
|
||||||
cino= cino=M1 >
|
cino= cino=M1 >
|
||||||
@@ -569,7 +569,7 @@ The examples below assume a 'shiftwidth' of 4.
|
|||||||
recognize preprocessor lines; right-shifting lines that start
|
recognize preprocessor lines; right-shifting lines that start
|
||||||
with "#" does not work.
|
with "#" does not work.
|
||||||
|
|
||||||
|
*cino-P*
|
||||||
PN When N is non-zero recognize C pragmas, and indent them like any
|
PN When N is non-zero recognize C pragmas, and indent them like any
|
||||||
other code; does not concern other preprocessor directives.
|
other code; does not concern other preprocessor directives.
|
||||||
When N is zero (default): don't recognize C pragmas, treating
|
When N is zero (default): don't recognize C pragmas, treating
|
||||||
@@ -996,7 +996,7 @@ Indent after a nested paren: >
|
|||||||
Indent for a continuation line: >
|
Indent for a continuation line: >
|
||||||
let g:pyindent_continue = 'shiftwidth() * 2'
|
let g:pyindent_continue = 'shiftwidth() * 2'
|
||||||
|
|
||||||
The method uses |searchpair()| to look back for unclosed parenthesis. This
|
The method uses |searchpair()| to look back for unclosed parentheses. This
|
||||||
can sometimes be slow, thus it timeouts after 150 msec. If you notice the
|
can sometimes be slow, thus it timeouts after 150 msec. If you notice the
|
||||||
indenting isn't correct, you can set a larger timeout in msec: >
|
indenting isn't correct, you can set a larger timeout in msec: >
|
||||||
let g:pyindent_searchpair_timeout = 500
|
let g:pyindent_searchpair_timeout = 500
|
||||||
|
|||||||
@@ -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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -440,6 +440,7 @@ tag char note action in Normal mode ~
|
|||||||
|<C-LeftMouse>| <C-LeftMouse> ":ta" to the keyword at the mouse click
|
|<C-LeftMouse>| <C-LeftMouse> ":ta" to the keyword at the mouse click
|
||||||
|<C-Right>| <C-Right> 1 same as "w"
|
|<C-Right>| <C-Right> 1 same as "w"
|
||||||
|<C-RightMouse>| <C-RightMouse> same as "CTRL-T"
|
|<C-RightMouse>| <C-RightMouse> same as "CTRL-T"
|
||||||
|
|<C-Tab>| <C-Tab> same as "g<Tab>"
|
||||||
|<Del>| ["x]<Del> 2 same as "x"
|
|<Del>| ["x]<Del> 2 same as "x"
|
||||||
|N<Del>| {count}<Del> remove the last digit from {count}
|
|N<Del>| {count}<Del> remove the last digit from {count}
|
||||||
|<Down>| <Down> 1 same as "j"
|
|<Down>| <Down> 1 same as "j"
|
||||||
@@ -587,6 +588,8 @@ tag command action in Normal mode ~
|
|||||||
following the file name.
|
following the file name.
|
||||||
|CTRL-W_gt| CTRL-W g t same as `gt`: go to next tab page
|
|CTRL-W_gt| CTRL-W g t same as `gt`: go to next tab page
|
||||||
|CTRL-W_gT| CTRL-W g T same as `gT`: go to previous tab page
|
|CTRL-W_gT| CTRL-W g T same as `gT`: go to previous tab page
|
||||||
|
|CTRL-W_g<Tab>| CTRL-W g <Tab> same as |g<Tab>|: go to last accessed tab
|
||||||
|
page.
|
||||||
|CTRL-W_h| CTRL-W h go to Nth left window (stop at first window)
|
|CTRL-W_h| CTRL-W h go to Nth left window (stop at first window)
|
||||||
|CTRL-W_i| CTRL-W i split window and jump to declaration of
|
|CTRL-W_i| CTRL-W i split window and jump to declaration of
|
||||||
identifier under the cursor
|
identifier under the cursor
|
||||||
@@ -781,10 +784,10 @@ tag char note action in Normal mode ~
|
|||||||
lines down
|
lines down
|
||||||
|gk| gk 1 like "k", but when 'wrap' on go N screen
|
|gk| gk 1 like "k", but when 'wrap' on go N screen
|
||||||
lines up
|
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 screenline
|
||||||
|gM| gM 1 go to character at middle of the text line
|
|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
|
|go| go 1 cursor to byte N in the buffer
|
||||||
|gp| ["x]gp 2 put the text [from register x] after the
|
|gp| ["x]gp 2 put the text [from register x] after the
|
||||||
cursor N times, leave the cursor after it
|
cursor N times, leave the cursor after it
|
||||||
@@ -805,6 +808,7 @@ tag char note action in Normal mode ~
|
|||||||
|g<LeftMouse>| g<LeftMouse> same as <C-LeftMouse>
|
|g<LeftMouse>| g<LeftMouse> same as <C-LeftMouse>
|
||||||
g<MiddleMouse> same as <C-MiddleMouse>
|
g<MiddleMouse> same as <C-MiddleMouse>
|
||||||
|g<RightMouse>| g<RightMouse> same as <C-RightMouse>
|
|g<RightMouse>| g<RightMouse> same as <C-RightMouse>
|
||||||
|
|g<Tab>| g<Tab> go to the last accessed tab page.
|
||||||
|g<Up>| g<Up> 1 same as "gk"
|
|g<Up>| g<Up> 1 same as "gk"
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
@@ -1313,6 +1317,7 @@ tag command action ~
|
|||||||
|:filetype| :filet[ype] switch file type detection on/off
|
|:filetype| :filet[ype] switch file type detection on/off
|
||||||
|:filter| :filt[er] filter output of following command
|
|:filter| :filt[er] filter output of following command
|
||||||
|:find| :fin[d] find file in 'path' and edit it
|
|: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
|
|:finally| :fina[lly] part of a :try command
|
||||||
|:finish| :fini[sh] quit sourcing a Vim script
|
|:finish| :fini[sh] quit sourcing a Vim script
|
||||||
|:first| :fir[st] go to the first file in the argument list
|
|:first| :fir[st] go to the first file in the argument list
|
||||||
@@ -1687,6 +1692,7 @@ tag command action ~
|
|||||||
|:unsilent| :uns[ilent] run a command not silently
|
|:unsilent| :uns[ilent] run a command not silently
|
||||||
|:update| :up[date] write buffer if modified
|
|:update| :up[date] write buffer if modified
|
||||||
|:vglobal| :v[global] execute commands for not matching lines
|
|:vglobal| :v[global] execute commands for not matching lines
|
||||||
|
|:var| :var variable declaration in Vim9
|
||||||
|:version| :ve[rsion] print version number and other info
|
|:version| :ve[rsion] print version number and other info
|
||||||
|:verbose| :verb[ose] execute command with 'verbose' set
|
|:verbose| :verb[ose] execute command with 'verbose' set
|
||||||
|:vertical| :vert[ical] make following command split vertically
|
|: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
|
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>
|
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
|
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.
|
<NL> character in a file you will have to make a line break.
|
||||||
|
Also see 'fileformat'.
|
||||||
|
|
||||||
*i_CTRL-X* *insert_expand*
|
*i_CTRL-X* *insert_expand*
|
||||||
CTRL-X enters a sub-mode where several commands can be used. Most of these
|
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*
|
||||||
A Append text at the end of the line [count] times.
|
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>*
|
<insert> or *i* *insert* *<Insert>*
|
||||||
i Insert text before the cursor [count] times.
|
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
|
When the 'H' flag is present in 'cpoptions' and the
|
||||||
line only contains blanks, insert start just before
|
line only contains blanks, insert start just before
|
||||||
the last blank.
|
the last blank.
|
||||||
|
For using "I" in Visual block mode see |v_b_I|.
|
||||||
|
|
||||||
*gI*
|
*gI*
|
||||||
gI Insert text in column 1 [count] times.
|
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 Dec 19
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
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
|
Flemming Madsen X11 client-server, various features and patches
|
||||||
Tony Mechelynck answers many user questions
|
Tony Mechelynck answers many user questions
|
||||||
Paul Moore Python interface extensions, many patches
|
Paul Moore Python interface extensions, many patches
|
||||||
Katsuhito Nagano Work on multi-byte versions
|
Katsuhito Nagano Work on multibyte versions
|
||||||
Sung-Hyun Nam Work on multi-byte versions
|
Sung-Hyun Nam Work on multibyte versions
|
||||||
Vince Negri Win32 GUI and generic console enhancements
|
Vince Negri Win32 GUI and generic console enhancements
|
||||||
Steve Oualline Author of the first Vim book |frombook|
|
Steve Oualline Author of the first Vim book |frombook|
|
||||||
Dominique Pelle Valgrind reports and many fixes
|
Dominique Pelle Valgrind reports and many fixes
|
||||||
@@ -434,7 +434,7 @@ notation meaning equivalent decimal value(s) ~
|
|||||||
<CSI> command sequence intro ALT-Esc 155 *<CSI>*
|
<CSI> command sequence intro ALT-Esc 155 *<CSI>*
|
||||||
<xCSI> CSI when typed in the GUI *<xCSI>*
|
<xCSI> CSI when typed in the GUI *<xCSI>*
|
||||||
|
|
||||||
<EOL> end-of-line (can be <CR>, <LF> or <CR><LF>,
|
<EOL> end-of-line (can be <CR>, <NL> or <CR><NL>,
|
||||||
depends on system and 'fileformat') *<EOL>*
|
depends on system and 'fileformat') *<EOL>*
|
||||||
|
|
||||||
<Up> cursor-up *cursor-up* *cursor_up*
|
<Up> cursor-up *cursor-up* *cursor_up*
|
||||||
@@ -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)
|
||||||
<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)
|
<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
|
character, Vim may not be able to know what byte sequence that is and then
|
||||||
it won't work.
|
it won't work.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*map.txt* For Vim version 8.2. Last change: 2020 Apr 23
|
*map.txt* For Vim version 8.2. Last change: 2020 Dec 10
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
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
|
<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
|
not wait for more characters to be typed. However, if the characters were
|
||||||
already typed they are used.
|
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*
|
*:map-<silent>* *:map-silent*
|
||||||
To define a mapping which will not be echoed on the command line, add
|
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
|
the abbreviation. You can use this to decide how to expand the {lhs}. You
|
||||||
should not either insert or change the v:char.
|
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
|
Be very careful about side effects! The expression is evaluated while
|
||||||
obtaining characters, you may very well make the command dysfunctional.
|
obtaining characters, you may very well make the command dysfunctional.
|
||||||
For this reason the following is blocked:
|
For this reason the following is blocked:
|
||||||
@@ -254,7 +271,7 @@ For this reason the following is blocked:
|
|||||||
- The |:normal| command.
|
- The |:normal| command.
|
||||||
- Moving the cursor is allowed, but it is restored afterwards.
|
- 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
|
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
|
You can use getchar(), it consumes typeahead if there is any. E.g., if you
|
||||||
have these mappings: >
|
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
|
CTRL-L inserts the next number, CTRL-R resets the count. CTRL-R returns an
|
||||||
empty string, so that nothing is inserted.
|
empty string, so that nothing is inserted.
|
||||||
|
|
||||||
Note that there are some tricks to make special keys work and escape CSI bytes
|
Note that using 0x80 as a single byte before other text does not work, it will
|
||||||
in the text. The |:map| command also does this, thus you must avoid that it
|
be seen as a special key.
|
||||||
is done twice. This does not work: >
|
|
||||||
:imap <expr> <F3> "<Char-0x611B>"
|
*<Cmd>* *:map-cmd*
|
||||||
Because the <Char- sequence is escaped for being a |:imap| argument and then
|
The special text <Cmd> begins a "command mapping", it executes the command
|
||||||
again for using <expr>. This does work: >
|
directly without changing modes. Where you might use ":...<CR>" in the
|
||||||
:imap <expr> <F3> "\u611B"
|
{rhs} of a mapping, you can instead use "<Cmd>...<CR>".
|
||||||
Using 0x80 as a single byte before other text does not work, it will be seen
|
Example: >
|
||||||
as a special key.
|
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*
|
1.3 MAPPING AND MODES *:map-modes*
|
||||||
@@ -595,7 +642,7 @@ construct can be used:
|
|||||||
<Char-033> character 27
|
<Char-033> character 27
|
||||||
<Char-0x7f> character 127
|
<Char-0x7f> character 127
|
||||||
<S-Char-114> character 114 ('r') shifted ('R')
|
<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.
|
Upper and lowercase differences are ignored.
|
||||||
|
|
||||||
*map-comments*
|
*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-{>: >
|
When modifyOtherKeys is enabled you can map <C-[> and <C-S-{>: >
|
||||||
imap <C-[> [[[
|
imap <C-[> [[[
|
||||||
imap <C-S-{> {{{
|
imap <C-{> {{{
|
||||||
Without modifyOtherKeys <C-[> and <C-S-{> are indistinguishable from Esc.
|
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
|
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
|
after the CTRL-V key. This can be used to check whether modifyOtherKeys is
|
||||||
@@ -855,7 +909,7 @@ Insert mode to avoid every key with a modifier causing Insert mode to end.
|
|||||||
1.12 MAPPING AN OPERATOR *:map-operator*
|
1.12 MAPPING AN OPERATOR *:map-operator*
|
||||||
|
|
||||||
An operator is used before a {motion} command. To define your own operator
|
An operator is used before a {motion} command. To define your own operator
|
||||||
you must create mapping that first sets the 'operatorfunc' option and then
|
you must create a mapping that first sets the 'operatorfunc' option and then
|
||||||
invoke the |g@| operator. After the user types the {motion} command the
|
invoke the |g@| operator. After the user types the {motion} command the
|
||||||
specified function will be called.
|
specified function will be called.
|
||||||
|
|
||||||
@@ -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>: >
|
Here is an example that counts the number of spaces with <F4>: >
|
||||||
|
|
||||||
nmap <silent> <F4> :set opfunc=CountSpaces<CR>g@
|
nnoremap <expr> <F4> CountSpaces()
|
||||||
vmap <silent> <F4> :<C-U>call CountSpaces(visualmode(), 1)<CR>
|
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 sel_save = &selection
|
||||||
let &selection = "inclusive"
|
let reg_save = getreginfo('"')
|
||||||
let reg_save = @@
|
let cb_save = &clipboard
|
||||||
|
let visual_marks_save = [getpos("'<"), getpos("'>")]
|
||||||
|
|
||||||
if a:0 " Invoked from Visual mode, use gv command.
|
try
|
||||||
silent exe "normal! gvy"
|
set clipboard= selection=inclusive
|
||||||
elseif a:type == 'line'
|
let commands = #{line: "'[V']y", char: "`[v`]y", block: "`[\<c-v>`]y"}
|
||||||
silent exe "normal! '[V']y"
|
silent exe 'noautocmd keepjumps normal! ' .. get(commands, a:type, '')
|
||||||
else
|
echom getreg('"')->count(' ')
|
||||||
silent exe "normal! `[v`]y"
|
finally
|
||||||
endif
|
call setreg('"', reg_save)
|
||||||
|
call setpos("'<", visual_marks_save[0])
|
||||||
echomsg strlen(substitute(@@, '[^ ]', '', 'g'))
|
call setpos("'>", visual_marks_save[1])
|
||||||
|
let &clipboard = cb_save
|
||||||
let &selection = sel_save
|
let &selection = sel_save
|
||||||
let @@ = reg_save
|
endtry
|
||||||
endfunction
|
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
|
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 ']
|
to yank exactly the right text by using Visual mode from the '[ to the ']
|
||||||
mark.
|
mark.
|
||||||
|
|
||||||
Also note that there is a separate mapping for Visual mode. It removes the
|
Also note that the 'clipboard' option is temporarily emptied to avoid
|
||||||
"'<,'>" range that ":" inserts in Visual mode and invokes the function with
|
clobbering the `"*` or `"+` registers, if its value contains the item `unnamed`
|
||||||
visualmode() and an extra argument.
|
or `unnamedplus`.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
2. Abbreviations *abbreviations* *Abbreviations*
|
2. Abbreviations *abbreviations* *Abbreviations*
|
||||||
@@ -1167,13 +1233,17 @@ When executing an autocommand or a user command, it will run in the context of
|
|||||||
the script it was defined in. This makes it possible that the command calls a
|
the script it was defined in. This makes it possible that the command calls a
|
||||||
local function or uses a local mapping.
|
local function or uses a local mapping.
|
||||||
|
|
||||||
|
In case the value is used in a context where <SID> cannot be correctly
|
||||||
|
expanded, use the expand() function: >
|
||||||
|
let &includexpr = expand('<SID>') .. 'My_includeexpr()'
|
||||||
|
|
||||||
Otherwise, using "<SID>" outside of a script context is an error.
|
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
|
If you need to get the script number to use in a complicated script, you can
|
||||||
use this function: >
|
use this function: >
|
||||||
function s:SID()
|
func s:ScriptNumber()
|
||||||
return matchstr(expand('<sfile>'), '<SNR>\zs\d\+\ze_SID$')
|
return matchstr(expand('<SID>'), '<SNR>\zs\d\+\ze_')
|
||||||
endfun
|
endfunc
|
||||||
|
|
||||||
The "<SNR>" will be shown when listing functions and mappings. This is useful
|
The "<SNR>" will be shown when listing functions and mappings. This is useful
|
||||||
to find out what they are defined to.
|
to find out what they are defined to.
|
||||||
@@ -1251,15 +1321,15 @@ last defined. Example: >
|
|||||||
See |:verbose-cmd| for more information.
|
See |:verbose-cmd| for more information.
|
||||||
|
|
||||||
*E174* *E182*
|
*E174* *E182*
|
||||||
:com[mand][!] [{attr}...] {cmd} {rep}
|
:com[mand][!] [{attr}...] {cmd} {repl}
|
||||||
Define a user command. The name of the command is
|
Define a user command. The name of the command is
|
||||||
{cmd} and its replacement text is {rep}. The command's
|
{cmd} and its replacement text is {repl}. The
|
||||||
attributes (see below) are {attr}. If the command
|
command's attributes (see below) are {attr}. If the
|
||||||
already exists, an error is reported, unless a ! is
|
command already exists, an error is reported, unless a
|
||||||
specified, in which case the command is redefined.
|
! is specified, in which case the command is
|
||||||
There is one exception: When sourcing a script again,
|
redefined. There is one exception: When sourcing a
|
||||||
a command that was previously defined in that script
|
script again, a command that was previously defined in
|
||||||
will be silently replaced.
|
that script will be silently replaced.
|
||||||
|
|
||||||
|
|
||||||
:delc[ommand] {cmd} *:delc* *:delcommand* *E184*
|
:delc[ommand] {cmd} *:delc* *:delcommand* *E184*
|
||||||
@@ -1469,11 +1539,11 @@ feature. Use the full name for new scripts.
|
|||||||
|
|
||||||
Replacement text ~
|
Replacement text ~
|
||||||
|
|
||||||
The replacement text for a user defined command is scanned for special escape
|
The replacement text {repl} for a user defined command is scanned for special
|
||||||
sequences, using <...> notation. Escape sequences are replaced with values
|
escape sequences, using <...> notation. Escape sequences are replaced with
|
||||||
from the entered command line, and all other text is copied unchanged. The
|
values from the entered command line, and all other text is copied unchanged.
|
||||||
resulting string is executed as an Ex command. To avoid the replacement use
|
The resulting string is executed as an Ex command. To avoid the replacement
|
||||||
<lt> in place of the initial <. Thus to include "<bang>" literally use
|
use <lt> in place of the initial <. Thus to include "<bang>" literally use
|
||||||
"<lt>bang>".
|
"<lt>bang>".
|
||||||
|
|
||||||
The valid escape sequences are
|
The valid escape sequences are
|
||||||
@@ -1491,7 +1561,7 @@ The valid escape sequences are
|
|||||||
<bang> (See the '-bang' attribute) Expands to a ! if the
|
<bang> (See the '-bang' attribute) Expands to a ! if the
|
||||||
command was executed with a ! modifier, otherwise
|
command was executed with a ! modifier, otherwise
|
||||||
expands to nothing.
|
expands to nothing.
|
||||||
*<mods>* *:command-modifiers*
|
*<mods>* *<q-mods>* *:command-modifiers*
|
||||||
<mods> The command modifiers, if specified. Otherwise, expands to
|
<mods> The command modifiers, if specified. Otherwise, expands to
|
||||||
nothing. Supported modifiers are |:aboveleft|, |:belowright|,
|
nothing. Supported modifiers are |:aboveleft|, |:belowright|,
|
||||||
|:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|,
|
|:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|,
|
||||||
@@ -1599,6 +1669,11 @@ errors and the "update" command to write modified buffers): >
|
|||||||
This will invoke: >
|
This will invoke: >
|
||||||
:call Allargs("%s/foo/bar/ge|update")
|
:call Allargs("%s/foo/bar/ge|update")
|
||||||
<
|
<
|
||||||
|
If the command is defined in Vim9 script (a script that starts with
|
||||||
|
`:vim9script` and in a `:def` function) then {repl} will be executed as in Vim9
|
||||||
|
script. Thus this depends on where the command is defined, not where it is
|
||||||
|
used.
|
||||||
|
|
||||||
When defining a user command in a script, it will be able to call functions
|
When defining a user command in a script, it will be able to call functions
|
||||||
local to the script and use mappings local to the script. When the user
|
local to the script and use mappings local to the script. When the user
|
||||||
invokes the user command, it will run in the context of the script it was
|
invokes the user command, it will run in the context of the script it was
|
||||||
|
|||||||
@@ -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.
|
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
|
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
|
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
|
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
|
features. Unfortunately, every system has its own way to deal with multibyte
|
||||||
languages and it is quite complicated.
|
languages and it is quite complicated.
|
||||||
|
|
||||||
@@ -123,7 +123,7 @@ You can also set 'guifont' alone, Vim will try to find a matching
|
|||||||
|
|
||||||
INPUT
|
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 X11 XIM can be used. See |XIM|.
|
||||||
- For MS-Windows IME can be used. See |IME|.
|
- For MS-Windows IME can be used. See |IME|.
|
||||||
- For all systems keymaps can be used. See |mbyte-keymap|.
|
- 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.
|
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.
|
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
|
encoding. This allows using much more than 256 characters, which is required
|
||||||
for most East Asian languages.
|
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
|
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
|
matter what language is used. Thus you might see the right text even when the
|
||||||
encoding was set wrong.
|
encoding was set wrong.
|
||||||
@@ -488,11 +488,11 @@ possible.
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
4. Using a terminal *mbyte-terminal*
|
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
|
terminal, if the terminal supports the same encoding that Vim uses. Thus this
|
||||||
is less flexible.
|
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
|
|XIM|. Examples are kterm (Kanji term) and hanterm (for Korean), Eterm
|
||||||
(Enlightened terminal) and rxvt.
|
(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*
|
5. Fonts on X11 *mbyte-fonts-X11*
|
||||||
|
|
||||||
Unfortunately, using fonts in X11 is complicated. The name of a single-byte
|
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
|
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
|
its XLFD is not supported; see 'guifont' for an example of how to
|
||||||
@@ -610,7 +610,7 @@ written like:
|
|||||||
|
|
||||||
X FONTSET
|
X FONTSET
|
||||||
*fontset* *xfontset*
|
*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
|
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
|
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.
|
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*
|
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.
|
options.txt for detailed information.
|
||||||
|
|
||||||
'encoding' Encoding used for the keyboard and display. It is also the
|
'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
|
languages where a sequence of characters can be broken
|
||||||
anywhere.
|
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'.
|
this option is not empty, it replaces 'guifont'.
|
||||||
|
|
||||||
'keymap' Specify the name of a keyboard mapping.
|
'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>
|
Chi-Deok Hwang <hwang@mizi.co.kr>
|
||||||
SungHyun Nam <goweol@gmail.com>
|
SungHyun Nam <goweol@gmail.com>
|
||||||
K.Nagano <nagano@atese.advantest.co.jp>
|
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
|
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
|
is especially useful when messages have been overwritten or truncated. This
|
||||||
depends on the 'shortmess' option.
|
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.
|
recent ones.
|
||||||
|
|
||||||
The number of remembered messages is fixed at 20 for the tiny version and 200
|
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
|
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*
|
*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
|
||||||
*E323* *E341* *E473* *E570* *E685* *E292* >
|
*E323* *E341* *E473* *E570* *E685* *E292* >
|
||||||
Add to read buffer
|
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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
Multi-language features *multilang* *multi-lang*
|
Multi-language features *multilang* *multi-lang*
|
||||||
|
|
||||||
This is about using messages and menus in various languages. For editing
|
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|.
|
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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -190,11 +190,14 @@ l or *l*
|
|||||||
|
|
||||||
*^*
|
*^*
|
||||||
^ To the first non-blank character of the line.
|
^ To the first non-blank character of the line.
|
||||||
|exclusive| motion.
|
|exclusive| motion. Any count is ignored.
|
||||||
|
|
||||||
*$* *<End>* *<kEnd>*
|
*$* *<End>* *<kEnd>*
|
||||||
$ or <End> To the end of the line. When a count is given also go
|
$ 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
|
In Visual mode the cursor goes to just after the last
|
||||||
character in the line.
|
character in the line.
|
||||||
When 'virtualedit' is active, "$" may move the cursor
|
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
|
'sections' option. The default is "SHNHH HUnhsh", which defines a section to
|
||||||
start at the nroff macros ".SH", ".NH", ".H", ".HU", ".nh" and ".sh".
|
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
|
The "]]" and "[[" commands stop at the '{' in the first column. This is
|
||||||
useful to find the start or end of a function in a C program. Note that the
|
useful to find the start of a function in a C program. To search for a '}' in
|
||||||
first character of the command determines the search direction and the
|
the first column, the end of a C function, use "][" (forward) or "[]"
|
||||||
second character the type of brace found.
|
(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 "[["
|
If your '{' or '}' are not in the first column, and you would like to use "[["
|
||||||
and "]]" anyway, try these mappings: >
|
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
|
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
|
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
|
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
|
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
|
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.
|
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.
|
offset A number argument that indicates a byte position in a buffer.
|
||||||
The first byte has offset zero. Line breaks are counted for
|
The first byte has offset zero. Line breaks are counted for
|
||||||
how they appear in the file (CR/LF counts for two bytes).
|
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.
|
bytes it takes.
|
||||||
|
|
||||||
lnum/col Argument with a line number and column number position. The
|
lnum/col Argument with a line number and column number position. The
|
||||||
line number starts with one, the column is the byte position,
|
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.
|
for several columns.
|
||||||
|
|
||||||
pathname String argument: file name with full path.
|
pathname String argument: file name with full path.
|
||||||
@@ -562,9 +562,10 @@ setModtime time
|
|||||||
saved directly by the Vim Controller.
|
saved directly by the Vim Controller.
|
||||||
New in version 2.3.
|
New in version 2.3.
|
||||||
|
|
||||||
setReadOnly
|
setReadOnly readonly
|
||||||
Set a file as readonly
|
When the boolean argument "readonly" is "T" for True, mark the
|
||||||
Implemented in version 2.3.
|
buffer as readonly, when it is "F" for False, mark it as not
|
||||||
|
readonly. Implemented in version 2.3.
|
||||||
|
|
||||||
setStyle Not implemented.
|
setStyle Not implemented.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*options.txt* For Vim version 8.2. Last change: 2020 Jul 18
|
*options.txt* For Vim version 8.2. Last change: 2020 Dec 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
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'
|
The value "double" cannot be used if 'listchars' or 'fillchars'
|
||||||
contains a character that would be double width.
|
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
|
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
|
those characters are solely based on how many octets they take in
|
||||||
legacy/traditional CJK encodings. In those encodings, Euro,
|
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)
|
'antialias' 'anti' boolean (default: off)
|
||||||
global
|
global
|
||||||
{only available when compiled with GUI enabled
|
{only available when compiled with GUI enabled
|
||||||
on Mac OS X}
|
on macOS}
|
||||||
This option only has an effect in the GUI version of Vim on Mac OS X
|
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,
|
v10.2 or later. When on, Vim will use smooth ("antialiased") fonts,
|
||||||
which can be easier to read at certain sizes on certain displays.
|
which can be easier to read at certain sizes on certain displays.
|
||||||
Setting this option can sometimes cause problems if 'guifont' is set
|
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
|
"x" delete each combining character on its own. When it is off (the
|
||||||
default) the character along with its combining characters are
|
default) the character along with its combining characters are
|
||||||
deleted.
|
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
|
This is useful for Arabic, Hebrew and many other languages where one
|
||||||
may have combining characters overtop of base characters, and want
|
may have combining characters overtop of base characters, and want
|
||||||
@@ -2715,6 +2718,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
for Unix: ".,~/tmp,/var/tmp,/tmp")
|
for Unix: ".,~/tmp,/var/tmp,/tmp")
|
||||||
global
|
global
|
||||||
List of directory names for the swap file, separated with commas.
|
List of directory names for the swap file, separated with commas.
|
||||||
|
Recommended value: ".,~/vimswap//" - this will put the swap file next
|
||||||
|
to the edited file if possible, and in your personal swap directory
|
||||||
|
otherwise. Make sure "~/vimswap//" is only readable for you.
|
||||||
|
|
||||||
|
Possible items:
|
||||||
- The swap file will be created in the first directory where this is
|
- The swap file will be created in the first directory where this is
|
||||||
possible.
|
possible.
|
||||||
- Empty means that no swap file will be used (recovery is
|
- Empty means that no swap file will be used (recovery is
|
||||||
@@ -2728,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.
|
is replaced with the path name of the edited file.
|
||||||
- For Unix and Win32, if a directory ends in two path separators "//",
|
- 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
|
the swap file name will be built from the complete path to the file
|
||||||
with all path separators substituted to percent '%' signs. This will
|
with all path separators replaced by percent '%' signs (including
|
||||||
ensure file name uniqueness in the preserve directory.
|
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
|
On Win32, it is also possible to end with "\\". However, When a
|
||||||
separating comma is following, you must use "//", since "\\" will
|
separating comma is following, you must use "//", since "\\" will
|
||||||
include the comma in the file name. Therefore it is recommended to
|
include the comma in the file name. Therefore it is recommended to
|
||||||
@@ -2749,9 +2758,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
the same file twice will result in a warning. Using "/tmp" on Unix is
|
the same file twice will result in a warning. Using "/tmp" on Unix is
|
||||||
discouraged: When the system crashes you lose the swap file.
|
discouraged: When the system crashes you lose the swap file.
|
||||||
"/var/tmp" is often not cleared when rebooting, thus is a better
|
"/var/tmp" is often not cleared when rebooting, thus is a better
|
||||||
choice than "/tmp". But it can contain a lot of files, your swap
|
choice than "/tmp". But others on the computer may be able to see the
|
||||||
files get lost in the crowd. That is why a "tmp" directory in your
|
files, and it can contain a lot of files, your swap files get lost in
|
||||||
home directory is tried first.
|
the crowd. That is why a "tmp" directory in your home directory is
|
||||||
|
tried first.
|
||||||
The use of |:set+=| and |:set-=| is preferred when adding or removing
|
The use of |:set+=| and |:set-=| is preferred when adding or removing
|
||||||
directories from the list. This avoids problems when a future version
|
directories from the list. This avoids problems when a future version
|
||||||
uses another default.
|
uses another default.
|
||||||
@@ -2791,12 +2801,16 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
toggled each time the flag is given. See |complex-change|. See
|
toggled each time the flag is given. See |complex-change|. See
|
||||||
also 'gdefault' option.
|
also 'gdefault' option.
|
||||||
Switching this option on may break plugins!
|
Switching this option on may break plugins!
|
||||||
|
This option is not used in |Vim9| script.
|
||||||
|
|
||||||
*'emoji'* *'emo'* *'noemoji'* *'noemo'*
|
*'emoji'* *'emo'* *'noemoji'* *'noemo'*
|
||||||
'emoji' 'emo' boolean (default: on)
|
'emoji' 'emo' boolean (default: on)
|
||||||
global
|
global
|
||||||
When on all Unicode emoji characters are considered to be full width.
|
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'* *E543*
|
||||||
'encoding' 'enc' string (default: "latin1" or value from $LANG)
|
'encoding' 'enc' string (default: "latin1" or value from $LANG)
|
||||||
@@ -2826,7 +2840,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
|
This is specified with 'fileencoding'. The conversion is done with
|
||||||
iconv() or as specified with 'charconvert'.
|
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: >
|
can use: >
|
||||||
if has("multi_byte_encoding")
|
if has("multi_byte_encoding")
|
||||||
<
|
<
|
||||||
@@ -3108,7 +3122,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
local to buffer
|
local to buffer
|
||||||
This gives the <EOL> of the current buffer, which is used for
|
This gives the <EOL> of the current buffer, which is used for
|
||||||
reading/writing the buffer from/to a file:
|
reading/writing the buffer from/to a file:
|
||||||
dos <CR> <NL>
|
dos <CR><NL>
|
||||||
unix <NL>
|
unix <NL>
|
||||||
mac <CR>
|
mac <CR>
|
||||||
When "dos" is used, CTRL-Z at the end of a file is ignored.
|
When "dos" is used, CTRL-Z at the end of a file is ignored.
|
||||||
@@ -3557,6 +3571,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
DEPRECATED: Setting this option may break plugins that are not aware
|
DEPRECATED: Setting this option may break plugins that are not aware
|
||||||
of this option. Also, many users get confused that adding the /g flag
|
of this option. Also, many users get confused that adding the /g flag
|
||||||
has the opposite effect of that it normally does.
|
has the opposite effect of that it normally does.
|
||||||
|
This option is not used in |Vim9| script.
|
||||||
|
|
||||||
*'grepformat'* *'gfm'*
|
*'grepformat'* *'gfm'*
|
||||||
'grepformat' 'gfm' string (default "%f:%l:%m,%f:%l%m,%f %l%m")
|
'grepformat' 'gfm' string (default "%f:%l:%m,%f:%l%m,%f %l%m")
|
||||||
@@ -4540,7 +4555,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.
|
set and to the Vim default value when 'compatible' is reset.
|
||||||
|
|
||||||
*'isprint'* *'isp'*
|
*'isprint'* *'isp'*
|
||||||
'isprint' 'isp' string (default for Win32 and Macintosh:
|
'isprint' 'isp' string (default for Win32 and macOS:
|
||||||
"@,~-255"; otherwise: "@,161-255")
|
"@,~-255"; otherwise: "@,161-255")
|
||||||
global
|
global
|
||||||
The characters given by this option are displayed directly on the
|
The characters given by this option are displayed directly on the
|
||||||
@@ -4669,7 +4684,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
characters. Example: "abc;ABC"
|
characters. Example: "abc;ABC"
|
||||||
Example: "aA,fgh;FGH,cCdDeE"
|
Example: "aA,fgh;FGH,cCdDeE"
|
||||||
Special characters need to be preceded with a backslash. These are
|
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
|
This will allow you to activate vim actions without having to switch
|
||||||
back and forth between the languages. Your language characters will
|
back and forth between the languages. Your language characters will
|
||||||
@@ -4917,18 +4932,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
*'macatsui'* *'nomacatsui'*
|
*'macatsui'* *'nomacatsui'*
|
||||||
'macatsui' boolean (default on)
|
'macatsui' boolean (default on)
|
||||||
global
|
global
|
||||||
{only available in Mac GUI version}
|
{not supported}
|
||||||
This is a workaround for when drawing doesn't work properly. When set
|
No longer supported, as the Mac OS X GUI code was removed.
|
||||||
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'.
|
|
||||||
|
|
||||||
*'magic'* *'nomagic'*
|
*'magic'* *'nomagic'*
|
||||||
'magic' boolean (default on)
|
'magic' boolean (default on)
|
||||||
@@ -4940,6 +4945,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
Only switch it off when working with old Vi scripts. In any other
|
Only switch it off when working with old Vi scripts. In any other
|
||||||
situation write patterns that work when 'magic' is on. Include "\M"
|
situation write patterns that work when 'magic' is on. Include "\M"
|
||||||
when you want to |/\M|.
|
when you want to |/\M|.
|
||||||
|
In |Vim9| script the value of 'magic' is ignored, patterns behave like
|
||||||
|
it is always set.
|
||||||
|
|
||||||
*'makeef'* *'mef'*
|
*'makeef'* *'mef'*
|
||||||
'makeef' 'mef' string (default: "")
|
'makeef' 'mef' string (default: "")
|
||||||
@@ -6191,7 +6198,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),
|
screen. If the statusline is given by 'statusline' (i.e. not empty),
|
||||||
this option takes precedence over 'ruler' and 'rulerformat'
|
this option takes precedence over 'ruler' and 'rulerformat'
|
||||||
If the number of characters displayed is different from the number of
|
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,
|
the text column (byte number) and the screen column are shown,
|
||||||
separated with a dash.
|
separated with a dash.
|
||||||
For an empty line "0-1" is shown.
|
For an empty line "0-1" is shown.
|
||||||
@@ -6234,7 +6241,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
$VIMRUNTIME,
|
$VIMRUNTIME,
|
||||||
$VIM/vimfiles/after,
|
$VIM/vimfiles/after,
|
||||||
$HOME/vimfiles/after"
|
$HOME/vimfiles/after"
|
||||||
Macintosh: "$VIM:vimfiles,
|
macOS: "$VIM:vimfiles,
|
||||||
$VIMRUNTIME,
|
$VIMRUNTIME,
|
||||||
$VIM:vimfiles:after"
|
$VIM:vimfiles:after"
|
||||||
Haiku: "$BE_USER_SETTINGS/vim,
|
Haiku: "$BE_USER_SETTINGS/vim,
|
||||||
@@ -6314,7 +6321,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
local to window
|
local to window
|
||||||
Number of lines to scroll with CTRL-U and CTRL-D commands. Will be
|
Number of lines to scroll with CTRL-U and CTRL-D commands. Will be
|
||||||
set to half the number of lines in the window when the window size
|
set to half the number of lines in the window when the window size
|
||||||
changes. If you give a count to the CTRL-U or CTRL-D command it will
|
changes. This may happen when enabling the |status-line| or
|
||||||
|
'tabline' option after setting the 'scroll' option.
|
||||||
|
If you give a count to the CTRL-U or CTRL-D command it will
|
||||||
be used as the new value for 'scroll'. Reset to half the window
|
be used as the new value for 'scroll'. Reset to half the window
|
||||||
height with ":set scroll=0".
|
height with ":set scroll=0".
|
||||||
|
|
||||||
@@ -6564,7 +6573,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
|
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
|
">%s 2>&1". The output is directly saved in a file and not echoed to
|
||||||
the screen.
|
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
|
in a file and echoed to the screen. If the 'shell' option is "csh" or
|
||||||
"tcsh" after initializations, the default becomes "|& tee". If the
|
"tcsh" after initializations, the default becomes "|& tee". If the
|
||||||
'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh", "zsh-beta",
|
'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh", "zsh-beta",
|
||||||
@@ -7222,7 +7231,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:
|
normal text. Each status line item is of the form:
|
||||||
%-0{minwid}.{maxwid}{item}
|
%-0{minwid}.{maxwid}{item}
|
||||||
All fields except the {item} are optional. A single percent sign can
|
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,
|
When the option starts with "%!" then it is used as an expression,
|
||||||
evaluated and the result is used as the option value. Example: >
|
evaluated and the result is used as the option value. Example: >
|
||||||
@@ -7288,8 +7297,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.)
|
N N Printer page number. (Only works in the 'printheader' option.)
|
||||||
l N Line number.
|
l N Line number.
|
||||||
L N Number of lines in buffer.
|
L N Number of lines in buffer.
|
||||||
c N Column number.
|
c N Column number (byte index).
|
||||||
v N Virtual column number.
|
v N Virtual column number (screen column).
|
||||||
V N Virtual column number as -{num}. Not displayed if equal to 'c'.
|
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 N Percentage through file in lines as in |CTRL-G|.
|
||||||
P S Percentage through file of displayed window. This is like the
|
P S Percentage through file of displayed window. This is like the
|
||||||
@@ -7738,14 +7747,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
For further details see |arabic.txt|.
|
For further details see |arabic.txt|.
|
||||||
|
|
||||||
*'termencoding'* *'tenc'*
|
*'termencoding'* *'tenc'*
|
||||||
'termencoding' 'tenc' string (default ""; with GTK+ GUI: "utf-8"; with
|
'termencoding' 'tenc' string (default ""; with GTK+ GUI: "utf-8")
|
||||||
Macintosh GUI: "macroman")
|
|
||||||
global
|
global
|
||||||
Encoding used for the terminal. This specifies what character
|
Encoding used for the terminal. This specifies what character
|
||||||
encoding the keyboard produces and the display will understand. For
|
encoding the keyboard produces and the display will understand. For
|
||||||
the GUI it only applies to the keyboard ('encoding' is used for the
|
the GUI it only applies to the keyboard ('encoding' is used for the
|
||||||
display). Except for the Mac when 'macatsui' is off, then
|
display).
|
||||||
'termencoding' should be "macroman".
|
|
||||||
*E617* *E950*
|
*E617* *E950*
|
||||||
Note: This does not apply to the GTK+ GUI. After the GUI has been
|
Note: This does not apply to the GTK+ GUI. After the GUI has been
|
||||||
successfully initialized, 'termencoding' is forcibly set to "utf-8".
|
successfully initialized, 'termencoding' is forcibly set to "utf-8".
|
||||||
@@ -7810,8 +7817,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
*'termwinsize'* *'tws'*
|
*'termwinsize'* *'tws'*
|
||||||
'termwinsize' 'tws' string (default "")
|
'termwinsize' 'tws' string (default "")
|
||||||
local to window
|
local to window
|
||||||
Size of the |terminal| window. Format: {rows}x{columns} or
|
Size used when opening the |terminal| window. Format:
|
||||||
{rows}*{columns}.
|
{rows}x{columns} or {rows}*{columns}.
|
||||||
- When empty the terminal gets the size from the window.
|
- When empty the terminal gets the size from the window.
|
||||||
- When set with a "x" (e.g., "24x80") the terminal size is not
|
- 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
|
adjusted to the window size. If the window is smaller only the
|
||||||
@@ -7822,6 +7829,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 rows is zero then use the height of the window.
|
||||||
- When columns is zero then use the width of the window.
|
- When columns is zero then use the width of the window.
|
||||||
- Using "0x0" or "0*0" is the same as empty.
|
- 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:
|
Examples:
|
||||||
"30x0" uses 30 rows and the current window width.
|
"30x0" uses 30 rows and the current window width.
|
||||||
@@ -8368,7 +8377,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
>= 14 Anything pending in a ":finally" clause.
|
>= 14 Anything pending in a ":finally" clause.
|
||||||
>= 15 Every executed Ex command from a script (truncated at 200
|
>= 15 Every executed Ex command from a script (truncated at 200
|
||||||
characters).
|
characters).
|
||||||
>= 16 Every executed Ex command
|
>= 16 Every executed Ex command.
|
||||||
|
|
||||||
This option can also be set with the "-V" argument. See |-V|.
|
This option can also be set with the "-V" argument. See |-V|.
|
||||||
This option is also set by the |:verbose| command.
|
This option is also set by the |:verbose| command.
|
||||||
@@ -8391,7 +8400,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:
|
'viewdir' 'vdir' string (default for Amiga and Win32:
|
||||||
"$VIM/vimfiles/view",
|
"$VIM/vimfiles/view",
|
||||||
for Unix: "~/.vim/view",
|
for Unix: "~/.vim/view",
|
||||||
for Macintosh: "$VIM:vimfiles:view"
|
for macOS: "$VIM:vimfiles:view"
|
||||||
for VMS: "sys$login:vimfiles/view")
|
for VMS: "sys$login:vimfiles/view")
|
||||||
global
|
global
|
||||||
{not available when compiled without the |+mksession|
|
{not available when compiled without the |+mksession|
|
||||||
@@ -8907,7 +8916,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
{only available when compiled with the |terminal|
|
{only available when compiled with the |terminal|
|
||||||
feature on MS-Windows}
|
feature on MS-Windows}
|
||||||
Specifies the name of the winpty shared library, used for the
|
Specifies the name of the winpty shared library, used for the
|
||||||
|:terminal| command. The default depends on whether was build as a
|
|:terminal| command. The default depends on whether Vim was built as a
|
||||||
32-bit or 64-bit executable. If not found, "winpty.dll" is tried as
|
32-bit or 64-bit executable. If not found, "winpty.dll" is tried as
|
||||||
a fallback.
|
a fallback.
|
||||||
Environment variables are expanded |:set_env|.
|
Environment variables are expanded |:set_env|.
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ VAX C compiler is not fully ANSI C compatible in pre-processor directives
|
|||||||
semantics, therefore you have to use a converter program that will do the lion
|
semantics, therefore you have to use a converter program that will do the lion
|
||||||
part of the job. For detailed instructions read file INSTALLvms.txt
|
part of the job. For detailed instructions read file INSTALLvms.txt
|
||||||
|
|
||||||
MMS_VIM.EXE is build together with VIM.EXE, but for XXD.EXE you should
|
MMS_VIM.EXE is built together with VIM.EXE, but for XXD.EXE you should
|
||||||
change to a subdirectory and build it separately.
|
change to a subdirectory and build it separately.
|
||||||
|
|
||||||
CTAGS is not part of the Vim source distribution anymore, however the OpenVMS
|
CTAGS is not part of the Vim source distribution anymore, however the OpenVMS
|
||||||
|
|||||||
@@ -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 Dec 06
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -361,8 +361,8 @@ For starters, read chapter 27 of the user manual |usr_27.txt|.
|
|||||||
*/atom*
|
*/atom*
|
||||||
5. An atom can be one of a long list of items. Many atoms match one character
|
5. An atom can be one of a long list of items. Many atoms match one character
|
||||||
in the text. It is often an ordinary character or a character class.
|
in the text. It is often an ordinary character or a character class.
|
||||||
Braces can be used to make a pattern into an atom. The "\z(\)" construct
|
Parentheses can be used to make a pattern into an atom. The "\z(\)"
|
||||||
is only for syntax highlighting.
|
construct is only for syntax highlighting.
|
||||||
|
|
||||||
atom ::= ordinary-atom |/ordinary-atom|
|
atom ::= ordinary-atom |/ordinary-atom|
|
||||||
or \( pattern \) |/\(|
|
or \( pattern \) |/\(|
|
||||||
@@ -676,7 +676,7 @@ overview.
|
|||||||
|
|
||||||
Note that using "\&" works the same as using "\@=": "foo\&.." is the
|
Note that using "\&" works the same as using "\@=": "foo\&.." is the
|
||||||
same as "\(foo\)\@=..". But using "\&" is easier, you don't need the
|
same as "\(foo\)\@=..". But using "\&" is easier, you don't need the
|
||||||
braces.
|
parentheses.
|
||||||
|
|
||||||
|
|
||||||
*/\@!*
|
*/\@!*
|
||||||
@@ -797,11 +797,12 @@ An ordinary atom can be:
|
|||||||
^beep( the start of the C function "beep" (probably).
|
^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
|
\_^ Matches start-of-line. |/zero-width| Can be used at any position in
|
||||||
the pattern.
|
the pattern, but not inside [].
|
||||||
Example matches ~
|
Example matches ~
|
||||||
\_s*\_^foo white space and blank lines and then "foo" at
|
\_s*\_^foo white space and blank lines and then "foo" at
|
||||||
start-of-line
|
start-of-line
|
||||||
@@ -812,12 +813,13 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
|||||||
|/zero-width|
|
|/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
|
\_$ 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
|
pattern, but not inside []. Note that "a\_$b" never matches, since
|
||||||
end-of-line. Use "a\nb" instead |/\n|.
|
"b" cannot match an end-of-line. Use "a\nb" instead |/\n|.
|
||||||
Example matches ~
|
Example matches ~
|
||||||
foo\_$\_s* "foo" at end-of-line and following white space and
|
foo\_$\_s* "foo" at end-of-line and following white space and
|
||||||
blank lines
|
blank lines
|
||||||
@@ -840,8 +842,9 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
|||||||
|/zero-width|
|
|/zero-width|
|
||||||
|
|
||||||
*/\zs*
|
*/\zs*
|
||||||
\zs Matches at any position, and sets the start of the match there: The
|
\zs Matches at any position, but not inside [], and sets the start of the
|
||||||
next char is the first char of the whole match. |/zero-width|
|
match there: The next char is the first char of the whole match.
|
||||||
|
|/zero-width|
|
||||||
Example: >
|
Example: >
|
||||||
/^\s*\zsif
|
/^\s*\zsif
|
||||||
< matches an "if" at the start of a line, ignoring white space.
|
< 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*
|
This cannot be followed by a multi. *E888*
|
||||||
{not available when compiled without the |+syntax| feature}
|
{not available when compiled without the |+syntax| feature}
|
||||||
*/\ze*
|
*/\ze*
|
||||||
\ze Matches at any position, and sets the end of the match there: The
|
\ze Matches at any position, but not inside [], and sets the end of the
|
||||||
previous char is the last char of the whole match. |/zero-width|
|
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
|
Can be used multiple times, the last one encountered in a matching
|
||||||
branch is used.
|
branch is used.
|
||||||
Example: "end\ze\(if\|for\)" matches the "end" in "endif" and
|
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
|
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.
|
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
|
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
|
WARNING: When inserting or deleting text Vim does not automatically
|
||||||
update the matches. This means Syntax highlighting quickly becomes
|
update the matches. This means Syntax highlighting quickly becomes
|
||||||
wrong.
|
wrong.
|
||||||
@@ -994,7 +998,7 @@ Character classes:
|
|||||||
\p printable character (see 'isprint' option) */\p*
|
\p printable character (see 'isprint' option) */\p*
|
||||||
\P like "\p", but excluding digits */\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.
|
match ASCII characters, as indicated by the range.
|
||||||
|
|
||||||
*whitespace* *white-space*
|
*whitespace* *white-space*
|
||||||
@@ -1065,8 +1069,8 @@ x A single character, with no special meaning, matches itself
|
|||||||
|
|
||||||
[] (with 'nomagic': \[]) */[]* */\[]* */\_[]* */collection*
|
[] (with 'nomagic': \[]) */[]* */\[]* */\_[]* */collection*
|
||||||
\_[]
|
\_[]
|
||||||
A collection. This is a sequence of characters enclosed in brackets.
|
A collection. This is a sequence of characters enclosed in square
|
||||||
It matches any single character in the collection.
|
brackets. It matches any single character in the collection.
|
||||||
Example matches ~
|
Example matches ~
|
||||||
[xyz] any 'x', 'y' or 'z'
|
[xyz] any 'x', 'y' or 'z'
|
||||||
[a-zA-Z]$ any alphabetic character at the end of a line
|
[a-zA-Z]$ any alphabetic character at the end of a line
|
||||||
@@ -1125,15 +1129,16 @@ x A single character, with no special meaning, matches itself
|
|||||||
*[:ident:]* [:ident:] identifier character (same as "\i")
|
*[:ident:]* [:ident:] identifier character (same as "\i")
|
||||||
*[:keyword:]* [:keyword:] keyword character (same as "\k")
|
*[:keyword:]* [:keyword:] keyword character (same as "\k")
|
||||||
*[:fname:]* [:fname:] file name character (same as "\f")
|
*[:fname:]* [:fname:] file name character (same as "\f")
|
||||||
The brackets in character class expressions are additional to the
|
The square brackets in character class expressions are additional to
|
||||||
brackets delimiting a collection. For example, the following is a
|
the square brackets delimiting a collection. For example, the
|
||||||
plausible pattern for a UNIX filename: "[-./[:alnum:]_~]\+" That is,
|
following is a plausible pattern for a UNIX filename:
|
||||||
a list of at least one character, each of which is either '-', '.',
|
"[-./[:alnum:]_~]\+". That is, a list of at least one character,
|
||||||
'/', alphabetic, numeric, '_' or '~'.
|
each of which is either '-', '.', '/', alphabetic, numeric, '_' or
|
||||||
|
'~'.
|
||||||
These items only work for 8-bit characters, except [:lower:] and
|
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
|
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:]].
|
characters you can use: [[:lower:][:upper:]].
|
||||||
|
|
||||||
The "Func" column shows what library function is used. The
|
The "Func" column shows what library function is used. The
|
||||||
@@ -1257,8 +1262,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>
|
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.
|
doesn't work there, it only works to match text in the buffer.
|
||||||
|
|
||||||
*pattern-multi-byte*
|
*pattern-multi-byte* *pattern-multibyte*
|
||||||
Patterns will also work with multi-byte characters, mostly as you would
|
Patterns will also work with multibyte characters, mostly as you would
|
||||||
expect. But invalid bytes may cause trouble, a pattern with an invalid byte
|
expect. But invalid bytes may cause trouble, a pattern with an invalid byte
|
||||||
will probably never match.
|
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
|
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
|
*g:netrw_silent* =0 : transfers done normally
|
||||||
=1 : transfers done silently
|
=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
|
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 ;
|
=0 : messages from netrw will use echoerr ;
|
||||||
messages don't always seem to show up this
|
messages don't always seem to show up this
|
||||||
way, but one doesn't have to quit the window.
|
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
|
See |netrw-activate| for more on how to encourage your vim to use plugins
|
||||||
such as netrw.
|
such as netrw.
|
||||||
|
|
||||||
|
For password-free use of scp:, see |netrw-ssh-hack|.
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
7. Ex Commands *netrw-ex* {{{1
|
7. Ex Commands *netrw-ex* {{{1
|
||||||
@@ -1063,7 +1069,7 @@ QUICK HELP *netrw-quickhelp* {{{2
|
|||||||
Reverse sorting order.........................|netrw-r|
|
Reverse sorting order.........................|netrw-r|
|
||||||
|
|
||||||
|
|
||||||
*netrw-quickmap* *netrw-quickmaps*
|
*netrw-quickmap* *netrw-quickmaps*
|
||||||
QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
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|
|
a Cycles between normal display, |netrw-a|
|
||||||
hiding (suppress display of files matching g:netrw_list_hide)
|
hiding (suppress display of files matching g:netrw_list_hide)
|
||||||
and showing (display only files which match 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|
|
C Setting the editing window |netrw-C|
|
||||||
d Make a directory |netrw-d|
|
d Make a directory |netrw-d|
|
||||||
D Attempt to remove the file(s)/directory(ies) |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
|
set Vim's notion of the current directory to netrw's current browsing
|
||||||
directory.
|
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.
|
This change was done to allow for |netrw-cb| and |netrw-cB| maps.
|
||||||
|
|
||||||
Associated setting variable: |g:netrw_keepdir|
|
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
|
=0 keep the current directory the same as the
|
||||||
browsing directory.
|
browsing directory.
|
||||||
The current browsing directory is contained in
|
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
|
*g:netrw_keepj* ="keepj" (default) netrw attempts to keep the
|
||||||
|:jumps| table unaffected.
|
|:jumps| table unaffected.
|
||||||
@@ -3124,7 +3130,8 @@ a file using the local browser (by putting the cursor on it) and pressing
|
|||||||
|
|
||||||
Related topics:
|
Related topics:
|
||||||
* To see what the current directory is, use |:pwd|
|
* 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
|
* To automatically make the currently browsed directory the current
|
||||||
directory, see |g:netrw_keepdir|.
|
directory, see |g:netrw_keepdir|.
|
||||||
|
|
||||||
@@ -3799,9 +3806,15 @@ netrw:
|
|||||||
or
|
or
|
||||||
http://vim.sourceforge.net/scripts/script.php?script_id=120
|
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
|
vim netrw.vim
|
||||||
:DechoOn
|
:DechoOn
|
||||||
@@ -3823,14 +3836,34 @@ netrw:
|
|||||||
read/write your file over the network in a separate tab or
|
read/write your file over the network in a separate tab or
|
||||||
server vim window.
|
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
|
:tabnext
|
||||||
:set bt=
|
:set bt=
|
||||||
:w! DBG
|
:w! DBG
|
||||||
|
<
|
||||||
|
Furthermore, it'd be helpful if you would type >
|
||||||
|
|
||||||
< Furthermore, it'd be helpful if you would type >
|
|
||||||
:Dsep <command>
|
:Dsep <command>
|
||||||
|
|
||||||
< where <command> is the command you're about to type next,
|
< where <command> is the command you're about to type next,
|
||||||
thereby making it easier to associate which part of the
|
thereby making it easier to associate which part of the
|
||||||
debugging trace is due to which command.
|
debugging trace is due to which command.
|
||||||
@@ -3838,17 +3871,34 @@ netrw:
|
|||||||
Please send that information to <netrw.vim>'s maintainer along
|
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
|
with the o/s you're using and the vim version that you're using
|
||||||
(see |:version|) (remove the embedded NOSPAM first) >
|
(see |:version|) (remove the embedded NOSPAM first) >
|
||||||
|
|
||||||
NcampObell@SdrPchip.AorgM-NOSPAM
|
NcampObell@SdrPchip.AorgM-NOSPAM
|
||||||
<
|
<
|
||||||
==============================================================================
|
==============================================================================
|
||||||
12. History *netrw-history* {{{1
|
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
|
v169: Dec 20, 2019 * (reported by amkarthik) that netrw's x
|
||||||
(|netrw-x|) would throw an error when
|
(|netrw-x|) would throw an error when
|
||||||
attempting to open a local directory.
|
attempting to open a local directory.
|
||||||
v168: Dec 12, 2019 * scp timeout error message not reported,
|
v168: Dec 12, 2019 * scp timeout error message not reported,
|
||||||
hopefully now fixed (Shane Xb Qian)
|
hopefully now fixed (Shane Xb Qian)
|
||||||
|
|
||||||
v167: Nov 29, 2019 * netrw does a save&restore on @* and @+.
|
v167: Nov 29, 2019 * netrw does a save&restore on @* and @+.
|
||||||
That causes problems with the clipboard.
|
That causes problems with the clipboard.
|
||||||
Now restores occurs only if @* or @+ have
|
Now restores occurs only if @* or @+ have
|
||||||
@@ -4306,4 +4356,4 @@ netrw:
|
|||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
Modelines: {{{1
|
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
|
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 May 18
|
*popup.txt* For Vim version 8.2. Last change: 2020 Nov 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -74,9 +74,9 @@ wrapping, lines in the buffer. It can be limited with the "maxheight"
|
|||||||
property. You can use empty lines to increase the height or the "minheight"
|
property. You can use empty lines to increase the height or the "minheight"
|
||||||
property.
|
property.
|
||||||
|
|
||||||
The width of the window is normally equal to the longest line in the buffer.
|
The width of the window is normally equal to the longest visible line in the
|
||||||
It can be limited with the "maxwidth" property. You can use spaces to
|
buffer. It can be limited with the "maxwidth" property. You can use spaces
|
||||||
increase the width or use the "minwidth" property.
|
to increase the width or use the "minwidth" property.
|
||||||
|
|
||||||
By default the 'wrap' option is set, so that no text disappears. Otherwise,
|
By default the 'wrap' option is set, so that no text disappears. Otherwise,
|
||||||
if there is not enough space then the window is shifted left in order to
|
if there is not enough space then the window is shifted left in order to
|
||||||
@@ -101,7 +101,7 @@ CLOSING THE POPUP WINDOW *popup-close*
|
|||||||
|
|
||||||
Normally the plugin that created the popup window is also in charge of closing
|
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: >
|
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
|
Some popups, such as notifications, close after a specified time. This can be
|
||||||
set with the "time" property on `popup_create()`.
|
set with the "time" property on `popup_create()`.
|
||||||
Otherwise, a popup can be closed by clicking on the X in the top-right corner
|
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
|
<Space> <Enter> accept current selection
|
||||||
x Esc CTRL-C cancel the menu
|
x Esc CTRL-C cancel the menu
|
||||||
Other keys are ignored.
|
Other keys are ignored.
|
||||||
|
Always returns |v:true|.
|
||||||
|
|
||||||
A match is set on that line to highlight it, see
|
A match is set on that line to highlight it, see
|
||||||
|popup_menu()|.
|
|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
|
By default a double line is used all around when
|
||||||
'encoding' is "utf-8" and 'ambiwidth' is "single",
|
'encoding' is "utf-8" and 'ambiwidth' is "single",
|
||||||
otherwise ASCII characters are used.
|
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.
|
zero: do not show a scrollbar. Default is non-zero.
|
||||||
Also see |popup-scrollbar|.
|
Also see |popup-scrollbar|.
|
||||||
scrollbarhighlight Highlight group name for the scrollbar. The
|
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
|
Vim provides standard filters |popup_filter_menu()| and
|
||||||
|popup_filter_yesno()|.
|
|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,
|
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
|
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
|
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'.
|
'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*
|
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
|
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
|
encoding file. If Vim is unable to find a character encoding file then it
|
||||||
will use the "latin1" print character encoding file.
|
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
|
characters to the printing encoding for printing (if 'printencoding' is empty
|
||||||
then the conversion will be to latin1). Conversion to a printing encoding
|
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.
|
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
|
:set printmbcharset=JIS_X_1983
|
||||||
|
|
||||||
If 'printmbcharset' is not one of the above values then it is assumed to
|
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
|
compatible with the value for 'printencoding'. Vim will look for a file
|
||||||
defining the character set in the "print" directory in 'runtimepath'.
|
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:yes Use ASCII character set for codes in the ASCII
|
||||||
a:no (default) code range.
|
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
|
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
|
Courier to print codes in the ASCII code range but using the national
|
||||||
character set: >
|
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
|
possible to get all the characters in an encoding to print by installing a
|
||||||
new version of the Courier font family.
|
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
|
to the 8-bit encoding specified by 'printencoding' (or latin1 if it is
|
||||||
empty). Any characters that are not successfully converted are shown as
|
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.
|
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
|
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'.
|
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
|
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
|
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',
|
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.
|
directory and that it doesn't print the absolute path.
|
||||||
|
|
||||||
To solve the problem with relative paths and missing "leave directory"
|
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.
|
1) Check if the given directory is a subdirectory of the current directory.
|
||||||
If this is true, store it as 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
|
The values displayed in each line correspond to the "bufnr", "lnum", "col" and
|
||||||
"text" fields returned by the |getqflist()| function.
|
"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
|
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
|
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
|
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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -696,7 +696,7 @@ Short explanation of each option: *option-list*
|
|||||||
'eventignore' 'ei' autocommand events that are ignored
|
'eventignore' 'ei' autocommand events that are ignored
|
||||||
'expandtab' 'et' use spaces when <Tab> is inserted
|
'expandtab' 'et' use spaces when <Tab> is inserted
|
||||||
'exrc' 'ex' read .vimrc and .exrc in the current directory
|
'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
|
'fileencodings' 'fencs' automatically detected character encodings
|
||||||
'fileformat' 'ff' file format used for file I/O
|
'fileformat' 'ff' file format used for file I/O
|
||||||
'fileformats' 'ffs' automatically detected values for 'fileformat'
|
'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"
|
'grepprg' 'gp' program to use for ":grep"
|
||||||
'guicursor' 'gcr' GUI: settings for cursor shape and blinking
|
'guicursor' 'gcr' GUI: settings for cursor shape and blinking
|
||||||
'guifont' 'gfn' GUI: Name(s) of font(s) to be used
|
'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
|
'guifontwide' 'gfw' list of font names for double-wide characters
|
||||||
'guiheadroom' 'ghr' GUI: pixels room for window decorations
|
'guiheadroom' 'ghr' GUI: pixels room for window decorations
|
||||||
'guioptions' 'go' GUI: Which components and options are used
|
'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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -64,8 +64,8 @@ Disadvantages:
|
|||||||
directories (although Vim tries to avoid that by comparing the path name).
|
directories (although Vim tries to avoid that by comparing the path name).
|
||||||
This will result in bogus ATTENTION warning messages.
|
This will result in bogus ATTENTION warning messages.
|
||||||
- When you use your home directory, and somebody else tries to edit the same
|
- 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
|
file, that user will not see your swap file and will not get the ATTENTION
|
||||||
message.
|
warning message.
|
||||||
On the Amiga you can also use a recoverable ram disk, but there is no 100%
|
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:
|
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)
|
on the Amiga) or in a place that is cleared when rebooting (like /tmp on Unix)
|
||||||
|
|||||||
@@ -179,7 +179,7 @@ name on the 'VimRegistry' property on the root window.
|
|||||||
|
|
||||||
A non GUI Vim with access to the X11 display (|xterm-clipboard| enabled), can
|
A non GUI Vim with access to the X11 display (|xterm-clipboard| enabled), can
|
||||||
also act as a command server if a server name is explicitly given with the
|
also act as a command server if a server name is explicitly given with the
|
||||||
--servername argument, or when Vim was build with the |+autoservername|
|
--servername argument, or when Vim was built with the |+autoservername|
|
||||||
feature.
|
feature.
|
||||||
|
|
||||||
An empty --servername argument will cause the command server to be disabled.
|
An empty --servername argument will cause the command server to be disabled.
|
||||||
|
|||||||
@@ -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
|
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
|
directories are added to 'runtimepath'. This is
|
||||||
useful in your .vimrc. The plugins will then be
|
useful in your .vimrc. The plugins will then be
|
||||||
loaded during initialization, see |load-plugins|.
|
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|.
|
Also see |pack-add|.
|
||||||
{only available when compiled with |+eval|}
|
{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
|
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
|
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`.
|
`:packadd`.
|
||||||
|
|
||||||
Decide how you want to distribute the package. You can create an archive or
|
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.
|
the optional plugin is needed.
|
||||||
|
|
||||||
Run the `:helptags` command to generate the doc/tags file. Including this
|
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
|
pack directory and the help command works right away. Don't forget to re-run
|
||||||
the command after changing the plugin help: >
|
the command after changing the plugin help: >
|
||||||
:helptags path/start/foobar/doc
|
: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
|
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
|
independently of the sign group. The default priority for a sign is 10. The
|
||||||
priority is assigned at the time of placing a sign.
|
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
|
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
|
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.
|
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*
|
2. Commands *sign-commands* *:sig* *:sign*
|
||||||
|
|
||||||
@@ -454,11 +462,11 @@ sign_getplaced([{expr} [, {dict}]]) *sign_getplaced()*
|
|||||||
entries
|
entries
|
||||||
|
|
||||||
The dictionary for each sign contains the following entries:
|
The dictionary for each sign contains the following entries:
|
||||||
group sign group. Set to '' for the global group.
|
group sign group. Set to '' for the global group.
|
||||||
id identifier of the sign
|
id identifier of the sign
|
||||||
lnum line number where the sign is placed
|
lnum line number where the sign is placed
|
||||||
name name of the defined sign
|
name name of the defined sign
|
||||||
priority sign priority
|
priority sign priority
|
||||||
|
|
||||||
The returned signs in a buffer are ordered by their line
|
The returned signs in a buffer are ordered by their line
|
||||||
number and priority.
|
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
|
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
|
generate a spell file for 'encoding'. If some of the used characters to not
|
||||||
fit in 'encoding' you will get an error message.
|
fit in 'encoding' you will get an error message.
|
||||||
*spell-affix-mbyte*
|
*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
|
flags. But Myspell doesn't support that, thus you may not want to use it
|
||||||
anyway. For compatibility use an 8-bit encoding.
|
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
|
Common words can be specified with the COMMON item. This will give better
|
||||||
suggestions when editing a short file. Example:
|
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.
|
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
|
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 Dec 19
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -513,6 +513,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
'nocompatible': use Vim defaults
|
'nocompatible': use Vim defaults
|
||||||
- no |gvimrc| script is loaded
|
- no |gvimrc| script is loaded
|
||||||
- no viminfo file is read or written
|
- no viminfo file is read or written
|
||||||
|
Note that a following "-u" argument overrules the effect of
|
||||||
|
"-u DEFAULTS".
|
||||||
|
|
||||||
*-x*
|
*-x*
|
||||||
-x Use encryption to read/write files. Will prompt for a key,
|
-x Use encryption to read/write files. Will prompt for a key,
|
||||||
@@ -994,7 +996,7 @@ version 5.0) are not recognized.
|
|||||||
|
|
||||||
MS-Windows line separators ~
|
MS-Windows line separators ~
|
||||||
|
|
||||||
On MS-Windows, Vim assumes that all the vimrc files have <CR> <NL> pairs as
|
On MS-Windows, Vim assumes that all the vimrc files have <CR><NL> pairs as
|
||||||
line separators. This will give problems if you have a file with only <NL>s
|
line separators. This will give problems if you have a file with only <NL>s
|
||||||
and have a line like ":map xx yy^M". The trailing ^M will be ignored.
|
and have a line like ":map xx yy^M". The trailing ^M will be ignored.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*syntax.txt* For Vim version 8.2. Last change: 2020 Jul 08
|
*syntax.txt* For Vim version 8.2. Last change: 2020 Dec 17
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -66,8 +66,8 @@ This command also sources the |menu.vim| script when the GUI is running or
|
|||||||
will start soon. See |'go-M'| about avoiding that.
|
will start soon. See |'go-M'| about avoiding that.
|
||||||
|
|
||||||
*:syn-on* *:syntax-on*
|
*:syn-on* *:syntax-on*
|
||||||
The `:syntax enable` command will keep your current color settings. This
|
The `:syntax enable` command will keep most of your current color settings.
|
||||||
allows using `:highlight` commands to set your preferred colors before or
|
This allows using `:highlight` commands to set your preferred colors before or
|
||||||
after using this command. If you want Vim to overrule your settings with the
|
after using this command. If you want Vim to overrule your settings with the
|
||||||
defaults, use: >
|
defaults, use: >
|
||||||
:syntax on
|
:syntax on
|
||||||
@@ -3006,7 +3006,7 @@ vimrc file: >
|
|||||||
(Adapted from the html.vim help text by Claudio Fleiner <claudio@fleiner.com>)
|
(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*
|
SH *sh.vim* *ft-sh-syntax* *ft-bash-syntax* *ft-ksh-syntax*
|
||||||
|
|
||||||
This covers syntax highlighting for the older Unix (Bourne) sh, and newer
|
This covers syntax highlighting for the older Unix (Bourne) sh, and newer
|
||||||
@@ -3183,6 +3183,7 @@ redrawing can become slow.
|
|||||||
|
|
||||||
|
|
||||||
TEX *tex.vim* *ft-tex-syntax* *latex-syntax*
|
TEX *tex.vim* *ft-tex-syntax* *latex-syntax*
|
||||||
|
*syntax-tex* *syntax-latex*
|
||||||
|
|
||||||
Tex Contents~
|
Tex Contents~
|
||||||
Tex: Want Syntax Folding? |tex-folding|
|
Tex: Want Syntax Folding? |tex-folding|
|
||||||
@@ -3199,6 +3200,7 @@ TEX *tex.vim* *ft-tex-syntax* *latex-syntax*
|
|||||||
Tex: Selective Conceal Mode |g:tex_conceal|
|
Tex: Selective Conceal Mode |g:tex_conceal|
|
||||||
Tex: Controlling iskeyword |g:tex_isk|
|
Tex: Controlling iskeyword |g:tex_isk|
|
||||||
Tex: Fine Subscript and Superscript Control |tex-supersub|
|
Tex: Fine Subscript and Superscript Control |tex-supersub|
|
||||||
|
Tex: Match Check Control |tex-matchcheck|
|
||||||
|
|
||||||
*tex-folding* *g:tex_fold_enabled*
|
*tex-folding* *g:tex_fold_enabled*
|
||||||
Tex: Want Syntax Folding? ~
|
Tex: Want Syntax Folding? ~
|
||||||
@@ -3422,6 +3424,22 @@ syntax highlighting script handles this with the following logic:
|
|||||||
< in ~/.vim/ftplugin/tex/tex.vim in order to avoid having inscrutable
|
< in ~/.vim/ftplugin/tex/tex.vim in order to avoid having inscrutable
|
||||||
utf-8 glyphs appear.
|
utf-8 glyphs appear.
|
||||||
|
|
||||||
|
*tex-matchcheck* *g:tex_matchcheck*
|
||||||
|
Tex: Match Check Control~
|
||||||
|
|
||||||
|
Sometimes one actually wants mismatched parentheses, square braces,
|
||||||
|
and or curly braces; for example, \text{(1,10] is a range from but
|
||||||
|
not including 1 to and including 10}. This wish, of course, conflicts
|
||||||
|
with the desire to provide delimiter mismatch detection. To
|
||||||
|
accommodate these conflicting goals, syntax/tex.vim provides >
|
||||||
|
g:tex_matchcheck = '[({[]'
|
||||||
|
< which is shown along with its default setting. So, if one doesn't
|
||||||
|
want [] and () to be checked for mismatches, try using >
|
||||||
|
let g:tex_matchcheck= '[{}]'
|
||||||
|
< If you don't want matching to occur inside bold and italicized
|
||||||
|
regions, >
|
||||||
|
let g:tex_excludematcher= 1
|
||||||
|
< will prevent the texMatcher group from being included in those regions.
|
||||||
|
|
||||||
TF *tf.vim* *ft-tf-syntax*
|
TF *tf.vim* *ft-tf-syntax*
|
||||||
|
|
||||||
@@ -3648,7 +3666,7 @@ DEFINING FOLDLEVEL *:syn-foldlevel*
|
|||||||
start: Use level of item containing start of line.
|
start: Use level of item containing start of line.
|
||||||
minimum: Use lowest local-minimum level of items on line.
|
minimum: Use lowest local-minimum level of items on line.
|
||||||
|
|
||||||
The default is 'start'. Use 'minimum' to search a line horizontally
|
The default is "start". Use "minimum" to search a line horizontally
|
||||||
for the lowest level contained on the line that is followed by a
|
for the lowest level contained on the line that is followed by a
|
||||||
higher level. This produces more natural folds when syntax items
|
higher level. This produces more natural folds when syntax items
|
||||||
may close and open horizontally within a line.
|
may close and open horizontally within a line.
|
||||||
@@ -3795,9 +3813,9 @@ DEFINING REGIONS *:syn-region* *:syn-start* *:syn-skip* *:syn-end*
|
|||||||
[keepend]
|
[keepend]
|
||||||
[extend]
|
[extend]
|
||||||
[excludenl]
|
[excludenl]
|
||||||
start={start_pattern} ..
|
start={start-pattern} ..
|
||||||
[skip={skip_pattern}]
|
[skip={skip-pattern}]
|
||||||
end={end_pattern} ..
|
end={end-pattern} ..
|
||||||
[{options}]
|
[{options}]
|
||||||
|
|
||||||
This defines one region. It may span several lines.
|
This defines one region. It may span several lines.
|
||||||
@@ -3819,12 +3837,12 @@ DEFINING REGIONS *:syn-region* *:syn-start* *:syn-skip* *:syn-end*
|
|||||||
extend a containing match or item. Only
|
extend a containing match or item. Only
|
||||||
useful for end patterns. Must be given before
|
useful for end patterns. Must be given before
|
||||||
the patterns it applies to. |:syn-excludenl|
|
the patterns it applies to. |:syn-excludenl|
|
||||||
start={start_pattern} The search pattern that defines the start of
|
start={start-pattern} The search pattern that defines the start of
|
||||||
the region. See |:syn-pattern| below.
|
the region. See |:syn-pattern| below.
|
||||||
skip={skip_pattern} The search pattern that defines text inside
|
skip={skip-pattern} The search pattern that defines text inside
|
||||||
the region where not to look for the end
|
the region where not to look for the end
|
||||||
pattern. See |:syn-pattern| below.
|
pattern. See |:syn-pattern| below.
|
||||||
end={end_pattern} The search pattern that defines the end of
|
end={end-pattern} The search pattern that defines the end of
|
||||||
the region. See |:syn-pattern| below.
|
the region. See |:syn-pattern| below.
|
||||||
|
|
||||||
Example: >
|
Example: >
|
||||||
@@ -4348,7 +4366,7 @@ Notes:
|
|||||||
- A negative offset for an end pattern may not always work, because the end
|
- 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.
|
pattern may be detected when the highlighting should already have stopped.
|
||||||
- Before Vim 7.2 the offsets were counted in bytes instead of characters.
|
- 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.
|
Vim 7.2 release.
|
||||||
- The start of a match cannot be in a line other than where the pattern
|
- 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
|
matched. This doesn't work: "a\nb"ms=e. You can make the highlighting
|
||||||
@@ -4809,6 +4827,7 @@ in their own color.
|
|||||||
highlighting for groups added by the user!
|
highlighting for groups added by the user!
|
||||||
Uses the current value of 'background' to decide which
|
Uses the current value of 'background' to decide which
|
||||||
default colors to use.
|
default colors to use.
|
||||||
|
If there was a default link, restore it. |:hi-link|
|
||||||
|
|
||||||
:hi[ghlight] clear {group-name}
|
:hi[ghlight] clear {group-name}
|
||||||
:hi[ghlight] {group-name} NONE
|
:hi[ghlight] {group-name} NONE
|
||||||
@@ -5304,6 +5323,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
|
Without the "default" in the C syntax file, the highlighting would be
|
||||||
overruled when the syntax file is loaded.
|
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*
|
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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -142,6 +142,7 @@ something else.
|
|||||||
:tabclose + " close the next tab page
|
:tabclose + " close the next tab page
|
||||||
:tabclose 3 " close the third tab page
|
:tabclose 3 " close the third tab page
|
||||||
:tabclose $ " close the last tab page
|
:tabclose $ " close the last tab page
|
||||||
|
:tabclose # " close the last accessed tab page
|
||||||
<
|
<
|
||||||
*:tabo* *:tabonly*
|
*:tabo* *:tabonly*
|
||||||
:tabo[nly][!] Close all other tab pages.
|
:tabo[nly][!] Close all other tab pages.
|
||||||
@@ -170,6 +171,8 @@ something else.
|
|||||||
" one
|
" one
|
||||||
:tabonly 1 " close all tab pages except the first one
|
:tabonly 1 " close all tab pages except the first one
|
||||||
:tabonly $ " close all tab pages except the last one
|
:tabonly $ " close all tab pages except the last one
|
||||||
|
:tabonly # " close all tab pages except the last
|
||||||
|
" accessed one
|
||||||
|
|
||||||
|
|
||||||
SWITCHING TO ANOTHER TAB PAGE:
|
SWITCHING TO ANOTHER TAB PAGE:
|
||||||
@@ -193,6 +196,7 @@ gt *i_CTRL-<PageDown>* *i_<C-PageDown>*
|
|||||||
:1tabnext " go to the first tab page
|
:1tabnext " go to the first tab page
|
||||||
:$tabnext " go to the last tab page
|
:$tabnext " go to the last tab page
|
||||||
:tabnext $ " as above
|
:tabnext $ " as above
|
||||||
|
:tabnext # " go to the last accessed tab page
|
||||||
:tabnext - " go to the previous tab page
|
:tabnext - " go to the previous tab page
|
||||||
:tabnext -1 " as above
|
:tabnext -1 " as above
|
||||||
:tabnext + " go to the next tab page
|
:tabnext + " go to the next tab page
|
||||||
@@ -221,6 +225,8 @@ gT Go to the previous tab page. Wraps around from the first one
|
|||||||
*:tabl* *:tablast*
|
*:tabl* *:tablast*
|
||||||
:tabl[ast] Go to the last tab page.
|
:tabl[ast] Go to the last tab page.
|
||||||
|
|
||||||
|
*g<Tab>* *CTRL-W_g<Tab>* *<C-Tab>*
|
||||||
|
g<Tab> Go to the last accessed tab page.
|
||||||
|
|
||||||
Other commands:
|
Other commands:
|
||||||
*:tabs*
|
*:tabs*
|
||||||
@@ -253,6 +259,8 @@ REORDERING TAB PAGES:
|
|||||||
:tabmove " move the tab page to the last
|
:tabmove " move the tab page to the last
|
||||||
:$tabmove " as above
|
:$tabmove " as above
|
||||||
:tabmove $ " as above
|
:tabmove $ " as above
|
||||||
|
:tabmove # " move the tab page after the last accessed
|
||||||
|
" tab page
|
||||||
|
|
||||||
:tabm[ove] +[N]
|
:tabm[ove] +[N]
|
||||||
:tabm[ove] -[N]
|
:tabm[ove] -[N]
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user