mirror of
https://github.com/zoriya/vim.git
synced 2026-01-06 06:18:14 +00:00
Compare commits
983 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
df2c2988bb | ||
|
|
97202d9516 | ||
|
|
61015162ba | ||
|
|
1d859e2421 | ||
|
|
5ed58c7b70 | ||
|
|
9a046fd08b | ||
|
|
d697ddea14 | ||
|
|
2e6cdb91e8 | ||
|
|
3e492c2d5f | ||
|
|
bed72df3e6 | ||
|
|
21829c5f2c | ||
|
|
b7e2670b6a | ||
|
|
bb4b93ed85 | ||
|
|
ce0370d9e6 | ||
|
|
98989a0014 | ||
|
|
ff0e57fe77 | ||
|
|
e0e3917554 | ||
|
|
e5ea346a07 | ||
|
|
5c829bf229 | ||
|
|
ab55f11d9b | ||
|
|
c05fe07529 | ||
|
|
4efd994829 | ||
|
|
107e9cecf7 | ||
|
|
ced68a0070 | ||
|
|
8323cab31c | ||
|
|
f002a41d12 | ||
|
|
b204990346 | ||
|
|
7cf0c114d6 | ||
|
|
40be52ba71 | ||
|
|
dfbc5fd879 | ||
|
|
7cebe8ba7d | ||
|
|
9a562c184d | ||
|
|
9ae3705b6e | ||
|
|
4bce26bb70 | ||
|
|
402115f1c2 | ||
|
|
0d3de8cb59 | ||
|
|
b3005ce191 | ||
|
|
9b6344613e | ||
|
|
57d5a01cb4 | ||
|
|
e32e516dfa | ||
|
|
f904133e1a | ||
|
|
e71996bd08 | ||
|
|
5e6a7aa2b2 | ||
|
|
ccb47a2899 | ||
|
|
b1f2857096 | ||
|
|
c5f59fab23 | ||
|
|
a0f7f73ebb | ||
|
|
77a849c4b3 | ||
|
|
99880f96cf | ||
|
|
a28639e711 | ||
|
|
e64f83cc6a | ||
|
|
09fbedc8dc | ||
|
|
98a29d00a4 | ||
|
|
82aa6e09e0 | ||
|
|
f30a14db3b | ||
|
|
585587dadb | ||
|
|
036d07144e | ||
|
|
1430ceeb2d | ||
|
|
3af15ab788 | ||
|
|
85773bf32b | ||
|
|
239f8d9326 | ||
|
|
e2edc2ed4a | ||
|
|
70250fb4d2 | ||
|
|
f898f7c68d | ||
|
|
9ebcf231bd | ||
|
|
351ead09dd | ||
|
|
7c886db915 | ||
|
|
a3b494d6af | ||
|
|
e2924328c1 | ||
|
|
bf78974ca4 | ||
|
|
648ea76e1d | ||
|
|
883cf97f10 | ||
|
|
97c6943e11 | ||
|
|
797e63b9f2 | ||
|
|
17d015b243 | ||
|
|
d44cc593ce | ||
|
|
8f81b22e86 | ||
|
|
033135eb8e | ||
|
|
2415669348 | ||
|
|
fadd55bd63 | ||
|
|
e1ee58ac78 | ||
|
|
845b72854d | ||
|
|
681fc3fa78 | ||
|
|
6601b62943 | ||
|
|
c423ad77ed | ||
|
|
9145846b6a | ||
|
|
1bb4de5302 | ||
|
|
37487e16da | ||
|
|
a47e05f04a | ||
|
|
64ed4d4398 | ||
|
|
67876de7bb | ||
|
|
b0e6b51364 | ||
|
|
7cd24227c0 | ||
|
|
a0122dcd1c | ||
|
|
cb6cbf29e9 | ||
|
|
9567efa1b4 | ||
|
|
082517570d | ||
|
|
9e1d9e3473 | ||
|
|
df4c9af7e7 | ||
|
|
82be4849ee | ||
|
|
48e11c1054 | ||
|
|
16a6f91ccb | ||
|
|
086ae06862 | ||
|
|
75ab91ff34 | ||
|
|
6f02b00bb0 | ||
|
|
31a11b942a | ||
|
|
0186e58639 | ||
|
|
ab360526ef | ||
|
|
cff40ff986 | ||
|
|
657137ca48 | ||
|
|
e7525c5520 | ||
|
|
9e0f883f89 | ||
|
|
b657198cb3 | ||
|
|
832ea89ca9 | ||
|
|
299f3036ec | ||
|
|
ece0b87c0f | ||
|
|
467b59c2eb | ||
|
|
17126b1396 | ||
|
|
43b69b39ac | ||
|
|
c37b655443 | ||
|
|
328eac2b5d | ||
|
|
ebbf11c119 | ||
|
|
32b3f82010 | ||
|
|
b23279d7a2 | ||
|
|
0acbf5ae66 | ||
|
|
ecac591cce | ||
|
|
a79925a0a8 | ||
|
|
752fc692ac | ||
|
|
d62d87d8f3 | ||
|
|
d1510ee946 | ||
|
|
cef1270dec | ||
|
|
0ea0440865 | ||
|
|
014f698cb6 | ||
|
|
d93a7fc1a9 | ||
|
|
82c38fe508 | ||
|
|
bb0956fc65 | ||
|
|
5f63938447 | ||
|
|
6797782127 | ||
|
|
2ef951dd31 | ||
|
|
e5a2dc87fd | ||
|
|
5afd081cd3 | ||
|
|
cec77d4530 | ||
|
|
fefa6c347e | ||
|
|
b0d8182fa3 | ||
|
|
31a201a04a | ||
|
|
e68b02a1c4 | ||
|
|
339c1bdbdf | ||
|
|
a11919fa44 | ||
|
|
9d19e4f4ba | ||
|
|
508b5618ec | ||
|
|
66c50c5653 | ||
|
|
9281c6cae4 | ||
|
|
a72514945b | ||
|
|
7e6a515ed1 | ||
|
|
02faa944c6 | ||
|
|
2f91e2f8da | ||
|
|
628c102d12 | ||
|
|
aa210a3aec | ||
|
|
3e0107ea16 | ||
|
|
38a434f7ba | ||
|
|
edc10b541b | ||
|
|
3862ea3f62 | ||
|
|
c368957b19 | ||
|
|
e7a73e0762 | ||
|
|
b8ba9b9197 | ||
|
|
5178b1b02f | ||
|
|
69f7050ceb | ||
|
|
a8b8af19e4 | ||
|
|
d5ea8f08f7 | ||
|
|
5efe0e5d16 | ||
|
|
a387083b2f | ||
|
|
beef4eeda5 | ||
|
|
2949cfdbe4 | ||
|
|
adc8e44645 | ||
|
|
1779ff4842 | ||
|
|
dd1f426bd6 | ||
|
|
ca2f7e7af3 | ||
|
|
6b55377303 | ||
|
|
a04d447d3a | ||
|
|
de4f95b041 | ||
|
|
2a5c61a019 | ||
|
|
2808da39f9 | ||
|
|
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 |
@@ -3,6 +3,8 @@ env:
|
||||
FEATURES: huge
|
||||
|
||||
freebsd_12_task:
|
||||
only_if: $CIRRUS_TAG == ''
|
||||
timeout_in: 20m
|
||||
freebsd_instance:
|
||||
image: freebsd-12-1-release-amd64
|
||||
install_script:
|
||||
|
||||
6
.codecov.yml
Normal file
6
.codecov.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
coverage:
|
||||
range: "80...100"
|
||||
status:
|
||||
project:
|
||||
default:
|
||||
threshold: 0.05%
|
||||
1
.coveralls.yml
Normal file
1
.coveralls.yml
Normal file
@@ -0,0 +1 @@
|
||||
service_name: github-actions
|
||||
203
.github/CODEOWNERS
vendored
Normal file
203
.github/CODEOWNERS
vendored
Normal file
@@ -0,0 +1,203 @@
|
||||
# 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/fbc.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/basic.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/freebasic.vim @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/tidy.vim @dkearns
|
||||
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/basic.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/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/prolog.vim @XVilka
|
||||
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
|
||||
233
.travis.yml
233
.travis.yml
@@ -2,7 +2,7 @@ language: c
|
||||
|
||||
env:
|
||||
global:
|
||||
- BUILD=yes TEST=test CONFOPT= LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
- BUILD=yes TEST=test CONFOPT= LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no LOG_DIR="$TRAVIS_BUILD_DIR/logs"
|
||||
|
||||
_anchors:
|
||||
envs:
|
||||
@@ -25,8 +25,8 @@ _anchors:
|
||||
- &coverage
|
||||
CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage
|
||||
- &asan # ASAN build
|
||||
SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
||||
ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
|
||||
SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize-recover=all -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer"
|
||||
ASAN_OPTIONS="print_stacktrace=1 log_path=$LOG_DIR/asan" UBSAN_OPTIONS="print_stacktrace=1 log_path=$LOG_DIR/ubsan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
|
||||
- &shadowopt
|
||||
SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow
|
||||
|
||||
@@ -35,7 +35,7 @@ _anchors:
|
||||
dist: bionic
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
packages: &apt-packages
|
||||
- autoconf
|
||||
- clang
|
||||
- lcov
|
||||
@@ -69,7 +69,11 @@ _anchors:
|
||||
fi
|
||||
before_script:
|
||||
- sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
|
||||
- sudo bash ci/load-snd-dummy.sh || true
|
||||
# It appears we can load "snd-dummy" on only amd64.
|
||||
- |
|
||||
if [[ "${TRAVIS_CPU_ARCH}" = amd64 ]]; then
|
||||
sudo bash ci/load-snd-dummy.sh || true
|
||||
fi
|
||||
- sudo usermod -a -G audio $USER
|
||||
- do_test() { sg audio "sg $(id -gn) '$*'"; }
|
||||
|
||||
@@ -104,13 +108,14 @@ _anchors:
|
||||
# Update pyenv to fix the error "/opt/pyenv/libexec/pyenv: line 43: cd: asan_symbolize-6.0: Not a directory".
|
||||
# https://github.com/pyenv/pyenv/issues/580
|
||||
- (cd "${PYENV_ROOT}" && git fetch -p origin && git checkout "$(git rev-list --tags -n1)") &>/dev/null || true
|
||||
- find . -type f -name 'asan.*' -size +0 2>/dev/null | xargs grep -l '^==[[:digit:]]*==ERROR:' | xargs -I{} -n1 -t asan_symbolize -l{}
|
||||
- for f in $(grep -l '#[[:digit:]]* *0x[[:digit:]a-fA-F]*' "$LOG_DIR"/*); do asan_symbolize-11 -l "$f"; done
|
||||
|
||||
branches:
|
||||
except:
|
||||
- /^v[0-9]/
|
||||
|
||||
script:
|
||||
- mkdir -p "$LOG_DIR"
|
||||
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||
- set -o errexit
|
||||
- echo -e "\\033[33;1mConfiguring Vim\\033[0m" && echo -en "travis_fold:start:configure\\r\\033[0K"
|
||||
@@ -131,7 +136,7 @@ script:
|
||||
# Append various warning flags to CFLAGS.
|
||||
# BSD sed needs backup extension specified.
|
||||
sed -i.bak -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
|
||||
if [[ "${TRAVIS_OS_NAME}" = "osx" ]]; then
|
||||
if [[ "${TRAVIS_OS_NAME}" = "osx" ]] || [[ "${CC}" = "clang-11" ]]; then
|
||||
# On macOS, the entity of gcc is clang.
|
||||
sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
|
||||
else
|
||||
@@ -151,6 +156,15 @@ script:
|
||||
- echo -e "\\033[33;1mTesting Vim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
|
||||
- do_test make ${SHADOWOPT} ${TEST} && FOLD_MARKER=travis_fold
|
||||
- echo -en "${FOLD_MARKER}:end:test\\r\\033[0K"
|
||||
- |
|
||||
# Not all sanitizers will cause the tests to fail. This helps since we can
|
||||
# see all the failures instead of just the first one, but we still want the
|
||||
# test phase to fail if any sanitizer issues are detected.
|
||||
if [[ -n "${ASAN_OPTIONS}" ]]; then
|
||||
if grep -q '#[[:digit:]]* *0x[[:digit:]a-fA-F]*' "$LOG_DIR"/*; then
|
||||
false
|
||||
fi
|
||||
fi
|
||||
|
||||
# Instead of using all environments with both compilers on both systems,
|
||||
# exclude some builds on mac os x and linux.
|
||||
@@ -158,112 +172,117 @@ script:
|
||||
# Linux: 2 compilers on some of the environments + gcc on os390
|
||||
jobs:
|
||||
include:
|
||||
- <<: *osx
|
||||
name: tiny-nogui/clang
|
||||
compiler: clang
|
||||
env: *tiny-nogui
|
||||
- <<: *osx
|
||||
name: tiny-nogui/gcc
|
||||
#- <<: *osx
|
||||
# name: tiny-nogui/clang
|
||||
# compiler: clang
|
||||
# env: *tiny-nogui
|
||||
#- <<: *osx
|
||||
# name: tiny-nogui/gcc
|
||||
# compiler: gcc
|
||||
# env: *tiny-nogui
|
||||
#- <<: *osx
|
||||
# <<: *osx-homebrew
|
||||
# name: huge/clang
|
||||
# compiler: clang
|
||||
# env: *osx-huge
|
||||
#- <<: *osx
|
||||
# <<: *osx-homebrew
|
||||
# name: huge/gcc
|
||||
# compiler: gcc
|
||||
# env: *osx-huge
|
||||
#- <<: *linux
|
||||
# name: tiny-nogui/clang
|
||||
# compiler: clang
|
||||
# env: *tiny-nogui
|
||||
#- <<: *linux
|
||||
# name: tiny-nogui/gcc
|
||||
# compiler: gcc
|
||||
# env: *tiny-nogui
|
||||
#- <<: *linux
|
||||
# name: tiny/clang
|
||||
# compiler: clang
|
||||
# env: *tiny
|
||||
#- <<: *linux
|
||||
# name: tiny/gcc
|
||||
# compiler: gcc
|
||||
# env: *tiny
|
||||
#- <<: *linux
|
||||
# name: small/gcc
|
||||
# compiler: gcc
|
||||
# env: *small
|
||||
#- <<: *linux
|
||||
# name: normal+shadow/clang
|
||||
# compiler: clang
|
||||
# env:
|
||||
# - *normal
|
||||
# - *shadowopt
|
||||
#- <<: *linux
|
||||
# name: normal+shadow/gcc
|
||||
# compiler: gcc
|
||||
# env:
|
||||
# - *normal
|
||||
# - *shadowopt
|
||||
- <<: *linux
|
||||
arch: s390x
|
||||
name: huge/gcc-s390x
|
||||
compiler: gcc
|
||||
env: *tiny-nogui
|
||||
- <<: *osx
|
||||
<<: *osx-homebrew
|
||||
name: huge/clang
|
||||
compiler: clang
|
||||
env: *osx-huge
|
||||
- <<: *osx
|
||||
<<: *osx-homebrew
|
||||
name: huge/gcc
|
||||
compiler: gcc
|
||||
env: *osx-huge
|
||||
- <<: *linux
|
||||
name: tiny-nogui/clang
|
||||
compiler: clang
|
||||
env: *tiny-nogui
|
||||
- <<: *linux
|
||||
name: tiny-nogui/gcc
|
||||
compiler: gcc
|
||||
env: *tiny-nogui
|
||||
- <<: *linux
|
||||
name: tiny/clang
|
||||
compiler: clang
|
||||
env: *tiny
|
||||
- <<: *linux
|
||||
name: tiny/gcc
|
||||
compiler: gcc
|
||||
env: *tiny
|
||||
- <<: *linux
|
||||
name: small/gcc
|
||||
compiler: gcc
|
||||
env: *small
|
||||
- <<: *linux
|
||||
name: normal+shadow/clang
|
||||
compiler: clang
|
||||
env:
|
||||
- *normal
|
||||
- *shadowopt
|
||||
- <<: *linux
|
||||
name: normal+shadow/gcc
|
||||
compiler: gcc
|
||||
env:
|
||||
- *normal
|
||||
- *shadowopt
|
||||
# Temporarily disabled, always fails
|
||||
#- <<: *linux
|
||||
# arch: s390x
|
||||
# name: huge/gcc-s390x
|
||||
# compiler: gcc
|
||||
# env: *linux-huge
|
||||
# services: []
|
||||
env: *linux-huge
|
||||
services: []
|
||||
- <<: *linux
|
||||
arch: arm64
|
||||
name: huge/gcc-arm64
|
||||
compiler: gcc
|
||||
env: *linux-huge
|
||||
services: []
|
||||
- <<: *linux
|
||||
name: huge+coverage/clang
|
||||
compiler: clang
|
||||
env:
|
||||
- *linux-huge
|
||||
- *coverage
|
||||
# Clang cannot compile test_libvterm with "--coverage" flag.
|
||||
- TEST=scripttests
|
||||
after_success: *eval-coverage
|
||||
- <<: *linux
|
||||
name: huge+coverage/gcc
|
||||
compiler: gcc
|
||||
env:
|
||||
- *linux-huge
|
||||
- *coverage
|
||||
after_success: *eval-coverage
|
||||
- <<: *linux # ASAN
|
||||
name: huge+asan/gcc
|
||||
compiler: gcc
|
||||
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"
|
||||
#- <<: *linux
|
||||
# name: huge+coverage/clang
|
||||
# compiler: clang
|
||||
# env:
|
||||
# - *linux-huge
|
||||
# - *coverage
|
||||
# after_success: *eval-coverage
|
||||
#- <<: *linux
|
||||
# name: huge+coverage/gcc
|
||||
# compiler: gcc
|
||||
# env:
|
||||
# - *linux-huge
|
||||
# - *coverage
|
||||
# after_success: *eval-coverage
|
||||
#- <<: *linux # ASAN
|
||||
# name: huge+asan/clang
|
||||
# compiler: clang-11
|
||||
# addons:
|
||||
# apt:
|
||||
# sources:
|
||||
# - sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main'
|
||||
# key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
|
||||
# packages:
|
||||
# - *apt-packages
|
||||
# - clang-11
|
||||
# env:
|
||||
# - *linux-huge
|
||||
# - *asan
|
||||
# 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:
|
||||
|
||||
19
Filelist
19
Filelist
@@ -3,18 +3,23 @@
|
||||
|
||||
# source files for all source archives
|
||||
SRC_ALL = \
|
||||
.gitignore \
|
||||
.cirrus.yml \
|
||||
.coveralls.yml \
|
||||
.gitattributes \
|
||||
.github/CODEOWNERS \
|
||||
.github/workflows/ci.yml \
|
||||
.github/workflows/codeql-analysis.yml \
|
||||
.gitignore \
|
||||
.hgignore \
|
||||
.lgtm.yml \
|
||||
.travis.yml \
|
||||
.cirrus.yml \
|
||||
.github/workflows/ci-windows.yaml \
|
||||
appveyor.yml \
|
||||
ci/appveyor.bat \
|
||||
ci/build-snd-dummy.sh \
|
||||
ci/config.mk*.sed \
|
||||
ci/if_ver*.vim \
|
||||
ci/load-snd-dummy.sh \
|
||||
ci/config.mk*.sed \
|
||||
ci/setup-xvfb.sh \
|
||||
src/Make_all.mak \
|
||||
src/README.md \
|
||||
src/alloc.h \
|
||||
@@ -74,6 +79,7 @@ SRC_ALL = \
|
||||
src/highlight.c \
|
||||
src/indent.c \
|
||||
src/insexpand.c \
|
||||
src/job.c \
|
||||
src/json.c \
|
||||
src/json_test.c \
|
||||
src/kword_test.c \
|
||||
@@ -249,6 +255,7 @@ SRC_ALL = \
|
||||
src/proto/highlight.pro \
|
||||
src/proto/indent.pro \
|
||||
src/proto/insexpand.pro \
|
||||
src/proto/job.pro \
|
||||
src/proto/json.pro \
|
||||
src/proto/list.pro \
|
||||
src/proto/locale.pro \
|
||||
@@ -620,7 +627,7 @@ SRC_AMI = \
|
||||
README_amisrc.txt.info \
|
||||
src.info \
|
||||
src/INSTALLami.txt \
|
||||
src/Make_morph.mak \
|
||||
src/Make_ami.mak \
|
||||
src/os_amiga.c \
|
||||
src/os_amiga.h \
|
||||
src/proto/os_amiga.pro \
|
||||
@@ -1028,6 +1035,8 @@ LANG_SRC = \
|
||||
src/po/README_mvc.txt \
|
||||
src/po/check.vim \
|
||||
src/po/cleanup.vim \
|
||||
src/po/tojavascript.vim \
|
||||
src/po/fixfilenames.vim \
|
||||
src/po/Makefile \
|
||||
src/po/Make_all.mak \
|
||||
src/po/Make_cyg.mak \
|
||||
|
||||
15
README.md
15
README.md
@@ -1,15 +1,8 @@
|
||||

|
||||
[](https://www.vim.org)
|
||||
|
||||
[](https://travis-ci.org/vim/vim)
|
||||
[](https://ci.appveyor.com/project/chrisbra/vim)
|
||||
[](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22)
|
||||
[](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.
|
||||
[](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22) [](https://travis-ci.com/github/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)
|
||||
|
||||
<sub>For translations of this README see the end.</sub>
|
||||
|
||||
|
||||
## What is Vim? ##
|
||||
|
||||
@@ -80,7 +80,7 @@ e.g. each stack item is a typeval_T. And one of the instructions is
|
||||
"execute Ex command", for commands that are not compiled.
|
||||
|
||||
|
||||
## 2. PHASING OUT INTERFACES
|
||||
## 2. DEPRIORITIZE INTERFACES
|
||||
|
||||
Attempts have been made to implement functionality with built-in script
|
||||
languages such as Python, Perl, Lua, Tcl and Ruby. This never gained much
|
||||
@@ -159,18 +159,18 @@ thing I have been thinking of is assignments without ":let". I often
|
||||
make that mistake (after writing JavaScript especially). I think it is
|
||||
possible, if we make local variables shadow commands. That should be OK,
|
||||
if you shadow a command you want to use, just rename the variable.
|
||||
Using "let" and "const" to declare a variable, like in JavaScript and
|
||||
Using "var" and "const" to declare a variable, like in JavaScript and
|
||||
TypeScript, can work:
|
||||
|
||||
|
||||
``` vim
|
||||
def MyFunction(arg: number): number
|
||||
let local = 1
|
||||
let todo = arg
|
||||
var local = 1
|
||||
var todo = arg
|
||||
const ADD = 88
|
||||
while todo > 0
|
||||
local += ADD
|
||||
--todo
|
||||
todo -= 1
|
||||
endwhile
|
||||
return local
|
||||
enddef
|
||||
@@ -192,7 +192,7 @@ function and export it:
|
||||
``` vim
|
||||
vim9script " Vim9 script syntax used here
|
||||
|
||||
let local = 'local variable is not exported, script-local'
|
||||
var local = 'local variable is not exported, script-local'
|
||||
|
||||
export def MyFunction() " exported function
|
||||
...
|
||||
@@ -248,10 +248,10 @@ END
|
||||
return luaeval('sum')
|
||||
endfunc
|
||||
|
||||
def VimNew()
|
||||
let sum = 0
|
||||
def VimNew(): number
|
||||
var sum = 0
|
||||
for i in range(1, 2999999)
|
||||
let sum += i
|
||||
sum += i
|
||||
endfor
|
||||
return sum
|
||||
enddef
|
||||
@@ -277,7 +277,7 @@ echo 'Vim new: ' .. reltimestr(reltime(start))
|
||||
|
||||
``` vim
|
||||
def VimNew(): number
|
||||
let totallen = 0
|
||||
var totallen = 0
|
||||
for i in range(1, 100000)
|
||||
setline(i, ' ' .. getline(i))
|
||||
totallen += len(getline(i))
|
||||
|
||||
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
|
||||
# snd-dummy is contained in linux-modules-extra (if exists)
|
||||
apt install -y "linux-modules-extra-$(uname -r)"
|
||||
apt-get install -yq --no-install-suggests --no-install-recommends "linux-modules-extra-$(uname -r)"
|
||||
modprobe snd-dummy
|
||||
fi
|
||||
|
||||
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\italian.nsi"
|
||||
!include "lang\japanese.nsi"
|
||||
!include "lang\russian.nsi"
|
||||
!include "lang\simpchinese.nsi"
|
||||
!include "lang\tradchinese.nsi"
|
||||
!include "lang\turkish.nsi"
|
||||
|
||||
@@ -58,10 +58,10 @@ LangString str_desc_console ${LANG_ITALIAN} \
|
||||
"Versione console di Vim (vim.exe)."
|
||||
|
||||
LangString str_section_batch ${LANG_ITALIAN} \
|
||||
"Crea file di invocazione (MS-DOS) .bat"
|
||||
"Crea file .bat"
|
||||
LangString str_desc_batch ${LANG_ITALIAN} \
|
||||
"Crea file di invocazione .bat per varianti di Vim nella directory \
|
||||
di Windows, per utilizzo da linea di comando (MS-DOS)."
|
||||
"Crea file .bat per varianti di Vim nella directory \
|
||||
di Windows, per utilizzo da riga di comando."
|
||||
|
||||
LangString str_group_icons ${LANG_ITALIAN} \
|
||||
"Crea icone per Vim"
|
||||
|
||||
287
nsis/lang/russian.nsi
Normal file
287
nsis/lang/russian.nsi
Normal file
@@ -0,0 +1,287 @@
|
||||
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
|
||||
#
|
||||
# russian.nsi: Russian language strings for gvim NSIS installer.
|
||||
#
|
||||
# Locale ID : 1049
|
||||
# Locale name : ru-RU
|
||||
# fileencoding : UTF-8
|
||||
# Author : Restorer
|
||||
|
||||
!insertmacro MUI_LANGUAGE "Russian"
|
||||
|
||||
|
||||
# Overwrite the default translation.
|
||||
# These strings should be always English. Otherwise dosinst.c fails.
|
||||
LangString ^SetupCaption ${LANG_RUSSIAN} \
|
||||
"$(^Name) Setup"
|
||||
LangString ^UninstallCaption ${LANG_RUSSIAN} \
|
||||
"$(^Name) Uninstall"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
##############################################################################
|
||||
|
||||
#LangString str_dest_folder ${LANG_RUSSIAN} \
|
||||
# "Маршрут к каталогу установки (должен оканчиваться каталогом $\"vim$\")"
|
||||
|
||||
LangString str_show_readme ${LANG_RUSSIAN} \
|
||||
"После окончания установки ознакомиться с кратким описанием"
|
||||
|
||||
# Install types:
|
||||
LangString str_type_typical ${LANG_RUSSIAN} \
|
||||
"Стандартная"
|
||||
|
||||
LangString str_type_minimal ${LANG_RUSSIAN} \
|
||||
"Минимальная"
|
||||
|
||||
LangString str_type_full ${LANG_RUSSIAN} \
|
||||
"Полная"
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Section Titles & Description {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString str_section_old_ver ${LANG_RUSSIAN} \
|
||||
"Удаление предыдущих версий"
|
||||
LangString str_desc_old_ver ${LANG_RUSSIAN} \
|
||||
"Будут удалены предыдущие установленные версии программы"
|
||||
|
||||
LangString str_section_exe ${LANG_RUSSIAN} \
|
||||
"Графический интерфейс и вспомогательные файлы"
|
||||
LangString str_desc_exe ${LANG_RUSSIAN} \
|
||||
"Графический интерфейс программы Vim и все необходимые для этого файлы. \
|
||||
Это обязательный компонент"
|
||||
|
||||
LangString str_section_console ${LANG_RUSSIAN} \
|
||||
"Консольная программа Vim"
|
||||
LangString str_desc_console ${LANG_RUSSIAN} \
|
||||
"Вариант редактора Vim (vim.exe), используемый в командной оболочке"
|
||||
|
||||
LangString str_section_batch ${LANG_RUSSIAN} \
|
||||
"Создать командные файлы"
|
||||
LangString str_desc_batch ${LANG_RUSSIAN} \
|
||||
"Создание командных bat-файлов позволяющих работать с редактором \
|
||||
Vim из командной строки Windows"
|
||||
|
||||
LangString str_group_icons ${LANG_RUSSIAN} \
|
||||
"Создать ярлыки для редактора Vim"
|
||||
LangString str_desc_icons ${LANG_RUSSIAN} \
|
||||
"Создание ярлыков редактора Vim для облегчения запуска программы"
|
||||
|
||||
LangString str_section_desktop ${LANG_RUSSIAN} \
|
||||
"На Рабочем столе"
|
||||
LangString str_desc_desktop ${LANG_RUSSIAN} \
|
||||
"Создание ярлыков программы Gvim на Рабочем столе"
|
||||
|
||||
LangString str_section_start_menu ${LANG_RUSSIAN} \
|
||||
"В меню кнопки Пуск"
|
||||
LangString str_desc_start_menu ${LANG_RUSSIAN} \
|
||||
"Создание ярлыков программы Gvim в меню кнопки Пуск"
|
||||
|
||||
#LangString str_section_quick_launch ${LANG_RUSSIAN} \
|
||||
# "На панели быстрого запуска"
|
||||
#LangString str_desc_quick_launch ${LANG_RUSSIAN} \
|
||||
# "Создание ярлыков программы GVim на панели быстрого запуска"
|
||||
|
||||
LangString str_section_edit_with ${LANG_RUSSIAN} \
|
||||
"В контекстном меню"
|
||||
LangString str_desc_edit_with ${LANG_RUSSIAN} \
|
||||
"Добавление вызова программы Gvim в пункт $\"Открыть с помощью...$\" контекстного меню"
|
||||
|
||||
#LangString str_section_edit_with32 ${LANG_RUSSIAN} \
|
||||
# "32-разрядная версия программы"
|
||||
#LangString str_desc_edit_with32 ${LANG_RUSSIAN} \
|
||||
# "Добавление вызова программы Gvim в пункт $\"Открыть с помощью...$\" контекстного меню \
|
||||
# для 32-разрядных приложений"
|
||||
|
||||
#LangString str_section_edit_with64 ${LANG_RUSSIAN} \
|
||||
# "64-разрядная версия программы"
|
||||
#LangString str_desc_edit_with64 ${LANG_RUSSIAN} \
|
||||
# "Добавление вызова программы Gvim в пункт $\"Открыть с помощью...$\" контекстного меню \
|
||||
# для 64-разрядных приложений"
|
||||
|
||||
LangString str_section_vim_rc ${LANG_RUSSIAN} \
|
||||
"Настройки программы по умолчанию"
|
||||
LangString str_desc_vim_rc ${LANG_RUSSIAN} \
|
||||
"Создание файла _vimrc с предустановленными настройками, если нет других \
|
||||
файлов настроек"
|
||||
|
||||
LangString str_group_plugin ${LANG_RUSSIAN} \
|
||||
"Создать каталог для подключаемых модулей"
|
||||
LangString str_desc_plugin ${LANG_RUSSIAN} \
|
||||
"Создание каталога для размещения подключаемых модулей, которые расширяют \
|
||||
возможности редактора Vim"
|
||||
|
||||
LangString str_section_plugin_home ${LANG_RUSSIAN} \
|
||||
"Личный каталог"
|
||||
LangString str_desc_plugin_home ${LANG_RUSSIAN} \
|
||||
"Создание каталога для подключаемых модулей в домашнем каталоге пользователя"
|
||||
|
||||
LangString str_section_plugin_vim ${LANG_RUSSIAN} \
|
||||
"Общий каталог"
|
||||
LangString str_desc_plugin_vim ${LANG_RUSSIAN} \
|
||||
"Создание каталога для подключаемых модулей в каталоге установки редактора Vim. \
|
||||
Модули в этом каталоге будут доступны для любого пользователя \
|
||||
зарегистрировавшегося в системе"
|
||||
|
||||
LangString str_section_vis_vim ${LANG_RUSSIAN} \
|
||||
"Подключаемый модуль VisVim"
|
||||
LangString str_desc_vis_vim ${LANG_RUSSIAN} \
|
||||
"Подключаемый модуль VisVim используется для интеграции с Microsoft Visual Studio"
|
||||
|
||||
LangString str_section_nls ${LANG_RUSSIAN} \
|
||||
"Поддержка региональных языков"
|
||||
LangString str_desc_nls ${LANG_RUSSIAN} \
|
||||
"Установка файлов для поддержки региональных языков операционной системы"
|
||||
|
||||
LangString str_unsection_register ${LANG_RUSSIAN} \
|
||||
"Отменить регистрацию компонентов программы Vim"
|
||||
LangString str_desc_unregister ${LANG_RUSSIAN} \
|
||||
"Отмена регистрации компонентов программы Vim в операционной системе"
|
||||
|
||||
LangString str_unsection_exe ${LANG_RUSSIAN} \
|
||||
"Удалить файлы редактора Vim"
|
||||
LangString str_desc_rm_exe ${LANG_RUSSIAN} \
|
||||
"Удаление всех исполняемых и вспомогательных файлов редактора Vim"
|
||||
|
||||
LangString str_ungroup_plugin ${LANG_RUSSIAN} \
|
||||
"Удалить каталог подключаемых модулей"
|
||||
LangString str_desc_rm_plugin ${LANG_RUSSIAN} \
|
||||
"Удаление каталога подключаемых модулей, если в нём нет файлов"
|
||||
|
||||
LangString str_unsection_plugin_home ${LANG_RUSSIAN} \
|
||||
"Личный каталог"
|
||||
LangString str_desc_rm_plugin_home ${LANG_RUSSIAN} \
|
||||
"Удаление каталога подключаемых модулей из домашнего каталога пользователя"
|
||||
|
||||
LangString str_unsection_plugin_vim ${LANG_RUSSIAN} \
|
||||
"Общий каталог"
|
||||
LangString str_desc_rm_plugin_vim ${LANG_RUSSIAN} \
|
||||
"Удаление каталога подключаемых модулей из каталога установки редактора Vim"
|
||||
|
||||
LangString str_unsection_rootdir ${LANG_RUSSIAN} \
|
||||
"Удалить основной каталог программы Vim"
|
||||
LangString str_desc_rm_rootdir ${LANG_RUSSIAN} \
|
||||
"Удаление основного каталога программы Vim. В этом каталоге находятся файлы \
|
||||
настроек!"
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Messages {{{1
|
||||
##############################################################################
|
||||
|
||||
#LangString str_msg_too_many_ver ${LANG_RUSSIAN} \
|
||||
# "Обнаружено предыдущих версий программы Vim: $vim_old_ver_count.$\r$\n\
|
||||
# Данная программа установки может удалить не более ${VIM_MAX_OLD_VER}.$\r$\n\
|
||||
# Удалить лишние версии программы Vim и повторите установку"
|
||||
|
||||
#LangString str_msg_invalid_root ${LANG_RUSSIAN} \
|
||||
# "Недопустимый каталог установки программы Vim $vim_install_root!$\r$\n\
|
||||
# Маршрут установки должен оканчиваться каталогом $\"vim$\""
|
||||
|
||||
#LangString str_msg_bin_mismatch ${LANG_RUSSIAN} \
|
||||
# "Недопустимый маршрут к каталогу с исполняемыми файлами!$\r$\n$\r$\n\
|
||||
# Маршрут к каталогу с исполняемыми файлами должен быть $\"$vim_bin_path$\",$\r$\n\
|
||||
# но от операционной системы получен как $\"$INSTDIR$\"."
|
||||
|
||||
#LangString str_msg_vim_running ${LANG_RUSSIAN} \
|
||||
# "Программа Vim сейчас работает.$\r$\n\
|
||||
# Прежде чем продолжить, закройте все работающие редакторы Vim"
|
||||
|
||||
#LangString str_msg_register_ole ${LANG_RUSSIAN} \
|
||||
# "Попытка зарегистрировать компоненты программы Vim в пространстве OLE. \
|
||||
# Но не получено уведомление об успешности данной операции"
|
||||
|
||||
#LangString str_msg_unreg_ole ${LANG_RUSSIAN} \
|
||||
# "Попытка отменить регистрацию компонентов программы Vim в пространстве OLE. \
|
||||
# Но не получено уведомление об успешности данной операции"
|
||||
|
||||
#LangString str_msg_rm_start ${LANG_RUSSIAN} \
|
||||
# "Выполняется удаление следующих версий программы:"
|
||||
|
||||
#LangString str_msg_rm_fail ${LANG_RUSSIAN} \
|
||||
# "Произошёл сбой при выполнении удаления следующих версий программы:"
|
||||
|
||||
#LangString str_msg_no_rm_key ${LANG_RUSSIAN} \
|
||||
# "Не удалось найти раздел реестра, содержащий информацию об удалении программы"
|
||||
|
||||
#LangString str_msg_no_rm_reg ${LANG_RUSSIAN} \
|
||||
# "Не удалось найти программу выполняющую удаление, указанную в разделе реестра"
|
||||
|
||||
#LangString str_msg_no_rm_exe ${LANG_RUSSIAN} \
|
||||
# "Отсутствуют права на доступ к программе, выполняющей удаление"
|
||||
|
||||
#LangString str_msg_rm_copy_fail ${LANG_RUSSIAN} \
|
||||
# "Произошла ошибка при копировании программы удаления во временный каталог"
|
||||
|
||||
#LangString str_msg_rm_run_fail ${LANG_RUSSIAN} \
|
||||
# "Произошёл сбой при запуске программы, выполняющей удаление"
|
||||
|
||||
#LangString str_msg_abort_install ${LANG_RUSSIAN} \
|
||||
# "Установка программы была отменена"
|
||||
|
||||
LangString str_msg_install_fail ${LANG_RUSSIAN} \
|
||||
"Произошла ошибка при установке программы. Попробуйте повторить установку \
|
||||
немного попозже"
|
||||
# когда луна будет в другой фазе и ветер должен дуть с юго‐запада
|
||||
|
||||
LangString str_msg_rm_exe_fail ${LANG_RUSSIAN} \
|
||||
"Некоторые файлы не были удалены из каталога $0 $\r$\n\
|
||||
Необходимо выполнить их удаление самостоятельно"
|
||||
|
||||
#LangString str_msg_rm_root_fail ${LANG_RUSSIAN} \
|
||||
# "Внимание! В каталоге $\"$vim_install_root$\" содержатся файлы. Удаление каталога не выполнено"
|
||||
|
||||
LangString str_msg_uninstalling ${LANG_RUSSIAN} \
|
||||
"Удаление предыдущих версий программ..."
|
||||
|
||||
LangString str_msg_registering ${LANG_RUSSIAN} \
|
||||
"Регистрация компонентов программы в системе..."
|
||||
|
||||
LangString str_msg_unregistering ${LANG_RUSSIAN} \
|
||||
"Отмена регистрации компонентов программы в системе..."
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Dialog Box {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString str_vimrc_page_title ${LANG_RUSSIAN} \
|
||||
"Установка параметров программы"
|
||||
LangString str_vimrc_page_subtitle ${LANG_RUSSIAN} \
|
||||
"Параметры, используемые для клавиатуры, «мыши» и функциональности программы"
|
||||
|
||||
LangString str_msg_compat_title ${LANG_RUSSIAN} \
|
||||
" Варианты использования программы "
|
||||
LangString str_msg_compat_desc ${LANG_RUSSIAN} \
|
||||
"Совместимость и функциональность программы"
|
||||
LangString str_msg_compat_vi ${LANG_RUSSIAN} \
|
||||
"Работа в варианте совместимости с редактором Vi"
|
||||
LangString str_msg_compat_vim ${LANG_RUSSIAN} \
|
||||
"Работа в варианте функциональности редактора Vim"
|
||||
LangString str_msg_compat_defaults ${LANG_RUSSIAN} \
|
||||
"Работа редактора Vim с некоторыми улучшениями (файл defaults.vim)"
|
||||
LangString str_msg_compat_all ${LANG_RUSSIAN} \
|
||||
"Работа редактора Vim со всеми улучшениями (файл vimrc_example.vim). \
|
||||
Используется по умолчанию"
|
||||
|
||||
LangString str_msg_keymap_title ${LANG_RUSSIAN} \
|
||||
" Клавиатурные команды "
|
||||
LangString str_msg_keymap_desc ${LANG_RUSSIAN} \
|
||||
"Клавиатурные команды используемые в ОС Windows (CTRL+V, CTRL+C, CTRL+S, CTRL+F и т. п.)"
|
||||
LangString str_msg_keymap_default ${LANG_RUSSIAN} \
|
||||
"Не изменять клавиатурные команды. Использовать принятые в редакторе Vim"
|
||||
LangString str_msg_keymap_windows ${LANG_RUSSIAN} \
|
||||
"Изменить указанные клавиатурные команды"
|
||||
|
||||
LangString str_msg_mouse_title ${LANG_RUSSIAN} \
|
||||
" Манипулятор «мышь» "
|
||||
LangString str_msg_mouse_desc ${LANG_RUSSIAN} \
|
||||
"Действий правой и левой кнопки манипулятора «мышь»"
|
||||
LangString str_msg_mouse_default ${LANG_RUSSIAN} \
|
||||
"Правая кнопка — всплывающее меню, левая кнопка — режим визуальный"
|
||||
LangString str_msg_mouse_windows ${LANG_RUSSIAN} \
|
||||
"Правая кнопка — всплывающее меню, левая кнопка — режим выборки (как в ОС Windows)"
|
||||
LangString str_msg_mouse_unix ${LANG_RUSSIAN} \
|
||||
"Правая кнопка — расширяемый режим выбора, левая кнопка — режим визуальный (как в UNIX‐подобных ОС)"
|
||||
@@ -1,13 +1,13 @@
|
||||
" Vim completion script
|
||||
" Language: C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2020 Apr 08
|
||||
" Last Change: 2020 Nov 14
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" This function is used for the 'omnifunc' option.
|
||||
function! ccomplete#Complete(findstart, base)
|
||||
func ccomplete#Complete(findstart, base)
|
||||
if a:findstart
|
||||
" Locate the start of the item, including ".", "->" and "[...]".
|
||||
let line = getline('.')
|
||||
@@ -244,7 +244,7 @@ function! ccomplete#Complete(findstart, base)
|
||||
return map(res, 's:Tagline2item(v:val, brackets)')
|
||||
endfunc
|
||||
|
||||
function! s:GetAddition(line, match, memarg, bracket)
|
||||
func s:GetAddition(line, match, memarg, bracket)
|
||||
" Guess if the item is an array.
|
||||
if a:bracket && match(a:line, a:match . '\s*\[') > 0
|
||||
return '['
|
||||
@@ -260,13 +260,13 @@ function! s:GetAddition(line, match, memarg, bracket)
|
||||
endif
|
||||
endif
|
||||
return ''
|
||||
endfunction
|
||||
endfunc
|
||||
|
||||
" Turn the tag info "val" into an item for completion.
|
||||
" "val" is is an item in the list returned by taglist().
|
||||
" If it is a variable we may add "." or "->". Don't do it for other types,
|
||||
" such as a typedef, by not including the info that s:GetAddition() uses.
|
||||
function! s:Tag2item(val)
|
||||
func s:Tag2item(val)
|
||||
let res = {'match': a:val['name']}
|
||||
|
||||
let res['extra'] = s:Tagcmd2extra(a:val['cmd'], a:val['name'], a:val['filename'])
|
||||
@@ -289,10 +289,10 @@ function! s:Tag2item(val)
|
||||
endif
|
||||
|
||||
return res
|
||||
endfunction
|
||||
endfunc
|
||||
|
||||
" Use all the items in dictionary for the "info" entry.
|
||||
function! s:Dict2info(dict)
|
||||
func s:Dict2info(dict)
|
||||
let info = ''
|
||||
for k in sort(keys(a:dict))
|
||||
let info .= k . repeat(' ', 10 - len(k))
|
||||
@@ -307,7 +307,7 @@ function! s:Dict2info(dict)
|
||||
endfunc
|
||||
|
||||
" Parse a tag line and return a dictionary with items like taglist()
|
||||
function! s:ParseTagline(line)
|
||||
func s:ParseTagline(line)
|
||||
let l = split(a:line, "\t")
|
||||
let d = {}
|
||||
if len(l) >= 3
|
||||
@@ -334,12 +334,12 @@ function! s:ParseTagline(line)
|
||||
endif
|
||||
|
||||
return d
|
||||
endfunction
|
||||
endfunc
|
||||
|
||||
" Turn a match item "val" into an item for completion.
|
||||
" "val['match']" is the matching item.
|
||||
" "val['tagline']" is the tagline in which the last part was found.
|
||||
function! s:Tagline2item(val, brackets)
|
||||
func s:Tagline2item(val, brackets)
|
||||
let line = a:val['tagline']
|
||||
let add = s:GetAddition(line, a:val['match'], [a:val], a:brackets == '')
|
||||
let res = {'word': a:val['match'] . a:brackets . add }
|
||||
@@ -377,10 +377,10 @@ function! s:Tagline2item(val, brackets)
|
||||
let res['menu'] = s:Tagcmd2extra(s, a:val['match'], matchstr(line, '[^\t]*\t\zs[^\t]*\ze\t'))
|
||||
endif
|
||||
return res
|
||||
endfunction
|
||||
endfunc
|
||||
|
||||
" Turn a command from a tag line to something that is useful in the menu
|
||||
function! s:Tagcmd2extra(cmd, name, fname)
|
||||
func s:Tagcmd2extra(cmd, name, fname)
|
||||
if a:cmd =~ '^/^'
|
||||
" The command is a search command, useful to see what it is.
|
||||
let x = matchstr(a:cmd, '^/^\s*\zs.*\ze$/')
|
||||
@@ -395,13 +395,13 @@ function! s:Tagcmd2extra(cmd, name, fname)
|
||||
let x = a:cmd . ' - ' . a:fname
|
||||
endif
|
||||
return x
|
||||
endfunction
|
||||
endfunc
|
||||
|
||||
" Find composing type in "lead" and match items[0] with it.
|
||||
" Repeat this recursively for items[1], if it's there.
|
||||
" When resolving typedefs "depth" is used to avoid infinite recursion.
|
||||
" Return the list of matches.
|
||||
function! s:Nextitem(lead, items, depth, all)
|
||||
func s:Nextitem(lead, items, depth, all)
|
||||
|
||||
" Use the text up to the variable name and split it in tokens.
|
||||
let tokens = split(a:lead, '\s\+\|\<')
|
||||
@@ -485,7 +485,7 @@ function! s:Nextitem(lead, items, depth, all)
|
||||
endfor
|
||||
|
||||
return res
|
||||
endfunction
|
||||
endfunc
|
||||
|
||||
|
||||
" Search for members of structure "typename" in tags files.
|
||||
@@ -493,7 +493,7 @@ endfunction
|
||||
" Each match is a dictionary with "match" and "tagline" entries.
|
||||
" When "all" is non-zero find all, otherwise just return 1 if there is any
|
||||
" member.
|
||||
function! s:StructMembers(typename, items, all)
|
||||
func s:StructMembers(typename, items, all)
|
||||
" Todo: What about local structures?
|
||||
let fnames = join(map(tagfiles(), 'escape(v:val, " \\#%")'))
|
||||
if fnames == ''
|
||||
@@ -586,12 +586,12 @@ function! s:StructMembers(typename, items, all)
|
||||
|
||||
" Failed to find anything.
|
||||
return []
|
||||
endfunction
|
||||
endfunc
|
||||
|
||||
" For matching members, find matches for following items.
|
||||
" When "all" is non-zero find all, otherwise just return 1 if there is any
|
||||
" member.
|
||||
function! s:SearchMembers(matches, items, all)
|
||||
func s:SearchMembers(matches, items, all)
|
||||
let res = []
|
||||
for i in range(len(a:matches))
|
||||
let typename = ''
|
||||
|
||||
27
runtime/autoload/dist/ft.vim
vendored
27
runtime/autoload/dist/ft.vim
vendored
@@ -1,7 +1,7 @@
|
||||
" Vim functions for file type detection
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2020 Mar 30
|
||||
" Last Change: 2020 Aug 17
|
||||
|
||||
" These functions are moved here from runtime/filetype.vim to make startup
|
||||
" faster.
|
||||
@@ -362,6 +362,10 @@ func dist#ft#FTinc()
|
||||
setf aspvbs
|
||||
elseif lines =~ "<?"
|
||||
setf php
|
||||
" Pascal supports // comments but they're vary rarely used for file
|
||||
" headers so assume POV-Ray
|
||||
elseif lines =~ '^\s*\%({\|(\*\)' || lines =~? s:ft_pascal_keywords
|
||||
setf pascal
|
||||
else
|
||||
call dist#ft#FTasmsyntax()
|
||||
if exists("b:asmsyntax")
|
||||
@@ -408,6 +412,9 @@ func dist#ft#FTprogress_asm()
|
||||
setf progress
|
||||
endfunc
|
||||
|
||||
let s:ft_pascal_comments = '^\s*\%({\|(\*\|//\)'
|
||||
let s:ft_pascal_keywords = '^\s*\%(program\|unit\|library\|uses\|begin\|procedure\|function\|const\|type\|var\)\>'
|
||||
|
||||
func dist#ft#FTprogress_pascal()
|
||||
if exists("g:filetype_p")
|
||||
exe "setf " . g:filetype_p
|
||||
@@ -419,8 +426,7 @@ func dist#ft#FTprogress_pascal()
|
||||
let lnum = 1
|
||||
while lnum <= 10 && lnum < line('$')
|
||||
let line = getline(lnum)
|
||||
if line =~ '^\s*\(program\|unit\|procedure\|function\|const\|type\|var\)\>'
|
||||
\ || line =~ '^\s*{' || line =~ '^\s*(\*'
|
||||
if line =~ s:ft_pascal_comments || line =~? s:ft_pascal_keywords
|
||||
setf pascal
|
||||
return
|
||||
elseif line !~ '^\s*$' || line =~ '^/\*'
|
||||
@@ -433,6 +439,19 @@ func dist#ft#FTprogress_pascal()
|
||||
setf progress
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTpp()
|
||||
if exists("g:filetype_pp")
|
||||
exe "setf " . g:filetype_pp
|
||||
else
|
||||
let line = getline(nextnonblank(1))
|
||||
if line =~ s:ft_pascal_comments || line =~? s:ft_pascal_keywords
|
||||
setf pascal
|
||||
else
|
||||
setf puppet
|
||||
endif
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTr()
|
||||
let max = line("$") > 50 ? 50 : line("$")
|
||||
|
||||
@@ -575,7 +594,7 @@ endfunc
|
||||
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
|
||||
func dist#ft#FTRules()
|
||||
let path = expand('<amatch>:p')
|
||||
if path =~ '^/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
|
||||
if path =~ '/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|\%(usr/\)\=lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
|
||||
setf udevrules
|
||||
return
|
||||
endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" netrw.vim: Handles file transfer and remote directory listing across
|
||||
" AUTOLOAD SECTION
|
||||
" Date: Jan 07, 2020
|
||||
" Version: 168
|
||||
" Date: Sep 18, 2020
|
||||
" Version: 170
|
||||
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
|
||||
@@ -43,7 +43,7 @@ if exists("s:needspatches")
|
||||
endfor
|
||||
endif
|
||||
|
||||
let g:loaded_netrw = "v168"
|
||||
let g:loaded_netrw = "v170"
|
||||
if !exists("s:NOTE")
|
||||
let s:NOTE = 0
|
||||
let s:WARNING = 1
|
||||
@@ -86,7 +86,16 @@ fun! netrw#ErrorMsg(level,msg,errnum)
|
||||
endif
|
||||
" call Decho("level=".level,'~'.expand("<slnum>"))
|
||||
|
||||
if g:netrw_use_errorwindow
|
||||
if g:netrw_use_errorwindow == 2 && (v:version > 802 || (v:version == 802 && has("patch486")))
|
||||
" use popup window
|
||||
if type(a:msg) == 3
|
||||
let msg = [level]+a:msg
|
||||
else
|
||||
let msg= level.a:msg
|
||||
endif
|
||||
let s:popuperr_id = popup_beval(msg,{})
|
||||
let s:popuperr_text= ""
|
||||
elseif g:netrw_use_errorwindow
|
||||
" (default) netrw creates a one-line window to show error/warning
|
||||
" messages (reliably displayed)
|
||||
|
||||
@@ -203,7 +212,11 @@ let g:netrw_localrmdiropt = ""
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Default values for netrw's global protocol variables {{{2
|
||||
call s:NetrwInit("g:netrw_use_errorwindow",1)
|
||||
if (v:version > 802 || (v:version == 802 && has("patch486"))) && has("balloon_eval") && !exists("s:initbeval") && !exists("g:netrw_nobeval") && has("syntax") && exists("g:syntax_on") && has("mouse")
|
||||
call s:NetrwInit("g:netrw_use_errorwindow",2)
|
||||
else
|
||||
call s:NetrwInit("g:netrw_use_errorwindow",1)
|
||||
endif
|
||||
|
||||
if !exists("g:netrw_dav_cmd")
|
||||
if executable("cadaver")
|
||||
@@ -559,6 +572,7 @@ call s:NetrwInit("s:netrw_posn",'{}')
|
||||
if v:version >= 700 && has("balloon_eval") && !exists("s:initbeval") && !exists("g:netrw_nobeval") && has("syntax") && exists("g:syntax_on")
|
||||
" call Decho("installed beval events",'~'.expand("<slnum>"))
|
||||
let &l:bexpr = "netrw#BalloonHelp()"
|
||||
" call Decho("&l:bexpr<".&l:bexpr."> buf#".bufnr())
|
||||
au FileType netrw setl beval
|
||||
au WinLeave * if &ft == "netrw" && exists("s:initbeval")|let &beval= s:initbeval|endif
|
||||
au VimEnter * let s:initbeval= &beval
|
||||
@@ -591,7 +605,18 @@ if v:version >= 700 && has("balloon_eval") && has("syntax") && exists("g:syntax_
|
||||
if &ft != "netrw"
|
||||
return ""
|
||||
endif
|
||||
if !exists("w:netrw_bannercnt") || v:beval_lnum >= w:netrw_bannercnt || (exists("g:netrw_nobeval") && g:netrw_nobeval)
|
||||
if exists("s:popuperr_id") && popup_getpos(s:popuperr_id) != {}
|
||||
" popup error window is still showing
|
||||
" s:pouperr_id and s:popuperr_text are set up in netrw#ErrorMsg()
|
||||
if exists("s:popuperr_text") && s:popuperr_text != "" && v:beval_text != s:popuperr_text
|
||||
" text under mouse hasn't changed; only close window when it changes
|
||||
call popup_close(s:popuperr_id)
|
||||
unlet s:popuperr_text
|
||||
else
|
||||
let s:popuperr_text= v:beval_text
|
||||
endif
|
||||
let mesg= ""
|
||||
elseif !exists("w:netrw_bannercnt") || v:beval_lnum >= w:netrw_bannercnt || (exists("g:netrw_nobeval") && g:netrw_nobeval)
|
||||
let mesg= ""
|
||||
elseif v:beval_text == "Netrw" || v:beval_text == "Directory" || v:beval_text == "Listing"
|
||||
let mesg = "i: thin-long-wide-tree gh: quick hide/unhide of dot-files qf: quick file info %:open new file"
|
||||
@@ -1247,6 +1272,10 @@ fun! netrw#Lexplore(count,rightside,...)
|
||||
setlocal winfixwidth
|
||||
let g:netrw_altv = keep_altv
|
||||
let t:netrw_lexbufnr = bufnr("%")
|
||||
" done to prevent build-up of hidden buffers due to quitting and re-invocation of :Lexplore.
|
||||
" Since the intended use of :Lexplore is to have an always-present explorer window, the extra
|
||||
" effort to mis-use :Lex is warranted.
|
||||
set bh=wipe
|
||||
" call Decho("let t:netrw_lexbufnr=".t:netrw_lexbufnr)
|
||||
" call Decho("t:netrw_lexposn".(exists("t:netrw_lexposn")? string(t:netrw_lexposn) : " n/a"))
|
||||
if exists("t:netrw_lexposn")
|
||||
@@ -1908,7 +1937,7 @@ fun! s:NetrwRestoreSetting(keepvar,setting)
|
||||
if type(a:setting) == 0
|
||||
exe "let ".a:setting."= ".keepvarval
|
||||
elseif type(a:setting) == 1
|
||||
exe "let ".a:setting."= '".keepvarval."'"
|
||||
exe "let ".a:setting."= '".substitute(keepvarval,"'","''","g")."'"
|
||||
else
|
||||
call netrw#ErrorMsg(s:ERROR,"(s:NetrwRestoreSetting) doesn't know how to restore ".a:keepvar." with a setting of type#".type(a:setting),105)
|
||||
endif
|
||||
@@ -3640,6 +3669,8 @@ fun! s:NetrwBookHistSave()
|
||||
let savefile= s:NetrwHome()."/.netrwhist"
|
||||
" call Decho("savefile<".savefile.">",'~'.expand("<slnum>"))
|
||||
1split
|
||||
|
||||
" setting up a new buffer which will become .netrwhist
|
||||
call s:NetrwEnew()
|
||||
" call Decho("case g:netrw_use_noswf=".g:netrw_use_noswf.(exists("+acd")? " +acd" : " -acd"),'~'.expand("<slnum>"))
|
||||
if g:netrw_use_noswf
|
||||
@@ -4722,7 +4753,7 @@ endfun
|
||||
" "new directory name" is actually a file,
|
||||
" NetrwBrowseChgDir() edits the file.
|
||||
fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
" call Dfunc("s:NetrwBrowseChgDir(islocal=".a:islocal."> newdir<".a:newdir.">) a:0=".a:0." curpos<".string(getpos("."))."> b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : "").">")
|
||||
" call Dfunc("s:NetrwBrowseChgDir(islocal=".a:islocal."> newdir<".a:newdir.">) a:0=".a:0." win#".winnr()." curpos<".string(getpos("."))."> b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : "").">")
|
||||
" call Decho("tab#".tabpagenr()." win#".winnr()." buf#".bufnr("%")."<".bufname("%")."> line#".line(".")." col#".col(".")." winline#".winline()." wincol#".wincol(),'~'.expand("<slnum>"))
|
||||
|
||||
let ykeep= @@
|
||||
@@ -4751,13 +4782,14 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
let newdir = a:newdir
|
||||
let dolockout = 0
|
||||
let dorestore = 1
|
||||
" call Decho("win#".winnr(),'~'.expand("<slnum>"))
|
||||
" call Decho("dirname<".dirname.">",'~'.expand("<slnum>"))
|
||||
" call Decho("newdir<".newdir.">",'~'.expand("<slnum>"))
|
||||
|
||||
" ignore <cr>s when done in the banner
|
||||
" call Decho('(s:NetrwBrowseChgDir) ignore [return]s when done in banner (g:netrw_banner='.g:netrw_banner.")",'~'.expand("<slnum>"))
|
||||
if g:netrw_banner
|
||||
" call Decho("w:netrw_bannercnt=".(exists("w:netrw_bannercnt")? w:netrw_bannercnt : 'n/a')." line(.)#".line('.')." line($)#".line("#"),'~'.expand("<slnum>"))
|
||||
" call Decho("win#".winnr()." w:netrw_bannercnt=".(exists("w:netrw_bannercnt")? w:netrw_bannercnt : 'n/a')." line(.)#".line('.')." line($)#".line("#"),'~'.expand("<slnum>"))
|
||||
if exists("w:netrw_bannercnt") && line(".") < w:netrw_bannercnt && line("$") >= w:netrw_bannercnt
|
||||
if getline(".") =~# 'Quick Help'
|
||||
" call Decho("#1: quickhelp=".g:netrw_quickhelp." ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap." (filename<".expand("%")."> win#".winnr()." ft<".&ft.">)",'~'.expand("<slnum>"))
|
||||
@@ -4794,7 +4826,7 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
" ------------------------------
|
||||
" NetrwBrowseChgDir: edit a file {{{3
|
||||
" ------------------------------
|
||||
" call Decho('(s:NetrwBrowseChgDir) edit-a-file: case "handling a file": newdir<'.newdir.'> !~ dirpat<'.dirpat.">",'~'.expand("<slnum>"))
|
||||
" call Decho('edit-a-file: case "handling a file": win#'.winnr().' newdir<'.newdir.'> !~ dirpat<'.dirpat.">",'~'.expand("<slnum>"))
|
||||
|
||||
" save position for benefit of Rexplore
|
||||
let s:rexposn_{bufnr("%")}= winsaveview()
|
||||
@@ -4829,7 +4861,7 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
NetrwKeepj call s:NetrwOptionsRestore("s:")
|
||||
let curdir= b:netrw_curdir
|
||||
if !exists("s:didsplit")
|
||||
" call Decho("edit-a-file: s:didsplit does not exist; g:netrw_browse_split=".string(g:netrw_browse_split)." win#".winnr(),'~'.expand("<slnum>"))
|
||||
" " call Decho("edit-a-file: s:didsplit does not exist; g:netrw_browse_split=".string(g:netrw_browse_split)." win#".winnr()." g:netrw_chgwin=".g:netrw_chgwin",'~'.expand("<slnum>"))
|
||||
if type(g:netrw_browse_split) == 3
|
||||
" open file in server
|
||||
" Note that g:netrw_browse_split is a List: [servername,tabnr,winnr]
|
||||
@@ -4837,22 +4869,27 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
call s:NetrwServerEdit(a:islocal,dirname)
|
||||
" call Dret("s:NetrwBrowseChgDir")
|
||||
return
|
||||
|
||||
elseif g:netrw_browse_split == 1
|
||||
" horizontally splitting the window first
|
||||
" call Decho("edit-a-file: horizontally splitting window prior to edit",'~'.expand("<slnum>"))
|
||||
keepalt new
|
||||
let winsz= (g:netrw_winsize > 0)? (g:netrw_winsize*winheight(0))/100 : -g:netrw_winsize
|
||||
exe "keepalt ".(g:netrw_alto? "bel " : "abo ").winsz."wincmd s"
|
||||
if !&ea
|
||||
keepalt wincmd _
|
||||
endif
|
||||
call s:SetRexDir(a:islocal,curdir)
|
||||
|
||||
elseif g:netrw_browse_split == 2
|
||||
" vertically splitting the window first
|
||||
" call Decho("edit-a-file: vertically splitting window prior to edit",'~'.expand("<slnum>"))
|
||||
keepalt rightb vert new
|
||||
let winsz= (g:netrw_winsize > 0)? (g:netrw_winsize*winwidth(0))/100 : -g:netrw_winsize
|
||||
exe "keepalt ".(g:netrw_alto? "top " : "bot ")."vert ".winsz."wincmd s"
|
||||
if !&ea
|
||||
keepalt wincmd |
|
||||
endif
|
||||
call s:SetRexDir(a:islocal,curdir)
|
||||
|
||||
elseif g:netrw_browse_split == 3
|
||||
" open file in new tab
|
||||
" call Decho("edit-a-file: opening new tab prior to edit",'~'.expand("<slnum>"))
|
||||
@@ -4861,6 +4898,7 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
let b:netrw_curdir= getcwd()
|
||||
endif
|
||||
call s:SetRexDir(a:islocal,curdir)
|
||||
|
||||
elseif g:netrw_browse_split == 4
|
||||
" act like "P" (ie. open previous window)
|
||||
" call Decho("edit-a-file: use previous window for edit",'~'.expand("<slnum>"))
|
||||
@@ -4870,13 +4908,14 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
return
|
||||
endif
|
||||
call s:SetRexDir(a:islocal,curdir)
|
||||
|
||||
else
|
||||
" handling a file, didn't split, so remove menu
|
||||
" call Decho("edit-a-file: handling a file+didn't split, so remove menu",'~'.expand("<slnum>"))
|
||||
call s:NetrwMenu(0)
|
||||
" optional change to window
|
||||
if g:netrw_chgwin >= 1
|
||||
" call Decho("edit-a-file: changing window to #".g:netrw_chgwin,'~'.expand("<slnum>"))
|
||||
" call Decho("edit-a-file: changing window to #".g:netrw_chgwin.": (due to g:netrw_chgwin)",'~'.expand("<slnum>"))
|
||||
if winnr("$")+1 == g:netrw_chgwin
|
||||
" if g:netrw_chgwin is set to one more than the last window, then
|
||||
" vertically split the last window to make that window available.
|
||||
@@ -4889,19 +4928,26 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
endif
|
||||
call s:SetRexDir(a:islocal,curdir)
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
" the point where netrw actually edits the (local) file
|
||||
" if its local only: LocalBrowseCheck() doesn't edit a file, but NetrwBrowse() will
|
||||
" no keepalt to support :e # to return to a directory listing
|
||||
if !&mod
|
||||
" if e the new file would fail due to &mod, then don't change any of the flags
|
||||
let dolockout= 1
|
||||
endif
|
||||
if a:islocal
|
||||
" call Decho("edit-a-file: edit local file: exe e! ".fnameescape(dirname),'~'.expand("<slnum>"))
|
||||
" some like c-^ to return to the last edited file
|
||||
" others like c-^ to return to the netrw buffer
|
||||
" Apr 30, 2020: used to have e! here. That can cause loss of a modified file,
|
||||
" so emit error E37 instead.
|
||||
if exists("g:netrw_altfile") && g:netrw_altfile
|
||||
exe "NetrwKeepj keepalt e! ".fnameescape(dirname)
|
||||
exe "NetrwKeepj keepalt e ".fnameescape(dirname)
|
||||
else
|
||||
exe "NetrwKeepj e! ".fnameescape(dirname)
|
||||
exe "NetrwKeepj e ".fnameescape(dirname)
|
||||
endif
|
||||
" call Decho("edit-a-file: after e! ".dirname.": hidden=".&hidden." bufhidden<".&bufhidden."> mod=".&mod,'~'.expand("<slnum>"))
|
||||
call s:NetrwCursor()
|
||||
@@ -4912,7 +4958,6 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
else
|
||||
" call Decho("edit-a-file: remote file: NetrwBrowse will edit it",'~'.expand("<slnum>"))
|
||||
endif
|
||||
let dolockout= 1
|
||||
|
||||
" handle g:Netrw_funcref -- call external-to-netrw functions
|
||||
" This code will handle g:Netrw_funcref as an individual function reference
|
||||
@@ -5376,16 +5421,6 @@ fun! netrw#BrowseX(fname,remote)
|
||||
endif
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("unix") && executable("kfmclient") && s:CheckIfKde()
|
||||
" call Decho("(netrw#BrowseX) unix and kfmclient",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe("sil !kfmclient exec ".s:ShellEscape(fname,1)." ".redir)
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("unix") && executable("exo-open") && executable("xdg-open") && executable("setsid")
|
||||
" call Decho("(netrw#BrowseX) unix, exo-open, xdg-open",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe("sil !setsid xdg-open ".s:ShellEscape(fname,1).redir)
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("unix") && $DESKTOP_SESSION == "mate" && executable("atril")
|
||||
" call Decho("(netrw#BrowseX) unix and atril",'~'.expand("<slnum>"))
|
||||
if a:fname =~ '^https\=://'
|
||||
@@ -5400,9 +5435,19 @@ fun! netrw#BrowseX(fname,remote)
|
||||
endif
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("unix") && executable("kfmclient") && s:CheckIfKde()
|
||||
" call Decho("(netrw#BrowseX) unix and kfmclient",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe("sil !kfmclient exec ".s:ShellEscape(fname,1)." ".redir)
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("unix") && executable("exo-open") && executable("xdg-open") && executable("setsid")
|
||||
" call Decho("(netrw#BrowseX) unix, exo-open, xdg-open",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe("sil !setsid xdg-open ".s:ShellEscape(fname,1).redir.'&')
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("unix") && executable("xdg-open")
|
||||
" call Decho("(netrw#BrowseX) unix and xdg-open",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe("sil !xdg-open ".s:ShellEscape(fname,1).redir)
|
||||
call s:NetrwExe("sil !xdg-open ".s:ShellEscape(fname,1).redir.'&')
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("macunix") && executable("open")
|
||||
@@ -6107,10 +6152,10 @@ fun! s:NetrwListHide()
|
||||
" Duplicate characters don't matter.
|
||||
" Remove all such characters from the '/~@#...890' string.
|
||||
" Use the first character left as a separator character.
|
||||
" call Decho("find a character not in the hide string to use as a separator")
|
||||
" call Decho("find a character not in the hide string to use as a separator",'~'.expand("<slnum>"))
|
||||
let listhide= g:netrw_list_hide
|
||||
let sep = strpart(substitute('~@#$%^&*{};:,<.>?|1234567890','['.escape(listhide,'-]^\').']','','ge'),1,1)
|
||||
" call Decho("sep=".sep," (sep not in hide string)'~'.expand("<slnum>"))
|
||||
" call Decho("sep<".sep."> (sep not in hide string)",'~'.expand("<slnum>"))
|
||||
|
||||
while listhide != ""
|
||||
if listhide =~ ','
|
||||
@@ -6120,7 +6165,7 @@ fun! s:NetrwListHide()
|
||||
let hide = listhide
|
||||
let listhide = ""
|
||||
endif
|
||||
" call Decho("..extracted from listhide: hide<".hide."> g:netrw_sort_by<".g:netrw_sort_by.'>','~'.expand("<slnum>"))
|
||||
" call Decho("..extracted pattern from listhide: hide<".hide."> g:netrw_sort_by<".g:netrw_sort_by.'>','~'.expand("<slnum>"))
|
||||
if g:netrw_sort_by =~ '^[ts]'
|
||||
if hide =~ '^\^'
|
||||
" call Decho("..modify hide to handle a \"^...\" pattern",'~'.expand("<slnum>"))
|
||||
@@ -6132,7 +6177,7 @@ fun! s:NetrwListHide()
|
||||
endif
|
||||
|
||||
" Prune the list by hiding any files which match
|
||||
" call Decho("..prune the list by hiding any files which ",((g:netrw_hide == 1)? "" : "don't")." match hide<".hide.">")
|
||||
" call Decho("..prune the list by hiding any files which ".((g:netrw_hide == 1)? "" : "don't")."match hide<".hide.">")
|
||||
if g:netrw_hide == 1
|
||||
" call Decho("..hiding<".hide.">",'~'.expand("<slnum>"))
|
||||
exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$g'.sep.hide.sep.'d'
|
||||
@@ -9215,6 +9260,7 @@ endfun
|
||||
" (full path directory with trailing slash returned)
|
||||
fun! s:NetrwTreeDir(islocal)
|
||||
" call Dfunc("s:NetrwTreeDir(islocal=".a:islocal.") getline(".line(".").")"."<".getline('.')."> b:netrw_curdir<".b:netrw_curdir."> tab#".tabpagenr()." win#".winnr()." buf#".bufnr("%")."<".bufname("%")."> ft=".&ft)
|
||||
" call Decho("Determine tree directory given current cursor position")
|
||||
" call Decho("g:netrw_keepdir =".(exists("g:netrw_keepdir")? g:netrw_keepdir : 'n/a'),'~'.expand("<slnum>"))
|
||||
" call Decho("w:netrw_liststyle=".(exists("w:netrw_liststyle")? w:netrw_liststyle : 'n/a'),'~'.expand("<slnum>"))
|
||||
" call Decho("w:netrw_treetop =".(exists("w:netrw_treetop")? w:netrw_treetop : 'n/a'),'~'.expand("<slnum>"))
|
||||
@@ -9320,7 +9366,6 @@ fun! s:NetrwTreeDisplay(dir,depth)
|
||||
call setline(line("$")+1,a:depth.shortdir.'/')
|
||||
endif
|
||||
" call Decho("setline#".line("$")." shortdir<".a:depth.shortdir.">",'~'.expand("<slnum>"))
|
||||
|
||||
" append a / to dir if its missing one
|
||||
let dir= a:dir
|
||||
|
||||
@@ -9334,7 +9379,7 @@ fun! s:NetrwTreeDisplay(dir,depth)
|
||||
let listhide= split(g:netrw_list_hide,',')
|
||||
" call Decho("listhide=".string(listhide))
|
||||
for pat in listhide
|
||||
call filter(w:netrw_treedict[dir],'v:val !~ "'.pat.'"')
|
||||
call filter(w:netrw_treedict[dir],'v:val !~ "'.escape(pat,'\\').'"')
|
||||
endfor
|
||||
|
||||
elseif g:netrw_hide == 2
|
||||
@@ -9472,6 +9517,7 @@ fun! s:NetrwTreeListing(dirname)
|
||||
" call Decho("g:netrw_banner=".g:netrw_banner.": banner ".(g:netrw_banner? "enabled" : "suppressed").": (line($)=".line("$")." byte2line(1)=".byte2line(1)." bannercnt=".w:netrw_bannercnt.")",'~'.expand("<slnum>"))
|
||||
|
||||
" display from treetop on down
|
||||
" call Decho("(s:NetrwTreeListing) w:netrw_treetop<".w:netrw_treetop.">")
|
||||
NetrwKeepj call s:NetrwTreeDisplay(w:netrw_treetop,"")
|
||||
" call Decho("s:NetrwTreeDisplay) setl noma nomod ro",'~'.expand("<slnum>"))
|
||||
|
||||
@@ -9742,7 +9788,7 @@ fun! s:PerformListing(islocal)
|
||||
|
||||
" Hiding... -or- Showing... {{{3
|
||||
if g:netrw_banner
|
||||
" call Decho("--handle hiding/showing (g:netrw_hide=".g:netrw_hide." g:netrw_list_hide<".g:netrw_list_hide.">)",'~'.expand("<slnum>"))
|
||||
" call Decho("--handle hiding/showing in banner (g:netrw_hide=".g:netrw_hide." g:netrw_list_hide<".g:netrw_list_hide.">)",'~'.expand("<slnum>"))
|
||||
if g:netrw_list_hide != "" && g:netrw_hide
|
||||
if g:netrw_hide == 1
|
||||
NetrwKeepj put ='\" Hiding: '.g:netrw_list_hide
|
||||
@@ -9795,7 +9841,7 @@ fun! s:PerformListing(islocal)
|
||||
" call Decho("g:netrw_banner=".g:netrw_banner.": banner ".(g:netrw_banner? "enabled" : "suppressed").": (line($)=".line("$")." byte2line(1)=".byte2line(1)." bannercnt=".w:netrw_bannercnt.")",'~'.expand("<slnum>"))
|
||||
|
||||
if !g:netrw_banner || line("$") >= w:netrw_bannercnt
|
||||
" call Decho("manipulate directory listing (hide)",'~'.expand("<slnum>"))
|
||||
" call Decho("manipulate directory listing (support hide)",'~'.expand("<slnum>"))
|
||||
" call Decho("g:netrw_hide=".g:netrw_hide." g:netrw_list_hide<".g:netrw_list_hide.">",'~'.expand("<slnum>"))
|
||||
if g:netrw_hide && g:netrw_list_hide != ""
|
||||
NetrwKeepj call s:NetrwListHide()
|
||||
@@ -11808,7 +11854,7 @@ endfun
|
||||
" ---------------------------------------------------------------------
|
||||
" s:NetrwEnew: opens a new buffer, passes netrw buffer variables through {{{2
|
||||
fun! s:NetrwEnew(...)
|
||||
" call Dfunc("s:NetrwEnew() a:0=".a:0." bufnr($)=".bufnr("$")." expand(%)<".expand("%").">")
|
||||
" call Dfunc("s:NetrwEnew() a:0=".a:0." win#".winnr()." winnr($)=".winnr("$")." bufnr($)=".bufnr("$")." expand(%)<".expand("%").">")
|
||||
" call Decho("curdir<".((a:0>0)? a:1 : "")."> buf#".bufnr("%")."<".bufname("%").">",'~'.expand("<slnum>"))
|
||||
|
||||
" grab a function-local-variable copy of buffer variables
|
||||
@@ -11875,6 +11921,9 @@ fun! s:NetrwEnew(...)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
if v:version >= 700 && has("balloon_eval") && !exists("s:initbeval") && !exists("g:netrw_nobeval") && has("syntax") && exists("g:syntax_on")
|
||||
let &l:bexpr = "netrw#BalloonHelp()"
|
||||
endif
|
||||
|
||||
" call Dret("s:NetrwEnew : buf#".bufnr("%")."<".bufname("%")."> expand(%)<".expand("%")."> expand(#)<".expand("#")."> bh=".&bh." win#".winnr()." winnr($)#".winnr("$"))
|
||||
endfun
|
||||
@@ -11934,6 +11983,7 @@ endfun
|
||||
" -1=failed
|
||||
fun! s:NetrwLcd(newdir)
|
||||
" call Dfunc("s:NetrwLcd(newdir<".a:newdir.">)")
|
||||
" call Decho("changing local directory",'~'.expand("<slnum>"))
|
||||
|
||||
let err472= 0
|
||||
try
|
||||
@@ -11969,6 +12019,8 @@ fun! s:NetrwLcd(newdir)
|
||||
return -1
|
||||
endif
|
||||
|
||||
" call Decho("getcwd <".getcwd().">")
|
||||
" call Decho("b:netrw_curdir<".b:netrw_curdir.">")
|
||||
" call Dret("s:NetrwLcd 0")
|
||||
return 0
|
||||
endfun
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" netrwFileHandlers: contains various extension-based file handlers for
|
||||
" netrw's browsers' x command ("eXecute launcher")
|
||||
" Author: Charles E. Campbell
|
||||
" Date: May 03, 2013
|
||||
" Version: 11b ASTRO-ONLY
|
||||
" Date: Sep 18, 2020
|
||||
" Version: 11
|
||||
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
@@ -20,7 +20,7 @@
|
||||
if exists("g:loaded_netrwFileHandlers") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwFileHandlers= "v11b"
|
||||
let g:loaded_netrwFileHandlers= "v11"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrwFileHandlers needs vim 7.2"
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
"python3complete.vim - Omni Completion for python
|
||||
" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
||||
" Maintainer: <vacancy>
|
||||
" Previous Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
||||
" Version: 0.9
|
||||
" Last Updated: 18 Jun 2009 (small fix 2015 Sep 14 from Debian)
|
||||
" Last Updated: 2020 Oct 9
|
||||
"
|
||||
" Roland Puntaier: this file contains adaptations for python3 and is parallel to pythoncomplete.vim
|
||||
"
|
||||
@@ -83,7 +84,7 @@ function! python3complete#Complete(findstart, base)
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
execute "py3 vimpy3complete('" . cword . "', '" . a:base . "')"
|
||||
execute "py3 vimpy3complete('" . escape(cword, "'") . "', '" . escape(a:base, "'") . "')"
|
||||
return g:python3complete_completions
|
||||
endif
|
||||
endfunction
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
"pythoncomplete.vim - Omni Completion for python
|
||||
" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
||||
" Maintainer: <vacancy>
|
||||
" Previous Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
||||
" Version: 0.9
|
||||
" Last Updated: 18 Jun 2009
|
||||
" Last Updated: 2020 Oct 9
|
||||
"
|
||||
" Changes
|
||||
" TODO:
|
||||
@@ -81,7 +82,7 @@ function! pythoncomplete#Complete(findstart, base)
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
execute "python vimcomplete('" . cword . "', '" . a:base . "')"
|
||||
execute "python vimcomplete('" . escape(cword, "'") . "', '" . escape(a:base, "'") . "')"
|
||||
return g:pythoncomplete_completions
|
||||
endif
|
||||
endfunction
|
||||
|
||||
@@ -163,7 +163,7 @@ fun! tar#Browse(tarfile)
|
||||
" call Decho("1: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
|
||||
elseif tarfile =~# '\.\(tgz\)$' || tarfile =~# '\.\(tbz\)$' || tarfile =~# '\.\(txz\)$'
|
||||
elseif tarfile =~# '\.\(tgz\)$' || tarfile =~# '\.\(tbz\)$' || tarfile =~# '\.\(txz\)$' || tarfile =~# '\.\(tzs\)$'
|
||||
if has("unix") && executable("file")
|
||||
let filekind= system("file ".shellescape(tarfile,1)) =~ "bzip2"
|
||||
else
|
||||
@@ -174,6 +174,8 @@ fun! tar#Browse(tarfile)
|
||||
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
elseif filekind =~ "XZ"
|
||||
exe "sil! r! xz -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
elseif filekind =~ "Zstandard"
|
||||
exe "sil! r! zstd --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
else
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
endif
|
||||
@@ -190,6 +192,8 @@ fun! tar#Browse(tarfile)
|
||||
elseif tarfile =~# '\.\(xz\|txz\)$'
|
||||
" call Decho("3: exe silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
|
||||
exe "sil! r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
elseif tarfile =~# '\.\(zst\|tzs\)$'
|
||||
exe "sil! r! zstd --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
else
|
||||
if tarfile =~ '^\s*-'
|
||||
" A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
|
||||
@@ -302,6 +306,9 @@ fun! tar#Read(fname,mode)
|
||||
elseif fname =~ '\.xz$' && executable("xzcat")
|
||||
let decmp= "|xzcat"
|
||||
let doro = 1
|
||||
elseif fname =~ '\.zst$' && executable("zstdcat")
|
||||
let decmp= "|zstdcat"
|
||||
let doro = 1
|
||||
else
|
||||
let decmp=""
|
||||
let doro = 0
|
||||
@@ -331,6 +338,8 @@ fun! tar#Read(fname,mode)
|
||||
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
elseif filekind =~ "XZ"
|
||||
exe "sil! r! xz -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
elseif filekind =~ "Zstandard"
|
||||
exe "sil! r! zstd --decompress --stdout -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
else
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
endif
|
||||
@@ -452,6 +461,10 @@ fun! tar#Write(fname)
|
||||
let tarfile = substitute(tarfile,'\.xz','','e')
|
||||
let compress= "xz -- ".shellescape(tarfile,0)
|
||||
" call Decho("compress<".compress.">")
|
||||
elseif tarfile =~# '\.zst'
|
||||
call system("zstd --decompress -- ".shellescape(tarfile,0))
|
||||
let tarfile = substitute(tarfile,'\.zst','','e')
|
||||
let compress= "zstd -- ".shellescape(tarfile,0)
|
||||
elseif tarfile =~# '\.lzma'
|
||||
call system("lzma -d -- ".shellescape(tarfile,0))
|
||||
let tarfile = substitute(tarfile,'\.lzma','','e')
|
||||
@@ -676,6 +689,28 @@ fun! tar#Extract()
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
elseif filereadable(tarbase.".tzs")
|
||||
let extractcmd= substitute(extractcmd,"-","--zstd","")
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tzs ".shellescape(fname).")")
|
||||
call system(extractcmd." ".shellescape(tarbase).".txz ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tzs ".fname.": failed!" | echohl NONE
|
||||
" call Decho("***error*** ".extractcmd." ".tarbase.".tzs ".fname.": failed!")
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
elseif filereadable(tarbase.".tar.zst")
|
||||
let extractcmd= substitute(extractcmd,"-","--zstd","")
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tar.zst ".shellescape(fname).")")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tar.xz ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tar.zst ".fname.": failed!" | echohl NONE
|
||||
" call Decho("***error*** ".extractcmd." ".tarbase.".tar.zst ".fname.": failed!")
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
endif
|
||||
|
||||
" restore option
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" zip.vim: Handles browsing zipfiles
|
||||
" AUTOLOAD PORTION
|
||||
" Date: Jan 07, 2020
|
||||
" Version: 30
|
||||
" Version: 31
|
||||
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" License: Vim License (see vim's :help license)
|
||||
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
|
||||
@@ -20,7 +20,7 @@
|
||||
if &cp || exists("g:loaded_zip")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_zip= "v30"
|
||||
let g:loaded_zip= "v31"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of zip needs vim 7.2 or later"
|
||||
@@ -65,7 +65,7 @@ endif
|
||||
" zip#Browse: {{{2
|
||||
fun! zip#Browse(zipfile)
|
||||
" call Dfunc("zip#Browse(zipfile<".a:zipfile.">)")
|
||||
" sanity check: ensure that the zipfile has "PK" as its first two letters
|
||||
" sanity check: insure that the zipfile has "PK" as its first two letters
|
||||
" (zipped files have a leading PK as a "magic cookie")
|
||||
if !filereadable(a:zipfile) || readfile(a:zipfile, "", 1)[0] !~ '^PK'
|
||||
exe "noswapfile noautocmd noswapfile e ".fnameescape(a:zipfile)
|
||||
|
||||
@@ -67,7 +67,7 @@ You can use ":highlight" to find out the current colors. Exception: the
|
||||
ctermfg and ctermbg values are numbers, which are only valid for the current
|
||||
terminal. Use the color names instead. See ":help cterm-colors".
|
||||
|
||||
The default color settings can be found in the source file src/syntax.c.
|
||||
The default color settings can be found in the source file src/highlight.c.
|
||||
Search for "highlight_init".
|
||||
|
||||
If you think you have a color scheme that is good enough to be used by others,
|
||||
|
||||
26
runtime/compiler/dart.vim
Normal file
26
runtime/compiler/dart.vim
Normal file
@@ -0,0 +1,26 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Dart VM
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 May 08
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "dart"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=dart
|
||||
CompilerSet errorformat=%E%f:%l:%c:\ Error:\ %m,
|
||||
\%CTry\ %.%#,
|
||||
\%Z\ %#^%\\+,
|
||||
\%C%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
28
runtime/compiler/dart2js.vim
Normal file
28
runtime/compiler/dart2js.vim
Normal file
@@ -0,0 +1,28 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Dart to JavaScript Compiler
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 May 08
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "dart2js"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=dart2js
|
||||
CompilerSet errorformat=%E%f:%l:%c:,
|
||||
\%-GError:\ Compilation\ failed.,
|
||||
\%CError:\ %m,
|
||||
\%Z\ %#^%\\+,
|
||||
\%C%.%#,
|
||||
\%trror:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
28
runtime/compiler/dart2native.vim
Normal file
28
runtime/compiler/dart2native.vim
Normal file
@@ -0,0 +1,28 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Dart to Native Compiler
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 May 08
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "dart2native"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=dart2native
|
||||
CompilerSet errorformat=%E%f:%l:%c:\ Error:\ %m,
|
||||
\%CTry\ %.%#,
|
||||
\%Z\ %#^%\\+,
|
||||
\%Z%$,
|
||||
\%C%.%#,
|
||||
\%E%f:\ %trror:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
23
runtime/compiler/dartanalyser.vim
Normal file
23
runtime/compiler/dartanalyser.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Dart Analyzer
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 May 08
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "dartanalyzer"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=dartanalyzer\ --format\ machine
|
||||
CompilerSet errorformat=%t%\\w%\\+\|%\\w%\\+\|%\\w%\\+\|%f\|%l\|%c\|%\\d%\\+\|%m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
28
runtime/compiler/dartdevc.vim
Normal file
28
runtime/compiler/dartdevc.vim
Normal file
@@ -0,0 +1,28 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Dart Development Compiler
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 May 08
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "dartdevc"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=dartdevc
|
||||
CompilerSet errorformat=%E%f:%l:%c:\ Error:\ %m,
|
||||
\%CTry\ %.%#,
|
||||
\%Z\ %#^%\\+,
|
||||
\%Z%$,
|
||||
\%C%.%#,
|
||||
\%E%f:\ %trror:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
26
runtime/compiler/dartdoc.vim
Normal file
26
runtime/compiler/dartdoc.vim
Normal file
@@ -0,0 +1,26 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Dart Documentation Generator
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 May 08
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "dartdoc"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=dartdoc
|
||||
CompilerSet errorformat=\ \ %tarning:\ %m,
|
||||
\\ \ %trror:\ %m,
|
||||
\%+EGeneration\ failed:\ %m,
|
||||
\%+ISuccess!\ Docs\ generated\ into\ %f,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
25
runtime/compiler/dartfmt.vim
Normal file
25
runtime/compiler/dartfmt.vim
Normal file
@@ -0,0 +1,25 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Dart Formatter
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 May 08
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "dartfmt"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=dartfmt
|
||||
CompilerSet errorformat=%Eline\ %l\\,\ column\ %c\ of\ %f:\ %m,
|
||||
\%Z\ %\\{3}│\ %\\+^%\\+,
|
||||
\%C%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: ESLint for JavaScript
|
||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||
" Last Change: 2020 May 17
|
||||
" Last Change: 2020 August 20
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -12,5 +12,5 @@ if exists(":CompilerSet") != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=eslint\ --format\ compact
|
||||
CompilerSet makeprg=npx\ eslint\ --format\ compact
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#
|
||||
|
||||
27
runtime/compiler/fbc.vim
Normal file
27
runtime/compiler/fbc.vim
Normal file
@@ -0,0 +1,27 @@
|
||||
" Vim compiler file
|
||||
" Compiler: FreeBASIC Compiler
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2015 Jan 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "fbc"
|
||||
|
||||
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=fbc
|
||||
CompilerSet errorformat=%-G%.%#Too\ many\ errors\\,\ exiting,
|
||||
\%f(%l)\ %tarning\ %n(%\\d%\\+):\ %m,
|
||||
\%E%f(%l)\ error\ %n:\ %m,
|
||||
\%-Z%p^,
|
||||
\%-C%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: javac
|
||||
" Compiler: Java Development Kit Compiler
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2004 Nov 27
|
||||
" Last Change: 2019 Oct 21
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -12,6 +12,15 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=javac
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet errorformat=%E%f:%l:\ %m,%-Z%p^,%-C%.%#,%-G%.%#
|
||||
CompilerSet makeprg=javac
|
||||
CompilerSet errorformat=%E%f:%l:\ error:\ %m,
|
||||
\%W%f:%l:\ warning:\ %m,
|
||||
\%-Z%p^,
|
||||
\%-C%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
" Vim Compiler File
|
||||
" Compiler: ocaml
|
||||
" Maintainer: Markus Mottl <markus.mottl@gmail.com>
|
||||
" URL: https://github.com/rgrinberg/vim-ocaml
|
||||
" URL: https://github.com/ocaml/vim-ocaml
|
||||
" Last Change:
|
||||
" 2020 Mar 28 - Improved error format (Thomas Leonard)
|
||||
" 2017 Nov 26 - Improved error format (Markus Mottl)
|
||||
" 2013 Aug 27 - Added a new OCaml error format (Markus Mottl)
|
||||
" 2013 Jun 30 - Initial version (Marc Weber)
|
||||
"
|
||||
" Marc Weber's comments:
|
||||
" Setting makeprg doesn't make sense, because there is ocamlc, ocamlopt,
|
||||
@@ -21,6 +21,7 @@
|
||||
"
|
||||
" So having it here makes people opt-in
|
||||
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
@@ -30,6 +31,7 @@ let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet errorformat =
|
||||
\%EFile\ \"%f\"\\,\ lines\ %*\\d-%l\\,\ characters\ %c-%*\\d:,
|
||||
\%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d:,
|
||||
\%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d\ %.%#,
|
||||
\%EFile\ \"%f\"\\,\ line\ %l\\,\ character\ %c:%m,
|
||||
|
||||
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
|
||||
25
runtime/compiler/shellcheck.vim
Normal file
25
runtime/compiler/shellcheck.vim
Normal file
@@ -0,0 +1,25 @@
|
||||
" Vim compiler file
|
||||
" Compiler: ShellCheck
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Sep 4
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "shellcheck"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=shellcheck\ -f\ gcc
|
||||
CompilerSet errorformat=%f:%l:%c:\ %trror:\ %m\ [SC%n],
|
||||
\%f:%l:%c:\ %tarning:\ %m\ [SC%n],
|
||||
\%f:%l:%c:\ %tote:\ %m\ [SC%n],
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Standard for JavaScript
|
||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||
" Last Change: 2020 May 17
|
||||
" Last Change: 2020 August 20
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -12,5 +12,5 @@ if exists(":CompilerSet") != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=standard
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#
|
||||
CompilerSet makeprg=npx\ standard
|
||||
CompilerSet errorformat=%f:%l:%c:\ %m,%-G%.%#
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: HTML Tidy
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2016 Apr 21
|
||||
" Last Change: 2020 Sep 4
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -12,8 +12,15 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=tidy\ -quiet\ -errors\ --gnu-emacs\ yes\ %:S
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" foo.html:8:1: Warning: inserting missing 'foobar' element
|
||||
" foo.html:9:2: Error: <foobar> is not recognized!
|
||||
CompilerSet errorformat=%f:%l:%c:\ %trror:%m,%f:%l:%c:\ %tarning:%m,%-G%.%#
|
||||
CompilerSet makeprg=tidy\ -quiet\ -errors\ --gnu-emacs\ yes
|
||||
CompilerSet errorformat=%f:%l:%c:\ %trror:\ %m,
|
||||
\%f:%l:%c:\ %tarning:\ %m,
|
||||
\%f:%l:%c:\ %tnfo:\ %m,
|
||||
\%f:%l:%c:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: xmllint
|
||||
" Compiler: Libxml2 Command-Line Tool
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2013 Jul 8
|
||||
" Last Change: 2020 Jul 30
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -13,14 +13,16 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=xmllint\ --valid\ --noout
|
||||
|
||||
CompilerSet errorformat=%+E%f:%l:\ %.%#\ error\ :\ %m,
|
||||
\%+W%f:%l:\ %.%#\ warning\ :\ %m,
|
||||
\%-Z%p^,
|
||||
\%-G%.%#
|
||||
CompilerSet errorformat=%E%f:%l:\ %.%#\ error\ :\ %m,
|
||||
\%W%f:%l:\ %.%#\ warning\ :\ %m,
|
||||
\%-Z%p^,
|
||||
\%C%.%#,
|
||||
\%terror:\ %m,
|
||||
\%tarning:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
23
runtime/compiler/zsh.vim
Normal file
23
runtime/compiler/zsh.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Zsh
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Sep 6
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "zsh"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=zsh\ -n\ --\ %:S
|
||||
CompilerSet errorformat=%f:\ line\ %l:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,7 +1,7 @@
|
||||
" The default vimrc file.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last change: 2019 Oct 27
|
||||
" Last change: 2020 Sep 30
|
||||
"
|
||||
" This is loaded if no vimrc file was found.
|
||||
" Except when Vim is run with "-u NONE" or "-C".
|
||||
@@ -85,17 +85,6 @@ if has('mouse')
|
||||
endif
|
||||
endif
|
||||
|
||||
" Switch syntax highlighting on when the terminal has colors or when using the
|
||||
" GUI (which always has colors).
|
||||
if &t_Co > 2 || has("gui_running")
|
||||
" Revert with ":syntax off".
|
||||
syntax on
|
||||
|
||||
" I like highlighting strings inside C comments.
|
||||
" Revert with ":unlet c_comment_strings".
|
||||
let c_comment_strings=1
|
||||
endif
|
||||
|
||||
" Only do this part when Vim was compiled with the +eval feature.
|
||||
if 1
|
||||
|
||||
@@ -124,6 +113,17 @@ if 1
|
||||
|
||||
endif
|
||||
|
||||
" Switch syntax highlighting on when the terminal has colors or when using the
|
||||
" GUI (which always has colors).
|
||||
if &t_Co > 2 || has("gui_running")
|
||||
" Revert with ":syntax off".
|
||||
syntax on
|
||||
|
||||
" I like highlighting strings inside C comments.
|
||||
" Revert with ":unlet c_comment_strings".
|
||||
let c_comment_strings=1
|
||||
endif
|
||||
|
||||
" Convenient command to see the difference between the current buffer and the
|
||||
" file it was loaded from, thus the changes you made.
|
||||
" Only define it when not defined already.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2020 Aug 02
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2020 Dec 19
|
||||
|
||||
|
||||
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.
|
||||
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
|
||||
'|' appears before {cmd}. This works: >
|
||||
:augroup mine | au! BufRead | augroup END
|
||||
@@ -278,7 +283,7 @@ Name triggered by ~
|
||||
|BufWinLeave| before a buffer is removed from a window
|
||||
|
||||
|BufUnload| before unloading a buffer
|
||||
|BufHidden| just after a buffer has become hidden
|
||||
|BufHidden| just before a buffer becomes hidden
|
||||
|BufNew| just after creating a new buffer
|
||||
|
||||
|SwapExists| detected an existing swap file
|
||||
@@ -301,6 +306,9 @@ Name triggered by ~
|
||||
|VimLeavePre| before exiting Vim, before 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
|
||||
|TerminalOpen| after a terminal buffer was created
|
||||
|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 After moving the cursor to the command line,
|
||||
where the user can type a command or search
|
||||
string.
|
||||
string; including non-interactive use of ":"
|
||||
in a mapping, but not when using |<Cmd>|.
|
||||
<afile> is set to a single character,
|
||||
indicating the type of command-line.
|
||||
|cmdwin-char|
|
||||
*CmdlineLeave*
|
||||
CmdlineLeave Before leaving the command line.
|
||||
CmdlineLeave Before leaving the command line; including
|
||||
non-interactive use of ":" in a mapping, but
|
||||
not when using |<Cmd>|.
|
||||
Also when abandoning the command line, after
|
||||
typing CTRL-C or <Esc>.
|
||||
When the commands result in an error the
|
||||
@@ -631,7 +642,7 @@ CompleteDone After Insert mode completion is done. Either
|
||||
|
||||
*CursorHold*
|
||||
CursorHold When the user doesn't press a key for the time
|
||||
specified with 'updatetime'. Not re-triggered
|
||||
specified with 'updatetime'. Not triggered
|
||||
until the user has pressed a key (i.e. doesn't
|
||||
fire every 'updatetime' ms if you leave Vim to
|
||||
make some coffee. :) See |CursorHold-example|
|
||||
@@ -840,6 +851,8 @@ FuncUndefined When a user function is used but it isn't
|
||||
when it's used. The pattern is matched
|
||||
against the function name. Both <amatch> and
|
||||
<afile> are set to the name of the function.
|
||||
Not triggered when compiling a |Vim9|
|
||||
function.
|
||||
NOTE: When writing Vim scripts a better
|
||||
alternative is to use an autoloaded function.
|
||||
See |autoload-functions|.
|
||||
@@ -881,9 +894,14 @@ InsertEnter Just before starting Insert mode. Also for
|
||||
The cursor is restored afterwards. If you do
|
||||
not want that set |v:char| to a non-empty
|
||||
string.
|
||||
*InsertLeavePre*
|
||||
InsertLeavePre Just before leaving Insert mode. Also when
|
||||
using CTRL-O |i_CTRL-O|. Be careful not to
|
||||
change mode or use `:normal`, it will likely
|
||||
cause trouble.
|
||||
*InsertLeave*
|
||||
InsertLeave When leaving Insert mode. Also when using
|
||||
CTRL-O |i_CTRL-O|. But not for |i_CTRL-C|.
|
||||
InsertLeave Just after leaving Insert mode. Also when
|
||||
using CTRL-O |i_CTRL-O|. But not for |i_CTRL-C|.
|
||||
*MenuPopup*
|
||||
MenuPopup Just before showing the popup menu (under the
|
||||
right mouse button). Useful for adjusting the
|
||||
@@ -1202,6 +1220,7 @@ VimLeave Before exiting Vim, just after writing the
|
||||
To detect an abnormal exit use |v:dying|.
|
||||
When v:dying is 2 or more this event is not
|
||||
triggered.
|
||||
To get the exit code use |v:exiting|.
|
||||
*VimLeavePre*
|
||||
VimLeavePre Before exiting Vim, just before writing the
|
||||
.viminfo file. This is executed only once,
|
||||
@@ -1212,10 +1231,22 @@ VimLeavePre Before exiting Vim, just before writing the
|
||||
< To detect an abnormal exit use |v:dying|.
|
||||
When v:dying is 2 or more this event is not
|
||||
triggered.
|
||||
To get the exit code use |v:exiting|.
|
||||
*VimResized*
|
||||
VimResized After the Vim window was resized, thus 'lines'
|
||||
and/or 'columns' changed. Not when starting
|
||||
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 After entering another window. Not done for
|
||||
the first window, when Vim has just started.
|
||||
|
||||
@@ -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: 2021 Jan 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -153,7 +153,7 @@ the 'joinspaces' option is on, these commands insert two spaces after a '.',
|
||||
'!' or '?' (but if 'cpoptions' includes the 'j' flag, they insert two spaces
|
||||
only after a '.').
|
||||
The 'B' and 'M' flags in 'formatoptions' change the behavior for inserting
|
||||
spaces before and after a multi-byte character |fo-table|.
|
||||
spaces before and after a multibyte character |fo-table|.
|
||||
|
||||
The '[ mark is set at the end of the first line that was joined, '] at the end
|
||||
of the resulting line.
|
||||
@@ -1631,24 +1631,31 @@ default setting is "tcq". You can separate the option letters with commas for
|
||||
readability.
|
||||
|
||||
letter meaning when present in 'formatoptions' ~
|
||||
|
||||
*fo-t*
|
||||
t Auto-wrap text using textwidth
|
||||
*fo-c*
|
||||
c Auto-wrap comments using textwidth, inserting the current comment
|
||||
leader automatically.
|
||||
*fo-r*
|
||||
r Automatically insert the current comment leader after hitting
|
||||
<Enter> in Insert mode.
|
||||
*fo-o*
|
||||
o Automatically insert the current comment leader after hitting 'o' or
|
||||
'O' in Normal mode.
|
||||
*fo-q*
|
||||
q Allow formatting of comments with "gq".
|
||||
Note that formatting will not change blank lines or lines containing
|
||||
only the comment leader. A new paragraph starts after such a line,
|
||||
or when the comment leader changes.
|
||||
*fo-w*
|
||||
w Trailing white space indicates a paragraph continues in the next line.
|
||||
A line that ends in a non-white character ends a paragraph.
|
||||
*fo-a*
|
||||
a Automatic formatting of paragraphs. Every time text is inserted or
|
||||
deleted the paragraph will be reformatted. See |auto-format|.
|
||||
When the 'c' flag is present this only happens for recognized
|
||||
comments.
|
||||
*fo-n*
|
||||
n When formatting text, recognize numbered lists. This actually uses
|
||||
the 'formatlistpat' option, thus any kind of list can be used. The
|
||||
indent of the text after the number is used for the next line. The
|
||||
@@ -1659,6 +1666,7 @@ n When formatting text, recognize numbered lists. This actually uses
|
||||
1. the first item
|
||||
wraps
|
||||
2. the second item
|
||||
< *fo-2*
|
||||
2 When formatting text, use the indent of the second line of a paragraph
|
||||
for the rest of the paragraph, instead of the indent of the first
|
||||
line. This supports paragraphs in which the first line has a
|
||||
@@ -1668,36 +1676,46 @@ n When formatting text, recognize numbered lists. This actually uses
|
||||
second line of the same paragraph
|
||||
third line.
|
||||
< This also works inside comments, ignoring the comment leader.
|
||||
*fo-v*
|
||||
v Vi-compatible auto-wrapping in insert mode: Only break a line at a
|
||||
blank that you have entered during the current insert command. (Note:
|
||||
this is not 100% Vi compatible. Vi has some "unexpected features" or
|
||||
bugs in this area. It uses the screen column instead of the line
|
||||
column.)
|
||||
*fo-b*
|
||||
b Like 'v', but only auto-wrap if you enter a blank at or before
|
||||
the wrap margin. If the line was longer than 'textwidth' when you
|
||||
started the insert, or you do not enter a blank in the insert before
|
||||
reaching 'textwidth', Vim does not perform auto-wrapping.
|
||||
*fo-l*
|
||||
l Long lines are not broken in insert mode: When a line was longer than
|
||||
'textwidth' when the insert command started, Vim does not
|
||||
automatically format it.
|
||||
m Also break at a multi-byte character above 255. This is useful for
|
||||
*fo-m*
|
||||
m Also break at a multibyte character above 255. This is useful for
|
||||
Asian text where every character is a word on its own.
|
||||
M When joining lines, don't insert a space before or after a multi-byte
|
||||
*fo-M*
|
||||
M When joining lines, don't insert a space before or after a multibyte
|
||||
character. Overrules the 'B' flag.
|
||||
B When joining lines, don't insert a space between two multi-byte
|
||||
*fo-B*
|
||||
B When joining lines, don't insert a space between two multibyte
|
||||
characters. Overruled by the 'M' flag.
|
||||
*fo-1*
|
||||
1 Don't break a line after a one-letter word. It's broken before it
|
||||
instead (if possible).
|
||||
*fo-]*
|
||||
] Respect textwidth rigorously. With this flag set, no line can be
|
||||
longer than textwidth, unless line-break-prohibition rules make this
|
||||
impossible. Mainly for CJK scripts and works only if 'encoding' is
|
||||
"utf-8".
|
||||
*fo-j*
|
||||
j Where it makes sense, remove a comment leader when joining lines. For
|
||||
example, joining:
|
||||
int i; // the index ~
|
||||
// in the list ~
|
||||
Becomes:
|
||||
int i; // the index in the list ~
|
||||
*fo-p*
|
||||
p Don't break lines at single spaces that follow periods. This is
|
||||
intended to complement 'joinspaces' and |cpo-J|, for prose with
|
||||
sentences separated by two spaces. For example, with 'textwidth' set
|
||||
@@ -1801,7 +1819,7 @@ Vim has a sorting function and a sorting command. The sorting function can be
|
||||
found here: |sort()|, |uniq()|.
|
||||
|
||||
*:sor* *:sort*
|
||||
:[range]sor[t][!] [b][f][i][n][o][r][u][x] [/{pattern}/]
|
||||
:[range]sor[t][!] [b][f][i][l][n][o][r][u][x] [/{pattern}/]
|
||||
Sort lines in [range]. When no range is given all
|
||||
lines are sorted.
|
||||
|
||||
@@ -1809,6 +1827,16 @@ found here: |sort()|, |uniq()|.
|
||||
|
||||
With [i] case is ignored.
|
||||
|
||||
With [l] sort uses the current collation locale.
|
||||
Implementation details: strcoll() is used to compare
|
||||
strings. See |:language| to check or set the collation
|
||||
locale. Example: >
|
||||
:language collate en_US.UTF-8
|
||||
:%sort l
|
||||
< |v:collate| can also used to check the current locale.
|
||||
Sorting using the locale typically ignores case.
|
||||
This does not work properly on Mac.
|
||||
|
||||
Options [n][f][x][o][b] are mutually exclusive.
|
||||
|
||||
With [n] sorting is done on the first decimal number
|
||||
@@ -1842,6 +1870,8 @@ found here: |sort()|, |uniq()|.
|
||||
When /{pattern}/ is specified and there is no [r] flag
|
||||
the text matched with {pattern} is skipped, so that
|
||||
you sort on what comes after the match.
|
||||
'ignorecase' applies to the pattern, but 'smartcase'
|
||||
is not used.
|
||||
Instead of the slash any non-letter can be used.
|
||||
For example, to sort on the second comma-separated
|
||||
field: >
|
||||
@@ -1875,8 +1905,7 @@ found here: |sort()|, |uniq()|.
|
||||
Note that using `:sort` with `:global` doesn't sort the matching lines, it's
|
||||
quite useless.
|
||||
|
||||
The details about sorting depend on the library function used. There is no
|
||||
guarantee that sorting obeys the current locale. You will have to try it out.
|
||||
`:sort` does not use the current locale unless the l flag is used.
|
||||
Vim does do a "stable" sort.
|
||||
|
||||
The sorting can be interrupted, but if you interrupt it too late in the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*channel.txt* For Vim version 8.2. Last change: 2020 Jul 10
|
||||
*channel.txt* For Vim version 8.2. Last change: 2020 Oct 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -608,6 +608,10 @@ ch_logfile({fname} [, {mode}]) *ch_logfile()*
|
||||
after every message, on Unix you can use "tail -f" to see what
|
||||
is going on in real time.
|
||||
|
||||
To enable the log very early, to see what is received from a
|
||||
terminal during startup, use |--cmd|: >
|
||||
vim --cmd "call ch_logfile('logfile', 'w')"
|
||||
<
|
||||
This function is not available in the |sandbox|.
|
||||
NOTE: the channel communication is stored in the file, be
|
||||
aware that this may contain confidential and privacy sensitive
|
||||
@@ -961,6 +965,10 @@ job_status({job}) *job_status()* *E916*
|
||||
"fail", because a fork happens before the failure can be
|
||||
detected.
|
||||
|
||||
If in Vim9 script a variable is declared with type "job" but
|
||||
never assigned to, passing that variable to job_status()
|
||||
returns "fail".
|
||||
|
||||
If an exit callback was set with the "exit_cb" option and the
|
||||
job is now detected to be "dead" the callback will be invoked.
|
||||
|
||||
@@ -1256,7 +1264,9 @@ After setting 'buftype' to "prompt" Vim does not automatically start Insert
|
||||
mode, use `:startinsert` if you want to enter Insert mode, so that the user
|
||||
can start typing a line.
|
||||
|
||||
The text of the prompt can be set with the |prompt_setprompt()| function.
|
||||
The text of the prompt can be set with the |prompt_setprompt()| function. If
|
||||
no prompt is set with |prompt_setprompt()|, "% " is used. You can get the
|
||||
effective prompt text for a buffer, with |prompt_getprompt()|.
|
||||
|
||||
The user can go to Normal mode and navigate through the buffer. This can be
|
||||
useful to see older output or copy text.
|
||||
@@ -1282,7 +1292,7 @@ prompt. >
|
||||
" Send the text to a shell with Enter appended.
|
||||
call ch_sendraw(g:shell_job, a:text .. "\n")
|
||||
endfunc
|
||||
|
||||
|
||||
" Function handling output from the shell: Added above the prompt.
|
||||
func GotOutput(channel, msg)
|
||||
call append(line("$") - 1, "- " . a:msg)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2020 Aug 09
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2020 Dec 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -797,7 +797,7 @@ three lines: >
|
||||
<
|
||||
|
||||
Visual Mode and Range *v_:*
|
||||
|
||||
*:star-visual-range*
|
||||
{Visual}: Starts a command-line with the Visual selected lines as a
|
||||
range. The code `:'<,'>` is used for this range, which makes
|
||||
it possible to select a similar line from the command-line
|
||||
@@ -849,6 +849,16 @@ function |expand()|.
|
||||
file name n. See |:oldfiles| or |v:oldfiles| to get the
|
||||
number. *E809*
|
||||
{only when compiled with the |+eval| and |+viminfo| features}
|
||||
In |Vim9-script| # is used to start a comment, use %% for the alternate file
|
||||
name:
|
||||
% Is replaced with the current file name.
|
||||
%% Is replaced with the alternate file name. *:_%%* *c_%%*
|
||||
%%n (where n is a number) is replaced with *:_%%0* *:_%%n*
|
||||
the file name of buffer n. "%%0" is the same as "%%". *c_%%n*
|
||||
%%% Is replaced with all names in the argument *:_%%%* *c_%%%#*
|
||||
list concatenated, separated by spaces.
|
||||
%%<n (where n is a number > 0) is replaced with old *:_%%<* *c_%%<*
|
||||
file name n.
|
||||
|
||||
Note that these, except "#<n", give the file name as it was typed. If an
|
||||
absolute path is needed (when using the file name from a different directory),
|
||||
@@ -873,34 +883,37 @@ it, no matter how many backslashes.
|
||||
\\# \#
|
||||
Also see |`=|.
|
||||
|
||||
*:<cword>* *<cword>* *:<cWORD>* *<cWORD>*
|
||||
*:<cexpr>* *<cexpr>* *:<cfile>* *<cfile>*
|
||||
*:<afile>* *<afile>* *:<abuf>* *<abuf>*
|
||||
*:<amatch>* *<amatch>* *:<stack>* *<stack>*
|
||||
*:<sfile>* *<sfile>* *:<slnum>* *<slnum>*
|
||||
*:<sflnum>* *<sflnum>* *E499* *E500*
|
||||
*E499* *E500*
|
||||
Note: these are typed literally, they are not special keys!
|
||||
*:<cword>* *<cword>*
|
||||
<cword> is replaced with the word under the cursor (like |star|)
|
||||
*:<cWORD>* *<cWORD>*
|
||||
<cWORD> is replaced with the WORD under the cursor (see |WORD|)
|
||||
*:<cexpr>* *<cexpr>*
|
||||
<cexpr> is replaced with the word under the cursor, including more
|
||||
to form a C expression. E.g., when the cursor is on "arg"
|
||||
of "ptr->arg" then the result is "ptr->arg"; when the
|
||||
cursor is on "]" of "list[idx]" then the result is
|
||||
"list[idx]". This is used for |v:beval_text|.
|
||||
*:<cfile>* *<cfile>*
|
||||
<cfile> is replaced with the path name under the cursor (like what
|
||||
|gf| uses)
|
||||
*:<afile>* *<afile>*
|
||||
<afile> When executing autocommands, is replaced with the file name
|
||||
of the buffer being manipulated, or the file for a read or
|
||||
write. *E495*
|
||||
*:<abuf>* *<abuf>*
|
||||
<abuf> When executing autocommands, is replaced with the currently
|
||||
effective buffer number (for ":r file" and ":so file" it is
|
||||
the current buffer, the file being read/sourced is not in a
|
||||
buffer). *E496*
|
||||
*:<amatch>* *<amatch>*
|
||||
<amatch> When executing autocommands, is replaced with the match for
|
||||
which this autocommand was executed. *E497*
|
||||
It differs from <afile> only when the file name isn't used
|
||||
to match with (for FileType, Syntax and SpellFileMissing
|
||||
events).
|
||||
*:<sfile>* *<sfile>*
|
||||
<sfile> When executing a ":source" command, is replaced with the
|
||||
file name of the sourced file. *E498*
|
||||
When executing a function, is replaced with the call stack,
|
||||
@@ -908,18 +921,24 @@ Note: these are typed literally, they are not special keys!
|
||||
<stack> is preferred).
|
||||
Note that filename-modifiers are useless when <sfile> is
|
||||
not used inside a script.
|
||||
*:<stack>* *<stack>*
|
||||
<stack> is replaced with the call stack, using
|
||||
"function {function-name}[{lnum}]" for a function line
|
||||
and "script {file-name}[{lnum}]" for a script line, and
|
||||
".." in between items. E.g.:
|
||||
"function {function-name1}[{lnum}]..{function-name2}[{lnum}]"
|
||||
*:<slnum>* *<slnum>*
|
||||
<slnum> When executing a ":source" command, is replaced with the
|
||||
line number. *E842*
|
||||
When executing a function it's the line number relative to
|
||||
the start of the function.
|
||||
*:<sflnum>* *<sflnum>*
|
||||
<sflnum> When executing a script, is replaced with the line number.
|
||||
It differs from <slnum> in that <sflnum> is replaced with
|
||||
the script line number in any situation. *E961*
|
||||
*:<client>* *<client>*
|
||||
<client> is replaced with the {clinetid} of the last received
|
||||
message in |server2client()|
|
||||
|
||||
*filename-modifiers*
|
||||
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* *::S*
|
||||
@@ -1077,7 +1096,7 @@ Also see |`=|.
|
||||
In the command-line window the command line can be edited just like editing
|
||||
text in any window. It is a special kind of window, because you cannot leave
|
||||
it in a normal way.
|
||||
{not available when compiled without the |+cmdline_hist| feature}
|
||||
{not available when compiled without the |+cmdwin| feature}
|
||||
|
||||
|
||||
OPEN *c_CTRL-F* *q:* *q/* *q?*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 8.2. Last change: 2020 Jul 27
|
||||
*develop.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -473,7 +473,7 @@ available spell checking libraries and programs. Unfortunately, the result
|
||||
was that none of them provided sufficient capabilities to be used as the spell
|
||||
checking engine in Vim, for various reasons:
|
||||
|
||||
- Missing support for multi-byte encodings. At least UTF-8 must be supported,
|
||||
- Missing support for multibyte encodings. At least UTF-8 must be supported,
|
||||
so that more than one language can be used in the same file.
|
||||
Doing on-the-fly conversion is not always possible (would require iconv
|
||||
support).
|
||||
|
||||
@@ -921,6 +921,7 @@ char digraph hex dec official name ~
|
||||
‟ 9" 201F 8223 DOUBLE HIGH-REVERSED-9 QUOTATION MARK
|
||||
† /- 2020 8224 DAGGER
|
||||
‡ /= 2021 8225 DOUBLE DAGGER
|
||||
• oo 2022 8226 BULLET
|
||||
‥ .. 2025 8229 TWO DOT LEADER
|
||||
… ,. 2026 8230 HORIZONTAL ELLIPSIS
|
||||
‰ %0 2030 8240 PER MILLE SIGN
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 8.2. Last change: 2020 Jul 05
|
||||
*editing.txt* For Vim version 8.2. Last change: 2021 Jan 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -73,10 +73,14 @@ g CTRL-G Prints the current position of the cursor in five
|
||||
ways: Column, Line, Word, Character and Byte. If the
|
||||
number of Characters and Bytes is the same then the
|
||||
Character position is omitted.
|
||||
|
||||
If there are characters in the line that take more
|
||||
than one position on the screen (<Tab> or special
|
||||
character), both the "real" column and the screen
|
||||
column are shown, separated with a dash.
|
||||
character), or characters using more than one byte per
|
||||
column (characters above 0x7F when 'encoding' is
|
||||
utf-8), both the byte column and the screen column are
|
||||
shown, separated by a dash.
|
||||
|
||||
Also see the 'ruler' option and the |wordcount()|
|
||||
function.
|
||||
|
||||
@@ -652,7 +656,7 @@ list of the current window.
|
||||
:args ## x
|
||||
< This will add the "x" item and sort the new list.
|
||||
|
||||
:argd[elete] {pattern} .. *:argd* *:argdelete* *E480*
|
||||
:argd[elete] {pattern} .. *:argd* *:argdelete* *E480* *E610*
|
||||
Delete files from the argument list that match the
|
||||
{pattern}s. {pattern} is used like a file pattern,
|
||||
see |file-pattern|. "%" can be used to delete the
|
||||
@@ -662,7 +666,7 @@ list of the current window.
|
||||
Example: >
|
||||
:argdel *.obj
|
||||
|
||||
:[range]argd[elete] Delete the {range} files from the argument list.
|
||||
:[range]argd[elete] Delete the [range] files from the argument list.
|
||||
Example: >
|
||||
:10,$argdel
|
||||
< Deletes arguments 10 and further, keeping 1-9. >
|
||||
@@ -1010,7 +1014,7 @@ to write anyway add a '!' to the command.
|
||||
|
||||
*write-permissions*
|
||||
When writing a new file the permissions are read-write. For unix the mask is
|
||||
0666 with additionally umask applied. When writing a file that was read Vim
|
||||
0o666 with additionally umask applied. When writing a file that was read Vim
|
||||
will preserve the permissions, but clear the s-bit.
|
||||
|
||||
*write-readonly*
|
||||
@@ -1029,7 +1033,7 @@ original file fails, there will be an error message telling you that you
|
||||
lost the original file.
|
||||
|
||||
*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
|
||||
that an unusual <EOL> was used.
|
||||
*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
|
||||
reading the file.
|
||||
- Make sure the 'binary' option is set BEFORE loading the
|
||||
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>.
|
||||
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>.
|
||||
- <Nul> characters are shown on the screen as ^@. You can enter them with
|
||||
"CTRL-V CTRL-@" or "CTRL-V 000"
|
||||
- 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: 2021 Jan 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -147,6 +147,7 @@ can be used to overrule the filetype used for certain extensions:
|
||||
*.w g:filetype_w |ft-cweb-syntax|
|
||||
*.i g:filetype_i |ft-progress-syntax|
|
||||
*.p g:filetype_p |ft-pascal-syntax|
|
||||
*.pp g:filetype_pp |ft-pascal-syntax|
|
||||
*.sh g:bash_is_sh |ft-sh-syntax|
|
||||
*.tex g:tex_flavor |ft-tex-plugin|
|
||||
|
||||
@@ -397,6 +398,13 @@ ways to change this:
|
||||
3. Docs for the default filetype plugins. *ftplugin-docs*
|
||||
|
||||
|
||||
AWK *ft-awk-plugin*
|
||||
|
||||
Support for features specific to GNU Awk, like @include, can be enabled by
|
||||
setting: >
|
||||
let g:awk_is_gawk = 1
|
||||
|
||||
|
||||
CHANGELOG *ft-changelog-plugin*
|
||||
|
||||
Allows for easy entrance of Changelog entries in Changelog files. There are
|
||||
@@ -556,16 +564,15 @@ Local mappings:
|
||||
|
||||
MAN *ft-man-plugin* *:Man* *man.vim*
|
||||
|
||||
Displays a manual page in a nice way. Also see the user manual
|
||||
|find-manpage|.
|
||||
|
||||
To start using the ":Man" command before any manual page was loaded, source
|
||||
this script from your startup vimrc file: >
|
||||
This plugin displays a manual page in a nice way. See |find-manpage| in the
|
||||
user manual for more information.
|
||||
|
||||
To start using the |:Man| command before any manual page has been loaded,
|
||||
source this script from your startup |vimrc| file: >
|
||||
runtime ftplugin/man.vim
|
||||
|
||||
Options:
|
||||
'iskeyword' the '.' character is added to be able to use CTRL-] on the
|
||||
'iskeyword' The '.' character is added to support the use of CTRL-] on the
|
||||
manual page name.
|
||||
|
||||
Commands:
|
||||
@@ -575,24 +582,25 @@ Man {number} {name}
|
||||
|
||||
Global mapping:
|
||||
<Leader>K Displays the manual page for the word under the cursor.
|
||||
<Plug>ManPreGetPage idem, allows for using a mapping: >
|
||||
nmap <F1> <Plug>ManPreGetPage<CR>
|
||||
<Plug>ManPreGetPage
|
||||
idem, allows for using a mapping: >
|
||||
nmap <F1> <Plug>ManPreGetPage
|
||||
|
||||
Local mappings:
|
||||
CTRL-] Jump to the manual page for the word under the cursor.
|
||||
CTRL-T Jump back to the previous manual page.
|
||||
q Same as ":quit"
|
||||
q Same as the |:quit| command.
|
||||
|
||||
To use a vertical split instead of horizontal: >
|
||||
let g:ft_man_open_mode = 'vert'
|
||||
To use a new tab: >
|
||||
let g:ft_man_open_mode = 'tab'
|
||||
|
||||
To enable folding use this: >
|
||||
let g:ft_man_folding_enable = 1
|
||||
If you do not like the default folding, use an autocommand to add your desired
|
||||
To enable |folding|, use this: >
|
||||
let g:ft_man_folding_enable = 1
|
||||
If you do not like the default folding, use an |autocommand| to add your desired
|
||||
folding style instead. For example: >
|
||||
autocmd FileType man setlocal foldmethod=indent foldenable
|
||||
autocmd FileType man setlocal foldmethod=indent foldenable
|
||||
|
||||
If you would like :Man {number} {name} to behave like man {number} {name} by
|
||||
not running man {name} if no page is found, then use this: >
|
||||
@@ -605,7 +613,7 @@ page in a Vim window: >
|
||||
|
||||
MANPAGER *manpager.vim*
|
||||
|
||||
The :Man command allows you to turn Vim into a manpager (that syntax highlights
|
||||
The |:Man| command allows you to turn Vim into a manpager (that syntax highlights
|
||||
manpages and follows linked manpages on hitting CTRL-]).
|
||||
|
||||
For bash,zsh,ksh or dash, add to the config file (.bashrc,.zshrc, ...)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui.txt* For Vim version 8.2. Last change: 2020 Mar 16
|
||||
*gui.txt* For Vim version 8.2. Last change: 2020 Sep 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -547,15 +547,6 @@ floating menus that do not appear on the main menu bar.
|
||||
5.2 Creating New Menus *creating-menus*
|
||||
|
||||
*:me* *:menu* *:noreme* *:noremenu*
|
||||
*:am* *:amenu* *:an* *:anoremenu*
|
||||
*:nme* *:nmenu* *:nnoreme* *:nnoremenu*
|
||||
*:ome* *:omenu* *:onoreme* *:onoremenu*
|
||||
*:vme* *:vmenu* *:vnoreme* *:vnoremenu*
|
||||
*:xme* *:xmenu* *:xnoreme* *:xnoremenu*
|
||||
*:sme* *:smenu* *:snoreme* *:snoremenu*
|
||||
*:ime* *:imenu* *:inoreme* *:inoremenu*
|
||||
*:cme* *:cmenu* *:cnoreme* *:cnoremenu*
|
||||
*:tlm* *:tlmenu* *:tln* *:tlnoremenu*
|
||||
*E330* *E327* *E331* *E336* *E333*
|
||||
*E328* *E329* *E337* *E792*
|
||||
To create a new menu item, use the ":menu" commands. They are mostly like
|
||||
@@ -596,6 +587,7 @@ With the shortcut "F" (while keeping the <Alt> key pressed), and then "O",
|
||||
this menu can be used. The second part is shown as "Open :e". The ":e"
|
||||
is right aligned, and the "O" is underlined, to indicate it is the shortcut.
|
||||
|
||||
*:am* *:amenu* *:an* *:anoremenu*
|
||||
The ":amenu" command can be used to define menu entries for all modes at once,
|
||||
except for Terminal mode. To make the command work correctly, a character is
|
||||
automatically inserted for some modes:
|
||||
@@ -634,6 +626,30 @@ included they make the <> form and raw key codes not being recognized).
|
||||
Note that <Esc> in Cmdline mode executes the command, like in a mapping. This
|
||||
is Vi compatible. Use CTRL-C to quit Cmdline mode.
|
||||
|
||||
*:nme* *:nmenu* *:nnoreme* *:nnoremenu* *:nunme* *:nunmenu*
|
||||
Menu commands starting with "n" work in Normal mode. |mapmode-n|
|
||||
|
||||
*:ome* *:omenu* *:onoreme* *:onoremenu* *:ounme* *:ounmenu*
|
||||
Menu commands starting with "o" work in Operator-pending mode. |mapmode-o|
|
||||
|
||||
*:vme* *:vmenu* *:vnoreme* *:vnoremenu* *:vunme* *:vunmenu*
|
||||
Menu commands starting with "v" work in Visual mode. |mapmode-v|
|
||||
|
||||
*:xme* *:xmenu* *:xnoreme* *:xnoremenu* *:xunme* *:xunmenu*
|
||||
Menu commands starting with "x" work in Visual and Select mode. |mapmode-x|
|
||||
|
||||
*:sme* *:smenu* *:snoreme* *:snoremenu* *:sunme* *:sunmenu*
|
||||
Menu commands starting with "s" work in Select mode. |mapmode-s|
|
||||
|
||||
*:ime* *:imenu* *:inoreme* *:inoremenu* *:iunme* *:iunmenu*
|
||||
Menu commands starting with "i" work in Insert mode. |mapmode-i|
|
||||
|
||||
*:cme* *:cmenu* *:cnoreme* *:cnoremenu* *:cunme* *:cunmenu*
|
||||
Menu commands starting with "c" work in Cmdline mode. |mapmode-c|
|
||||
|
||||
*:tlm* *:tlmenu* *:tln* *:tlnoremenu* *:tlu* *:tlunmenu*
|
||||
Menu commands starting with "tl" work in Terminal mode. |mapmode-t|
|
||||
|
||||
*:menu-<silent>* *:menu-silent*
|
||||
To define a menu which will not be echoed on the command line, add
|
||||
"<silent>" as the first argument. Example: >
|
||||
@@ -897,14 +913,6 @@ using the last visual selection.
|
||||
|
||||
*:unme* *:unmenu*
|
||||
*:aun* *:aunmenu*
|
||||
*:nunme* *:nunmenu*
|
||||
*:ounme* *:ounmenu*
|
||||
*:vunme* *:vunmenu*
|
||||
*:xunme* *:xunmenu*
|
||||
*:sunme* *:sunmenu*
|
||||
*:iunme* *:iunmenu*
|
||||
*:cunme* *:cunmenu*
|
||||
*:tlu* *:tlunmenu*
|
||||
To delete a menu item or a whole submenu, use the unmenu commands, which are
|
||||
analogous to the unmap commands. Eg: >
|
||||
:unmenu! Edit.Paste
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*help.txt* For Vim version 8.2. Last change: 2020 Apr 05
|
||||
*help.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
VIM - main help file
|
||||
k
|
||||
@@ -158,7 +158,7 @@ Programming language support ~
|
||||
|
||||
Language support ~
|
||||
|digraph.txt| list of available digraphs
|
||||
|mbyte.txt| multi-byte text support
|
||||
|mbyte.txt| multibyte text support
|
||||
|mlang.txt| non-English language support
|
||||
|rileft.txt| right-to-left editing mode
|
||||
|arabic.txt| Arabic language support and editing
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*helphelp.txt* For Vim version 8.2. Last change: 2020 Jul 27
|
||||
*helphelp.txt* For Vim version 8.2. Last change: 2020 Dec 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -92,9 +92,9 @@ Help on help files *helphelp*
|
||||
:help k| only
|
||||
< Note that a space before the '|' is seen as part of
|
||||
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
|
||||
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
|
||||
|
||||
:h[elp]! [subject] Like ":help", but in non-English help files prefer to
|
||||
@@ -158,9 +158,31 @@ When no argument is given to |:help| the file given with the 'helpfile' option
|
||||
will be opened. Otherwise the specified tag is searched for in all "doc/tags"
|
||||
files in the directories specified in the 'runtimepath' option.
|
||||
|
||||
If you would like to open the help in the current window, see this tip:
|
||||
|help-curwin|.
|
||||
|
||||
The initial height of the help window can be set with the 'helpheight' option
|
||||
(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:
|
||||
- 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_mzsch.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
*if_mzsch.txt* For Vim version 8.2. Last change: 2020 Oct 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Sergey Khorev
|
||||
@@ -43,7 +43,7 @@ To speed up the process, you might also want to use --disable-gracket and
|
||||
{script}
|
||||
{endmarker}
|
||||
Execute inlined MzScheme script {script}.
|
||||
Note: This command doesn't work if the MzScheme
|
||||
Note: This command doesn't work when the MzScheme
|
||||
feature wasn't compiled in. To avoid errors, see
|
||||
|script-here|.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 8.2. Last change: 2020 May 31
|
||||
*index.txt* For Vim version 8.2. Last change: 2021 Jan 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -784,10 +784,10 @@ tag char note action in Normal mode ~
|
||||
lines down
|
||||
|gk| gk 1 like "k", but when 'wrap' on go N screen
|
||||
lines up
|
||||
|gn| gn 1,2 find the next match with the last used
|
||||
search pattern and Visually select it
|
||||
|gm| gm 1 go to character at middle of the screenline
|
||||
|gM| gM 1 go to character at middle of the text line
|
||||
|gn| gn 1,2 find the next match with the last used
|
||||
search pattern and Visually select it
|
||||
|go| go 1 cursor to byte N in the buffer
|
||||
|gp| ["x]gp 2 put the text [from register x] after the
|
||||
cursor N times, leave the cursor after it
|
||||
@@ -1317,6 +1317,7 @@ tag command action ~
|
||||
|:filetype| :filet[ype] switch file type detection on/off
|
||||
|:filter| :filt[er] filter output of following command
|
||||
|:find| :fin[d] find file in 'path' and edit it
|
||||
|:final| :final declare an immutable variable in Vim9
|
||||
|:finally| :fina[lly] part of a :try command
|
||||
|:finish| :fini[sh] quit sourcing a Vim script
|
||||
|:first| :fir[st] go to the first file in the argument list
|
||||
@@ -1589,6 +1590,8 @@ tag command action ~
|
||||
|:sign| :sig[n] manipulate signs
|
||||
|:silent| :sil[ent] run a command silently
|
||||
|:sleep| :sl[eep] do nothing for a few seconds
|
||||
|:sleep!| :sl[eep]! do nothing for a few seconds, without the
|
||||
cursor visible
|
||||
|:slast| :sla[st] split window and go to last file in the
|
||||
argument list
|
||||
|:smagic| :sm[agic] :substitute with 'magic'
|
||||
@@ -1691,6 +1694,7 @@ tag command action ~
|
||||
|:unsilent| :uns[ilent] run a command not silently
|
||||
|:update| :up[date] write buffer if modified
|
||||
|:vglobal| :v[global] execute commands for not matching lines
|
||||
|:var| :var variable declaration in Vim9
|
||||
|:version| :ve[rsion] print version number and other info
|
||||
|:verbose| :verb[ose] execute command with 'verbose' set
|
||||
|:vertical| :vert[ical] make following command split vertically
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 8.2. Last change: 2020 Apr 30
|
||||
*insert.txt* For Vim version 8.2. Last change: 2020 Oct 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -312,6 +312,7 @@ If you enter a value of 10, it will end up in the file as a 0. The 10 is a
|
||||
the buffer to a file, the <NL> character is translated into <Nul>. The <NL>
|
||||
character is written at the end of each line. Thus if you want to insert a
|
||||
<NL> character in a file you will have to make a line break.
|
||||
Also see 'fileformat'.
|
||||
|
||||
*i_CTRL-X* *insert_expand*
|
||||
CTRL-X enters a sub-mode where several commands can be used. Most of these
|
||||
@@ -1843,6 +1844,7 @@ a Append text after the cursor [count] times. If the
|
||||
|
||||
*A*
|
||||
A Append text at the end of the line [count] times.
|
||||
For using "A" in Visual block mode see |v_b_A|.
|
||||
|
||||
<insert> or *i* *insert* *<Insert>*
|
||||
i Insert text before the cursor [count] times.
|
||||
@@ -1855,6 +1857,7 @@ I Insert text before the first non-blank in the line
|
||||
When the 'H' flag is present in 'cpoptions' and the
|
||||
line only contains blanks, insert start just before
|
||||
the last blank.
|
||||
For using "I" in Visual block mode see |v_b_I|.
|
||||
|
||||
*gI*
|
||||
gI Insert text in column 1 [count] times.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*intro.txt* For Vim version 8.2. Last change: 2020 May 30
|
||||
*intro.txt* For Vim version 8.2. Last change: 2020 Dec 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -232,8 +232,8 @@ Vim would never have become what it is now, without the help of these people!
|
||||
Flemming Madsen X11 client-server, various features and patches
|
||||
Tony Mechelynck answers many user questions
|
||||
Paul Moore Python interface extensions, many patches
|
||||
Katsuhito Nagano Work on multi-byte versions
|
||||
Sung-Hyun Nam Work on multi-byte versions
|
||||
Katsuhito Nagano Work on multibyte versions
|
||||
Sung-Hyun Nam Work on multibyte versions
|
||||
Vince Negri Win32 GUI and generic console enhancements
|
||||
Steve Oualline Author of the first Vim book |frombook|
|
||||
Dominique Pelle Valgrind reports and many fixes
|
||||
@@ -434,7 +434,7 @@ notation meaning equivalent decimal value(s) ~
|
||||
<CSI> command sequence intro ALT-Esc 155 *<CSI>*
|
||||
<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>*
|
||||
|
||||
<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)
|
||||
<t_kd> "kd" termcap entry (cursor down key)
|
||||
Although you can specify <M-{char}> with {char} being a multi-byte
|
||||
Although you can specify <M-{char}> with {char} being a multibyte
|
||||
character, Vim may not be able to know what byte sequence that is and then
|
||||
it won't work.
|
||||
|
||||
@@ -678,8 +678,8 @@ Normal mode from any other mode. This can be used to make sure Vim is in
|
||||
Normal mode, without causing a beep like <Esc> would. However, this does not
|
||||
work in Ex mode. When used after a command that takes an argument, such as
|
||||
|f| or |m|, the timeout set with 'ttimeoutlen' applies.
|
||||
When focus is in a terminal window, CTRL-\ CTRL-N goes to Normal mode for only
|
||||
one command, see |t_CTRL-\_CTRL-N|.
|
||||
When focus is in a terminal window, CTRL-\ CTRL-N goes to Normal mode until an
|
||||
edit command is entered, see |t_CTRL-\_CTRL-N|.
|
||||
|
||||
*CTRL-\_CTRL-G* *i_CTRL-\_CTRL-G* *c_CTRL-\_CTRL-G* *v_CTRL-\_CTRL-G*
|
||||
The command CTRL-\ CTRL-G or <C-\><C-G> can be used to go to Insert mode when
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 8.2. Last change: 2020 Aug 01
|
||||
*map.txt* For Vim version 8.2. Last change: 2020 Dec 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -191,6 +191,12 @@ whether to use the "," mapping or the longer one. To avoid this add the
|
||||
<nowait> argument. Then the mapping will be used when it matches, Vim does
|
||||
not wait for more characters to be typed. However, if the characters were
|
||||
already typed they are used.
|
||||
Note that this works when the <nowait> mapping fully matches and is found
|
||||
before any partial matches. This works when:
|
||||
- There is only one matching buffer-local mapping, since these are always
|
||||
found before global mappings.
|
||||
- There is another buffer-local mapping that partly matches, but it is
|
||||
defined earlier (last defined mapping is found first).
|
||||
|
||||
*:map-<silent>* *:map-silent*
|
||||
To define a mapping which will not be echoed on the command line, add
|
||||
@@ -246,6 +252,17 @@ For abbreviations |v:char| is set to the character that was typed to trigger
|
||||
the abbreviation. You can use this to decide how to expand the {lhs}. You
|
||||
should not either insert or change the v:char.
|
||||
|
||||
In case you want the mapping to not do anything, you can have the expression
|
||||
evaluate to an empty string. If something changed that requires Vim to
|
||||
go through the main loop (e.g. to update the display), return "\<Ignore>".
|
||||
This is similar to "nothing" but makes Vim return from the loop that waits for
|
||||
input. Example: >
|
||||
func s:OpenPopup()
|
||||
call popup_create(... arguments ...)
|
||||
return "\<Ignore>"
|
||||
endfunc
|
||||
nnoremap <expr> <F3> <Sid>OpenPopup()
|
||||
|
||||
Be very careful about side effects! The expression is evaluated while
|
||||
obtaining characters, you may very well make the command dysfunctional.
|
||||
For this reason the following is blocked:
|
||||
@@ -254,7 +271,7 @@ For this reason the following is blocked:
|
||||
- The |:normal| command.
|
||||
- Moving the cursor is allowed, but it is restored afterwards.
|
||||
If you want the mapping to do any of these let the returned characters do
|
||||
that.
|
||||
that, or use a |<Cmd>| mapping instead.
|
||||
|
||||
You can use getchar(), it consumes typeahead if there is any. E.g., if you
|
||||
have these mappings: >
|
||||
@@ -283,15 +300,45 @@ Here is an example that inserts a list number that increases: >
|
||||
CTRL-L inserts the next number, CTRL-R resets the count. CTRL-R returns an
|
||||
empty string, so that nothing is inserted.
|
||||
|
||||
Note that there are some tricks to make special keys work and escape CSI bytes
|
||||
in the text. The |:map| command also does this, thus you must avoid that it
|
||||
is done twice. This does not work: >
|
||||
:imap <expr> <F3> "<Char-0x611B>"
|
||||
Because the <Char- sequence is escaped for being a |:imap| argument and then
|
||||
again for using <expr>. This does work: >
|
||||
:imap <expr> <F3> "\u611B"
|
||||
Using 0x80 as a single byte before other text does not work, it will be seen
|
||||
as a special key.
|
||||
Note that using 0x80 as a single byte before other text does not work, it will
|
||||
be seen as a special key.
|
||||
|
||||
*<Cmd>* *:map-cmd*
|
||||
The special text <Cmd> begins a "command mapping", it executes the command
|
||||
directly without changing modes. Where you might use ":...<CR>" in the
|
||||
{rhs} of a mapping, you can instead use "<Cmd>...<CR>".
|
||||
Example: >
|
||||
noremap x <Cmd>echo mode(1)<CR>
|
||||
<
|
||||
This is more flexible than `:<C-U>` in Visual and Operator-pending mode, or
|
||||
`<C-O>:` in Insert mode, because the commands are executed directly in the
|
||||
current mode, instead of always going to Normal mode. Visual mode is
|
||||
preserved, so tricks with |gv| are not needed. Commands can be invoked
|
||||
directly in Command-line mode (which would otherwise require timer hacks).
|
||||
Example of using <Cmd> halfway Insert mode: >
|
||||
nnoremap <F3> aText <Cmd>echo mode(1)<CR> Added<Esc>
|
||||
|
||||
Unlike <expr> mappings, there are no special restrictions on the <Cmd>
|
||||
command: it is executed as if an (unrestricted) |autocommand| was invoked.
|
||||
|
||||
Note:
|
||||
- Because <Cmd> avoids mode-changes it does not trigger |CmdlineEnter| and
|
||||
|CmdlineLeave| events, because no user interaction is expected.
|
||||
- For the same reason, |keycodes| like <C-R><C-W> are interpreted as plain,
|
||||
unmapped keys.
|
||||
- The command is not echo'ed, no need for <silent>.
|
||||
- In Visual mode you can use `line('v')` and `col('v')` to get one end of the
|
||||
Visual area, the cursor is at the other end.
|
||||
- In Select mode, |:map| and |:vmap| command mappings are executed in
|
||||
Visual mode. Use |:smap| to handle Select mode differently.
|
||||
|
||||
*E1135* *E1136*
|
||||
<Cmd> commands must terminate, that is, they must be followed by <CR> in the
|
||||
{rhs} of the mapping definition. |Command-line| mode is never entered.
|
||||
|
||||
*E1137*
|
||||
<Cmd> commands can have only normal characters and cannot contain special
|
||||
characters like function keys.
|
||||
|
||||
|
||||
1.3 MAPPING AND MODES *:map-modes*
|
||||
@@ -595,7 +642,7 @@ construct can be used:
|
||||
<Char-033> character 27
|
||||
<Char-0x7f> character 127
|
||||
<S-Char-114> character 114 ('r') shifted ('R')
|
||||
This is useful to specify a (multi-byte) character in a 'keymap' file.
|
||||
This is useful to specify a (multibyte) character in a 'keymap' file.
|
||||
Upper and lowercase differences are ignored.
|
||||
|
||||
*map-comments*
|
||||
@@ -840,8 +887,15 @@ execute a shell command, e.g.: `!ls` Or put the lines in your |vimrc|.
|
||||
|
||||
When modifyOtherKeys is enabled you can map <C-[> and <C-S-{>: >
|
||||
imap <C-[> [[[
|
||||
imap <C-S-{> {{{
|
||||
Without modifyOtherKeys <C-[> and <C-S-{> are indistinguishable from Esc.
|
||||
imap <C-{> {{{
|
||||
Without modifyOtherKeys <C-[> and <C-{> are indistinguishable from Esc.
|
||||
Note that <C-{> is used and not <C-S-[> or <C-S-{>. This works on most
|
||||
keyboards. Similarly, <C-}> is used instead of <C-S-]> or <C-S-}> and
|
||||
<C-|> instead of <C-S-\> or <C-S-|>. Note that '|' has a special meaning in a
|
||||
mapping, see |map-bar|.
|
||||
|
||||
WARNING: if you map <C-[> you may very well break any key codes that start
|
||||
with Esc. Make sure it comes AFTER other mappings.
|
||||
|
||||
A known side effect is that in Insert mode the raw escape sequence is inserted
|
||||
after the CTRL-V key. This can be used to check whether modifyOtherKeys is
|
||||
@@ -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*
|
||||
|
||||
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
|
||||
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>: >
|
||||
|
||||
nmap <silent> <F4> :set opfunc=CountSpaces<CR>g@
|
||||
vmap <silent> <F4> :<C-U>call CountSpaces(visualmode(), 1)<CR>
|
||||
nnoremap <expr> <F4> CountSpaces()
|
||||
xnoremap <expr> <F4> CountSpaces()
|
||||
" doubling <F4> works on a line
|
||||
nnoremap <expr> <F4><F4> CountSpaces() .. '_'
|
||||
|
||||
function CountSpaces(type = '') abort
|
||||
if a:type == ''
|
||||
set opfunc=CountSpaces
|
||||
return 'g@'
|
||||
endif
|
||||
|
||||
function! CountSpaces(type, ...)
|
||||
let sel_save = &selection
|
||||
let &selection = "inclusive"
|
||||
let reg_save = @@
|
||||
let reg_save = getreginfo('"')
|
||||
let cb_save = &clipboard
|
||||
let visual_marks_save = [getpos("'<"), getpos("'>")]
|
||||
|
||||
if a:0 " Invoked from Visual mode, use gv command.
|
||||
silent exe "normal! gvy"
|
||||
elseif a:type == 'line'
|
||||
silent exe "normal! '[V']y"
|
||||
else
|
||||
silent exe "normal! `[v`]y"
|
||||
endif
|
||||
|
||||
echomsg strlen(substitute(@@, '[^ ]', '', 'g'))
|
||||
|
||||
let &selection = sel_save
|
||||
let @@ = reg_save
|
||||
try
|
||||
set clipboard= selection=inclusive
|
||||
let commands = #{line: "'[V']y", char: "`[v`]y", block: "`[\<c-v>`]y"}
|
||||
silent exe 'noautocmd keepjumps normal! ' .. get(commands, a:type, '')
|
||||
echom getreg('"')->count(' ')
|
||||
finally
|
||||
call setreg('"', reg_save)
|
||||
call setpos("'<", visual_marks_save[0])
|
||||
call setpos("'>", visual_marks_save[1])
|
||||
let &clipboard = cb_save
|
||||
let &selection = sel_save
|
||||
endtry
|
||||
endfunction
|
||||
|
||||
An <expr> mapping is used to be able to fetch any prefixed count and register.
|
||||
This also avoids using a command line, which would trigger CmdlineEnter and
|
||||
CmdlineLeave autocommands.
|
||||
|
||||
Note that the 'selection' option is temporarily set to "inclusive" to be able
|
||||
to yank exactly the right text by using Visual mode from the '[ to the ']
|
||||
mark.
|
||||
|
||||
Also note that there is a separate mapping for Visual mode. It removes the
|
||||
"'<,'>" range that ":" inserts in Visual mode and invokes the function with
|
||||
visualmode() and an extra argument.
|
||||
Also note that the 'clipboard' option is temporarily emptied to avoid
|
||||
clobbering the `"*` or `"+` registers, if its value contains the item `unnamed`
|
||||
or `unnamedplus`.
|
||||
|
||||
==============================================================================
|
||||
2. Abbreviations *abbreviations* *Abbreviations*
|
||||
@@ -1175,9 +1241,9 @@ Otherwise, using "<SID>" outside of a script context is an error.
|
||||
|
||||
If you need to get the script number to use in a complicated script, you can
|
||||
use this function: >
|
||||
function s:SID()
|
||||
return matchstr(expand('<sfile>'), '<SNR>\zs\d\+\ze_SID$')
|
||||
endfun
|
||||
func s:ScriptNumber()
|
||||
return matchstr(expand('<SID>'), '<SNR>\zs\d\+\ze_')
|
||||
endfunc
|
||||
|
||||
The "<SNR>" will be shown when listing functions and mappings. This is useful
|
||||
to find out what they are defined to.
|
||||
@@ -1255,15 +1321,15 @@ last defined. Example: >
|
||||
See |:verbose-cmd| for more information.
|
||||
|
||||
*E174* *E182*
|
||||
:com[mand][!] [{attr}...] {cmd} {rep}
|
||||
:com[mand][!] [{attr}...] {cmd} {repl}
|
||||
Define a user command. The name of the command is
|
||||
{cmd} and its replacement text is {rep}. The command's
|
||||
attributes (see below) are {attr}. If the command
|
||||
already exists, an error is reported, unless a ! is
|
||||
specified, in which case the command is redefined.
|
||||
There is one exception: When sourcing a script again,
|
||||
a command that was previously defined in that script
|
||||
will be silently replaced.
|
||||
{cmd} and its replacement text is {repl}. The
|
||||
command's attributes (see below) are {attr}. If the
|
||||
command already exists, an error is reported, unless a
|
||||
! is specified, in which case the command is
|
||||
redefined. There is one exception: When sourcing a
|
||||
script again, a command that was previously defined in
|
||||
that script will be silently replaced.
|
||||
|
||||
|
||||
:delc[ommand] {cmd} *:delc* *:delcommand* *E184*
|
||||
@@ -1473,11 +1539,11 @@ feature. Use the full name for new scripts.
|
||||
|
||||
Replacement text ~
|
||||
|
||||
The replacement text for a user defined command is scanned for special escape
|
||||
sequences, using <...> notation. Escape sequences are replaced with values
|
||||
from the entered command line, and all other text is copied unchanged. The
|
||||
resulting string is executed as an Ex command. To avoid the replacement use
|
||||
<lt> in place of the initial <. Thus to include "<bang>" literally use
|
||||
The replacement text {repl} for a user defined command is scanned for special
|
||||
escape sequences, using <...> notation. Escape sequences are replaced with
|
||||
values from the entered command line, and all other text is copied unchanged.
|
||||
The resulting string is executed as an Ex command. To avoid the replacement
|
||||
use <lt> in place of the initial <. Thus to include "<bang>" literally use
|
||||
"<lt>bang>".
|
||||
|
||||
The valid escape sequences are
|
||||
@@ -1495,7 +1561,7 @@ The valid escape sequences are
|
||||
<bang> (See the '-bang' attribute) Expands to a ! if the
|
||||
command was executed with a ! modifier, otherwise
|
||||
expands to nothing.
|
||||
*<mods>* *:command-modifiers*
|
||||
*<mods>* *<q-mods>* *:command-modifiers*
|
||||
<mods> The command modifiers, if specified. Otherwise, expands to
|
||||
nothing. Supported modifiers are |:aboveleft|, |:belowright|,
|
||||
|:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|,
|
||||
@@ -1603,6 +1669,11 @@ errors and the "update" command to write modified buffers): >
|
||||
This will invoke: >
|
||||
: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
|
||||
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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mbyte.txt* For Vim version 8.2. Last change: 2019 Jul 04
|
||||
*mbyte.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -36,7 +36,7 @@ characters or boxes when using another encoding.
|
||||
This is a summary of the multibyte features in Vim. If you are lucky it works
|
||||
as described and you can start using Vim without much trouble. If something
|
||||
doesn't work you will have to read the rest. Don't be surprised if it takes
|
||||
quite a bit of work and experimenting to make Vim use all the multi-byte
|
||||
quite a bit of work and experimenting to make Vim use all the multibyte
|
||||
features. Unfortunately, every system has its own way to deal with multibyte
|
||||
languages and it is quite complicated.
|
||||
|
||||
@@ -123,7 +123,7 @@ You can also set 'guifont' alone, Vim will try to find a matching
|
||||
|
||||
INPUT
|
||||
|
||||
There are several ways to enter multi-byte characters:
|
||||
There are several ways to enter multibyte characters:
|
||||
- For X11 XIM can be used. See |XIM|.
|
||||
- For MS-Windows IME can be used. See |IME|.
|
||||
- For all systems keymaps can be used. See |mbyte-keymap|.
|
||||
@@ -237,11 +237,11 @@ encoded with one byte, we call this a single-byte encoding. The most often
|
||||
used one is called "latin1". This limits the number of characters to 256.
|
||||
Some of these are control characters, thus even fewer can be used for text.
|
||||
|
||||
When some characters use two or more bytes, we call this a multi-byte
|
||||
When some characters use two or more bytes, we call this a multibyte
|
||||
encoding. This allows using much more than 256 characters, which is required
|
||||
for most East Asian languages.
|
||||
|
||||
Most multi-byte encodings use one byte for the first 127 characters. These
|
||||
Most multibyte encodings use one byte for the first 127 characters. These
|
||||
are equal to ASCII, which makes it easy to exchange plain-ASCII text, no
|
||||
matter what language is used. Thus you might see the right text even when the
|
||||
encoding was set wrong.
|
||||
@@ -488,11 +488,11 @@ possible.
|
||||
==============================================================================
|
||||
4. Using a terminal *mbyte-terminal*
|
||||
|
||||
The GUI fully supports multi-byte characters. It is also possible in a
|
||||
The GUI fully supports multibyte characters. It is also possible in a
|
||||
terminal, if the terminal supports the same encoding that Vim uses. Thus this
|
||||
is less flexible.
|
||||
|
||||
For example, you can run Vim in a xterm with added multi-byte support and/or
|
||||
For example, you can run Vim in a xterm with added multibyte support and/or
|
||||
|XIM|. Examples are kterm (Kanji term) and hanterm (for Korean), Eterm
|
||||
(Enlightened terminal) and rxvt.
|
||||
|
||||
@@ -544,7 +544,7 @@ For Vim you may need to set 'encoding' to "utf-8".
|
||||
5. Fonts on X11 *mbyte-fonts-X11*
|
||||
|
||||
Unfortunately, using fonts in X11 is complicated. The name of a single-byte
|
||||
font is a long string. For multi-byte fonts we need several of these...
|
||||
font is a long string. For multibyte fonts we need several of these...
|
||||
|
||||
Note: Most of this is no longer relevant for GTK+ 2. Selecting a font via
|
||||
its XLFD is not supported; see 'guifont' for an example of how to
|
||||
@@ -610,7 +610,7 @@ written like:
|
||||
|
||||
X FONTSET
|
||||
*fontset* *xfontset*
|
||||
A single-byte charset is typically associated with one font. For multi-byte
|
||||
A single-byte charset is typically associated with one font. For multibyte
|
||||
charsets a combination of fonts is often used. This means that one group of
|
||||
characters are used from one font and another group from another font (which
|
||||
might be double wide). This collection of fonts is called a fontset.
|
||||
@@ -1436,7 +1436,7 @@ not everybody is able to type a composing character.
|
||||
==============================================================================
|
||||
12. Overview of options *mbyte-options*
|
||||
|
||||
These options are relevant for editing multi-byte files. Check the help in
|
||||
These options are relevant for editing multibyte files. Check the help in
|
||||
options.txt for detailed information.
|
||||
|
||||
'encoding' Encoding used for the keyboard and display. It is also the
|
||||
@@ -1456,14 +1456,14 @@ options.txt for detailed information.
|
||||
languages where a sequence of characters can be broken
|
||||
anywhere.
|
||||
|
||||
'guifontset' The list of font names used for a multi-byte encoding. When
|
||||
'guifontset' The list of font names used for a multibyte encoding. When
|
||||
this option is not empty, it replaces 'guifont'.
|
||||
|
||||
'keymap' Specify the name of a keyboard mapping.
|
||||
|
||||
==============================================================================
|
||||
|
||||
Contributions specifically for the multi-byte features by:
|
||||
Contributions specifically for the multibyte features by:
|
||||
Chi-Deok Hwang <hwang@mizi.co.kr>
|
||||
SungHyun Nam <goweol@gmail.com>
|
||||
K.Nagano <nagano@atese.advantest.co.jp>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 8.2. Last change: 2020 Jan 01
|
||||
*message.txt* For Vim version 8.2. Last change: 2020 Dec 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -19,13 +19,14 @@ The ":messages" command can be used to view previously given messages. This
|
||||
is especially useful when messages have been overwritten or truncated. This
|
||||
depends on the 'shortmess' option.
|
||||
|
||||
:messages Show all messages.
|
||||
:mes[sages] Show all messages.
|
||||
|
||||
:{count}messages Show the {count} most recent messages.
|
||||
:{count}mes[sages] Show the {count} most recent messages.
|
||||
|
||||
:messages clear Clear all messages.
|
||||
:mes[sages] clear Clear all messages.
|
||||
|
||||
:{count}messages clear Clear messages, keeping only the {count} most
|
||||
:{count}mes[sages] clear
|
||||
Clear messages, keeping only the {count} most
|
||||
recent ones.
|
||||
|
||||
The number of remembered messages is fixed at 20 for the tiny version and 200
|
||||
@@ -74,7 +75,7 @@ See `:messages` above.
|
||||
|
||||
|
||||
LIST OF MESSAGES
|
||||
*E222* *E228* *E232* *E256* *E293* *E298* *E304* *E317*
|
||||
*E222* *E228* *E232* *E293* *E298* *E304* *E317*
|
||||
*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
|
||||
*E323* *E341* *E473* *E570* *E685* *E292* >
|
||||
Add to read buffer
|
||||
@@ -793,6 +794,9 @@ and the screen is about to be redrawn:
|
||||
-> Press <Enter> or <Space> to redraw the screen and continue, without that
|
||||
key being used otherwise.
|
||||
-> Press ':' or any other Normal mode command character to start that command.
|
||||
Note that after an external command some special keys, such as the cursor
|
||||
keys, may not work normally, because the terminal is still set to a state
|
||||
for executing the external command.
|
||||
-> Press 'k', <Up>, 'u', 'b' or 'g' to scroll back in the messages. This
|
||||
works the same way as at the |more-prompt|. Only works when 'compatible'
|
||||
is off and 'more' is on.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mlang.txt* For Vim version 8.2. Last change: 2020 Jun 16
|
||||
*mlang.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -7,7 +7,7 @@
|
||||
Multi-language features *multilang* *multi-lang*
|
||||
|
||||
This is about using messages and menus in various languages. For editing
|
||||
multi-byte text see |multibyte|.
|
||||
multibyte text see |multibyte|.
|
||||
|
||||
The basics are explained in the user manual: |usr_45.txt|.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 8.2. Last change: 2019 Nov 16
|
||||
*motion.txt* For Vim version 8.2. Last change: 2020 Oct 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -190,11 +190,14 @@ l or *l*
|
||||
|
||||
*^*
|
||||
^ To the first non-blank character of the line.
|
||||
|exclusive| motion.
|
||||
|exclusive| motion. Any count is ignored.
|
||||
|
||||
*$* *<End>* *<kEnd>*
|
||||
$ or <End> To the end of the line. When a count is given also go
|
||||
[count - 1] lines downward. |inclusive| motion.
|
||||
[count - 1] lines downward, or as far is possible.
|
||||
|inclusive| motion. If a count of 2 of larger is
|
||||
given and the cursor is on the last line, that is an
|
||||
error an the cursor doesn't move.
|
||||
In Visual mode the cursor goes to just after the last
|
||||
character in the line.
|
||||
When 'virtualedit' is active, "$" may move the cursor
|
||||
@@ -495,10 +498,11 @@ a set of section macros, specified by the pairs of characters in the
|
||||
'sections' option. The default is "SHNHH HUnhsh", which defines a section to
|
||||
start at the nroff macros ".SH", ".NH", ".H", ".HU", ".nh" and ".sh".
|
||||
|
||||
The "]" and "[" commands stop at the '{' or '}' in the first column. This is
|
||||
useful to find the start or end of a function in a C program. Note that the
|
||||
first character of the command determines the search direction and the
|
||||
second character the type of brace found.
|
||||
The "]]" and "[[" commands stop at the '{' in the first column. This is
|
||||
useful to find the start of a function in a C program. To search for a '}' in
|
||||
the first column, the end of a C function, use "][" (forward) or "[]"
|
||||
(backward). Note that the first character of the command determines the
|
||||
search direction.
|
||||
|
||||
If your '{' or '}' are not in the first column, and you would like to use "[["
|
||||
and "]]" anyway, try these mappings: >
|
||||
@@ -1142,7 +1146,7 @@ sequence of small changes in a line, for example "xxxxx", adds many positions
|
||||
to the change list. When 'textwidth' is zero 'wrapmargin' is used. When that
|
||||
also isn't set a fixed number of 79 is used. Detail: For the computations
|
||||
bytes are used, not characters, to avoid a speed penalty (this only matters
|
||||
for multi-byte encodings).
|
||||
for multibyte encodings).
|
||||
|
||||
Note that when text has been inserted or deleted the cursor position might be
|
||||
a bit different from the position of the change. Especially when lines have
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*netbeans.txt* For Vim version 8.2. Last change: 2020 Apr 19
|
||||
*netbeans.txt* For Vim version 8.2. Last change: 2020 Nov 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
||||
@@ -362,12 +362,12 @@ color Argument with either a decimal number, "none" (without the
|
||||
offset A number argument that indicates a byte position in a buffer.
|
||||
The first byte has offset zero. Line breaks are counted for
|
||||
how they appear in the file (CR/LF counts for two bytes).
|
||||
Note that a multi-byte character is counted for the number of
|
||||
Note that a multibyte character is counted for the number of
|
||||
bytes it takes.
|
||||
|
||||
lnum/col Argument with a line number and column number position. The
|
||||
line number starts with one, the column is the byte position,
|
||||
starting with zero. Note that a multi-byte character counts
|
||||
starting with zero. Note that a multibyte character counts
|
||||
for several columns.
|
||||
|
||||
pathname String argument: file name with full path.
|
||||
@@ -562,9 +562,10 @@ setModtime time
|
||||
saved directly by the Vim Controller.
|
||||
New in version 2.3.
|
||||
|
||||
setReadOnly
|
||||
Set a file as readonly
|
||||
Implemented in version 2.3.
|
||||
setReadOnly readonly
|
||||
When the boolean argument "readonly" is "T" for True, mark the
|
||||
buffer as readonly, when it is "F" for False, mark it as not
|
||||
readonly. Implemented in version 2.3.
|
||||
|
||||
setStyle Not implemented.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.2. Last change: 2020 Aug 13
|
||||
*options.txt* For Vim version 8.2. Last change: 2021 Jan 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -438,7 +438,7 @@ the system, mostly it is something like 256 or 1024 characters.
|
||||
CTRL-? CTRL-H
|
||||
not CTRL-? CTRL-?
|
||||
|
||||
(CTRL-? is 0177 octal, 0x7f hex)
|
||||
(CTRL-? is 0o177 octal, 0x7f hex)
|
||||
|
||||
If your delete key terminal code is wrong, but the
|
||||
code for backspace is alright, you can put this in
|
||||
@@ -703,6 +703,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
The value "double" cannot be used if 'listchars' or 'fillchars'
|
||||
contains a character that would be double width.
|
||||
|
||||
The values are overruled for characters specified with
|
||||
|setcellwidths()|.
|
||||
|
||||
There are a number of CJK fonts for which the width of glyphs for
|
||||
those characters are solely based on how many octets they take in
|
||||
legacy/traditional CJK encodings. In those encodings, Euro,
|
||||
@@ -2551,7 +2554,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
"x" delete each combining character on its own. When it is off (the
|
||||
default) the character along with its combining characters are
|
||||
deleted.
|
||||
Note: When 'delcombine' is set "xx" may work different from "2x"!
|
||||
Note: When 'delcombine' is set "xx" may work differently from "2x"!
|
||||
|
||||
This is useful for Arabic, Hebrew and many other languages where one
|
||||
may have combining characters overtop of base characters, and want
|
||||
@@ -2733,8 +2736,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
is replaced with the path name of the edited file.
|
||||
- For Unix and Win32, if a directory ends in two path separators "//",
|
||||
the swap file name will be built from the complete path to the file
|
||||
with all path separators substituted to percent '%' signs. This will
|
||||
ensure file name uniqueness in the preserve directory.
|
||||
with all path separators replaced by percent '%' signs (including
|
||||
the colon following the drive letter on Win32). This will ensure
|
||||
file name uniqueness in the preserve directory.
|
||||
On Win32, it is also possible to end with "\\". However, When a
|
||||
separating comma is following, you must use "//", since "\\" will
|
||||
include the comma in the file name. Therefore it is recommended to
|
||||
@@ -2797,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
|
||||
also 'gdefault' option.
|
||||
Switching this option on may break plugins!
|
||||
This option is not used in |Vim9| script.
|
||||
|
||||
*'emoji'* *'emo'* *'noemoji'* *'noemo'*
|
||||
'emoji' 'emo' boolean (default: on)
|
||||
global
|
||||
When on all Unicode emoji characters are considered to be full width.
|
||||
|
||||
This excludes "text emoji" characters, which are normally displayed as
|
||||
single width. Unfortunately there is no good specification for this
|
||||
and it has been determined on trial-and-error basis. Use the
|
||||
|setcellwidths()| function to change the behavior.
|
||||
|
||||
*'encoding'* *'enc'* *E543*
|
||||
'encoding' 'enc' string (default: "latin1" or value from $LANG)
|
||||
@@ -2832,7 +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
|
||||
iconv() or as specified with 'charconvert'.
|
||||
|
||||
If you need to know whether 'encoding' is a multi-byte encoding, you
|
||||
If you need to know whether 'encoding' is a multibyte encoding, you
|
||||
can use: >
|
||||
if has("multi_byte_encoding")
|
||||
<
|
||||
@@ -3114,7 +3122,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
local to buffer
|
||||
This gives the <EOL> of the current buffer, which is used for
|
||||
reading/writing the buffer from/to a file:
|
||||
dos <CR> <NL>
|
||||
dos <CR><NL>
|
||||
unix <NL>
|
||||
mac <CR>
|
||||
When "dos" is used, CTRL-Z at the end of a file is ignored.
|
||||
@@ -3265,7 +3273,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
See the 'endofline' option.
|
||||
|
||||
*'fkmap'* *'fk'* *'nofkmap'* *'nofk'*
|
||||
'fkmap' 'fk' boolean (default off) *E198*
|
||||
'fkmap' 'fk' boolean (default off)
|
||||
global
|
||||
{only available when compiled with the |+rightleft|
|
||||
feature}
|
||||
@@ -3563,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
|
||||
of this option. Also, many users get confused that adding the /g flag
|
||||
has the opposite effect of that it normally does.
|
||||
This option is not used in |Vim9| script.
|
||||
|
||||
*'grepformat'* *'gfm'*
|
||||
'grepformat' 'gfm' string (default "%f:%l:%m,%f:%l%m,%f %l%m")
|
||||
@@ -4675,7 +4684,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
characters. Example: "abc;ABC"
|
||||
Example: "aA,fgh;FGH,cCdDeE"
|
||||
Special characters need to be preceded with a backslash. These are
|
||||
";", ',' and backslash itself.
|
||||
";", ',', '"', '|' and backslash itself.
|
||||
|
||||
This will allow you to activate vim actions without having to switch
|
||||
back and forth between the languages. Your language characters will
|
||||
@@ -4936,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
|
||||
situation write patterns that work when 'magic' is on. Include "\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' string (default: "")
|
||||
@@ -5210,7 +5221,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
NOTE: This option is set to the Vi default value when 'compatible' is
|
||||
set and to the Vim default value when 'compatible' is reset.
|
||||
|
||||
*'mouse'* *E538*
|
||||
*'mouse'*
|
||||
'mouse' string (default "", "a" for GUI and Win32,
|
||||
set to "a" or "nvi" in |defaults.vim|)
|
||||
global
|
||||
@@ -6187,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),
|
||||
this option takes precedence over 'ruler' and 'rulerformat'
|
||||
If the number of characters displayed is different from the number of
|
||||
bytes in the text (e.g., for a TAB or a multi-byte character), both
|
||||
bytes in the text (e.g., for a TAB or a multibyte character), both
|
||||
the text column (byte number) and the screen column are shown,
|
||||
separated with a dash.
|
||||
For an empty line "0-1" is shown.
|
||||
@@ -6310,7 +6321,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
local to window
|
||||
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
|
||||
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
|
||||
height with ":set scroll=0".
|
||||
|
||||
@@ -6560,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
|
||||
">%s 2>&1". The output is directly saved in a file and not echoed to
|
||||
the screen.
|
||||
For Unix the default it "| tee". The stdout of the compiler is saved
|
||||
For Unix the default is "| tee". The stdout of the compiler is saved
|
||||
in a file and echoed to the screen. If the 'shell' option is "csh" or
|
||||
"tcsh" after initializations, the default becomes "|& tee". If the
|
||||
'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh", "zsh-beta",
|
||||
@@ -7218,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:
|
||||
%-0{minwid}.{maxwid}{item}
|
||||
All fields except the {item} are optional. A single percent sign can
|
||||
be given as "%%". Up to 80 items can be specified. *E541*
|
||||
be given as "%%".
|
||||
|
||||
When the option starts with "%!" then it is used as an expression,
|
||||
evaluated and the result is used as the option value. Example: >
|
||||
@@ -7284,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.)
|
||||
l N Line number.
|
||||
L N Number of lines in buffer.
|
||||
c N Column number.
|
||||
v N Virtual column number.
|
||||
c N Column number (byte index).
|
||||
v N Virtual column number (screen column).
|
||||
V N Virtual column number as -{num}. Not displayed if equal to 'c'.
|
||||
p N Percentage through file in lines as in |CTRL-G|.
|
||||
P S Percentage through file of displayed window. This is like the
|
||||
@@ -7804,8 +7817,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'termwinsize'* *'tws'*
|
||||
'termwinsize' 'tws' string (default "")
|
||||
local to window
|
||||
Size of the |terminal| window. Format: {rows}x{columns} or
|
||||
{rows}*{columns}.
|
||||
Size used when opening the |terminal| window. Format:
|
||||
{rows}x{columns} or {rows}*{columns}.
|
||||
- When empty the terminal gets the size from the window.
|
||||
- When set with a "x" (e.g., "24x80") the terminal size is not
|
||||
adjusted to the window size. If the window is smaller only the
|
||||
@@ -7816,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 columns is zero then use the width of the window.
|
||||
- Using "0x0" or "0*0" is the same as empty.
|
||||
- Can be overruled in the |term_start()| options with "term_rows" and
|
||||
"term_cols".
|
||||
|
||||
Examples:
|
||||
"30x0" uses 30 rows and the current window width.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_vms.txt* For Vim version 8.2. Last change: 2020 Jun 07
|
||||
*os_vms.txt* For Vim version 8.2. Last change: 2021 Jan 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL
|
||||
@@ -72,7 +72,7 @@ See the file [.SRC]INSTALLVMS.TXT.
|
||||
4. Problems *vms-problems*
|
||||
|
||||
The code has been tested under Open VMS 6.2 - 8.2 on Alpha, VAX and IA64
|
||||
platforms with the DEC C compiler. It should work without big problems.
|
||||
platforms with the DEC C compiler. It should work without major problems.
|
||||
If your system does not have some include libraries you can tune up in
|
||||
OS_VMS_CONF.H file.
|
||||
|
||||
@@ -765,6 +765,15 @@ GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
|
||||
|
||||
9. VMS related changes *vms-changes*
|
||||
|
||||
Version 8.2
|
||||
- make all changes needed for clean compile build of v8.2 on VMS on all platforms
|
||||
- fix the call mkdir bug (vicente_polo@yahoo.es)
|
||||
- test on VSI OpenVMS Alpha and Itanium platforms
|
||||
- added LUA support
|
||||
- added XPM support - Motif GUI with toolbar on all platforms
|
||||
- XPM v3.4.11 libraries for IA64, AXP and VAX are added
|
||||
- start integrating the new test scripts
|
||||
|
||||
Version 8.1
|
||||
- make necessary changes to build v8.1 on VMS
|
||||
|
||||
|
||||
@@ -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: 2021 Jan 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -361,8 +361,8 @@ For starters, read chapter 27 of the user manual |usr_27.txt|.
|
||||
*/atom*
|
||||
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.
|
||||
Braces can be used to make a pattern into an atom. The "\z(\)" construct
|
||||
is only for syntax highlighting.
|
||||
Parentheses can be used to make a pattern into an atom. The "\z(\)"
|
||||
construct is only for syntax highlighting.
|
||||
|
||||
atom ::= ordinary-atom |/ordinary-atom|
|
||||
or \( pattern \) |/\(|
|
||||
@@ -394,15 +394,19 @@ the pattern will not match. This is only useful when debugging Vim.
|
||||
==============================================================================
|
||||
3. Magic */magic*
|
||||
|
||||
Some characters in the pattern are taken literally. They match with the same
|
||||
character in the text. When preceded with a backslash however, these
|
||||
characters get a special meaning.
|
||||
Some characters in the pattern, such as letters, are taken literally. They
|
||||
match exactly the same character in the text. When preceded with a backslash
|
||||
however, these characters may get a special meaning. For example, "a" matches
|
||||
the letter "a", while "\a" matches any alphabetic character.
|
||||
|
||||
Other characters have a special meaning without a backslash. They need to be
|
||||
preceded with a backslash to match literally.
|
||||
preceded with a backslash to match literally. For example "." matches any
|
||||
character while "\." matches a dot.
|
||||
|
||||
If a character is taken literally or not depends on the 'magic' option and the
|
||||
items mentioned next.
|
||||
items in the pattern mentioned next. The 'magic' option should always be set,
|
||||
but it can be switched off for Vi compatibility. We mention the effect of
|
||||
'nomagic' here for completeness, but we recommend against using that.
|
||||
*/\m* */\M*
|
||||
Use of "\m" makes the pattern after it be interpreted as if 'magic' is set,
|
||||
ignoring the actual value of the 'magic' option.
|
||||
@@ -411,30 +415,28 @@ Use of "\M" makes the pattern after it be interpreted as if 'nomagic' is used.
|
||||
Use of "\v" means that after it, all ASCII characters except '0'-'9', 'a'-'z',
|
||||
'A'-'Z' and '_' have special meaning: "very magic"
|
||||
|
||||
Use of "\V" means that after it, only a backslash and terminating character
|
||||
(usually / or ?) have special meaning: "very nomagic"
|
||||
Use of "\V" means that after it, only a backslash and the terminating
|
||||
character (usually / or ?) have special meaning: "very nomagic"
|
||||
|
||||
Examples:
|
||||
after: \v \m \M \V matches ~
|
||||
'magic' 'nomagic'
|
||||
$ $ $ \$ matches end-of-line
|
||||
. . \. \. matches any character
|
||||
a a a a literal 'a'
|
||||
\a \a \a \a any alphabetic character
|
||||
. . \. \. any character
|
||||
\. \. . . literal dot
|
||||
$ $ $ \$ end-of-line
|
||||
* * \* \* any number of the previous atom
|
||||
~ ~ \~ \~ latest substitute string
|
||||
() \(\) \(\) \(\) grouping into an atom
|
||||
| \| \| \| separating alternatives
|
||||
\a \a \a \a alphabetic character
|
||||
() \(\) \(\) \(\) group as an atom
|
||||
| \| \| \| nothing: separates alternatives
|
||||
\\ \\ \\ \\ literal backslash
|
||||
\. \. . . literal dot
|
||||
\{ { { { literal '{'
|
||||
a a a a literal 'a'
|
||||
\{ { { { literal curly brace
|
||||
|
||||
{only Vim supports \m, \M, \v and \V}
|
||||
|
||||
It is recommended to always keep the 'magic' option at the default setting,
|
||||
which is 'magic'. This avoids portability problems. To make a pattern immune
|
||||
to the 'magic' option being set or not, put "\m" or "\M" at the start of the
|
||||
pattern.
|
||||
If you want to you can make a pattern immune to the 'magic' option being set
|
||||
or not by putting "\m" or "\M" at the start of the pattern.
|
||||
|
||||
==============================================================================
|
||||
4. Overview of pattern items *pattern-overview*
|
||||
@@ -676,7 +678,7 @@ overview.
|
||||
|
||||
Note that using "\&" works the same as using "\@=": "foo\&.." is the
|
||||
same as "\(foo\)\@=..". But using "\&" is easier, you don't need the
|
||||
braces.
|
||||
parentheses.
|
||||
|
||||
|
||||
*/\@!*
|
||||
@@ -797,11 +799,12 @@ An ordinary atom can be:
|
||||
^beep( the start of the C function "beep" (probably).
|
||||
|
||||
*/\^*
|
||||
\^ Matches literal '^'. Can be used at any position in the pattern.
|
||||
\^ Matches literal '^'. Can be used at any position in the pattern, but
|
||||
not inside [].
|
||||
|
||||
*/\_^*
|
||||
\_^ Matches start-of-line. |/zero-width| Can be used at any position in
|
||||
the pattern.
|
||||
the pattern, but not inside [].
|
||||
Example matches ~
|
||||
\_s*\_^foo white space and blank lines and then "foo" at
|
||||
start-of-line
|
||||
@@ -812,12 +815,13 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
|/zero-width|
|
||||
|
||||
*/\$*
|
||||
\$ Matches literal '$'. Can be used at any position in the pattern.
|
||||
\$ Matches literal '$'. Can be used at any position in the pattern, but
|
||||
not inside [].
|
||||
|
||||
*/\_$*
|
||||
\_$ Matches end-of-line. |/zero-width| Can be used at any position in the
|
||||
pattern. Note that "a\_$b" never matches, since "b" cannot match an
|
||||
end-of-line. Use "a\nb" instead |/\n|.
|
||||
pattern, but not inside []. Note that "a\_$b" never matches, since
|
||||
"b" cannot match an end-of-line. Use "a\nb" instead |/\n|.
|
||||
Example matches ~
|
||||
foo\_$\_s* "foo" at end-of-line and following white space and
|
||||
blank lines
|
||||
@@ -840,8 +844,9 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
|/zero-width|
|
||||
|
||||
*/\zs*
|
||||
\zs Matches at any position, and sets the start of the match there: The
|
||||
next char is the first char of the whole match. |/zero-width|
|
||||
\zs Matches at any position, but not inside [], and sets the start of the
|
||||
match there: The next char is the first char of the whole match.
|
||||
|/zero-width|
|
||||
Example: >
|
||||
/^\s*\zsif
|
||||
< matches an "if" at the start of a line, ignoring white space.
|
||||
@@ -852,8 +857,9 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
This cannot be followed by a multi. *E888*
|
||||
{not available when compiled without the |+syntax| feature}
|
||||
*/\ze*
|
||||
\ze Matches at any position, and sets the end of the match there: The
|
||||
previous char is the last char of the whole match. |/zero-width|
|
||||
\ze Matches at any position, but not inside [], and sets the end of the
|
||||
match there: The previous char is the last char of the whole match.
|
||||
|/zero-width|
|
||||
Can be used multiple times, the last one encountered in a matching
|
||||
branch is used.
|
||||
Example: "end\ze\(if\|for\)" matches the "end" in "endif" and
|
||||
@@ -939,7 +945,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
These three can be used to match specific columns in a buffer or
|
||||
string. The "23" can be any column number. The first column is 1.
|
||||
Actually, the column is the byte number (thus it's not exactly right
|
||||
for multi-byte characters).
|
||||
for multibyte characters).
|
||||
WARNING: When inserting or deleting text Vim does not automatically
|
||||
update the matches. This means Syntax highlighting quickly becomes
|
||||
wrong.
|
||||
@@ -994,7 +1000,7 @@ Character classes:
|
||||
\p printable character (see 'isprint' option) */\p*
|
||||
\P like "\p", but excluding digits */\P*
|
||||
|
||||
NOTE: the above also work for multi-byte characters. The ones below only
|
||||
NOTE: the above also work for multibyte characters. The ones below only
|
||||
match ASCII characters, as indicated by the range.
|
||||
|
||||
*whitespace* *white-space*
|
||||
@@ -1065,8 +1071,8 @@ x A single character, with no special meaning, matches itself
|
||||
|
||||
[] (with 'nomagic': \[]) */[]* */\[]* */\_[]* */collection*
|
||||
\_[]
|
||||
A collection. This is a sequence of characters enclosed in brackets.
|
||||
It matches any single character in the collection.
|
||||
A collection. This is a sequence of characters enclosed in square
|
||||
brackets. It matches any single character in the collection.
|
||||
Example matches ~
|
||||
[xyz] any 'x', 'y' or 'z'
|
||||
[a-zA-Z]$ any alphabetic character at the end of a line
|
||||
@@ -1125,15 +1131,16 @@ x A single character, with no special meaning, matches itself
|
||||
*[:ident:]* [:ident:] identifier character (same as "\i")
|
||||
*[:keyword:]* [:keyword:] keyword character (same as "\k")
|
||||
*[:fname:]* [:fname:] file name character (same as "\f")
|
||||
The brackets in character class expressions are additional to the
|
||||
brackets delimiting a collection. For example, the following is a
|
||||
plausible pattern for a UNIX filename: "[-./[:alnum:]_~]\+" That is,
|
||||
a list of at least one character, each of which is either '-', '.',
|
||||
'/', alphabetic, numeric, '_' or '~'.
|
||||
The square brackets in character class expressions are additional to
|
||||
the square brackets delimiting a collection. For example, the
|
||||
following is a plausible pattern for a UNIX filename:
|
||||
"[-./[:alnum:]_~]\+". That is, a list of at least one character,
|
||||
each of which is either '-', '.', '/', alphabetic, numeric, '_' or
|
||||
'~'.
|
||||
These items only work for 8-bit characters, except [:lower:] and
|
||||
[:upper:] also work for multi-byte characters when using the new
|
||||
[:upper:] also work for multibyte characters when using the new
|
||||
regexp engine. See |two-engines|. In the future these items may
|
||||
work for multi-byte characters. For now, to get all "alpha"
|
||||
work for multibyte characters. For now, to get all "alpha"
|
||||
characters you can use: [[:lower:][:upper:]].
|
||||
|
||||
The "Func" column shows what library function is used. The
|
||||
@@ -1172,7 +1179,7 @@ x A single character, with no special meaning, matches itself
|
||||
\b <BS>
|
||||
\n line break, see above |/[\n]|
|
||||
\d123 decimal number of character
|
||||
\o40 octal number of character up to 0377
|
||||
\o40 octal number of character up to 0o377
|
||||
\x20 hexadecimal number of character up to 0xff
|
||||
\u20AC hex. number of multibyte character up to 0xffff
|
||||
\U1234 hex. number of multibyte character up to 0xffffffff
|
||||
@@ -1210,7 +1217,8 @@ x A single character, with no special meaning, matches itself
|
||||
\%d123 Matches the character specified with a decimal number. Must be
|
||||
followed by a non-digit.
|
||||
\%o40 Matches the character specified with an octal number up to 0377.
|
||||
Numbers below 040 must be followed by a non-octal digit or a non-digit.
|
||||
Numbers below 0o40 must be followed by a non-octal digit or a
|
||||
non-digit.
|
||||
\%x2a Matches the character specified with up to two hexadecimal characters.
|
||||
\%u20AC Matches the character specified with up to four hexadecimal
|
||||
characters.
|
||||
@@ -1257,8 +1265,8 @@ When working with expression evaluation, a <NL> character in the pattern
|
||||
matches a <NL> in the string. The use of "\n" (backslash n) to match a <NL>
|
||||
doesn't work there, it only works to match text in the buffer.
|
||||
|
||||
*pattern-multi-byte*
|
||||
Patterns will also work with multi-byte characters, mostly as you would
|
||||
*pattern-multi-byte* *pattern-multibyte*
|
||||
Patterns will also work with multibyte characters, mostly as you would
|
||||
expect. But invalid bytes may cause trouble, a pattern with an invalid byte
|
||||
will probably never match.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_netrw.txt* For Vim version 8.2. Last change: 2020 Jan 14
|
||||
*pi_netrw.txt* For Vim version 8.2. Last change: 2020 Sep 19
|
||||
|
||||
------------------------------------------------
|
||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||
@@ -437,9 +437,13 @@ settings are described below, in |netrw-browser-options|, and in
|
||||
*g:netrw_silent* =0 : transfers done normally
|
||||
=1 : transfers done silently
|
||||
|
||||
*g:netrw_use_errorwindow* =1 : messages from netrw will use a separate one
|
||||
*g:netrw_use_errorwindow* =2: messages from netrw will use a popup window
|
||||
Move the mouse and pause to remove the popup window.
|
||||
(default value if popup windows are availble)
|
||||
=1 : messages from netrw will use a separate one
|
||||
line window. This window provides reliable
|
||||
delivery of messages. (default)
|
||||
delivery of messages.
|
||||
(default value if popup windows are not availble)
|
||||
=0 : messages from netrw will use echoerr ;
|
||||
messages don't always seem to show up this
|
||||
way, but one doesn't have to quit the window.
|
||||
@@ -725,6 +729,8 @@ just as easily as if they were local files! >
|
||||
See |netrw-activate| for more on how to encourage your vim to use plugins
|
||||
such as netrw.
|
||||
|
||||
For password-free use of scp:, see |netrw-ssh-hack|.
|
||||
|
||||
|
||||
==============================================================================
|
||||
7. Ex Commands *netrw-ex* {{{1
|
||||
@@ -1063,7 +1069,7 @@ QUICK HELP *netrw-quickhelp* {{{2
|
||||
Reverse sorting order.........................|netrw-r|
|
||||
|
||||
|
||||
*netrw-quickmap* *netrw-quickmaps*
|
||||
*netrw-quickmap* *netrw-quickmaps*
|
||||
QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
>
|
||||
--- ----------------- ----
|
||||
@@ -1080,7 +1086,7 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
a Cycles between normal display, |netrw-a|
|
||||
hiding (suppress display of files matching g:netrw_list_hide)
|
||||
and showing (display only files which match g:netrw_list_hide)
|
||||
c Make browsing directory the current directory |netrw-c|
|
||||
cd Make browsing directory the current directory |netrw-cd|
|
||||
C Setting the editing window |netrw-C|
|
||||
d Make a directory |netrw-d|
|
||||
D Attempt to remove the file(s)/directory(ies) |netrw-D|
|
||||
@@ -2098,7 +2104,7 @@ the two directories the same, use the "cd" map (type cd). That map will
|
||||
set Vim's notion of the current directory to netrw's current browsing
|
||||
directory.
|
||||
|
||||
*netrw-c* : This map's name has been changed from "c" to cd (see |netrw-cd|).
|
||||
|netrw-cd|: This map's name was changed from "c" to cd (see |netrw-cd|).
|
||||
This change was done to allow for |netrw-cb| and |netrw-cB| maps.
|
||||
|
||||
Associated setting variable: |g:netrw_keepdir|
|
||||
@@ -2753,7 +2759,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
=0 keep the current directory the same as the
|
||||
browsing directory.
|
||||
The current browsing directory is contained in
|
||||
b:netrw_curdir (also see |netrw-c|)
|
||||
b:netrw_curdir (also see |netrw-cd|)
|
||||
|
||||
*g:netrw_keepj* ="keepj" (default) netrw attempts to keep the
|
||||
|:jumps| table unaffected.
|
||||
@@ -3124,7 +3130,8 @@ a file using the local browser (by putting the cursor on it) and pressing
|
||||
|
||||
Related topics:
|
||||
* To see what the current directory is, use |:pwd|
|
||||
* To make the currently browsed directory the current directory, see |netrw-c|
|
||||
* To make the currently browsed directory the current directory, see
|
||||
|netrw-cd|
|
||||
* To automatically make the currently browsed directory the current
|
||||
directory, see |g:netrw_keepdir|.
|
||||
|
||||
@@ -3799,9 +3806,15 @@ netrw:
|
||||
or
|
||||
http://vim.sourceforge.net/scripts/script.php?script_id=120
|
||||
|
||||
Decho.vim is provided as a "vimball"; see |vimball-intro|.
|
||||
Decho.vim is provided as a "vimball"; see |vimball-intro|. You
|
||||
should edit the Decho.vba.gz file and source it in: >
|
||||
|
||||
2. Edit the <netrw.vim> file by typing: >
|
||||
vim Decho.vba.gz
|
||||
:so %
|
||||
:q
|
||||
<
|
||||
2. To turn on debug tracing in netrw, then edit the <netrw.vim>
|
||||
file by typing: >
|
||||
|
||||
vim netrw.vim
|
||||
:DechoOn
|
||||
@@ -3823,14 +3836,34 @@ netrw:
|
||||
read/write your file over the network in a separate tab or
|
||||
server vim window.
|
||||
|
||||
To save the file, use >
|
||||
Change the netrw.vimrc file to include the Decho plugin: >
|
||||
|
||||
set nocp
|
||||
so $HOME/.vim/plugin/Decho.vim
|
||||
so $HOME/.vim/plugin/netrwPlugin.vim
|
||||
<
|
||||
You should continue to run vim with >
|
||||
|
||||
vim -u netrw.vimrc --noplugins -i NONE [some path here]
|
||||
<
|
||||
to avoid entanglements with options and other plugins.
|
||||
|
||||
To save the file: under linux, the output will be in a separate
|
||||
remote server window; in it, just save the file with >
|
||||
|
||||
:w! DBG
|
||||
|
||||
< Under a vim that doesn't support clientserver, your debugging
|
||||
output will appear in another tab: >
|
||||
|
||||
:tabnext
|
||||
:set bt=
|
||||
:w! DBG
|
||||
<
|
||||
Furthermore, it'd be helpful if you would type >
|
||||
|
||||
< Furthermore, it'd be helpful if you would type >
|
||||
:Dsep <command>
|
||||
|
||||
< where <command> is the command you're about to type next,
|
||||
thereby making it easier to associate which part of the
|
||||
debugging trace is due to which command.
|
||||
@@ -3838,17 +3871,34 @@ netrw:
|
||||
Please send that information to <netrw.vim>'s maintainer along
|
||||
with the o/s you're using and the vim version that you're using
|
||||
(see |:version|) (remove the embedded NOSPAM first) >
|
||||
|
||||
NcampObell@SdrPchip.AorgM-NOSPAM
|
||||
<
|
||||
==============================================================================
|
||||
12. History *netrw-history* {{{1
|
||||
|
||||
v170: Mar 11, 2020 * (reported by Reiner Herrmann) netrw+tree
|
||||
would not hide with the ^\..* pattern
|
||||
correctly.
|
||||
* (Marcin Szamotulski) NetrwOptionRestore
|
||||
did not restore options correctly that
|
||||
had a single quote in the option string.
|
||||
Apr 13, 2020 * implemented error handling via popup
|
||||
windows (see |popup_beval()|)
|
||||
Apr 30, 2020 * (reported by Manatsu Takahashi) while
|
||||
using Lexplore, a modified file could
|
||||
be overwritten. Sol'n: will not overwrite,
|
||||
but will emit an |E37| (although one cannot
|
||||
add an ! to override)
|
||||
Jun 07, 2020 * (reported by Jo Totland) repeatedly invoking
|
||||
:Lexplore and quitting it left unused
|
||||
hidden buffers. Netrw will now set netrw
|
||||
buffers created by :Lexplore to |bh|=wipe.
|
||||
v169: Dec 20, 2019 * (reported by amkarthik) that netrw's x
|
||||
(|netrw-x|) would throw an error when
|
||||
attempting to open a local directory.
|
||||
v168: Dec 12, 2019 * scp timeout error message not reported,
|
||||
hopefully now fixed (Shane Xb Qian)
|
||||
|
||||
v167: Nov 29, 2019 * netrw does a save&restore on @* and @+.
|
||||
That causes problems with the clipboard.
|
||||
Now restores occurs only if @* or @+ have
|
||||
@@ -4306,4 +4356,4 @@ netrw:
|
||||
|
||||
==============================================================================
|
||||
Modelines: {{{1
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:fdm=marker
|
||||
vim:tw=78:ts=8:ft=help:noet:norl:fdm=marker
|
||||
|
||||
@@ -154,4 +154,4 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
|
||||
v1 Sep 15, 2005 * Initial release, had browsing, reading, and writing
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:noet:ft=help:fdm=marker
|
||||
vim:tw=78:ts=8:ft=help:noet:norl:fdm=marker
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*popup.txt* For Vim version 8.2. Last change: 2020 Jul 27
|
||||
*popup.txt* For Vim version 8.2. Last change: 2021 Jan 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -101,7 +101,7 @@ CLOSING THE POPUP WINDOW *popup-close*
|
||||
|
||||
Normally the plugin that created the popup window is also in charge of closing
|
||||
it. If somehow a popup hangs around, you can close all of them with: >
|
||||
call popup_clear()
|
||||
call popup_clear(1)
|
||||
Some popups, such as notifications, close after a specified time. This can be
|
||||
set with the "time" property on `popup_create()`.
|
||||
Otherwise, a popup can be closed by clicking on the X in the top-right corner
|
||||
@@ -309,11 +309,12 @@ popup_dialog({what}, {options}) *popup_dialog()*
|
||||
|
||||
popup_filter_menu({id}, {key}) *popup_filter_menu()*
|
||||
Filter that can be used for a popup. These keys can be used:
|
||||
j <Down> select item below
|
||||
k <Up> select item above
|
||||
j <Down> <C-N> select item below
|
||||
k <Up> <C-P> select item above
|
||||
<Space> <Enter> accept current selection
|
||||
x Esc CTRL-C cancel the menu
|
||||
Other keys are ignored.
|
||||
Always returns |v:true|.
|
||||
|
||||
A match is set on that line to highlight it, see
|
||||
|popup_menu()|.
|
||||
@@ -587,8 +588,6 @@ properties. It is in one of four forms:
|
||||
|
||||
If you want to create a new buffer yourself use |bufadd()| and pass the buffer
|
||||
number to popup_create().
|
||||
It is not possible to use the buffer of a terminal window. *E278* You CAN
|
||||
create a hidden terminal buffer and use that one in a popup window.
|
||||
|
||||
The second argument of |popup_create()| is a dictionary with options:
|
||||
line Screen line where to position the popup. Can use a
|
||||
@@ -711,7 +710,7 @@ The second argument of |popup_create()| is a dictionary with options:
|
||||
By default a double line is used all around when
|
||||
'encoding' is "utf-8" and 'ambiwidth' is "single",
|
||||
otherwise ASCII characters are used.
|
||||
scrollbar non-zero: show a scrollbar when the text doesn't fit.
|
||||
scrollbar 1 or true: show a scrollbar when the text doesn't fit.
|
||||
zero: do not show a scrollbar. Default is non-zero.
|
||||
Also see |popup-scrollbar|.
|
||||
scrollbarhighlight Highlight group name for the scrollbar. The
|
||||
@@ -910,11 +909,22 @@ A mouse click arrives as <LeftMouse>. The coordinates can be obtained with
|
||||
Vim provides standard filters |popup_filter_menu()| and
|
||||
|popup_filter_yesno()|.
|
||||
|
||||
Keys coming from a `:normal` command do not pass through the filter. This can
|
||||
be used to move the cursor in a popup where the "cursorline" option is set: >
|
||||
call win_execute(winid, 'normal! 10Gzz')
|
||||
Keys coming from `feedkeys()` are passed through the filter.
|
||||
|
||||
Note that "x" is the normal way to close a popup. You may want to use Esc,
|
||||
but since many keys start with an Esc character, there may be a delay before
|
||||
Vim recognizes the Esc key. If you do use Esc, it is recommended to set the
|
||||
'ttimeoutlen' option to 100 and set 'timeout' and/or 'ttimeout'.
|
||||
|
||||
*popup-filter-errors*
|
||||
If the filter function can't be called, e.g. because the name is wrong, then
|
||||
the popup is closed. If the filter causes an error then it is assumed to
|
||||
return zero. If this happens three times in a row the popup is closed. If
|
||||
the popup gives errors fewer than 10% of the calls then it won't be closed.
|
||||
|
||||
|
||||
POPUP CALLBACK *popup-callback*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*print.txt* For Vim version 8.2. Last change: 2019 Dec 17
|
||||
*print.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -114,7 +114,7 @@ If 'printencoding' is empty or Vim cannot find the file then it will use
|
||||
encoding file. If Vim is unable to find a character encoding file then it
|
||||
will use the "latin1" print character encoding file.
|
||||
|
||||
When 'encoding' is set to a multi-byte encoding, Vim will try to convert
|
||||
When 'encoding' is set to a multibyte encoding, Vim will try to convert
|
||||
characters to the printing encoding for printing (if 'printencoding' is empty
|
||||
then the conversion will be to latin1). Conversion to a printing encoding
|
||||
other than latin1 will require Vim to be compiled with the |+iconv| feature.
|
||||
@@ -269,7 +269,7 @@ Japanese text you would do the following; >
|
||||
:set printmbcharset=JIS_X_1983
|
||||
|
||||
If 'printmbcharset' is not one of the above values then it is assumed to
|
||||
specify a custom multi-byte character set and no check will be made that it is
|
||||
specify a custom multibyte character set and no check will be made that it is
|
||||
compatible with the value for 'printencoding'. Vim will look for a file
|
||||
defining the character set in the "print" directory in 'runtimepath'.
|
||||
|
||||
@@ -304,7 +304,7 @@ printing of characters in the ASCII code range.
|
||||
a:yes Use ASCII character set for codes in the ASCII
|
||||
a:no (default) code range.
|
||||
|
||||
The following is an example of specifying two multi-byte fonts, one for normal
|
||||
The following is an example of specifying two multibyte fonts, one for normal
|
||||
and italic printing and one for bold and bold-italic printing, and using
|
||||
Courier to print codes in the ASCII code range but using the national
|
||||
character set: >
|
||||
@@ -420,10 +420,10 @@ There are currently a number of limitations with PostScript printing:
|
||||
possible to get all the characters in an encoding to print by installing a
|
||||
new version of the Courier font family.
|
||||
|
||||
- Multi-byte support - Currently Vim will try to convert multi-byte characters
|
||||
- Multi-byte support - Currently Vim will try to convert multibyte characters
|
||||
to the 8-bit encoding specified by 'printencoding' (or latin1 if it is
|
||||
empty). Any characters that are not successfully converted are shown as
|
||||
unknown characters. Printing will fail if Vim cannot convert the multi-byte
|
||||
unknown characters. Printing will fail if Vim cannot convert the multibyte
|
||||
to the 8-bit encoding.
|
||||
|
||||
==============================================================================
|
||||
@@ -508,7 +508,7 @@ print ASCII text using the national character set you may see some unexpected
|
||||
characters. If you want true ASCII code printing then you need to configure
|
||||
Vim to output ASCII characters for the ASCII code range with 'printmbfont'.
|
||||
|
||||
It is possible to define your own multi-byte character set although this
|
||||
It is possible to define your own multibyte character set although this
|
||||
should not be attempted lightly. A discussion on the process if beyond the
|
||||
scope of these help files. You can find details on CMap (character map) files
|
||||
in the document 'Adobe CMap and CIDFont Files Specification, Version 1.0',
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 8.2. Last change: 2020 Jun 10
|
||||
*quickref.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -696,7 +696,7 @@ Short explanation of each option: *option-list*
|
||||
'eventignore' 'ei' autocommand events that are ignored
|
||||
'expandtab' 'et' use spaces when <Tab> is inserted
|
||||
'exrc' 'ex' read .vimrc and .exrc in the current directory
|
||||
'fileencoding' 'fenc' file encoding for multi-byte text
|
||||
'fileencoding' 'fenc' file encoding for multibyte text
|
||||
'fileencodings' 'fencs' automatically detected character encodings
|
||||
'fileformat' 'ff' file format used for file I/O
|
||||
'fileformats' 'ffs' automatically detected values for 'fileformat'
|
||||
@@ -728,7 +728,7 @@ Short explanation of each option: *option-list*
|
||||
'grepprg' 'gp' program to use for ":grep"
|
||||
'guicursor' 'gcr' GUI: settings for cursor shape and blinking
|
||||
'guifont' 'gfn' GUI: Name(s) of font(s) to be used
|
||||
'guifontset' 'gfs' GUI: Names of multi-byte fonts to be used
|
||||
'guifontset' 'gfs' GUI: Names of multibyte fonts to be used
|
||||
'guifontwide' 'gfw' list of font names for double-wide characters
|
||||
'guiheadroom' 'ghr' GUI: pixels room for window decorations
|
||||
'guioptions' 'go' GUI: Which components and options are used
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*repeat.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
*repeat.txt* For Vim version 8.2. Last change: 2021 Jan 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -271,6 +271,9 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
directories are added to 'runtimepath'. This is
|
||||
useful in your .vimrc. The plugins will then be
|
||||
loaded during initialization, see |load-plugins|.
|
||||
Note that for ftdetect scripts to be loaded
|
||||
you will need to write `filetype plugin indent on`
|
||||
AFTER all `packadd!` commands.
|
||||
|
||||
Also see |pack-add|.
|
||||
{only available when compiled with |+eval|}
|
||||
@@ -351,6 +354,14 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
Vim version, or update Vim to a newer version. See
|
||||
|vimscript-version| for what changed between versions.
|
||||
|
||||
:vim9[script] [noclear] *:vim9* *:vim9script*
|
||||
Marks a script file as containing |Vim9-script|
|
||||
commands. Also see |vim9-namespace|.
|
||||
Must be the first command in the file.
|
||||
For [noclear] see |vim9-reload|.
|
||||
Without the |+eval| feature this changes the syntax
|
||||
for some commands.
|
||||
|
||||
*:scr* *:scriptnames*
|
||||
:scr[iptnames] List all sourced script names, in the order they were
|
||||
first sourced. The number is used for the script ID
|
||||
@@ -888,8 +899,9 @@ matches ".../plugin/explorer.vim", ".../plugin/iexplorer.vim", etc. >
|
||||
matches ".../plugin/explorer.vim" and "explorer.vim" in any other directory.
|
||||
|
||||
The match for functions is done against the name as it's shown in the output
|
||||
of ":function". For local functions this means that something like "<SNR>99_"
|
||||
is prepended.
|
||||
of ":function". However, for local functions the script-specific prefix such
|
||||
as "<SNR>99_" is ignored to make it easier to match script-local functions
|
||||
without knowing the ID of the script.
|
||||
|
||||
Note that functions are first loaded and later executed. When they are loaded
|
||||
the "file" breakpoints are checked, when they are executed the "func"
|
||||
@@ -944,10 +956,10 @@ OBSCURE
|
||||
|
||||
Profiling means that Vim measures the time that is spent on executing
|
||||
functions and/or scripts. The |+profile| feature is required for this.
|
||||
It is only included when Vim was compiled with "huge" features.
|
||||
It is included when Vim was compiled with "huge" features.
|
||||
|
||||
You can also use the |reltime()| function to measure time. This only requires
|
||||
the |+reltime| feature, which is present more often.
|
||||
the |+reltime| feature, which is present in more builds.
|
||||
|
||||
For profiling syntax highlighting see |:syntime|.
|
||||
|
||||
@@ -994,7 +1006,12 @@ For example, to profile the one_script.vim script file: >
|
||||
|
||||
|
||||
You must always start with a ":profile start fname" command. The resulting
|
||||
file is written when Vim exits. Here is an example of the output, with line
|
||||
file is written when Vim exits. For example, to profile one specific
|
||||
function: >
|
||||
profile start /tmp/vimprofile
|
||||
profile func MyFunc
|
||||
|
||||
Here is an example of the output, with line
|
||||
numbers prepended for the explanation:
|
||||
|
||||
1 FUNCTION Test2() ~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*sign.txt* For Vim version 8.2. Last change: 2019 Nov 30
|
||||
*sign.txt* For Vim version 8.2. Last change: 2020 Oct 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur
|
||||
@@ -81,10 +81,18 @@ on the same line, the attributes of the sign with the highest priority is used
|
||||
independently of the sign group. The default priority for a sign is 10. The
|
||||
priority is assigned at the time of placing a sign.
|
||||
|
||||
When two signs with the same priority are present, and one has an icon or text
|
||||
in the signcolumn while the other has line highlighting, then both are
|
||||
displayed.
|
||||
|
||||
When the line on which the sign is placed is deleted, the sign is moved to the
|
||||
next line (or the last line of the buffer, if there is no next line). When
|
||||
the delete is undone the sign does not move back.
|
||||
|
||||
When a sign with line highlighting and 'cursorline' highlighting are both
|
||||
present, if the priority is 100 or more then the sign highlighting takes
|
||||
precedence, otherwise the 'cursorline' highlighting.
|
||||
|
||||
==============================================================================
|
||||
2. Commands *sign-commands* *:sig* *:sign*
|
||||
|
||||
@@ -454,11 +462,11 @@ sign_getplaced([{expr} [, {dict}]]) *sign_getplaced()*
|
||||
entries
|
||||
|
||||
The dictionary for each sign contains the following entries:
|
||||
group sign group. Set to '' for the global group.
|
||||
id identifier of the sign
|
||||
lnum line number where the sign is placed
|
||||
name name of the defined sign
|
||||
priority sign priority
|
||||
group sign group. Set to '' for the global group.
|
||||
id identifier of the sign
|
||||
lnum line number where the sign is placed
|
||||
name name of the defined sign
|
||||
priority sign priority
|
||||
|
||||
The returned signs in a buffer are ordered by their line
|
||||
number and priority.
|
||||
|
||||
@@ -887,7 +887,7 @@ time ":mkspell" is used. Vim will then convert everything to 'encoding' and
|
||||
generate a spell file for 'encoding'. If some of the used characters to not
|
||||
fit in 'encoding' you will get an error message.
|
||||
*spell-affix-mbyte*
|
||||
When using a multi-byte encoding it's possible to use more different affix
|
||||
When using a multibyte encoding it's possible to use more different affix
|
||||
flags. But Myspell doesn't support that, thus you may not want to use it
|
||||
anyway. For compatibility use an 8-bit encoding.
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -513,6 +513,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
'nocompatible': use Vim defaults
|
||||
- no |gvimrc| script is loaded
|
||||
- no viminfo file is read or written
|
||||
Note that a following "-u" argument overrules the effect of
|
||||
"-u DEFAULTS".
|
||||
|
||||
*-x*
|
||||
-x Use encryption to read/write files. Will prompt for a key,
|
||||
@@ -994,7 +996,7 @@ version 5.0) are not recognized.
|
||||
|
||||
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
|
||||
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 28
|
||||
*syntax.txt* For Vim version 8.2. Last change: 2021 Jan 21
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*:syn-on* *:syntax-on*
|
||||
The `:syntax enable` command will keep your current color settings. This
|
||||
allows using `:highlight` commands to set your preferred colors before or
|
||||
The `:syntax enable` command will keep most of your current color settings.
|
||||
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
|
||||
defaults, use: >
|
||||
:syntax on
|
||||
@@ -2335,11 +2335,12 @@ http://papp.plan9.de.
|
||||
|
||||
PASCAL *pascal.vim* *ft-pascal-syntax*
|
||||
|
||||
Files matching "*.p" could be Progress or Pascal. If the automatic detection
|
||||
doesn't work for you, or you don't edit Progress at all, use this in your
|
||||
startup vimrc: >
|
||||
Files matching "*.p" could be Progress or Pascal and those matching "*.pp"
|
||||
could be Puppet or Pascal. If the automatic detection doesn't work for you,
|
||||
or you only edit Pascal files, use this in your startup vimrc: >
|
||||
|
||||
:let filetype_p = "pascal"
|
||||
:let filetype_p = "pascal"
|
||||
:let filetype_pp = "pascal"
|
||||
|
||||
The Pascal syntax file has been extended to take into account some extensions
|
||||
provided by Turbo Pascal, Free Pascal Compiler and GNU Pascal Compiler.
|
||||
@@ -3006,7 +3007,7 @@ vimrc file: >
|
||||
(Adapted from the html.vim help text by Claudio Fleiner <claudio@fleiner.com>)
|
||||
|
||||
|
||||
*ft-posix-synax* *ft-dash-syntax*
|
||||
*ft-posix-syntax* *ft-dash-syntax*
|
||||
SH *sh.vim* *ft-sh-syntax* *ft-bash-syntax* *ft-ksh-syntax*
|
||||
|
||||
This covers syntax highlighting for the older Unix (Bourne) sh, and newer
|
||||
@@ -3183,6 +3184,7 @@ redrawing can become slow.
|
||||
|
||||
|
||||
TEX *tex.vim* *ft-tex-syntax* *latex-syntax*
|
||||
*syntax-tex* *syntax-latex*
|
||||
|
||||
Tex Contents~
|
||||
Tex: Want Syntax Folding? |tex-folding|
|
||||
@@ -3199,6 +3201,7 @@ TEX *tex.vim* *ft-tex-syntax* *latex-syntax*
|
||||
Tex: Selective Conceal Mode |g:tex_conceal|
|
||||
Tex: Controlling iskeyword |g:tex_isk|
|
||||
Tex: Fine Subscript and Superscript Control |tex-supersub|
|
||||
Tex: Match Check Control |tex-matchcheck|
|
||||
|
||||
*tex-folding* *g:tex_fold_enabled*
|
||||
Tex: Want Syntax Folding? ~
|
||||
@@ -3422,6 +3425,22 @@ syntax highlighting script handles this with the following logic:
|
||||
< in ~/.vim/ftplugin/tex/tex.vim in order to avoid having inscrutable
|
||||
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*
|
||||
|
||||
@@ -4348,7 +4367,7 @@ Notes:
|
||||
- A negative offset for an end pattern may not always work, because the end
|
||||
pattern may be detected when the highlighting should already have stopped.
|
||||
- Before Vim 7.2 the offsets were counted in bytes instead of characters.
|
||||
This didn't work well for multi-byte characters, so it was changed with the
|
||||
This didn't work well for multibyte characters, so it was changed with the
|
||||
Vim 7.2 release.
|
||||
- The start of a match cannot be in a line other than where the pattern
|
||||
matched. This doesn't work: "a\nb"ms=e. You can make the highlighting
|
||||
@@ -4809,6 +4828,7 @@ in their own color.
|
||||
highlighting for groups added by the user!
|
||||
Uses the current value of 'background' to decide which
|
||||
default colors to use.
|
||||
If there was a default link, restore it. |:hi-link|
|
||||
|
||||
:hi[ghlight] clear {group-name}
|
||||
:hi[ghlight] {group-name} NONE
|
||||
@@ -5304,6 +5324,12 @@ If you like Question highlighting for C comments, put this in your vimrc file: >
|
||||
Without the "default" in the C syntax file, the highlighting would be
|
||||
overruled when the syntax file is loaded.
|
||||
|
||||
To have a link survive `:highlight clear`, which is useful if you have
|
||||
highlighting for a specific filetype and you want to keep it when selecting
|
||||
another color scheme, put a command like this in the
|
||||
"after/syntax/{filetype}.vim" file: >
|
||||
highlight! default link cComment Question
|
||||
|
||||
==============================================================================
|
||||
15. Cleaning up *:syn-clear* *E391*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*tabpage.txt* For Vim version 8.2. Last change: 2020 Aug 10
|
||||
*tabpage.txt* For Vim version 8.2. Last change: 2020 Oct 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -195,8 +195,8 @@ gt *i_CTRL-<PageDown>* *i_<C-PageDown>*
|
||||
:+2tabnext " go to the two next tab page
|
||||
:1tabnext " go to the first tab page
|
||||
:$tabnext " go to the last tab page
|
||||
:tabnext # " go to the last accessed tab page
|
||||
:tabnext $ " as above
|
||||
:tabnext # " go to the last accessed tab page
|
||||
:tabnext - " go to the previous tab page
|
||||
:tabnext -1 " as above
|
||||
:tabnext + " go to the next tab page
|
||||
@@ -225,7 +225,7 @@ gT Go to the previous tab page. Wraps around from the first one
|
||||
*:tabl* *:tablast*
|
||||
:tabl[ast] Go to the last tab page.
|
||||
|
||||
*g<Tab>* *CTRL-W_g<Tab>* *<C-Tab>*
|
||||
*g<Tab>* *CTRL-W_g<Tab>* *<C-Tab>*
|
||||
g<Tab> Go to the last accessed tab page.
|
||||
|
||||
Other commands:
|
||||
@@ -259,7 +259,7 @@ REORDERING TAB PAGES:
|
||||
:tabmove " move the tab page to the last
|
||||
:$tabmove " as above
|
||||
:tabmove $ " as above
|
||||
:tabmove # " move the tab page after the last accessed
|
||||
:tabmove # " move the tab page after the last accessed
|
||||
" tab page
|
||||
|
||||
:tabm[ove] +[N]
|
||||
|
||||
128
runtime/doc/tags
128
runtime/doc/tags
@@ -1045,6 +1045,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
't_da' term.txt /*'t_da'*
|
||||
't_db' term.txt /*'t_db'*
|
||||
't_dl' term.txt /*'t_dl'*
|
||||
't_fd' term.txt /*'t_fd'*
|
||||
't_fe' term.txt /*'t_fe'*
|
||||
't_fs' term.txt /*'t_fs'*
|
||||
't_k1' term.txt /*'t_k1'*
|
||||
't_k2' term.txt /*'t_k2'*
|
||||
@@ -1783,6 +1785,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
09.2 usr_09.txt /*09.2*
|
||||
09.3 usr_09.txt /*09.3*
|
||||
09.4 usr_09.txt /*09.4*
|
||||
0o eval.txt /*0o*
|
||||
0x eval.txt /*0x*
|
||||
10.1 usr_10.txt /*10.1*
|
||||
10.2 usr_10.txt /*10.2*
|
||||
10.3 usr_10.txt /*10.3*
|
||||
@@ -1975,6 +1979,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:<cWORD> cmdline.txt /*:<cWORD>*
|
||||
:<cexpr> cmdline.txt /*:<cexpr>*
|
||||
:<cfile> cmdline.txt /*:<cfile>*
|
||||
:<client> cmdline.txt /*:<client>*
|
||||
:<cword> cmdline.txt /*:<cword>*
|
||||
:<sfile> cmdline.txt /*:<sfile>*
|
||||
:<sflnum> cmdline.txt /*:<sflnum>*
|
||||
@@ -1993,6 +1998,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:AdaTagFile ft_ada.txt /*:AdaTagFile*
|
||||
:AdaTypes ft_ada.txt /*:AdaTypes*
|
||||
:Arguments terminal.txt /*:Arguments*
|
||||
:Asm terminal.txt /*:Asm*
|
||||
:Break terminal.txt /*:Break*
|
||||
:Cfilter quickfix.txt /*:Cfilter*
|
||||
:Clear terminal.txt /*:Clear*
|
||||
@@ -2071,6 +2077,11 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:_#< cmdline.txt /*:_#<*
|
||||
:_#n cmdline.txt /*:_#n*
|
||||
:_% cmdline.txt /*:_%*
|
||||
:_%% cmdline.txt /*:_%%*
|
||||
:_%%% cmdline.txt /*:_%%%*
|
||||
:_%%0 cmdline.txt /*:_%%0*
|
||||
:_%%< cmdline.txt /*:_%%<*
|
||||
:_%%n cmdline.txt /*:_%%n*
|
||||
:_%: cmdline.txt /*:_%:*
|
||||
:_%< cmdline.txt /*:_%<*
|
||||
:a insert.txt /*:a*
|
||||
@@ -2124,6 +2135,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:bad windows.txt /*:bad*
|
||||
:badd windows.txt /*:badd*
|
||||
:ball windows.txt /*:ball*
|
||||
:balt windows.txt /*:balt*
|
||||
:bar cmdline.txt /*:bar*
|
||||
:bd windows.txt /*:bd*
|
||||
:bdel windows.txt /*:bdel*
|
||||
@@ -2446,6 +2458,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:filter various.txt /*:filter*
|
||||
:fin editing.txt /*:fin*
|
||||
:fina eval.txt /*:fina*
|
||||
:final vim9.txt /*:final*
|
||||
:finally eval.txt /*:finally*
|
||||
:find editing.txt /*:find*
|
||||
:fini repeat.txt /*:fini*
|
||||
@@ -2722,6 +2735,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:map-<unique> map.txt /*:map-<unique>*
|
||||
:map-alt-keys map.txt /*:map-alt-keys*
|
||||
:map-arguments map.txt /*:map-arguments*
|
||||
:map-cmd map.txt /*:map-cmd*
|
||||
:map-commands map.txt /*:map-commands*
|
||||
:map-expression map.txt /*:map-expression*
|
||||
:map-local map.txt /*:map-local*
|
||||
@@ -3100,9 +3114,11 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:sip change.txt /*:sip*
|
||||
:sir change.txt /*:sir*
|
||||
:sl various.txt /*:sl*
|
||||
:sl! various.txt /*:sl!*
|
||||
:sla windows.txt /*:sla*
|
||||
:slast windows.txt /*:slast*
|
||||
:sleep various.txt /*:sleep*
|
||||
:sleep! various.txt /*:sleep!*
|
||||
:sm change.txt /*:sm*
|
||||
:smagic change.txt /*:smagic*
|
||||
:smap map.txt /*:smap*
|
||||
@@ -3160,6 +3176,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:sta windows.txt /*:sta*
|
||||
:stag windows.txt /*:stag*
|
||||
:star repeat.txt /*:star*
|
||||
:star-visual-range cmdline.txt /*:star-visual-range*
|
||||
:start insert.txt /*:start*
|
||||
:startgreplace insert.txt /*:startgreplace*
|
||||
:startinsert insert.txt /*:startinsert*
|
||||
@@ -3369,6 +3386,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:up editing.txt /*:up*
|
||||
:update editing.txt /*:update*
|
||||
:v repeat.txt /*:v*
|
||||
:var vim9.txt /*:var*
|
||||
:ve various.txt /*:ve*
|
||||
:ver various.txt /*:ver*
|
||||
:verb various.txt /*:verb*
|
||||
@@ -3383,8 +3401,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:vie editing.txt /*:vie*
|
||||
:view editing.txt /*:view*
|
||||
:vim quickfix.txt /*:vim*
|
||||
:vim9 vim9.txt /*:vim9*
|
||||
:vim9script vim9.txt /*:vim9script*
|
||||
:vim9 repeat.txt /*:vim9*
|
||||
:vim9script repeat.txt /*:vim9script*
|
||||
:vimgrep quickfix.txt /*:vimgrep*
|
||||
:vimgrepa quickfix.txt /*:vimgrepa*
|
||||
:vimgrepadd quickfix.txt /*:vimgrepadd*
|
||||
@@ -3502,6 +3520,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
<CSI> intro.txt /*<CSI>*
|
||||
<Char-> map.txt /*<Char->*
|
||||
<Char> map.txt /*<Char>*
|
||||
<Cmd> map.txt /*<Cmd>*
|
||||
<CursorHold> autocmd.txt /*<CursorHold>*
|
||||
<D- intro.txt /*<D-*
|
||||
<D-c> os_mac.txt /*<D-c>*
|
||||
@@ -3614,6 +3633,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
<cexpr> cmdline.txt /*<cexpr>*
|
||||
<cfile> cmdline.txt /*<cfile>*
|
||||
<character> intro.txt /*<character>*
|
||||
<client> cmdline.txt /*<client>*
|
||||
<count> map.txt /*<count>*
|
||||
<cword> cmdline.txt /*<cword>*
|
||||
<f-args> map.txt /*<f-args>*
|
||||
@@ -3643,6 +3663,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
<mods> map.txt /*<mods>*
|
||||
<nomodeline> autocmd.txt /*<nomodeline>*
|
||||
<q-args> map.txt /*<q-args>*
|
||||
<q-mods> map.txt /*<q-mods>*
|
||||
<range> map.txt /*<range>*
|
||||
<reg> map.txt /*<reg>*
|
||||
<register> map.txt /*<register>*
|
||||
@@ -3685,6 +3706,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
>where repeat.txt /*>where*
|
||||
? pattern.txt /*?*
|
||||
?<CR> pattern.txt /*?<CR>*
|
||||
?? eval.txt /*??*
|
||||
@ repeat.txt /*@*
|
||||
@/ change.txt /*@\/*
|
||||
@: repeat.txt /*@:*
|
||||
@@ -3894,6 +3916,8 @@ E10 message.txt /*E10*
|
||||
E100 diff.txt /*E100*
|
||||
E101 diff.txt /*E101*
|
||||
E102 diff.txt /*E102*
|
||||
E1023 vim9.txt /*E1023*
|
||||
E1024 vim9.txt /*E1024*
|
||||
E103 diff.txt /*E103*
|
||||
E104 digraph.txt /*E104*
|
||||
E1042 vim9.txt /*E1042*
|
||||
@@ -3906,9 +3930,17 @@ E1092 vim9.txt /*E1092*
|
||||
E1094 vim9.txt /*E1094*
|
||||
E11 cmdline.txt /*E11*
|
||||
E110 eval.txt /*E110*
|
||||
E1109 eval.txt /*E1109*
|
||||
E111 eval.txt /*E111*
|
||||
E1110 eval.txt /*E1110*
|
||||
E1111 eval.txt /*E1111*
|
||||
E1112 eval.txt /*E1112*
|
||||
E1113 eval.txt /*E1113*
|
||||
E112 eval.txt /*E112*
|
||||
E113 eval.txt /*E113*
|
||||
E1135 map.txt /*E1135*
|
||||
E1136 map.txt /*E1136*
|
||||
E1137 map.txt /*E1137*
|
||||
E114 eval.txt /*E114*
|
||||
E115 eval.txt /*E115*
|
||||
E116 eval.txt /*E116*
|
||||
@@ -4000,7 +4032,6 @@ E194 message.txt /*E194*
|
||||
E195 starting.txt /*E195*
|
||||
E196 various.txt /*E196*
|
||||
E197 mlang.txt /*E197*
|
||||
E198 options.txt /*E198*
|
||||
E199 cmdline.txt /*E199*
|
||||
E20 motion.txt /*E20*
|
||||
E200 autocmd.txt /*E200*
|
||||
@@ -4064,7 +4095,6 @@ E252 options.txt /*E252*
|
||||
E253 mbyte.txt /*E253*
|
||||
E254 message.txt /*E254*
|
||||
E255 sign.txt /*E255*
|
||||
E256 message.txt /*E256*
|
||||
E257 if_cscop.txt /*E257*
|
||||
E258 remote.txt /*E258*
|
||||
E259 if_cscop.txt /*E259*
|
||||
@@ -4087,7 +4117,6 @@ E274 eval.txt /*E274*
|
||||
E275 textprop.txt /*E275*
|
||||
E276 eval.txt /*E276*
|
||||
E277 remote.txt /*E277*
|
||||
E278 popup.txt /*E278*
|
||||
E279 terminal.txt /*E279*
|
||||
E28 syntax.txt /*E28*
|
||||
E280 if_tcl.txt /*E280*
|
||||
@@ -4153,7 +4182,6 @@ E337 gui.txt /*E337*
|
||||
E338 editing.txt /*E338*
|
||||
E339 message.txt /*E339*
|
||||
E34 various.txt /*E34*
|
||||
E340 vi_diff.txt /*E340*
|
||||
E341 message.txt /*E341*
|
||||
E342 message.txt /*E342*
|
||||
E343 options.txt /*E343*
|
||||
@@ -4361,11 +4389,9 @@ E534 options.txt /*E534*
|
||||
E535 options.txt /*E535*
|
||||
E536 options.txt /*E536*
|
||||
E537 options.txt /*E537*
|
||||
E538 options.txt /*E538*
|
||||
E539 options.txt /*E539*
|
||||
E54 pattern.txt /*E54*
|
||||
E540 options.txt /*E540*
|
||||
E541 options.txt /*E541*
|
||||
E542 options.txt /*E542*
|
||||
E543 options.txt /*E543*
|
||||
E544 options.txt /*E544*
|
||||
@@ -4437,6 +4463,7 @@ E607 eval.txt /*E607*
|
||||
E608 eval.txt /*E608*
|
||||
E609 if_cscop.txt /*E609*
|
||||
E61 pattern.txt /*E61*
|
||||
E610 editing.txt /*E610*
|
||||
E612 sign.txt /*E612*
|
||||
E613 print.txt /*E613*
|
||||
E614 editing.txt /*E614*
|
||||
@@ -4918,6 +4945,7 @@ InsertChange autocmd.txt /*InsertChange*
|
||||
InsertCharPre autocmd.txt /*InsertCharPre*
|
||||
InsertEnter autocmd.txt /*InsertEnter*
|
||||
InsertLeave autocmd.txt /*InsertLeave*
|
||||
InsertLeavePre autocmd.txt /*InsertLeavePre*
|
||||
Integer eval.txt /*Integer*
|
||||
J change.txt /*J*
|
||||
Japanese mbyte.txt /*Japanese*
|
||||
@@ -5131,10 +5159,14 @@ VIMINIT starting.txt /*VIMINIT*
|
||||
VMS os_vms.txt /*VMS*
|
||||
Vi intro.txt /*Vi*
|
||||
View starting.txt /*View*
|
||||
Vim9 vim9.txt /*Vim9*
|
||||
Vim9-script vim9.txt /*Vim9-script*
|
||||
VimEnter autocmd.txt /*VimEnter*
|
||||
VimLeave autocmd.txt /*VimLeave*
|
||||
VimLeavePre autocmd.txt /*VimLeavePre*
|
||||
VimResized autocmd.txt /*VimResized*
|
||||
VimResume autocmd.txt /*VimResume*
|
||||
VimSuspend autocmd.txt /*VimSuspend*
|
||||
Vimball-copyright pi_vimball.txt /*Vimball-copyright*
|
||||
Virtual-Replace-mode insert.txt /*Virtual-Replace-mode*
|
||||
VisVim if_ole.txt /*VisVim*
|
||||
@@ -5540,6 +5572,10 @@ c_## cmdline.txt /*c_##*
|
||||
c_#< cmdline.txt /*c_#<*
|
||||
c_#n cmdline.txt /*c_#n*
|
||||
c_% cmdline.txt /*c_%*
|
||||
c_%% cmdline.txt /*c_%%*
|
||||
c_%%%# cmdline.txt /*c_%%%#*
|
||||
c_%%< cmdline.txt /*c_%%<*
|
||||
c_%%n cmdline.txt /*c_%%n*
|
||||
c_<BS> cmdline.txt /*c_<BS>*
|
||||
c_<C-Left> cmdline.txt /*c_<C-Left>*
|
||||
c_<C-R> cmdline.txt /*c_<C-R>*
|
||||
@@ -5722,8 +5758,11 @@ char2nr() eval.txt /*char2nr()*
|
||||
characterwise motion.txt /*characterwise*
|
||||
characterwise-register change.txt /*characterwise-register*
|
||||
characterwise-visual visual.txt /*characterwise-visual*
|
||||
charclass() eval.txt /*charclass()*
|
||||
charcol() eval.txt /*charcol()*
|
||||
charconvert_from-variable eval.txt /*charconvert_from-variable*
|
||||
charconvert_to-variable eval.txt /*charconvert_to-variable*
|
||||
charidx() eval.txt /*charidx()*
|
||||
charity uganda.txt /*charity*
|
||||
charset mbyte.txt /*charset*
|
||||
charset-conversion mbyte.txt /*charset-conversion*
|
||||
@@ -6234,6 +6273,7 @@ exepath() eval.txt /*exepath()*
|
||||
exim starting.txt /*exim*
|
||||
exists() eval.txt /*exists()*
|
||||
exiting starting.txt /*exiting*
|
||||
exiting-variable eval.txt /*exiting-variable*
|
||||
exp() eval.txt /*exp()*
|
||||
expand() eval.txt /*expand()*
|
||||
expand-env options.txt /*expand-env*
|
||||
@@ -6311,10 +6351,14 @@ expression-commands eval.txt /*expression-commands*
|
||||
expression-syntax eval.txt /*expression-syntax*
|
||||
exrc starting.txt /*exrc*
|
||||
extend() eval.txt /*extend()*
|
||||
extendnew() eval.txt /*extendnew()*
|
||||
extension-removal cmdline.txt /*extension-removal*
|
||||
extensions-improvements todo.txt /*extensions-improvements*
|
||||
f motion.txt /*f*
|
||||
false vim9.txt /*false*
|
||||
false-variable eval.txt /*false-variable*
|
||||
falsy eval.txt /*falsy*
|
||||
falsy-operator eval.txt /*falsy-operator*
|
||||
faq intro.txt /*faq*
|
||||
farsi farsi.txt /*farsi*
|
||||
farsi.txt farsi.txt /*farsi.txt*
|
||||
@@ -6387,7 +6431,26 @@ fname_new-variable eval.txt /*fname_new-variable*
|
||||
fname_out-variable eval.txt /*fname_out-variable*
|
||||
fnameescape() eval.txt /*fnameescape()*
|
||||
fnamemodify() eval.txt /*fnamemodify()*
|
||||
fo-1 change.txt /*fo-1*
|
||||
fo-2 change.txt /*fo-2*
|
||||
fo-B change.txt /*fo-B*
|
||||
fo-M change.txt /*fo-M*
|
||||
fo-] change.txt /*fo-]*
|
||||
fo-a change.txt /*fo-a*
|
||||
fo-b change.txt /*fo-b*
|
||||
fo-c change.txt /*fo-c*
|
||||
fo-j change.txt /*fo-j*
|
||||
fo-l change.txt /*fo-l*
|
||||
fo-m change.txt /*fo-m*
|
||||
fo-n change.txt /*fo-n*
|
||||
fo-o change.txt /*fo-o*
|
||||
fo-p change.txt /*fo-p*
|
||||
fo-q change.txt /*fo-q*
|
||||
fo-r change.txt /*fo-r*
|
||||
fo-t change.txt /*fo-t*
|
||||
fo-table change.txt /*fo-table*
|
||||
fo-v change.txt /*fo-v*
|
||||
fo-w change.txt /*fo-w*
|
||||
fold-behavior fold.txt /*fold-behavior*
|
||||
fold-colors fold.txt /*fold-colors*
|
||||
fold-commands fold.txt /*fold-commands*
|
||||
@@ -6448,6 +6511,7 @@ ft-asm68k-syntax syntax.txt /*ft-asm68k-syntax*
|
||||
ft-asmh8300-syntax syntax.txt /*ft-asmh8300-syntax*
|
||||
ft-aspperl-syntax syntax.txt /*ft-aspperl-syntax*
|
||||
ft-aspvbs-syntax syntax.txt /*ft-aspvbs-syntax*
|
||||
ft-awk-plugin filetype.txt /*ft-awk-plugin*
|
||||
ft-bash-syntax syntax.txt /*ft-bash-syntax*
|
||||
ft-basic-syntax syntax.txt /*ft-basic-syntax*
|
||||
ft-c-omni insert.txt /*ft-c-omni*
|
||||
@@ -6530,7 +6594,7 @@ ft-php-syntax syntax.txt /*ft-php-syntax*
|
||||
ft-php3-syntax syntax.txt /*ft-php3-syntax*
|
||||
ft-phtml-syntax syntax.txt /*ft-phtml-syntax*
|
||||
ft-plaintex-syntax syntax.txt /*ft-plaintex-syntax*
|
||||
ft-posix-synax syntax.txt /*ft-posix-synax*
|
||||
ft-posix-syntax syntax.txt /*ft-posix-syntax*
|
||||
ft-postscr-syntax syntax.txt /*ft-postscr-syntax*
|
||||
ft-ppwiz-syntax syntax.txt /*ft-ppwiz-syntax*
|
||||
ft-printcap-syntax syntax.txt /*ft-printcap-syntax*
|
||||
@@ -6837,6 +6901,7 @@ g:tex_fast syntax.txt /*g:tex_fast*
|
||||
g:tex_flavor filetype.txt /*g:tex_flavor*
|
||||
g:tex_fold_enabled syntax.txt /*g:tex_fold_enabled*
|
||||
g:tex_isk syntax.txt /*g:tex_isk*
|
||||
g:tex_matchcheck syntax.txt /*g:tex_matchcheck*
|
||||
g:tex_no_error syntax.txt /*g:tex_no_error*
|
||||
g:tex_nospell syntax.txt /*g:tex_nospell*
|
||||
g:tex_stylish syntax.txt /*g:tex_stylish*
|
||||
@@ -6910,6 +6975,7 @@ getbufvar() eval.txt /*getbufvar()*
|
||||
getchangelist() eval.txt /*getchangelist()*
|
||||
getchar() eval.txt /*getchar()*
|
||||
getcharmod() eval.txt /*getcharmod()*
|
||||
getcharpos() eval.txt /*getcharpos()*
|
||||
getcharsearch() eval.txt /*getcharsearch()*
|
||||
getcmdline() eval.txt /*getcmdline()*
|
||||
getcmdpos() eval.txt /*getcmdpos()*
|
||||
@@ -6917,6 +6983,7 @@ getcmdtype() eval.txt /*getcmdtype()*
|
||||
getcmdwintype() eval.txt /*getcmdwintype()*
|
||||
getcompletion() eval.txt /*getcompletion()*
|
||||
getcurpos() eval.txt /*getcurpos()*
|
||||
getcursorcharpos() eval.txt /*getcursorcharpos()*
|
||||
getcwd() eval.txt /*getcwd()*
|
||||
getenv() eval.txt /*getenv()*
|
||||
getfontname() eval.txt /*getfontname()*
|
||||
@@ -6949,6 +7016,7 @@ gettabinfo() eval.txt /*gettabinfo()*
|
||||
gettabvar() eval.txt /*gettabvar()*
|
||||
gettabwinvar() eval.txt /*gettabwinvar()*
|
||||
gettagstack() eval.txt /*gettagstack()*
|
||||
gettext() eval.txt /*gettext()*
|
||||
getwininfo() eval.txt /*getwininfo()*
|
||||
getwinpos() eval.txt /*getwinpos()*
|
||||
getwinposx() eval.txt /*getwinposx()*
|
||||
@@ -7116,6 +7184,7 @@ hebrew hebrew.txt /*hebrew*
|
||||
hebrew.txt hebrew.txt /*hebrew.txt*
|
||||
help helphelp.txt /*help*
|
||||
help-context help.txt /*help-context*
|
||||
help-curwin tips.txt /*help-curwin*
|
||||
help-summary usr_02.txt /*help-summary*
|
||||
help-tags tags 1
|
||||
help-translated helphelp.txt /*help-translated*
|
||||
@@ -7725,6 +7794,7 @@ mapmode-s map.txt /*mapmode-s*
|
||||
mapmode-t map.txt /*mapmode-t*
|
||||
mapmode-v map.txt /*mapmode-v*
|
||||
mapmode-x map.txt /*mapmode-x*
|
||||
mapnew() eval.txt /*mapnew()*
|
||||
mapping map.txt /*mapping*
|
||||
mapping-functions usr_41.txt /*mapping-functions*
|
||||
mapset() eval.txt /*mapset()*
|
||||
@@ -7741,6 +7811,8 @@ matchaddpos() eval.txt /*matchaddpos()*
|
||||
matcharg() eval.txt /*matcharg()*
|
||||
matchdelete() eval.txt /*matchdelete()*
|
||||
matchend() eval.txt /*matchend()*
|
||||
matchfuzzy() eval.txt /*matchfuzzy()*
|
||||
matchfuzzypos() eval.txt /*matchfuzzypos()*
|
||||
matchit-install usr_05.txt /*matchit-install*
|
||||
matchlist() eval.txt /*matchlist()*
|
||||
matchparen pi_paren.txt /*matchparen*
|
||||
@@ -7919,7 +7991,6 @@ netrw-browser-options pi_netrw.txt /*netrw-browser-options*
|
||||
netrw-browser-settings pi_netrw.txt /*netrw-browser-settings*
|
||||
netrw-browser-var pi_netrw.txt /*netrw-browser-var*
|
||||
netrw-browsing pi_netrw.txt /*netrw-browsing*
|
||||
netrw-c pi_netrw.txt /*netrw-c*
|
||||
netrw-c-tab pi_netrw.txt /*netrw-c-tab*
|
||||
netrw-cB pi_netrw.txt /*netrw-cB*
|
||||
netrw-cadaver pi_netrw.txt /*netrw-cadaver*
|
||||
@@ -8154,6 +8225,7 @@ new-more-highlighting version7.txt /*new-more-highlighting*
|
||||
new-more-unicode version7.txt /*new-more-unicode*
|
||||
new-multi-byte version5.txt /*new-multi-byte*
|
||||
new-multi-lang version6.txt /*new-multi-lang*
|
||||
new-multibyte version5.txt /*new-multibyte*
|
||||
new-netrw-explore version7.txt /*new-netrw-explore*
|
||||
new-network-files version6.txt /*new-network-files*
|
||||
new-omni-completion version7.txt /*new-omni-completion*
|
||||
@@ -8167,7 +8239,7 @@ new-persistent-undo version7.txt /*new-persistent-undo*
|
||||
new-plugins version6.txt /*new-plugins*
|
||||
new-popup-window version8.txt /*new-popup-window*
|
||||
new-posix version7.txt /*new-posix*
|
||||
new-print-multi-byte version7.txt /*new-print-multi-byte*
|
||||
new-print-multibyte version7.txt /*new-print-multibyte*
|
||||
new-printing version6.txt /*new-printing*
|
||||
new-python3 version7.txt /*new-python3*
|
||||
new-regexp-engine version7.txt /*new-regexp-engine*
|
||||
@@ -8214,9 +8286,12 @@ notation intro.txt /*notation*
|
||||
notepad gui_w32.txt /*notepad*
|
||||
nr2char() eval.txt /*nr2char()*
|
||||
nroff.vim syntax.txt /*nroff.vim*
|
||||
null vim9.txt /*null*
|
||||
null-variable eval.txt /*null-variable*
|
||||
number_relativenumber options.txt /*number_relativenumber*
|
||||
numbered-function eval.txt /*numbered-function*
|
||||
numbermax-variable eval.txt /*numbermax-variable*
|
||||
numbermin-variable eval.txt /*numbermin-variable*
|
||||
numbersize-variable eval.txt /*numbersize-variable*
|
||||
o insert.txt /*o*
|
||||
o_CTRL-V motion.txt /*o_CTRL-V*
|
||||
@@ -8310,6 +8385,7 @@ pattern-atoms pattern.txt /*pattern-atoms*
|
||||
pattern-delimiter change.txt /*pattern-delimiter*
|
||||
pattern-multi-byte pattern.txt /*pattern-multi-byte*
|
||||
pattern-multi-items pattern.txt /*pattern-multi-items*
|
||||
pattern-multibyte pattern.txt /*pattern-multibyte*
|
||||
pattern-overview pattern.txt /*pattern-overview*
|
||||
pattern-searches pattern.txt /*pattern-searches*
|
||||
pattern.txt pattern.txt /*pattern.txt*
|
||||
@@ -8380,6 +8456,7 @@ popup-callback popup.txt /*popup-callback*
|
||||
popup-close popup.txt /*popup-close*
|
||||
popup-examples popup.txt /*popup-examples*
|
||||
popup-filter popup.txt /*popup-filter*
|
||||
popup-filter-errors popup.txt /*popup-filter-errors*
|
||||
popup-filter-mode popup.txt /*popup-filter-mode*
|
||||
popup-function-details popup.txt /*popup-function-details*
|
||||
popup-functions popup.txt /*popup-functions*
|
||||
@@ -8473,6 +8550,7 @@ progname-variable eval.txt /*progname-variable*
|
||||
progpath-variable eval.txt /*progpath-variable*
|
||||
progress.vim syntax.txt /*progress.vim*
|
||||
prompt-buffer channel.txt /*prompt-buffer*
|
||||
prompt_getprompt() eval.txt /*prompt_getprompt()*
|
||||
prompt_setcallback() eval.txt /*prompt_setcallback()*
|
||||
prompt_setinterrupt() eval.txt /*prompt_setinterrupt()*
|
||||
prompt_setprompt() eval.txt /*prompt_setprompt()*
|
||||
@@ -8624,6 +8702,7 @@ read-in-close-cb channel.txt /*read-in-close-cb*
|
||||
read-messages insert.txt /*read-messages*
|
||||
read-only-share editing.txt /*read-only-share*
|
||||
read-stdin version5.txt /*read-stdin*
|
||||
readblob() eval.txt /*readblob()*
|
||||
readdir() eval.txt /*readdir()*
|
||||
readdirex() eval.txt /*readdirex()*
|
||||
readfile() eval.txt /*readfile()*
|
||||
@@ -8821,8 +8900,11 @@ set-option options.txt /*set-option*
|
||||
set-spc-auto spell.txt /*set-spc-auto*
|
||||
setbufline() eval.txt /*setbufline()*
|
||||
setbufvar() eval.txt /*setbufvar()*
|
||||
setcellwidths() eval.txt /*setcellwidths()*
|
||||
setcharpos() eval.txt /*setcharpos()*
|
||||
setcharsearch() eval.txt /*setcharsearch()*
|
||||
setcmdpos() eval.txt /*setcmdpos()*
|
||||
setcursorcharpos() eval.txt /*setcursorcharpos()*
|
||||
setenv() eval.txt /*setenv()*
|
||||
setfperm() eval.txt /*setfperm()*
|
||||
setline() eval.txt /*setline()*
|
||||
@@ -8886,6 +8968,7 @@ sinh() eval.txt /*sinh()*
|
||||
skeleton autocmd.txt /*skeleton*
|
||||
skip_defaults_vim starting.txt /*skip_defaults_vim*
|
||||
slice eval.txt /*slice*
|
||||
slice() eval.txt /*slice()*
|
||||
slow-fast-terminal term.txt /*slow-fast-terminal*
|
||||
slow-start starting.txt /*slow-start*
|
||||
slow-terminal term.txt /*slow-terminal*
|
||||
@@ -9141,8 +9224,10 @@ synstack() eval.txt /*synstack()*
|
||||
syntax syntax.txt /*syntax*
|
||||
syntax-functions usr_41.txt /*syntax-functions*
|
||||
syntax-highlighting syntax.txt /*syntax-highlighting*
|
||||
syntax-latex syntax.txt /*syntax-latex*
|
||||
syntax-loading syntax.txt /*syntax-loading*
|
||||
syntax-printing usr_06.txt /*syntax-printing*
|
||||
syntax-tex syntax.txt /*syntax-tex*
|
||||
syntax.txt syntax.txt /*syntax.txt*
|
||||
syntax_cmd syntax.txt /*syntax_cmd*
|
||||
sys-file-list help.txt /*sys-file-list*
|
||||
@@ -9279,6 +9364,8 @@ t_f6 version4.txt /*t_f6*
|
||||
t_f7 version4.txt /*t_f7*
|
||||
t_f8 version4.txt /*t_f8*
|
||||
t_f9 version4.txt /*t_f9*
|
||||
t_fd term.txt /*t_fd*
|
||||
t_fe term.txt /*t_fe*
|
||||
t_float-variable eval.txt /*t_float-variable*
|
||||
t_fs term.txt /*t_fs*
|
||||
t_func-variable eval.txt /*t_func-variable*
|
||||
@@ -9501,6 +9588,7 @@ termdebug-prompt terminal.txt /*termdebug-prompt*
|
||||
termdebug-starting terminal.txt /*termdebug-starting*
|
||||
termdebug-stepping terminal.txt /*termdebug-stepping*
|
||||
termdebug-variables terminal.txt /*termdebug-variables*
|
||||
termdebug_disasm_window terminal.txt /*termdebug_disasm_window*
|
||||
termdebug_map_K terminal.txt /*termdebug_map_K*
|
||||
termdebug_popup terminal.txt /*termdebug_popup*
|
||||
termdebug_shortcuts terminal.txt /*termdebug_shortcuts*
|
||||
@@ -9577,6 +9665,7 @@ tex-cole syntax.txt /*tex-cole*
|
||||
tex-conceal syntax.txt /*tex-conceal*
|
||||
tex-error syntax.txt /*tex-error*
|
||||
tex-folding syntax.txt /*tex-folding*
|
||||
tex-matchcheck syntax.txt /*tex-matchcheck*
|
||||
tex-math syntax.txt /*tex-math*
|
||||
tex-morecommands syntax.txt /*tex-morecommands*
|
||||
tex-nospell syntax.txt /*tex-nospell*
|
||||
@@ -9630,9 +9719,12 @@ tooltips gui.txt /*tooltips*
|
||||
toupper() eval.txt /*toupper()*
|
||||
tr() eval.txt /*tr()*
|
||||
trim() eval.txt /*trim()*
|
||||
trinary eval.txt /*trinary*
|
||||
trojan-horse starting.txt /*trojan-horse*
|
||||
true vim9.txt /*true*
|
||||
true-variable eval.txt /*true-variable*
|
||||
trunc() eval.txt /*trunc()*
|
||||
truthy eval.txt /*truthy*
|
||||
try-conditionals eval.txt /*try-conditionals*
|
||||
try-echoerr eval.txt /*try-echoerr*
|
||||
try-finally eval.txt /*try-finally*
|
||||
@@ -9643,10 +9735,12 @@ twice if_cscop.txt /*twice*
|
||||
two-engines pattern.txt /*two-engines*
|
||||
type() eval.txt /*type()*
|
||||
type-casting vim9.txt /*type-casting*
|
||||
type-checking vim9.txt /*type-checking*
|
||||
type-inference vim9.txt /*type-inference*
|
||||
type-mistakes tips.txt /*type-mistakes*
|
||||
typecorr-settings usr_41.txt /*typecorr-settings*
|
||||
typecorr.txt usr_41.txt /*typecorr.txt*
|
||||
typename() eval.txt /*typename()*
|
||||
u undo.txt /*u*
|
||||
uganda uganda.txt /*uganda*
|
||||
uganda.txt uganda.txt /*uganda.txt*
|
||||
@@ -9750,6 +9844,7 @@ v:errmsg eval.txt /*v:errmsg*
|
||||
v:errors eval.txt /*v:errors*
|
||||
v:event eval.txt /*v:event*
|
||||
v:exception eval.txt /*v:exception*
|
||||
v:exiting eval.txt /*v:exiting*
|
||||
v:false eval.txt /*v:false*
|
||||
v:fcs_choice eval.txt /*v:fcs_choice*
|
||||
v:fcs_reason eval.txt /*v:fcs_reason*
|
||||
@@ -9773,6 +9868,8 @@ v:mouse_win eval.txt /*v:mouse_win*
|
||||
v:mouse_winid eval.txt /*v:mouse_winid*
|
||||
v:none eval.txt /*v:none*
|
||||
v:null eval.txt /*v:null*
|
||||
v:numbermax eval.txt /*v:numbermax*
|
||||
v:numbermin eval.txt /*v:numbermin*
|
||||
v:numbersize eval.txt /*v:numbersize*
|
||||
v:oldfiles eval.txt /*v:oldfiles*
|
||||
v:operator eval.txt /*v:operator*
|
||||
@@ -10013,17 +10110,23 @@ vim.vim syntax.txt /*vim.vim*
|
||||
vim7 version7.txt /*vim7*
|
||||
vim8 version8.txt /*vim8*
|
||||
vim9 vim9.txt /*vim9*
|
||||
vim9-classes vim9.txt /*vim9-classes*
|
||||
vim9-const vim9.txt /*vim9-const*
|
||||
vim9-curly vim9.txt /*vim9-curly*
|
||||
vim9-declaration vim9.txt /*vim9-declaration*
|
||||
vim9-declarations usr_46.txt /*vim9-declarations*
|
||||
vim9-differences vim9.txt /*vim9-differences*
|
||||
vim9-export vim9.txt /*vim9-export*
|
||||
vim9-final vim9.txt /*vim9-final*
|
||||
vim9-gotchas vim9.txt /*vim9-gotchas*
|
||||
vim9-import vim9.txt /*vim9-import*
|
||||
vim9-namespace vim9.txt /*vim9-namespace*
|
||||
vim9-rationale vim9.txt /*vim9-rationale*
|
||||
vim9-reload vim9.txt /*vim9-reload*
|
||||
vim9-scopes vim9.txt /*vim9-scopes*
|
||||
vim9-script vim9.txt /*vim9-script*
|
||||
vim9-script-intro usr_46.txt /*vim9-script-intro*
|
||||
vim9-types vim9.txt /*vim9-types*
|
||||
vim9-user-command vim9.txt /*vim9-user-command*
|
||||
vim9.txt vim9.txt /*vim9.txt*
|
||||
vim9script vim9.txt /*vim9script*
|
||||
vim: options.txt /*vim:*
|
||||
@@ -10241,6 +10344,7 @@ xterm-command-server term.txt /*xterm-command-server*
|
||||
xterm-copy-paste term.txt /*xterm-copy-paste*
|
||||
xterm-cursor-keys term.txt /*xterm-cursor-keys*
|
||||
xterm-end-home-keys term.txt /*xterm-end-home-keys*
|
||||
xterm-focus-event term.txt /*xterm-focus-event*
|
||||
xterm-function-keys term.txt /*xterm-function-keys*
|
||||
xterm-modifier-keys term.txt /*xterm-modifier-keys*
|
||||
xterm-mouse options.txt /*xterm-mouse*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*tagsrch.txt* For Vim version 8.2. Last change: 2020 Apr 19
|
||||
*tagsrch.txt* For Vim version 8.2. Last change: 2020 Dec 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -556,7 +556,7 @@ The first format is a normal tag, which is completely compatible with Vi. It
|
||||
is the only format produced by traditional ctags implementations. This is
|
||||
often used for functions that are global, also referenced in other files.
|
||||
|
||||
The lines in the tags file can end in <LF> or <CR><LF>. On the Macintosh <CR>
|
||||
The lines in the tags file can end in <NL> or <CR><NL>. On the Macintosh <CR>
|
||||
also works. The <CR> and <NL> characters can never appear inside a line.
|
||||
|
||||
The second format is new. It includes additional information in optional
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*term.txt* For Vim version 8.2. Last change: 2020 Apr 12
|
||||
*term.txt* For Vim version 8.2. Last change: 2021 Jan 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -217,6 +217,10 @@ it's different from Alt). They can be combined. Examples: >
|
||||
Another speciality about these codes is that they are not overwritten by
|
||||
another code. That is to avoid that the codes obtained from xterm directly
|
||||
|t_RV| overwrite them.
|
||||
|
||||
Another special value is a termcap entry ending in "@;*X". This is for cursor
|
||||
keys, which either use "CSI X" or "CSI 1 ; modifier X". Thus the "@"
|
||||
stands for either "1" if a modifier follows, or nothing.
|
||||
*xterm-scroll-region*
|
||||
The default termcap entry for xterm on Sun and other platforms does not
|
||||
contain the entry for scroll regions. Add ":cs=\E[%i%d;%dr:" to the xterm
|
||||
@@ -369,6 +373,10 @@ Added by Vim (there are no standard codes for these):
|
||||
t_Ri restore icon text from stack *t_Ri* *'t_Ri'*
|
||||
t_TE end of "raw" mode *t_TE* *'t_TE'*
|
||||
t_TI put terminal into "raw" mode *t_TI* *'t_TI'*
|
||||
t_fd disable focus-event tracking *t_fd* *'t_fd'*
|
||||
|xterm-focus-event|
|
||||
t_fe enable focus-event tracking *t_fe* *'t_fe'*
|
||||
|xterm-focus-event|
|
||||
|
||||
Some codes have a start, middle and end part. The start and end are defined
|
||||
by the termcap option, the middle part is text.
|
||||
@@ -542,6 +550,16 @@ And run "xrdb -merge .Xresources" to make it effective. You can check the
|
||||
value with the context menu (right mouse button while CTRL key is pressed),
|
||||
there should be a tick at allow-window-ops.
|
||||
|
||||
*xterm-focus-event*
|
||||
Some terminals including xterm support the focus event tracking feature.
|
||||
If this feature is enabled by the 't_fe' sequence, special key sequences are
|
||||
sent from the terminal to Vim every time the terminal gains or loses focus.
|
||||
Vim fires focus events (|FocusGained|/|FocusLost|) by handling them accordingly.
|
||||
Focus event tracking is disabled by a 't_fd' sequence when exiting "raw" mode.
|
||||
If you would like to disable this feature, add the following to your .vimrc:
|
||||
`set t_fd=`
|
||||
`set t_fe=`
|
||||
|
||||
*termcap-colors*
|
||||
Note about colors: The 't_Co' option tells Vim the number of colors available.
|
||||
When it is non-zero, the 't_AB' and 't_AF' options are used to set the color.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 8.2. Last change: 2020 Jun 06
|
||||
*terminal.txt* For Vim version 8.2. Last change: 2021 Jan 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -123,12 +123,14 @@ use |:tlmenu| instead of |:tmenu|.
|
||||
|
||||
*options-in-terminal*
|
||||
After opening the terminal window and setting 'buftype' to "terminal" the
|
||||
TerminalOpen autocommand event is triggered. This makes it possible to set
|
||||
options specifically for the window and buffer. Example: >
|
||||
au TerminalOpen * if &buftype == 'terminal' | setlocal bufhidden=hide | endif
|
||||
The <abuf> is set to the terminal buffer, but if there is no window (hidden
|
||||
terminal) then setting options will happen in the wrong buffer, therefore the
|
||||
check for &buftype in the example.
|
||||
|TerminalWinOpen| autocommand event is triggered. This makes it possible to set
|
||||
options specifically for the terminal window and buffer. Example: >
|
||||
au TerminalWinOpen * setlocal bufhidden=hide
|
||||
|
||||
There is also the |TerminalOpen| event, but this may be triggered for a hidden
|
||||
terminal, and the current window and buffer may not be for the new terminal.
|
||||
You need to use <abuf>, which is set to the terminal buffer. Example: >
|
||||
au TerminalOpen * call setbufvar(+expand('<abuf>'), '&colorcolumn', 123)
|
||||
|
||||
Mouse events (click and drag) are passed to the terminal. Mouse move events
|
||||
are only passed when Vim itself is receiving them. For a terminal that is
|
||||
@@ -476,9 +478,11 @@ term_dumpdiff({filename}, {filename} [, {options}])
|
||||
"term_name" name to use for the buffer name, instead
|
||||
of the first file name.
|
||||
"term_rows" vertical size to use for the terminal,
|
||||
instead of using 'termwinsize'
|
||||
instead of using 'termwinsize', but
|
||||
respecting the minimal size
|
||||
"term_cols" horizontal size to use for the terminal,
|
||||
instead of using 'termwinsize'
|
||||
instead of using 'termwinsize', but
|
||||
respecting the minimal size
|
||||
"vertical" split the window vertically
|
||||
"curwin" use the current window, do not split the
|
||||
window; fails if the current buffer
|
||||
@@ -501,6 +505,8 @@ term_dumpdiff({filename}, {filename} [, {options}])
|
||||
a different attribute
|
||||
+ missing position in first file
|
||||
- missing position in second file
|
||||
> cursor position in first file, not in second
|
||||
< cursor position in second file, not in first
|
||||
|
||||
Using the "s" key the top and bottom parts are swapped. This
|
||||
makes it easy to spot a difference.
|
||||
@@ -736,6 +742,9 @@ term_setapi({buf}, {expr}) *term_setapi()*
|
||||
The default is "Tapi_". When {expr} is an empty string then
|
||||
no |terminal-api| function can be used for {buf}.
|
||||
|
||||
When used as a method the base is used for {buf}: >
|
||||
GetBufnr()->term_setapi({expr})
|
||||
|
||||
term_setansicolors({buf}, {colors}) *term_setansicolors()*
|
||||
Set the ANSI color palette used by terminal {buf}.
|
||||
{colors} must be a List of 16 valid color names or hexadecimal
|
||||
@@ -1321,6 +1330,8 @@ Other commands ~
|
||||
*:Program* jump to the window with the running program
|
||||
*:Source* jump to the window with the source code, create it if there
|
||||
isn't one
|
||||
*:Asm* jump to the window with the disassembly, create it if there
|
||||
isn't one
|
||||
|
||||
|
||||
Prompt mode ~
|
||||
@@ -1343,6 +1354,12 @@ Prompt mode can be used even when the |+terminal| feature is present with: >
|
||||
The K key is normally mapped to :Evaluate. If you do not want this use: >
|
||||
let g:termdebug_map_K = 0
|
||||
|
||||
<
|
||||
*termdebug_disasm_window*
|
||||
If you want the Asm window shown by default, set this to 1. Setting to
|
||||
any value greater than 1 will set the Asm window height to that value: >
|
||||
let g:termdebug_disasm_window = 15
|
||||
<
|
||||
|
||||
Communication ~
|
||||
*termdebug-communication*
|
||||
@@ -1409,16 +1426,18 @@ If you don't want this then disable it with: >
|
||||
|
||||
Vim window width *termdebug_wide*
|
||||
|
||||
To change the width of the Vim window when debugging starts, and use a
|
||||
vertical split: >
|
||||
let g:termdebug_wide = 163
|
||||
This will set &columns to 163 when `:Termdebug` is used. The value is restored
|
||||
when quitting the debugger.
|
||||
If g:termdebug_wide is set and &columns is already larger than
|
||||
g:termdebug_wide then a vertical split will be used without changing &columns.
|
||||
Set it to 1 to get a vertical split without every changing &columns (useful
|
||||
for when the terminal can't be resized by Vim).
|
||||
To change the width of the Vim window when debugging starts and use a vertical
|
||||
split: >
|
||||
let g:termdebug_wide = 163
|
||||
|
||||
This will set 'columns' to 163 when `:Termdebug` is used. The value is
|
||||
restored when quitting the debugger.
|
||||
|
||||
If g:termdebug_wide is set and 'columns' is already a greater value, then a
|
||||
vertical split will be used without modifying 'columns'.
|
||||
|
||||
Set g:termdebug_wide to 1 to use a vertical split without ever changing
|
||||
'columns'. This is useful when the terminal can't be resized by Vim.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*testing.txt* For Vim version 8.2. Last change: 2020 Jul 11
|
||||
*testing.txt* For Vim version 8.2. Last change: 2020 Dec 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -291,8 +291,9 @@ assert_exception({error} [, {msg}]) *assert_exception()*
|
||||
catch
|
||||
call assert_exception('E492:')
|
||||
endtry
|
||||
|
||||
assert_fails({cmd} [, {error} [, {msg}]]) *assert_fails()*
|
||||
<
|
||||
*assert_fails()*
|
||||
assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]])
|
||||
Run {cmd} and add an error message to |v:errors| if it does
|
||||
NOT produce an error or when {error} is not found in the
|
||||
error message. Also see |assert-return|.
|
||||
@@ -307,17 +308,32 @@ assert_fails({cmd} [, {error} [, {msg}]]) *assert_fails()*
|
||||
first reported error: >
|
||||
assert_fails('cmd', ['E987:.*expected bool'])
|
||||
< The second pattern, if present, is matched against the last
|
||||
reported error. To only match the last error use an empty
|
||||
string for the first error: >
|
||||
reported error.
|
||||
If there is only one error then both patterns must match. This
|
||||
can be used to check that there is only one error.
|
||||
To only match the last error use an empty string for the first
|
||||
error: >
|
||||
assert_fails('cmd', ['', 'E987:'])
|
||||
<
|
||||
If {msg} is empty then it is not used. Do this to get the
|
||||
default message when passing the {lnum} argument.
|
||||
|
||||
When {lnum} is present and not negative, and the {error}
|
||||
argument is present and matches, then this is compared with
|
||||
the line number at which the error was reported. That can be
|
||||
the line number in a function or in a script.
|
||||
|
||||
When {context} is present it is used as a pattern and matched
|
||||
against the context (script name or function name) where
|
||||
{lnum} is located in.
|
||||
|
||||
Note that beeping is not considered an error, and some failing
|
||||
commands only beep. Use |assert_beeps()| for those.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetCmd()->assert_fails('E99:')
|
||||
|
||||
assert_false({actual} [, {msg}]) *assert_false()*
|
||||
assert_false({actual} [, {msg}]) *assert_false()*
|
||||
When {actual} is not false an error message is added to
|
||||
|v:errors|, like with |assert_equal()|.
|
||||
Also see |assert-return|.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*textprop.txt* For Vim version 8.2. Last change: 2020 Mar 05
|
||||
*textprop.txt* For Vim version 8.2. Last change: 2020 Oct 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -101,7 +101,7 @@ Manipulating text property types:
|
||||
prop_type_add({name}, {props}) define a new property type
|
||||
prop_type_change({name}, {props}) change an existing property type
|
||||
prop_type_delete({name} [, {props}]) delete a property type
|
||||
prop_type_get([{name} [, {props}]]) get property type values
|
||||
prop_type_get({name} [, {props}]) get property type values
|
||||
prop_type_list([{props}]) get list of property types
|
||||
|
||||
|
||||
@@ -291,7 +291,7 @@ prop_type_delete({name} [, {props}]) *prop_type_delete()*
|
||||
Can also be used as a |method|: >
|
||||
GetPropName()->prop_type_delete()
|
||||
|
||||
prop_type_get([{name} [, {props}]]) *prop_type_get()*
|
||||
prop_type_get({name} [, {props}]) *prop_type_get()*
|
||||
Returns the properties of property type {name}. This is a
|
||||
dictionary with the same fields as was given to
|
||||
prop_type_add().
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*tips.txt* For Vim version 8.2. Last change: 2009 Nov 07
|
||||
*tips.txt* For Vim version 8.2. Last change: 2020 Dec 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -30,6 +30,7 @@ Executing shell commands in a window |shell-window|
|
||||
Hex editing |hex-editing|
|
||||
Using <> notation in autocommands |autocmd-<>|
|
||||
Highlighting matching parens |match-parens|
|
||||
Opening help in the current window |help-curwin|
|
||||
|
||||
==============================================================================
|
||||
Editing C programs *C-editing*
|
||||
@@ -530,4 +531,28 @@ A slightly more advanced version is used in the |matchparen| plugin.
|
||||
autocmd InsertEnter * match none
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
Opening help in the current window *help-curwin*
|
||||
|
||||
By default, help is displayed in a split window. If you prefer it opens in
|
||||
the current window, try this custom `:HelpCurwin` command:
|
||||
>
|
||||
command -bar -nargs=? -complete=help HelpCurwin execute s:HelpCurwin(<q-args>)
|
||||
let s:did_open_help = v:false
|
||||
|
||||
function s:HelpCurwin(subject) abort
|
||||
let mods = 'silent noautocmd keepalt'
|
||||
if !s:did_open_help
|
||||
execute mods .. ' help'
|
||||
execute mods .. ' helpclose'
|
||||
let s:did_open_help = v:true
|
||||
endif
|
||||
if !getcompletion(a:subject, 'help')->empty()
|
||||
execute mods .. ' edit ' .. &helpfile
|
||||
endif
|
||||
return 'help ' .. a:subject
|
||||
endfunction
|
||||
<
|
||||
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
*todo.txt* For Vim version 8.2. Last change: 2021 Jan 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -38,122 +38,127 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
What is the way to get the character under the cursor? With or without
|
||||
composing characters. getline(".") and then use col(".") somehow?
|
||||
Add charidx() perhaps?
|
||||
test_autocmd failure in Windows: Something wrong with system()?
|
||||
|
||||
Making everything work:
|
||||
- Slice of list: [1, 2, 3][1:2].
|
||||
- Slice of string: "abc"[1:2]. (#6709)
|
||||
- Run the same tests in :def and Vim9 script, like in Test_expr7_not()
|
||||
- :put with a "=" register argument doesn't work, need to find the expression
|
||||
and compile it. (#6397)
|
||||
- At the script level, keep script variables local to the block they are
|
||||
declared in? Need to remember what variables were declared and delete them
|
||||
when leaving the block.
|
||||
- Implement { } block at the script level.
|
||||
- In autocmd: use legacy syntax, not whatever the current script uses?
|
||||
- need to check type when a declaration specifies a type: #6507
|
||||
let nr: number = 'asdf'
|
||||
- Make sure that in vim9script a function call without namespace only finds
|
||||
the script-local function, not a global one.
|
||||
- Make map() give an error if the resulting type is wrong.
|
||||
Add mapnew() to create a new List/Dict for the result, which can have a
|
||||
different value type.
|
||||
- When defining an :autocmd or :command, how to specify using Vim9 syntax?
|
||||
- always do this when defined in a Vim9 script
|
||||
- add some command modifier.
|
||||
- For an :autocmd and :command argument, if a following line starts with "|"
|
||||
append it. It's like line continuation. (#6702)
|
||||
- Implement "export {one, two three}".
|
||||
- ISN_CHECKTYPE could use check_argtype()
|
||||
- give error for variable name:
|
||||
let p = function('NoSuchFunc')
|
||||
- Give runtime error if function argument is wrong.
|
||||
def Increment(nr: number)
|
||||
range(3)->Increment()
|
||||
Vim9 - Make everything work:
|
||||
- Add a test for profiling with nested function calls and lambda.
|
||||
- Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop
|
||||
- Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd
|
||||
- Expand `=expr` in :mkspell
|
||||
- Test that a function defined inside a :def function is local to that
|
||||
function, g: functions can be defined and script-local functions cannot be
|
||||
defined.
|
||||
- Unlet with range: "unlet list[a : b]"
|
||||
- Implement "export {one, two three}".
|
||||
- ISN_CHECKTYPE could use check_argtype()
|
||||
- Using a script variable inside a :def function doesn't work if the variable
|
||||
is inside a block, see Test_nested_function(). Should it work?
|
||||
- give error for variable name:
|
||||
var p = function('NoSuchFunc')
|
||||
- Make closures work better:
|
||||
- Create closure in a loop. Need to make a list of them.
|
||||
- If a :def function is called with a function reference, compile it to get
|
||||
the function type.
|
||||
def Filter(x: string, Cond: func(string): bool)
|
||||
Filter(x, (v) => v =~ '^b')
|
||||
- Make inline function work, to be used as a funcref:
|
||||
var Ref = (arg: type): type => {
|
||||
statement
|
||||
return expr
|
||||
}
|
||||
var Ref = (arg: type) => {
|
||||
statement
|
||||
statement
|
||||
}
|
||||
- For builtin functions using tv_get_string*() use check_for_string() to be
|
||||
more strict about the argument type.
|
||||
- Implement :lockvar and :unlockvar. How about local variables? Perhaps only
|
||||
allow this for global variables. Use :final or :const otherwise.
|
||||
- Allow function names that will be script-local to start with lower case
|
||||
letter? Or also require names with s: prefix to use upper case?
|
||||
Also apply this function references "var ref = SomeFunc"
|
||||
- Support passing v:none to use the default argument value. (#6504)
|
||||
- Run the same tests in :def and Vim9 script, like in Test_expr7_not()
|
||||
- Check many more builtin function arguments at compile time.
|
||||
- make 0 == 'string' fail on the script level, like inside :def.
|
||||
- Check that when using a user function name without prefix, it does not find
|
||||
a global function. Prefixing g: is required.
|
||||
- Compile: for [key, value] in items(map)
|
||||
- Assignment to dict doesn't work:
|
||||
let ret: dict<string> = #{}
|
||||
ret[i] = string(i)
|
||||
- Appending to dict item doesn't work:
|
||||
let d[i] ..= value
|
||||
- Need the equivalent of get_lval() and set_var_lval() to implement assignment
|
||||
to nested list and dict members.
|
||||
- Assignment to dict doesn't work:
|
||||
var ret: dict<string> = #{}
|
||||
ret[i] = string(i)
|
||||
- Appending to dict item doesn't work:
|
||||
var d[i] ..= value
|
||||
- Using ".." at script level doesn't convert arguments to a string.
|
||||
- Compile replacement of :s command: s/pat/\=expr/
|
||||
- Compile redir to local variable: var_redir_start().
|
||||
- Implement type cast at the script level.
|
||||
- Compile builtin functions that access local variables:
|
||||
islocked()
|
||||
- possible memory leak in test_vim9_func through compile_nested_function.
|
||||
- memory leaks in test_vim9_expr
|
||||
- memory leaks in test_vim9_script
|
||||
- memory leaks in test_vim9_cmd
|
||||
- When evaluating constants for script variables, some functions could work:
|
||||
has('asdf'), len('string')
|
||||
- Implement "as Name" in "import Item as Name from ..."
|
||||
- Disallow unlet for local/script/imported vars
|
||||
- Make "++nr" work.
|
||||
- Make closures work:
|
||||
- Create closure in a loop. Need to make a list of them.
|
||||
- Implement using imported items at script level from "import * as X" in
|
||||
eval_variable(). Should pass the ".xxx" that follows and return that.
|
||||
- Make "++nr" work. "++g:count" doesn't work, thinks it is a range.
|
||||
- Reload: How to make sure type of script function hasn't changed?
|
||||
- expandcmd() with `=expr` in filename uses legacy expression.
|
||||
- eval_expr() in ex_cexpr()
|
||||
- eval_expr() call in dbg_parsearg() and debuggy_find()
|
||||
- has() is compiled as a constant, but some checks are dynamic.
|
||||
Check for dynamic values, such as "gui_running".
|
||||
- Implement command modifiers, such as "silent". (#6530)
|
||||
New syntax and functionality:
|
||||
Improve error checking:
|
||||
- "echo Func()" is an error if Func() does not return anything.
|
||||
Also:
|
||||
- For range: make table of first ASCII character with flag to quickly check if
|
||||
it can be a Vim9 command. E.g. "+" can, but "." can't.
|
||||
- compile "skip" argument of searchpair()
|
||||
- compile "expr" and "call" expression of a channel in channel_exe_cmd()?
|
||||
- give an error for "echo Func()" if Func() does not return anything.
|
||||
- Using "windo echo expr" does not accept a line break inside "expr" (in a
|
||||
:def function and at script level in a not executed block). #7681
|
||||
|
||||
Once Vim9 is stable:
|
||||
- Change the help to prefer Vim9 syntax where appropriate
|
||||
- Use Vim9 for runtime files.
|
||||
PR #7497 for autoload/ccomplete.vim
|
||||
- Add all the error numbers in a good place in documentation.
|
||||
- In the generic eval docs, point out the Vim9 syntax where it differs.
|
||||
|
||||
Also for Vim9:
|
||||
- better implementation for partial and tests for that.
|
||||
- Make "g:imported = Export.exported" work in Vim9 script.
|
||||
- Make Foo.Bar() work to call the dict function. (#5676)
|
||||
- Error in any command in "vim9script" aborts sourcing.
|
||||
- Find a way to test expressions in legacy and Vim9 script without duplication
|
||||
- Fix memory leaks for test_vim9_disassemble, test_vim9_expr, test_vim9_script
|
||||
- Test each level of expressions properly, with type checking
|
||||
- Test try/catch and throw better, also nested.
|
||||
Test return inside try/finally jumps to finally and then returns.
|
||||
- can use func as reference:
|
||||
def SomeFunc() ...
|
||||
map(list, SomeFunc)
|
||||
- Test: Function declared inside a :def function is local, disappears at the
|
||||
end of the function. Unless g: is used, just like with variables.
|
||||
- implement :type
|
||||
- import type declaration?
|
||||
- implement class
|
||||
- implement interface
|
||||
- predefined class: Promise<T>
|
||||
- implement enum
|
||||
- Make accessing varargs faster: arg[expr]
|
||||
EVAL expr
|
||||
LOADVARARG (varags idx)
|
||||
Further improvements:
|
||||
Test that return inside try/finally jumps to finally and then returns.
|
||||
- Test that a function defined inside a :def function is local to that
|
||||
function, g: functions can be defined and script-local functions cannot be
|
||||
defined.
|
||||
- compile options that are an expression, e.g. "expr:" in 'spellsuggest',
|
||||
'foldexpr', 'foldtext', 'printexpr', 'diffexpr', 'patchexpr', 'charconvert',
|
||||
'balloonexpr', 'includeexpr', 'indentexpr', 'formatexpr'.
|
||||
- Make inline function work, to be used as a funcref:
|
||||
let ref = def(arg: type): rettype
|
||||
body
|
||||
enddef
|
||||
Give an error if compilation fails. (#7625)
|
||||
Use the location where the option was set for deciding whether it's to be
|
||||
evaluated in Vim9 script context.
|
||||
- implement :type; import type declaration.
|
||||
- implement enum; import enum.
|
||||
- Future work: See |vim9-classes|
|
||||
Define the keywords and commands to make sure it will be backwards
|
||||
compatible.
|
||||
- Make debugging work - at least per function. Need to recompile a function
|
||||
to step through it line-by-line? Evaluate the stack and variables on the
|
||||
stack?
|
||||
- List commands when 'verbose' is set or :verbose is used.
|
||||
|
||||
Further Vim9 improvements, possibly after launch:
|
||||
- For range: make table of first ASCII character with flag to quickly check if
|
||||
it can be a Vim9 command. E.g. "+" can, but "." can't.
|
||||
- compile get_lambda_tv() in popup_add_timeout()
|
||||
- inline call to map() and filter()
|
||||
- compile "skip" argument of searchpair()
|
||||
- compile "expr" and "call" expression of a channel in channel_exe_cmd()?
|
||||
- Make accessing varargs faster: arg[expr]
|
||||
EVAL expr
|
||||
LOADVARARG (varargs idx)
|
||||
|
||||
|
||||
Popup windows:
|
||||
- Cursor not updated before a redraw, making it jump. (#5943)
|
||||
- Add a flag to make a popup window focusable?
|
||||
CTRL-W P cycle over any preview window or focusable popup, end up back in
|
||||
current window.
|
||||
? - switch between current window and all popup windows
|
||||
Esc in popup window goes back to previous current window
|
||||
- Add a termcap entry for changing the cursor when it goes under the popup and
|
||||
back. like t_SI and t_EI (t_SU and t_EU, where "U" means under?)
|
||||
- With terminal in popup, allow for popup_hide() to temporarily hide it.?
|
||||
@@ -178,13 +183,17 @@ Popup windows:
|
||||
- Figure out the size and position better if wrapping inserts indent
|
||||
|
||||
Text properties:
|
||||
- Popup attached to text property stays visible when text is no longer
|
||||
visible. (#7736)
|
||||
- Popup attached to text property stays visible when text is deleted with
|
||||
"cc". (#7737) "C" works OK.
|
||||
- :goto does not go to the right place when text properties are present.
|
||||
(#5930)
|
||||
- "cc" does not call inserted_bytes(). (Axel Forsman, #5763)
|
||||
- Get E685 with a sequence of commands. (#5674)
|
||||
- Combining text property with 'cursorline' does not always work (Billie
|
||||
Cleek, #5533)
|
||||
- Text properties spanning more than one line. #5683
|
||||
- Should we let the textprop highlight overrule other (e.g. diff) highlight if
|
||||
the priority is above a certain value? (#7392)
|
||||
- See remarks at top of src/textprop.c
|
||||
|
||||
'incsearch' with :s:
|
||||
@@ -219,6 +228,7 @@ Terminal debugger:
|
||||
with another Vim instance.
|
||||
|
||||
Terminal emulator window:
|
||||
- Can escape a terminal popup with win_gotoid(), should be an error
|
||||
- No support for underline color, t_8u.
|
||||
- When in terminal-Normal mode when the job finishes, the cursor jumps to the
|
||||
end but the window is not updated. This only happens when typing "a".
|
||||
@@ -261,23 +271,60 @@ Terminal emulator window:
|
||||
- When 'encoding' is not utf-8, or the job is using another encoding, setup
|
||||
conversions.
|
||||
|
||||
Error numbers available:
|
||||
E610, E611, E653
|
||||
Error numbers available: E653
|
||||
|
||||
Clean up empty entries in testdir/Make_all.mak
|
||||
Mapping with partial match not executed properly in GTK. (Ingo Karkat, #7082)
|
||||
|
||||
Patch for Template string: #4634
|
||||
Have another look at the implementation.
|
||||
|
||||
Patch to implement the vimtutor with a plugin: #6414
|
||||
Was originally written by Felipe Morales.
|
||||
|
||||
Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
|
||||
(#4087) Did patch 8.2.2379 help?
|
||||
|
||||
Patch to find Python dll using registry key. (#7540)
|
||||
|
||||
Remove SPACE_IN_FILENAME ? It is only used for completion.
|
||||
|
||||
Patch to use collaction based sorting. (Christian Brabandt, #6229)
|
||||
Making breakat support multibyte characters (Yasuhiro Matsumoto, #6598)
|
||||
Scroll doesn't work correctly, why?
|
||||
|
||||
Add 'termguiattr' option, use "gui=" attributes in the terminal? Would work
|
||||
with 'termguicolors'. #1740
|
||||
|
||||
Patch for blockwise paste reporting changes: #6660.
|
||||
|
||||
Missing filetype test for bashrc, PKGBUILD, etc.
|
||||
|
||||
Add an option to not fetch terminal codes in xterm, to avoid flicker when t_Co
|
||||
changes.
|
||||
|
||||
Add an option to start_timer() to return from the input loop with K_IGNORE.
|
||||
This is useful e.g. when a popup was created that disables mappings, we need
|
||||
to return from vgetc() to make this happen. #7011
|
||||
|
||||
Expanding <mods> should put the tab number from cmdmod.tab before "tab".
|
||||
Any way to convert "$" back by using a special value? (#6901)
|
||||
|
||||
Can we detect true color support? https://gist.github.com/XVilka/8346728
|
||||
Try setting a color then request the current color, like using t_u7.
|
||||
|
||||
Regexp to search for duplicate lines does not work correctly:
|
||||
/\(^.*\n\)\1 (Chris Morgan, #6239)
|
||||
|
||||
Changing a capturing group to non-capturing changes the result: #7607
|
||||
:echo matchstr('aaa bbb', '\(.\{-1,}\>\)\|.*')
|
||||
aaa
|
||||
:echo matchstr('aaa bbb', '\%(.\{-1,}\>\)\|.*')
|
||||
aaa bbb
|
||||
Should also work without any group:
|
||||
:echo matchstr('aaa bbb', '.\{-1,}\>\|.*')
|
||||
aaa bbb (should be aaa)
|
||||
|
||||
Check out PR #543 (Roland Puntaier).
|
||||
Patch for multi-byte characters in langmap and applying a mapping on them.
|
||||
Patch for multibyte characters in langmap and applying a mapping on them.
|
||||
(Christian Brabandt, 2015 Jun 12, update July 25)
|
||||
Is this the right solution? Need to cleanup langmap behavior:
|
||||
- in vgetorpeek() apply langmap to the typeahead buffer and put the result in
|
||||
@@ -298,15 +345,19 @@ autocommands for the buffer lifecycle:
|
||||
BufIsRenamed (after buffer ID gets another name)
|
||||
The buffer list and windows are locked, no changes possible
|
||||
|
||||
Make it possible to map (console and GUI): #6457
|
||||
<C-[> 0x27 or is this <Esc> ?
|
||||
<C-\> 0x28
|
||||
<C-]> 0x29
|
||||
<C-^> 0x30
|
||||
<C-_> 0x31
|
||||
Add a ModeChanged autocommand that has an argument indicating the old and new
|
||||
mode, as what's returned from mode(). Also used for switching Terminal mode.
|
||||
|
||||
Patch for Template string: #4634
|
||||
Have another look at the implementation.
|
||||
Matchparen doesn't remove highlight after undo. (#7054)
|
||||
Is OK when syntax HL is active.
|
||||
|
||||
Currently Del can be used to delete the last character of a typed count.
|
||||
Can it also be used to delete an incomplete Normal mode command? (#7096)
|
||||
After an operator: should work. After "a" or "i" for text objects: should
|
||||
work.
|
||||
|
||||
Using "au!" after "filetype on" is a bit slow. Can the matching of
|
||||
autocommands be made faster? (#7056)
|
||||
|
||||
Add the <=> (spaceship) operator and "cond ?< expr ?= expr ?> expr"
|
||||
replace this:
|
||||
@@ -317,6 +368,10 @@ Add the <=> (spaceship) operator and "cond ?< expr ?= expr ?> expr"
|
||||
let res = GetLeftFunc() <=> GetRightFunc() ?< lower ?= equal ?> upper
|
||||
Patch to make :q work with local arglist. (Christian Brabandt, #6286)
|
||||
|
||||
Why does Test_invalid_sid() not work in the GUI?
|
||||
|
||||
":pedit" ignores the local working directory when 'pvp' is set (#7267)
|
||||
|
||||
Lua: updating wrong buffer when using newly created, unloaded buffer.
|
||||
(#6539)
|
||||
|
||||
@@ -353,9 +408,6 @@ corruption. (#6631)
|
||||
When 'lazyredraw' is set sometimes the title is not updated.
|
||||
(Jason Franklin, 2020 Feb 3) Looks like a race condition.
|
||||
|
||||
Regexp to search for duplicate lines does not work correctly:
|
||||
/\(^.*\n\)\1 (Chris Morgan, #6239)
|
||||
|
||||
With bash ":make" does not set v:shell_error. Possible solution: set
|
||||
'shellpipe' to "2>&1| tee %s; exit ${PIPESTATUS[0]}" #5994
|
||||
|
||||
@@ -367,13 +419,13 @@ When 'fileignorecase' is set ":e testfile.c" works to edit TestFile.c, but
|
||||
":find testfile.c" does not ignore case.
|
||||
Might be related to #6088.
|
||||
|
||||
Error for reverse range when using :vimgrep in file "[id-01] file.txt".
|
||||
(#6919)
|
||||
|
||||
When changing the crypt key the buffer should be considered modified.
|
||||
Like when changing 'fileformat'. Save the old key in save_file_ff().
|
||||
(Ninu-Ciprian Marginean)
|
||||
|
||||
Patch to implement the vimtutor with a plugin: #6414
|
||||
Was originally writtten by Felipe Morales.
|
||||
|
||||
Strange sequence of BufWipeout and BufNew events while doing omni-complete.
|
||||
(Paul Jolly, #5656)
|
||||
Get BufDelete without preceding BufNew. (Paul Jolly, #5694)
|
||||
@@ -386,9 +438,6 @@ Another spurious BufDelete. (Dani Dickstein, #5701)
|
||||
|
||||
Wrong error when using local arglist. (Harm te Hennepe, #6133)
|
||||
|
||||
Request to support <Cmd> in mappings, similar to how Neovim does this.
|
||||
(Daniel Hahler, #4784)
|
||||
|
||||
Test loose_clipboard() by selecting text before suspending.
|
||||
|
||||
Undo puts cursor in wrong line after "cG<Esc>" undo.
|
||||
@@ -396,6 +445,7 @@ Undo puts cursor in wrong line after "cG<Esc>" undo.
|
||||
Implement completion for "breakadd". Should expand the second argument, e.g.
|
||||
"func", and then function names after ":breakadd func". Including
|
||||
script-local functions.
|
||||
Also for ":profile".
|
||||
|
||||
:unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019
|
||||
Dec 19)
|
||||
@@ -407,12 +457,8 @@ Patch to fix session file when using multiple tab pages. (Jason Franklin, 2019
|
||||
May 20)
|
||||
Also put :argadd commands at the start for all buffers, so that their order
|
||||
remains equal? Then %argdel to clean it up. Do try this with 'hidden' set.
|
||||
Also #4994: window-local options not always restored, related to using :badd.
|
||||
Also #5326: netrw buffers are not restored.
|
||||
|
||||
Alternate file is not set in the session file. Use setwintabvar("@#") ?
|
||||
(#6714)
|
||||
|
||||
When 'backupdir' has a path ending in double slash (meaning: use full path of
|
||||
the file) combined with 'patchmode' the file name is wrong. (#5791)
|
||||
|
||||
@@ -424,14 +470,12 @@ Should do current file first and not split it up when more results are found.
|
||||
|
||||
Undo history wrong when ":next file" re-uses a buffer. (#5426)
|
||||
ex_next() should pass flag to do_argfile(), then to do_ecmd().
|
||||
Is there a test for this?
|
||||
|
||||
Help for ":argadd fname" says that if "fname" is already in the argument list
|
||||
that entry is used. But instead it's always added. (#6210)
|
||||
Add flag AL_FIND_ADD, if there is one argument find it in the list.
|
||||
|
||||
Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
|
||||
(#4087)
|
||||
|
||||
behavior of i_CTRl-R_CTRL-R differs from documentation. (Paul Desmond Parker,
|
||||
#5771)
|
||||
|
||||
@@ -485,7 +529,7 @@ Better: use the "z" prefix. or ]t) and [t(.
|
||||
Modeless selection doesn't work in gvim. (#4783)
|
||||
Caused by patch 8.1.1534.
|
||||
|
||||
Visual highlight not removed when 'dipslay' is "lastline" and line doesn't
|
||||
Visual highlight not removed when 'display' is "lastline" and line doesn't
|
||||
fit. (Kevin Lawler, #4457)
|
||||
|
||||
Current position in the changelist should be local to the buffer. (#2173)
|
||||
@@ -499,20 +543,13 @@ Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
|
||||
13, #2910) Can't reproduce?
|
||||
|
||||
Display messed up with matchparen, wrapping and scrolling. (#5638)
|
||||
Screen update bug related to matchparen. (Chris Heath, 2017 Mar 4, #1532)
|
||||
|
||||
When getting a focus event halfway a mapping this aborts the mapping. E.g.
|
||||
when "qq" is mapped and after the first "q" the mouse is moved outside of the
|
||||
gvim window (with focus follows mouse), then the K_FOCUSLOST key is put in the
|
||||
input buffer. (#5302)
|
||||
|
||||
xterm should be able to pass focus changes to Vim, so that Vim can check for
|
||||
buffers that changed. Perhaps in misc.c, function selectwindow().
|
||||
Xterm 224 supports it!
|
||||
Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
|
||||
Saito, 2013 Apr 24) Update 2016 Aug 12.
|
||||
Also see issue #609.
|
||||
We could add the enable/disable sequences to t_ti/t_te or t_ks/t_ke.
|
||||
|
||||
:buffer completion does not escape "+" properly and results in a regexp error.
|
||||
(#5467)
|
||||
|
||||
@@ -545,10 +582,6 @@ Patch to have text objects defined by arbitrary single characters. (Daniel
|
||||
Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
|
||||
Added tests (James McCoy, 2016 Aug 3, #958). Still needs more work.
|
||||
|
||||
":2resize +10" uses size of the current window, adds 10 and applies it to
|
||||
window 2. User expects 10 to be added to size of window 2. (Daniel Steinberg,
|
||||
#5443)
|
||||
|
||||
Would be nice to set tab-local values for 'diffexpr' and 'diffopt'. Use
|
||||
t:diffexpr_option t:diffopt_option? (#4782)
|
||||
|
||||
@@ -638,6 +671,38 @@ Session file contains absolute paths when "curdir" is removed form
|
||||
'sessionoptions', making it impossible to have a session with a relative path.
|
||||
(#4450)
|
||||
|
||||
Session file only contains local option values for buffers that are in a
|
||||
window, not other buffers. (#7532)
|
||||
|
||||
Script generated by :mksession does not work well if there are windows with
|
||||
modified buffers
|
||||
change "silent only" into "silent only!"
|
||||
change "edit fname" of first buffer to "hide edit fname"
|
||||
skip "badd fname" if "fname" is already in the buffer list
|
||||
remove remark about unloading buffers from documentation
|
||||
|
||||
When session file has name in argument list but the buffer was deleted, the
|
||||
buffer is not deleted when using the session file. (#1393)
|
||||
Should add the buffer in hidden state.
|
||||
|
||||
When a session file is created and there are "nofile" buffers, these are not
|
||||
filled. Need to trigger BufReadCmd autocommands. Also handle deleting the
|
||||
initial empty buffer better. (ZyX, 2015 March 8)
|
||||
|
||||
Setting the spell file in a session only reads the local additions, not the
|
||||
normal spell file. (Enno Nagel, 2014 Mar 29)
|
||||
|
||||
Directory wrong in session file, caused by ":lcd" in BufEnter autocommand.
|
||||
(Felix Kater, 2009 Mar 3)
|
||||
|
||||
Something wrong with session that has "cd" commands and "badd", in such a way
|
||||
that Vim doesn't find the edited file in the buffer list, causing the
|
||||
ATTENTION message? (Tony Mechelynck, 2008 Dec 1)
|
||||
Also: swap files are in ~/tmp/ One has relative file name ".mozilla/...".
|
||||
|
||||
'foldcolumn' in modeline applied to wrong window when using a session. (Teemu
|
||||
Likonen, March 19)
|
||||
|
||||
When using a timer callback vgetc_busy is reset, allowing for using input().
|
||||
But in a channel callback this does not happen. We need to do something
|
||||
similar to check_due_timer(). Also see #3809.
|
||||
@@ -744,6 +809,7 @@ Make ":interactive !cmd" stop termcap mode, also when used in an autocommand.
|
||||
|
||||
Add buffer argument to undotree(). (#4001)
|
||||
|
||||
Memory leak in test_debugger
|
||||
Using uninitialized value in test_crypt (can't explain why).
|
||||
Memory leak in test_terminal_fail
|
||||
TODO: be able to run all parts of test_alot with valgrind separately
|
||||
@@ -826,13 +892,6 @@ when adding a sign for every quickfix entry. (#4557)
|
||||
Win32 key codes are messy. Mike Williams tried to fix that, but now old
|
||||
mappings no longer work. Create a new terminal for the better solution?
|
||||
|
||||
Script generated by :mksession does not work well if there are windows with
|
||||
modified buffers
|
||||
change "silent only" into "silent only!"
|
||||
change "edit fname" of first buffer to "hide edit fname"
|
||||
skip "badd fname" if "fname" is already in the buffer list
|
||||
remove remark about unloading buffers from documentation
|
||||
|
||||
Compiler warnings (geeknik, 2017 Oct 26):
|
||||
- signed integer overflow in do_sub() (#2249)
|
||||
- signed integer overflow in get_address() (#2248)
|
||||
@@ -874,9 +933,6 @@ Try out background make plugin:
|
||||
or asyncmake:
|
||||
https://github.com/yegappan/asyncmake
|
||||
|
||||
Add a ModeChanged autocommand that has an argument indicating the old and new
|
||||
mode, as what's returned from mode(). Also used for switching Terminal mode.
|
||||
|
||||
Add an option with file patterns, to be used when unloading a buffer: If there
|
||||
is a match, remove entries for the buffer from marks, jumplist, etc. To be
|
||||
used for git temp files.
|
||||
@@ -1038,7 +1094,7 @@ neovim #7431)
|
||||
Patch for improving detecting Ruby on Mac in configure. (Ilya Mikhaltsou, 2017
|
||||
Nov 21)
|
||||
|
||||
When t_Co is changed from termresponse, the OptionSet autocmmand event isn't
|
||||
When t_Co is changed from termresponse, the OptionSet autocommand event isn't
|
||||
triggered. Use the code from the end of set_num_option() in
|
||||
set_color_count().
|
||||
|
||||
@@ -1097,7 +1153,7 @@ Overlong utf-8 sequence is displayed wrong. (Harm te Hennepe, 2017 Sep 14,
|
||||
#2089) Patch with possible solution by Björn Linse.
|
||||
|
||||
The change list index is local to a buffer, but it doesn't make sense using it
|
||||
for another buffer. (lacygoll) Copy w_changelistidx to wininfo_S and back.
|
||||
for another buffer. (lacygoill) Copy w_changelistidx to wininfo_S and back.
|
||||
|
||||
X11: Putting more than about 262040 characters of text on the clipboard and
|
||||
pasting it in another Vim doesn't work. (Dominique Pelle, 2008 Aug 21-23)
|
||||
@@ -1204,10 +1260,6 @@ Json string with trailing \u should be an error. (Lcd)
|
||||
import can't be used in define option when include matches too.
|
||||
(Romain Lafourcade, 2017 Jun 18, #1519)
|
||||
|
||||
When session file has name in argument list but the buffer was deleted, the
|
||||
buffer is not deleted when using the session file. (#1393)
|
||||
Should add the buffer in hidden state.
|
||||
|
||||
Wrong diff highlighting with three files. (2016 Oct 20, #1186)
|
||||
Also get E749 on exit.
|
||||
Another example in #1309
|
||||
@@ -1220,18 +1272,14 @@ Suggestion to improve pt-br spell checking. (Marcelo D Montu, 2016 Dec 15,
|
||||
|
||||
Error in test_startup_utf8 on Solaris. (Danek Duvall, 2016 Aug 17)
|
||||
|
||||
Completion for :!cmd shows each match twice. #1435
|
||||
|
||||
GTK: When adding a timer from 'balloonexpr' it won't fire, because
|
||||
g_main_context_iteration() doesn't return. Need to trigger an event when the
|
||||
timer expires.
|
||||
|
||||
Screen update bug related to matchparen. (Chris Heath, 2017 Mar 4, #1532)
|
||||
|
||||
Rule to use "^" for statusline does not work if a space is defined with
|
||||
highlighting for both stl and stlnc. Patch by Ken Hamada (itchyny, 2016 Dec 11)
|
||||
|
||||
8 "stl" and "stlnc" in 'fillchars' don't work for multi-byte characters.
|
||||
8 "stl" and "stlnc" in 'fillchars' don't work for multibyte characters.
|
||||
Patch by Christian Wellenbrock, 2013 Jul 5.
|
||||
|
||||
Using CTRL-G_U in InsertCharPre causes trouble for redo. (Israel Chauca
|
||||
@@ -1267,9 +1315,6 @@ Once .exe with updated installer is available: Add remark to download page
|
||||
about /S and /D options (Ken Takata, 2016 Apr 13)
|
||||
Or point to nightly builds: https://github.com/vim/vim-win32-installer/releases
|
||||
|
||||
Problem passing non-UTF-8 strings to Python 3. (Björn Linse, 2016 Sep 11,
|
||||
#1053) With patch, does it work?
|
||||
|
||||
":sbr" docs state it respects 'switchbuf', but "vsplit" does not cause a
|
||||
vertical split. (Haldean Brown, 2017 Mar 1)
|
||||
|
||||
@@ -1327,6 +1372,9 @@ no longer support.
|
||||
sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
|
||||
4#1038)
|
||||
|
||||
sort() does not use 'smartcase' for the skip pattern, even though 'ignorecase'
|
||||
is used. (Filipe Brandenburger, #7322)
|
||||
|
||||
+channel:
|
||||
- Add a in_cb, invoked when the write buffer has become empty. (Matteo Landi)
|
||||
- Add ch_readlines(): for a channel in NL mode, reads as many lines as are
|
||||
@@ -1382,7 +1430,7 @@ Regexp problems:
|
||||
- Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$'
|
||||
(Lech Lorens, 2014 Feb 3)
|
||||
- Issue 164: freeze on regexp search.
|
||||
- Ignorecase not handled properly for multi-byte characters. (Axel Bender,
|
||||
- Ignorecase not handled properly for multibyte characters. (Axel Bender,
|
||||
2013 Dec 11)
|
||||
- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin
|
||||
Szamotulski; Remark from Brett 2014 Jan 6 and 7.
|
||||
@@ -1420,9 +1468,6 @@ Undo message is not always properly displayed. Patch by Ken Takata, 2013 oct
|
||||
3. Doesn't work properly according to Yukihiro Nakadaira.
|
||||
Also see #1635.
|
||||
|
||||
When 'keywordprg' starts with ":" the argument is still escaped as a shell
|
||||
command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
|
||||
|
||||
Idea from Sven: record sequence of keys. Useful to show others what they are
|
||||
doing (look over the shoulder), and also to see what happened.
|
||||
Probably list of keystrokes, with some annotations for mode changes.
|
||||
@@ -1463,8 +1508,6 @@ Have a way to get the call stack, in a function and from an exception.
|
||||
Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
|
||||
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
|
||||
|
||||
Filetype plugin for awk. (Doug Kearns, 2016 Sep 5)
|
||||
|
||||
Patch to improve map documentation. Issue #799.
|
||||
|
||||
We can use '. to go to the last change in the current buffer, but how about
|
||||
@@ -1597,7 +1640,7 @@ Patch to add :mapgroup, put mappings in a group like augroup.
|
||||
Value returned by virtcol() changes depending on how lines wrap. This is
|
||||
inconsistent with the documentation.
|
||||
|
||||
Value of virtcol() for '[ and '] depend on multi-byte character.
|
||||
Value of virtcol() for '[ and '] depend on multibyte character.
|
||||
(Luchr, #277)
|
||||
|
||||
Can we cache the syntax attributes, so that updates for 'relativenumber' and
|
||||
@@ -1675,17 +1718,11 @@ Doesn't work completely (Dominique Orban)
|
||||
|
||||
Patch to add a "literal" argument to bufnr(). (Olaf Dabrunz, 2015 Aug 4)
|
||||
|
||||
When a session file is created and there are "nofile" buffers, these are not
|
||||
filled. Need to trigger BufReadCmd autocommands. Also handle deleting the
|
||||
initial empty buffer better. (ZyX, 2015 March 8)
|
||||
|
||||
Extended file attributes lost on write (backupcopy=no). Issue 306.
|
||||
|
||||
Patch to add :lockjumps. (Carlo Baldassi, 2015 May 25)
|
||||
OK to not block marks?
|
||||
|
||||
Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1)
|
||||
|
||||
Patch on Issue 72: 'autochdir' causes problems for :vimgrep.
|
||||
|
||||
When two SIGWINCH arrive very quickly, the second one may be lost.
|
||||
@@ -1752,14 +1789,6 @@ arguments.
|
||||
|
||||
Problem with transparent and matchgroup. Issue #475
|
||||
|
||||
Spell files use a latin single quote. Unicode also has another single quote:
|
||||
0x2019. (Ron Aaron, 2014 Apr 4)
|
||||
New OpenOffice spell files support this with ICONV. But they are not
|
||||
compatible with Vim spell files. The old files can no longer be downloaded.
|
||||
|
||||
Spell checking: Add a feature to only consider two spaces after a dot to start
|
||||
a new sentence. Don't give the capitalization error when there is one space.
|
||||
|
||||
Idea: For a window in the middle (has window above and below it), use
|
||||
right-mouse-drag on the status line to move a window up/down without changing
|
||||
its height? It's like dragging the status bar above it at the same time.
|
||||
@@ -1817,9 +1846,6 @@ Out of scope:
|
||||
- Development work on plugins (although diff with distributed version would be
|
||||
useful).
|
||||
|
||||
Setting the spell file in a session only reads the local additions, not the
|
||||
normal spell file. (Enno Nagel, 2014 Mar 29)
|
||||
|
||||
When typing the first character of a command, e.g. "f", then using a menu, the
|
||||
menu item doesn't work. Clear typeahead when using a menu?
|
||||
|
||||
@@ -2129,7 +2155,7 @@ Also for another example (ZyX, 2011 Jan 24)
|
||||
|
||||
Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
|
||||
|
||||
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
|
||||
"0g@$" puts '] on last byte of multibyte. (ZyX, 2011 Jan 22)
|
||||
|
||||
Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30)
|
||||
|
||||
@@ -2287,7 +2313,7 @@ Additional info by Dominique Pelle. (also on 2010 Apr 10)
|
||||
|
||||
CreateFile and CreateFileW are used without sharing, filewritable() fails when
|
||||
the file was already open (e.g. script is being sourced). Add FILE_SHARE_READ|
|
||||
FILE_SHARE_WRITE in mch_access()? (Phillippe Vaucher, 2010 Nov 2)
|
||||
FILE_SHARE_WRITE in mch_access()? (Philippe Vaucher, 2010 Nov 2)
|
||||
|
||||
Is ~/bin (literally) in $PATH supposed to work? (Paul, 2010 March 29)
|
||||
Looks like only bash can do it. (Yakov Lerner)
|
||||
@@ -2434,9 +2460,6 @@ Don't load macmap.vim on startup, turn it into a plugin. (Ron Aaron,
|
||||
|
||||
Add "no_hlsearch" to winsaveview().
|
||||
|
||||
Cursorline highlighting combines with Search ('hlsearch') but not with
|
||||
SpellBad. (Jim Karsten, 2009 Mar 18)
|
||||
|
||||
When 'foldmethod' is "indent", adding an empty line below a fold and then
|
||||
indented text, creates a new fold instead of joining it with the previous one.
|
||||
(Evan Laforge, 2009 Oct 17)
|
||||
@@ -2471,9 +2494,6 @@ opening/closing window causes other window with 'winfixheight' to change
|
||||
height. Also happens when there is another window in the frame, if it's not
|
||||
very high. (Yegappan Lakshmanan, 2010 Jul 22, Michael Peeters, 2010 Jul 22)
|
||||
|
||||
Directory wrong in session file, caused by ":lcd" in BufEnter autocommand.
|
||||
(Felix Kater, 2009 Mar 3)
|
||||
|
||||
Session file generates error upon loading, cause by --remote-silent-tab.
|
||||
(7tommm (ytommm) 2010 Nov 24)
|
||||
|
||||
@@ -2533,11 +2553,6 @@ still delete them. Also convert all buffer file names?
|
||||
"gqip" in Insert mode has an off-by-one error, causing it to reflow text.
|
||||
(Raul Coronado, 2009 Nov 2)
|
||||
|
||||
Something wrong with session that has "cd" commands and "badd", in such a way
|
||||
that Vim doesn't find the edited file in the buffer list, causing the
|
||||
ATTENTION message? (Tony Mechelynck, 2008 Dec 1)
|
||||
Also: swap files are in ~/tmp/ One has relative file name ".mozilla/...".
|
||||
|
||||
MS-Windows: editing the first, empty buffer, 'ffs' set to "unix,dos", ":enew"
|
||||
doesn't set 'ff' to "unix". (Ben Fritz, 2008 Dec 5) Reusing the old buffer
|
||||
probably causes this.
|
||||
@@ -2636,7 +2651,7 @@ work, the backslash is removed, assuming that it escapes the (. (Valery
|
||||
Kondakoff, 2009 May 13)
|
||||
|
||||
Win32: Using "gvim --remote-tab-silent elŝuti.txt" doesn't work, the
|
||||
multi-byte character isn't passed and edits elsuti.txt.
|
||||
multibyte character isn't passed and edits elsuti.txt.
|
||||
(Raúl Núñez de Arenas Coronado, 2015 Dec 18)
|
||||
|
||||
Problem with 'langmap' being used on the rhs of a mapping. (Nikolai Weibull,
|
||||
@@ -2734,9 +2749,6 @@ New PHP syntax file, use it? (Peter Hodge)
|
||||
":echoe" in catch block stops processing, while this doesn't happen outside of
|
||||
a catch block. (ZyX, 2011 Jun 2)
|
||||
|
||||
'foldcolumn' in modeline applied to wrong window when using a session. (Teemu
|
||||
Likonen, March 19)
|
||||
|
||||
Test 54 uses shell commands, that doesn't work on non-Unix systems. Use some
|
||||
other way to test buffer-local autocommands.
|
||||
|
||||
@@ -2943,12 +2955,6 @@ the Visual area. Can this be fixed? (James Vega, 2006 Sept 15)
|
||||
|
||||
GUI: When combining fg en bg make sure they are not equal.
|
||||
|
||||
Spell checking: Add a way to specify punctuation characters. Add the
|
||||
superscript numbers by default: 0x2070, 0xb9, 0xb2, 0xb3, 0x2074 - 0x2079.
|
||||
|
||||
Spell checking in popup menu: If the only problem is the case of the first
|
||||
character, don't offer "ignore" and "add to word list".
|
||||
|
||||
Use different pt_br dictionary for spell checking. (Jackson A. Aquino, 2006
|
||||
Jun 5)
|
||||
|
||||
@@ -2962,10 +2968,6 @@ Jul 22)
|
||||
|
||||
There should be something about spell checking in the user manual.
|
||||
|
||||
Spell menu: When using the Popup menu to select a replacement word,
|
||||
":spellrepeat" doesn't work. SpellReplace() uses setline(). Can it use "z="
|
||||
somehow? Or use a new function.
|
||||
|
||||
Mac: Using gvim: netrw window disappears. (Nick Lo, 2006 Jun 21)
|
||||
|
||||
Add an option to specify the character to use when a double-width character is
|
||||
@@ -3197,7 +3199,7 @@ Awaiting updated patches:
|
||||
7 ATTENTION dialog choices are more logical when "Delete it" appears
|
||||
before "Quit". Patch by Robert Webb, 2004 May 3.
|
||||
- Include flipcase patch: ~/vim/patches/wall.flipcase2 ? Make it work
|
||||
for multi-byte characters.
|
||||
for multibyte characters.
|
||||
- Win32: add options to print dialog. Patch from Vipin Aravind.
|
||||
- Patch to add highlighting for whitespace. (Tom Schumm, 2003 Jul 5)
|
||||
use the patch that keeps using HLF_8 if HLF_WS has not
|
||||
@@ -3249,6 +3251,29 @@ Better 'rightleft' or BIDI support:
|
||||
- Minimal Vi with bidi support: https://github.com/aligrudi/neatvi
|
||||
By Ali Gholami Rudi, also worked on arabic.c
|
||||
|
||||
|
||||
Spell checking:
|
||||
- When 'cursorline' is set and the first word should have SpellCap
|
||||
highlighting, redrawing the line removes it when moving the cursor away
|
||||
from the line. (#7085) Would need to inspect the end of the previous line
|
||||
and update "capcol_lnum" and "cap_col".
|
||||
- Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1)
|
||||
- Spell files use a latin single quote. Unicode also has another single
|
||||
quote: 0x2019. (Ron Aaron, 2014 Apr 4)
|
||||
New OpenOffice spell files support this with ICONV. But they are not
|
||||
compatible with Vim spell files. The old files can no longer be
|
||||
downloaded.
|
||||
- Add a feature to only consider two spaces after a dot to start a new
|
||||
sentence. Don't give the capitalization error when there is one space.
|
||||
- Add a way to specify punctuation characters. Add the superscript numbers
|
||||
by default: 0x2070, 0xb9, 0xb2, 0xb3, 0x2074 - 0x2079.
|
||||
- In popup menu: If the only problem is the case of the first character,
|
||||
don't offer "ignore" and "add to word list".
|
||||
- Spell menu: When using the Popup menu to select a replacement word,
|
||||
":spellrepeat" doesn't work. SpellReplace() uses setline(). Can it use
|
||||
"z=" somehow? Or use a new function.
|
||||
|
||||
|
||||
Quickfix/Location List:
|
||||
- Window size is wrong when using quickfix window. (Lifepillar, 2018 Aug 24,
|
||||
#2999)
|
||||
@@ -3693,8 +3718,8 @@ Macintosh:
|
||||
8 'hkmap' should probably be global-local.
|
||||
8 Using ":s" in a function changes the previous replacement string. Save
|
||||
"old_sub" in save_search_patterns()?
|
||||
8 Should allow multi-byte characters for the delimiter: ":s+a+b+" where "+"
|
||||
is a multi-byte character.
|
||||
8 Should allow multibyte characters for the delimiter: ":s+a+b+" where "+"
|
||||
is a multibyte character.
|
||||
8 When appending to a file and 'patchmode' isn't empty, a backup file is
|
||||
always written, even when the original file already exists.
|
||||
9 When getting focus while writing a large file, could warn for this file
|
||||
@@ -3817,10 +3842,6 @@ Macintosh:
|
||||
on the status line (caused by 'winheight'). Select window on button up,
|
||||
instead of on button down.
|
||||
8 Dragging the status line doesn't scroll but redraw.
|
||||
9 Evaluating 'statusline' in build_stl_str_hl() does not properly check for
|
||||
reaching the end of the available buffer.
|
||||
Patch to dynamically allocate the buffer for % items. (Eric Arnold, 2006
|
||||
May 14)
|
||||
8 When performing incremental search, should abort searching as soon as a
|
||||
character is typed.
|
||||
8 When the value of $MAKE contains a path, configure can't handle this.
|
||||
@@ -3997,9 +4018,7 @@ Documentation:
|
||||
- change to cursor position and curswant
|
||||
- if it can be undone (u/CTRL-R) and redone (.)
|
||||
- how it works for folded lines
|
||||
- how it works with multi-byte characters
|
||||
9 In change.txt, remark about Javadoc isn't right. Right alignment would
|
||||
work too.
|
||||
- how it works with multibyte characters
|
||||
8 Spread the windows commands over the other files. For example, ":stag"
|
||||
should be with ":tag". Cross-link with tags to avoid too much double
|
||||
text.
|
||||
@@ -4233,8 +4252,8 @@ Multi-byte characters:
|
||||
8 Add configure option to be able to disable using the iconv library. (Udo
|
||||
Schweigert)
|
||||
9 'aleph' should be set to 1488 for Unicode. (Zvi Har'El)
|
||||
8 Should add test for using various commands with multi-byte characters.
|
||||
8 'infercase' doesn't work with multi-byte characters.
|
||||
8 Should add test for using various commands with multibyte characters.
|
||||
8 'infercase' doesn't work with multibyte characters.
|
||||
8 toupper() function doesn't handle byte count changes.
|
||||
7 Searching and composing characters:
|
||||
When searching, should order of composing characters be ignored?
|
||||
@@ -4242,7 +4261,7 @@ Multi-byte characters:
|
||||
characters can be manipulated.
|
||||
8 Should implement 'delcombine' for command line editing.
|
||||
8 Detect overlong UTF-8 sequences and handle them like illegal bytes.
|
||||
8 ":s/x/\u\1/" doesn't work, making uppercase isn't done for multi-byte
|
||||
8 ":s/x/\u\1/" doesn't work, making uppercase isn't done for multibyte
|
||||
characters.
|
||||
8 UTF-8: "r" in Visual mode doesn't take composing characters.
|
||||
8 UTF-8: When there is a precomposed character in the font, use it instead
|
||||
@@ -4266,14 +4285,14 @@ Multi-byte characters:
|
||||
convert_input() for Mac GUI.
|
||||
- Add mnemonics from RFC1345 longer than two characters.
|
||||
Support CTRL-K _{mnemonic}_
|
||||
- Make 'breakat' accept multi-byte characters. Problem: can't use a lookup
|
||||
- Make 'breakat' accept multibyte characters. Problem: can't use a lookup
|
||||
table anymore (breakat_flags[]).
|
||||
Simplistic solution: when 'formatoptions' contains "m" also break a line
|
||||
at a multi-byte character >= 0x100.
|
||||
at a multibyte character >= 0x100.
|
||||
- Add the possibility to enter mappings which are used whenever normal text
|
||||
could be entered. E.g., for "f" command. But not in Normal mode. Sort
|
||||
of opposite of 'langmap'. Use ":amap" command?
|
||||
- When breaking a line, take properties of multi-byte characters into
|
||||
- When breaking a line, take properties of multibyte characters into
|
||||
account. The "linebreak" program from Bruno Haible can do it:
|
||||
ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz
|
||||
But it's very complicated...
|
||||
@@ -5338,11 +5357,11 @@ Text objects:
|
||||
8 Add test script for text object commands "aw", "iW", etc.
|
||||
8 Add text object for part of a CamelHumpedWord and under_scored_word.
|
||||
(Scott Graham) "ac" and "au"?
|
||||
8 Add a text object for any kind of quoting, also with multi-byte
|
||||
8 Add a text object for any kind of quoting, also with multibyte
|
||||
characters. Option to specify what quotes are recognized (default: all)
|
||||
use "aq" and "iq". Use 'quotepairs' to define pairs of quotes, like
|
||||
'matchpairs'?
|
||||
8 Add text object for any kind of parens, also multi-byte ones.
|
||||
8 Add text object for any kind of parens, also multibyte ones.
|
||||
8 Add a way to make an ":omap" for a user-defined text object. Requires
|
||||
changing the starting position in oap->start.
|
||||
8 Add "gp" and "gP" commands: insert text and make sure there is a single
|
||||
@@ -5456,7 +5475,7 @@ Mappings and Abbreviations:
|
||||
not the <Space>.
|
||||
8 Give a warning when using CTRL-C in the lhs of a mapping. It will never
|
||||
(?) work.
|
||||
7 Add <0x8f> (hex), <033> (octal) and <123> (decimal) to <> notation?
|
||||
7 Add <0x8f> (hex), <0o33> (octal) and <123> (decimal) to <> notation?
|
||||
7 When someone tries to unmap with a trailing space, and it fails, try
|
||||
unmapping without the trailing space. Helps for ":unmap xx | unmap yy".
|
||||
6 Context-sensitive abbreviations: Specify syntax group(s) in which the
|
||||
@@ -5917,7 +5936,7 @@ Writing files:
|
||||
losing the original when writing twice. (Slootman)
|
||||
7 On non-Unix machines, also overwrite the original file in some situations
|
||||
(file system full, it's a link on an NFS partition).
|
||||
7 When editing a file, check that it has been change outside of Vim more
|
||||
7 When editing a file, check that it has been changed outside of Vim more
|
||||
often, not only when writing over it. E.g., at the time the swap file is
|
||||
flushed. Or every ten seconds or so (use the time of day, check it before
|
||||
waiting for a character to be typed).
|
||||
@@ -6118,7 +6137,7 @@ Various improvements:
|
||||
regexp which triggers auto-formatting (for one line).
|
||||
":set autoformat=\\s$".
|
||||
- Be able to redefine where a sentence stops. Use a regexp pattern?
|
||||
- Support multi-byte characters for sentences. Example from Ben Peterson.
|
||||
- Support multibyte characters for sentences. Example from Ben Peterson.
|
||||
7 Add command "g)" to go to the end of a sentence, "g(" to go back to the
|
||||
end of a sentence. (Servatius Brandt)
|
||||
- Be able to redefine where a paragraph starts. For "[[" where the '{' is
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*undo.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
*undo.txt* For Vim version 8.2. Last change: 2020 Nov 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -65,9 +65,9 @@ with the redo command. If you make a new change after the undo command,
|
||||
the redo will not be possible anymore.
|
||||
|
||||
'u' included, the Vi-compatible way:
|
||||
The undo command undoes the previous change, and also the previous undo command.
|
||||
The redo command repeats the previous undo command. It does NOT repeat a
|
||||
change command, use "." for that.
|
||||
The undo command undoes the previous change, and also the previous undo
|
||||
command. The redo command repeats the previous undo command. It does NOT
|
||||
repeat a change command, use "." for that.
|
||||
|
||||
Examples Vim way Vi-compatible way ~
|
||||
"uu" two times undo no-op
|
||||
@@ -103,7 +103,7 @@ change again. But you can do something like this: >
|
||||
|
||||
:undojoin | delete
|
||||
|
||||
After this an "u" command will undo the delete command and the previous
|
||||
After this a "u" command will undo the delete command and the previous
|
||||
change.
|
||||
|
||||
To do the opposite, break a change into two undo blocks, in Insert mode use
|
||||
@@ -392,7 +392,7 @@ back the text of three deletes ago with '"3P'.
|
||||
*redo-register*
|
||||
If you want to get back more than one part of deleted text, you can use a
|
||||
special feature of the repeat command ".". It will increase the number of the
|
||||
register used. So if you first do ""1P", the following "." will result in a
|
||||
register used. So if you first do '"1P', the following "." will result in a
|
||||
'"2P'. Repeating this will result in all numbered registers being inserted.
|
||||
|
||||
Example: If you deleted text with 'dd....' it can be restored with
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_03.txt* For Vim version 8.2. Last change: 2020 Feb 29
|
||||
*usr_03.txt* For Vim version 8.2. Last change: 2020 Sep 03
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -30,10 +30,11 @@ Table of contents: |usr_toc.txt|
|
||||
|
||||
To move the cursor forward one word, use the "w" command. Like most Vim
|
||||
commands, you can use a numeric prefix to move past multiple words. For
|
||||
example, "3w" moves three words. This figure shows how it works:
|
||||
example, "3w" moves three words. This figure shows how it works (starting at
|
||||
the position marked with "x"):
|
||||
|
||||
This is a line with example text ~
|
||||
--->-->->----------------->
|
||||
x-->-->->----------------->
|
||||
w w w 3w
|
||||
|
||||
Notice that "w" moves to the start of the next word if it already is at the
|
||||
@@ -41,15 +42,15 @@ start of a word.
|
||||
The "b" command moves backward to the start of the previous word:
|
||||
|
||||
This is a line with example text ~
|
||||
<----<--<-<---------<---
|
||||
<----<--<-<---------<--x
|
||||
b b b 2b b
|
||||
|
||||
There is also the "e" command that moves to the next end of a word and "ge",
|
||||
which moves to the previous end of a word:
|
||||
|
||||
This is a line with example text ~
|
||||
<- <--- -----> ---->
|
||||
ge ge e e
|
||||
<----<----x---->------------>
|
||||
2ge ge e 2e
|
||||
|
||||
If you are at the last word of a line, the "w" command will take you to the
|
||||
first word in the next line. Thus you can use this to move through a
|
||||
@@ -82,12 +83,12 @@ an <End> key it will do the same thing.
|
||||
|
||||
The "^" command moves to the first non-blank character of the line. The "0"
|
||||
command (zero) moves to the very first character of the line, and the <Home>
|
||||
key does the same thing. In a picture:
|
||||
key does the same thing. In a picture ("." indicates a space):
|
||||
|
||||
^
|
||||
<------------
|
||||
<-----------x
|
||||
.....This is a line with example text ~
|
||||
<----------------- --------------->
|
||||
<----------------x x-------------->
|
||||
0 $
|
||||
|
||||
(the "....." indicates blanks here)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_11.txt* For Vim version 8.2. Last change: 2020 Jul 08
|
||||
*usr_11.txt* For Vim version 8.2. Last change: 2020 Oct 25
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -294,7 +294,7 @@ If you really don't want to see this message, you can add the 'A' flag to the
|
||||
'shortmess' option. But it's very unusual that you need this.
|
||||
|
||||
For remarks about encryption and the swap file, see |:recover-crypt|.
|
||||
For programatic access to the swap file, see |swapinfo()|.
|
||||
For programmatic access to the swap file, see |swapinfo()|.
|
||||
|
||||
==============================================================================
|
||||
*11.4* Further reading
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_23.txt* For Vim version 8.2. Last change: 2006 Apr 24
|
||||
*usr_23.txt* For Vim version 8.2. Last change: 2020 Dec 19
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -28,9 +28,9 @@ start a new line. One to move the carriage back to the first position
|
||||
(carriage return, <CR>), another to move the paper up (line feed, <LF>).
|
||||
When computers came out, storage was expensive. Some people decided that
|
||||
they did not need two characters for end-of-line. The UNIX people decided
|
||||
they could use <Line Feed> only for end-of-line. The Apple people
|
||||
standardized on <CR>. The Microsoft Windows folks decided to keep
|
||||
the old <CR><LF>.
|
||||
they could use <New Line> or <NL> only for end-of-line. The Apple people
|
||||
standardized on <CR>. The Microsoft Windows folks decided to keep the old
|
||||
<CR><NL> (we use <NL> for line feed in the help text).
|
||||
This means that if you try to move a file from one system to another, you
|
||||
have line-break problems. The Vim editor automatically recognizes the
|
||||
different file formats and handles things properly behind your back.
|
||||
@@ -55,20 +55,20 @@ which format you have, execute the following command: >
|
||||
|
||||
The three names that Vim uses are:
|
||||
|
||||
unix <LF>
|
||||
dos <CR><LF>
|
||||
unix <NL>
|
||||
dos <CR><NL>
|
||||
mac <CR>
|
||||
|
||||
|
||||
USING THE MAC FORMAT
|
||||
|
||||
On Unix, <LF> is used to break a line. It's not unusual to have a <CR>
|
||||
On Unix, <NL> is used to break a line. It's not unusual to have a <CR>
|
||||
character halfway a line. Incidentally, this happens quite often in Vi (and
|
||||
Vim) scripts.
|
||||
On the Macintosh, where <CR> is the line break character, it's possible to
|
||||
have a <LF> character halfway a line.
|
||||
have a <NL> character halfway a line.
|
||||
The result is that it's not possible to be 100% sure whether a file
|
||||
containing both <CR> and <LF> characters is a Mac or a Unix file. Therefore,
|
||||
containing both <CR> and <NL> characters is a Mac or a Unix file. Therefore,
|
||||
Vim assumes that on Unix you probably won't edit a Mac file, and doesn't check
|
||||
for this type of file. To check for this format anyway, add "mac" to
|
||||
'fileformats': >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_40.txt* For Vim version 8.2. Last change: 2020 Jul 28
|
||||
*usr_40.txt* For Vim version 8.2. Last change: 2020 Sep 02
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -453,15 +453,15 @@ matching BufWritePre autocommands and executes them, and then it
|
||||
performs the ":write".
|
||||
The general form of the :autocmd command is as follows: >
|
||||
|
||||
:autocmd [group] {events} {file-pattern} [nested] {command}
|
||||
:autocmd [group] {events} {file-pattern} [++nested] {command}
|
||||
|
||||
The [group] name is optional. It is used in managing and calling the commands
|
||||
(more on this later). The {events} parameter is a list of events (comma
|
||||
separated) that trigger the command.
|
||||
{file-pattern} is a filename, usually with wildcards. For example, using
|
||||
"*.txt" makes the autocommand be used for all files whose name end in ".txt".
|
||||
The optional [nested] flag allows for nesting of autocommands (see below), and
|
||||
finally, {command} is the command to be executed.
|
||||
The optional [++nested] flag allows for nesting of autocommands (see below),
|
||||
and finally, {command} is the command to be executed.
|
||||
|
||||
|
||||
EVENTS
|
||||
@@ -578,7 +578,7 @@ trigger any new events. If you read a file in response to a FileChangedShell
|
||||
event, it will not trigger the autocommands that would set the syntax, for
|
||||
example. To make the events triggered, add the "nested" argument: >
|
||||
|
||||
:autocmd FileChangedShell * nested edit
|
||||
:autocmd FileChangedShell * ++nested edit
|
||||
|
||||
|
||||
EXECUTING AUTOCOMMANDS
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 8.2. Last change: 2020 Aug 13
|
||||
*usr_41.txt* For Vim version 8.2. Last change: 2021 Jan 13
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -122,14 +122,14 @@ starts with a zero. "017" is decimal 15. A binary number starts with "0b" or
|
||||
decimal number, it will be interpreted as an octal number!
|
||||
The ":echo" command always prints decimal numbers. Example: >
|
||||
|
||||
:echo 0x7f 036
|
||||
:echo 0x7f 0o36
|
||||
< 127 30 ~
|
||||
|
||||
A number is made negative with a minus sign. This also works for hexadecimal,
|
||||
octal and binary numbers. A minus sign is also used for subtraction. Compare
|
||||
this with the previous example: >
|
||||
|
||||
:echo 0x7f -036
|
||||
:echo 0x7f -0o36
|
||||
< 97 ~
|
||||
|
||||
White space in an expression is ignored. However, it's recommended to use it
|
||||
@@ -137,7 +137,7 @@ for separating items, to make the expression easier to read. For example, to
|
||||
avoid the confusion with a negative number above, put a space between the
|
||||
minus sign and the following number: >
|
||||
|
||||
:echo 0x7f - 036
|
||||
:echo 0x7f - 0o36
|
||||
|
||||
==============================================================================
|
||||
*41.2* Variables
|
||||
@@ -327,9 +327,9 @@ Grouping is done with parentheses. No surprises here. Example: >
|
||||
:echo (10 + 5) * 2
|
||||
< 30 ~
|
||||
|
||||
Strings can be concatenated with ".". Example: >
|
||||
Strings can be concatenated with ".." (see |expr6|). Example: >
|
||||
|
||||
:echo "foo" . "bar"
|
||||
:echo "foo" .. "bar"
|
||||
< foobar ~
|
||||
|
||||
When the ":echo" command gets multiple arguments, it separates them with a
|
||||
@@ -496,9 +496,9 @@ So far the commands in the script were executed by Vim directly. The
|
||||
very powerful way to build commands and execute them.
|
||||
An example is to jump to a tag, which is contained in a variable: >
|
||||
|
||||
:execute "tag " . tag_name
|
||||
:execute "tag " .. tag_name
|
||||
|
||||
The "." is used to concatenate the string "tag " with the value of variable
|
||||
The ".." is used to concatenate the string "tag " with the value of variable
|
||||
"tag_name". Suppose "tag_name" has the value "get_cmd", then the command that
|
||||
will be executed is: >
|
||||
|
||||
@@ -514,7 +514,7 @@ This jumps to the first line and formats all lines with the "=" operator.
|
||||
To make ":normal" work with an expression, combine ":execute" with it.
|
||||
Example: >
|
||||
|
||||
:execute "normal " . normal_commands
|
||||
:execute "normal " .. normal_commands
|
||||
|
||||
The variable "normal_commands" must contain the Normal mode commands.
|
||||
Make sure that the argument for ":normal" is a complete command. Otherwise
|
||||
@@ -531,12 +531,12 @@ If you don't want to execute a string but evaluate it to get its expression
|
||||
value, you can use the eval() function: >
|
||||
|
||||
:let optname = "path"
|
||||
:let optval = eval('&' . optname)
|
||||
:let optval = eval('&' .. optname)
|
||||
|
||||
A "&" character is prepended to "path", thus the argument to eval() is
|
||||
"&path". The result will then be the value of the 'path' option.
|
||||
The same thing can be done with: >
|
||||
:exe 'let optval = &' . optname
|
||||
:exe 'let optval = &' .. optname
|
||||
|
||||
==============================================================================
|
||||
*41.6* Using functions
|
||||
@@ -600,8 +600,11 @@ String manipulation: *string-functions*
|
||||
strtrans() translate a string to make it printable
|
||||
tolower() turn a string to lowercase
|
||||
toupper() turn a string to uppercase
|
||||
charclass() class of a character
|
||||
match() position where a pattern matches in a string
|
||||
matchend() position where a pattern match ends in a string
|
||||
matchfuzzy() fuzzy matches a string in a list of strings
|
||||
matchfuzzypos() fuzzy matches a string in a list of strings
|
||||
matchstr() match of a pattern in a string
|
||||
matchstrpos() match and positions of a pattern in a string
|
||||
matchlist() like matchstr() and also return submatches
|
||||
@@ -611,21 +614,26 @@ String manipulation: *string-functions*
|
||||
strchars() length of a string in characters
|
||||
strwidth() size of string when displayed
|
||||
strdisplaywidth() size of string when displayed, deals with tabs
|
||||
setcellwidths() set character cell width overrides
|
||||
substitute() substitute a pattern match with a string
|
||||
submatch() get a specific match in ":s" and substitute()
|
||||
strpart() get part of a string using byte index
|
||||
strcharpart() get part of a string using char index
|
||||
slice() take a slice of a string, using char index in
|
||||
Vim9 script
|
||||
strgetchar() get character from a string using char index
|
||||
expand() expand special keywords
|
||||
expandcmd() expand a command like done for `:edit`
|
||||
iconv() convert text from one encoding to another
|
||||
byteidx() byte index of a character in a string
|
||||
byteidxcomp() like byteidx() but count composing characters
|
||||
charidx() character index of a byte in a string
|
||||
repeat() repeat a string multiple times
|
||||
eval() evaluate a string expression
|
||||
execute() execute an Ex command and get the output
|
||||
win_execute() like execute() but in a specified window
|
||||
trim() trim characters from a string
|
||||
gettext() lookup message translation
|
||||
|
||||
List manipulation: *list-functions*
|
||||
get() get an item without error for wrong index
|
||||
@@ -634,12 +642,15 @@ List manipulation: *list-functions*
|
||||
insert() insert an item somewhere in a List
|
||||
add() append an item to a List
|
||||
extend() append a List to a List
|
||||
extendnew() make a new List and append items
|
||||
remove() remove one or more items from a List
|
||||
copy() make a shallow copy of a List
|
||||
deepcopy() make a full copy of a List
|
||||
filter() remove selected items from a List
|
||||
map() change each List item
|
||||
mapnew() make a new List with changed items
|
||||
reduce() reduce a List to a value
|
||||
slice() take a slice of a List
|
||||
sort() sort a List
|
||||
reverse() reverse the order of a List
|
||||
uniq() remove copies of repeated adjacent items
|
||||
@@ -662,8 +673,10 @@ Dictionary manipulation: *dict-functions*
|
||||
empty() check if Dictionary is empty
|
||||
remove() remove an entry from a Dictionary
|
||||
extend() add entries from one Dictionary to another
|
||||
extendnew() make a new Dictionary and append items
|
||||
filter() remove selected entries from a Dictionary
|
||||
map() change each Dictionary entry
|
||||
mapnew() make a new Dictionary with changed items
|
||||
keys() get List of Dictionary keys
|
||||
values() get List of Dictionary values
|
||||
items() get List of Dictionary key-value pairs
|
||||
@@ -710,7 +723,8 @@ Other computation: *bitwise-function*
|
||||
srand() initialize seed used by rand()
|
||||
|
||||
Variables: *var-functions*
|
||||
type() type of a variable
|
||||
type() type of a variable as a number
|
||||
typename() type of a variable as text
|
||||
islocked() check if a variable is locked
|
||||
funcref() get a Funcref for a function reference
|
||||
function() get a Funcref for a function name
|
||||
@@ -745,6 +759,11 @@ Cursor and mark position: *cursor-functions* *mark-functions*
|
||||
screenchar() get character code at a screen line/row
|
||||
screenchars() get character codes at a screen line/row
|
||||
screenstring() get string of characters at a screen line/row
|
||||
charcol() character number of the cursor or a mark
|
||||
getcharpos() get character position of cursor, mark, etc.
|
||||
setcharpos() set character position of cursor, mark, etc.
|
||||
getcursorcharpos() get character position of the cursor
|
||||
setcursorcharpos() set character position of the cursor
|
||||
|
||||
Working with text in the current buffer: *text-functions*
|
||||
getline() get a line or list of lines from the buffer
|
||||
@@ -804,6 +823,7 @@ System functions and manipulation of files:
|
||||
setenv() set an environment variable
|
||||
hostname() name of the system
|
||||
readfile() read a file into a List of lines
|
||||
readblob() read a file into a Blob
|
||||
readdir() get a List of file names in a directory
|
||||
readdirex() get a List of file information in a directory
|
||||
writefile() write a List of lines or Blob into a file
|
||||
@@ -1115,6 +1135,7 @@ Tags: *tag-functions*
|
||||
settagstack() modify the tag stack of a window
|
||||
|
||||
Prompt Buffer: *promptbuffer-functions*
|
||||
prompt_getprompt() get the effective prompt text for a buffer
|
||||
prompt_setcallback() set prompt callback for a buffer
|
||||
prompt_setinterrupt() set interrupt callback for a buffer
|
||||
prompt_setprompt() set the prompt text for a buffer
|
||||
@@ -1284,7 +1305,7 @@ Example: >
|
||||
: let n = n + len(split(getline(lnum)))
|
||||
: let lnum = lnum + 1
|
||||
: endwhile
|
||||
: echo "found " . n . " words"
|
||||
: echo "found " .. n .. " words"
|
||||
:endfunction
|
||||
|
||||
You can call this function with: >
|
||||
@@ -1297,7 +1318,7 @@ It will be executed once and echo the number of words.
|
||||
range, with the cursor in that line. Example: >
|
||||
|
||||
:function Number()
|
||||
: echo "line " . line(".") . " contains: " . getline(".")
|
||||
: echo "line " .. line(".") .. " contains: " .. getline(".")
|
||||
:endfunction
|
||||
|
||||
If you call this function with: >
|
||||
@@ -1321,11 +1342,11 @@ so on. The variable "a:0" contains the number of extra arguments.
|
||||
|
||||
:function Show(start, ...)
|
||||
: echohl Title
|
||||
: echo "start is " . a:start
|
||||
: echo "start is " .. a:start
|
||||
: echohl None
|
||||
: let index = 1
|
||||
: while index <= a:0
|
||||
: echo " Arg " . index . " is " . a:{index}
|
||||
: echo " Arg " .. index .. " is " .. a:{index}
|
||||
: let index = index + 1
|
||||
: endwhile
|
||||
: echo ""
|
||||
@@ -1733,10 +1754,10 @@ Another useful mechanism is the ":finally" command: >
|
||||
|
||||
:let tmp = tempname()
|
||||
:try
|
||||
: exe ".,$write " . tmp
|
||||
: exe "!filter " . tmp
|
||||
: exe ".,$write " .. tmp
|
||||
: exe "!filter " .. tmp
|
||||
: .,$delete
|
||||
: exe "$read " . tmp
|
||||
: exe "$read " .. tmp
|
||||
:finally
|
||||
: call delete(tmp)
|
||||
:endtry
|
||||
@@ -1757,7 +1778,7 @@ Here is a summary of items that apply to Vim scripts. They are also mentioned
|
||||
elsewhere, but form a nice checklist.
|
||||
|
||||
The end-of-line character depends on the system. For Unix a single <NL>
|
||||
character is used. For MS-Windows and the like, <CR><LF> is used. This is
|
||||
character is used. For MS-Windows and the like, <CR><NL> is used. This is
|
||||
important when using mappings that end in a <CR>. See |:source_crnl|.
|
||||
|
||||
|
||||
@@ -2066,7 +2087,7 @@ with this mechanism: >
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd;
|
||||
23 endif
|
||||
|
||||
This checks if a mapping to "<Plug>TypecorrAdd/" already exists, and only
|
||||
This checks if a mapping to "<Plug>TypecorrAdd;" already exists, and only
|
||||
defines the mapping from "<Leader>a" if it doesn't. The user then has a
|
||||
chance of putting this in his vimrc file: >
|
||||
|
||||
@@ -2087,8 +2108,8 @@ prepending it with "s:".
|
||||
We will define a function that adds a new typing correction: >
|
||||
|
||||
30 function s:Add(from, correct)
|
||||
31 let to = input("type the correction for " . a:from . ": ")
|
||||
32 exe ":iabbrev " . a:from . " " . to
|
||||
31 let to = input("type the correction for " .. a:from .. ": ")
|
||||
32 exe ":iabbrev " .. a:from .. " " .. to
|
||||
..
|
||||
36 endfunction
|
||||
|
||||
@@ -2193,7 +2214,7 @@ a few lines to count the number of corrections: >
|
||||
30 function s:Add(from, correct)
|
||||
..
|
||||
34 let s:count = s:count + 1
|
||||
35 echo s:count . " corrections now"
|
||||
35 echo s:count .. " corrections now"
|
||||
36 endfunction
|
||||
|
||||
First s:count is initialized to 4 in the script itself. When later the
|
||||
@@ -2236,11 +2257,11 @@ Here is the resulting complete example: >
|
||||
28 noremap <SID>Add :call <SID>Add(expand("<cword>"), 1)<CR>
|
||||
29
|
||||
30 function s:Add(from, correct)
|
||||
31 let to = input("type the correction for " . a:from . ": ")
|
||||
32 exe ":iabbrev " . a:from . " " . to
|
||||
31 let to = input("type the correction for " .. a:from .. ": ")
|
||||
32 exe ":iabbrev " .. a:from .. " " .. to
|
||||
33 if a:correct | exe "normal viws\<C-R>\" \b\e" | endif
|
||||
34 let s:count = s:count + 1
|
||||
35 echo s:count . " corrections now"
|
||||
35 echo s:count .. " corrections now"
|
||||
36 endfunction
|
||||
37
|
||||
38 if !exists(":Correct")
|
||||
@@ -2488,7 +2509,7 @@ should be undone. Set the b:undo_ftplugin variable to the commands that will
|
||||
undo the settings in your filetype plugin. Example: >
|
||||
|
||||
let b:undo_ftplugin = "setlocal fo< com< tw< commentstring<"
|
||||
\ . "| unlet b:match_ignorecase b:match_words b:match_skip"
|
||||
\ .. "| unlet b:match_ignorecase b:match_words b:match_skip"
|
||||
|
||||
Using ":setlocal" with "<" after the option name resets the option to its
|
||||
global value. That is mostly the best way to reset the option value.
|
||||
@@ -2609,17 +2630,17 @@ The following example shows how it's done: >
|
||||
map <F19> :call BufNetWrite('something')<CR>
|
||||
|
||||
let s:did_load = 1
|
||||
exe 'au FuncUndefined BufNet* source ' . expand('<sfile>')
|
||||
exe 'au FuncUndefined BufNet* source ' .. expand('<sfile>')
|
||||
finish
|
||||
endif
|
||||
|
||||
function BufNetRead(...)
|
||||
echo 'BufNetRead(' . string(a:000) . ')'
|
||||
echo 'BufNetRead(' .. string(a:000) .. ')'
|
||||
" read functionality here
|
||||
endfunction
|
||||
|
||||
function BufNetWrite(...)
|
||||
echo 'BufNetWrite(' . string(a:000) . ')'
|
||||
echo 'BufNetWrite(' .. string(a:000) .. ')'
|
||||
" write functionality here
|
||||
endfunction
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 8.2. Last change: 2020 Jul 10
|
||||
*various.txt* For Vim version 8.2. Last change: 2021 Jan 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -92,7 +92,7 @@ g8 Print the hex values of the bytes used in the
|
||||
encoding because it contains illegal bytes.
|
||||
Does not wrap around the end of the file.
|
||||
Note that when the cursor is on an illegal byte or the
|
||||
cursor is halfway a multi-byte character the command
|
||||
cursor is halfway a multibyte character the command
|
||||
won't move the cursor.
|
||||
|
||||
*:p* *:pr* *:print* *E749*
|
||||
@@ -142,19 +142,21 @@ g8 Print the hex values of the bytes used in the
|
||||
quit
|
||||
<
|
||||
*:z* *E144*
|
||||
:{range}z[+-^.=]{count} Display several lines of text surrounding the line
|
||||
specified with {range}, or around the current line
|
||||
if there is no {range}. If there is a {count}, that's
|
||||
how many lines you'll see; if there is only one window
|
||||
then twice the value of the 'scroll' option is used,
|
||||
otherwise the current window height minus 3 is used.
|
||||
:[range]z[+-^.=][count] Display several lines of text surrounding the line
|
||||
specified with [range], or around the current line
|
||||
if there is no [range].
|
||||
|
||||
If there is a {count} the 'window' option is set to
|
||||
If there is a [count], that's how many lines you'll
|
||||
see; if there is no [count] and only one window then
|
||||
twice the value of the 'scroll' option is used,
|
||||
otherwise the current window height minus 3 is used.
|
||||
This is the value of "scr" in the table below.
|
||||
|
||||
If there is a [count] the 'window' option is set to
|
||||
its value.
|
||||
|
||||
:z can be used either alone or followed by any of
|
||||
several punctuation marks. These have the following
|
||||
effect:
|
||||
several marks. These have the following effect:
|
||||
|
||||
mark first line last line new cursor line ~
|
||||
---- ---------- --------- ------------
|
||||
@@ -168,7 +170,7 @@ g8 Print the hex values of the bytes used in the
|
||||
If the mark is "=", a line of dashes is printed
|
||||
around the current line.
|
||||
|
||||
:{range}z#[+-^.=]{count} *:z#*
|
||||
:[range]z#[+-^.=][count] *:z#*
|
||||
Like ":z", but number the lines.
|
||||
|
||||
*:=*
|
||||
@@ -409,7 +411,7 @@ N *+mouse_sysmouse* Unix only: *BSD console mouse handling |sysmouse|
|
||||
B *+mouse_sgr* Unix only: sgr mouse handling |sgr-mouse|
|
||||
B *+mouse_urxvt* Unix only: urxvt mouse handling |urxvt-mouse|
|
||||
N *+mouse_xterm* Unix only: xterm mouse handling |xterm-mouse|
|
||||
N *+multi_byte* 16 and 32 bit characters |multibyte|
|
||||
T *+multi_byte* Unicode support, 16 and 32 bit characters |multibyte|
|
||||
*+multi_byte_ime* Win32 input method for multibyte chars |multibyte-ime|
|
||||
N *+multi_lang* non-English language support |multi-lang|
|
||||
m *+mzscheme* Mzscheme interface |mzscheme|
|
||||
@@ -705,12 +707,12 @@ K Run a program to lookup the keyword under the
|
||||
not more than one line.
|
||||
|
||||
[N]gs *gs* *:sl* *:sleep*
|
||||
:[N]sl[eep] [N] [m] Do nothing for [N] seconds. When [m] is included,
|
||||
:[N]sl[eep] [N][m] Do nothing for [N] seconds. When [m] is included,
|
||||
sleep for [N] milliseconds. The count for "gs" always
|
||||
uses seconds. The default is one second. >
|
||||
:sleep "sleep for one second
|
||||
:5sleep "sleep for five seconds
|
||||
:sleep 100m "sleep for a hundred milliseconds
|
||||
:sleep 100m "sleep for 100 milliseconds
|
||||
10gs "sleep for ten seconds
|
||||
< Can be interrupted with CTRL-C (CTRL-Break on
|
||||
MS-Windows). "gs" stands for "goto sleep".
|
||||
@@ -720,6 +722,9 @@ K Run a program to lookup the keyword under the
|
||||
available when compiled with the |+netbeans_intg|
|
||||
feature}
|
||||
|
||||
*:sl!* *:sleep!*
|
||||
:[N]sl[eep]! [N] [m] Same as above, but hide the cursor
|
||||
|
||||
*:xrestore* *:xr*
|
||||
:xr[estore] [display] Reinitializes the connection to the X11 server. Useful
|
||||
after the X server restarts, e.g. when running Vim for
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version5.txt* For Vim version 8.2. Last change: 2016 Feb 27
|
||||
*version5.txt* For Vim version 8.2. Last change: 2020 Dec 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -805,7 +805,7 @@ Using "~" for $HOME now works for all systems. |$HOME|
|
||||
Unix: Besides using CTRL-C, also use the INTR character from the tty settings.
|
||||
Somebody has INTR set to DEL.
|
||||
|
||||
Allow a <LF> in a ":help" command argument to end the help command, so another
|
||||
Allow a <NL> in a ":help" command argument to end the help command, so another
|
||||
command can follow.
|
||||
|
||||
Doing "%" on a line that starts with " #if" didn't jump to matching "#else".
|
||||
@@ -2133,12 +2133,12 @@ it is invoked.
|
||||
Deleted the "os_archie" files, they were not working anyway.
|
||||
|
||||
|
||||
Multi-byte support *new-multi-byte*
|
||||
Multi-byte support *new-multi-byte* *new-multibyte*
|
||||
------------------
|
||||
|
||||
MultiByte support for Win32 GUI. (Baek)
|
||||
The 'fileencoding' option decides how the text in the file is encoded.
|
||||
":ascii" works for multi-byte characters. Multi-byte characters work on
|
||||
":ascii" works for multibyte characters. Multi-byte characters work on
|
||||
Windows 95, even when using the US version. (Aaron)
|
||||
Needs to be enabled in feature.h.
|
||||
This has not been tested much yet!
|
||||
@@ -3671,10 +3671,10 @@ For the ":clist" command, you can scroll backwards with "b" (one screenful),
|
||||
"u" (half a screenful) and "k" (one line).
|
||||
|
||||
Multi-byte support:
|
||||
- X-input method for multi-byte characters. And various fixes for multi-byte
|
||||
- X-input method for multibyte characters. And various fixes for multibyte
|
||||
support. (Nam)
|
||||
- Hangul input method feature: |hangul|. (Nam)
|
||||
- Cleaned up configuration of multi-byte support, XIM, fontset and Hangul
|
||||
- Cleaned up configuration of multibyte support, XIM, fontset and Hangul
|
||||
input. Each is now configurable separately.
|
||||
- Changed check for GTK_KEYBOARD to HANGUL_KEYBOARD_TYPE. (Nam)
|
||||
- Added doc/hangulin.txt: Documentation for the Hangul input code. (Nam)
|
||||
@@ -3682,10 +3682,10 @@ Multi-byte support:
|
||||
- First attempt to include support for SJIS encoding. (Nagano)
|
||||
- When a double-byte character doesn't fit at the end of the line, put a "~"
|
||||
there and print it on the next line.
|
||||
- Optimize output of multi-byte text. (Park)
|
||||
- Optimize output of multibyte text. (Park)
|
||||
- Win32 IME: preedit style is like over-the-spot. (Nagano)
|
||||
- Win32 IME: IME mode change now done with ImmSetOpenStatus. (Nagano)
|
||||
- GUI Athena: file selection dialog can display multi-byte characters.
|
||||
- GUI Athena: file selection dialog can display multibyte characters.
|
||||
(Nagano)
|
||||
- Selection reply for XA_TEXT as XA_STRING. (Nagano)
|
||||
|
||||
@@ -3720,7 +3720,7 @@ X11:
|
||||
with the VisualNOS group to show this. (Madsen)
|
||||
- Support for requesting the type of clipboard support. Used for AIX and
|
||||
dtterm. (Wittig)
|
||||
- Support compound_text selection (even when compiled without multi-byte).
|
||||
- Support compound_text selection (even when compiled without multibyte).
|
||||
|
||||
Swap file:
|
||||
- New variation for naming swap files: Replace path separators into %, place
|
||||
@@ -4063,7 +4063,7 @@ compiling pathdef.c. Replaced it with "tr".
|
||||
|
||||
Perl: DO_JOIN was redefined by Perl. Undefined it in the perl files.
|
||||
|
||||
Various XIM and multi-byte fixes:
|
||||
Various XIM and multibyte fixes:
|
||||
- Fix user cannot see his language while he is typing his language with
|
||||
off-the-spot method. (Nagano)
|
||||
- Fix preedit position using text/edit area (using gui.wid). (Nagano)
|
||||
@@ -4080,7 +4080,7 @@ Various XIM and multi-byte fixes:
|
||||
- XIM: Composed strings were sometimes ignored. Vim crashed when compose
|
||||
string was longer than 256 bytes. IM's geometry control is fixed. (Nam,
|
||||
Nagano)
|
||||
- Win32 multi-byte: hollowed cursor width on a double byte char was wrong.
|
||||
- Win32 multibyte: hollowed cursor width on a double byte char was wrong.
|
||||
(Nagano)
|
||||
- When there is no GUI, selecting XIM caused compilation problems.
|
||||
Automatically disable XIM when there is no GUI in configure.
|
||||
@@ -4417,7 +4417,7 @@ Now map <xF4> to <F4>, so that the user can override this.
|
||||
When compiling os_win32.c with MIN_FEAT the apply_autocmds() should not be
|
||||
used. (Aaron)
|
||||
|
||||
This autocommand looped forever: ":au FileChangedShell * nested e <afile>"
|
||||
This autocommand looped forever: ":au FileChangedShell * ++nested e <afile>"
|
||||
Now FileChangeShell never nests. (Roemer)
|
||||
|
||||
When evaluating an ":elseif" that was not going to matter anyway, ignore
|
||||
@@ -5496,7 +5496,7 @@ Solution: When there is a comment leader for the new line, but 'autoindent'
|
||||
Files: src/misc1.c
|
||||
|
||||
Patch 5.4.26
|
||||
Problem: Multi-byte: a multi-byte character is never recognized in a file
|
||||
Problem: Multi-byte: a multibyte character is never recognized in a file
|
||||
name, causing a backslash before it to be removed on Windows.
|
||||
Solution: Assume that a leading-byte character is a file name character in
|
||||
vim_isfilec().
|
||||
@@ -5945,7 +5945,7 @@ __TIME__. (John Card II)
|
||||
BeOS: Adjust computing the char_height and char_ascent. Round them up
|
||||
separately, avoids redrawing artifacts. (Mike Steed)
|
||||
|
||||
Fix a few multi-byte problems in menu_name_skip(), set_reg_ic(), searchc() and
|
||||
Fix a few multibyte problems in menu_name_skip(), set_reg_ic(), searchc() and
|
||||
findmatchlimit(). (Taro Muraoka)
|
||||
|
||||
GTK GUI:
|
||||
@@ -6631,9 +6631,9 @@ Solution: Use a shell extension dll. (Tianmiao Hu)
|
||||
Files: src/dosinst.c, src/uninstal.c, gvimext/*, runtime/doc/gui_w32.txt
|
||||
|
||||
Patch 5.6a.028 (extra)
|
||||
Problem: Win32 GUI: Dialogs and tear-off menus can't handle multi-byte
|
||||
Problem: Win32 GUI: Dialogs and tear-off menus can't handle multibyte
|
||||
characters.
|
||||
Solution: Adjust nCopyAnsiToWideChar() to handle multi-byte characters
|
||||
Solution: Adjust nCopyAnsiToWideChar() to handle multibyte characters
|
||||
correctly.
|
||||
Files: src/gui_w32.c
|
||||
|
||||
@@ -6727,9 +6727,9 @@ Many fixes to Macintosh specific parts: (mostly by Dany StAmant)
|
||||
- Add digraphs table. (Axel Kielhorn)
|
||||
- Multi-byte support: (Kenichi Asai)
|
||||
Switch keyscript when going in/out of Insert mode.
|
||||
Draw multi-byte character correctly.
|
||||
Don't use mblen() but highest bit of char to detect multi-byte char.
|
||||
Display value of multi-byte in statusline (also for other systems).
|
||||
Draw multibyte character correctly.
|
||||
Don't use mblen() but highest bit of char to detect multibyte char.
|
||||
Display value of multibyte in statusline (also for other systems).
|
||||
- mouse button was not initialized properly to MOUSE_LEFT when
|
||||
USE_CTRLCLICKMENU not defined.
|
||||
- With Japanese SJIS characters: Make "w", "b", and "e" work
|
||||
@@ -6981,7 +6981,7 @@ Solution: Support TEXT and COMPOUND_TEXT selection targets. (ChiDeok Hwang)
|
||||
Files: src/gui_gtk_x11.c
|
||||
|
||||
Patch 5.6.037
|
||||
Problem: Multi-byte: Can't use "f" command with multi-byte character in GUI.
|
||||
Problem: Multi-byte: Can't use "f" command with multibyte character in GUI.
|
||||
Solution: Enable XIM in Normal mode for the GUI. (Sung-Hyun Nam)
|
||||
Files: src/gui_gtk_x11.c, src/multbyte.c
|
||||
|
||||
@@ -7094,7 +7094,7 @@ Files: src/fileio.c, src/tag.c
|
||||
Patch 5.6.052
|
||||
Problem: Multi-byte: When an Ex command has a '|' or '"' as a second byte,
|
||||
it terminates the command.
|
||||
Solution: Skip second byte of multi-byte char when checking for '|' and '"'.
|
||||
Solution: Skip second byte of multibyte char when checking for '|' and '"'.
|
||||
(Asai Kenichi)
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
@@ -7246,7 +7246,7 @@ Files: src/Makefile.bor, src/dosinst.c
|
||||
|
||||
Patch 5.6.074 (extra)
|
||||
Problem: Entering CSI directly doesn't always work, because it's recognized
|
||||
as the start of a special key. Mostly a problem with multi-byte
|
||||
as the start of a special key. Mostly a problem with multibyte
|
||||
in the GUI.
|
||||
Solution: Use K_CSI for a typed CSI character. Use <CSI> for a normal CSI,
|
||||
<xCSI> for a CSI typed in the GUI.
|
||||
@@ -7337,7 +7337,7 @@ Solution: Use IsBadStringPtr() to check if the pointer is valid.
|
||||
Files: src/os_win32.c
|
||||
|
||||
Patch 5.6.087
|
||||
Problem: Multi-byte: Commands and messages with multi-byte characters are
|
||||
Problem: Multi-byte: Commands and messages with multibyte characters are
|
||||
displayed wrong.
|
||||
Solution: Detect double-byte characters. (Yasuhiro Matsumoto)
|
||||
Files: src/ex_getln.c, src/message.c, src/misc2.c, src/screen.c
|
||||
@@ -7384,9 +7384,9 @@ Solution: Don't write a message about the file read from stdin until the GUI
|
||||
Files: src/fileio.c
|
||||
|
||||
Patch 5.6.094
|
||||
Problem: Problem with multi-byte string for ":echo var".
|
||||
Problem: Problem with multibyte string for ":echo var".
|
||||
Solution: Check for length in msg_outtrans_len_attr(). (Sung-Hyun Nam)
|
||||
Also make do_echo() aware of multi-byte characters.
|
||||
Also make do_echo() aware of multibyte characters.
|
||||
Files: src/eval.c, src/message.c
|
||||
|
||||
Patch 5.6.095
|
||||
@@ -7417,9 +7417,9 @@ Files: src/misc1.c
|
||||
|
||||
Patch 5.7a.003
|
||||
Problem: Multi-byte: After using CTRL-O in Insert mode with the cursor at
|
||||
the end of the line on a multi-byte character the cursor moves to
|
||||
the end of the line on a multibyte character the cursor moves to
|
||||
the left.
|
||||
Solution: Check for multi-byte character at end-of-line. (Taro Muraoka)
|
||||
Solution: Check for multibyte character at end-of-line. (Taro Muraoka)
|
||||
Also: fix cls() to detect a double-byte character. (Chong-Dae Park)
|
||||
Files: src/edit.c, src/search.c
|
||||
|
||||
@@ -7736,7 +7736,7 @@ Solution: Disallow executing a shell command in get_cmd_output() and
|
||||
Files: src/misc1.c, src/os_unix.c
|
||||
|
||||
Patch 5.7.019
|
||||
Problem: Multibyte: In a substitute string, a multi-byte character isn't
|
||||
Problem: Multibyte: In a substitute string, a multibyte character isn't
|
||||
skipped properly, can be a problem when the second byte is a
|
||||
backslash.
|
||||
Solution: Skip an extra byte for a double-byte character. (Muraoka Taro)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version6.txt* For Vim version 8.2. Last change: 2019 Jan 17
|
||||
*version6.txt* For Vim version 8.2. Last change: 2020 Aug 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -623,7 +623,7 @@ For syntax items:
|
||||
|
||||
Removed limit of matching only up to 32767 times with *, \+, etc.
|
||||
|
||||
Added support to match multi-byte characters. (partly by Muraoka Taro)
|
||||
Added support to match multibyte characters. (partly by Muraoka Taro)
|
||||
Made "\<" and "\>" work for UTF-8. (Muraoka Taro)
|
||||
|
||||
|
||||
@@ -664,10 +664,10 @@ Many new items for Multi-byte support:
|
||||
- Added 'guifontwide' to specify a font for double-wide characters.
|
||||
- Added Korean support for character class detection. Also fix cls() in
|
||||
search.c. (Chong-Dae Park)
|
||||
- Win32: Typing multi-byte characters without IME. (Alexander Smishlajev)
|
||||
- Win32: Typing multibyte characters without IME. (Alexander Smishlajev)
|
||||
- Win32 with Mingw: compile with iconv library. (Ron Aaron)
|
||||
- Win32 with MSVC: dynamically load iconv.dll library. (Muraoka Taro)
|
||||
- Make it possible to build a version with multi-byte and iconv support with
|
||||
- Make it possible to build a version with multibyte and iconv support with
|
||||
Borland 5.5. (Yasuhiro Matsumoto)
|
||||
- Added 'delcombine' option: Delete combining character separately. (Ron
|
||||
Aaron)
|
||||
@@ -680,19 +680,19 @@ Many new items for Multi-byte support:
|
||||
- Support "CursorIM" for XIM. (Nam SungHyun)
|
||||
- Added 'm' flag to 'formatoptions': When wrapping words, allow splitting at
|
||||
each multibyte character, not only at a space.
|
||||
- Made ":syntax keyword" work with multi-byte characters.
|
||||
- Made ":syntax keyword" work with multibyte characters.
|
||||
- Added support for Unicode upper/lowercase flipping and comparing. (based on
|
||||
patch by Raphael Finkel)
|
||||
Let "~" on multi-byte characters that have a third case ("title case")
|
||||
Let "~" on multibyte characters that have a third case ("title case")
|
||||
switch between the three cases. (Raphael Finkel)
|
||||
|
||||
Allow defining digraphs for multi-byte characters.
|
||||
Allow defining digraphs for multibyte characters.
|
||||
Added RFC1345 digraphs for Unicode.
|
||||
Most Normal mode commands that accept a character argument, like "r", "t" and
|
||||
"f" now accept a digraph. The 'D' flag in 'cpoptions' disables this to remain
|
||||
Vi compatible.
|
||||
|
||||
Added Language mapping and 'keymap' to be able to type multi-byte characters:
|
||||
Added Language mapping and 'keymap' to be able to type multibyte characters:
|
||||
- Added the ":lmap" command and friends: Define mappings that are used when
|
||||
typing characters in the language of the text. Also for "r", "t", etc. In
|
||||
Insert and Command-line mode CTRL-^ switches the use of the mappings on/off.
|
||||
@@ -715,7 +715,7 @@ Added Language mapping and 'keymap' to be able to type multi-byte characters:
|
||||
- When typing a mapping that's not finished yet, display the last character
|
||||
under the cursor in Insert mode and Command-line mode. Looks good for dead
|
||||
characters.
|
||||
- Made the 'langmap' option recognize multi-byte characters. But mapping only
|
||||
- Made the 'langmap' option recognize multibyte characters. But mapping only
|
||||
works for 8-bit characters. Helps when using UTF-8.
|
||||
- Use a different cursor for when ":lmap" mappings are active. Can specify
|
||||
two highlight groups for an item in 'guicursor'. By default "lCursor" and
|
||||
@@ -726,7 +726,7 @@ Added Language mapping and 'keymap' to be able to type multi-byte characters:
|
||||
Also works for "f", which now works to find a character that includes a
|
||||
composing character.
|
||||
|
||||
Other multi-byte character additions:
|
||||
Other multibyte character additions:
|
||||
- Support double-byte single-width characters for euc-jp: Characters starting
|
||||
with 0x8E. Added ScreenLines2[] to store the second byte.
|
||||
|
||||
@@ -1004,7 +1004,7 @@ systems a PostScript file is generated, which can be printed with the
|
||||
(MS-Windows part by Vince Negri, Vipin Aravind, PostScript by Vince Negri and
|
||||
Mike Williams)
|
||||
|
||||
Made ":hardcopy" work with multi-byte characters. (Muraoka Taro, Yasuhiro
|
||||
Made ":hardcopy" work with multibyte characters. (Muraoka Taro, Yasuhiro
|
||||
Matsumoto)
|
||||
|
||||
Added options to tune the way printing works: (Vince Negri)
|
||||
@@ -1331,7 +1331,7 @@ eventhandler() Returns 1 when inside an event handler and interactive
|
||||
executable() Checks if a program or batch script can be executed.
|
||||
filewritable() Checks if a file can be written. (Ron Aaron)
|
||||
foldclosed() Find out if there is a closed fold. (Johannes Zellner).
|
||||
foldcloseend() Find the end of a closed fold.
|
||||
foldclosedend() Find the end of a closed fold.
|
||||
foldlevel() Find out the foldlevel. (Johannes Zellner)
|
||||
foreground() Move the GUI window to the foreground.
|
||||
getchar() Get one character from the user. Can be used to define a
|
||||
@@ -1703,7 +1703,7 @@ GUI:
|
||||
- Win32: Added "c" flag to 'guifont' to be able to specify the charset. (Artem
|
||||
Khodush)
|
||||
- When no --enable-xim argument is given, automatically enable it when a X GUI
|
||||
is used. Required for dead key support (and multi-byte input).
|
||||
is used. Required for dead key support (and multibyte input).
|
||||
- After a file selection dialog, check that the edited files were not changed
|
||||
or deleted. The Win32 dialog allows deleting and renaming files.
|
||||
- Motif and Athena: Added support for "editres". (Marcin Dalecki)
|
||||
@@ -2025,8 +2025,8 @@ Timestamps:
|
||||
file that steadily grows.
|
||||
|
||||
Mapping <M-A> when 'encoding' is "latin1" and then setting 'encoding' to
|
||||
"utf-8" causes the first byte of a multi-byte to be mapped. Can cause very
|
||||
hard to find problems. Disallow mapping part of a multi-byte character.
|
||||
"utf-8" causes the first byte of a multibyte to be mapped. Can cause very
|
||||
hard to find problems. Disallow mapping part of a multibyte character.
|
||||
|
||||
For ":python" and ":tcl" accept an in-line script. (Johannes Zellner)
|
||||
Also for ":ruby" and ":perl". (Benoit Cerrina)
|
||||
@@ -2467,7 +2467,7 @@ Motif: When adding many menu items, the "Help" menu disappeared but the
|
||||
menubar didn't wrap. Now manually set the menubar height.
|
||||
|
||||
When using <BS> in Insert mode to remove a line break, or using "J" to join
|
||||
lines, the cursor could end up halfway a multi-byte character. (Muraoka Taro)
|
||||
lines, the cursor could end up halfway a multibyte character. (Muraoka Taro)
|
||||
|
||||
Removed defining SVR4 in configure. It causes problems for some X header
|
||||
files and doesn't appear to be used anywhere.
|
||||
@@ -2617,12 +2617,12 @@ column. Can't encode a larger number in a character. Now limit the number to
|
||||
222, don't jump back to the first column.
|
||||
|
||||
GUI: In some versions CSI would cause trouble, either when typed directly or
|
||||
when part of a multi-byte sequence.
|
||||
when part of a multibyte sequence.
|
||||
|
||||
When using multibyte characters in a ":normal" command, a trailing byte that
|
||||
is CSI or K_SPECIAL caused problems.
|
||||
|
||||
Wildmenu didn't handle multi-byte characters.
|
||||
Wildmenu didn't handle multibyte characters.
|
||||
|
||||
":sleep 10" could not be interrupted on Windows, while "gs" could. Made them
|
||||
both work the same.
|
||||
@@ -2673,7 +2673,7 @@ path.
|
||||
Multi-byte:
|
||||
- Using an any-but character range [^x] in a regexp didn't work for UTF-8.
|
||||
(Muraoka Taro)
|
||||
- When backspacing over inserted characters in Replace mode multi-byte
|
||||
- When backspacing over inserted characters in Replace mode multibyte
|
||||
characters were not handled correctly. (Muraoka Taro)
|
||||
- Search commands "#" and "*" didn't work with multibyte characters. (Muraoka
|
||||
Taro)
|
||||
@@ -2701,8 +2701,8 @@ Multi-byte:
|
||||
- When a multibyte character contained a 0x80 byte, it didn't work (was using
|
||||
a CSI byte instead). (Muraoka Taro)
|
||||
- Wordwise selection with the mouse didn't work.
|
||||
- Yanking a modeless selection of multi-byte characters didn't work.
|
||||
- When 'selection' is "exclusive", selecting a word that ends in a multi-byte
|
||||
- Yanking a modeless selection of multibyte characters didn't work.
|
||||
- When 'selection' is "exclusive", selecting a word that ends in a multibyte
|
||||
character used wrong highlighting for the following character.
|
||||
|
||||
Win32 with Make_mvc.mak: Didn't compile for debugging. (Craig Barkhouse)
|
||||
@@ -2801,7 +2801,7 @@ Multi-byte:
|
||||
included the character after the word.
|
||||
- When using a double-byte encoding and there is a lead byte at the end of the
|
||||
line, the preceding line would be displayed. "ga" also showed wrong info.
|
||||
- "gf" didn't include multi-byte characters before the cursor properly.
|
||||
- "gf" didn't include multibyte characters before the cursor properly.
|
||||
(Muraoka Taro)
|
||||
|
||||
GUI: The cursor was sometimes not removed when scrolling. Changed the policy
|
||||
@@ -2919,7 +2919,7 @@ The message remembered for displaying later (keep_msg) was sometimes pointing
|
||||
into a generic buffer, which might be changed by the time the message is
|
||||
displayed. Now make a copy of the message.
|
||||
|
||||
When using multi-byte characters in a menu and a trailing byte is a backslash,
|
||||
When using multibyte characters in a menu and a trailing byte is a backslash,
|
||||
the menu would not be created correctly. (Muraoka Taro)
|
||||
Using a multibyte character in the substitute string where a trail byte is a
|
||||
backslash didn't work. (Muraoka Taro)
|
||||
@@ -2958,7 +2958,7 @@ the output.
|
||||
Don't define the <NetMouse> termcode in an xterm, reduces the problem when
|
||||
someone types <Esc> } in Insert mode.
|
||||
|
||||
Made slash_adjust() work correctly for multi-byte characters. (Yasuhiro
|
||||
Made slash_adjust() work correctly for multibyte characters. (Yasuhiro
|
||||
Matsumoto)
|
||||
Using a filename in Big5 encoding for autocommands didn't work (backslash in
|
||||
trailbyte). (Yasuhiro Matsumoto)
|
||||
@@ -3147,7 +3147,7 @@ available space correctly. Was counting the menu height twice.
|
||||
Conversion of the docs to HTML didn't handle the line with the +quickfix tag
|
||||
correctly. (Antonio Colombo)
|
||||
|
||||
Win32: fname_case() didn't handle multi-byte characters correctly. (Yasuhiro
|
||||
Win32: fname_case() didn't handle multibyte characters correctly. (Yasuhiro
|
||||
Matsumoto)
|
||||
|
||||
The Cygwin version had trouble with fchdir(). Don't use that function for
|
||||
@@ -3164,10 +3164,10 @@ the terminal it was started in.
|
||||
|
||||
When using ESC in Insert mode, an autoindent that wraps to the next line
|
||||
caused the cursor to move to the end of the line temporarily. When the
|
||||
character before the cursor was a double-wide multi-byte character the cursor
|
||||
character before the cursor was a double-wide multibyte character the cursor
|
||||
would be on the right half, which causes problems with some terminals.
|
||||
|
||||
Didn't handle multi-byte characters correctly when expanding a file name.
|
||||
Didn't handle multibyte characters correctly when expanding a file name.
|
||||
(Yasuhiro Matsumoto)
|
||||
|
||||
Win32 GUI: Errors generated before the GUI is decided to start were not
|
||||
@@ -3307,7 +3307,7 @@ started from the desktop (no place to display messages) it would hang. Now
|
||||
open the GUI window early to be able to display the messages and pop up the
|
||||
dialog.
|
||||
|
||||
"r<CR>" on a multi-byte character deleted only the first byte of the
|
||||
"r<CR>" on a multibyte character deleted only the first byte of the
|
||||
character. "3r<CR>" deleted three bytes instead of three characters.
|
||||
|
||||
When interrupting reading a file, Vi considers the buffer modified. Added the
|
||||
@@ -3431,7 +3431,7 @@ Solution: Change slashes to backslashes in the directory passed to the file
|
||||
Files: src/gui_w48.c
|
||||
|
||||
Athena file browser: On some systems wcstombs() can't be used to get the
|
||||
length of a multi-byte string. Use the maximum length then. (Yasuhiro
|
||||
length of a multibyte string. Use the maximum length then. (Yasuhiro
|
||||
Matsumoto)
|
||||
|
||||
Patch 6.0ax.001
|
||||
@@ -3784,7 +3784,7 @@ Solution: Check for a NULL pointer.
|
||||
Files: src/mbyte.c
|
||||
|
||||
Patch 6.0.019
|
||||
Problem: Converting a string with multi-byte characters to a printable
|
||||
Problem: Converting a string with multibyte characters to a printable
|
||||
string, e.g., with strtrans(), may cause a crash. (Tomas Zellerin)
|
||||
Solution: Correctly compute the length of the result in transstr().
|
||||
Files: src/charset.c
|
||||
@@ -4148,9 +4148,9 @@ Solution: Position the system cursor before starting the shell.
|
||||
Files: src/os_msdos.c
|
||||
|
||||
Patch 6.0.074
|
||||
Problem: When using "&" in a substitute string a multi-byte character with
|
||||
Problem: When using "&" in a substitute string a multibyte character with
|
||||
a trailbyte 0x5c is not handled correctly.
|
||||
Solution: Recognize multi-byte characters inside the "&" part. (Muraoka Taro)
|
||||
Solution: Recognize multibyte characters inside the "&" part. (Muraoka Taro)
|
||||
Files: src/regexp.c
|
||||
|
||||
Patch 6.0.075
|
||||
@@ -4311,7 +4311,7 @@ Files: src/ex_cmds.c
|
||||
|
||||
Patch 6.0.097
|
||||
Problem: Re-indenting in Insert mode with CTRL-F may cause a crash with a
|
||||
multi-byte encoding.
|
||||
multibyte encoding.
|
||||
Solution: Avoid using a character before the start of a line. (Sergey
|
||||
Vlasov)
|
||||
Files: src/edit.c
|
||||
@@ -4669,14 +4669,14 @@ Solution: Correctly report "operand could be empty" when using "\{-}".
|
||||
Files: src/regexp.c
|
||||
|
||||
Patch 6.0.150
|
||||
Problem: When using a multi-byte encoding, patch 6.0.148 causes "p" to work
|
||||
Problem: When using a multibyte encoding, patch 6.0.148 causes "p" to work
|
||||
like "P". (Sung-Hyun Nam)
|
||||
Solution: Compute the byte length of a multi-byte character.
|
||||
Solution: Compute the byte length of a multibyte character.
|
||||
Files: src/ops.c
|
||||
|
||||
Patch 6.0.151
|
||||
Problem: Redrawing the status line and ruler can be wrong when it contains
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
Solution: Use character width and byte length correctly. (Yasuhiro Matsumoto)
|
||||
Files: src/screen.c
|
||||
|
||||
@@ -4878,7 +4878,7 @@ Solution: Free the allocated memory. Also avoid an uninitialized memory
|
||||
Files: src/misc2.c
|
||||
|
||||
Patch 6.0.182
|
||||
Problem: When using a regexp on multi-byte characters, could try to read a
|
||||
Problem: When using a regexp on multibyte characters, could try to read a
|
||||
character before the start of the line.
|
||||
Solution: Don't decrement a pointer to before the start of the line.
|
||||
Files: src/regexp.c
|
||||
@@ -5060,7 +5060,7 @@ Files: src/edit.c
|
||||
|
||||
Patch 6.0.209
|
||||
Problem: GUI GTK: After selecting a 'guifont' with the font dialog there
|
||||
are redraw problems for multi-byte characters.
|
||||
are redraw problems for multibyte characters.
|
||||
Solution: Separate the font dialog from setting the new font name to avoid
|
||||
that "*" is used to find wide and bold fonts.
|
||||
When redrawing extra characters for the bold trick, take care of
|
||||
@@ -5203,14 +5203,14 @@ Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/ops.c,
|
||||
|
||||
Patch 6.0.229
|
||||
Problem: Multi-byte: With 'm' in 'formatoptions', formatting doesn't break
|
||||
at a multi-byte char followed by an ASCII char, and the other way
|
||||
at a multibyte char followed by an ASCII char, and the other way
|
||||
around. (Muraoka Taro)
|
||||
When joining lines a space is inserted between multi-byte
|
||||
When joining lines a space is inserted between multibyte
|
||||
characters, which is not always wanted.
|
||||
Solution: Check for multi-byte character before and after the breakpoint.
|
||||
Don't insert a space before or after a multi-byte character when
|
||||
Solution: Check for multibyte character before and after the breakpoint.
|
||||
Don't insert a space before or after a multibyte character when
|
||||
joining lines and the 'M' flag is in 'formatoptions'. Don't
|
||||
insert a space between multi-byte characters when the 'B' flag is
|
||||
insert a space between multibyte characters when the 'B' flag is
|
||||
in 'formatoptions'.
|
||||
Files: src/edit.c, src/ops.c, src/option.h
|
||||
|
||||
@@ -5290,7 +5290,7 @@ Patch 6.0.241
|
||||
Problem: Win32: Expanding the old value of an option that is a path that
|
||||
starts with a backslash, an extra backslash is inserted.
|
||||
Solution: Only insert backslashes where needed.
|
||||
Also handle multi-byte characters properly when removing
|
||||
Also handle multibyte characters properly when removing
|
||||
backslashes.
|
||||
Files: src/option.c
|
||||
|
||||
@@ -5312,7 +5312,7 @@ Problem: Multi-byte: Problems with (illegal) UTF-8 characters in menu and
|
||||
file name (e.g., icon text, status line).
|
||||
Solution: Correctly handle unprintable characters. Catch illegal UTF-8
|
||||
characters and replace them with <xx>. Truncating the status line
|
||||
wasn't done correctly at a multi-byte character. (Yasuhiro
|
||||
wasn't done correctly at a multibyte character. (Yasuhiro
|
||||
Matsumoto)
|
||||
Added correct_cmdspos() and transchar_byte().
|
||||
Files: src/buffer.c, src/charset.c, src/ex_getln.c, src/gui.c,
|
||||
@@ -5424,7 +5424,7 @@ Solution: Don't call gui_write() when still starting up. Don't give error
|
||||
Files: src/fileio.c, src/gui.c, src/misc1.c, src/ui.c
|
||||
|
||||
Patch 6.0.261
|
||||
Problem: nr2char() and char2nr() don't work with multi-byte characters.
|
||||
Problem: nr2char() and char2nr() don't work with multibyte characters.
|
||||
Solution: Use 'encoding' for these functions. (Yasuhiro Matsumoto)
|
||||
Files: runtime/doc/eval.txt, src/eval.c
|
||||
|
||||
@@ -5517,7 +5517,7 @@ Solution: Don't keep the driver context when using ":hardcopy!". (Vince
|
||||
Files: src/os_mswin.c
|
||||
|
||||
Patch 6.1a.006
|
||||
Problem: multi-byte: after setting 'encoding' the window title might be
|
||||
Problem: multibyte: after setting 'encoding' the window title might be
|
||||
wrong.
|
||||
Solution: Force resetting the title. (Yasuhiro Matsumoto)
|
||||
Files: src/option.c
|
||||
@@ -5654,7 +5654,7 @@ Files: src/globals.h, src/mbyte.c, src/screen.c
|
||||
|
||||
Patch 6.1a.029
|
||||
Problem: After patch 6.1a.028 can't compile GTK version with XIM but
|
||||
without multi-byte chars.
|
||||
without multibyte chars.
|
||||
Solution: Add an #ifdef. (Aschwin Marsman)
|
||||
Files: src/mbyte.c
|
||||
|
||||
@@ -5701,9 +5701,9 @@ Solution: Remove the ACL checks, go back to how it worked in Vim 6.0.
|
||||
Files: src/os_win32.c
|
||||
|
||||
Patch 6.1a.035
|
||||
Problem: multi-byte: When using ":sh" in the GUI, typed and displayed
|
||||
multi-byte characters are not handled correctly.
|
||||
Solution: Deal with multi-byte characters to and from the shell. (Yasuhiro
|
||||
Problem: multibyte: When using ":sh" in the GUI, typed and displayed
|
||||
multibyte characters are not handled correctly.
|
||||
Solution: Deal with multibyte characters to and from the shell. (Yasuhiro
|
||||
Matsumoto) Also handle UTF-8 composing characters.
|
||||
Files: src/os_unix.c
|
||||
|
||||
@@ -5748,9 +5748,9 @@ Files: runtime/doc/diff.txt, src/diff.c, src/normal.c, src/proto/diff.pro
|
||||
|
||||
|
||||
Patch 6.1b.001 (extra)
|
||||
Problem: Checking for wildcards in a path does not handle multi-byte
|
||||
Problem: Checking for wildcards in a path does not handle multibyte
|
||||
characters with a trail byte which is a wildcard.
|
||||
Solution: Handle multi-byte characters correctly. (Muraoka Taro)
|
||||
Solution: Handle multibyte characters correctly. (Muraoka Taro)
|
||||
Files: src/os_amiga.c, src/os_mac.c, src/os_msdos.c, src/os_mswin.c,
|
||||
src/os_unix.c
|
||||
|
||||
@@ -5894,7 +5894,7 @@ Files: src/move.c
|
||||
|
||||
Patch 6.1b.023
|
||||
Problem: On MS-Windows system() may cause checking timestamps, because Vim
|
||||
looses and gains input focus, while this doesn't happen on Unix.
|
||||
loses and gains input focus, while this doesn't happen on Unix.
|
||||
Solution: Don't check timestamps while system() is busy.
|
||||
Files: src/ex_cmds2.c, src/fileio.c, src/globals.h, src/misc1.c
|
||||
|
||||
@@ -6393,7 +6393,7 @@ wrong (back)slashes.
|
||||
|
||||
Win32: printer dialog texts were not translated. (Yasuhiro Matsumoto)
|
||||
|
||||
When using a multi-byte character with a K_SPECIAL byte or a special key code
|
||||
When using a multibyte character with a K_SPECIAL byte or a special key code
|
||||
with "--remote-send" the received byte sequence was mangled. Put it in the
|
||||
typeahead buffer instead of the input buffer.
|
||||
|
||||
@@ -6438,7 +6438,7 @@ library version of fgets() to work correctly for Metrowerks 2.2. (Axel
|
||||
Kielhorn)
|
||||
|
||||
When typing a password a "*" was shown for each byte instead of for each
|
||||
character. Added multi-byte handling to displaying the stars. (Yasuhiro
|
||||
character. Added multibyte handling to displaying the stars. (Yasuhiro
|
||||
Matsumoto)
|
||||
|
||||
When using Perl 5.6 accessing $curbuf doesn't work. Add an #ifdef to use
|
||||
@@ -6690,9 +6690,9 @@ Solution: Overrule 'lazyredraw' when do_redraw is set.
|
||||
Files: src/main.c, src/screen.c
|
||||
|
||||
Patch 6.1.038
|
||||
Problem: Multi-byte: When a ":s" command contains a multi-byte character
|
||||
Problem: Multi-byte: When a ":s" command contains a multibyte character
|
||||
where the trail byte is '~' the text is messed up.
|
||||
Solution: Properly skip multi-byte characters in regtilde() (Muraoka Taro)
|
||||
Solution: Properly skip multibyte characters in regtilde() (Muraoka Taro)
|
||||
Files: src/regexp.c
|
||||
|
||||
Patch 6.1.039
|
||||
@@ -7105,7 +7105,7 @@ Solution: Use ":setlocal" instead of ":set". Change "aw" to "awa".
|
||||
Files: runtime/optwin.vim
|
||||
|
||||
Patch 6.1.102
|
||||
Problem: Unprintable and multi-byte characters in a statusline item are not
|
||||
Problem: Unprintable and multibyte characters in a statusline item are not
|
||||
truncated correctly. (Yasuhiro Matsumoto)
|
||||
Solution: Count the width of characters instead of the number of bytes.
|
||||
Files: src/buffer.c
|
||||
@@ -7480,7 +7480,7 @@ Solution: Take 'siso' into account when computing the horizontal scroll
|
||||
Files: src/normal.c
|
||||
|
||||
Patch 6.1.159
|
||||
Problem: When expanding an abbreviation that includes a multi-byte
|
||||
Problem: When expanding an abbreviation that includes a multibyte
|
||||
character too many characters are deleted. (Andrey Urazov)
|
||||
Solution: Delete the abbreviation counting characters instead of bytes.
|
||||
Files: src/getchar.c
|
||||
@@ -7964,10 +7964,10 @@ Files: src/gui_w48.c
|
||||
|
||||
Patch 6.1.231
|
||||
Problem: Double clicking with the mouse to select a word does not work for
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
Solution: Use vim_iswordc() instead of vim_isIDc(). This means 'iskeyword'
|
||||
is used instead of 'isident'. Also fix that mixing ASCII with
|
||||
multi-byte word characters doesn't work, the mouse class for
|
||||
multibyte word characters doesn't work, the mouse class for
|
||||
punctuation and word characters was mixed up.
|
||||
Files: src/normal.c
|
||||
|
||||
@@ -8056,7 +8056,7 @@ Files: src/vim.h
|
||||
Patch 6.1.245
|
||||
Problem: Comparing with ignored case does not work properly for Unicode
|
||||
with a locale where case folding an ASCII character results in a
|
||||
multi-byte character. (Glenn Maynard)
|
||||
multibyte character. (Glenn Maynard)
|
||||
Solution: Handle ignore-case compare for Unicode differently.
|
||||
Files: src/mbyte.c
|
||||
|
||||
@@ -8081,8 +8081,8 @@ Files: src/eval.c
|
||||
|
||||
Patch 6.1.249
|
||||
Problem: Can't expand a path on the command line if it includes a "|" as a
|
||||
trail byte of a multi-byte character.
|
||||
Solution: Check for multi-byte characters. (Yasuhiro Matsumoto)
|
||||
trail byte of a multibyte character.
|
||||
Solution: Check for multibyte characters. (Yasuhiro Matsumoto)
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
Patch 6.1.250
|
||||
@@ -8177,9 +8177,9 @@ Solution: Set the previous context mark before jumping.
|
||||
Files: src/fold.c
|
||||
|
||||
Patch 6.1.263
|
||||
Problem: When typing a multi-byte character that triggers an abbreviation
|
||||
Problem: When typing a multibyte character that triggers an abbreviation
|
||||
it is not inserted properly.
|
||||
Solution: Handle adding the typed multi-byte character. (Yasuhiro Matsumoto)
|
||||
Solution: Handle adding the typed multibyte character. (Yasuhiro Matsumoto)
|
||||
Files: src/getchar.c
|
||||
|
||||
Patch 6.1.264 (depends on patch 6.1.254)
|
||||
@@ -8207,7 +8207,7 @@ Solution: Allocate enough memory for saving the register contents. (Muraoka
|
||||
Files: src/ops.c
|
||||
|
||||
Patch 6.1.268
|
||||
Problem: When triggering an abbreviation with a multi-byte character, this
|
||||
Problem: When triggering an abbreviation with a multibyte character, this
|
||||
character is not correctly inserted after expanding the
|
||||
abbreviation. (Taro Muraoka)
|
||||
Solution: Add ABBR_OFF to all characters above 0xff.
|
||||
@@ -8321,7 +8321,7 @@ Files: runtime/doc/options.txt, src/buffer.c, src/option.c,
|
||||
src/quickfix.c
|
||||
|
||||
Patch 6.1.286
|
||||
Problem: 'showbreak' cannot contain multi-byte characters.
|
||||
Problem: 'showbreak' cannot contain multibyte characters.
|
||||
Solution: Allow using all printable characters for 'showbreak'.
|
||||
Files: src/charset.c, src/move.c, src/option.c
|
||||
|
||||
@@ -8343,9 +8343,9 @@ Solution: Add a typecast for " ".
|
||||
Files: src/screen.c
|
||||
|
||||
Patch 6.1.290 (extra)
|
||||
Problem: Truncating long text for message box may break multi-byte
|
||||
Problem: Truncating long text for message box may break multibyte
|
||||
character.
|
||||
Solution: Adjust to start of multi-byte character. (Yasuhiro Matsumoto)
|
||||
Solution: Adjust to start of multibyte character. (Yasuhiro Matsumoto)
|
||||
Files: src/os_mswin.c
|
||||
|
||||
Patch 6.1.291 (extra)
|
||||
@@ -8368,7 +8368,7 @@ Solution: Change ">=" to ">" in ml_find_line_or_offset(). (Bradford C Smith)
|
||||
Files: src/memline.c
|
||||
|
||||
Patch 6.1.294
|
||||
Problem: Can't include a multi-byte character in a string by its hex value.
|
||||
Problem: Can't include a multibyte character in a string by its hex value.
|
||||
(Benji Fisher)
|
||||
Solution: Add "\u....": a character specified with up to four hex numbers
|
||||
and stored according to the value of 'encoding'.
|
||||
@@ -8791,7 +8791,7 @@ Solution: Set Vim as the frontprocess. Fix scrolling. (Peter Cucka)
|
||||
Files: src/gui_mac.c
|
||||
|
||||
Patch 6.1.360 (depends on 6.1.341)
|
||||
Problem: In Insert mode CTRL-K ESC messes up a multi-byte character.
|
||||
Problem: In Insert mode CTRL-K ESC messes up a multibyte character.
|
||||
(Anders Helmersson)
|
||||
Solution: Save all bytes of a character when displaying a character
|
||||
temporarily.
|
||||
@@ -8962,7 +8962,7 @@ Files: src/gui_w32.c
|
||||
|
||||
Patch 6.1.383
|
||||
Problem: The filling of the status line doesn't work properly for
|
||||
multi-byte characters. (Nam SungHyun)
|
||||
multibyte characters. (Nam SungHyun)
|
||||
There is no check for going past the end of the buffer.
|
||||
Solution: Properly distinguish characters and bytes. Properly check for
|
||||
running out of buffer space.
|
||||
@@ -8976,7 +8976,7 @@ Files: runtime/doc/eval.txt, src/eval.c, src/proto/version.pro,
|
||||
src/version.c
|
||||
|
||||
Patch 6.1.385 (depends on 6.1.383)
|
||||
Problem: Can't compile without the multi-byte feature.
|
||||
Problem: Can't compile without the multibyte feature.
|
||||
Solution: Move an #ifdef. (Christian J. Robinson)
|
||||
Files: src/buffer.c
|
||||
|
||||
@@ -9201,10 +9201,10 @@ Solution: Respect the GUARDEDOFFSET for sign IDs when checking for a guarded
|
||||
Files: src/netbeans.c
|
||||
|
||||
Patch 6.1.417
|
||||
Problem: Unprintable multi-byte characters are not handled correctly.
|
||||
Problem: Unprintable multibyte characters are not handled correctly.
|
||||
Multi-byte characters above 0xffff are displayed as another
|
||||
character.
|
||||
Solution: Handle unprintable multi-byte characters. Display multi-byte
|
||||
Solution: Handle unprintable multibyte characters. Display multibyte
|
||||
characters above 0xffff with a marker. Recognize UTF-16 words and
|
||||
BOM words as unprintable. (Daniel Elstner)
|
||||
Files: src/charset.c, src/mbyte.c, src/screen.c
|
||||
@@ -9326,7 +9326,7 @@ Solution: Add the line number to the error message.
|
||||
Files: src/fileio.c
|
||||
|
||||
Patch 6.1.437 (extra, depends on 6.1.421)
|
||||
Problem: Using multi-byte functions when they are not available.
|
||||
Problem: Using multibyte functions when they are not available.
|
||||
Solution: Put the clipboard conversion inside an #ifdef. (Vince Negri)
|
||||
Also fix a pointer type mistake. (Walter Briscoe)
|
||||
Files: src/os_mswin.c
|
||||
@@ -9526,8 +9526,8 @@ Solution: Only store folds for a buffer with 'buftype' empty and help files.
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
Patch 6.1.469
|
||||
Problem: 'listchars' cannot contain multi-byte characters.
|
||||
Solution: Handle multi-byte UTF-8 list characters. (Matthew Samsonoff)
|
||||
Problem: 'listchars' cannot contain multibyte characters.
|
||||
Solution: Handle multibyte UTF-8 list characters. (Matthew Samsonoff)
|
||||
Files: src/message.c, src/option.c, src/screen.c
|
||||
|
||||
Patch 6.1.470 (lang)
|
||||
@@ -9661,7 +9661,7 @@ Solution: Check for tcsetattr() to return an error, retry when it does.
|
||||
Files: src/os_unix.c
|
||||
|
||||
Patch 6.2f.018
|
||||
Problem: Mac OS X 10.2: OK is defined to zero in cursus.h while Vim uses
|
||||
Problem: Mac OS X 10.2: OK is defined to zero in curses.h while Vim uses
|
||||
one. Redefining it causes a warning message.
|
||||
Solution: Undefine OK before defining it to one. (Taro Muraoka)
|
||||
Files: src/vim.h
|
||||
@@ -10009,7 +10009,7 @@ Files: nsis/gvim.nsi
|
||||
|
||||
Patch 6.2.010
|
||||
Problem: When 'virtualedit' is effective and a line starts with a
|
||||
multi-byte character, moving the cursor right doesn't work.
|
||||
multibyte character, moving the cursor right doesn't work.
|
||||
Solution: Obtain the right character to compute the column offset. (Taro
|
||||
Muraoka)
|
||||
Files: src/charset.c
|
||||
@@ -10109,7 +10109,7 @@ Files: src/fileio.c
|
||||
|
||||
Patch 6.2.027
|
||||
Problem: Warning for uninitialized variable.
|
||||
Solution: Set mb_l to one when not using multi-byte characters.
|
||||
Solution: Set mb_l to one when not using multibyte characters.
|
||||
Files: src/message.c
|
||||
|
||||
Patch 6.2.028
|
||||
@@ -10271,15 +10271,15 @@ Files: src/osdef1.h.in
|
||||
Patch 6.2.054
|
||||
Problem: A double-byte character with a second byte that is a backslash
|
||||
causes problems inside a string.
|
||||
Solution: Skip over multi-byte characters in a string properly. (Yasuhiro
|
||||
Solution: Skip over multibyte characters in a string properly. (Yasuhiro
|
||||
Matsumoto)
|
||||
Files: src/eval.c
|
||||
|
||||
Patch 6.2.055
|
||||
Problem: Using col('.') from CTRL-O in Insert mode does not return the
|
||||
correct value for multi-byte characters.
|
||||
correct value for multibyte characters.
|
||||
Solution: Correct the cursor position when it is necessary, move to the
|
||||
first byte of a multi-byte character. (Yasuhiro Matsumoto)
|
||||
first byte of a multibyte character. (Yasuhiro Matsumoto)
|
||||
Files: src/edit.c
|
||||
|
||||
Patch 6.2.056 (extra)
|
||||
@@ -10851,7 +10851,7 @@ Files: Makefile, src/Makefile, src/auto/configure, src/configure.in,
|
||||
|
||||
Patch 6.2.143
|
||||
Problem: Using "K" on Visually selected text doesn't work if it ends in
|
||||
a multi-byte character.
|
||||
a multibyte character.
|
||||
Solution: Include all the bytes of the last character. (Taro Muraoka)
|
||||
Files: src/normal.c
|
||||
|
||||
@@ -11269,12 +11269,12 @@ Files: src/gui_w32.c, src/gui_w48.c
|
||||
Patch 6.2.206
|
||||
Problem: Multi-byte characters cannot be used as hotkeys in a console
|
||||
dialog. (Mattias Erkisson)
|
||||
Solution: Handle multi-byte characters properly. Also put () or [] around
|
||||
Solution: Handle multibyte characters properly. Also put () or [] around
|
||||
default hotkeys.
|
||||
Files: src/message.c, src/macros.h
|
||||
|
||||
Patch 6.2.207
|
||||
Problem: When 'encoding' is a multi-byte encoding, expanding an
|
||||
Problem: When 'encoding' is a multibyte encoding, expanding an
|
||||
abbreviation that starts where insertion started results in
|
||||
characters before the insertion to be deleted. (Xiangjiang Ma)
|
||||
Solution: Stop searching leftwards for the start of the word at the position
|
||||
@@ -11344,7 +11344,7 @@ Files: src/fileio.c, src/netbeans.c, src/proto/netbeans.pro,
|
||||
Patch 6.2.216 (after 6.2.206)
|
||||
Problem: Multi-byte characters still cannot be used as hotkeys in a console
|
||||
dialog. (Mattias Erkisson)
|
||||
Solution: Make get_keystroke() handle multi-byte characters.
|
||||
Solution: Make get_keystroke() handle multibyte characters.
|
||||
Files: src/misc1.c
|
||||
|
||||
Patch 6.2.217
|
||||
@@ -11710,7 +11710,7 @@ Files: src/gui.c
|
||||
Patch 6.2.269
|
||||
Problem: Diff mode does not highlight a change in a combining character.
|
||||
(Raphael Finkel)
|
||||
Solution: Make diff_find_change() multi-byte aware: find the start byte of
|
||||
Solution: Make diff_find_change() multibyte aware: find the start byte of
|
||||
a character that contains a change.
|
||||
Files: src/diff.c
|
||||
|
||||
@@ -12505,7 +12505,7 @@ Solution: Don't redraw the bottom line if no rows were inserted or deleted.
|
||||
Files: src/screen.c
|
||||
|
||||
Patch 6.2.390
|
||||
Problem: Using "r*" in Visual mode on multi-byte characters only replaces
|
||||
Problem: Using "r*" in Visual mode on multibyte characters only replaces
|
||||
every other character. (Tyson Roberts)
|
||||
Solution: Correct the cursor position after replacing each character.
|
||||
Files: src/ops.c
|
||||
@@ -12745,7 +12745,7 @@ Solution: Also use the line number of the position where the region
|
||||
Files: src/syntax.c
|
||||
|
||||
Patch 6.2.427 (extra)
|
||||
Problem: When pasting a lot of text in a multi-byte encoding, conversion
|
||||
Problem: When pasting a lot of text in a multibyte encoding, conversion
|
||||
from 'termencoding' to 'encoding' may fail for some characters.
|
||||
(Kuang-che Wu)
|
||||
Solution: When there is an incomplete byte sequence at the end of the read
|
||||
@@ -12984,7 +12984,7 @@ Files: src/normal.c
|
||||
Patch 6.2.462
|
||||
Problem: Finding a matching parenthesis does not correctly handle a
|
||||
backslash in a trailing byte.
|
||||
Solution: Handle multi-byte characters correctly. (Taro Muraoka)
|
||||
Solution: Handle multibyte characters correctly. (Taro Muraoka)
|
||||
Files: src/search.c
|
||||
|
||||
Patch 6.2.463 (extra)
|
||||
@@ -13015,7 +13015,7 @@ Solution: Redefine wcsicmp() to wcscmpi() and add type casts. (Yasuhiro
|
||||
Files: src/os_win32.c
|
||||
|
||||
Patch 6.2.467 (extra, after 6.2.463)
|
||||
Problem: Win32: can't compile without multi-byte feature. (Ajit Thakkar)
|
||||
Problem: Win32: can't compile without multibyte feature. (Ajit Thakkar)
|
||||
Solution: Add #ifdefs around the info stream code.
|
||||
Files: src/os_win32.c
|
||||
|
||||
@@ -13183,8 +13183,8 @@ Solution: Allow using " " (two spaces) in 'paragraph' to match ".$" or
|
||||
Files: src/search.c
|
||||
|
||||
Patch 6.2.491
|
||||
Problem: Decrementing a position doesn't take care of multi-byte chars.
|
||||
Solution: Adjust the column for multi-byte characters. Remove mb_dec().
|
||||
Problem: Decrementing a position doesn't take care of multibyte chars.
|
||||
Solution: Adjust the column for multibyte characters. Remove mb_dec().
|
||||
(Yasuhiro Matsumoto)
|
||||
Files: src/mbyte.c, src/misc2.c, src/proto/mbyte.pro
|
||||
|
||||
@@ -13354,12 +13354,12 @@ Files: runtime/doc/options.txt, runtime/doc/sign.txt, src/option.c,
|
||||
src/screen.c, src/syntax.c, src/vim.h
|
||||
|
||||
Patch 6.2.517
|
||||
Problem: Using "r*" in Visual mode on multi-byte characters replaces
|
||||
Problem: Using "r*" in Visual mode on multibyte characters replaces
|
||||
too many characters. In Visual Block mode replacing with a
|
||||
multi-byte character doesn't work.
|
||||
multibyte character doesn't work.
|
||||
Solution: Adjust the operator end for the difference in byte length of the
|
||||
original and the replaced character. Insert all bytes of a
|
||||
multi-byte character, take care of double-wide characters.
|
||||
multibyte character, take care of double-wide characters.
|
||||
Files: src/ops.c
|
||||
|
||||
Patch 6.2.518
|
||||
@@ -13438,7 +13438,7 @@ Problem: NetBeans: Changes of the "~" command are not reported.
|
||||
Solution: Call netbeans_inserted() after performing "~". (Gordon Prieur)
|
||||
Also change NetBeans debugging to append to the log file.
|
||||
Also fix that "~" in Visual block mode changes too much if there
|
||||
are multi-byte characters.
|
||||
are multibyte characters.
|
||||
Files: src/nbdebug.c, src/normal.c, src/ops.c
|
||||
|
||||
Patch 6.2.529 (extra)
|
||||
@@ -13552,7 +13552,7 @@ Solution: Convert menu strings from 'encoding' to the active codepage.
|
||||
Files: src/gui_w32.c, src/gui_w48.c
|
||||
|
||||
Patch 6.3a.014
|
||||
Problem: Using multi-byte text and highlighting in a statusline causes gaps
|
||||
Problem: Using multibyte text and highlighting in a statusline causes gaps
|
||||
to appear. (Helmut Stiegler)
|
||||
Solution: Advance the column by text width instead of number of bytes. Add
|
||||
the vim_strnsize() function.
|
||||
@@ -14040,19 +14040,19 @@ Solution: Correctly check that one character is being deleted.
|
||||
Files: src/misc1.c
|
||||
|
||||
Patch 6.3.021
|
||||
Problem: When the last character of a file name is a multi-byte character
|
||||
Problem: When the last character of a file name is a multibyte character
|
||||
and the last byte is a path separator, the file cannot be edited.
|
||||
Solution: Check for the last byte to be part of a multi-byte character.
|
||||
Solution: Check for the last byte to be part of a multibyte character.
|
||||
(Taro Muraoka)
|
||||
Files: src/fileio.c
|
||||
|
||||
Patch 6.3.022 (extra)
|
||||
Problem: Win32: When the last character of a file name is a multi-byte
|
||||
Problem: Win32: When the last character of a file name is a multibyte
|
||||
character and the last byte is a path separator, the file cannot
|
||||
be written. A trail byte that is a space makes that a file cannot
|
||||
be opened from the command line.
|
||||
Solution: Recognize double-byte characters when parsing the command line.
|
||||
In mch_stat() check for the last byte to be part of a multi-byte
|
||||
In mch_stat() check for the last byte to be part of a multibyte
|
||||
character. (Taro Muraoka)
|
||||
Files: src/gui_w48.c, src/os_mswin.c
|
||||
|
||||
@@ -14222,7 +14222,7 @@ Solution: Don't allow setting termcap options or 'printdevice' in a
|
||||
Files: src/option.c, runtime/doc/options.txt
|
||||
|
||||
Patch 6.3.046
|
||||
Problem: ":registers" doesn't show multi-byte characters properly.
|
||||
Problem: ":registers" doesn't show multibyte characters properly.
|
||||
(Valery Kondakoff)
|
||||
Solution: Get the length of each character before displaying it.
|
||||
Files: src/ops.c
|
||||
@@ -14250,9 +14250,9 @@ Solution: Ignore SIGHUP when exiting because of an error. (Scott Anderson)
|
||||
Files: src/misc1.c, src/main.c
|
||||
|
||||
Patch 6.3.051
|
||||
Problem: When 'wildmenu' is set and completed file names contain multi-byte
|
||||
Problem: When 'wildmenu' is set and completed file names contain multibyte
|
||||
characters Vim may crash.
|
||||
Solution: Reserve room for multi-byte characters. (Yasuhiro Matsumoto)
|
||||
Solution: Reserve room for multibyte characters. (Yasuhiro Matsumoto)
|
||||
Files: src/screen.c
|
||||
|
||||
Patch 6.3.052 (extra)
|
||||
@@ -14286,9 +14286,9 @@ Solution: When moving ccline out of the way for recursive use, make it
|
||||
Files: src/ex_getln.c
|
||||
|
||||
Patch 6.3.056
|
||||
Problem: The last characters of a multi-byte file name may not be displayed
|
||||
Problem: The last characters of a multibyte file name may not be displayed
|
||||
in the window title.
|
||||
Solution: Avoid to remove a multi-byte character where the last byte looks
|
||||
Solution: Avoid to remove a multibyte character where the last byte looks
|
||||
like a path separator character. (Yasuhiro Matsumoto)
|
||||
Files: src/buffer.c, src/ex_getln.c
|
||||
|
||||
@@ -14319,9 +14319,9 @@ Files: src/edit.c
|
||||
|
||||
Patch 6.3.061
|
||||
Problem: When editing a utf-8 file in an utf-8 xterm and there is a
|
||||
multi-byte character in the last column, displaying is messed up.
|
||||
multibyte character in the last column, displaying is messed up.
|
||||
(Joël Rio)
|
||||
Solution: Check for a multi-byte character, not a multi-column character.
|
||||
Solution: Check for a multibyte character, not a multi-column character.
|
||||
Files: src/screen.c
|
||||
|
||||
Patch 6.3.062
|
||||
@@ -14384,7 +14384,7 @@ Files: src/edit.c
|
||||
Patch 6.3.072
|
||||
Problem: Crash in giving substitute message when language is Chinese and
|
||||
encoding is utf-8. (Yongwei)
|
||||
Solution: Make the msg_buf size larger when using multi-byte.
|
||||
Solution: Make the msg_buf size larger when using multibyte.
|
||||
Files: src/vim.h
|
||||
|
||||
Patch 6.3.073
|
||||
@@ -14508,7 +14508,7 @@ Solution: Change "a" to "b". (Tony Mechelynck)
|
||||
Files: src/version.h
|
||||
|
||||
Patch 6.4b.002
|
||||
Problem: In Insert mode, pasting a multi-byte character after the end of
|
||||
Problem: In Insert mode, pasting a multibyte character after the end of
|
||||
the line leaves the cursor just before that character.
|
||||
Solution: Make sure "gP" leaves the cursor in the right place when
|
||||
'virtualedit' is set.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version7.txt* For Vim version 8.2. Last change: 2016 Jul 17
|
||||
*version7.txt* For Vim version 8.2. Last change: 2020 Oct 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -22,7 +22,7 @@ Vim script enhancements |new-vim-script|
|
||||
Spell checking |new-spell|
|
||||
Omni completion |new-omni-completion|
|
||||
MzScheme interface |new-MzScheme|
|
||||
Printing multi-byte text |new-print-multi-byte|
|
||||
Printing multibyte text |new-print-multibyte|
|
||||
Tab pages |new-tab-pages|
|
||||
Undo branches |new-undo-branches|
|
||||
Extended Unicode support |new-more-unicode|
|
||||
@@ -302,10 +302,10 @@ The |:mzfile| command can be used to execute an MzScheme script file
|
||||
This depends on Vim being compiled with the |+mzscheme| feature.
|
||||
|
||||
|
||||
Printing multi-byte text *new-print-multi-byte*
|
||||
Printing multibyte text *new-print-multibyte*
|
||||
------------------------
|
||||
|
||||
The |:hardcopy| command now supports printing multi-byte characters when using
|
||||
The |:hardcopy| command now supports printing multibyte characters when using
|
||||
PostScript.
|
||||
|
||||
The 'printmbcharset' and 'printmbfont' options are used for this.
|
||||
@@ -1211,7 +1211,7 @@ Also fixes the problem that setting 'clipboard' to "unnamed" breaks using
|
||||
|
||||
Mac: GUI font selector. (Peter Cucka)
|
||||
|
||||
Mac: support for multi-byte characters. (Da Woon Jung)
|
||||
Mac: support for multibyte characters. (Da Woon Jung)
|
||||
This doesn't always work properly. If you see text drawing problems try
|
||||
switching the 'macatsui' option off.
|
||||
|
||||
@@ -1361,7 +1361,7 @@ When C, C++ or IDL syntax is used, may additionally load doxygen syntax.
|
||||
Support setting 'filetype' and 'syntax' to "aaa.bbb" for "aaa" plus "bbb"
|
||||
filetype or syntax.
|
||||
|
||||
The ":registers" command now displays multi-byte characters properly.
|
||||
The ":registers" command now displays multibyte characters properly.
|
||||
|
||||
VMS: In the usage message mention that a slash can be used to make a flag
|
||||
upper case. Add color support to the builtin vt320 terminal codes.
|
||||
@@ -1460,7 +1460,7 @@ To count items (pattern matches) without changing the buffer the 'n' flag has
|
||||
been added to |:substitute|. See |count-items|.
|
||||
|
||||
In a |:substitute| command the \u, \U, \l and \L items now also work for
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
|
||||
The "screen.linux" $TERM name is recognized to set the default for
|
||||
'background' to "dark". (Ciaran McCreesh) Also for "cygwin" and "putty".
|
||||
@@ -1736,7 +1736,7 @@ variables like for a regular command with a file argument.
|
||||
'cindent': When the argument of a #define looks like a C++ class the next line
|
||||
is indented too much.
|
||||
|
||||
When 'comments' includes multi-byte characters inserting the middle part and
|
||||
When 'comments' includes multibyte characters inserting the middle part and
|
||||
alignment may go wrong. 'cindent' also suffers from this for right-aligned
|
||||
items.
|
||||
|
||||
@@ -2309,7 +2309,7 @@ characters in v:this_session.
|
||||
|
||||
":set sta ts=8 sw=4 sts=2" deleted 4 spaces halfway a line instead of 2.
|
||||
|
||||
In a multi-byte file the foldmarker could be recognized in the trail byte.
|
||||
In a multibyte file the foldmarker could be recognized in the trail byte.
|
||||
(Taro Muraoka)
|
||||
|
||||
Pasting with CTRL-V and menu didn't work properly when some commands are
|
||||
@@ -2504,7 +2504,7 @@ a crash.
|
||||
|
||||
For a new tab page the 'scroll' option wasn't set to a good default.
|
||||
|
||||
Using an end offset for a search "/pat/e" didn't work properly for multi-byte
|
||||
Using an end offset for a search "/pat/e" didn't work properly for multibyte
|
||||
text. (Yukihiro Nakadaira)
|
||||
|
||||
":s/\n/,/" doubled the text when used on the last line.
|
||||
@@ -2604,7 +2604,7 @@ recursively. But after a ":normal" command the protection was reset.
|
||||
|
||||
":s/a/b/n" didn't work when 'modifiable' was off.
|
||||
|
||||
When $VIMRUNTIME includes a multi-byte character then rgb.txt could not be
|
||||
When $VIMRUNTIME includes a multibyte character then rgb.txt could not be
|
||||
found. (Yukihiro Nakadaira)
|
||||
|
||||
":mkspell" didn't work correctly for non-ASCII affix flags when conversion is
|
||||
@@ -2670,7 +2670,7 @@ keep them in the original order.
|
||||
Fixed a crash when editing a directory in diff mode. Don't trigger
|
||||
autocommands when executing the diff command.
|
||||
|
||||
Getting a keystroke could get stuck if 'encoding' is a multi-byte encoding and
|
||||
Getting a keystroke could get stuck if 'encoding' is a multibyte encoding and
|
||||
typing a special key.
|
||||
|
||||
When 'foldignore' is set the folds were not updated right away.
|
||||
@@ -2711,7 +2711,7 @@ When using ":vsp" or ":sp" the available space wasn't used equally between
|
||||
windows. (Servatius Brandt)
|
||||
|
||||
Expanding <cWORD> on a trailing blank resulted in the first word in the line
|
||||
if 'encoding' is a multi-byte encoding.
|
||||
if 'encoding' is a multibyte encoding.
|
||||
|
||||
Spell checking: spellbadword() didn't see a missing capital in the first word
|
||||
of a line. Popup menu now only suggest the capitalized word when appropriate.
|
||||
@@ -2734,7 +2734,7 @@ background, which made magenta text disappear. Now use reverse in this
|
||||
specific situation.
|
||||
|
||||
After completing the longest match "." didn't insert the same text. Repeating
|
||||
also didn't work correctly for multi-byte text.
|
||||
also didn't work correctly for multibyte text.
|
||||
|
||||
When using Insert mode completion and BS the whole word that was completed
|
||||
would result in all possible matches. Now stop completion. Also fixes that
|
||||
@@ -2751,7 +2751,7 @@ non-ASCII characters looked wrong. (Yegappan Lakshmanan)
|
||||
Motif: building failed when Xm/Notebook.h doesn't exist. Added a configure
|
||||
check, disable GUI tabline when it's missing.
|
||||
|
||||
Mac: When compiled without multi-byte feature the clipboard didn't work.
|
||||
Mac: When compiled without multibyte feature the clipboard didn't work.
|
||||
|
||||
It was possible to switch to another tab page when the cmdline window is open.
|
||||
|
||||
@@ -2867,7 +2867,7 @@ a crash.
|
||||
|
||||
GTK: The tab pages line menu was not converted from 'encoding' to utf-8.
|
||||
|
||||
Typing a multi-byte character or a special key at the hit-enter prompt did not
|
||||
Typing a multibyte character or a special key at the hit-enter prompt did not
|
||||
work.
|
||||
|
||||
When 'virtualedit' contains "onemore" CTRL-O in Insert mode still moved the
|
||||
@@ -3387,7 +3387,7 @@ Solution: When running Vim as root don't become a Vim server without an
|
||||
Files: src/main.c
|
||||
|
||||
Patch 7.0.053
|
||||
Problem: Shortening a directory name may fail when there are multi-byte
|
||||
Problem: Shortening a directory name may fail when there are multibyte
|
||||
characters.
|
||||
Solution: Copy the correct bytes. (Titov Anatoly)
|
||||
Files: src/misc1.c
|
||||
@@ -3621,7 +3621,7 @@ Solution: Remove the "-pipe" argument from PERL_CFLAGS.
|
||||
Files: src/auto/configure, src/configure.in
|
||||
|
||||
Patch 7.0.089
|
||||
Problem: "ga" does not work properly for a non-Unicode multi-byte encoding.
|
||||
Problem: "ga" does not work properly for a non-Unicode multibyte encoding.
|
||||
Solution: Only check for composing chars for utf-8. (Taro Muraoka)
|
||||
Files: src/ex_cmds.c
|
||||
|
||||
@@ -4224,7 +4224,7 @@ Files: src/if_cscope.c
|
||||
Patch 7.0.185
|
||||
Problem: Multi-byte characters in a message are displayed with attributes
|
||||
from what comes before it.
|
||||
Solution: Don't use the attributes for a multi-byte character. Do use
|
||||
Solution: Don't use the attributes for a multibyte character. Do use
|
||||
attributes for special characters. (Yukihiro Nakadaira)
|
||||
Files: src/message.c
|
||||
|
||||
@@ -4307,7 +4307,7 @@ Solution: Add type casts. Use "*" for processorArchitecture. (George Reilly)
|
||||
Files: src/Make_mvc.mak, src/eval.c, src/gvim.exe.mnf, src/misc2.c
|
||||
|
||||
Patch 7.0.199
|
||||
Problem: When using multi-byte characters the combination of completion and
|
||||
Problem: When using multibyte characters the combination of completion and
|
||||
formatting may result in a wrong cursor position.
|
||||
Solution: Don't decrement the cursor column, use dec_cursor(). (Yukihiro
|
||||
Nakadaira) Also check for the column to be zero.
|
||||
@@ -5902,10 +5902,10 @@ Solution: Don't advance the cursor when it's already on the NUL after a
|
||||
Files: src/normal.c
|
||||
|
||||
Patch 7.1.185
|
||||
Problem: Using "gR" with a multi-byte encoding and typing a CR pushes
|
||||
Problem: Using "gR" with a multibyte encoding and typing a CR pushes
|
||||
characters onto the replace stack incorrectly, resulting in BS
|
||||
putting back the wrong characters. (Paul B. Mahol)
|
||||
Solution: Push multi-byte characters onto the replace stack in reverse byte
|
||||
Solution: Push multibyte characters onto the replace stack in reverse byte
|
||||
order. Add replace_push_mb().
|
||||
Files: src/edit.c, src/misc1.c, src/proto/edit.pro
|
||||
|
||||
@@ -6112,7 +6112,7 @@ Files: runtime/doc/eval.txt, src/eval.c, src/hardcopy.c,
|
||||
|
||||
Patch 7.1.220
|
||||
Problem: When a ")" or word movement command moves the cursor back from the
|
||||
end of the line it may end up on the trail byte of a multi-byte
|
||||
end of the line it may end up on the trail byte of a multibyte
|
||||
character. It's also moved back when it isn't needed.
|
||||
Solution: Add the adjust_cursor() function.
|
||||
Files: src/normal.c
|
||||
@@ -6241,7 +6241,7 @@ Problem: When "gUe" turns a German sharp s into SS the operation stops
|
||||
before the end of the word. Latin2 has the same sharp s but it's
|
||||
not changed to SS there.
|
||||
Solution: Make sure all the characters are operated upon. Detect the sharp
|
||||
s in latin2. Also fixes that changing case of a multi-byte
|
||||
s in latin2. Also fixes that changing case of a multibyte
|
||||
character that changes the byte count doesn't always work.
|
||||
Files: src/ops.c
|
||||
|
||||
@@ -6771,7 +6771,7 @@ Files: src/misc1.c
|
||||
|
||||
Warning for missing sentinel in gui_xmldlg.c. (Dominique Pelle)
|
||||
|
||||
A search offset from the end of a match didn't work properly for multi-byte
|
||||
A search offset from the end of a match didn't work properly for multibyte
|
||||
characters. (Yukihiro Nakadaira)
|
||||
|
||||
When displaying the value of 'key' don't show "*****" when the value is empty.
|
||||
@@ -6965,7 +6965,7 @@ The #ifdef for including "vimio.h" was inconsistent. In a few files it
|
||||
depended on MSWIN, which isn't defined until later.
|
||||
|
||||
Patch 7.2b.001
|
||||
Problem: Compilation problem: mb_fix_col() missing with multi-byte feature
|
||||
Problem: Compilation problem: mb_fix_col() missing with multibyte feature
|
||||
but without GUI or clipboard.
|
||||
Solution: Remove #ifdef.
|
||||
Files: src/mbyte.c
|
||||
@@ -7804,7 +7804,7 @@ Solution: Don't change "Columns" back to an old value at a wrong moment.
|
||||
Files: src/gui.c
|
||||
|
||||
Patch 7.2.066
|
||||
Problem: It's not easy to see whether 'encoding' is a multi-byte encoding.
|
||||
Problem: It's not easy to see whether 'encoding' is a multibyte encoding.
|
||||
Solution: Add has('multi_byte_encoding').
|
||||
Files: runtime/doc/eval.txt, src/eval.c
|
||||
|
||||
@@ -7949,7 +7949,7 @@ Solution: Don't use a WM_OLE message of zero size. (Ray Megal)
|
||||
Files: src/if_ole.cpp, src/gui_w48.c
|
||||
|
||||
Patch 7.2.090
|
||||
Problem: User command containing 0x80 in multi-byte character does not work
|
||||
Problem: User command containing 0x80 in multibyte character does not work
|
||||
properly. (Yasuhiro Matsumoto)
|
||||
Solution: Undo replacement of K_SPECIAL and CSI characters when executing
|
||||
the command.
|
||||
@@ -7967,7 +7967,7 @@ Files: src/eval.c
|
||||
|
||||
Patch 7.2.093 (extra)
|
||||
Problem: Win32: inputdialog() and find/replace dialogs can't handle
|
||||
multi-byte text.
|
||||
multibyte text.
|
||||
Solution: Use the wide version of dialog functions when available. (Yanwei
|
||||
Jia)
|
||||
Files: src/gui_w32.c, src/gui_w48.c
|
||||
@@ -8062,8 +8062,8 @@ Solution: Add #ifdef.
|
||||
Files: src/option.c
|
||||
|
||||
Patch 7.2.109
|
||||
Problem: 'langmap' does not work for multi-byte characters.
|
||||
Solution: Add a list of mapped multi-byte characters. (based on work by
|
||||
Problem: 'langmap' does not work for multibyte characters.
|
||||
Solution: Add a list of mapped multibyte characters. (based on work by
|
||||
Konstantin Korikov, Agathoklis Hatzimanikas)
|
||||
Files: runtime/doc/options.txt, src/edit.c, src/getchar.c, src/macros.h,
|
||||
src/normal.c, src/option.c, src/proto/option.pro, src/window.c
|
||||
@@ -8908,7 +8908,7 @@ Solution: Remove _FORTIFY_SOURCE=2 from CFLAGS. (Dominique Pelle)
|
||||
Files: src/auto/configure, src/configure.in
|
||||
|
||||
Patch 7.2.252
|
||||
Problem: When using a multi-byte 'enc' the 'iskeyword' option cannot
|
||||
Problem: When using a multibyte 'enc' the 'iskeyword' option cannot
|
||||
contain characters above 128.
|
||||
Solution: Use mb_ptr2char_adv().
|
||||
Files: src/charset.c
|
||||
@@ -9053,7 +9053,7 @@ Files: src/memline.c
|
||||
Patch 7.2.276
|
||||
Problem: Crash when setting 'isprint' to a small bullet. (Raul Coronado)
|
||||
Solution: Check for the character to be < 256. Also make it possible to
|
||||
specify a range of multi-byte characters. (Lech Lorens)
|
||||
specify a range of multibyte characters. (Lech Lorens)
|
||||
Files: src/charset.c
|
||||
|
||||
Patch 7.2.277
|
||||
@@ -9144,7 +9144,7 @@ Solution: Use utfc_ptr2char_len() rather than utfc_ptr2char(). (Dominique
|
||||
Files: src/screen.c
|
||||
|
||||
Patch 7.2.292
|
||||
Problem: Block right-shift doesn't work properly with multi-byte encoding
|
||||
Problem: Block right-shift doesn't work properly with multibyte encoding
|
||||
and 'list' set.
|
||||
Solution: Add the missing "else". (Lech Lorens)
|
||||
Files: src/ops.c
|
||||
@@ -9430,7 +9430,7 @@ Files: src/screen.c
|
||||
|
||||
Patch 7.2.342
|
||||
Problem: Popup menu displayed wrong in 'rightleft' mode when there are
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
Solution: Adjust the column computations. (Dominique Pelle)
|
||||
Files: src/popupmnu.c
|
||||
|
||||
@@ -10111,7 +10111,7 @@ Fix compile warnings, esp. for 64-bit systems. (Mike Williams)
|
||||
Fix: :redir to a dictionary that is changed before ":redir END" causes a
|
||||
memory access error.
|
||||
|
||||
Fix: terminal title not properly restored when there are multi-byte
|
||||
Fix: terminal title not properly restored when there are multibyte
|
||||
characters. (partly by James Vega)
|
||||
|
||||
Set 'wrapscan' when checking the .po files. (Mike Williams)
|
||||
@@ -10132,7 +10132,7 @@ Changed readfile() to ignore byte order marks, unless in binary mode.
|
||||
|
||||
On MS-Windows completion of shell commands didn't work.
|
||||
|
||||
An unprintable multi-byte character at the start of the screen line caused the
|
||||
An unprintable multibyte character at the start of the screen line caused the
|
||||
following text to be drawn at the wrong position.
|
||||
|
||||
Got ml_get errors when using undo with 'virtualedit'.
|
||||
@@ -10260,7 +10260,7 @@ Commands:
|
||||
Brabandt)
|
||||
|
||||
Other:
|
||||
Lua interface now also uses userdata binded to Vim structures. (Taro
|
||||
Lua interface now also uses userdata bound to Vim structures. (Taro
|
||||
Muraoka, Luis Carvalho)
|
||||
|
||||
glob() and autocommand patterns used to work with the undocumented
|
||||
@@ -10391,7 +10391,7 @@ Solution: Increase the list reference count. Add a test for undotree()
|
||||
Files: src/eval.c, src/testdir/Makefile, src/testdir/test61.in
|
||||
|
||||
Patch 7.3.006
|
||||
Problem: Can't build some multi-byte code with C89.
|
||||
Problem: Can't build some multibyte code with C89.
|
||||
Solution: Move code to after declarations. (Joachim Schmitz)
|
||||
Files: src/mbyte.c, src/spell.c
|
||||
|
||||
@@ -11161,7 +11161,7 @@ Solution: Call update_screen() before waiting for input.
|
||||
Files: src/misc1.c, src/getchar.c
|
||||
|
||||
Patch 7.3.138
|
||||
Problem: ":com" changes the multi-byte text of :echo. (Dimitar Dimitrov)
|
||||
Problem: ":com" changes the multibyte text of :echo. (Dimitar Dimitrov)
|
||||
Solution: Search for K_SPECIAL as a byte, not a character. (Ben Schmidt)
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
@@ -11486,7 +11486,7 @@ Files: README_extra.txt, src/Make_ro.mak, src/INSTALL, src/Makefile,
|
||||
src/option.h, src/structs.h, src/version.c, src/pty.c, Filelist
|
||||
|
||||
Patch 7.3.192
|
||||
Problem: Ex command ":s/ \?/ /g" splits multi-byte characters into bytes.
|
||||
Problem: Ex command ":s/ \?/ /g" splits multibyte characters into bytes.
|
||||
(Dominique Pelle)
|
||||
Solution: Advance over whole character instead of one byte.
|
||||
Files: src/ex_cmds.c
|
||||
@@ -12016,15 +12016,15 @@ Solution: Only restore the cursor position when there is a command line.
|
||||
Files: src/ex_getln.c
|
||||
|
||||
Patch 7.3.283
|
||||
Problem: An expression mapping with a multi-byte character containing a
|
||||
Problem: An expression mapping with a multibyte character containing a
|
||||
0x80 byte gets messed up. (ZyX)
|
||||
Solution: Unescape the expression before evaluating it (Yukihiro Nakadaira)
|
||||
Files: src/getchar.c
|
||||
|
||||
Patch 7.3.284
|
||||
Problem: The str2special() function doesn't handle multi-byte characters
|
||||
Problem: The str2special() function doesn't handle multibyte characters
|
||||
properly.
|
||||
Solution: Recognize multi-byte characters. (partly by Vladimir Vichniakov)
|
||||
Solution: Recognize multibyte characters. (partly by Vladimir Vichniakov)
|
||||
Files: src/getchar.c, src/message.c, src/misc2.c
|
||||
|
||||
Patch 7.3.285 (after 7.3.284)
|
||||
@@ -12112,7 +12112,7 @@ Solution: Adjust the style. (Elias Diem)
|
||||
Files: src/gui_photon.c
|
||||
|
||||
Patch 7.3.300
|
||||
Problem: Python doesn't parse multi-byte argument correctly.
|
||||
Problem: Python doesn't parse multibyte argument correctly.
|
||||
Solution: Use "t" instead of "s". (lilydjwg)
|
||||
Files: src/if_py_both.h
|
||||
|
||||
@@ -12270,7 +12270,7 @@ Files: src/ex_cmds.c
|
||||
|
||||
Patch 7.3.328
|
||||
Problem: When command line wraps the cursor may be displayed wrong when
|
||||
there are multi-byte characters.
|
||||
there are multibyte characters.
|
||||
Solution: Position the cursor before drawing the text. (Yasuhiro Matsumoto)
|
||||
Files: src/ex_getln.c
|
||||
|
||||
@@ -13377,7 +13377,7 @@ Solution: Move the call to gui_mch_init_check() to after fork(). (Yasuhiro
|
||||
Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro
|
||||
|
||||
Patch 7.3.521
|
||||
Problem: Using "z=" on a multi-byte character may cause a crash.
|
||||
Problem: Using "z=" on a multibyte character may cause a crash.
|
||||
Solution: Don't use strlen() on an int pointer.
|
||||
Files: src/spell.c
|
||||
|
||||
@@ -13475,7 +13475,7 @@ Files: src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok
|
||||
|
||||
Patch 7.3.539
|
||||
Problem: Redrawing a character on the command line does not work properly
|
||||
for multi-byte characters.
|
||||
for multibyte characters.
|
||||
Solution: Count the number of bytes in a character. (Yukihiro Nakadaira)
|
||||
Files: src/ex_getln.c
|
||||
|
||||
@@ -13854,7 +13854,7 @@ Solution: Add #ifdef for MEMORYSTATUSEX.
|
||||
Files: src/os_win32.c
|
||||
|
||||
Patch 7.3.606
|
||||
Problem: CTRL-P completion has a problem with multi-byte characters.
|
||||
Problem: CTRL-P completion has a problem with multibyte characters.
|
||||
Solution: Check for next character being NUL properly. (Yasuhiro Matsumoto)
|
||||
Files: src/search.c, src/macros.h
|
||||
|
||||
@@ -14190,7 +14190,7 @@ Files: src/ex_docmd.c
|
||||
|
||||
Patch 7.3.664
|
||||
Problem: Buffer overflow in unescaping text. (Raymond Ko)
|
||||
Solution: Limit check for multi-byte character to 4 bytes.
|
||||
Solution: Limit check for multibyte character to 4 bytes.
|
||||
Files: src/mbyte.c
|
||||
|
||||
Patch 7.3.665
|
||||
@@ -14357,8 +14357,8 @@ Solution: Add the shiftwidth() function. (so8res)
|
||||
Files: runtime/doc/eval.txt, src/eval.c
|
||||
|
||||
Patch 7.3.695
|
||||
Problem: Balloon cannot show multi-byte text.
|
||||
Solution: Properly deal with multi-byte characters. (Dominique Pelle)
|
||||
Problem: Balloon cannot show multibyte text.
|
||||
Solution: Properly deal with multibyte characters. (Dominique Pelle)
|
||||
Files: src/gui_beval.c, src/ui.c
|
||||
|
||||
Patch 7.3.696
|
||||
@@ -14656,7 +14656,7 @@ Files: runtime/doc/eval.txt, src/eval.c, src/proto/screen.pro,
|
||||
src/testdir/test88.ok,
|
||||
|
||||
Patch 7.3.749
|
||||
Problem: Python interface doesn't build without the multi-byte feature.
|
||||
Problem: Python interface doesn't build without the multibyte feature.
|
||||
Solution: Add #ifdef. (Ken Takata)
|
||||
Files: src/if_py_both.h
|
||||
|
||||
@@ -14762,7 +14762,7 @@ Solution: Save and restore the cursor position when appropriate. (idea by
|
||||
Files: src/edit.c
|
||||
|
||||
Patch 7.3.769
|
||||
Problem: 'matchpairs' does not work with multi-byte characters.
|
||||
Problem: 'matchpairs' does not work with multibyte characters.
|
||||
Solution: Make it work. (Christian Brabandt)
|
||||
Files: src/misc1.c, src/option.c, src/proto/option.pro, src/search.c,
|
||||
src/testdir/test69.in, src/testdir/test69.ok
|
||||
@@ -15182,9 +15182,9 @@ Solution: Add lines for new files.
|
||||
Files: Filelist
|
||||
|
||||
Patch 7.3.840
|
||||
Problem: "\@<!" in regexp does not work correctly with multi-byte
|
||||
Problem: "\@<!" in regexp does not work correctly with multibyte
|
||||
characters, especially cp932.
|
||||
Solution: Move column to start of multi-byte character. (Yasuhiro Matsumoto)
|
||||
Solution: Move column to start of multibyte character. (Yasuhiro Matsumoto)
|
||||
Files: src/regexp.c
|
||||
|
||||
Patch 7.3.841
|
||||
@@ -15254,7 +15254,7 @@ Solution: Use Xutf8TextPropertyToTextList(). (Christian Brabandt)
|
||||
Files: src/ui.c, src/ops.c
|
||||
|
||||
Patch 7.3.853
|
||||
Problem: Using "ra" in multiple lines on multi-byte characters leaves a few
|
||||
Problem: Using "ra" in multiple lines on multibyte characters leaves a few
|
||||
characters not replaced.
|
||||
Solution: Adjust the end column only in the last line. (Yasuhiro Matsumoto)
|
||||
Files: src/testdir/test69.in, src/testdir/test69.ok, src/ops.c
|
||||
@@ -15271,7 +15271,7 @@ Solution: Add type casts. (Mike Williams)
|
||||
Files: src/misc1.c
|
||||
|
||||
Patch 7.3.856
|
||||
Problem: When calling system() multi-byte clipboard contents is garbled.
|
||||
Problem: When calling system() multibyte clipboard contents is garbled.
|
||||
Solution: Save and restore the clipboard contents. (Yukihiro Nakadaira)
|
||||
Files: src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, src/ops.c,
|
||||
src/proto/ops.pro, src/os_unix.c, src/proto/ui.pro, src/ui.c
|
||||
@@ -15379,9 +15379,9 @@ Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok,
|
||||
src/testdir/test80.in, src/testdir/test80.ok
|
||||
|
||||
Patch 7.3.874
|
||||
Problem: Comparing file names does not handle multi-byte characters
|
||||
Problem: Comparing file names does not handle multibyte characters
|
||||
properly.
|
||||
Solution: Implement multi-byte handling.
|
||||
Solution: Implement multibyte handling.
|
||||
Files: src/misc1.c, src/misc2.c
|
||||
|
||||
Patch 7.3.875 (after 7.3.866)
|
||||
@@ -15443,7 +15443,7 @@ Solution: Do not unref list and dict. (Yasuhiro Matsumoto)
|
||||
Files: src/if_lua.c
|
||||
|
||||
Patch 7.3.886
|
||||
Problem: Can't build with multi-byte on Solaris 10.
|
||||
Problem: Can't build with multibyte on Solaris 10.
|
||||
Solution: Add #ifdef X_HAVE_UTF8_STRING. (Laurent Blume)
|
||||
Files: src/ui.c
|
||||
|
||||
@@ -15457,7 +15457,7 @@ Files: src/testdir/test94.in, src/testdir/test94.ok,
|
||||
|
||||
Patch 7.3.888
|
||||
Problem: Filename completion with 'fileignorecase' does not work for
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
Solution: Make 'fileignorecase' work properly. (Hirohito Higashi)
|
||||
Files: src/misc2.c
|
||||
|
||||
@@ -15933,7 +15933,7 @@ Files: src/if_py_both.h
|
||||
Patch 7.3.968
|
||||
Problem: Multi-byte support is only available when compiled with "big"
|
||||
features.
|
||||
Solution: Include multi-byte by default, with "normal" features.
|
||||
Solution: Include multibyte by default, with "normal" features.
|
||||
Files: src/feature.h
|
||||
|
||||
Patch 7.3.969
|
||||
@@ -16009,19 +16009,19 @@ Files: src/regexp_nfa.c
|
||||
|
||||
Patch 7.3.980
|
||||
Problem: Regexp logs may contain garbage. Character classes don't work
|
||||
correctly for multi-byte characters.
|
||||
correctly for multibyte characters.
|
||||
Solution: Check for end of post list. Only use "is" functions for
|
||||
characters up to 255. (Ken Takata)
|
||||
Files: src/regexp_nfa.c
|
||||
|
||||
Patch 7.3.981
|
||||
Problem: In the old regexp engine \i, \I, \f and \F don't work on
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
Solution: Dereference pointer properly.
|
||||
Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok
|
||||
|
||||
Patch 7.3.982
|
||||
Problem: In the new regexp engine \p does not work on multi-byte
|
||||
Problem: In the new regexp engine \p does not work on multibyte
|
||||
characters.
|
||||
Solution: Don't point to an integer but the characters.
|
||||
Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
|
||||
@@ -16169,7 +16169,7 @@ Files: src/memfile.c
|
||||
|
||||
Patch 7.3.1008
|
||||
Problem: Test 95 fails on MS-Windows.
|
||||
Solution: Set 'nomore'. Change \i to \f. Change multi-byte character to
|
||||
Solution: Set 'nomore'. Change \i to \f. Change multibyte character to
|
||||
something that is not matching \i. (Ken Takata)
|
||||
Files: src/testdir/test95.in, src/testdir/test95.ok
|
||||
|
||||
@@ -16185,7 +16185,7 @@ Solution: Only apply ireg_icombine for composing characters.
|
||||
Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
|
||||
|
||||
Patch 7.3.1011
|
||||
Problem: New regexp engine is inefficient with multi-byte characters.
|
||||
Problem: New regexp engine is inefficient with multibyte characters.
|
||||
Solution: Handle a character at a time instead of a byte at a time. Also
|
||||
make \Z partly work.
|
||||
Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
|
||||
@@ -16313,7 +16313,7 @@ Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok,
|
||||
src/regexp.h
|
||||
|
||||
Patch 7.3.1034
|
||||
Problem: New regexp code using strange multi-byte code.
|
||||
Problem: New regexp code using strange multibyte code.
|
||||
Solution: Use the normal code to advance and backup pointers.
|
||||
Files: src/regexp_nfa.c
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version8.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
*version8.txt* For Vim version 8.2. Last change: 2020 Dec 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -76,7 +76,7 @@ Timers ~
|
||||
Also asynchronous are timers. They can fire once or repeatedly and invoke a
|
||||
function to do any work. For example: >
|
||||
let tempTimer = timer_start(4000, 'CheckTemp')
|
||||
This will call the CheckTemp() function four seconds (4000 milli seconds)
|
||||
This will call the CheckTemp() function four seconds (4000 milliseconds)
|
||||
later. See |timer_start()|.
|
||||
|
||||
|
||||
@@ -550,7 +550,7 @@ Files: src/eval.c, src/version.c
|
||||
|
||||
Patch 7.4.012
|
||||
Problem: MS-Windows: resolving shortcut does not work properly with
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
Solution: Use wide system functions. (Ken Takata)
|
||||
Files: src/os_mswin.c
|
||||
|
||||
@@ -565,7 +565,7 @@ Solution: Fix #ifdefs. (Ken Takata)
|
||||
Files: src/fileio.c
|
||||
|
||||
Patch 7.4.015
|
||||
Problem: MS-Windows: Detecting node type does not work for multi-byte
|
||||
Problem: MS-Windows: Detecting node type does not work for multibyte
|
||||
characters.
|
||||
Solution: Use wide character function when needed. (Ken Takata)
|
||||
Files: src/os_win32.c
|
||||
@@ -590,7 +590,7 @@ Files: src/edit.c
|
||||
Patch 7.4.019
|
||||
Problem: MS-Windows: File name completion doesn't work properly with
|
||||
Chinese characters. (Yue Wu)
|
||||
Solution: Take care of multi-byte characters when looking for the start of
|
||||
Solution: Take care of multibyte characters when looking for the start of
|
||||
the file name. (Ken Takata)
|
||||
Files: src/edit.c
|
||||
|
||||
@@ -639,7 +639,7 @@ Solution: Don't call mb_ptr_back() at the start of the line. Add a test.
|
||||
Files: src/edit.c, src/testdir/test32.in
|
||||
|
||||
Patch 7.4.028
|
||||
Problem: Equivalence classes are not working for multi-byte characters.
|
||||
Problem: Equivalence classes are not working for multibyte characters.
|
||||
Solution: Copy the rules from the old to the new regexp engine. Add a test
|
||||
to check both engines.
|
||||
Files: src/regexp_nfa.c, src/testdir/test44.in, src/testdir/test99.in,
|
||||
@@ -1206,7 +1206,7 @@ Files: src/ex_docmd.c
|
||||
|
||||
Patch 7.4.122
|
||||
Problem: Win32: When 'encoding' is set to "utf-8" and the active codepage
|
||||
is cp932 then ":grep" and other commands don't work for multi-byte
|
||||
is cp932 then ":grep" and other commands don't work for multibyte
|
||||
characters.
|
||||
Solution: (Yasuhiro Matsumoto)
|
||||
Files: src/os_win32.c
|
||||
@@ -1222,7 +1222,7 @@ Solution: Use GetComputerNameW() if possible. (Ken Takata)
|
||||
Files: src/os_win32.c
|
||||
|
||||
Patch 7.4.125
|
||||
Problem: Win32: Dealing with messages may not work for multi-byte chars.
|
||||
Problem: Win32: Dealing with messages may not work for multibyte chars.
|
||||
Solution: Use pDispatchMessage(). (Ken Takata)
|
||||
Files: src/os_win32.c
|
||||
|
||||
@@ -1566,7 +1566,7 @@ Solution: Remember the original insert start position. (Christian Brabandt,
|
||||
Files: src/edit.c, src/globals.h, src/ops.c, src/structs.h
|
||||
|
||||
Patch 7.4.187
|
||||
Problem: Delete that crosses line break splits multi-byte character.
|
||||
Problem: Delete that crosses line break splits multibyte character.
|
||||
Solution: Advance a character instead of a byte. (Cade Foster)
|
||||
Files: src/normal.c, src/testdir/test69.in, src/testdir/test69.ok
|
||||
|
||||
@@ -1679,7 +1679,7 @@ Files: src/quickfix.c, src/testdir/Make_amiga.mak,
|
||||
|
||||
Patch 7.4.204
|
||||
Problem: A mapping where the second byte is 0x80 doesn't work.
|
||||
Solution: Unescape before checking for incomplete multi-byte char. (Nobuhiro
|
||||
Solution: Unescape before checking for incomplete multibyte char. (Nobuhiro
|
||||
Takasaki)
|
||||
Files: src/getchar.c, src/testdir/test75.in, src/testdir/test75.ok
|
||||
|
||||
@@ -2385,13 +2385,13 @@ Solution: Use the msgfmt command found by configure. (Danek Duvall)
|
||||
Files: src/config.mk.in, src/po/Makefile
|
||||
|
||||
Patch 7.4.323
|
||||
Problem: substitute() with zero width pattern breaks multi-byte character.
|
||||
Solution: Take multi-byte character size into account. (Yukihiro Nakadaira)
|
||||
Problem: substitute() with zero width pattern breaks multibyte character.
|
||||
Solution: Take multibyte character size into account. (Yukihiro Nakadaira)
|
||||
Files: src/eval.c src/testdir/test69.in, src/testdir/test69.ok
|
||||
|
||||
Patch 7.4.324
|
||||
Problem: In Ex mode, cyrillic characters are not handled. (Stas Malavin)
|
||||
Solution: Support multi-byte characters in Ex mode. (Yukihiro Nakadaira)
|
||||
Solution: Support multibyte characters in Ex mode. (Yukihiro Nakadaira)
|
||||
Files: src/ex_getln.c
|
||||
|
||||
Patch 7.4.325
|
||||
@@ -2810,7 +2810,7 @@ Files: src/eval.c
|
||||
|
||||
Patch 7.4.393
|
||||
Problem: Text drawing on newer MS-Windows systems is suboptimal. Some
|
||||
multi-byte characters are not displayed, even though the same font
|
||||
multibyte characters are not displayed, even though the same font
|
||||
in Notepad can display them. (Srinath Avadhanula)
|
||||
Solution: Add the 'renderoptions' option to enable DirectX drawing. (Taro
|
||||
Muraoka)
|
||||
@@ -2913,7 +2913,7 @@ Solution: Reset the update_Insstart_orig flag. (Christian Brabandt)
|
||||
Files: src/edit.c, src/testdir/test39.in, src/testdir/test39.ok
|
||||
|
||||
Patch 7.4.408
|
||||
Problem: Visual block insert breaks a multi-byte character.
|
||||
Problem: Visual block insert breaks a multibyte character.
|
||||
Solution: Calculate the position properly. (Yasuhiro Matsumoto)
|
||||
Files: src/ops.c, src/testdir/test_utf8.in, src/testdir/test_utf8.ok,
|
||||
src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
|
||||
@@ -3275,14 +3275,14 @@ Files: src/testdir/Make_dos.mak, src/testdir/test11.in,
|
||||
src/testdir/test100.in
|
||||
|
||||
Patch 7.4.471
|
||||
Problem: MS-Windows: When printer name contains multi-byte, the name is
|
||||
Problem: MS-Windows: When printer name contains multibyte, the name is
|
||||
displayed as ???.
|
||||
Solution: Convert the printer name from the active codepage to 'encoding'.
|
||||
(Yasuhiro Matsumoto)
|
||||
Files: src/os_mswin.c
|
||||
|
||||
Patch 7.4.472
|
||||
Problem: The "precedes" entry in 'listchar' will be drawn when 'showbreak'
|
||||
Problem: The "precedes" entry in 'listchars' will be drawn when 'showbreak'
|
||||
is set and 'list' is not.
|
||||
Solution: Only draw this character when 'list' is on. (Christian Brabandt)
|
||||
Files: src/screen.c
|
||||
@@ -3737,9 +3737,9 @@ Solution: Move these vim_snprintf() calls into a function.
|
||||
Files: src/window.c
|
||||
|
||||
Patch 7.4.547
|
||||
Problem: Using "vit" does not select a multi-byte character at the end
|
||||
Problem: Using "vit" does not select a multibyte character at the end
|
||||
correctly.
|
||||
Solution: Advance the cursor over the multi-byte character. (Christian
|
||||
Solution: Advance the cursor over the multibyte character. (Christian
|
||||
Brabandt)
|
||||
Files: src/search.c
|
||||
|
||||
@@ -4334,7 +4334,7 @@ Solution: Put "-ldl" in LIBS rather than LDFLAGS. (Ozaki Kiichi)
|
||||
Files: src/configure.in, src/auto/configure
|
||||
|
||||
Patch 7.4.651 (after 7.4.582)
|
||||
Problem: Can't match "%>80v" properly for multi-byte characters.
|
||||
Problem: Can't match "%>80v" properly for multibyte characters.
|
||||
Solution: Multiply the character number by the maximum number of bytes in a
|
||||
character. (Yasuhiro Matsumoto)
|
||||
Files: src/regexp_nfa.c
|
||||
@@ -4424,7 +4424,7 @@ Solution: Check if 'numberwidth' changed. (Christian Brabandt)
|
||||
Files: src/screen.c, src/structs.h
|
||||
|
||||
Patch 7.4.665
|
||||
Problem: 'linebreak' does not work properly with multi-byte characters.
|
||||
Problem: 'linebreak' does not work properly with multibyte characters.
|
||||
Solution: Compute the pointer offset with mb_head_off(). (Yasuhiro
|
||||
Matsumoto)
|
||||
Files: src/screen.c
|
||||
@@ -4512,7 +4512,7 @@ Solution: Truncate to 255 colors. (Yasuhiro Matsumoto)
|
||||
Files: src/os_win32.c
|
||||
|
||||
Patch 7.4.680
|
||||
Problem: CTRL-W in Insert mode does not work well for multi-byte
|
||||
Problem: CTRL-W in Insert mode does not work well for multibyte
|
||||
characters.
|
||||
Solution: Use mb_get_class(). (Yasuhiro Matsumoto)
|
||||
Files: src/edit.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
|
||||
@@ -5051,7 +5051,7 @@ Solution: Change the way escape sequences are recognized. (partly by
|
||||
Files: src/ascii.h, src/term.c
|
||||
|
||||
Patch 7.4.771
|
||||
Problem: Search does not handle multi-byte character at the start position
|
||||
Problem: Search does not handle multibyte character at the start position
|
||||
correctly.
|
||||
Solution: Take byte size of character into account. (Yukihiro Nakadaira)
|
||||
Files: src/search.c, src/testdir/Make_amiga.mak,
|
||||
@@ -5388,7 +5388,7 @@ Files: src/testdir/test_increment.in, src/testdir/test_increment.ok,
|
||||
src/ops.c
|
||||
|
||||
Patch 7.4.824 (after 7.4.813)
|
||||
Problem: Can't compile without the multi-byte feature. (John Marriott)
|
||||
Problem: Can't compile without the multibyte feature. (John Marriott)
|
||||
Solution: Add #ifdef.
|
||||
Files: src/eval.c
|
||||
|
||||
@@ -5399,7 +5399,7 @@ Files: src/syntax.c
|
||||
|
||||
Patch 7.4.826
|
||||
Problem: Compiler warnings and errors.
|
||||
Solution: Make it build properly without the multi-byte feature.
|
||||
Solution: Make it build properly without the multibyte feature.
|
||||
Files: src/eval.c, src/search.c
|
||||
|
||||
Patch 7.4.827
|
||||
@@ -5477,7 +5477,7 @@ Solution: Send a WM_CLOSE message. (Jurgen Kramer)
|
||||
Files: src/gui_w32.c
|
||||
|
||||
Patch 7.4.841
|
||||
Problem: Can't compile without the multi-byte feature. (John Marriott)
|
||||
Problem: Can't compile without the multibyte feature. (John Marriott)
|
||||
Solution: Add more #ifdef's.
|
||||
Files: src/option.c
|
||||
|
||||
@@ -5512,7 +5512,7 @@ Files: Filelist, CONTRIBUTING.md
|
||||
|
||||
Patch 7.4.847
|
||||
Problem: "vi)d" may leave a character behind.
|
||||
Solution: Skip over multi-byte character. (Christian Brabandt)
|
||||
Solution: Skip over multibyte character. (Christian Brabandt)
|
||||
Files: src/search.c
|
||||
|
||||
Patch 7.4.848
|
||||
@@ -5969,9 +5969,9 @@ Files: runtime/doc/options.txt, runtime/doc/repeat.txt, src/ops.c,
|
||||
src/option.h, src/screen.c
|
||||
|
||||
Patch 7.4.926
|
||||
Problem: Completing the longest match doesn't work properly with multi-byte
|
||||
Problem: Completing the longest match doesn't work properly with multibyte
|
||||
characters.
|
||||
Solution: When using multi-byte characters use another way to find the
|
||||
Solution: When using multibyte characters use another way to find the
|
||||
longest match. (Hirohito Higashi)
|
||||
Files: src/ex_getln.c, src/testdir/test_utf8.in, src/testdir/test_utf8.ok
|
||||
|
||||
@@ -9038,7 +9038,7 @@ Files: src/if_sniff.c, src/if_sniff.h, src/charset.c, src/edit.c,
|
||||
|
||||
Patch 7.4.1434
|
||||
Problem: JSON encoding doesn't handle surrogate pair.
|
||||
Solution: Improve multi-byte handling of JSON. (Yasuhiro Matsumoto)
|
||||
Solution: Improve multibyte handling of JSON. (Yasuhiro Matsumoto)
|
||||
Files: src/json.c, src/testdir/test_json.vim
|
||||
|
||||
Patch 7.4.1435
|
||||
@@ -9092,7 +9092,7 @@ Solution: Use gtk_widget_get_window(). Fix typos. (Dominique Pelle)
|
||||
Files: src/gui_gtk_x11.c
|
||||
|
||||
Patch 7.4.1444
|
||||
Problem: Can't build with JSON but without multi-byte.
|
||||
Problem: Can't build with JSON but without multibyte.
|
||||
Solution: Fix pointer name.
|
||||
Files: src/json.c
|
||||
|
||||
@@ -9351,7 +9351,7 @@ Solution: Add #ifdef. (Dominique Pelle)
|
||||
Files: src/gui_gtk_x11.c
|
||||
|
||||
Patch 7.4.1491
|
||||
Problem: Visual-block shift breaks multi-byte characters.
|
||||
Problem: Visual-block shift breaks multibyte characters.
|
||||
Solution: Compute column differently. (Yasuhiro Matsumoto) Add a test.
|
||||
Files: src/ops.c, src/testdir/test_visual.vim, src/testdir/Make_all.mak
|
||||
|
||||
@@ -10491,7 +10491,7 @@ Solution: Fix the coding style. (Ken Takata)
|
||||
Files: src/if_ruby.c
|
||||
|
||||
Patch 7.4.1690
|
||||
Problem: Can't compile with the conceal feature but without multi-byte.
|
||||
Problem: Can't compile with the conceal feature but without multibyte.
|
||||
Solution: Adjust #ifdef. (Owen Leibman)
|
||||
Files: src/eval.c, src/window.c
|
||||
|
||||
@@ -10547,7 +10547,7 @@ Files: src/ex_cmds2.c, src/testdir/test_packadd.vim
|
||||
|
||||
Patch 7.4.1700
|
||||
Problem: Equivalence classes are not properly tested.
|
||||
Solution: Add tests for multi-byte and latin1. Fix an error. (Owen Leibman)
|
||||
Solution: Add tests for multibyte and latin1. Fix an error. (Owen Leibman)
|
||||
Files: src/regexp.c, src/testdir/Make_all.mak,
|
||||
src/testdir/test_alot_latin.vim, src/testdir/test_alot_utf8.vim,
|
||||
src/testdir/test_regexp_latin.vim,
|
||||
@@ -11027,7 +11027,7 @@ Solution: Change the condition for the mode. (Christian Brabandt)
|
||||
Files: src/eval.c
|
||||
|
||||
Patch 7.4.1782
|
||||
Problem: strcharpart() does not work properly with some multi-byte
|
||||
Problem: strcharpart() does not work properly with some multibyte
|
||||
characters.
|
||||
Solution: Use mb_cptr2len() instead of mb_char2len(). (Hirohito Higashi)
|
||||
Files: src/eval.c, src/testdir/test_expr_utf8.vim
|
||||
@@ -15896,7 +15896,7 @@ Files: src/term.c, src/term.h, src/option.c, src/misc2.c, src/keymap.h,
|
||||
src/vim.h, src/proto/edit.pro, runtime/doc/term.txt
|
||||
|
||||
Patch 8.0.0211 (after 8.0.0210)
|
||||
Problem: Build fails if the multi-byte feature is disabled.
|
||||
Problem: Build fails if the multibyte feature is disabled.
|
||||
Solution: Change #ifdef around ins_char_bytes.
|
||||
Files: src/misc1.c
|
||||
|
||||
@@ -15960,7 +15960,7 @@ Solution: Remove the check for PROTO. (Hirohito Higashi)
|
||||
Files: src/misc1.c
|
||||
|
||||
Patch 8.0.0222
|
||||
Problem: When a multi-byte character ends in a zero byte, putting blockwise
|
||||
Problem: When a multibyte character ends in a zero byte, putting blockwise
|
||||
text puts it before the character instead of after it.
|
||||
Solution: Use int instead of char for the character under the cursor.
|
||||
(Luchr, closes #1403) Add a test.
|
||||
@@ -16132,9 +16132,9 @@ Files: .travis.yml
|
||||
|
||||
Patch 8.0.0250
|
||||
Problem: When virtcol() gets a column that is not the first byte of a
|
||||
multi-byte character the result is unpredictable. (Christian
|
||||
multibyte character the result is unpredictable. (Christian
|
||||
Ludwig)
|
||||
Solution: Correct the column to the first byte of a multi-byte character.
|
||||
Solution: Correct the column to the first byte of a multibyte character.
|
||||
Change the utf-8 test to new style.
|
||||
Files: src/charset.c, src/testdir/test_utf8.in, src/testdir/test_utf8.ok,
|
||||
src/testdir/test_utf8.vim, src/Makefile, src/testdir/Make_all.mak,
|
||||
@@ -16321,7 +16321,7 @@ Solution: Check the MSVC version and use the right dll name. (Ken Takata)
|
||||
Files: src/Make_mvc.mak
|
||||
|
||||
Patch 8.0.0280
|
||||
Problem: On MS-Windows setting an environment variable with multi-byte
|
||||
Problem: On MS-Windows setting an environment variable with multibyte
|
||||
strings does not work well.
|
||||
Solution: Use wputenv when possible. (Taro Muraoka, Ken Takata)
|
||||
Files: src/misc1.c, src/os_win32.c, src/os_win32.h,
|
||||
@@ -17777,7 +17777,7 @@ Files: runtime/doc/eval.txt, src/evalfunc.c, src/quickfix.c,
|
||||
src/testdir/test_quickfix.vim
|
||||
|
||||
Patch 8.0.0518
|
||||
Problem: Storing a zero byte from a multi-byte character causes fold text
|
||||
Problem: Storing a zero byte from a multibyte character causes fold text
|
||||
to show up wrong.
|
||||
Solution: Avoid putting zero in ScreenLines. (Christian Brabandt,
|
||||
closes #1567)
|
||||
@@ -17818,13 +17818,13 @@ Files: src/ops.c, src/proto/ui.pro, src/ui.c, src/globals.h,
|
||||
src/testdir/test_alot.vim
|
||||
|
||||
Patch 8.0.0523
|
||||
Problem: dv} deletes part of a multi-byte character. (Urtica Dioica)
|
||||
Problem: dv} deletes part of a multibyte character. (Urtica Dioica)
|
||||
Solution: Include the whole character.
|
||||
Files: src/search.c, src/testdir/test_normal.vim
|
||||
|
||||
Patch 8.0.0524 (after 8.0.0518)
|
||||
Problem: Folds are messed up when 'encoding' is "utf-8".
|
||||
Solution: Also set the fold character when it's not multi-byte.
|
||||
Solution: Also set the fold character when it's not multibyte.
|
||||
Files: src/screen.c, src/testdir/test_display.vim
|
||||
|
||||
Patch 8.0.0525
|
||||
@@ -19204,7 +19204,7 @@ Files: src/structs.h, src/os_unix.c, src/terminal.c, src/channel.c,
|
||||
src/proto/os_unix.pro, src/os_win32.c, src/proto/os_win32.pro
|
||||
|
||||
Patch 8.0.0745
|
||||
Problem: multi-byte characters in a terminal window are not displayed
|
||||
Problem: multibyte characters in a terminal window are not displayed
|
||||
properly.
|
||||
Solution: Set the unused screen characters. (Yasuhiro Matsumoto, closes
|
||||
#1857)
|
||||
@@ -19380,7 +19380,7 @@ Solution: Use OUTDIR. (Ken Takata)
|
||||
Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/libvterm/Makefile.msc
|
||||
|
||||
Patch 8.0.0774
|
||||
Problem: Build failure without the multi-byte feature on HPUX.
|
||||
Problem: Build failure without the multibyte feature on HPUX.
|
||||
Solution: Move #ifdefs. (John Marriott)
|
||||
Files: src/term.c
|
||||
|
||||
@@ -19526,7 +19526,7 @@ Files: src/terminal.c
|
||||
|
||||
Patch 8.0.0800
|
||||
Problem: Terminal window scrollback contents is wrong.
|
||||
Solution: Fix handling of multi-byte characters (Yasuhiro Matsumoto) Handle
|
||||
Solution: Fix handling of multibyte characters (Yasuhiro Matsumoto) Handle
|
||||
empty lines correctly. (closes #1891)
|
||||
Files: src/terminal.c
|
||||
|
||||
@@ -20139,7 +20139,7 @@ Files: runtime/doc/eval.txt, src/quickfix.c,
|
||||
src/testdir/test_quickfix.vim
|
||||
|
||||
Patch 8.0.0905
|
||||
Problem: MS-Windows: broken multi-byte characters in the console.
|
||||
Problem: MS-Windows: broken multibyte characters in the console.
|
||||
Solution: Restore all regions of the console buffer. (Ken Takata)
|
||||
Files: src/os_win32.c
|
||||
|
||||
@@ -20574,7 +20574,7 @@ Solution: Do not use a blinking cursor by default.
|
||||
Files: src/terminal.c
|
||||
|
||||
Patch 8.0.0982
|
||||
Problem: When 'encoding' is set to a multi-byte encoding other than utf-8
|
||||
Problem: When 'encoding' is set to a multibyte encoding other than utf-8
|
||||
the characters from their terminal are messed up.
|
||||
Solution: Convert displayed text from utf-8 to 'encoding' for MS-Windows.
|
||||
(Yasuhiro Matsumoto, close #2000)
|
||||
@@ -20600,8 +20600,8 @@ Files: src/Makefile, src/libvterm/src/unicode.c, src/mbyte.c,
|
||||
src/proto/mbyte.pro, src/Make_cyg_ming.mak, src/Make_mvc.mak
|
||||
|
||||
Patch 8.0.0986
|
||||
Problem: Terminal feature always requires multi-byte feature.
|
||||
Solution: Remove #ifdef FEAT_MBYTE, disable terminal without multi-byte.
|
||||
Problem: Terminal feature always requires multibyte feature.
|
||||
Solution: Remove #ifdef FEAT_MBYTE, disable terminal without multibyte.
|
||||
Files: src/terminal.c, src/feature.h
|
||||
|
||||
Patch 8.0.0987
|
||||
@@ -21012,7 +21012,7 @@ Solution: Avoid message for writing file. Source shared.vim when running
|
||||
Files: src/testdir/test_bufline.vim, src/testdir/test_timers.vim
|
||||
|
||||
Patch 8.0.1056
|
||||
Problem: Cannot build with the diff feature but without the multi-byte
|
||||
Problem: Cannot build with the diff feature but without the multibyte
|
||||
feature.
|
||||
Solution: Remove #ifdefs. (John Marriott)
|
||||
Files: src/diff.c
|
||||
@@ -22781,7 +22781,7 @@ Solution: Skip the text.
|
||||
Files: src/testdir/test_iminsert.vim, runtime/doc/options.txt
|
||||
|
||||
Patch 8.0.1342
|
||||
Problem: Cannot build with Motif and multi-byte. (Mohamed Boughaba)
|
||||
Problem: Cannot build with Motif and multibyte. (Mohamed Boughaba)
|
||||
Solution: Use the right input method status flag. (closes #2374)
|
||||
Files: src/mbyte.c
|
||||
|
||||
@@ -24713,7 +24713,7 @@ Solution: Add the file name in the separator line.
|
||||
Files: src/terminal.c
|
||||
|
||||
Patch 8.0.1663 (after 8.0.1660)
|
||||
Problem: Cannot build without multi-byte feature.
|
||||
Problem: Cannot build without multibyte feature.
|
||||
Solution: Add #ifdef.
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
@@ -25710,7 +25710,7 @@ Solution: Escape '?' when needed. Always escape backslash. (closes #2418,
|
||||
Files: src/gui.c
|
||||
|
||||
Patch 8.0.1835
|
||||
Problem: Print document name does not support multi-byte.
|
||||
Problem: Print document name does not support multibyte.
|
||||
Solution: Use StartDocW() if needed. (Yasuhiro Matsumoto, closes #2478)
|
||||
Files: src/os_mswin.c
|
||||
|
||||
@@ -26735,7 +26735,7 @@ Solution: Check the terminal type. (Nobuhiro Takasaki, closes #3106)
|
||||
Files: src/evalfunc.c
|
||||
|
||||
Patch 8.1.0125
|
||||
Problem: Virtual edit replace with multi-byte fails at end of line. (Lukas
|
||||
Problem: Virtual edit replace with multibyte fails at end of line. (Lukas
|
||||
Werling)
|
||||
Solution: use ins_char() to add the character. (Christian Brabandt,
|
||||
closes #3114) Rename PCHAR() to PBYTE() to avoid mistakes like
|
||||
@@ -26977,7 +26977,7 @@ Files: src/dict.c, src/channel.c, src/ex_cmds2.c, src/userfunc.c,
|
||||
src/if_perl.xs, src/if_py_both.h
|
||||
|
||||
Patch 8.1.0168
|
||||
Problem: Output of :marks is too short with multi-byte chars. (Tony
|
||||
Problem: Output of :marks is too short with multibyte chars. (Tony
|
||||
Mechelynck)
|
||||
Solution: Get more bytes from the text line.
|
||||
Files: src/mark.c, src/testdir/test_marks.vim
|
||||
@@ -30303,8 +30303,8 @@ Solution: Make a copy of the sourced file name.
|
||||
Files: src/ex_cmds2.c
|
||||
|
||||
Patch 8.1.0733
|
||||
Problem: Too many #ifdefs for the multi-byte feature.
|
||||
Solution: Tentatively always enable the multi-byte feature. If you have a
|
||||
Problem: Too many #ifdefs for the multibyte feature.
|
||||
Solution: Tentatively always enable the multibyte feature. If you have a
|
||||
problem with this, please discuss on the Vim maillist.
|
||||
Files: src/configure.ac, src/auto/configure, src/feature.h, src/Makefile,
|
||||
src/Make_bc5.mak, src/Make_cyg_ming.mak, src/Make_mvc.mak
|
||||
@@ -31143,8 +31143,8 @@ Solution: Make them the same, update docs. (close #3882)
|
||||
Files: src/option.c, runtime/doc/options.txt, runtime/doc/indent.txt
|
||||
|
||||
Patch 8.1.0859
|
||||
Problem: "%v" in 'errorformat' does not handle multi-byte characters.
|
||||
Solution: Handle multi-byte characters. (Yegappan Lakshmanan, closes #3700)
|
||||
Problem: "%v" in 'errorformat' does not handle multibyte characters.
|
||||
Solution: Handle multibyte characters. (Yegappan Lakshmanan, closes #3700)
|
||||
Files: src/quickfix.c, src/testdir/test_quickfix.vim
|
||||
|
||||
Patch 8.1.0860
|
||||
@@ -32563,7 +32563,7 @@ Solution: Use GetLongPathNameW() instead of GetLongPathName(). (Ken Takata,
|
||||
Files: src/eval.c
|
||||
|
||||
Patch 8.1.1091
|
||||
Problem: MS-Windows: cannot use multi-byte chars in environment var.
|
||||
Problem: MS-Windows: cannot use multibyte chars in environment var.
|
||||
Solution: Use the wide API. (Ken Takata, closes #4008)
|
||||
Files: src/misc1.c, src/testdir/test_let.vim
|
||||
|
||||
@@ -35835,7 +35835,7 @@ Files: src/ex_cmds2.c, src/getchar.c, src/testdir/test_mapping.vim,
|
||||
Patch 8.1.1592
|
||||
Problem: May start file dialog while exiting.
|
||||
Solution: Ignore the "browse" modifier when exiting. (Ozaki Kiichi,
|
||||
closes #4582
|
||||
closes #4582)
|
||||
Files: src/ex_cmds.c, src/terminal.c
|
||||
|
||||
Patch 8.1.1593
|
||||
@@ -36218,7 +36218,7 @@ Solution: Update the screen if needed. Also avoid the cursor being
|
||||
Files: src/beval.c
|
||||
|
||||
Patch 8.1.1655
|
||||
Problem: Popup window border drawn wrong with multi-byte char. (Marcin
|
||||
Problem: Popup window border drawn wrong with multibyte char. (Marcin
|
||||
Szamotulski)
|
||||
Solution: Correct check in mb_fix_col(). (closes #4635)
|
||||
Files: src/mbyte.c, src/testdir/test_popupwin.vim,
|
||||
@@ -37499,13 +37499,13 @@ Files: src/testdir/test_popupwin.vim,
|
||||
src/testdir/dumps/Test_popupwin_previewpopup_6.dump
|
||||
|
||||
Patch 8.1.1857
|
||||
Problem: Cannot use modifier with multi-byte character.
|
||||
Solution: Allow using a multi-byte character, although it doesn't work
|
||||
Problem: Cannot use modifier with multibyte character.
|
||||
Solution: Allow using a multibyte character, although it doesn't work
|
||||
everywhere.
|
||||
Files: src/misc2.c, src/testdir/test_mapping.vim
|
||||
|
||||
Patch 8.1.1858
|
||||
Problem: Test for multi-byte mapping fails on some systems.
|
||||
Problem: Test for multibyte mapping fails on some systems.
|
||||
Solution: Test in another way.
|
||||
Files: src/testdir/test_mapping.vim
|
||||
|
||||
@@ -39372,7 +39372,7 @@ Files: src/term.c, src/getchar.c, src/libvterm/src/vterm_internal.h,
|
||||
|
||||
Patch 8.1.2135
|
||||
Problem: With modifyOtherKeys Alt-a does not work properly.
|
||||
Solution: Remove the ALT modifier. Get multi-byte after applying ALT.
|
||||
Solution: Remove the ALT modifier. Get multibyte after applying ALT.
|
||||
Files: src/getchar.c
|
||||
|
||||
Patch 8.1.2136
|
||||
@@ -39971,8 +39971,8 @@ Solution: Use the wide version of the library function. (closes #5129)
|
||||
Files: src/filepath.c, src/testdir/test_shortpathname.vim
|
||||
|
||||
Patch 8.1.2235
|
||||
Problem: "C" with 'virtualedit' set does not include multi-byte char.
|
||||
Solution: Include the whole multi-byte char. (Nobuhiro Takasaki,
|
||||
Problem: "C" with 'virtualedit' set does not include multibyte char.
|
||||
Solution: Include the whole multibyte char. (Nobuhiro Takasaki,
|
||||
closes #5152)
|
||||
Files: src/ops.c, src/testdir/test_virtualedit.vim
|
||||
|
||||
@@ -41255,7 +41255,7 @@ Files: runtime/doc/autocmd.txt, runtime/doc/change.txt,
|
||||
|
||||
Patch 8.2.0018
|
||||
Problem: :join does not add white space where it should. (Zdenek Dohnal)
|
||||
Solution: Handle joining multiple lines propely.
|
||||
Solution: Handle joining multiple lines properly.
|
||||
Files: src/ops.c, src/testdir/test_join.vim
|
||||
|
||||
Patch 8.2.0019
|
||||
@@ -41337,7 +41337,7 @@ Files: src/channel.c, src/testdir/test_channel.vim
|
||||
|
||||
Patch 8.2.0033
|
||||
Problem: Crash when make_extmatch() runs out of memory.
|
||||
Solution: Check for NULL. (Dominique Pellé, closs #5392)
|
||||
Solution: Check for NULL. (Dominique Pellé, closes #5392)
|
||||
Files: src/regexp_bt.c, src/regexp_nfa.c
|
||||
|
||||
Patch 8.2.0034
|
||||
@@ -41502,7 +41502,7 @@ Files: src/message_test.c, src/message.c
|
||||
|
||||
Patch 8.2.0061
|
||||
Problem: The execute stack can grow big and never shrinks.
|
||||
Solution: Reduce the size in gargage collect.
|
||||
Solution: Reduce the size in garbage collect.
|
||||
Files: src/eval.c
|
||||
|
||||
Patch 8.2.0062
|
||||
@@ -41517,7 +41517,7 @@ Files: src/ops.c
|
||||
|
||||
Patch 8.2.0064
|
||||
Problem: Diffmode completion doesn't use per-window setting.
|
||||
Solution: Check if a window is in diff mode. (Dominique Pell, closes #5419)
|
||||
Solution: Check if a window is in diff mode. (Dominique Pellé, closes #5419)
|
||||
Files: src/buffer.c, src/testdir/test_diffmode.vim
|
||||
|
||||
Patch 8.2.0065
|
||||
@@ -42066,7 +42066,7 @@ Files: src/vim9script.c, src/vim9compile.c, src/vim9execute.c,
|
||||
|
||||
Patch 8.2.0156
|
||||
Problem: Various typos in source files and tests.
|
||||
Solution: Fix the typos. (Emir Sari, closes #5532)
|
||||
Solution: Fix the typos. (Emir Sarı, closes #5532)
|
||||
Files: Makefile, src/INSTALLvms.txt, src/Make_vms.mms, src/beval.h,
|
||||
src/buffer.c, src/charset.c, src/evalvars.c, src/ex_cmds.c,
|
||||
src/ex_docmd.c, src/getchar.c, src/gui.c, src/gui_mac.c,
|
||||
@@ -42263,7 +42263,7 @@ Solution: Check for features. (Dominique Pellé, closes #5561)
|
||||
Files: src/testdir/test_functions.vim, src/testdir/test_highlight.vim
|
||||
|
||||
Patch 8.2.0187
|
||||
Problem: Reduntant code.
|
||||
Problem: Redundant code.
|
||||
Solution: Remove unused assignments. (Dominique Pellé, closes #5557)
|
||||
Files: src/vim9compile.c
|
||||
|
||||
@@ -42445,7 +42445,7 @@ Files: src/filepath.c, src/testdir/test_fnamemodify.vim
|
||||
|
||||
Patch 8.2.0216
|
||||
Problem: Several Vim9 instructions are not tested.
|
||||
Solution: Add more tests. Fix :disassamble output. Make catch with pattern
|
||||
Solution: Add more tests. Fix :disassemble output. Make catch with pattern
|
||||
work.
|
||||
Files: src/testdir/test_vim9_script.vim, src/vim9execute.c,
|
||||
src/vim9compile.c
|
||||
@@ -42557,7 +42557,7 @@ Files: src/buffer.c, src/testdir/test_statusline.vim,
|
||||
src/testdir/dumps/Test_statusline_1.dump
|
||||
|
||||
Patch 8.2.0236
|
||||
Problem: MS-Windows unintall doesn't delete vimtutur.bat.
|
||||
Problem: MS-Windows uninstall doesn't delete vimtutor.bat.
|
||||
Solution: Change directory before deletion. (Ken Takata, closes #5603)
|
||||
Files: src/uninstall.c
|
||||
|
||||
@@ -42583,7 +42583,7 @@ Files: src/os_win32.c, src/testdir/test_channel.vim
|
||||
|
||||
Patch 8.2.0240
|
||||
Problem: Using memory after it was freed. (Dominique Pellé)
|
||||
Solution: Do not mix converion buffer with other buffer.
|
||||
Solution: Do not mix conversion buffer with other buffer.
|
||||
Files: src/viminfo.c, src/vim.h
|
||||
|
||||
Patch 8.2.0241
|
||||
@@ -42665,7 +42665,7 @@ Solution: Change to int. (Mike Williams)
|
||||
Files: src/vim9compile.c
|
||||
|
||||
Patch 8.2.0253
|
||||
Problem: Crash when using :disassamble without argument. (Dhiraj Mishra)
|
||||
Problem: Crash when using :disassemble without argument. (Dhiraj Mishra)
|
||||
Solution: Check for missing argument. (Dominique Pellé, closes #5635,
|
||||
closes #5637)
|
||||
Files: src/vim9execute.c, src/testdir/test_vim9_disassemble.vim,
|
||||
@@ -42795,7 +42795,7 @@ Files: src/testdir/test_autocmd.vim, src/testdir/test_buffer.vim,
|
||||
Patch 8.2.0271
|
||||
Problem: The "num64" feature is available everywhere and building without
|
||||
it causes problems.
|
||||
Solution: Graduage the "num64" feature. (James McCoy, closes #5650)
|
||||
Solution: Graduate the "num64" feature. (James McCoy, closes #5650)
|
||||
Files: src/evalfunc.c, src/feature.h, src/message.c, src/structs.h,
|
||||
src/testdir/test_expr.vim, src/testdir/test_largefile.vim,
|
||||
src/testdir/test_sort.vim, src/testdir/test_vimscript.vim,
|
||||
@@ -42945,7 +42945,7 @@ Files: src/vim9compile.c, src/testdir/test_vim9_script.vim,
|
||||
|
||||
Patch 8.2.0295
|
||||
Problem: Highlighting for :s wrong when using different separator.
|
||||
Solution: Use separat argument for search direction and separator. (Rob
|
||||
Solution: Use separate argument for search direction and separator. (Rob
|
||||
Pilling, closes #5665)
|
||||
Files: src/ex_docmd.c, src/ex_getln.c, src/gui.c, src/normal.c,
|
||||
src/proto/search.pro, src/quickfix.c, src/search.c, src/spell.c,
|
||||
@@ -43093,7 +43093,7 @@ Files: Filelist, src/evalvars.c, src/register.c, src/if_python3.c
|
||||
|
||||
Patch 8.2.0320
|
||||
Problem: No Haiku support.
|
||||
Solution: Add support for Haiku. (Emir Sari, closes #5605)
|
||||
Solution: Add support for Haiku. (Emir Sarı, closes #5605)
|
||||
Files: Filelist, runtime/doc/Makefile, runtime/doc/eval.txt,
|
||||
runtime/doc/gui.txt, runtime/doc/help.txt,
|
||||
runtime/doc/options.txt, runtime/doc/os_haiku.txt,
|
||||
@@ -43377,8 +43377,8 @@ Solution: Make a difference between int and short. (Dominique Pellé,
|
||||
Files: src/message.c
|
||||
|
||||
Patch 8.2.0365
|
||||
Problem: Tag kind can't be a multi-byte character. (Marcin Szamotulski)
|
||||
Solution: Recognize multi-byte character. (closes #5724)
|
||||
Problem: Tag kind can't be a multibyte character. (Marcin Szamotulski)
|
||||
Solution: Recognize multibyte character. (closes #5724)
|
||||
Files: src/tag.c, src/testdir/test_taglist.vim
|
||||
|
||||
Patch 8.2.0366
|
||||
@@ -43467,7 +43467,7 @@ Files: src/textprop.c
|
||||
|
||||
Patch 8.2.0380
|
||||
Problem: Tiny popup when creating a terminal popup without minwidth.
|
||||
Solution: Use a default mininum size of 5 lines of 20 characters.
|
||||
Solution: Use a default minimum size of 5 lines of 20 characters.
|
||||
Files: src/popupwin.c, src/testdir/test_terminal.vim,
|
||||
src/testdir/dumps/Test_terminal_popup_m1.dump
|
||||
|
||||
@@ -44040,7 +44040,7 @@ Files: src/terminal.c
|
||||
|
||||
Patch 8.2.0473
|
||||
Problem: Variables declared in an outer scope.
|
||||
Solution: Decleare variables only in the scope where they are used.
|
||||
Solution: Declare variables only in the scope where they are used.
|
||||
Files: src/evalvars.c
|
||||
|
||||
Patch 8.2.0474 (after 8.2.0403)
|
||||
@@ -44050,12 +44050,12 @@ Files: src/fileio.c, src/testdir/test_autocmd.vim
|
||||
|
||||
Patch 8.2.0475
|
||||
Problem: Channel out_cb test still fails sometimes on Mac.
|
||||
Solution: Use an ever longer timeout.
|
||||
Solution: Use an even longer timeout.
|
||||
Files: src/testdir/test_channel.vim
|
||||
|
||||
Patch 8.2.0476
|
||||
Problem: Terminal nasty callback test fails sometimes.
|
||||
Solution: use term_wait() instead of a sleep. (Yee Cheng Chin,closes #5865)
|
||||
Solution: use term_wait() instead of a sleep. (Yee Cheng Chin, closes #5865)
|
||||
Files: src/testdir/test_terminal.vim
|
||||
|
||||
Patch 8.2.0477
|
||||
@@ -44225,7 +44225,7 @@ Solution: Cleanup the scope list.
|
||||
Files: src/vim9compile.c
|
||||
|
||||
Patch 8.2.0505
|
||||
Problem: term_getty() not sufficiently tested.
|
||||
Problem: term_gettty() not sufficiently tested.
|
||||
Solution: Add more asserts. (Dominique Pellé, closes #5877)
|
||||
Files: src/testdir/test_terminal.vim
|
||||
|
||||
@@ -44406,7 +44406,7 @@ Files: src/testdir/test_search.vim, src/testdir/test_source.vim,
|
||||
|
||||
Patch 8.2.0532
|
||||
Problem: Cannot use simplify() as a method.
|
||||
Solution: Add FEARG_1. (closes #5996)
|
||||
Solution: Add FEARG_1. (closes #5896)
|
||||
Files: runtime/doc/eval.txt, src/evalfunc.c,
|
||||
src/testdir/test_functions.vim
|
||||
|
||||
@@ -44932,7 +44932,7 @@ Files: src/insexpand.c, src/globals.h, src/edit.c, src/ex_getln.c,
|
||||
src/testdir/test_ex_mode.vim, runtime/doc/insert.txt
|
||||
|
||||
Patch 8.2.0615
|
||||
Problem: Regexp benchmark stest is old style.
|
||||
Problem: Regexp benchmark test is old style.
|
||||
Solution: Make it a new style test. Fix using a NULL list. Add more tests.
|
||||
(Yegappan Lakshmanan, closes #5963)
|
||||
Files: src/evalbuffer.c, src/testdir/Make_dos.mak,
|
||||
@@ -44982,7 +44982,7 @@ Files: src/testdir/Makefile, src/Makefile
|
||||
|
||||
Patch 8.2.0622
|
||||
Problem: Haiku: GUI does not compile.
|
||||
Solution: Various fixes. (Emir Sari, closes #5961)
|
||||
Solution: Various fixes. (Emir Sarı, closes #5961)
|
||||
Files: Filelist, README.md, READMEdir/README_haiku.txt,
|
||||
runtime/doc/os_haiku.txt, src/Makefile, src/beval.h,
|
||||
src/gui_haiku.cc, src/proto/gui_haiku.pro
|
||||
@@ -45021,7 +45021,7 @@ Files: src/userfunc.c
|
||||
Patch 8.2.0628
|
||||
Problem: Error in menu translations.
|
||||
Solution: Insert a backslash before a space in one more file. (Shun Bai,
|
||||
Emir Sari)
|
||||
Emir Sarı)
|
||||
Files: runtime/lang/menu_zh_cn.utf-8.vim,
|
||||
runtime/lang/menu_ca_es.latin1.vim,
|
||||
runtime/lang/menu_cs_cz.iso_8859-2.vim,
|
||||
@@ -45287,7 +45287,7 @@ Files: src/testdir/shared.vim, src/testdir/test_messages.vim,
|
||||
|
||||
Patch 8.2.0667
|
||||
Problem: Cannot install Haiku version from source.
|
||||
Solution: Update Makefile and rdef file. (Emir Sari, closes #6013)
|
||||
Solution: Update Makefile and rdef file. (Emir Sarı, closes #6013)
|
||||
Files: Filelist, READMEdir/README_haiku.txt, runtime/doc/os_haiku.txt,
|
||||
src/Makefile, src/os_haiku.rdef.in, src/os_haiku.rdef
|
||||
|
||||
@@ -45313,7 +45313,7 @@ Files: src/ex_getln.c, src/beval.c, src/change.c, src/edit.c, src/eval.c,
|
||||
|
||||
Patch 8.2.0671
|
||||
Problem: Haiku: compiler warnings.
|
||||
Solution: Avoid the warnings. Drop display_errors() copy. (Emir Sari,
|
||||
Solution: Avoid the warnings. Drop display_errors() copy. (Emir Sarı,
|
||||
closes #6018)
|
||||
Files: .gitignore, src/gui.c, src/gui_haiku.cc
|
||||
|
||||
@@ -45566,7 +45566,7 @@ Files: runtime/filetype.vim, src/testdir/test_filetype.vim
|
||||
|
||||
Patch 8.2.0714
|
||||
Problem: Vim9: handling constant expression does not scale.
|
||||
Solution: Use another solution, passint typval_T.
|
||||
Solution: Use another solution, passing typval_T.
|
||||
Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim
|
||||
|
||||
Patch 8.2.0715
|
||||
@@ -45680,7 +45680,7 @@ Solution: Do not check for next line in third pass.
|
||||
Files: src/scriptfile.c
|
||||
|
||||
Patch 8.2.0735
|
||||
Problem: Vim9: using unitialized memory.
|
||||
Problem: Vim9: using uninitialized memory.
|
||||
Solution: Clear the arg_lvar field.
|
||||
Files: src/vim9compile.c
|
||||
|
||||
@@ -45801,7 +45801,7 @@ Files: src/testdir/test_vim9_script.vim
|
||||
Patch 8.2.0755
|
||||
Problem: Vim9: No error when variable initializer is not a constant.
|
||||
Solution: Return FAIL when trying to get a variable value. Do not execute a
|
||||
script when an error is deteted in the first or second phase.
|
||||
script when an error is detected in the first or second phase.
|
||||
Files: src/eval.c, src/vim9script.c, src/testdir/test_vim9_script.vim
|
||||
|
||||
Patch 8.2.0756 (after 8.2.0249)
|
||||
@@ -46003,7 +46003,7 @@ Files: src/libvterm/include/vterm.h, src/libvterm/src/pen.c,
|
||||
|
||||
Patch 8.2.0786
|
||||
Problem: Channel test is flaky on FreeBSD.
|
||||
Solution: Set the sockiet TCP_NODELAY option. Adjust expected line count in
|
||||
Solution: Set the socket TCP_NODELAY option. Adjust expected line count in
|
||||
netbeans test. (Ozaki Kiichi, closes #6097)
|
||||
Files: src/testdir/test_channel.py, src/testdir/test_netbeans.vim
|
||||
|
||||
@@ -46273,7 +46273,7 @@ Solution: Fix off-by-one error.
|
||||
Files: src/userfunc.c
|
||||
|
||||
Patch 8.2.0828
|
||||
Problem: Travis: regexp patttern doesn't work everywhere.
|
||||
Problem: Travis: regexp pattern doesn't work everywhere.
|
||||
Solution: Use [:blank:] instead of \b. (Ozaki Kiichi, closes #6146)
|
||||
Files: .travis.yml, ci/config.mk.clang.sed, ci/config.mk.gcc.sed,
|
||||
ci/config.mk.sed, src/if_ruby.c
|
||||
@@ -46396,7 +46396,7 @@ Files: src/os_win32.c, src/proto/os_win32.pro, src/term.c
|
||||
|
||||
Patch 8.2.0849
|
||||
Problem: BeOS code is not maintained and probably unused.
|
||||
Solution: Remove the BeOS code. (Emir Sari, closes #5817)
|
||||
Solution: Remove the BeOS code. (Emir Sarı, closes #5817)
|
||||
Files: Filelist, src/Makefile, src/configure.ac, src/auto/configure,
|
||||
src/evalfunc.c, src/normal.c, src/os_beos.c, src/os_beos.h,
|
||||
src/os_beos.rsrc, src/os_unix.c, src/proto.h,
|
||||
@@ -46404,7 +46404,7 @@ Files: Filelist, src/Makefile, src/configure.ac, src/auto/configure,
|
||||
src/testdir/test_functions.vim, src/ui.c, src/vim.h
|
||||
|
||||
Patch 8.2.0850
|
||||
Problem: MS-Windows: exepath() works different from cmd.exe.
|
||||
Problem: MS-Windows: exepath() works differently from cmd.exe.
|
||||
Solution: Make exepath() work better on MS-Windows. (closes #6115)
|
||||
Files: runtime/doc/eval.txt, src/os_win32.c,
|
||||
src/testdir/test_functions.vim
|
||||
@@ -46431,7 +46431,7 @@ Files: src/buffer.c, src/change.c, src/diff.c, src/evalbuffer.c,
|
||||
|
||||
Patch 8.2.0854
|
||||
Problem: Xxd cannot show offset as a decimal number.
|
||||
Solution: Add the "-d" flag. (Aapo Rantalainen, closes #5616
|
||||
Solution: Add the "-d" flag. (Aapo Rantalainen, closes #5616)
|
||||
Files: src/testdir/test_xxd.vim, src/xxd/xxd.c
|
||||
|
||||
Patch 8.2.0855
|
||||
@@ -46497,7 +46497,7 @@ Files: runtime/doc/syntax.txt, runtime/doc/term.txt, src/globals.h,
|
||||
|
||||
Patch 8.2.0864
|
||||
Problem: Pragmas are indented all the way to the left.
|
||||
Solution: Add an option to indent progmas like normal code. (Max Rumpf,
|
||||
Solution: Add an option to indent pragmas like normal code. (Max Rumpf,
|
||||
closes #5468)
|
||||
Files: runtime/doc/indent.txt, src/cindent.c, src/structs.h,
|
||||
src/testdir/test_cindent.vim
|
||||
@@ -46558,7 +46558,7 @@ Files: runtime/doc/eval.txt, src/evalfunc.c, src/mark.c,
|
||||
src/testdir/test_marks.vim
|
||||
|
||||
Patch 8.2.0872
|
||||
Problem: XIM code is mixed with multi-byte code.
|
||||
Problem: XIM code is mixed with multibyte code.
|
||||
Solution: Move the XIM code to a separate file. (Yegappan Lakshmanan,
|
||||
closes #6177)
|
||||
Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak,
|
||||
@@ -46661,7 +46661,7 @@ Solution: Use // comments. (Yegappan Lakshmanan, closes #6190)
|
||||
Files: src/gui_xim.c
|
||||
|
||||
Patch 8.2.0890
|
||||
Problem: No color in terminal window when 'termguicolor' is set.
|
||||
Problem: No color in terminal window when 'termguicolors' is set.
|
||||
Solution: Clear the underline color. (closes #6186)
|
||||
Files: src/highlight.c
|
||||
|
||||
@@ -46728,14 +46728,14 @@ Files: runtime/doc/change.txt, src/mbyte.c, src/ops.c, src/option.h,
|
||||
|
||||
Patch 8.2.0902
|
||||
Problem: Using searchcount() in 'statusline' causes an error.
|
||||
Solution: Avoid saving/restoring the search patten recursively.
|
||||
Solution: Avoid saving/restoring the search pattern recursively.
|
||||
(closes #6194)
|
||||
Files: src/search.c, src/testdir/test_search_stat.vim,
|
||||
src/testdir/dumps/Test_searchstat_4.dump
|
||||
|
||||
Patch 8.2.0903
|
||||
Problem: comparing WINVER does not work correctly.
|
||||
Solution: Use arithmethic expansion. (Ozaki Kiichi, closes #6197)
|
||||
Solution: Use arithmetic expansion. (Ozaki Kiichi, closes #6197)
|
||||
Files: src/Make_cyg_ming.mak
|
||||
|
||||
Patch 8.2.0904
|
||||
@@ -46817,7 +46817,7 @@ Files: src/getchar.c, src/proto/getchar.pro, src/edit.c, src/term.c,
|
||||
src/proto/term.pro, src/testdir/test_termcodes.vim
|
||||
|
||||
Patch 8.2.0917
|
||||
Problem: Quickfix entries do not suport a "note" type.
|
||||
Problem: Quickfix entries do not support a "note" type.
|
||||
Solution: Add support for "note". (partly by Yegappan Lakshmanan,
|
||||
closes #5527, closes #6216)
|
||||
Files: runtime/doc/quickfix.txt, src/quickfix.c,
|
||||
@@ -46901,14 +46901,14 @@ Files: runtime/scripts.vim, src/testdir/test_filetype.vim
|
||||
|
||||
Patch 8.2.0931
|
||||
Problem: Some remarks about BeOS remain.
|
||||
Solution: Remove BeOS remarks from the help and other files. (Emir Sari,
|
||||
Solution: Remove BeOS remarks from the help and other files. (Emir Sarı,
|
||||
closes #6221)
|
||||
Files: READMEdir/README_extra.txt, runtime/doc/options.txt,
|
||||
runtime/doc/os_beos.txt, runtime/doc/os_vms.txt,
|
||||
runtime/doc/vi_diff.txt, src/INSTALL
|
||||
|
||||
Patch 8.2.0932
|
||||
Problem: Missspelling spelllang.
|
||||
Problem: Misspelling spelllang.
|
||||
Solution: Add an "l". (Dominique Pellé)
|
||||
Files: src/optionstr.c, src/proto/spell.pro, src/spell.c
|
||||
|
||||
@@ -47364,7 +47364,7 @@ Solution: Skip over "++arg". (Christian Brabandt, closes #6275,
|
||||
Files: src/cmdexpand.c, src/testdir/test_cmdline.vim
|
||||
|
||||
Patch 8.2.1008
|
||||
Problem: Vim9: no test for disassambling newly added instructions.
|
||||
Problem: Vim9: no test for disassembling newly added instructions.
|
||||
Solution: Add a function and check disassembly.
|
||||
Files: src/testdir/test_vim9_disassemble.vim
|
||||
|
||||
@@ -47480,7 +47480,7 @@ Solution: Check for a continuation line after "->", "[" and ".". Ignore
|
||||
Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim
|
||||
|
||||
Patch 8.2.1027
|
||||
Problem: GUI: multi-byte characters do not work in a terminal.
|
||||
Problem: GUI: multibyte characters do not work in a terminal.
|
||||
Solution: Do not assume a key is one byte. (closes #6304)
|
||||
Files: src/gui_gtk_x11.c, src/gui_x11.c
|
||||
|
||||
@@ -47697,8 +47697,8 @@ Solution: Check for operator after line break.
|
||||
Files: src/eval.c, src/testdir/test_vim9_expr.vim
|
||||
|
||||
Patch 8.2.1064
|
||||
Problem: Vim9: no line break allowed before comperators.
|
||||
Solution: Check for comperator after line break.
|
||||
Problem: Vim9: no line break allowed before comparators.
|
||||
Solution: Check for comparator after line break.
|
||||
Files: src/eval.c, src/testdir/test_vim9_expr.vim
|
||||
|
||||
Patch 8.2.1065
|
||||
@@ -47839,7 +47839,7 @@ Files: src/filepath.c
|
||||
|
||||
Patch 8.2.1088
|
||||
Problem: A very long translation might cause a buffer overflow.
|
||||
Solution: Trunctate the message if needed.
|
||||
Solution: Truncate the message if needed.
|
||||
Files: src/fileio.c
|
||||
|
||||
Patch 8.2.1089
|
||||
@@ -48001,7 +48001,7 @@ Solution: Adjust how a command is parsed.
|
||||
Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim
|
||||
|
||||
Patch 8.2.1117
|
||||
Problem: Coverity warns for unsing unitialized field.
|
||||
Problem: Coverity warns for using uninitialized field.
|
||||
Solution: Initialize v_lock.
|
||||
Files: src/if_lua.c
|
||||
|
||||
@@ -48515,7 +48515,7 @@ Solution: Recognize true and false.
|
||||
Files: src/eval.c, src/testdir/test_vim9_expr.vim
|
||||
|
||||
Patch 8.2.1205
|
||||
Problem: Vim9: && and || work different when not compiled.
|
||||
Problem: Vim9: && and || work differently when not compiled.
|
||||
Solution: Keep the value.
|
||||
Files: src/eval.c, src/testdir/test_vim9_expr.vim
|
||||
|
||||
@@ -48545,7 +48545,7 @@ Problem: Using ht_used when looping through a hashtab is less reliable.
|
||||
Solution: Use ht_changed in a few more places.
|
||||
Files: src/userfunc.c, src/if_py_both.h
|
||||
|
||||
Patch 8.2.1211 (after 8.2.1118
|
||||
Patch 8.2.1211 (after 8.2.1118)
|
||||
Problem: Removed more than dead code.
|
||||
Solution: Put back the decrement.
|
||||
Files: src/move.c, src/testdir/test_diffmode.vim
|
||||
@@ -48832,7 +48832,7 @@ Files: src/buffer.c, src/testdir/test_tabline.vim
|
||||
Patch 8.2.1260
|
||||
Problem: There is no good test for CursorHold.
|
||||
Solution: Add a test. Remove duplicated test. (Yegappan Lakshmanan,
|
||||
closes #6503
|
||||
closes #6503)
|
||||
Files: src/testdir/test_autocmd.vim, src/testdir/test_buffer.vim,
|
||||
src/testdir/test_normal.vim
|
||||
|
||||
@@ -48852,7 +48852,7 @@ Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak,
|
||||
src/proto/ex_cmds.pro, src/proto/help.pro
|
||||
|
||||
Patch 8.2.1263
|
||||
Problem: Vim9: comperators use 'ignorecase' in Vim9 script.
|
||||
Problem: Vim9: comparators use 'ignorecase' in Vim9 script.
|
||||
Solution: Ignore 'ignorecase'. Use true and false instead of 1 and 0.
|
||||
(closes #6497)
|
||||
Files: src/eval.c, src/typval.c, src/vim9execute.c,
|
||||
@@ -49043,7 +49043,7 @@ Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
|
||||
src/testdir/test_regexp_utf8.vim
|
||||
|
||||
Patch 8.2.1296
|
||||
Problem: Some part of using 'smarcase' was not tested.
|
||||
Problem: Some part of using 'smartcase' was not tested.
|
||||
Solution: Add more tests. (Dominique Pellé, closes #6538)
|
||||
Files: src/testdir/test_search.vim
|
||||
|
||||
@@ -49334,7 +49334,7 @@ Files: src/testdir/test_vim9_func.vim
|
||||
|
||||
Patch 8.2.1345
|
||||
Problem: Redraw error when using visual block and scroll.
|
||||
Solution: Add check for w_topline. ( closes #6597)
|
||||
Solution: Add check for w_topline. (closes #6597)
|
||||
Files: src/drawscreen.c, src/testdir/test_display.vim,
|
||||
src/testdir/dumps/Test_display_visual_block_scroll.dump
|
||||
|
||||
@@ -49504,7 +49504,7 @@ Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim
|
||||
|
||||
Patch 8.2.1376
|
||||
Problem: Vim9: expression mapping causes error for using :import.
|
||||
Solution: Add EX_LOCK_OK to :import and :export. (closes 3606)
|
||||
Solution: Add EX_LOCK_OK to :import and :export. (closes #6606)
|
||||
Files: src/ex_cmds.h, src/testdir/test_vim9_script.vim
|
||||
|
||||
Patch 8.2.1377
|
||||
@@ -49558,7 +49558,7 @@ Solution: Add a test on Travis for ARM. (Ozaki Kiichi, closes #6615)
|
||||
Files: .travis.yml
|
||||
|
||||
Patch 8.2.1386
|
||||
Problem: Backslash not removed afer space in option with space in
|
||||
Problem: Backslash not removed after space in option with space in
|
||||
'isfname'.
|
||||
Solution: Do remove backslash before space, also when it is in 'isfname'.
|
||||
(Yasuhiro Matsumoto, closes #6651)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user