mirror of
https://github.com/zoriya/vim.git
synced 2025-12-24 08:05:19 +00:00
Compare commits
804 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
823654bc06 | ||
|
|
6cb0726215 | ||
|
|
b42c0d5427 | ||
|
|
09307e3bc1 | ||
|
|
b60db8ba14 | ||
|
|
14798ab9a5 | ||
|
|
c998370562 | ||
|
|
3f65c66df9 | ||
|
|
ca5bc74607 | ||
|
|
a55ba06f69 | ||
|
|
f4b68e9056 | ||
|
|
80a20df86a | ||
|
|
388a5d4f20 | ||
|
|
fcb0b61d15 | ||
|
|
92c098d18e | ||
|
|
285b189260 | ||
|
|
ebc3de634f | ||
|
|
a14e697547 | ||
|
|
1919371b2b | ||
|
|
25e0f5863e | ||
|
|
2eec37926d | ||
|
|
45a1508a22 | ||
|
|
6ff71d8b7f | ||
|
|
f40e51a880 | ||
|
|
822ba24743 | ||
|
|
f7271e8316 | ||
|
|
87202264f8 | ||
|
|
9c65253fe7 | ||
|
|
3718427ba3 | ||
|
|
591cec8366 | ||
|
|
c94c1467b9 | ||
|
|
9cdcd1d0dc | ||
|
|
2e61e2d083 | ||
|
|
5a80f8ad5d | ||
|
|
98f1671cc0 | ||
|
|
4c9243f9fb | ||
|
|
74fae513f8 | ||
|
|
fe81389d60 | ||
|
|
e5886ccb51 | ||
|
|
83a52533b2 | ||
|
|
d863728913 | ||
|
|
eaa3e0dae5 | ||
|
|
a09195f29e | ||
|
|
74c6963656 | ||
|
|
be593bf135 | ||
|
|
904e48a22b | ||
|
|
37ebd42f16 | ||
|
|
88d68de95d | ||
|
|
d098b824c1 | ||
|
|
1e1d2e89fa | ||
|
|
c33b3216c8 | ||
|
|
b5383b174b | ||
|
|
843700875e | ||
|
|
66b3101672 | ||
|
|
deb17451ed | ||
|
|
a2e408f598 | ||
|
|
0b39ec3c7d | ||
|
|
6fc3b59ee9 | ||
|
|
94d729cbe8 | ||
|
|
c4c9f7e43e | ||
|
|
df1643a6a7 | ||
|
|
9309eb2f28 | ||
|
|
2d2970ea59 | ||
|
|
f4e16ae041 | ||
|
|
d4a5f40c0c | ||
|
|
ed37d9b324 | ||
|
|
79ea680e6b | ||
|
|
e178ba3654 | ||
|
|
eb04f0893a | ||
|
|
26e86445bf | ||
|
|
3b1f18f785 | ||
|
|
df671b4629 | ||
|
|
6f5b6dfb16 | ||
|
|
aa5fc4ec51 | ||
|
|
129d6bf6b3 | ||
|
|
e75ba268b3 | ||
|
|
645e3fe3fe | ||
|
|
e882f7a73c | ||
|
|
fd615a3c90 | ||
|
|
a6e67e4f41 | ||
|
|
4457e1d98f | ||
|
|
76cb683097 | ||
|
|
4aeeb63938 | ||
|
|
4dac32caf3 | ||
|
|
270d0388d2 | ||
|
|
cb7904016e | ||
|
|
4902ab16cb | ||
|
|
7e6f3fcc3c | ||
|
|
227a69de1e | ||
|
|
a5d0077efb | ||
|
|
32e351179e | ||
|
|
e06a28f5e3 | ||
|
|
2b72821924 | ||
|
|
7e9f351b2e | ||
|
|
37d1b4f941 | ||
|
|
55ba4b844f | ||
|
|
ef6b979bfa | ||
|
|
03a9f84817 | ||
|
|
d502aa4c10 | ||
|
|
06f0853cb0 | ||
|
|
47e13953ff | ||
|
|
9e6ba8cbef | ||
|
|
5aed0ccb96 | ||
|
|
48a687148c | ||
|
|
c3fd98cf8e | ||
|
|
86181df9f5 | ||
|
|
b415168a98 | ||
|
|
91689ea8ae | ||
|
|
5c3128efe6 | ||
|
|
aacc6afdb8 | ||
|
|
bc38f25c02 | ||
|
|
04816717df | ||
|
|
cb2bdb1c6d | ||
|
|
f163bd5e41 | ||
|
|
7e5bd91dc9 | ||
|
|
1cc2a94f80 | ||
|
|
89483d4043 | ||
|
|
69212b11d1 | ||
|
|
d695ba732d | ||
|
|
3b6a6eb7b4 | ||
|
|
09689a0284 | ||
|
|
396f3138ca | ||
|
|
1c74721233 | ||
|
|
7f14155f42 | ||
|
|
497f76bfbf | ||
|
|
b1062eb23e | ||
|
|
a5565e4189 | ||
|
|
7d3664df90 | ||
|
|
7d131b0715 | ||
|
|
5c2fe64443 | ||
|
|
cca34aa4be | ||
|
|
f0eefce93b | ||
|
|
2cfb4a2a72 | ||
|
|
6115481053 | ||
|
|
0ff5dedf0f | ||
|
|
b2d0e51366 | ||
|
|
4a070cc82e | ||
|
|
ea554ca4fa | ||
|
|
61a8981699 | ||
|
|
f391586f3f | ||
|
|
8a1c101315 | ||
|
|
3657686a0e | ||
|
|
f821ddaa0c | ||
|
|
b68b346e6d | ||
|
|
54ed0dff29 | ||
|
|
2a1381c305 | ||
|
|
40ee466c36 | ||
|
|
015f4267f4 | ||
|
|
f9ab52e155 | ||
|
|
221fcc741a | ||
|
|
0e65d3de0a | ||
|
|
04b1269783 | ||
|
|
80a8d3889b | ||
|
|
2fd4cd755c | ||
|
|
4515bcdec8 | ||
|
|
7779ee30d9 | ||
|
|
5125874951 | ||
|
|
a38b2b737e | ||
|
|
647a530b33 | ||
|
|
41d4299f26 | ||
|
|
2eaeaf3c31 | ||
|
|
3df02f507f | ||
|
|
f7779c63d4 | ||
|
|
5adc55cb74 | ||
|
|
1c0d44f8ef | ||
|
|
0b6849e9e3 | ||
|
|
01f731e97c | ||
|
|
bf67ea1af0 | ||
|
|
d58a662f44 | ||
|
|
c8cd2b34d1 | ||
|
|
37addecc42 | ||
|
|
7ceefb35c8 | ||
|
|
b84a381c75 | ||
|
|
11abd09521 | ||
|
|
4cfde1d273 | ||
|
|
6ab0953fef | ||
|
|
9e175141f3 | ||
|
|
6adb9ea0a6 | ||
|
|
4e5534fab7 | ||
|
|
7f6f56f43c | ||
|
|
2c5c1638a9 | ||
|
|
88e6cc2539 | ||
|
|
a161cb5ddd | ||
|
|
8dbafd0790 | ||
|
|
512fe833c3 | ||
|
|
dfc33a665d | ||
|
|
339d60c89b | ||
|
|
ed8ce057b7 | ||
|
|
939b5db480 | ||
|
|
affc8fd2cd | ||
|
|
a0a9f43ab2 | ||
|
|
7ed8f59ae0 | ||
|
|
224a5f17c6 | ||
|
|
a14bb7e113 | ||
|
|
03afdcf1f4 | ||
|
|
909ed7e902 | ||
|
|
57700ee4ac | ||
|
|
4c17ad94ec | ||
|
|
db93495d27 | ||
|
|
0e71704b77 | ||
|
|
bc970da807 | ||
|
|
759d81549c | ||
|
|
07b761a012 | ||
|
|
99fa721944 | ||
|
|
e297802d6d | ||
|
|
7d41aa8874 | ||
|
|
6378c4fef3 | ||
|
|
cfe435d7fe | ||
|
|
49b2fb36ca | ||
|
|
47a1a8baf9 | ||
|
|
333015a46e | ||
|
|
41f6918bf4 | ||
|
|
e93c968f52 | ||
|
|
92b83ccfda | ||
|
|
9d8d0b5c64 | ||
|
|
92c461ef1b | ||
|
|
b52575f9cf | ||
|
|
7714d7b31f | ||
|
|
65d032c779 | ||
|
|
e71ebb46a2 | ||
|
|
b8ce6b0005 | ||
|
|
f93c7fea08 | ||
|
|
1df8b3fb04 | ||
|
|
a72cfb80cd | ||
|
|
f7b398c6a9 | ||
|
|
beae4084fd | ||
|
|
95a467e7ee | ||
|
|
0d6fe631f7 | ||
|
|
ea04a6e8ba | ||
|
|
db950e4c03 | ||
|
|
d2662ad2de | ||
|
|
e770598f31 | ||
|
|
ad48e6c159 | ||
|
|
ff06f283e3 | ||
|
|
1966c24881 | ||
|
|
2c7f8c574f | ||
|
|
2c5ed4e330 | ||
|
|
faac410409 | ||
|
|
08f4157c5c | ||
|
|
ad4dc83389 | ||
|
|
4da6df40f5 | ||
|
|
2bb76accc6 | ||
|
|
fbf2122cf9 | ||
|
|
7bdaea6e0d | ||
|
|
eb58a24658 | ||
|
|
f49e564082 | ||
|
|
7e0868efcf | ||
|
|
d72c1bf0a6 | ||
|
|
d3aac2917d | ||
|
|
173d841e86 | ||
|
|
61fbb3371e | ||
|
|
90455cfa87 | ||
|
|
ec9749f33d | ||
|
|
a26b9700d7 | ||
|
|
b6fb0516ec | ||
|
|
a494f56f88 | ||
|
|
2695de63e3 | ||
|
|
aa82259fef | ||
|
|
aa0489e12d | ||
|
|
0fc1288aef | ||
|
|
314ca7cbb4 | ||
|
|
21cfe500f3 | ||
|
|
4a8d9f2ed8 | ||
|
|
7a09224583 | ||
|
|
c5f33db888 | ||
|
|
cb711abf0f | ||
|
|
b4a549fb16 | ||
|
|
81ccbf199f | ||
|
|
edd327cc07 | ||
|
|
4d5d0dfe94 | ||
|
|
6c2b7b8055 | ||
|
|
7a1637f4c0 | ||
|
|
067297e16a | ||
|
|
e3242346cf | ||
|
|
352f554b85 | ||
|
|
278e83863b | ||
|
|
df1956075d | ||
|
|
0015795baa | ||
|
|
6e949784be | ||
|
|
fbda69b309 | ||
|
|
55b0fb7001 | ||
|
|
2c330432cf | ||
|
|
1a2f4bf6c8 | ||
|
|
675f716efb | ||
|
|
23e032523e | ||
|
|
5e774c7579 | ||
|
|
9c7e6dd653 | ||
|
|
e6085c5350 | ||
|
|
2196bce56f | ||
|
|
a80faa8930 | ||
|
|
82de464f76 | ||
|
|
bfe13ccc58 | ||
|
|
c5f1ef53c2 | ||
|
|
4fdae9996f | ||
|
|
acc770a10f | ||
|
|
cd630becc8 | ||
|
|
99aaf0ce7c | ||
|
|
1363a30cef | ||
|
|
88c1ee84d6 | ||
|
|
3b922f1138 | ||
|
|
08938eeba4 | ||
|
|
e7f234120f | ||
|
|
fe27081724 | ||
|
|
d19a8f97ad | ||
|
|
880e4d9117 | ||
|
|
1378fbc459 | ||
|
|
8832a34578 | ||
|
|
81ea1dfb97 | ||
|
|
004a6781b3 | ||
|
|
d1caa941d8 | ||
|
|
7b293c730b | ||
|
|
9c8bb7c0e2 | ||
|
|
cab2767874 | ||
|
|
5da356e073 | ||
|
|
4d23c52824 | ||
|
|
25d5700952 | ||
|
|
6a2c5a7dd5 | ||
|
|
7035fd9d90 | ||
|
|
476a613135 | ||
|
|
a65c288134 | ||
|
|
49cf7cc8d2 | ||
|
|
0b76b42d0a | ||
|
|
ec5929d0fe | ||
|
|
86b9a3e8cd | ||
|
|
40655d5016 | ||
|
|
c74fbfedfa | ||
|
|
00d253e2b2 | ||
|
|
ee4e0c1e9a | ||
|
|
15352dc6ec | ||
|
|
6c307dcd55 | ||
|
|
8922860afb | ||
|
|
5ba8d3578c | ||
|
|
4c68375057 | ||
|
|
f87a0400fd | ||
|
|
b8ed3aa9e7 | ||
|
|
bdff012f44 | ||
|
|
5d905c2b96 | ||
|
|
5deeb3f1f9 | ||
|
|
d7ffc0ba8c | ||
|
|
8d4ed11da6 | ||
|
|
cde0ff39da | ||
|
|
d77a8525d5 | ||
|
|
5259275347 | ||
|
|
d1e9dc2723 | ||
|
|
01603a9970 | ||
|
|
3cca299520 | ||
|
|
585fea7b98 | ||
|
|
e8c4abbbd7 | ||
|
|
2c869deeb7 | ||
|
|
aeea72151c | ||
|
|
f10806b250 | ||
|
|
4227c789ff | ||
|
|
e5bae13da3 | ||
|
|
a4d4cf490e | ||
|
|
80c34ca312 | ||
|
|
ea94fbe83b | ||
|
|
e69f6d044c | ||
|
|
a8c1770469 | ||
|
|
2da0f0c445 | ||
|
|
0afdcf8601 | ||
|
|
25b70c780a | ||
|
|
05afceeddc | ||
|
|
bd5da371aa | ||
|
|
9be61bbb17 | ||
|
|
01b3862956 | ||
|
|
92dba36fc8 | ||
|
|
d25ec2cfa0 | ||
|
|
ca68ae1311 | ||
|
|
7d333a900d | ||
|
|
0b37a2f379 | ||
|
|
2027973b5b | ||
|
|
5908fdf72f | ||
|
|
c58164c5cf | ||
|
|
52ea92b19d | ||
|
|
bf54dbeb5c | ||
|
|
0fff44152d | ||
|
|
8601545338 | ||
|
|
360bdbda81 | ||
|
|
a30590d3e7 | ||
|
|
7b1b36b1cb | ||
|
|
ee619e5bc0 | ||
|
|
7c003aa314 | ||
|
|
33fa29cf74 | ||
|
|
09c569038c | ||
|
|
599c89c82f | ||
|
|
495282b6e7 | ||
|
|
14285cb801 | ||
|
|
2d9d409ad4 | ||
|
|
191acfdeca | ||
|
|
37bb030cd9 | ||
|
|
9207d1f523 | ||
|
|
bd5e622bfa | ||
|
|
15c476023f | ||
|
|
bea9023d42 | ||
|
|
26bde6e2eb | ||
|
|
72749f062f | ||
|
|
83d4790a04 | ||
|
|
3ed9efc2b1 | ||
|
|
7851b1ca99 | ||
|
|
a9c3a30891 | ||
|
|
82e743c5b3 | ||
|
|
7d941ee032 | ||
|
|
cf3f8bf4dd | ||
|
|
0e05de4622 | ||
|
|
bfcfd5784a | ||
|
|
a07e31af54 | ||
|
|
f66ca9f1df | ||
|
|
d36ef573b2 | ||
|
|
45fffdf10b | ||
|
|
71658f74ae | ||
|
|
f3710ee22d | ||
|
|
d06dbf3f42 | ||
|
|
1082772f4c | ||
|
|
d7b7770f11 | ||
|
|
0df541963d | ||
|
|
db99f9f29a | ||
|
|
dbbb0ef729 | ||
|
|
a8bd349638 | ||
|
|
bad8804cdd | ||
|
|
ab505b1a48 | ||
|
|
56ba21a156 | ||
|
|
5080b0a047 | ||
|
|
c5a8fdc42d | ||
|
|
d5bc32df20 | ||
|
|
7929651e05 | ||
|
|
9b9be007e7 | ||
|
|
515545e11f | ||
|
|
97acfc781b | ||
|
|
ce436de5a9 | ||
|
|
0f1563ffee | ||
|
|
9645e2d9fc | ||
|
|
f1ec378b01 | ||
|
|
20431c9dbb | ||
|
|
8b63313510 | ||
|
|
98be7fecac | ||
|
|
ff78155aa1 | ||
|
|
95e59a355b | ||
|
|
40d235e730 | ||
|
|
373a876d0c | ||
|
|
5e94a29ebb | ||
|
|
37f471df6e | ||
|
|
24e9b6fe4b | ||
|
|
3696839ef1 | ||
|
|
b68df220c5 | ||
|
|
22da5596d0 | ||
|
|
2d10cd4780 | ||
|
|
e32848780c | ||
|
|
3fa5e13262 | ||
|
|
18a2b87ca2 | ||
|
|
a3a9c8ef69 | ||
|
|
30d53e2c11 | ||
|
|
8dfcce3a78 | ||
|
|
3cdcb090a6 | ||
|
|
292b90d4fa | ||
|
|
a21df1db3c | ||
|
|
5715b3147b | ||
|
|
24ebd83e03 | ||
|
|
a2cbdea968 | ||
|
|
7f009dfa06 | ||
|
|
c030063329 | ||
|
|
56cb337872 | ||
|
|
b2e1f8a28f | ||
|
|
ddbfe238a5 | ||
|
|
e4fc746d13 | ||
|
|
833805a486 | ||
|
|
bb65a5690c | ||
|
|
0bdbc10e8a | ||
|
|
0eabd4dc8f | ||
|
|
5e4d1eba95 | ||
|
|
4f32f9c90e | ||
|
|
353c351bd2 | ||
|
|
2573af3519 | ||
|
|
1939826509 | ||
|
|
b17893aa94 | ||
|
|
965fd8d4dc | ||
|
|
346f18e5fe | ||
|
|
d47e6f0b4c | ||
|
|
fa5d8a191d | ||
|
|
8210693795 | ||
|
|
8a677a37d0 | ||
|
|
3a05ce63fe | ||
|
|
66b98854d8 | ||
|
|
cee52204ca | ||
|
|
e49b4bb895 | ||
|
|
1671f44881 | ||
|
|
5269bd2a72 | ||
|
|
3a2505cc18 | ||
|
|
2e09634a78 | ||
|
|
283e5f4e69 | ||
|
|
693e80e938 | ||
|
|
f5f1e10d0d | ||
|
|
d0d440f702 | ||
|
|
14e57909e6 | ||
|
|
8eab731328 | ||
|
|
ba2920fe97 | ||
|
|
bd7206e02c | ||
|
|
49b79bd488 | ||
|
|
8f027fe470 | ||
|
|
a471eeae75 | ||
|
|
a65bb53514 | ||
|
|
d0df1aacd8 | ||
|
|
36ddf93831 | ||
|
|
3e919d2924 | ||
|
|
080457c02d | ||
|
|
6d69bf602b | ||
|
|
5381c7a162 | ||
|
|
91ffc8a5f5 | ||
|
|
61a6d4e48b | ||
|
|
815eb83b09 | ||
|
|
ab55c6826f | ||
|
|
eab6dff19f | ||
|
|
f51cb4e08e | ||
|
|
0546d7df13 | ||
|
|
41fe061753 | ||
|
|
087d2e1518 | ||
|
|
fbdd08ed9b | ||
|
|
f4f190d821 | ||
|
|
b54b8e0c86 | ||
|
|
42a480bf72 | ||
|
|
cc390ff5b2 | ||
|
|
dd58923c6b | ||
|
|
57c339569e | ||
|
|
d30ae2fc4a | ||
|
|
7c215c5893 | ||
|
|
57c732ed78 | ||
|
|
ec084d3356 | ||
|
|
e52e0c89d1 | ||
|
|
80ae880f5f | ||
|
|
d5aec0ced1 | ||
|
|
578fe947e3 | ||
|
|
12f2003871 | ||
|
|
7eeefd4a39 | ||
|
|
b35efa5ed0 | ||
|
|
ad39c094d2 | ||
|
|
b3f740695a | ||
|
|
d672dde584 | ||
|
|
bc93cebb69 | ||
|
|
0c2ca58ef0 | ||
|
|
703ea9eaef | ||
|
|
8d588ccee5 | ||
|
|
c593bec412 | ||
|
|
e010c720b2 | ||
|
|
fa29c8abd6 | ||
|
|
f2d5c240a5 | ||
|
|
750802b55c | ||
|
|
8fb1b47a5e | ||
|
|
b81f56fb57 | ||
|
|
1aa76b8fd0 | ||
|
|
026270c01d | ||
|
|
83f37b9142 | ||
|
|
8040a7147f | ||
|
|
95ffd43f88 | ||
|
|
d28e0b3652 | ||
|
|
0c81d1b112 | ||
|
|
b654103ad1 | ||
|
|
b4d2cb1083 | ||
|
|
8ed04587d3 | ||
|
|
0c6ceaf903 | ||
|
|
8b430b4c1d | ||
|
|
f9706e9df0 | ||
|
|
c036e87bd7 | ||
|
|
5b1c8fe3d5 | ||
|
|
818fc9ad14 | ||
|
|
09f28f49c9 | ||
|
|
436472f5e0 | ||
|
|
85683ec620 | ||
|
|
e0807ea4a7 | ||
|
|
0062c2d4f9 | ||
|
|
f575adff06 | ||
|
|
11ec807639 | ||
|
|
0bbf722aaa | ||
|
|
c0d656c89d | ||
|
|
fd1823e0b7 | ||
|
|
401d9ffb5a | ||
|
|
a2f6e42ded | ||
|
|
257cc5ee95 | ||
|
|
63ce4849ef | ||
|
|
9ae3bbdb96 | ||
|
|
ee2e52aa06 | ||
|
|
38a5f517a7 | ||
|
|
406cd90f19 | ||
|
|
9e2bcb5d23 | ||
|
|
1fa8d2c33d | ||
|
|
414b796627 | ||
|
|
82f654e092 | ||
|
|
bc2b71d44a | ||
|
|
b13af50f73 | ||
|
|
40d9da2a43 | ||
|
|
e51bb17dd0 | ||
|
|
a28be85ccd | ||
|
|
a76b31542e | ||
|
|
a36c830a32 | ||
|
|
df2ecddf9d | ||
|
|
50434bd74c | ||
|
|
f0cee1971f | ||
|
|
f4140488c7 | ||
|
|
ebdf3c964a | ||
|
|
c2adc00fa7 | ||
|
|
4132eb505c | ||
|
|
00f3b4e007 | ||
|
|
0a8fed6231 | ||
|
|
f2cecb6c10 | ||
|
|
ae8d2de3a9 | ||
|
|
21456cdccb | ||
|
|
3dd64608f6 | ||
|
|
7306d6b1c9 | ||
|
|
4f5776c17c | ||
|
|
3fb377fa78 | ||
|
|
2f18975088 | ||
|
|
3b0ef8cfdb | ||
|
|
49c99fcca0 | ||
|
|
5489eab345 | ||
|
|
5f1d3ae8a8 | ||
|
|
9f6277bdde | ||
|
|
799439a5d8 | ||
|
|
99234f29aa | ||
|
|
408030e8d0 | ||
|
|
355757aed6 | ||
|
|
b3e195cca7 | ||
|
|
7ba3b91e03 | ||
|
|
57ea2924e5 | ||
|
|
dbe5d361fe | ||
|
|
d5b9914938 | ||
|
|
4f645c54ef | ||
|
|
165315584d | ||
|
|
d02e508a18 | ||
|
|
670218839a | ||
|
|
f2460a3aec | ||
|
|
348808f7c0 | ||
|
|
c2a4b35b86 | ||
|
|
04d0522046 | ||
|
|
777770fbb0 | ||
|
|
158906cffc | ||
|
|
5cab73f8cc | ||
|
|
170fcfcf25 | ||
|
|
6e587dcbf3 | ||
|
|
1af5ce01c3 | ||
|
|
4af11174f7 | ||
|
|
0de50864a7 | ||
|
|
adbc11c2ee | ||
|
|
ff80cb6807 | ||
|
|
a78e9c61a0 | ||
|
|
2e6638d5f0 | ||
|
|
7077892a79 | ||
|
|
07ada5ff2f | ||
|
|
94255df057 | ||
|
|
eed3571fe0 | ||
|
|
560979ed4f | ||
|
|
80147dda4f | ||
|
|
d816cd94d8 | ||
|
|
bfe1204312 | ||
|
|
26e117e9bc | ||
|
|
a5edb670dc | ||
|
|
631ebc4814 | ||
|
|
e20b9ececa | ||
|
|
e7ddf4e337 | ||
|
|
4e12a5df37 | ||
|
|
b283a8a680 | ||
|
|
0f18b6d17b | ||
|
|
43c60eda2a | ||
|
|
ea3db914c0 | ||
|
|
d98c0b63ab | ||
|
|
3180fe6c6d | ||
|
|
3c01c4a028 | ||
|
|
284d1c24e2 | ||
|
|
91cd59a0a2 | ||
|
|
219c7d0638 | ||
|
|
ab067a21b9 | ||
|
|
7cc96923c4 | ||
|
|
7f829cab35 | ||
|
|
0b76ad53b3 | ||
|
|
705724e430 | ||
|
|
a259d8d30b | ||
|
|
92be6e3f46 | ||
|
|
5feabe00c4 | ||
|
|
9f2d020d39 | ||
|
|
21109272f5 | ||
|
|
0c3064b39b | ||
|
|
b09920203a | ||
|
|
df54382eac | ||
|
|
70b3e706b4 | ||
|
|
e258368b4f | ||
|
|
db661fb95d | ||
|
|
5d98dc2a48 | ||
|
|
0ff6aad393 | ||
|
|
4549ece47c | ||
|
|
9a5e5a3e33 | ||
|
|
a6d536829a | ||
|
|
8cbd6dfc0c | ||
|
|
97a2af39cd | ||
|
|
58ceca5cae | ||
|
|
07da94b0f0 | ||
|
|
5b18c248d3 | ||
|
|
842931cd7a | ||
|
|
272ca95fc3 | ||
|
|
7d8ea0b241 | ||
|
|
f8ddb25789 | ||
|
|
89bfc8218c | ||
|
|
50985eb1f0 | ||
|
|
3f169ce17e | ||
|
|
318e7a9c03 | ||
|
|
4b96df5a01 | ||
|
|
a5d5953d59 | ||
|
|
21b9e9773d | ||
|
|
b3de5114ac | ||
|
|
da812e282a | ||
|
|
978d170bdc | ||
|
|
673660ab00 | ||
|
|
8a7d6542b3 | ||
|
|
1d9215b9aa | ||
|
|
7f51bbe0d1 | ||
|
|
03c3bd9fd0 | ||
|
|
dfede9a70b | ||
|
|
2c02d3843a | ||
|
|
c2a60ae10e | ||
|
|
81c3ea7496 | ||
|
|
8bf716cdba | ||
|
|
0d76683e09 | ||
|
|
ade0d39468 | ||
|
|
2387773d93 | ||
|
|
f0764e8bb6 | ||
|
|
538feb56e8 | ||
|
|
a44b3eeafa | ||
|
|
ed5adff1e6 | ||
|
|
fe4bbac116 | ||
|
|
8ba6bb7c94 | ||
|
|
98a336dd49 | ||
|
|
ca33eb256e | ||
|
|
479950f6c9 | ||
|
|
904edabb64 | ||
|
|
1a928c2099 | ||
|
|
6b915c0c0e | ||
|
|
3029bcc094 | ||
|
|
94b6fb78c5 | ||
|
|
3c71aec696 | ||
|
|
109ef128bd | ||
|
|
17e04781f2 | ||
|
|
f2a44e5c48 | ||
|
|
49c57ce500 | ||
|
|
b3d33d8570 | ||
|
|
1470dc35c4 | ||
|
|
ca7c078b79 | ||
|
|
8024f93636 | ||
|
|
ee93b737aa | ||
|
|
c10b521628 | ||
|
|
9df53b62de | ||
|
|
7ebcba61b2 | ||
|
|
9b24dfcb9f | ||
|
|
02ad46394e | ||
|
|
9b4a15d5db | ||
|
|
e05a89ac63 | ||
|
|
2963456ff2 | ||
|
|
ac15fd8c67 | ||
|
|
bf0acff012 | ||
|
|
4ba6441818 | ||
|
|
b16ad96849 | ||
|
|
c838626fea | ||
|
|
b662591e50 | ||
|
|
e2a8f0773e | ||
|
|
da292b07af | ||
|
|
9db2afe46d | ||
|
|
41a4141ecb | ||
|
|
8b7aa2f9b2 | ||
|
|
e31ee86859 | ||
|
|
ce6db0273f | ||
|
|
fbcdf671f0 | ||
|
|
1860bde9d3 | ||
|
|
e73b38f8e1 | ||
|
|
7b94e77132 | ||
|
|
a1353b5352 | ||
|
|
4d7a248b64 | ||
|
|
b376ace1ae | ||
|
|
f0f8055102 | ||
|
|
830c1afc9d | ||
|
|
61d7c0d52c | ||
|
|
ab782c5b6f | ||
|
|
3d8a513b46 | ||
|
|
0892832bb6 | ||
|
|
5cb0b93d52 | ||
|
|
f10997a154 | ||
|
|
467c32bd72 | ||
|
|
509ff0688d | ||
|
|
d7df279808 | ||
|
|
7fc4785ea1 | ||
|
|
b9adef79ec | ||
|
|
271fa08a35 | ||
|
|
955f4e6f36 | ||
|
|
2466aea508 | ||
|
|
4b7cdca230 | ||
|
|
ea8b7aecab | ||
|
|
bb062c1588 | ||
|
|
1832d12aea | ||
|
|
d518f952f0 | ||
|
|
87396072c5 | ||
|
|
556684ff71 | ||
|
|
ef140544f6 | ||
|
|
d2c946bacf | ||
|
|
dba7c85b61 | ||
|
|
efcc329020 | ||
|
|
08b28b7ad5 | ||
|
|
e7538ae997 | ||
|
|
3fbcc128cb | ||
|
|
d0337e360e | ||
|
|
85b0957616 |
@@ -13,5 +13,4 @@ freebsd_12_task:
|
||||
- make -j${NPROC}
|
||||
- src/vim --version
|
||||
test_script:
|
||||
# Runtime Indent tests do not work, run only the normal test suite
|
||||
- cd src && make test
|
||||
- make test
|
||||
|
||||
2
.github/ISSUE_TEMPLATE/feature_request.md
vendored
2
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@@ -8,7 +8,7 @@ labels: enhancement
|
||||
|
||||
_Instructions: Replace the template text and remove irrelevant text (including this line)_
|
||||
|
||||
**Is your feature request related something that is currently hard to do? Please describe.**
|
||||
**Is your feature request about something that is currently impossible or hard to do? Please describe the problem.**
|
||||
A clear and concise description of what is hard to do. Ex. It is difficult to [...] when [...]
|
||||
(If it is related to runtime files, please check their header for where to discuss enhancements.)
|
||||
|
||||
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -5,9 +5,11 @@ src/xxd/xxd
|
||||
src/auto/if_perl.c
|
||||
src/auto/gui_gtk_gresources.c
|
||||
src/auto/gui_gtk_gresources.h
|
||||
src/auto/os_haiku.rdef
|
||||
src/objects/.dirstamp
|
||||
src/objects
|
||||
src/tags
|
||||
src/types.vim
|
||||
|
||||
# We do need src/auto/configure.
|
||||
src/auto/config.cache
|
||||
@@ -86,6 +88,7 @@ src/kword_test
|
||||
|
||||
# Generated by "make install"
|
||||
runtime/doc/tags
|
||||
runtime/doc/doctags
|
||||
|
||||
# Generated by "make shadow". The directory names could be anything but we
|
||||
# restrict them to shadow (the default) or shadow-*
|
||||
|
||||
@@ -10,6 +10,7 @@ src/auto/gui_gtk_gresources.h
|
||||
src/objects/.dirstamp
|
||||
src/objects
|
||||
src/tags
|
||||
src/types.vim
|
||||
|
||||
# We do need src/auto/configure.
|
||||
src/auto/config.cache
|
||||
@@ -86,6 +87,7 @@ src/kword_test
|
||||
|
||||
# Generated by "make install"
|
||||
runtime/doc/tags
|
||||
runtime/doc/doctags
|
||||
|
||||
# Generated by "make shadow". The directory names could be anything but we
|
||||
# restrict them to shadow (the default) or shadow-*
|
||||
|
||||
156
.travis.yml
156
.travis.yml
@@ -1,35 +1,34 @@
|
||||
language: c
|
||||
|
||||
anchors:
|
||||
_anchors:
|
||||
envs:
|
||||
- &tiny-nogui
|
||||
BUILD=yes TEST=test COVERAGE=no FEATURES=tiny "CONFOPT='--disable-gui'" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
BUILD=yes TEST=test FEATURES=tiny CONFOPT="--disable-gui" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
- &tiny
|
||||
BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
BUILD=yes TEST=test FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
- &small
|
||||
BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
BUILD=yes TEST=test FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
- &normal
|
||||
BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no
|
||||
BUILD=yes TEST=test FEATURES=normal CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
- &linux-huge
|
||||
BUILD=yes TEST="scripttests test_libvterm" COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
|
||||
BUILD=yes TEST="scripttests test_libvterm" CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||
- &osx-huge # macOS build
|
||||
BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
|
||||
BUILD=yes TEST=test FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||
- &unittests
|
||||
BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
|
||||
BUILD=no TEST=unittests CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
|
||||
- &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"
|
||||
- &shadowopt
|
||||
SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow
|
||||
|
||||
linux: &linux
|
||||
os: linux
|
||||
dist: trusty
|
||||
dist: bionic
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
# Need msgfmt 0.19.8 to be able to generate .desktop files
|
||||
- sourceline: 'ppa:ricotz/toolchain'
|
||||
packages:
|
||||
- autoconf
|
||||
- clang
|
||||
@@ -39,46 +38,41 @@ anchors:
|
||||
- libperl-dev
|
||||
- python-dev
|
||||
- python3-dev
|
||||
- liblua5.2-dev
|
||||
- lua5.2
|
||||
- liblua5.3-dev
|
||||
- lua5.3
|
||||
- ruby-dev
|
||||
- tcl-dev
|
||||
- cscope
|
||||
- libgtk2.0-dev
|
||||
- desktop-file-utils
|
||||
- libtool-bin
|
||||
services:
|
||||
- xvfb
|
||||
before_install:
|
||||
- rvm reset
|
||||
# Remove /opt/python/3.x.x/bin from $PATH for using system python3.
|
||||
# ("pyenv global system" doesn't seem to work.)
|
||||
- |
|
||||
if [[ "$(which python3)" =~ ^/opt/python/ ]]; then
|
||||
export PATH=$(py3=$(which python3); echo ${PATH//${py3%/python3}:/})
|
||||
fi
|
||||
- |
|
||||
if [[ "${COVERAGE}" = "yes" ]]; then
|
||||
pip install --user cpp-coveralls
|
||||
fi
|
||||
# needed for https support for coveralls
|
||||
# building cffi only works with gcc, not with clang
|
||||
- |
|
||||
if [[ "${COVERAGE}" = "yes" ]]; then
|
||||
CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1
|
||||
fi
|
||||
# Use llvm-cov instead of gcov when compiler is clang.
|
||||
- |
|
||||
if [[ "${CC}" = "clang" ]]; then
|
||||
ln -sf "$(which llvm-cov)" /home/travis/bin/gcov
|
||||
ln -sf "$(command -v llvm-cov)" /home/travis/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
|
||||
before_script:
|
||||
# Start virtual framebuffer to be able to test the GUI. Does not work on OS X.
|
||||
- export DISPLAY=:99.0
|
||||
- sh -e /etc/init.d/xvfb start && sleep 3
|
||||
- sudo modprobe snd-dummy
|
||||
- sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
|
||||
- sudo bash ci/load-snd-dummy.sh || true
|
||||
- sudo usermod -a -G audio $USER
|
||||
- do_test() { sg audio "sg $(id -gn) '$*'"; }
|
||||
|
||||
osx: &osx
|
||||
os: osx
|
||||
before_script:
|
||||
- do_test() { "$@"; }
|
||||
|
||||
homebrew: &osx-homebrew
|
||||
addons:
|
||||
homebrew:
|
||||
packages:
|
||||
@@ -87,25 +81,24 @@ anchors:
|
||||
cache:
|
||||
directories:
|
||||
- /usr/local/Homebrew/Library/Homebrew/vendor/
|
||||
- /usr/local/Homebrew/Library/Taps/
|
||||
- /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/
|
||||
before_install:
|
||||
- rvm reset
|
||||
# Lua is not installed on Travis OSX
|
||||
# Lua is not installed on macOS
|
||||
- export LUA_PREFIX=/usr/local
|
||||
before_script:
|
||||
- do_test() { "$@"; }
|
||||
|
||||
coverage: &coverage
|
||||
# needed for https support for coveralls building cffi only works with gcc,
|
||||
# not with clang
|
||||
- CC=gcc pip 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
|
||||
- (cd "${SRCDIR}" && bash <(curl -s https://codecov.io/bash))
|
||||
|
||||
asan_symbolize: &asan_symbolize
|
||||
- |
|
||||
while read log; do
|
||||
asan_symbolize < "${log}"
|
||||
done < <(find . -type f -name 'asan.*' -size +0)
|
||||
|
||||
sudo: false
|
||||
# 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{}
|
||||
|
||||
branches:
|
||||
except:
|
||||
@@ -129,31 +122,35 @@ script:
|
||||
- echo -e "\\033[33;1mBuilding Vim\\033[0m" && echo -en "travis_fold:start:build\\r\\033[0K"
|
||||
- |
|
||||
if [[ "${BUILD}" = "yes" ]]; then
|
||||
# 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
|
||||
# On macOS, the entity of gcc is clang.
|
||||
sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
|
||||
else
|
||||
sed -i.bak -f ci/config.mk.${CC}.sed ${SRCDIR}/auto/config.mk
|
||||
fi
|
||||
make ${SHADOWOPT} -j${NPROC}
|
||||
fi
|
||||
- echo -en "travis_fold:end:build\\r\\033[0K"
|
||||
- set +o errexit
|
||||
- echo -e "\\033[33;1mTesting Vim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
|
||||
# Show Vim version and also if_xx versions.
|
||||
- |
|
||||
if [[ "${BUILD}" = "yes" ]]; then
|
||||
"${SRCDIR}"/vim --version
|
||||
"${SRCDIR}"/vim --not-a-term -u NONE -S "${SRCDIR}"/testdir/if_ver-1.vim -c quit > /dev/null
|
||||
"${SRCDIR}"/vim --not-a-term -u NONE -S "${SRCDIR}"/testdir/if_ver-2.vim -c quit > /dev/null
|
||||
cat if_ver.txt
|
||||
"${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
|
||||
fi
|
||||
- >
|
||||
do_test make ${SHADOWOPT} ${TEST} &&
|
||||
make -C runtime/doc vimtags VIMEXE=../../"${SRCDIR}"/vim &&
|
||||
FOLD_MARKER=travis_fold
|
||||
- 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"
|
||||
|
||||
|
||||
# instead of a 2*2*8 matrix (2*os + 2*compiler + 8*env),
|
||||
# exclude some builds on mac os x and linux
|
||||
# on mac os x "tiny" is always without GUI
|
||||
# linux: 2*compiler + 5*env + mac: 2*compiler + 2*env
|
||||
matrix:
|
||||
# Instead of using all environments with both compilers on both systems,
|
||||
# exclude some builds on mac os x and linux.
|
||||
# On mac os x "tiny" is always without GUI, use 2 compilers in 2 environments.
|
||||
# Linux: 2 compilers on some of the environments + gcc on os390
|
||||
jobs:
|
||||
include:
|
||||
- <<: *osx
|
||||
name: tiny-nogui/clang
|
||||
@@ -164,10 +161,12 @@ matrix:
|
||||
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
|
||||
@@ -194,26 +193,34 @@ matrix:
|
||||
- <<: *linux
|
||||
name: normal/clang
|
||||
compiler: clang
|
||||
env: *normal
|
||||
env:
|
||||
- *normal
|
||||
- *shadowopt
|
||||
- <<: *linux
|
||||
name: normal/gcc
|
||||
compiler: gcc
|
||||
env: *normal
|
||||
env:
|
||||
- *normal
|
||||
- *shadowopt
|
||||
- <<: *linux
|
||||
arch: s390x
|
||||
name: huge/gcc-s390x
|
||||
compiler: gcc
|
||||
env: *linux-huge
|
||||
services: []
|
||||
- <<: *linux
|
||||
name: huge+coverage/clang
|
||||
compiler: clang
|
||||
env: *linux-huge
|
||||
env:
|
||||
- *linux-huge
|
||||
# Clang cannot compile test_libvterm with "--coverage" flag.
|
||||
- TEST=scripttests
|
||||
after_success: *coverage
|
||||
- <<: *linux
|
||||
name: huge+coverage/gcc
|
||||
compiler: gcc
|
||||
env: *linux-huge
|
||||
after_success: *coverage
|
||||
- <<: *linux
|
||||
name: unittests+coverage/gcc
|
||||
compiler: gcc
|
||||
env: *unittests
|
||||
after_success: *coverage
|
||||
- <<: *linux # ASAN
|
||||
name: huge+asan/gcc
|
||||
compiler: gcc
|
||||
@@ -228,5 +235,16 @@ matrix:
|
||||
- *linux-huge
|
||||
- TEST="-C src testgui"
|
||||
after_success: *coverage
|
||||
- <<: *linux
|
||||
name: unittests+coverage/gcc
|
||||
compiler: gcc
|
||||
env: *unittests
|
||||
after_success: *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:
|
||||
|
||||
92
Filelist
92
Filelist
@@ -11,6 +11,9 @@ SRC_ALL = \
|
||||
.cirrus.yml \
|
||||
appveyor.yml \
|
||||
ci/appveyor.bat \
|
||||
ci/if_ver*.vim \
|
||||
ci/load-snd-dummy.sh \
|
||||
ci/config.mk*.sed \
|
||||
src/Make_all.mak \
|
||||
src/README.md \
|
||||
src/alloc.h \
|
||||
@@ -28,6 +31,8 @@ SRC_ALL = \
|
||||
src/channel.c \
|
||||
src/charset.c \
|
||||
src/cindent.c \
|
||||
src/clientserver.c \
|
||||
src/clipboard.c \
|
||||
src/cmdexpand.c \
|
||||
src/cmdhist.c \
|
||||
src/crypt.c \
|
||||
@@ -124,7 +129,10 @@ SRC_ALL = \
|
||||
src/term.h \
|
||||
src/termlib.c \
|
||||
src/testing.c \
|
||||
src/textformat.c \
|
||||
src/textobject.c \
|
||||
src/textprop.c \
|
||||
src/time.c \
|
||||
src/ui.c \
|
||||
src/undo.c \
|
||||
src/usercmd.c \
|
||||
@@ -132,6 +140,10 @@ SRC_ALL = \
|
||||
src/version.c \
|
||||
src/version.h \
|
||||
src/vim.h \
|
||||
src/vim9.h \
|
||||
src/vim9compile.c \
|
||||
src/vim9execute.c \
|
||||
src/vim9script.c \
|
||||
src/viminfo.c \
|
||||
src/winclip.c \
|
||||
src/window.c \
|
||||
@@ -144,20 +156,21 @@ SRC_ALL = \
|
||||
src/testdir/*.py \
|
||||
src/testdir/lsan-suppress.txt \
|
||||
src/testdir/sautest/autoload/*.vim \
|
||||
src/testdir/runtest.vim \
|
||||
src/testdir/summarize.vim \
|
||||
src/testdir/check.vim \
|
||||
src/testdir/shared.vim \
|
||||
src/testdir/screendump.vim \
|
||||
src/testdir/view_util.vim \
|
||||
src/testdir/term_util.vim \
|
||||
src/testdir/setup.vim \
|
||||
src/testdir/gui_init.vim \
|
||||
src/testdir/setup_gui.vim \
|
||||
src/testdir/gui_preinit.vim \
|
||||
src/testdir/mouse.vim \
|
||||
src/testdir/runtest.vim \
|
||||
src/testdir/screendump.vim \
|
||||
src/testdir/setup.vim \
|
||||
src/testdir/setup_gui.vim \
|
||||
src/testdir/shared.vim \
|
||||
src/testdir/vim9.vim \
|
||||
src/testdir/summarize.vim \
|
||||
src/testdir/term_util.vim \
|
||||
src/testdir/view_util.vim \
|
||||
src/testdir/test[0-9]*.ok \
|
||||
src/testdir/test[0-9]*a.ok \
|
||||
src/testdir/test_[a-z]*.ok \
|
||||
src/testdir/test49.vim \
|
||||
src/testdir/test83-tags? \
|
||||
src/testdir/test77a.com \
|
||||
@@ -172,12 +185,9 @@ SRC_ALL = \
|
||||
src/testdir/python_after/*.py \
|
||||
src/testdir/python_before/*.py \
|
||||
src/testdir/pyxfile/*.py \
|
||||
src/testdir/bench*.in \
|
||||
src/testdir/bench*.vim \
|
||||
src/testdir/dumps/*.dump \
|
||||
src/testdir/samples/*.txt \
|
||||
src/testdir/samples/test000 \
|
||||
src/testdir/if_ver*.vim \
|
||||
src/testdir/color_ramp.vim \
|
||||
src/testdir/silent.wav \
|
||||
src/testdir/popupbounce.vim \
|
||||
@@ -195,6 +205,8 @@ SRC_ALL = \
|
||||
src/proto/channel.pro \
|
||||
src/proto/charset.pro \
|
||||
src/proto/cindent.pro \
|
||||
src/proto/clientserver.pro \
|
||||
src/proto/clipboard.pro \
|
||||
src/proto/cmdexpand.pro \
|
||||
src/proto/cmdhist.pro \
|
||||
src/proto/crypt.pro \
|
||||
@@ -269,12 +281,18 @@ SRC_ALL = \
|
||||
src/proto/terminal.pro \
|
||||
src/proto/termlib.pro \
|
||||
src/proto/testing.pro \
|
||||
src/proto/textformat.pro \
|
||||
src/proto/textobject.pro \
|
||||
src/proto/textprop.pro \
|
||||
src/proto/time.pro \
|
||||
src/proto/ui.pro \
|
||||
src/proto/undo.pro \
|
||||
src/proto/usercmd.pro \
|
||||
src/proto/userfunc.pro \
|
||||
src/proto/version.pro \
|
||||
src/proto/vim9compile.pro \
|
||||
src/proto/vim9execute.pro \
|
||||
src/proto/vim9script.pro \
|
||||
src/proto/viminfo.pro \
|
||||
src/proto/winclip.pro \
|
||||
src/proto/window.pro \
|
||||
@@ -283,10 +301,12 @@ SRC_ALL = \
|
||||
src/libvterm/LICENSE \
|
||||
src/libvterm/Makefile \
|
||||
src/libvterm/README \
|
||||
src/libvterm/CONTRIBUTING \
|
||||
src/libvterm/tbl2inc_c.pl \
|
||||
src/libvterm/vterm.pc.in \
|
||||
src/libvterm/doc/URLs \
|
||||
src/libvterm/doc/seqs.txt \
|
||||
src/libvterm/find-wide-chars.pl \
|
||||
src/libvterm/include/vterm.h \
|
||||
src/libvterm/include/vterm_keycodes.h \
|
||||
src/libvterm/src/encoding.c \
|
||||
@@ -294,6 +314,7 @@ SRC_ALL = \
|
||||
src/libvterm/src/encoding/DECdrawing.tbl \
|
||||
src/libvterm/src/encoding/uk.inc \
|
||||
src/libvterm/src/encoding/uk.tbl \
|
||||
src/libvterm/src/fullwidth.inc \
|
||||
src/libvterm/src/keyboard.c \
|
||||
src/libvterm/src/mouse.c \
|
||||
src/libvterm/src/parser.c \
|
||||
@@ -324,16 +345,17 @@ SRC_ALL = \
|
||||
src/libvterm/t/27state_reset.test \
|
||||
src/libvterm/t/28state_dbl_wh.test \
|
||||
src/libvterm/t/29state_fallback.test \
|
||||
src/libvterm/t/30pen.test \
|
||||
src/libvterm/t/40screen_ascii.test \
|
||||
src/libvterm/t/41screen_unicode.test \
|
||||
src/libvterm/t/42screen_damage.test \
|
||||
src/libvterm/t/43screen_resize.test \
|
||||
src/libvterm/t/44screen_pen.test \
|
||||
src/libvterm/t/45screen_protect.test \
|
||||
src/libvterm/t/46screen_extent.test \
|
||||
src/libvterm/t/47screen_dbl_wh.test \
|
||||
src/libvterm/t/48screen_termprops.test \
|
||||
src/libvterm/t/30state_pen.test \
|
||||
src/libvterm/t/31state_rep.test \
|
||||
src/libvterm/t/60screen_ascii.test \
|
||||
src/libvterm/t/61screen_unicode.test \
|
||||
src/libvterm/t/62screen_damage.test \
|
||||
src/libvterm/t/63screen_resize.test \
|
||||
src/libvterm/t/64screen_pen.test \
|
||||
src/libvterm/t/65screen_protect.test \
|
||||
src/libvterm/t/66screen_extent.test \
|
||||
src/libvterm/t/67screen_dbl_wh.test \
|
||||
src/libvterm/t/68screen_termprops.test \
|
||||
src/libvterm/t/90vttest_01-movement-1.test \
|
||||
src/libvterm/t/90vttest_01-movement-2.test \
|
||||
src/libvterm/t/90vttest_01-movement-3.test \
|
||||
@@ -521,7 +543,6 @@ SRC_DOS = \
|
||||
src/uninstall.c \
|
||||
src/vim.def \
|
||||
src/vim.rc \
|
||||
src/vimio.h \
|
||||
src/gvim.exe.mnf \
|
||||
src/vimrun.c \
|
||||
src/xpm_w32.c \
|
||||
@@ -591,6 +612,15 @@ SRC_AMI = \
|
||||
src/testdir/amiga.vim \
|
||||
src/xxd/Make_amiga.mak \
|
||||
|
||||
# source files for Haiku (also in the extra archive)
|
||||
SRC_HAIKU = \
|
||||
README_haiku.txt \
|
||||
src/os_haiku.h \
|
||||
src/os_haiku.rdef.in \
|
||||
src/gui_haiku.cc \
|
||||
src/gui_haiku.h \
|
||||
src/proto/gui_haiku.pro \
|
||||
|
||||
# source files for the Mac (also in the extra archive)
|
||||
SRC_MAC = \
|
||||
src/INSTALLmac.txt \
|
||||
@@ -626,13 +656,13 @@ SRC_QNX = \
|
||||
src/proto/gui_photon.pro \
|
||||
src/proto/os_qnx.pro \
|
||||
|
||||
|
||||
# source files for the extra archive (all sources that are not for Unix)
|
||||
SRC_EXTRA = \
|
||||
$(SRC_AMI) \
|
||||
$(SRC_AMI_DOS) \
|
||||
$(SRC_DOS) \
|
||||
$(SRC_DOS_BIN) \
|
||||
$(SRC_HAIKU) \
|
||||
$(SRC_MAC) \
|
||||
$(SRC_QNX) \
|
||||
$(SRC_VMS) \
|
||||
@@ -652,6 +682,8 @@ SRC_EXTRA = \
|
||||
RT_ALL = \
|
||||
README.txt \
|
||||
README.md \
|
||||
README_VIM9.md \
|
||||
LICENSE \
|
||||
CONTRIBUTING.md \
|
||||
runtime/bugreport.vim \
|
||||
runtime/doc/*.awk \
|
||||
@@ -766,20 +798,20 @@ RT_UNIX = \
|
||||
README_unix.txt \
|
||||
runtime/hi16-action-make.png \
|
||||
runtime/hi22-action-make.png \
|
||||
runtime/vim16x16.png \
|
||||
runtime/vim16x16.xpm \
|
||||
runtime/vim32x32.png \
|
||||
runtime/vim32x32.xpm \
|
||||
runtime/vim48x48.png \
|
||||
runtime/vim48x48.xpm \
|
||||
runtime/gvim.desktop \
|
||||
runtime/vim.desktop \
|
||||
|
||||
# Unix and DOS runtime without CR-LF translation
|
||||
RT_UNIX_DOS_BIN = \
|
||||
runtime/vim16x16.gif \
|
||||
runtime/vim16x16.png \
|
||||
runtime/vim16x16.xpm \
|
||||
runtime/vim32x32.gif \
|
||||
runtime/vim32x32.png \
|
||||
runtime/vim32x32.xpm \
|
||||
runtime/vim48x48.gif \
|
||||
runtime/vim48x48.png \
|
||||
runtime/vim48x48.xpm \
|
||||
|
||||
# runtime not for unix or extra
|
||||
RT_NO_UNIX = \
|
||||
|
||||
78
LICENSE
Normal file
78
LICENSE
Normal file
@@ -0,0 +1,78 @@
|
||||
VIM LICENSE
|
||||
|
||||
I) There are no restrictions on distributing unmodified copies of Vim except
|
||||
that they must include this license text. You can also distribute
|
||||
unmodified parts of Vim, likewise unrestricted except that they must
|
||||
include this license text. You are also allowed to include executables
|
||||
that you made from the unmodified Vim sources, plus your own usage
|
||||
examples and Vim scripts.
|
||||
|
||||
II) It is allowed to distribute a modified (or extended) version of Vim,
|
||||
including executables and/or source code, when the following four
|
||||
conditions are met:
|
||||
1) This license text must be included unmodified.
|
||||
2) The modified Vim must be distributed in one of the following five ways:
|
||||
a) If you make changes to Vim yourself, you must clearly describe in
|
||||
the distribution how to contact you. When the maintainer asks you
|
||||
(in any way) for a copy of the modified Vim you distributed, you
|
||||
must make your changes, including source code, available to the
|
||||
maintainer without fee. The maintainer reserves the right to
|
||||
include your changes in the official version of Vim. What the
|
||||
maintainer will do with your changes and under what license they
|
||||
will be distributed is negotiable. If there has been no negotiation
|
||||
then this license, or a later version, also applies to your changes.
|
||||
The current maintainer is Bram Moolenaar <Bram@vim.org>. If this
|
||||
changes it will be announced in appropriate places (most likely
|
||||
vim.sf.net, www.vim.org and/or comp.editors). When it is completely
|
||||
impossible to contact the maintainer, the obligation to send him
|
||||
your changes ceases. Once the maintainer has confirmed that he has
|
||||
received your changes they will not have to be sent again.
|
||||
b) If you have received a modified Vim that was distributed as
|
||||
mentioned under a) you are allowed to further distribute it
|
||||
unmodified, as mentioned at I). If you make additional changes the
|
||||
text under a) applies to those changes.
|
||||
c) Provide all the changes, including source code, with every copy of
|
||||
the modified Vim you distribute. This may be done in the form of a
|
||||
context diff. You can choose what license to use for new code you
|
||||
add. The changes and their license must not restrict others from
|
||||
making their own changes to the official version of Vim.
|
||||
d) When you have a modified Vim which includes changes as mentioned
|
||||
under c), you can distribute it without the source code for the
|
||||
changes if the following three conditions are met:
|
||||
- The license that applies to the changes permits you to distribute
|
||||
the changes to the Vim maintainer without fee or restriction, and
|
||||
permits the Vim maintainer to include the changes in the official
|
||||
version of Vim without fee or restriction.
|
||||
- You keep the changes for at least three years after last
|
||||
distributing the corresponding modified Vim. When the maintainer
|
||||
or someone who you distributed the modified Vim to asks you (in
|
||||
any way) for the changes within this period, you must make them
|
||||
available to him.
|
||||
- You clearly describe in the distribution how to contact you. This
|
||||
contact information must remain valid for at least three years
|
||||
after last distributing the corresponding modified Vim, or as long
|
||||
as possible.
|
||||
e) When the GNU General Public License (GPL) applies to the changes,
|
||||
you can distribute the modified Vim under the GNU GPL version 2 or
|
||||
any later version.
|
||||
3) A message must be added, at least in the output of the ":version"
|
||||
command and in the intro screen, such that the user of the modified Vim
|
||||
is able to see that it was modified. When distributing as mentioned
|
||||
under 2)e) adding the message is only required for as far as this does
|
||||
not conflict with the license used for the changes.
|
||||
4) The contact information as required under 2)a) and 2)d) must not be
|
||||
removed or changed, except that the person himself can make
|
||||
corrections.
|
||||
|
||||
III) If you distribute a modified version of Vim, you are encouraged to use
|
||||
the Vim license for your changes and make them available to the
|
||||
maintainer, including the source code. The preferred way to do this is
|
||||
by e-mail or by uploading the files to a server and e-mailing the URL.
|
||||
If the number of changes is small (e.g., a modified Makefile) e-mailing a
|
||||
context diff will do. The e-mail address to be used is
|
||||
<maintainer@vim.org>
|
||||
|
||||
IV) It is not allowed to remove this license from the distribution of the Vim
|
||||
sources, parts of it or from a modified version. You may use this
|
||||
license for previous Vim releases instead of the license that they came
|
||||
with, at your option.
|
||||
2
Makefile
2
Makefile
@@ -153,7 +153,7 @@ MINOR = 2
|
||||
# > msvc2015.bat
|
||||
# - Build the console binary:
|
||||
# > nmake -f Make_mvc.mak
|
||||
# - Run the tests and check the ouput:
|
||||
# - Run the tests and check the output:
|
||||
# > nmake -f Make_mvc.mak testclean
|
||||
# > nmake -f Make_mvc.mak test
|
||||
# - Rename (using ../tools/rename.bat):
|
||||
|
||||
11
README.md
11
README.md
@@ -26,10 +26,12 @@ All commands are given with normal keyboard characters, so those who can type
|
||||
with ten fingers can work very fast. Additionally, function keys can be
|
||||
mapped to commands by the user, and the mouse can be used.
|
||||
|
||||
Vim runs under MS-Windows (NT, 2000, XP, Vista, 7, 8, 10), Macintosh, VMS and
|
||||
almost all flavours of UNIX. Porting to other systems should not be very
|
||||
difficult. Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me, Amiga
|
||||
DOS, Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
||||
Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, Haiku, VMS and almost
|
||||
all flavours of UNIX. Porting to other systems should not be very difficult.
|
||||
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000, Amiga DOS,
|
||||
Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
||||
|
||||
For Vim9 script see [README_VIM9](README_VIM9.md).
|
||||
|
||||
## Distribution ##
|
||||
|
||||
@@ -70,6 +72,7 @@ archive):
|
||||
README_unix.txt Unix
|
||||
README_dos.txt MS-DOS and MS-Windows
|
||||
README_mac.txt Macintosh
|
||||
README_haiku.txt Haiku
|
||||
README_vms.txt VMS
|
||||
|
||||
There are other `README_*.txt` files, depending on the distribution you used.
|
||||
|
||||
@@ -16,10 +16,10 @@ All commands are given with normal keyboard characters, so those who can type
|
||||
with ten fingers can work very fast. Additionally, function keys can be
|
||||
mapped to commands by the user, and the mouse can be used.
|
||||
|
||||
Vim runs under MS-Windows (NT, 2000, XP, Vista, 7, 8, 10), Macintosh, VMS and
|
||||
almost all flavours of UNIX. Porting to other systems should not be very
|
||||
difficult. Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me, Amiga
|
||||
DOS, Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
||||
Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, VMS and almost all
|
||||
flavours of UNIX. Porting to other systems should not be very difficult.
|
||||
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000, Amiga DOS,
|
||||
Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
||||
|
||||
|
||||
DISTRIBUTION
|
||||
|
||||
344
README_VIM9.md
Normal file
344
README_VIM9.md
Normal file
@@ -0,0 +1,344 @@
|
||||

|
||||
|
||||
# What is Vim9?
|
||||
|
||||
This is an experimental side of [Vim](https://github.com/vim/vim).
|
||||
It explores ways of making Vim script faster and better.
|
||||
|
||||
WARNING: The Vim9 script features are in the early stages of development,
|
||||
anything can break!
|
||||
|
||||
# Why Vim9?
|
||||
|
||||
## 1. FASTER VIM SCRIPT
|
||||
|
||||
The third item on the poll results of 2018, after popup windows and text
|
||||
properties, is faster Vim script. So how do we do that?
|
||||
|
||||
I have been throwing some ideas around, and soon came to the conclusion
|
||||
that the current way functions are called and executed, with
|
||||
dictionaries for the arguments and local variables, is never going to be
|
||||
very fast. We're lucky if we can make it twice as fast. The overhead
|
||||
of a function call and executing every line is just too high.
|
||||
|
||||
So what then? We can only make something fast by having a new way of
|
||||
defining a function, with similar but different properties of the old
|
||||
way:
|
||||
* Arguments are only available by name, not through the a: dictionary or
|
||||
the a:000 list.
|
||||
* Local variables are not available in an l: dictionary.
|
||||
* A few more things that slow us down, such as exception handling details.
|
||||
|
||||
I Implemented a "proof of concept" and measured the time to run a simple
|
||||
for loop with an addition (Justin used this example in his presentation,
|
||||
full code is below):
|
||||
|
||||
``` vim
|
||||
let sum = 0
|
||||
for i in range(1, 2999999)
|
||||
let sum += i
|
||||
endfor
|
||||
```
|
||||
|
||||
| how | time in sec |
|
||||
| --------| -------- |
|
||||
| Vim old | 5.018541 |
|
||||
| Python | 0.369598 |
|
||||
| Lua | 0.078817 |
|
||||
| Vim new | 0.073595 |
|
||||
|
||||
That looks very promising! It's just one example, but it shows how much
|
||||
we can gain, and also that Vim script can be faster than builtin
|
||||
interfaces.
|
||||
|
||||
In practice the script would not do something useless as counting but change
|
||||
the text. For example, re-indent all the lines:
|
||||
|
||||
``` vim
|
||||
let totallen = 0
|
||||
for i in range(1, 100000)
|
||||
call setline(i, ' ' .. getline(i))
|
||||
let totallen += len(getline(i))
|
||||
endfor
|
||||
```
|
||||
|
||||
| how | time in sec |
|
||||
| --------| -------- |
|
||||
| Vim old | 0.853752 |
|
||||
| Python | 0.304584 |
|
||||
| Lua | 0.286573 |
|
||||
| Vim new | 0.190276 |
|
||||
|
||||
The differences are smaller, but Vim 9 script is clearly the fastest.
|
||||
|
||||
How does Vim9 script work? The function is first compiled into a sequence of
|
||||
instructions. Each instruction has one or two parameters and a stack is
|
||||
used to store intermediate results. Local variables are also on the
|
||||
stack, space is reserved during compilation. This is a fairly normal
|
||||
way of compilation into an intermediate format, specialized for Vim,
|
||||
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
|
||||
|
||||
Attempts have been made to implement functionality with built-in script
|
||||
languages such as Python, Perl, Lua, Tcl and Ruby. This never gained much
|
||||
foothold, for various reasons.
|
||||
|
||||
Instead of using script language support in Vim:
|
||||
* Encourage implementing external tools in any language and communicate
|
||||
with them. The job and channel support already makes this possible.
|
||||
Really any language can be used, also Java and Go, which are not
|
||||
available built-in.
|
||||
* Phase out the built-in language interfaces, make maintenance a bit easier
|
||||
and executables easier to build. They will be kept for backwards
|
||||
compatibility, no new features.
|
||||
* Improve the Vim script language, it is used to communicate with the external
|
||||
tool and implements the Vim side of the interface. Also, it can be used when
|
||||
an external tool is undesired.
|
||||
|
||||
All together this creates a clear situation: Vim with the +eval feature
|
||||
will be sufficient for most plugins, while some plugins require
|
||||
installing a tool that can be written in any language. No confusion
|
||||
about having Vim but the plugin not working because some specific
|
||||
language is missing. This is a good long term goal.
|
||||
|
||||
Rationale: Why is it better to run a tool separately from Vim than using a
|
||||
built-in interface and interpreter? Take for example something that is
|
||||
written in Python:
|
||||
* The built-in interface uses the embedded python interpreter. This is less
|
||||
well maintained than the python command. Building Vim with it requires
|
||||
installing developer packages. If loaded dynamically there can be a version
|
||||
mismatch.
|
||||
* When running the tool externally the standard python command can be used,
|
||||
which is quite often available by default or can be easily installed.
|
||||
* The built-in interface has an API that is unique for Vim with Python. This is
|
||||
an extra API to learn.
|
||||
* A .py file can be compiled into a .pyc file and execute much faster.
|
||||
* Inside Vim multi-threading can cause problems, since the Vim core is single
|
||||
threaded. In an external tool there are no such problems.
|
||||
* The Vim part is written in .vim files, the Python part is in .py files, this
|
||||
is nicely separated.
|
||||
* Disadvantage: An interface needs to be made between Vim and Python.
|
||||
JSON is available for this, and it's fairly easy to use. But it still
|
||||
requires implementing asynchronous communication.
|
||||
|
||||
|
||||
## 3. BETTER VIM SCRIPT
|
||||
|
||||
To make Vim faster a new way of defining a function needs to be added.
|
||||
While we are doing that, since the lines in this function won't be fully
|
||||
backwards compatible anyway, we can also make Vim script easier to use.
|
||||
In other words: "less weird". Making it work more like modern
|
||||
programming languages will help. No surprises.
|
||||
|
||||
A good example is how in a function the arguments are prefixed with
|
||||
"a:". No other language I know does that, so let's drop it.
|
||||
|
||||
Taking this one step further is also dropping "s:" for script-local variables;
|
||||
everything at the script level is script-local by default. Since this is not
|
||||
backwards compatible it requires a new script style: Vim9 script!
|
||||
|
||||
It should be possible to convert code from other languages to Vim
|
||||
script. We can add functionality to make this easier. This still needs
|
||||
to be discussed, but we can consider adding type checking and a simple
|
||||
form of classes. If you look at JavaScript for example, it has gone
|
||||
through these stages over time, adding real class support and now
|
||||
TypeScript adds type checking. But we'll have to see how much of that
|
||||
we actually want to include in Vim script. Ideally a conversion tool
|
||||
can take Python, JavaScript or TypeScript code and convert it to Vim
|
||||
script, with only some things that cannot be converted.
|
||||
|
||||
Vim script won't work the same as any specific language, but we can use
|
||||
mechanisms that are commonly known, ideally with the same syntax. One
|
||||
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
|
||||
TypeScript, can work:
|
||||
|
||||
|
||||
``` vim
|
||||
def MyFunction(arg: number): number
|
||||
let local = 1
|
||||
let todo = arg
|
||||
const ADD = 88
|
||||
while todo > 0
|
||||
local += ADD
|
||||
--todo
|
||||
endwhile
|
||||
return local
|
||||
enddef
|
||||
```
|
||||
|
||||
The similarity with JavaScript/TypeScript can also be used for dependencies
|
||||
between files. Vim currently uses the `:source` command, which has several
|
||||
disadvantages:
|
||||
* In the sourced script, is not clear what it provides. By default all
|
||||
functions are global and can be used elsewhere.
|
||||
* In a script that sources other scripts, it is not clear what function comes
|
||||
from what sourced script. Finding the implementation is a hassle.
|
||||
* Prevention of loading the whole script twice must be manually implemented.
|
||||
|
||||
We can use the `:import` and `:export` commands from the JavaScript standard to
|
||||
make this much better. For example, in script "myfunction.vim" define a
|
||||
function and export it:
|
||||
|
||||
``` vim
|
||||
vim9script " Vim9 script syntax used here
|
||||
|
||||
let local = 'local variable is not exported, script-local'
|
||||
|
||||
export def MyFunction() " exported function
|
||||
...
|
||||
|
||||
def LocalFunction() " not exported, script-local
|
||||
...
|
||||
```
|
||||
|
||||
And in another script import the function:
|
||||
|
||||
``` vim
|
||||
vim9script " Vim9 script syntax used here
|
||||
|
||||
import MyFunction from 'myfunction.vim'
|
||||
```
|
||||
|
||||
This looks like JavaScript/TypeScript, thus many users will understand the
|
||||
syntax.
|
||||
|
||||
These are ideas, this will take time to design, discuss and implement.
|
||||
Eventually this will lead to Vim 9!
|
||||
|
||||
|
||||
## Code for sum time measurements
|
||||
|
||||
Vim was build with -O2.
|
||||
|
||||
``` vim
|
||||
func VimOld()
|
||||
let sum = 0
|
||||
for i in range(1, 2999999)
|
||||
let sum += i
|
||||
endfor
|
||||
return sum
|
||||
endfunc
|
||||
|
||||
func Python()
|
||||
py3 << END
|
||||
sum = 0
|
||||
for i in range(1, 3000000):
|
||||
sum += i
|
||||
END
|
||||
return py3eval('sum')
|
||||
endfunc
|
||||
|
||||
func Lua()
|
||||
lua << END
|
||||
sum = 0
|
||||
for i = 1, 2999999 do
|
||||
sum = sum + i
|
||||
end
|
||||
END
|
||||
return luaeval('sum')
|
||||
endfunc
|
||||
|
||||
def VimNew()
|
||||
let sum = 0
|
||||
for i in range(1, 2999999)
|
||||
let sum += i
|
||||
endfor
|
||||
return sum
|
||||
enddef
|
||||
|
||||
let start = reltime()
|
||||
echo VimOld()
|
||||
echo 'Vim old: ' .. reltimestr(reltime(start))
|
||||
|
||||
let start = reltime()
|
||||
echo Python()
|
||||
echo 'Python: ' .. reltimestr(reltime(start))
|
||||
|
||||
let start = reltime()
|
||||
echo Lua()
|
||||
echo 'Lua: ' .. reltimestr(reltime(start))
|
||||
|
||||
let start = reltime()
|
||||
echo VimNew()
|
||||
echo 'Vim new: ' .. reltimestr(reltime(start))
|
||||
```
|
||||
|
||||
## Code for indent time measurements
|
||||
|
||||
``` vim
|
||||
def VimNew(): number
|
||||
let totallen = 0
|
||||
for i in range(1, 100000)
|
||||
setline(i, ' ' .. getline(i))
|
||||
totallen += len(getline(i))
|
||||
endfor
|
||||
return totallen
|
||||
enddef
|
||||
|
||||
func VimOld()
|
||||
let totallen = 0
|
||||
for i in range(1, 100000)
|
||||
call setline(i, ' ' .. getline(i))
|
||||
let totallen += len(getline(i))
|
||||
endfor
|
||||
return totallen
|
||||
endfunc
|
||||
|
||||
func Lua()
|
||||
lua << END
|
||||
b = vim.buffer()
|
||||
totallen = 0
|
||||
for i = 1, 100000 do
|
||||
b[i] = " " .. b[i]
|
||||
totallen = totallen + string.len(b[i])
|
||||
end
|
||||
END
|
||||
return luaeval('totallen')
|
||||
endfunc
|
||||
|
||||
func Python()
|
||||
py3 << END
|
||||
cb = vim.current.buffer
|
||||
totallen = 0
|
||||
for i in range(0, 100000):
|
||||
cb[i] = ' ' + cb[i]
|
||||
totallen += len(cb[i])
|
||||
END
|
||||
return py3eval('totallen')
|
||||
endfunc
|
||||
|
||||
new
|
||||
call setline(1, range(100000))
|
||||
let start = reltime()
|
||||
echo VimOld()
|
||||
echo 'Vim old: ' .. reltimestr(reltime(start))
|
||||
bwipe!
|
||||
|
||||
new
|
||||
call setline(1, range(100000))
|
||||
let start = reltime()
|
||||
echo Python()
|
||||
echo 'Python: ' .. reltimestr(reltime(start))
|
||||
bwipe!
|
||||
|
||||
new
|
||||
call setline(1, range(100000))
|
||||
let start = reltime()
|
||||
echo Lua()
|
||||
echo 'Lua: ' .. reltimestr(reltime(start))
|
||||
bwipe!
|
||||
|
||||
new
|
||||
call setline(1, range(100000))
|
||||
let start = reltime()
|
||||
echo VimNew()
|
||||
echo 'Vim new: ' .. reltimestr(reltime(start))
|
||||
bwipe!
|
||||
```
|
||||
@@ -1,6 +1,6 @@
|
||||
README_dos.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on MS-DOS and MS-Windows systems.
|
||||
This file explains the installation of Vim on MS-Windows systems.
|
||||
See "README.txt" for general information about Vim.
|
||||
|
||||
There are two ways to install Vim:
|
||||
@@ -64,10 +64,6 @@ These are the normal steps to install Vim from the .zip archives:
|
||||
to another location. That is where they will stay, the install program
|
||||
won't move or copy the runtime files.
|
||||
|
||||
Only for the 32 bit DOS version on MS-DOS without DPMI support (trying to
|
||||
run install.exe will produce an error message): Unpack the CSDPMI4B.ZIP
|
||||
archive and follow the instructions in the documentation.
|
||||
|
||||
3. Change to the new directory:
|
||||
cd vim\vim82
|
||||
Run the "install.exe" program. It will ask you a number of questions about
|
||||
@@ -121,7 +117,7 @@ Remarks:
|
||||
set VIM=d:\editors\vim
|
||||
|
||||
- If you have told the "install.exe" program to add the "Edit with Vim" menu
|
||||
entry, you can remove it by running the "uninstal.exe". See
|
||||
entry, you can remove it by running the "uninstall.exe". See
|
||||
":help win32-popup-menu".
|
||||
|
||||
- In Windows 95/98/NT you can create a shortcut to Vim. This works for all
|
||||
@@ -150,5 +146,4 @@ Remarks:
|
||||
|
||||
For further information, type one of these inside Vim:
|
||||
:help dos
|
||||
:help msdos
|
||||
:help win32
|
||||
|
||||
13
READMEdir/README_haiku.txt
Normal file
13
READMEdir/README_haiku.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
README_haiku.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on Haiku operating system.
|
||||
See "README.txt" for general information about Vim.
|
||||
|
||||
Preferred (and easy) way to get Vim on Haiku is to use default Haiku
|
||||
software repository HaikuPorts. To get Vim:
|
||||
|
||||
- Open HaikuDepot application and search for "vim" package, then install,
|
||||
- Open a Terminal and type "pkgman install vim", then follow instructions.
|
||||
|
||||
If you prefer to install Vim from source, follow the instructions on
|
||||
"runtime/doc/os_haiku.txt", "Compiling Vim" section.
|
||||
@@ -1,12 +1,12 @@
|
||||
README_srcdos.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
See "README.txt" for general information about Vim.
|
||||
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
|
||||
See "README_dos.txt" for installation instructions for MS-Windows.
|
||||
These files are in the runtime archive (vim82rt.zip).
|
||||
|
||||
|
||||
The DOS source archive contains the files needed to compile Vim on MS-DOS or
|
||||
MS-Windows. It is packed for DOS systems, with CR-LF. It also includes the
|
||||
VisVim sources.
|
||||
The DOS source archive contains the files needed to compile Vim on MS-Windows.
|
||||
It is packed for MS-Windows systems, with CR-LF. It also includes the VisVim
|
||||
sources.
|
||||
|
||||
See "src/INSTALLpc.txt" for instructions on how to compile Vim on the PC.
|
||||
|
||||
@@ -1,15 +1,6 @@
|
||||
README_w32s.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
This archive contains the gvim.exe that was specifically compiled for use in
|
||||
the Win32s subsystem in MS-Windows 3.1 and 3.11.
|
||||
|
||||
Also see the README_bindos.txt, README_dos.txt and README.txt files.
|
||||
|
||||
Be careful not to overwrite the Win32s gvim.exe with the another gvim.exe when
|
||||
unpacking another binary archive! Check the output of ":version":
|
||||
Win32s - "MS-Windows 16/32 bit GUI version"
|
||||
Win32 - "MS-Windows 32 bit GUI version"
|
||||
Win32 with OLE - "MS-Windows 32 bit GUI version with OLE support"
|
||||
|
||||
For further information, type this inside Vim:
|
||||
:help win32s
|
||||
This file used to explain the installation of Vim on MS-Windows 3.1 and 3.11
|
||||
systems. However, support for MS-Windows 3.1 and 3.11 has been removed in
|
||||
patch 7.4.1364.
|
||||
See "README.txt" for general information about Vim.
|
||||
|
||||
@@ -25,9 +25,9 @@ test_script:
|
||||
- cd src/testdir
|
||||
# Testing with MSVC gvim
|
||||
- path C:\Python35-x64;%PATH%
|
||||
- nmake -f Make_dos.mak VIMPROG=..\gvim
|
||||
- nmake -f Make_dos.mak POSTSCRIPT=yes VIMPROG=..\gvim
|
||||
- nmake -f Make_dos.mak clean
|
||||
# Testing with MingW console version
|
||||
- nmake -f Make_dos.mak VIMPROG=..\vim
|
||||
- nmake -f Make_dos.mak POSTSCRIPT=yes VIMPROG=..\vim
|
||||
|
||||
# vim: sw=2 sts=2 et ts=8 sr
|
||||
|
||||
2
ci/config.mk.clang.sed
Normal file
2
ci/config.mk.clang.sed
Normal file
@@ -0,0 +1,2 @@
|
||||
/^CFLAGS[[:blank:]]*=/s/$/ -Wno-error=missing-field-initializers/
|
||||
/^RUBY_CFLAGS[[:blank:]]*=/s/$/ -Wno-error=unknown-attributes -Wno-error=ignored-attributes/
|
||||
1
ci/config.mk.gcc.sed
Normal file
1
ci/config.mk.gcc.sed
Normal file
@@ -0,0 +1 @@
|
||||
/^CFLAGS[[:blank:]]*=/s/$/ -Wno-error=maybe-uninitialized/
|
||||
2
ci/config.mk.sed
Normal file
2
ci/config.mk.sed
Normal file
@@ -0,0 +1,2 @@
|
||||
/^CFLAGS[[:blank:]]*=/s/$/ -Wall -Wextra -Wshadow -Werror/
|
||||
/^PERL_CFLAGS[[:blank:]]*=/s/$/ -Wno-error=unused-function/
|
||||
25
ci/if_ver-1.vim
Normal file
25
ci/if_ver-1.vim
Normal file
@@ -0,0 +1,25 @@
|
||||
" Print all interface versions for Ubuntu. Part 1.
|
||||
|
||||
if 1
|
||||
execute 'source' expand('<sfile>:h') .. '/if_ver-cmd.vim'
|
||||
|
||||
echo "*** Interface versions ***\n"
|
||||
|
||||
echo 'Lua:'
|
||||
PrintVer lua print(_VERSION)
|
||||
|
||||
echo 'MzScheme:'
|
||||
PrintVer mzscheme (display (version))
|
||||
|
||||
echo 'Perl:'
|
||||
PrintVer perl print $^V
|
||||
|
||||
echo 'Ruby:'
|
||||
PrintVer ruby print RUBY_VERSION
|
||||
|
||||
echo 'Tcl:'
|
||||
PrintVer tcl puts [info patchlevel]
|
||||
|
||||
echo 'Python 2:'
|
||||
PrintVer python print sys.version
|
||||
endif
|
||||
8
ci/if_ver-2.vim
Normal file
8
ci/if_ver-2.vim
Normal file
@@ -0,0 +1,8 @@
|
||||
" Print py3 interface versions for Ubuntu. Part 2.
|
||||
|
||||
if 1
|
||||
execute 'source' expand('<sfile>:h') .. '/if_ver-cmd.vim'
|
||||
|
||||
echo 'Python 3:'
|
||||
PrintVer python3 print(sys.version)
|
||||
endif
|
||||
12
ci/if_ver-cmd.vim
Normal file
12
ci/if_ver-cmd.vim
Normal file
@@ -0,0 +1,12 @@
|
||||
" Provide 'PrintVer' command to print the interface versions.
|
||||
|
||||
func s:print_ver(lang, ...)
|
||||
if has(a:lang)
|
||||
exec a:lang join(a:000)
|
||||
else
|
||||
echo 'N/A'
|
||||
endif
|
||||
echo ''
|
||||
endfunc
|
||||
|
||||
command -nargs=+ PrintVer call <SID>print_ver(<f-args>)
|
||||
8
ci/load-snd-dummy.sh
Normal file
8
ci/load-snd-dummy.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
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)"
|
||||
modprobe snd-dummy
|
||||
fi
|
||||
@@ -32,12 +32,12 @@ To build the installable .exe:
|
||||
|
||||
5. Get a "diff.exe" program. If you skip this the built-in diff will always
|
||||
be used (which is fine for most users). If you do have your own
|
||||
"diff.exe" put it in the "../.." directory (above the "vim81" directory,
|
||||
"diff.exe" put it in the "../.." directory (above the "vim82" directory,
|
||||
it's the same for all Vim versions).
|
||||
You can find one in previous Vim versions or in this archive:
|
||||
http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
|
||||
|
||||
6 Also put winpty32.dll and winpty-agent.exe in "../.." (above the "vim81"
|
||||
6 Also put winpty32.dll and winpty-agent.exe in "../.." (above the "vim82"
|
||||
directory). This is required for the terminal window.
|
||||
|
||||
7. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
|
||||
|
||||
@@ -39,7 +39,7 @@ Unicode true
|
||||
# Uncomment the next line if you want to include VisVim extension:
|
||||
#!define HAVE_VIS_VIM
|
||||
|
||||
# Comment the following line to create a multilanguage installer:
|
||||
# Comment the following line to create an English-only installer:
|
||||
!define HAVE_MULTI_LANG
|
||||
|
||||
# Uncomment the next line if you want to create a 64-bit installer.
|
||||
@@ -176,6 +176,7 @@ Page custom SetCustom ValidateCustom
|
||||
!include "lang\japanese.nsi"
|
||||
!include "lang\simpchinese.nsi"
|
||||
!include "lang\tradchinese.nsi"
|
||||
!include "lang\turkish.nsi"
|
||||
!endif
|
||||
|
||||
##########################################################
|
||||
|
||||
@@ -66,12 +66,12 @@ LangString str_desc_start_menu ${LANG_TURKISH} \
|
||||
LangString str_section_edit_with ${LANG_TURKISH} \
|
||||
"Vim ile Aç"
|
||||
LangString str_desc_edit_with ${LANG_TURKISH} \
|
||||
"Vim'i $\"Birlikte aç$\" sağ tıklama menüsüne ekler."
|
||||
"Vim'i $\"Birlikte aç$\" sağ tık menüsüne ekler."
|
||||
|
||||
LangString str_section_vim_rc ${LANG_TURKISH} \
|
||||
"Bir konfigürasyon dosyası oluştur"
|
||||
"Bir yapılandırma dosyası oluştur"
|
||||
LangString str_desc_vim_rc ${LANG_TURKISH} \
|
||||
"Eğer yoksa bir konfigürasyon dosyası (_vimrc) oluşturur."
|
||||
"Eğer yoksa bir yapılandırma dosyası (_vimrc) oluşturur."
|
||||
|
||||
LangString str_group_plugin ${LANG_TURKISH} \
|
||||
"Eklenti dizinleri oluştur"
|
||||
@@ -108,7 +108,7 @@ LangString str_desc_unregister ${LANG_TURKISH} \
|
||||
LangString str_unsection_exe ${LANG_TURKISH} \
|
||||
"Vim programını ve çalıştırma dosyalarını kaldır"
|
||||
LangString str_desc_rm_exe ${LANG_TURKISH} \
|
||||
"Tüm Vim çalıştırılabilir dosyalarını ve diğer dosyaları kaldırır."
|
||||
"Vim çalıştırılabilir dosyalarını ve diğer dosyaları kaldırır."
|
||||
|
||||
LangString str_ungroup_plugin ${LANG_TURKISH} \
|
||||
"Eklenti dizinlerini kaldır"
|
||||
@@ -128,7 +128,7 @@ LangString str_desc_rm_plugin_vim ${LANG_TURKISH} \
|
||||
LangString str_unsection_rootdir ${LANG_TURKISH} \
|
||||
"Vim kök dizinini kaldır"
|
||||
LangString str_desc_rm_rootdir ${LANG_TURKISH} \
|
||||
"Vim kök dizinini kaldırır. Bu dizin Vim konfigürasyon dosyalarını içerir!"
|
||||
"Vim kök dizinini kaldırır. Bu dizin Vim yapılandırma dosyalarını içerir!"
|
||||
|
||||
LangString str_msg_install_fail ${LANG_TURKISH} \
|
||||
"Yükleme başarısız oldu. Yeniden deneyin."
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim completion script
|
||||
" Language: C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2018 Aug 20
|
||||
" Last Change: 2020 Apr 08
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
@@ -635,3 +635,5 @@ endfunc
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: noet sw=2 sts=2
|
||||
|
||||
6
runtime/autoload/dist/ft.vim
vendored
6
runtime/autoload/dist/ft.vim
vendored
@@ -1,7 +1,7 @@
|
||||
" Vim functions for file type detection
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2019 Mar 08
|
||||
" Last Change: 2020 Mar 30
|
||||
|
||||
" These functions are moved here from runtime/filetype.vim to make startup
|
||||
" faster.
|
||||
@@ -298,7 +298,7 @@ endfunc
|
||||
|
||||
func dist#ft#FTmms()
|
||||
let n = 1
|
||||
while n < 10
|
||||
while n < 20
|
||||
let line = getline(n)
|
||||
if line =~ '^\s*\(%\|//\)' || line =~ '^\*'
|
||||
setf mmix
|
||||
@@ -325,7 +325,7 @@ endfunc
|
||||
|
||||
func dist#ft#FTmm()
|
||||
let n = 1
|
||||
while n < 10
|
||||
while n < 20
|
||||
let line = getline(n)
|
||||
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|/\*\)'
|
||||
setf objcpp
|
||||
|
||||
@@ -22,7 +22,7 @@ if &cp
|
||||
endif
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of getscript needs vim 7.2"
|
||||
echo "***warning*** this version of GetLatestVimScripts needs vim 7.2"
|
||||
echohl Normal
|
||||
finish
|
||||
endif
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" netrw.vim: Handles file transfer and remote directory listing across
|
||||
" AUTOLOAD SECTION
|
||||
" Date: Nov 29, 2019
|
||||
" Version: 167
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" Date: Jan 07, 2020
|
||||
" Version: 168
|
||||
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
@@ -43,7 +43,7 @@ if exists("s:needspatches")
|
||||
endfor
|
||||
endif
|
||||
|
||||
let g:loaded_netrw = "v167"
|
||||
let g:loaded_netrw = "v168"
|
||||
if !exists("s:NOTE")
|
||||
let s:NOTE = 0
|
||||
let s:WARNING = 1
|
||||
@@ -68,7 +68,7 @@ setl cpo&vim
|
||||
" Usage: netrw#ErrorMsg(s:NOTE | s:WARNING | s:ERROR,"some message",error-number)
|
||||
" netrw#ErrorMsg(s:NOTE | s:WARNING | s:ERROR,["message1","message2",...],error-number)
|
||||
" (this function can optionally take a list of messages)
|
||||
" Mar 21, 2017 : max errnum currently is 105
|
||||
" Dec 2, 2019 : max errnum currently is 106
|
||||
fun! netrw#ErrorMsg(level,msg,errnum)
|
||||
" call Dfunc("netrw#ErrorMsg(level=".a:level." msg<".a:msg."> errnum=".a:errnum.") g:netrw_use_errorwindow=".g:netrw_use_errorwindow)
|
||||
|
||||
@@ -447,23 +447,9 @@ if !exists("g:netrw_localmovecmd")
|
||||
let g:netrw_localmovecmd= ""
|
||||
endif
|
||||
endif
|
||||
if v:version < 704 || (v:version == 704 && !has("patch1107"))
|
||||
" 1109 provides for delete(tmpdir,"d") which is what will be used
|
||||
if exists("g:netrw_local_rmdir")
|
||||
let g:netrw_localrmdir= g:netrw_local_rmdir
|
||||
call netrw#ErrorMsg(s:NOTE,"g:netrw_local_rmdir is deprecated in favor of g:netrw_localrmdir",86)
|
||||
endif
|
||||
if has("win32") || has("win95") || has("win64") || has("win16")
|
||||
if g:netrw_cygwin
|
||||
call s:NetrwInit("g:netrw_localrmdir","rmdir")
|
||||
else
|
||||
let g:netrw_localrmdir = expand("$COMSPEC")
|
||||
let g:netrw_localrmdiropt= " /c rmdir"
|
||||
endif
|
||||
else
|
||||
call s:NetrwInit("g:netrw_localrmdir","rmdir")
|
||||
endif
|
||||
endif
|
||||
" following serves as an example for how to insert a version&patch specific test
|
||||
"if v:version < 704 || (v:version == 704 && !has("patch1107"))
|
||||
"endif
|
||||
call s:NetrwInit("g:netrw_liststyle" , s:THINLIST)
|
||||
" sanity checks
|
||||
if g:netrw_liststyle < 0 || g:netrw_liststyle >= s:MAXLIST
|
||||
@@ -5217,8 +5203,8 @@ fun! netrw#BrowseX(fname,remote)
|
||||
if a:remote == 0 && isdirectory(a:fname)
|
||||
" if its really just a local directory, then do a "gf" instead
|
||||
" call Decho("remote≡0 and a:fname<".a:fname."> ".(isdirectory(a:fname)? "is a directory" : "is not a directory"),'~'.expand("<slnum>"))
|
||||
" call Decho("..appears to be a local directory; using gf instead",'~'.expand("<slnum>"))
|
||||
norm! gf
|
||||
" call Decho("..appears to be a local directory; using e ".a:fname." instead",'~'.expand("<slnum>"))
|
||||
exe "e ".a:fname
|
||||
" call Dret("netrw#BrowseX")
|
||||
return
|
||||
elseif a:remote == 1 && a:fname !~ '^https\=:' && a:fname =~ '/$'
|
||||
@@ -7158,17 +7144,8 @@ fun! s:NetrwMarkFileCopy(islocal,...)
|
||||
" call Dret("s:NetrwMarkFileCopy : lcd failure")
|
||||
return
|
||||
endif
|
||||
if v:version < 704 || (v:version == 704 && !has("patch1107"))
|
||||
call s:NetrwExe("sil !".g:netrw_localrmdir.g:netrw_localrmdiropt." ".s:ShellEscape(tmpdir,1))
|
||||
if v:shell_error != 0
|
||||
call netrw#ErrorMsg(s:WARNING,"consider setting g:netrw_localrmdir<".g:netrw_localrmdir."> to something that works",80)
|
||||
" " call Dret("s:NetrwMarkFileCopy : failed: sil !".g:netrw_localrmdir." ".s:ShellEscape(tmpdir,1) )
|
||||
return
|
||||
endif
|
||||
else
|
||||
if delete(tmpdir,"d")
|
||||
call netrw#ErrorMsg(s:ERROR,"unable to delete directory <".tmpdir.">!",103)
|
||||
endif
|
||||
if delete(tmpdir,"d")
|
||||
call netrw#ErrorMsg(s:ERROR,"unable to delete directory <".tmpdir.">!",103)
|
||||
endif
|
||||
else
|
||||
if s:NetrwLcd(curdir)
|
||||
@@ -9587,6 +9564,7 @@ fun! s:NetrwWideListing()
|
||||
" call Decho("setl ma noro",'~'.expand("<slnum>"))
|
||||
let b:netrw_cpf= 0
|
||||
if line("$") >= w:netrw_bannercnt
|
||||
" determine the maximum filename size; use that to set cpf
|
||||
exe 'sil NetrwKeepj '.w:netrw_bannercnt.',$g/^./if virtcol("$") > b:netrw_cpf|let b:netrw_cpf= virtcol("$")|endif'
|
||||
NetrwKeepj call histdel("/",-1)
|
||||
else
|
||||
@@ -9594,6 +9572,7 @@ fun! s:NetrwWideListing()
|
||||
" call Dret("NetrwWideListing")
|
||||
return
|
||||
endif
|
||||
" allow for two spaces to separate columns
|
||||
let b:netrw_cpf= b:netrw_cpf + 2
|
||||
" call Decho("b:netrw_cpf=max_filename_length+2=".b:netrw_cpf,'~'.expand("<slnum>"))
|
||||
|
||||
@@ -9621,10 +9600,11 @@ fun! s:NetrwWideListing()
|
||||
if newcolend > line("$") | let newcolend= line("$") | endif
|
||||
let newcolqty= newcolend - newcolstart
|
||||
exe newcolstart
|
||||
" COMBAK: both of the visual-mode using lines below are problematic vis-a-vis @*
|
||||
if newcolqty == 0
|
||||
exe "sil! NetrwKeepj norm! 0\<c-v>$h\"ax".w:netrw_bannercnt."G$\"ap"
|
||||
else
|
||||
exe "sil! NetrwKeepj norm! 0\<c-v>".newcolqty.'j$h\"ax'.w:netrw_bannercnt.'G$\"ap'
|
||||
exe "sil! NetrwKeepj norm! 0\<c-v>".newcolqty.'j$h"ax'.w:netrw_bannercnt.'G$"ap'
|
||||
endif
|
||||
exe "sil! NetrwKeepj ".newcolstart.','.newcolend.'d _'
|
||||
exe 'sil! NetrwKeepj '.w:netrw_bannercnt
|
||||
@@ -11048,9 +11028,10 @@ fun! s:NetrwLocalRename(path) range
|
||||
" call Dfunc("NetrwLocalRename(path<".a:path.">)")
|
||||
|
||||
" preparation for removing multiple files/directories
|
||||
let ykeep = @@
|
||||
let ctr = a:firstline
|
||||
let svpos = winsaveview()
|
||||
let ykeep = @@
|
||||
let ctr = a:firstline
|
||||
let svpos = winsaveview()
|
||||
let all = 0
|
||||
" call Decho("saving posn to svpos<".string(svpos).">",'~'.expand("<slnum>"))
|
||||
|
||||
" rename files given by the markfilelist
|
||||
@@ -11078,6 +11059,23 @@ fun! s:NetrwLocalRename(path) range
|
||||
let newname = substitute(oldname,subfrom,subto,'')
|
||||
endif
|
||||
endif
|
||||
if !all && filereadable(newname)
|
||||
call inputsave()
|
||||
let response= input("File<".newname."> already exists; do you want to overwrite it? (y/all/n) ")
|
||||
call inputrestore()
|
||||
if response == "all"
|
||||
let all= 1
|
||||
elseif response != "y" && response != "yes"
|
||||
" refresh the directory
|
||||
" call Decho("refresh the directory listing",'~'.expand("<slnum>"))
|
||||
NetrwKeepj call s:NetrwRefresh(1,s:NetrwBrowseChgDir(1,'./'))
|
||||
" call Decho("restoring posn to svpos<".string(svpos).">",'~'.expand("<slnum>"))
|
||||
NetrwKeepj call winrestview(svpos)
|
||||
let @@= ykeep
|
||||
" call Dret("NetrwLocalRename")
|
||||
return
|
||||
endif
|
||||
endif
|
||||
call rename(oldname,newname)
|
||||
endfor
|
||||
call s:NetrwUnmarkList(bufnr("%"),b:netrw_curdir)
|
||||
@@ -11101,14 +11099,14 @@ fun! s:NetrwLocalRename(path) range
|
||||
|
||||
NetrwKeepj norm! 0
|
||||
let oldname= s:ComposePath(a:path,curword)
|
||||
" call Decho("oldname<".oldname.">",'~'.expand("<slnum>"))
|
||||
" call Decho("oldname<".oldname.">",'~'.expand("<slnum>"))
|
||||
|
||||
call inputsave()
|
||||
let newname= input("Moving ".oldname." to : ",substitute(oldname,'/*$','','e'))
|
||||
call inputrestore()
|
||||
|
||||
call rename(oldname,newname)
|
||||
" call Decho("renaming <".oldname."> to <".newname.">",'~'.expand("<slnum>"))
|
||||
" call Decho("renaming <".oldname."> to <".newname.">",'~'.expand("<slnum>"))
|
||||
|
||||
let ctr= ctr + 1
|
||||
endwhile
|
||||
@@ -11896,6 +11894,9 @@ fun! s:NetrwExe(cmd)
|
||||
" call Decho("exe ".a:cmd,'~'.expand("<slnum>"))
|
||||
exe a:cmd
|
||||
endif
|
||||
if v:shell_error
|
||||
call netrw#ErrorMsg(s:WARNING,"shell signalled an error",106)
|
||||
endif
|
||||
" call Dret("s:NetrwExe : v:shell_error=".v:shell_error)
|
||||
endfun
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" netrwSettings.vim: makes netrw settings simpler
|
||||
" Date: Nov 09, 2016
|
||||
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
|
||||
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" Version: 16
|
||||
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
" tar.vim: Handles browsing tarfiles
|
||||
" AUTOLOAD PORTION
|
||||
" Date: Apr 17, 2013
|
||||
" Version: 29
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" License: Vim License (see vim's :help license)
|
||||
" Date: Jan 07, 2020
|
||||
" Version: 32
|
||||
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" License: Vim License (see vim's :help license)
|
||||
"
|
||||
" Contains many ideas from Michael Toren's <tar.vim>
|
||||
"
|
||||
" Copyright: Copyright (C) 2005-2011 Charles E. Campbell {{{1
|
||||
" Copyright: Copyright (C) 2005-2017 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
@@ -22,7 +22,7 @@
|
||||
if &cp || exists("g:loaded_tar")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_tar= "v29"
|
||||
let g:loaded_tar= "v32"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of tar needs vim 7.2"
|
||||
@@ -48,6 +48,9 @@ endif
|
||||
if !exists("g:tar_writeoptions")
|
||||
let g:tar_writeoptions= "uf"
|
||||
endif
|
||||
if !exists("g:tar_delfile")
|
||||
let g:tar_delfile="--delete -f"
|
||||
endif
|
||||
if !exists("g:netrw_cygwin")
|
||||
if has("win32") || has("win95") || has("win64") || has("win16")
|
||||
if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
|
||||
@@ -109,6 +112,7 @@ fun! tar#Browse(tarfile)
|
||||
" sanity checks
|
||||
if !executable(g:tar_cmd)
|
||||
redraw!
|
||||
" call Decho('***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system')
|
||||
echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system'
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Browse")
|
||||
@@ -119,6 +123,7 @@ fun! tar#Browse(tarfile)
|
||||
if a:tarfile !~# '^\a\+://'
|
||||
" if it's an url, don't complain, let url-handlers such as vim do its thing
|
||||
redraw!
|
||||
" call Decho("***error*** (tar#Browse) File not readable<".a:tarfile.">")
|
||||
echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None
|
||||
endif
|
||||
let &report= repkeep
|
||||
@@ -152,12 +157,27 @@ fun! tar#Browse(tarfile)
|
||||
" assuming cygwin
|
||||
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
|
||||
endif
|
||||
|
||||
let curlast= line("$")
|
||||
if tarfile =~# '\.\(gz\|tgz\)$'
|
||||
let gzip_command = s:get_gzip_command(tarfile)
|
||||
|
||||
if tarfile =~# '\.\(gz\)$'
|
||||
" call Decho("1: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
|
||||
exe "sil! r! " . gzip_command . " -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\)$'
|
||||
if has("unix") && executable("file")
|
||||
let filekind= system("file ".shellescape(tarfile,1)) =~ "bzip2"
|
||||
else
|
||||
let filekind= ""
|
||||
endif
|
||||
|
||||
if filekind =~ "bzip2"
|
||||
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." - "
|
||||
else
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
endif
|
||||
|
||||
elseif tarfile =~# '\.lrp'
|
||||
" call Decho("2: exe silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ")
|
||||
exe "sil! r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
@@ -184,7 +204,7 @@ fun! tar#Browse(tarfile)
|
||||
" call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
|
||||
return
|
||||
endif
|
||||
if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~ '\c\%(warning\|error\|inappropriate\|unrecognized\)')
|
||||
if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~# '\c\%(warning\|error\|inappropriate\|unrecognized\)')
|
||||
redraw!
|
||||
echohl WarningMsg | echo "***warning*** (tar#Browse) ".a:tarfile." doesn't appear to be a tar file" | echohl None
|
||||
keepj sil! %d
|
||||
@@ -197,8 +217,13 @@ fun! tar#Browse(tarfile)
|
||||
return
|
||||
endif
|
||||
|
||||
" set up maps supported for tar
|
||||
setlocal noma nomod ro
|
||||
noremap <silent> <buffer> <cr> :call <SID>TarBrowseSelect()<cr>
|
||||
noremap <silent> <buffer> <cr> :call <SID>TarBrowseSelect()<cr>
|
||||
noremap <silent> <buffer> x :call tar#Extract()<cr>
|
||||
if &mouse != ""
|
||||
noremap <silent> <buffer> <leftmouse> <leftmouse>:call <SID>TarBrowseSelect()<cr>
|
||||
endif
|
||||
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Browse : b:tarfile<".b:tarfile.">")
|
||||
@@ -235,7 +260,8 @@ fun! s:TarBrowseSelect()
|
||||
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
|
||||
endif
|
||||
|
||||
new
|
||||
" open a new window (tar#Read will read a file into it)
|
||||
noswapfile new
|
||||
if !exists("g:tar_nomax") || g:tar_nomax == 0
|
||||
wincmd _
|
||||
endif
|
||||
@@ -267,7 +293,7 @@ fun! tar#Read(fname,mode)
|
||||
if fname =~ '\.bz2$' && executable("bzcat")
|
||||
let decmp= "|bzcat"
|
||||
let doro = 1
|
||||
elseif fname =~ '\.gz$' && executable("zcat")
|
||||
elseif fname =~ '\.t\=gz$' && executable("zcat")
|
||||
let decmp= "|zcat"
|
||||
let doro = 1
|
||||
elseif fname =~ '\.lzma$' && executable("lzcat")
|
||||
@@ -291,20 +317,29 @@ fun! tar#Read(fname,mode)
|
||||
endif
|
||||
|
||||
if tarfile =~# '\.bz2$'
|
||||
" call Decho("7: exe silent r! bzip2 -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
|
||||
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
elseif tarfile =~# '\.\(gz\|tgz\)$'
|
||||
let gzip_command = s:get_gzip_command(tarfile)
|
||||
" call Decho("5: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.tar_secure.shellescape(fname,1))
|
||||
exe "sil! r! " . gzip_command . " -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
elseif tarfile =~# '\.\(gz\)$'
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
|
||||
elseif tarfile =~# '\(\.tgz\|\.tbz\|\.txz\)'
|
||||
if has("unix") && executable("file")
|
||||
let filekind= system("file ".shellescape(tarfile,1))
|
||||
else
|
||||
let filekind= ""
|
||||
endif
|
||||
if filekind =~ "bzip2"
|
||||
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
|
||||
else
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
endif
|
||||
|
||||
elseif tarfile =~# '\.lrp$'
|
||||
" call Decho("6: exe silent r! cat ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
|
||||
exe "sil! r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
elseif tarfile =~# '\.lzma$'
|
||||
" call Decho("7: exe silent r! lzma -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
|
||||
exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
elseif tarfile =~# '\.\(xz\|txz\)$'
|
||||
" call Decho("3: exe silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
|
||||
exe "sil! r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
else
|
||||
if tarfile =~ '^\s*-'
|
||||
@@ -348,13 +383,14 @@ fun! tar#Write(fname)
|
||||
" sanity checks
|
||||
if !executable(g:tar_cmd)
|
||||
redraw!
|
||||
echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system'
|
||||
" call Decho('***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system')
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Write")
|
||||
return
|
||||
endif
|
||||
if !exists("*mkdir")
|
||||
redraw!
|
||||
" call Decho("***error*** (tar#Write) sorry, mkdir() doesn't work on your system")
|
||||
echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Write")
|
||||
@@ -375,6 +411,7 @@ fun! tar#Write(fname)
|
||||
exe "cd ".fnameescape(tmpdir)
|
||||
catch /^Vim\%((\a\+)\)\=:E344/
|
||||
redraw!
|
||||
" call Decho("***error*** (tar#Write) cannot cd to temporary directory")
|
||||
echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Write")
|
||||
@@ -393,8 +430,6 @@ fun! tar#Write(fname)
|
||||
let tarfile = substitute(b:tarfile,'tarfile:\(.\{-}\)::.*$','\1','')
|
||||
let fname = substitute(b:tarfile,'tarfile:.\{-}::\(.*\)$','\1','')
|
||||
|
||||
let gzip_command = s:get_gzip_command(tarfile)
|
||||
|
||||
" handle compressed archives
|
||||
if tarfile =~# '\.bz2'
|
||||
call system("bzip2 -d -- ".shellescape(tarfile,0))
|
||||
@@ -402,12 +437,12 @@ fun! tar#Write(fname)
|
||||
let compress= "bzip2 -- ".shellescape(tarfile,0)
|
||||
" call Decho("compress<".compress.">")
|
||||
elseif tarfile =~# '\.gz'
|
||||
call system(gzip_command . " -d -- ".shellescape(tarfile,0))
|
||||
call system("gzip -d -- ".shellescape(tarfile,0))
|
||||
let tarfile = substitute(tarfile,'\.gz','','e')
|
||||
let compress= "gzip -- ".shellescape(tarfile,0)
|
||||
" call Decho("compress<".compress.">")
|
||||
elseif tarfile =~# '\.tgz'
|
||||
call system(gzip_command . " -d -- ".shellescape(tarfile,0))
|
||||
call system("gzip -d -- ".shellescape(tarfile,0))
|
||||
let tarfile = substitute(tarfile,'\.tgz','.tar','e')
|
||||
let compress= "gzip -- ".shellescape(tarfile,0)
|
||||
let tgz = 1
|
||||
@@ -427,6 +462,7 @@ fun! tar#Write(fname)
|
||||
|
||||
if v:shell_error != 0
|
||||
redraw!
|
||||
" call Decho("***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname)
|
||||
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
|
||||
else
|
||||
|
||||
@@ -459,10 +495,11 @@ fun! tar#Write(fname)
|
||||
endif
|
||||
|
||||
" delete old file from tarfile
|
||||
" call Decho("system(".g:tar_cmd." --delete -f ".shellescape(tarfile,0)." -- ".shellescape(fname,0).")")
|
||||
call system(g:tar_cmd." --delete -f ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
|
||||
" call Decho("system(".g:tar_cmd." ".g:tar_delfile." ".shellescape(tarfile,0)." -- ".shellescape(fname,0).")")
|
||||
call system(g:tar_cmd." ".g:tar_delfile." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
|
||||
if v:shell_error != 0
|
||||
redraw!
|
||||
" call Decho("***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname))
|
||||
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
|
||||
else
|
||||
|
||||
@@ -471,6 +508,7 @@ fun! tar#Write(fname)
|
||||
call system(g:tar_cmd." -".g:tar_writeoptions." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
|
||||
if v:shell_error != 0
|
||||
redraw!
|
||||
" call Decho("***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname))
|
||||
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
|
||||
elseif exists("compress")
|
||||
" call Decho("call system(".compress.")")
|
||||
@@ -486,11 +524,11 @@ fun! tar#Write(fname)
|
||||
if s:tblfile_{winnr()} =~ '^\a\+://'
|
||||
" call Decho("handle writing <".tarfile."> across network to <".s:tblfile_{winnr()}.">")
|
||||
let tblfile= s:tblfile_{winnr()}
|
||||
1split|enew
|
||||
1split|noswapfile enew
|
||||
let binkeep= &l:binary
|
||||
let eikeep = &ei
|
||||
set binary ei=all
|
||||
exe "e! ".fnameescape(tarfile)
|
||||
exe "noswapfile e! ".fnameescape(tarfile)
|
||||
call netrw#NetWrite(tblfile)
|
||||
let &ei = eikeep
|
||||
let &l:binary = binkeep
|
||||
@@ -524,7 +562,7 @@ fun! tar#Diff(userfname,fname)
|
||||
" sets up b:tardiff_otherbuf variables so each buffer knows about the other (for closing purposes)
|
||||
diffthis
|
||||
wincmd v
|
||||
exe "e ".fnameescape(fname)
|
||||
exe "noswapfile e ".fnameescape(fname)
|
||||
diffthis
|
||||
else
|
||||
redraw!
|
||||
@@ -533,6 +571,119 @@ fun! tar#Diff(userfname,fname)
|
||||
" call Dret("tar#Diff")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" tar#Extract: extract a file from a (possibly compressed) tar archive {{{2
|
||||
fun! tar#Extract()
|
||||
" call Dfunc("tar#Extract()")
|
||||
|
||||
let repkeep= &report
|
||||
set report=10
|
||||
let fname= getline(".")
|
||||
" call Decho("fname<".fname.">")
|
||||
|
||||
if !exists("g:tar_secure") && fname =~ '^\s*-\|\s\+-'
|
||||
redraw!
|
||||
echohl WarningMsg | echo '***warning*** (tar#BrowseSelect) rejecting tarfile member<'.fname.'> because of embedded "-"'
|
||||
" call Dret('tar#BrowseSelect : rejecting tarfile member<'.fname.'> because of embedded "-"')
|
||||
return
|
||||
endif
|
||||
|
||||
" sanity check
|
||||
if fname =~ '^"'
|
||||
let &report= repkeep
|
||||
" call Dret("TarBrowseSelect")
|
||||
return
|
||||
endif
|
||||
|
||||
let tarball = expand("%")
|
||||
" call Decho("tarball<".tarball.">")
|
||||
let tarbase = substitute(tarball,'\..*$','','')
|
||||
" call Decho("tarbase<".tarbase.">")
|
||||
|
||||
let extractcmd= netrw#WinPath(g:tar_extractcmd)
|
||||
if filereadable(tarbase.".tar")
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tar ".shellescape(fname).")")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tar ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tar ".fname.": failed!" | echohl NONE
|
||||
" call Decho("***error*** ".extractcmd." ".tarbase.".tar ".fname.": failed!")
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
elseif filereadable(tarbase.".tgz")
|
||||
let extractcmd= substitute(extractcmd,"-","-z","")
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tgz ".shellescape(fname).")")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tgz ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tgz ".fname.": failed!" | echohl NONE
|
||||
" call Decho("***error*** ".extractcmd."t ".tarbase.".tgz ".fname.": failed!")
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
elseif filereadable(tarbase.".tar.gz")
|
||||
let extractcmd= substitute(extractcmd,"-","-z","")
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tar.gz ".shellescape(fname).")")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tar.gz ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tar.gz ".fname.": failed!" | echohl NONE
|
||||
" call Decho("***error*** ".extractcmd." ".tarbase.".tar.gz ".fname.": failed!")
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
elseif filereadable(tarbase.".tbz")
|
||||
let extractcmd= substitute(extractcmd,"-","-j","")
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tbz ".shellescape(fname).")")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tbz ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd."j ".tarbase.".tbz ".fname.": failed!" | echohl NONE
|
||||
" call Decho("***error*** ".extractcmd."j ".tarbase.".tbz ".fname.": failed!")
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
elseif filereadable(tarbase.".tar.bz2")
|
||||
let extractcmd= substitute(extractcmd,"-","-j","")
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tar.bz2 ".shellescape(fname).")")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tar.bz2 ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd."j ".tarbase.".tar.bz2 ".fname.": failed!" | echohl NONE
|
||||
" call Decho("***error*** ".extractcmd."j ".tarbase.".tar.bz2 ".fname.": failed!")
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
elseif filereadable(tarbase.".txz")
|
||||
let extractcmd= substitute(extractcmd,"-","-J","")
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase).".txz ".shellescape(fname).")")
|
||||
call system(extractcmd." ".shellescape(tarbase).".txz ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".txz ".fname.": failed!" | echohl NONE
|
||||
" call Decho("***error*** ".extractcmd." ".tarbase.".txz ".fname.": failed!")
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
elseif filereadable(tarbase.".tar.xz")
|
||||
let extractcmd= substitute(extractcmd,"-","-J","")
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tar.xz ".shellescape(fname).")")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tar.xz ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tar.xz ".fname.": failed!" | echohl NONE
|
||||
" call Decho("***error*** ".extractcmd." ".tarbase.".tar.xz ".fname.": failed!")
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
endif
|
||||
|
||||
" restore option
|
||||
let &report= repkeep
|
||||
|
||||
" call Dret("tar#Extract")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:Rmdir: {{{2
|
||||
fun! s:Rmdir(fname)
|
||||
@@ -587,10 +738,7 @@ fun! tar#Vimuntar(...)
|
||||
|
||||
" if necessary, decompress the tarball; then, extract it
|
||||
if tartail =~ '\.tgz'
|
||||
let gzip_command = s:get_gzip_command(tarfile)
|
||||
if executable(gzip_command)
|
||||
silent exe "!" . gzip_command . " -d ".shellescape(tartail)
|
||||
elseif executable("gunzip")
|
||||
if executable("gunzip")
|
||||
silent exe "!gunzip ".shellescape(tartail)
|
||||
elseif executable("gzip")
|
||||
silent exe "!gzip -d ".shellescape(tartail)
|
||||
@@ -628,28 +776,6 @@ fun! tar#Vimuntar(...)
|
||||
" call Dret("tar#Vimuntar")
|
||||
endfun
|
||||
|
||||
func s:get_gzip_command(file)
|
||||
" Try using the "file" command to get the actual compression type, since
|
||||
" there is no standard way for the naming: ".tgz", ".tbz", ".txz", etc.
|
||||
" If the "file" command doesn't work fall back to just using the file name.
|
||||
if a:file =~# 'z$'
|
||||
let filetype = system('file ' . a:file)
|
||||
if filetype =~ 'bzip2 compressed' && executable('bzip2')
|
||||
return 'bzip2'
|
||||
endif
|
||||
if filetype =~ 'XZ compressed' && executable('xz')
|
||||
return 'xz'
|
||||
endif
|
||||
endif
|
||||
if a:file =~# 'bz2$'
|
||||
return 'bzip2'
|
||||
endif
|
||||
if a:file =~# 'xz$'
|
||||
return 'xz'
|
||||
endif
|
||||
return 'gzip'
|
||||
endfunc
|
||||
|
||||
" =====================================================================
|
||||
" Modelines And Restoration: {{{1
|
||||
let &cpo= s:keepcpo
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim plugin for formatting XML
|
||||
" Last Change: 2019 Oct 24
|
||||
" Version: 0.2
|
||||
" Last Change: 2020 Jan 06
|
||||
" Version: 0.3
|
||||
" Author: Christian Brabandt <cb@256bit.org>
|
||||
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
|
||||
" License: VIM License
|
||||
@@ -15,7 +15,7 @@ let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Main function: Format the input {{{1
|
||||
func! xmlformat#Format()
|
||||
func! xmlformat#Format() abort
|
||||
" only allow reformatting through the gq command
|
||||
" (e.g. Vim is in normal mode)
|
||||
if mode() != 'n'
|
||||
@@ -40,14 +40,16 @@ func! xmlformat#Format()
|
||||
continue
|
||||
elseif line !~# '<[/]\?[^>]*>'
|
||||
let nextmatch = match(list, '<[/]\?[^>]*>', current)
|
||||
let line .= join(list[(current + 1):(nextmatch-1)], "\n")
|
||||
call remove(list, current+1, nextmatch-1)
|
||||
if nextmatch > -1
|
||||
let line .= ' '. join(list[(current + 1):(nextmatch-1)], " ")
|
||||
call remove(list, current+1, nextmatch-1)
|
||||
endif
|
||||
endif
|
||||
" split on `>`, but don't split on very first opening <
|
||||
" this means, items can be like ['<tag>', 'tag content</tag>']
|
||||
for item in split(line, '.\@<=[>]\zs')
|
||||
if s:EndTag(item)
|
||||
let s:indent = s:DecreaseIndent()
|
||||
call s:DecreaseIndent()
|
||||
call add(result, s:Indent(item))
|
||||
elseif s:EmptyTag(lastitem)
|
||||
call add(result, s:Indent(item))
|
||||
@@ -59,13 +61,23 @@ func! xmlformat#Format()
|
||||
" Simply split on '<', if there is one,
|
||||
" but reformat according to &textwidth
|
||||
let t=split(item, '.<\@=\zs')
|
||||
|
||||
" if the content fits well within a single line, add it there
|
||||
" so that the output looks like this:
|
||||
"
|
||||
" <foobar>1</foobar>
|
||||
if s:TagContent(lastitem) is# s:TagContent(t[1]) && strlen(result[-1]) + strlen(item) <= s:Textwidth()
|
||||
let result[-1] .= item
|
||||
let lastitem = t[1]
|
||||
continue
|
||||
endif
|
||||
" t should only contain 2 items, but just be safe here
|
||||
if s:IsTag(lastitem)
|
||||
let s:indent+=1
|
||||
endif
|
||||
let result+=s:FormatContent([t[0]])
|
||||
if s:EndTag(t[1])
|
||||
let s:indent = s:DecreaseIndent()
|
||||
call s:DecreaseIndent()
|
||||
endif
|
||||
"for y in t[1:]
|
||||
let result+=s:FormatContent(t[1:])
|
||||
@@ -97,15 +109,15 @@ func! xmlformat#Format()
|
||||
return 0
|
||||
endfunc
|
||||
" Check if given tag is XML Declaration header {{{1
|
||||
func! s:IsXMLDecl(tag)
|
||||
func! s:IsXMLDecl(tag) abort
|
||||
return a:tag =~? '^\s*<?xml\s\?\%(version="[^"]*"\)\?\s\?\%(encoding="[^"]*"\)\? ?>\s*$'
|
||||
endfunc
|
||||
" Return tag indented by current level {{{1
|
||||
func! s:Indent(item)
|
||||
func! s:Indent(item) abort
|
||||
return repeat(' ', shiftwidth()*s:indent). s:Trim(a:item)
|
||||
endfu
|
||||
" Return item trimmed from leading whitespace {{{1
|
||||
func! s:Trim(item)
|
||||
func! s:Trim(item) abort
|
||||
if exists('*trim')
|
||||
return trim(a:item)
|
||||
else
|
||||
@@ -113,44 +125,53 @@ func! s:Trim(item)
|
||||
endif
|
||||
endfunc
|
||||
" Check if tag is a new opening tag <tag> {{{1
|
||||
func! s:StartTag(tag)
|
||||
func! s:StartTag(tag) abort
|
||||
let is_comment = s:IsComment(a:tag)
|
||||
return a:tag =~? '^\s*<[^/?]' && !is_comment
|
||||
endfunc
|
||||
" Check if tag is a Comment start {{{1
|
||||
func! s:IsComment(tag)
|
||||
func! s:IsComment(tag) abort
|
||||
return a:tag =~? '<!--'
|
||||
endfunc
|
||||
" Remove one level of indentation {{{1
|
||||
func! s:DecreaseIndent()
|
||||
return (s:indent > 0 ? s:indent - 1 : 0)
|
||||
func! s:DecreaseIndent() abort
|
||||
let s:indent = (s:indent > 0 ? s:indent - 1 : 0)
|
||||
endfunc
|
||||
" Check if tag is a closing tag </tag> {{{1
|
||||
func! s:EndTag(tag)
|
||||
func! s:EndTag(tag) abort
|
||||
return a:tag =~? '^\s*</'
|
||||
endfunc
|
||||
" Check that the tag is actually a tag and not {{{1
|
||||
" something like "foobar</foobar>"
|
||||
func! s:IsTag(tag)
|
||||
func! s:IsTag(tag) abort
|
||||
return s:Trim(a:tag)[0] == '<'
|
||||
endfunc
|
||||
" Check if tag is empty <tag/> {{{1
|
||||
func! s:EmptyTag(tag)
|
||||
func! s:EmptyTag(tag) abort
|
||||
return a:tag =~ '/>\s*$'
|
||||
endfunc
|
||||
func! s:TagContent(tag) abort "{{{1
|
||||
" Return content of a tag
|
||||
return substitute(a:tag, '^\s*<[/]\?\([^>]*\)>\s*$', '\1', '')
|
||||
endfunc
|
||||
func! s:Textwidth() abort "{{{1
|
||||
" return textwidth (or 80 if not set)
|
||||
return &textwidth == 0 ? 80 : &textwidth
|
||||
endfunc
|
||||
" Format input line according to textwidth {{{1
|
||||
func! s:FormatContent(list)
|
||||
func! s:FormatContent(list) abort
|
||||
let result=[]
|
||||
let limit = 80
|
||||
if &textwidth > 0
|
||||
let limit = &textwidth
|
||||
endif
|
||||
let limit = s:Textwidth()
|
||||
let column=0
|
||||
let idx = -1
|
||||
let add_indent = 0
|
||||
let cnt = 0
|
||||
for item in a:list
|
||||
for word in split(item, '\s\+\S\+\zs')
|
||||
if match(word, '^\s\+$') > -1
|
||||
" skip empty words
|
||||
continue
|
||||
endif
|
||||
let column += strdisplaywidth(word, column)
|
||||
if match(word, "^\\s*\n\\+\\s*$") > -1
|
||||
call add(result, '')
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
" zip.vim: Handles browsing zipfiles
|
||||
" AUTOLOAD PORTION
|
||||
" Date: Sep 13, 2016
|
||||
" Version: 28
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" Date: Jan 07, 2020
|
||||
" Version: 30
|
||||
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" License: Vim License (see vim's :help license)
|
||||
" Copyright: Copyright (C) 2005-2013 Charles E. Campbell {{{1
|
||||
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
@@ -20,7 +20,7 @@
|
||||
if &cp || exists("g:loaded_zip")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_zip= "v28"
|
||||
let g:loaded_zip= "v30"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of zip needs vim 7.2 or later"
|
||||
@@ -68,7 +68,7 @@ fun! zip#Browse(zipfile)
|
||||
" sanity check: ensure 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 "noautocmd e ".fnameescape(a:zipfile)
|
||||
exe "noswapfile noautocmd noswapfile e ".fnameescape(a:zipfile)
|
||||
" call Dret("zip#Browse : not a zipfile<".a:zipfile.">")
|
||||
return
|
||||
" else " Decho
|
||||
@@ -141,8 +141,11 @@ fun! zip#Browse(zipfile)
|
||||
|
||||
" Maps associated with zip plugin
|
||||
setlocal noma nomod ro
|
||||
noremap <silent> <buffer> <cr> :call <SID>ZipBrowseSelect()<cr>
|
||||
noremap <silent> <buffer> x :call zip#Extract()<cr>
|
||||
noremap <silent> <buffer> <cr> :call <SID>ZipBrowseSelect()<cr>
|
||||
noremap <silent> <buffer> x :call zip#Extract()<cr>
|
||||
if &mouse != ""
|
||||
noremap <silent> <buffer> <leftmouse> <leftmouse>:call <SID>ZipBrowseSelect()<cr>
|
||||
endif
|
||||
|
||||
let &report= repkeep
|
||||
" call Dret("zip#Browse")
|
||||
@@ -175,17 +178,17 @@ fun! s:ZipBrowseSelect()
|
||||
|
||||
" get zipfile to the new-window
|
||||
let zipfile = b:zipfile
|
||||
let curfile= expand("%")
|
||||
let curfile = expand("%")
|
||||
" call Decho("zipfile<".zipfile.">")
|
||||
" call Decho("curfile<".curfile.">")
|
||||
|
||||
new
|
||||
noswapfile new
|
||||
if !exists("g:zip_nomax") || g:zip_nomax == 0
|
||||
wincmd _
|
||||
endif
|
||||
let s:zipfile_{winnr()}= curfile
|
||||
" call Decho("exe e ".fnameescape("zipfile:".zipfile.'::'.fname))
|
||||
exe "e ".fnameescape("zipfile:".zipfile.'::'.fname)
|
||||
exe "noswapfile e ".fnameescape("zipfile:".zipfile.'::'.fname)
|
||||
filetype detect
|
||||
|
||||
let &report= repkeep
|
||||
@@ -339,7 +342,7 @@ fun! zip#Write(fname)
|
||||
let binkeep= &binary
|
||||
let eikeep = &ei
|
||||
set binary ei=all
|
||||
exe "e! ".fnameescape(zipfile)
|
||||
exe "noswapfile e! ".fnameescape(zipfile)
|
||||
call netrw#NetWrite(netzipfile)
|
||||
let &ei = eikeep
|
||||
let &binary = binkeep
|
||||
|
||||
16
runtime/compiler/eslint.vim
Normal file
16
runtime/compiler/eslint.vim
Normal file
@@ -0,0 +1,16 @@
|
||||
" Vim compiler file
|
||||
" Compiler: ESLint for JavaScript
|
||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||
" Last Change: 2020 May 17
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "eslint"
|
||||
|
||||
if exists(":CompilerSet") != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=eslint\ --format\ compact
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#
|
||||
16
runtime/compiler/standard.vim
Normal file
16
runtime/compiler/standard.vim
Normal file
@@ -0,0 +1,16 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Standard for JavaScript
|
||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||
" Last Change: 2020 May 17
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "standard"
|
||||
|
||||
if exists(":CompilerSet") != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=standard
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#
|
||||
@@ -64,6 +64,7 @@ DOCS = \
|
||||
os_amiga.txt \
|
||||
os_beos.txt \
|
||||
os_dos.txt \
|
||||
os_haiku.txt \
|
||||
os_mac.txt \
|
||||
os_mint.txt \
|
||||
os_msdos.txt \
|
||||
@@ -149,6 +150,7 @@ DOCS = \
|
||||
version7.txt \
|
||||
version8.txt \
|
||||
vi_diff.txt \
|
||||
vim9.txt \
|
||||
visual.txt \
|
||||
windows.txt \
|
||||
workshop.txt
|
||||
@@ -203,6 +205,7 @@ HTMLS = \
|
||||
os_amiga.html \
|
||||
os_beos.html \
|
||||
os_dos.html \
|
||||
os_haiku.html \
|
||||
os_mac.html \
|
||||
os_mint.html \
|
||||
os_msdos.html \
|
||||
@@ -289,6 +292,7 @@ HTMLS = \
|
||||
version8.html \
|
||||
vi_diff.html \
|
||||
vimindex.html \
|
||||
vim9.html \
|
||||
visual.html \
|
||||
windows.html \
|
||||
workshop.html
|
||||
@@ -323,10 +327,7 @@ all: tags vim.man evim.man vimdiff.man vimtutor.man xxd.man $(CONVERTED)
|
||||
# Use Vim to generate the tags file. Can only be used when Vim has been
|
||||
# compiled and installed. Supports multiple languages.
|
||||
vimtags: $(DOCS)
|
||||
@if command -v $(VIMEXE); then \
|
||||
$(VIMEXE) --clean -eX -u doctags.vim >/dev/null && \
|
||||
echo "help tags updated"; \
|
||||
else echo "vim executable $(VIMEXE) not found; help tags not updated"; fi
|
||||
@$(VIMEXE) --clean -esX -V1 -u doctags.vim
|
||||
|
||||
# Use "doctags" to generate the tags file. Only works for English!
|
||||
tags: doctags $(DOCS)
|
||||
@@ -423,6 +424,9 @@ os_beos.txt:
|
||||
os_dos.txt:
|
||||
touch os_dos.txt
|
||||
|
||||
os_haiku.txt:
|
||||
touch os_haiku.txt
|
||||
|
||||
os_mac.txt:
|
||||
touch os_mac.txt
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2019 Dec 17
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2020 Jan 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -374,7 +374,10 @@ Name triggered by ~
|
||||
|
||||
|MenuPopup| just before showing the popup menu
|
||||
|CompleteChanged| after Insert mode completion menu changed
|
||||
|CompleteDone| after Insert mode completion is done
|
||||
|CompleteDonePre| after Insert mode completion is done, before clearing
|
||||
info
|
||||
|CompleteDone| after Insert mode completion is done, after clearing
|
||||
info
|
||||
|
||||
|User| to be used in combination with ":doautocmd"
|
||||
|
||||
@@ -589,8 +592,8 @@ ColorSchemePre Before loading a color scheme. |:colorscheme|
|
||||
CompleteChanged *CompleteChanged*
|
||||
After each time the Insert mode completion
|
||||
menu changed. Not fired on popup menu hide,
|
||||
use |CompleteDone| for that. Never triggered
|
||||
recursively.
|
||||
use |CompleteDonePre| or |CompleteDone| for
|
||||
that. Never triggered recursively.
|
||||
|
||||
Sets these |v:event| keys:
|
||||
completed_item See |complete-items|.
|
||||
@@ -606,10 +609,22 @@ CompleteChanged *CompleteChanged*
|
||||
The size and position of the popup are also
|
||||
available by calling |pum_getpos()|.
|
||||
|
||||
*CompleteDonePre*
|
||||
CompleteDonePre After Insert mode completion is done. Either
|
||||
when something was completed or abandoning
|
||||
completion. |ins-completion|
|
||||
|complete_info()| can be used, the info is
|
||||
cleared after triggering CompleteDonePre.
|
||||
The |v:completed_item| variable contains
|
||||
information about the completed item.
|
||||
|
||||
*CompleteDone*
|
||||
CompleteDone After Insert mode completion is done. Either
|
||||
when something was completed or abandoning
|
||||
completion. |ins-completion|
|
||||
|complete_info()| cannot be used, the info is
|
||||
cleared before triggering CompleteDone. Use
|
||||
CompleteDonePre if you need it.
|
||||
The |v:completed_item| variable contains
|
||||
information about the completed item.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 8.2. Last change: 2019 Sep 28
|
||||
*change.txt* For Vim version 8.2. Last change: 2020 Apr 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -209,7 +209,7 @@ gR Enter Virtual Replace mode: Each character you type
|
||||
start insert (for {Visual} see |Visual-mode|).
|
||||
|
||||
*v_r*
|
||||
{Visual}["x]r{char} Replace all selected characters by {char}.
|
||||
{Visual}r{char} Replace all selected characters by {char}.
|
||||
|
||||
*v_C*
|
||||
{Visual}["x]C Delete the highlighted lines [into register x] and
|
||||
@@ -636,6 +636,8 @@ For other systems the tmpnam() library function is used.
|
||||
|cmdline-ranges|.
|
||||
|
||||
See |:s_flags| for [flags].
|
||||
The delimiter doesn't need to be /, see
|
||||
|pattern-delimiter|.
|
||||
|
||||
:[range]s[ubstitute] [flags] [count]
|
||||
:[range]&[&][flags] [count] *:&*
|
||||
@@ -775,7 +777,7 @@ This deletes "TESTING" from all lines, but only one per line.
|
||||
For compatibility with Vi these two exceptions are allowed:
|
||||
"\/{string}/" and "\?{string}?" do the same as "//{string}/r".
|
||||
"\&{string}&" does the same as "//{string}/".
|
||||
*E146*
|
||||
*pattern-delimiter* *E146*
|
||||
Instead of the '/' which surrounds the pattern and replacement string, you
|
||||
can use any other single-byte character, but not an alphanumeric character,
|
||||
'\', '"' or '|'. This is useful if you want to include a '/' in the search
|
||||
@@ -994,9 +996,9 @@ inside of strings can change! Also see 'softtabstop' option. >
|
||||
5. Copying and moving text *copy-move*
|
||||
|
||||
*quote*
|
||||
"{a-zA-Z0-9.%#:-"} Use register {a-zA-Z0-9.%#:-"} for next delete, yank
|
||||
or put (use uppercase character to append with
|
||||
delete and yank) ({.%#:} only work with put).
|
||||
"{register} Use {register} for next delete, yank or put. Use
|
||||
an uppercase character to append with delete and yank.
|
||||
Registers ".", "%", "#" and ":" only work with put.
|
||||
|
||||
*:reg* *:registers*
|
||||
:reg[isters] Display the type and contents of all numbered and
|
||||
@@ -1456,7 +1458,7 @@ text. Put it in your autoload directory, e.g. ~/.vim/autoload/format.vim: >
|
||||
func! format#Format()
|
||||
" only reformat on explicit gq command
|
||||
if mode() != 'n'
|
||||
" fall back to Vims internal reformatting
|
||||
" fall back to Vim's internal reformatting
|
||||
return 1
|
||||
endif
|
||||
let lines = getline(v:lnum, v:lnum + v:count - 1)
|
||||
|
||||
@@ -120,6 +120,9 @@ Use |ch_status()| to see if the channel could be opened.
|
||||
|
||||
{address} has the form "hostname:port". E.g., "localhost:8765".
|
||||
|
||||
When using an IPv6 address, enclose it within square brackets. E.g.,
|
||||
"[2001:db8::1]:8765".
|
||||
|
||||
{options} is a dictionary with optional entries: *channel-open-options*
|
||||
|
||||
"mode" can be: *channel-mode*
|
||||
@@ -621,6 +624,9 @@ ch_open({address} [, {options}]) *ch_open()*
|
||||
{address} has the form "hostname:port", e.g.,
|
||||
"localhost:8765".
|
||||
|
||||
When using an IPv6 address, enclose it within square brackets.
|
||||
E.g., "[2001:db8::1]:8765".
|
||||
|
||||
If {options} is given it must be a |Dictionary|.
|
||||
See |channel-open-options|.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2019 Dec 17
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2020 Apr 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -476,6 +476,10 @@ emulate it. For example, this mimics autolist=ambiguous:
|
||||
This will find the longest match with the first 'wildchar', then list all
|
||||
matching files with the next.
|
||||
|
||||
*complete-script-local-functions*
|
||||
When completing user function names, prepend "s:" to find script-local
|
||||
functions.
|
||||
|
||||
*suffixes*
|
||||
For file name completion you can use the 'suffixes' option to set a priority
|
||||
between files with almost the same name. If there are multiple matches,
|
||||
@@ -586,6 +590,7 @@ followed by another Vim command:
|
||||
:command
|
||||
:cscope
|
||||
:debug
|
||||
:eval
|
||||
:folddoopen
|
||||
:folddoclosed
|
||||
:function
|
||||
@@ -610,6 +615,7 @@ followed by another Vim command:
|
||||
:tcl
|
||||
:tcldo
|
||||
:tclfile
|
||||
:terminal
|
||||
:vglobal
|
||||
:windo
|
||||
:write !
|
||||
@@ -933,8 +939,7 @@ These modifiers can be given, in this order:
|
||||
directory.
|
||||
:. Reduce file name to be relative to current directory, if
|
||||
possible. File name is unmodified if it is not below the
|
||||
current directory, but on MS-Windows the drive is removed if
|
||||
it is the current drive.
|
||||
current directory.
|
||||
For maximum shortness, use ":~:.".
|
||||
:h Head of the file name (the last component and any separators
|
||||
removed). Cannot be used with :e, :r or :t.
|
||||
|
||||
@@ -114,7 +114,7 @@ other settings apply.
|
||||
|
||||
The debugger features were added for use with Sun's Visual WorkShop Integrated
|
||||
Programming Environment (ipe). However, they were done in as generic a manner
|
||||
as possible so that integration with other debuggers could also these
|
||||
as possible so that integration with other debuggers could also use these
|
||||
features.
|
||||
|
||||
The following compile time preprocessor variables control the features:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 8.2. Last change: 2019 Nov 22
|
||||
*develop.txt* For Vim version 8.2. Last change: 2020 Apr 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -151,7 +151,8 @@ VIM IS... NOT *design-not*
|
||||
A satirical way to say this: "Unlike Emacs, Vim does not attempt to include
|
||||
everything but the kitchen sink, but some people say that you can clean one
|
||||
with it. ;-)"
|
||||
To use Vim with gdb see: http://www.agide.org and http://clewn.sf.net.
|
||||
To use Vim with gdb see |terminal-debugger|. Other (older) tools can be
|
||||
found at http://www.agide.org and http://clewn.sf.net.
|
||||
- Vim is not a fancy GUI editor that tries to look nice at the cost of
|
||||
being less consistent over all platforms. But functional GUI features are
|
||||
welcomed.
|
||||
|
||||
@@ -2,5 +2,12 @@
|
||||
"
|
||||
" Usage: vim -eX -u doctags.vim
|
||||
|
||||
helptags ++t .
|
||||
try
|
||||
helptags ++t .
|
||||
echo 'help tags updated'
|
||||
catch
|
||||
echo v:exception
|
||||
echo 'help tags failed update'
|
||||
endtry
|
||||
echo ''
|
||||
qa!
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 8.2. Last change: 2019 Dec 22
|
||||
*editing.txt* For Vim version 8.2. Last change: 2020 May 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -475,6 +475,9 @@ This edits the same file again with 'fileformat' set to "unix". >
|
||||
:w ++enc=latin1 newfile
|
||||
This writes the current buffer to "newfile" in latin1 format.
|
||||
|
||||
The message given when writing a file will show "[converted]" when
|
||||
'fileencoding' or the value specified with ++enc differs from 'encoding'.
|
||||
|
||||
There may be several ++opt arguments, separated by white space. They must all
|
||||
appear before any |+cmd| argument.
|
||||
|
||||
@@ -1079,9 +1082,9 @@ The names can be in upper- or lowercase.
|
||||
|
||||
*:q* *:quit*
|
||||
:q[uit] Quit the current window. Quit Vim if this is the last
|
||||
window. This fails when changes have been made and
|
||||
Vim refuses to |abandon| the current buffer, and when
|
||||
the last file in the argument list has not been
|
||||
|edit-window|. This fails when changes have been made
|
||||
and Vim refuses to |abandon| the current buffer, and
|
||||
when the last file in the argument list has not been
|
||||
edited.
|
||||
If there are other tab pages and quitting the last
|
||||
window in the current tab page the current tab page is
|
||||
@@ -1107,18 +1110,22 @@ The names can be in upper- or lowercase.
|
||||
|quickfix|).
|
||||
|
||||
*:wq*
|
||||
:wq [++opt] Write the current file and quit. Writing fails when
|
||||
the file is read-only or the buffer does not have a
|
||||
name. Quitting fails when the last file in the
|
||||
argument list has not been edited.
|
||||
:wq [++opt] Write the current file and close the window. If this
|
||||
was the last |edit-window| Vim quits.
|
||||
Writing fails when the file is read-only or the buffer
|
||||
does not have a name. Quitting fails when the last
|
||||
file in the argument list has not been edited.
|
||||
|
||||
:wq! [++opt] Write the current file and quit. Writing fails when
|
||||
the current buffer does not have a name.
|
||||
:wq! [++opt] Write the current file and close the window. If this
|
||||
was the last |edit-window| Vim quits. Writing fails
|
||||
when the current buffer does not have a name.
|
||||
|
||||
:wq [++opt] {file} Write to {file} and quit. Quitting fails when the
|
||||
:wq [++opt] {file} Write to {file} and close the window. If this was the
|
||||
last |edit-window| Vim quits. Quitting fails when the
|
||||
last file in the argument list has not been edited.
|
||||
|
||||
:wq! [++opt] {file} Write to {file} and quit.
|
||||
:wq! [++opt] {file} Write to {file} and close the current window. Quit
|
||||
Vim if this was the last |edit-window|.
|
||||
|
||||
:[range]wq[!] [++opt] [file]
|
||||
Same as above, but only write the lines in [range].
|
||||
@@ -1135,10 +1142,10 @@ The names can be in upper- or lowercase.
|
||||
Same as :xit.
|
||||
|
||||
*ZZ*
|
||||
ZZ Write current file, if modified, and quit (same as
|
||||
":x"). (Note: If there are several windows for the
|
||||
current file, the file is written if it was modified
|
||||
and the window is closed).
|
||||
ZZ Write current file, if modified, and close the current
|
||||
window (same as ":x").
|
||||
If there are several windows for the current file,
|
||||
only the current window is closed.
|
||||
|
||||
*ZQ*
|
||||
ZQ Quit without checking for changes (same as ":q!").
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 8.2. Last change: 2019 Dec 17
|
||||
*eval.txt* For Vim version 8.2. Last change: 2020 May 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -12,6 +12,10 @@ Note: Expression evaluation can be disabled at compile time. If this has been
|
||||
done, the features in this document are not available. See |+eval| and
|
||||
|no-eval-feature|.
|
||||
|
||||
This file is about the backwards compatible Vim script. For Vim9 script,
|
||||
which executes much faster, supports type checking and much more, see
|
||||
|vim9.txt|.
|
||||
|
||||
1. Variables |variables|
|
||||
1.1 Variable types
|
||||
1.2 Function references |Funcref|
|
||||
@@ -44,8 +48,7 @@ There are ten types of variables:
|
||||
|
||||
*Number* *Integer*
|
||||
Number A 32 or 64 bit signed number. |expr-number|
|
||||
64-bit Numbers are available only when compiled with the
|
||||
|+num64| feature.
|
||||
The number of bits is available in |v:numbersize|.
|
||||
Examples: -123 0x10 0177 0b1011
|
||||
|
||||
Float A floating point number. |floating-point-format| *Float*
|
||||
@@ -581,6 +584,8 @@ adict.
|
||||
Weeding out entries from a Dictionary can be done with |filter()|: >
|
||||
:call filter(dict, 'v:val =~ "x"')
|
||||
This removes all entries from "dict" with a value not matching 'x'.
|
||||
This can also be used to remove all entries: >
|
||||
call filter(dict, 0)
|
||||
|
||||
|
||||
Dictionary function ~
|
||||
@@ -1482,7 +1487,7 @@ the function returns: >
|
||||
:echo Bar(6)
|
||||
< 5
|
||||
|
||||
Note that the variables must exist in the outer scope before the lamba is
|
||||
Note that the variables must exist in the outer scope before the lambda is
|
||||
defined for this to work. See also |:func-closure|.
|
||||
|
||||
Lambda and closure support can be checked with: >
|
||||
@@ -1804,10 +1809,14 @@ v:errors Errors found by assert functions, such as |assert_true()|.
|
||||
|
||||
*v:event* *event-variable*
|
||||
v:event Dictionary containing information about the current
|
||||
|autocommand|. The dictionary is emptied when the |autocommand|
|
||||
finishes, please refer to |dict-identity| for how to get an
|
||||
independent copy of it.
|
||||
|
||||
|autocommand|. See the specific event for what it puts in
|
||||
this dictionary.
|
||||
The dictionary is emptied when the |autocommand| finishes,
|
||||
please refer to |dict-identity| for how to get an independent
|
||||
copy of it. Use |deepcopy()| if you want to keep the
|
||||
information after the event triggers. Example: >
|
||||
au TextYankPost * let g:foo = deepcopy(v:event)
|
||||
<
|
||||
*v:exception* *exception-variable*
|
||||
v:exception The value of the exception most recently caught and not
|
||||
finished. See also |v:throwpoint| and |throw-variables|.
|
||||
@@ -1985,6 +1994,10 @@ v:null An empty String. Used to put "null" in JSON. See
|
||||
That is so that eval() can parse the string back to the same
|
||||
value. Read-only.
|
||||
|
||||
*v:numbersize* *numbersize-variable*
|
||||
v:numbersize Number of bits in a Number. This is normally 64, but on some
|
||||
systems it may be 32.
|
||||
|
||||
*v:oldfiles* *oldfiles-variable*
|
||||
v:oldfiles List of file names that is loaded from the |viminfo| file on
|
||||
startup. These are the files that Vim remembers marks for.
|
||||
@@ -2408,6 +2421,7 @@ deletebufline({expr}, {first} [, {last}])
|
||||
did_filetype() Number |TRUE| if FileType autocmd event used
|
||||
diff_filler({lnum}) Number diff filler lines about {lnum}
|
||||
diff_hlID({lnum}, {col}) Number diff highlighting at {lnum}/{col}
|
||||
echoraw({expr}) none output {expr} as-is
|
||||
empty({expr}) Number |TRUE| if {expr} is empty
|
||||
environ() Dict return environment variables
|
||||
escape({string}, {chars}) String escape {chars} in {string} with '\'
|
||||
@@ -2505,15 +2519,15 @@ glob({expr} [, {nosuf} [, {list} [, {alllinks}]]])
|
||||
glob2regpat({expr}) String convert a glob pat into a search pat
|
||||
globpath({path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]])
|
||||
String do glob({expr}) for all dirs in {path}
|
||||
has({feature}) Number |TRUE| if feature {feature} supported
|
||||
has({feature} [, {check}]) Number |TRUE| if feature {feature} supported
|
||||
has_key({dict}, {key}) Number |TRUE| if {dict} has entry {key}
|
||||
haslocaldir([{winnr} [, {tabnr}]])
|
||||
Number |TRUE| if the window executed |:lcd|
|
||||
or |:tcd|
|
||||
hasmapto({what} [, {mode} [, {abbr}]])
|
||||
Number |TRUE| if mapping to {what} exists
|
||||
histadd({history}, {item}) String add an item to a history
|
||||
histdel({history} [, {item}]) String remove an item from a history
|
||||
histadd({history}, {item}) Number add an item to a history
|
||||
histdel({history} [, {item}]) Number remove an item from a history
|
||||
histget({history} [, {index}]) String get the item {index} from a history
|
||||
histnr({history}) Number highest index of a history
|
||||
hlexists({name}) Number |TRUE| if highlight group {name} exists
|
||||
@@ -2574,6 +2588,8 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]])
|
||||
rhs of mapping {name} in mode {mode}
|
||||
mapcheck({name} [, {mode} [, {abbr}]])
|
||||
String check for mappings matching {name}
|
||||
mapset({mode}, {abbr}, {dict})
|
||||
none restore mapping from |maparg()| result
|
||||
match({expr}, {pat} [, {start} [, {count}]])
|
||||
Number position where {pat} matches in {expr}
|
||||
matchadd({group}, {pattern} [, {priority} [, {id} [, {dict}]]])
|
||||
@@ -2591,6 +2607,7 @@ matchstr({expr}, {pat} [, {start} [, {count}]])
|
||||
matchstrpos({expr}, {pat} [, {start} [, {count}]])
|
||||
List {count}'th match of {pat} in {expr}
|
||||
max({expr}) Number maximum value of items in {expr}
|
||||
menu_info({name} [, {mode}]) Dict get menu item information
|
||||
min({expr}) Number minimum value of items in {expr}
|
||||
mkdir({name} [, {path} [, {prot}]])
|
||||
Number create directory {name}
|
||||
@@ -2614,6 +2631,8 @@ popup_findpreview() Number get window ID of preview popup window
|
||||
popup_getoptions({id}) Dict get options of popup window {id}
|
||||
popup_getpos({id}) Dict get position of popup window {id}
|
||||
popup_hide({id}) none hide popup menu {id}
|
||||
popup_list() List get a list of window IDs of al popups
|
||||
popup_locate({row}, {col}) Number get window ID of popup at position
|
||||
popup_menu({what}, {options}) Number create a popup window used as a menu
|
||||
popup_move({id}, {options}) none set position of popup window {id}
|
||||
popup_notification({what}, {options})
|
||||
@@ -2633,7 +2652,7 @@ prop_clear({lnum} [, {lnum-end} [, {props}]])
|
||||
none remove all text properties
|
||||
prop_find({props} [, {direction}])
|
||||
Dict search for a text property
|
||||
prop_list({lnum} [, {props}) List text properties in {lnum}
|
||||
prop_list({lnum} [, {props}]) List text properties in {lnum}
|
||||
prop_remove({props} [, {lnum} [, {lnum-end}]])
|
||||
Number remove a text property
|
||||
prop_type_add({name}, {props}) none define a new property type
|
||||
@@ -2641,7 +2660,7 @@ prop_type_change({name}, {props})
|
||||
none change an existing property type
|
||||
prop_type_delete({name} [, {props}])
|
||||
none delete a property type
|
||||
prop_type_get([{name} [, {props}])
|
||||
prop_type_get([{name} [, {props}]])
|
||||
Dict get property type values
|
||||
prop_type_list([{props}]) List get list of property types
|
||||
pum_getpos() Dict position and size of pum if visible
|
||||
@@ -2850,16 +2869,20 @@ test_ignore_error({expr}) none ignore a specific error
|
||||
test_null_blob() Blob null value for testing
|
||||
test_null_channel() Channel null value for testing
|
||||
test_null_dict() Dict null value for testing
|
||||
test_null_function() Funcref null value for testing
|
||||
test_null_job() Job null value for testing
|
||||
test_null_list() List null value for testing
|
||||
test_null_partial() Funcref null value for testing
|
||||
test_null_string() String null value for testing
|
||||
test_unknown() any unknown value for testing
|
||||
test_void() any void value for testing
|
||||
test_option_not_set({name}) none reset flag indicating option was set
|
||||
test_override({expr}, {val}) none test with Vim internal overrides
|
||||
test_refcount({expr}) Number get the reference count of {expr}
|
||||
test_scrollbar({which}, {value}, {dragging})
|
||||
none scroll in the GUI for testing
|
||||
test_setmouse({row}, {col}) none set the mouse position for testing
|
||||
test_srand_seed([seed]) none set seed for testing srand()
|
||||
test_settime({expr}) none set current time for testing
|
||||
timer_info([{id}]) List information about timers
|
||||
timer_pause({id}, {pause}) none pause or unpause a timer
|
||||
@@ -2886,6 +2909,7 @@ win_execute({id}, {command} [, {silent}])
|
||||
String execute {command} in window {id}
|
||||
win_findbuf({bufnr}) List find windows containing {bufnr}
|
||||
win_getid([{win} [, {tab}]]) Number get window ID for {win} in {tab}
|
||||
win_gettype([{nr}]) String type of window {nr}
|
||||
win_gotoid({expr}) Number go to window with ID {expr}
|
||||
win_id2tabwin({expr}) List get tab and window nr from window ID
|
||||
win_id2win({expr}) Number get window nr from window ID
|
||||
@@ -2894,6 +2918,7 @@ win_splitmove({nr}, {target} [, {options}])
|
||||
Number move window {nr} to split of {target}
|
||||
winbufnr({nr}) Number buffer number of window {nr}
|
||||
wincol() Number window column of the cursor
|
||||
windowsversion() String MS-Windows OS version
|
||||
winheight({nr}) Number height of window {nr}
|
||||
winlayout([{tabnr}]) List layout of windows in tab {tabnr}
|
||||
winline() Number window line of the cursor
|
||||
@@ -3032,7 +3057,7 @@ arglistid([{winnr} [, {tabnr}]])
|
||||
{winnr} can be the window number or the |window-ID|.
|
||||
|
||||
*argv()*
|
||||
argv([{nr} [, {winid}])
|
||||
argv([{nr} [, {winid}]])
|
||||
The result is the {nr}th file in the argument list. See
|
||||
|arglist|. "argv(0)" is the first one. Example: >
|
||||
:let i = 0
|
||||
@@ -3047,10 +3072,6 @@ argv([{nr} [, {winid}])
|
||||
The {winid} argument specifies the window ID, see |argc()|.
|
||||
For the Vim command line arguments see |v:argv|.
|
||||
|
||||
|
||||
assert_ functions are documented here: |assert-functions-details|
|
||||
|
||||
|
||||
asin({expr}) *asin()*
|
||||
Return the arc sine of {expr} measured in radians, as a |Float|
|
||||
in the range of [-pi/2, pi/2].
|
||||
@@ -3068,6 +3089,10 @@ asin({expr}) *asin()*
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
assert_ functions are documented here: |assert-functions-details|
|
||||
|
||||
|
||||
|
||||
atan({expr}) *atan()*
|
||||
Return the principal value of the arc tangent of {expr}, in
|
||||
the range [-pi/2, +pi/2] radians, as a |Float|.
|
||||
@@ -3451,6 +3476,7 @@ chdir({dir}) *chdir()*
|
||||
directory (|:tcd|) then changes the tabpage local
|
||||
directory.
|
||||
- Otherwise, changes the global directory.
|
||||
{dir} must be a String.
|
||||
If successful, returns the previous working directory. Pass
|
||||
this to another chdir() to restore the directory.
|
||||
On failure, returns an empty string.
|
||||
@@ -3935,13 +3961,17 @@ diff_hlID({lnum}, {col}) *diff_hlID()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetLnum()->diff_hlID(col)
|
||||
environ() *environ()*
|
||||
Return all of environment variables as dictionary. You can
|
||||
check if an environment variable exists like this: >
|
||||
:echo has_key(environ(), 'HOME')
|
||||
< Note that the variable name may be CamelCase; to ignore case
|
||||
use this: >
|
||||
:echo index(keys(environ()), 'HOME', 0, 1) != -1
|
||||
|
||||
|
||||
echoraw({expr}) *echoraw()*
|
||||
Output {expr} as-is, including unprintable characters. This
|
||||
can be used to output a terminal code. For example, to disable
|
||||
modifyOtherKeys: >
|
||||
call echoraw(&t_TE)
|
||||
< and to enable it again: >
|
||||
call echoraw(&t_TI)
|
||||
< Use with care, you can mess up the terminal this way.
|
||||
|
||||
|
||||
empty({expr}) *empty()*
|
||||
Return the Number 1 if {expr} is empty, zero otherwise.
|
||||
@@ -3960,6 +3990,14 @@ empty({expr}) *empty()*
|
||||
Can also be used as a |method|: >
|
||||
mylist->empty()
|
||||
|
||||
environ() *environ()*
|
||||
Return all of environment variables as dictionary. You can
|
||||
check if an environment variable exists like this: >
|
||||
:echo has_key(environ(), 'HOME')
|
||||
< Note that the variable name may be CamelCase; to ignore case
|
||||
use this: >
|
||||
:echo index(keys(environ()), 'HOME', 0, 1) != -1
|
||||
|
||||
escape({string}, {chars}) *escape()*
|
||||
Escape the characters in {chars} that occur in {string} with a
|
||||
backslash. Example: >
|
||||
@@ -4074,8 +4112,12 @@ exists({expr}) The result is a Number, which is |TRUE| if {expr} is defined,
|
||||
string)
|
||||
*funcname built-in function (see |functions|)
|
||||
or user defined function (see
|
||||
|user-functions|). Also works for a
|
||||
variable that is a Funcref.
|
||||
|user-functions|) that is implemented.
|
||||
Also works for a variable that is a
|
||||
Funcref.
|
||||
?funcname built-in function that could be
|
||||
implemented; to be used to check if
|
||||
"funcname" is valid
|
||||
varname internal variable (see
|
||||
|internal-variables|). Also works
|
||||
for |curly-braces-names|, |Dictionary|
|
||||
@@ -4330,6 +4372,8 @@ feedkeys({string} [, {mode}]) *feedkeys()*
|
||||
'L' Lowlevel input. Only works for Unix or when using the
|
||||
GUI. Keys are used as if they were coming from the
|
||||
terminal. Other flags are not used. *E980*
|
||||
When a CTRL-C interrupts and 't' is included it sets
|
||||
the internal "got_int" flag.
|
||||
'i' Insert the string instead of appending (see above).
|
||||
'x' Execute commands until typeahead is empty. This is
|
||||
similar to using ":normal!". You can call feedkeys()
|
||||
@@ -5102,10 +5146,11 @@ getcompletion({pat}, {type} [, {filtered}]) *getcompletion()*
|
||||
<
|
||||
*getcurpos()*
|
||||
getcurpos() Get the position of the cursor. This is like getpos('.'), but
|
||||
includes an extra item in the list:
|
||||
[bufnum, lnum, col, off, curswant] ~
|
||||
includes an extra "curswant" item in the list:
|
||||
[0, lnum, col, off, curswant] ~
|
||||
The "curswant" number is the preferred column when moving the
|
||||
cursor vertically. Also see |getpos()|.
|
||||
The first "bufnum" item is always zero.
|
||||
|
||||
This can be used to save and restore the cursor position: >
|
||||
let save_cursor = getcurpos()
|
||||
@@ -5659,7 +5704,7 @@ getwininfo([{winid}]) *getwininfo()*
|
||||
GetWinnr()->getwininfo()
|
||||
|
||||
getwinpos([{timeout}]) *getwinpos()*
|
||||
The result is a list with two numbers, the result of
|
||||
The result is a List with two numbers, the result of
|
||||
|getwinposx()| and |getwinposy()| combined:
|
||||
[x-pos, y-pos]
|
||||
{timeout} can be used to specify how long to wait in msec for
|
||||
@@ -5798,11 +5843,32 @@ globpath({path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]])
|
||||
GetExpr()->globpath(&rtp)
|
||||
<
|
||||
*has()*
|
||||
has({feature}) The result is a Number, which is 1 if the feature {feature} is
|
||||
supported, zero otherwise. The {feature} argument is a
|
||||
string. See |feature-list| below.
|
||||
has({feature} [, {check}])
|
||||
When {check} is omitted or is zero: The result is a Number,
|
||||
which is 1 if the feature {feature} is supported, zero
|
||||
otherwise. The {feature} argument is a string, case is
|
||||
ignored. See |feature-list| below.
|
||||
|
||||
When {check} is present and not zero: The result is a Number,
|
||||
which is 1 if the feature {feature} could ever be supported,
|
||||
zero otherwise. This is useful to check for a typo in
|
||||
{feature} and to detect dead code. Keep in mind that an older
|
||||
Vim version will not know about a feature added later and
|
||||
features that have been abandoned will not be know by the
|
||||
current Vim version.
|
||||
|
||||
Also see |exists()|.
|
||||
|
||||
Note that to skip code that has a syntax error when the
|
||||
feature is not available, Vim may skip the rest of the line
|
||||
and miss a following `endif`. Therefore put the `endif` on a
|
||||
separate line: >
|
||||
if has('feature')
|
||||
let x = this->breaks->without->the->feature
|
||||
endif
|
||||
< If the `endif` would be moved to the second line as "| endif" it
|
||||
would not be found.
|
||||
|
||||
|
||||
has_key({dict}, {key}) *has_key()*
|
||||
The result is a Number, which is 1 if |Dictionary| {dict} has
|
||||
@@ -6733,6 +6799,7 @@ map({expr1}, {expr2}) *map()*
|
||||
Can also be used as a |method|: >
|
||||
mylist->map(expr2)
|
||||
|
||||
|
||||
maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
|
||||
When {dict} is omitted or zero: Return the rhs of mapping
|
||||
{name} in mode {mode}. The returned String has special
|
||||
@@ -6765,10 +6832,14 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
|
||||
When {dict} is there and it is |TRUE| return a dictionary
|
||||
containing all the information of the mapping with the
|
||||
following items:
|
||||
"lhs" The {lhs} of the mapping.
|
||||
"lhs" The {lhs} of the mapping as it would be typed
|
||||
"lhsraw" The {lhs} of the mapping as raw bytes
|
||||
"lhsrawalt" The {lhs} of the mapping as raw bytes, alternate
|
||||
form, only present when it differs from "lhsraw"
|
||||
"rhs" The {rhs} of the mapping as typed.
|
||||
"silent" 1 for a |:map-silent| mapping, else 0.
|
||||
"noremap" 1 if the {rhs} of the mapping is not remappable.
|
||||
"script" 1 if mapping was defined with <script>.
|
||||
"expr" 1 for an expression mapping (|:map-<expr>|).
|
||||
"buffer" 1 for a buffer local mapping (|:map-local|).
|
||||
"mode" Modes for which the mapping is defined. In
|
||||
@@ -6783,6 +6854,9 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
|
||||
"nowait" Do not wait for other, longer mappings.
|
||||
(|:map-<nowait>|).
|
||||
|
||||
The dictionary can be used to restore a mapping with
|
||||
|mapset()|.
|
||||
|
||||
The mappings local to the current buffer are checked first,
|
||||
then the global mappings.
|
||||
This function can be used to map a key even when it's already
|
||||
@@ -6828,6 +6902,23 @@ mapcheck({name} [, {mode} [, {abbr}]]) *mapcheck()*
|
||||
Can also be used as a |method|: >
|
||||
GetKey()->mapcheck('n')
|
||||
|
||||
|
||||
mapset({mode}, {abbr}, {dict}) *mapset()*
|
||||
Restore a mapping from a dictionary returned by |maparg()|.
|
||||
{mode} and {abbr} should be the same as for the call to
|
||||
|maparg()|. *E460*
|
||||
{mode} is used to define the mode in which the mapping is set,
|
||||
not the "mode" entry in {dict}.
|
||||
Example for saving and restoring a mapping: >
|
||||
let save_map = maparg('K', 'n', 0, 1)
|
||||
nnoremap K somethingelse
|
||||
...
|
||||
call mapset('n', 0, save_map)
|
||||
< Note that if you are going to replace a map in several modes,
|
||||
e.g. with `:map!`, you need to save the mapping for all of
|
||||
them, since they can differe.
|
||||
|
||||
|
||||
match({expr}, {pat} [, {start} [, {count}]]) *match()*
|
||||
When {expr} is a |List| then this returns the index of the
|
||||
first item where {pat} matches. Each item is used as a
|
||||
@@ -6885,6 +6976,10 @@ match({expr}, {pat} [, {start} [, {count}]]) *match()*
|
||||
The 'ignorecase' option is used to set the ignore-caseness of
|
||||
the pattern. 'smartcase' is NOT used. The matching is always
|
||||
done like 'magic' is set and 'cpoptions' is empty.
|
||||
Note that a match at the start is preferred, thus when the
|
||||
pattern is using "*" (any number of matches) it tends to find
|
||||
zero matches at the start instead of a number of matches
|
||||
further down in the text.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetList()->match('word')
|
||||
@@ -7082,22 +7177,83 @@ matchstrpos({expr}, {pat} [, {start} [, {count}]]) *matchstrpos()*
|
||||
Can also be used as a |method|: >
|
||||
GetText()->matchstrpos('word')
|
||||
<
|
||||
|
||||
*max()*
|
||||
max({expr}) Return the maximum value of all items in {expr}.
|
||||
{expr} can be a list or a dictionary. For a dictionary,
|
||||
it returns the maximum of all values in the dictionary.
|
||||
If {expr} is neither a list nor a dictionary, or one of the
|
||||
{expr} can be a List or a Dictionary. For a Dictionary,
|
||||
it returns the maximum of all values in the Dictionary.
|
||||
If {expr} is neither a List nor a Dictionary, or one of the
|
||||
items in {expr} cannot be used as a Number this results in
|
||||
an error. An empty |List| or |Dictionary| results in zero.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
mylist->max()
|
||||
|
||||
|
||||
menu_info({name} [, {mode}]) *menu_info()*
|
||||
Return information about the specified menu {name} in
|
||||
mode {mode}. The menu name should be specified without the
|
||||
shortcut character ('&').
|
||||
|
||||
{mode} can be one of these strings:
|
||||
"n" Normal
|
||||
"v" Visual (including Select)
|
||||
"o" Operator-pending
|
||||
"i" Insert
|
||||
"c" Cmd-line
|
||||
"s" Select
|
||||
"x" Visual
|
||||
"t" Terminal-Job
|
||||
"" Normal, Visual and Operator-pending
|
||||
"!" Insert and Cmd-line
|
||||
When {mode} is omitted, the modes for "" are used.
|
||||
|
||||
Returns a |Dictionary| containing the following items:
|
||||
accel menu item accelerator text |menu-text|
|
||||
display display name (name without '&')
|
||||
enabled v:true if this menu item is enabled
|
||||
Refer to |:menu-enable|
|
||||
icon name of the icon file (for toolbar)
|
||||
|toolbar-icon|
|
||||
iconidx index of a built-in icon
|
||||
modes modes for which the menu is defined. In
|
||||
addition to the modes mentioned above, these
|
||||
characters will be used:
|
||||
" " Normal, Visual and Operator-pending
|
||||
name menu item name.
|
||||
noremenu v:true if the {rhs} of the menu item is not
|
||||
remappable else v:false.
|
||||
priority menu order priority |menu-priority|
|
||||
rhs right-hand-side of the menu item. The returned
|
||||
string has special characters translated like
|
||||
in the output of the ":menu" command listing.
|
||||
When the {rhs} of a menu item is empty, then
|
||||
"<Nop>" is returned.
|
||||
script v:true if script-local remapping of {rhs} is
|
||||
allowed else v:false. See |:menu-script|.
|
||||
shortcut shortcut key (character after '&' in
|
||||
the menu name) |menu-shortcut|
|
||||
silent v:true if the menu item is created
|
||||
with <silent> argument |:menu-silent|
|
||||
submenus |List| containing the names of
|
||||
all the submenus. Present only if the menu
|
||||
item has submenus.
|
||||
|
||||
Returns an empty dictionary if the menu item is not found.
|
||||
|
||||
Examples: >
|
||||
:echo menu_info('Edit.Cut')
|
||||
:echo menu_info('File.Save', 'n')
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
GetMenuName()->menu_info('v')
|
||||
|
||||
|
||||
< *min()*
|
||||
min({expr}) Return the minimum value of all items in {expr}.
|
||||
{expr} can be a list or a dictionary. For a dictionary,
|
||||
it returns the minimum of all values in the dictionary.
|
||||
If {expr} is neither a list nor a dictionary, or one of the
|
||||
{expr} can be a List or a Dictionary. For a Dictionary,
|
||||
it returns the minimum of all values in the Dictionary.
|
||||
If {expr} is neither a List nor a Dictionary, or one of the
|
||||
items in {expr} cannot be used as a Number this results in
|
||||
an error. An empty |List| or |Dictionary| results in zero.
|
||||
|
||||
@@ -7643,7 +7799,7 @@ range({expr} [, {max} [, {stride}]]) *range()*
|
||||
GetExpr()->range()
|
||||
<
|
||||
|
||||
rand([{expr}]) *rand()*
|
||||
rand([{expr}]) *rand()* *random*
|
||||
Return a pseudo-random Number generated with an xoshiro128**
|
||||
algorithm using seed {expr}. The returned number is 32 bits,
|
||||
also on 64 bits systems, for consistency.
|
||||
@@ -8516,8 +8672,8 @@ setloclist({nr}, {list} [, {action} [, {what}]]) *setloclist()*
|
||||
GetLoclist()->setloclist(winnr)
|
||||
|
||||
setmatches({list} [, {win}]) *setmatches()*
|
||||
Restores a list of matches saved by |getmatches() for the
|
||||
current window|. Returns 0 if successful, otherwise -1. All
|
||||
Restores a list of matches saved by |getmatches()| for the
|
||||
current window. Returns 0 if successful, otherwise -1. All
|
||||
current matches are cleared before the list is restored. See
|
||||
example for |getmatches()|.
|
||||
If {win} is specified, use the window with this number or
|
||||
@@ -8581,7 +8737,12 @@ setpos({expr}, {list})
|
||||
setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
||||
Create or replace or add to the quickfix list.
|
||||
|
||||
When {what} is not present, use the items in {list}. Each
|
||||
If the optional {what} dictionary argument is supplied, then
|
||||
only the items listed in {what} are set. The first {list}
|
||||
argument is ignored. See below for the supported items in
|
||||
{what}.
|
||||
|
||||
When {what} is not present, the items in {list} or used. Each
|
||||
item must be a dictionary. Non-dictionary items in {list} are
|
||||
ignored. Each dictionary item can contain the following
|
||||
entries:
|
||||
@@ -8636,10 +8797,7 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
||||
freed. To add a new quickfix list at the end of the stack,
|
||||
set "nr" in {what} to "$".
|
||||
|
||||
If the optional {what} dictionary argument is supplied, then
|
||||
only the items listed in {what} are set. The first {list}
|
||||
argument is ignored. The following items can be specified in
|
||||
{what}:
|
||||
The following items can be specified in dictionary {what}:
|
||||
context quickfix list context. See |quickfix-context|
|
||||
efm errorformat to use when parsing text from
|
||||
"lines". If this is not present, then the
|
||||
@@ -8686,6 +8844,7 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
||||
*setreg()*
|
||||
setreg({regname}, {value} [, {options}])
|
||||
Set the register {regname} to {value}.
|
||||
If {regname} is "" or "@", the unnamed register '"' is used.
|
||||
{value} may be any value returned by |getreg()|, including
|
||||
a |List|.
|
||||
If {options} contains "a" or {regname} is upper case,
|
||||
@@ -8774,26 +8933,28 @@ settagstack({nr}, {dict} [, {action}]) *settagstack()*
|
||||
{nr} can be the window number or the |window-ID|.
|
||||
|
||||
For a list of supported items in {dict}, refer to
|
||||
|gettagstack()|
|
||||
|gettagstack()|. "curidx" takes effect before changing the tag
|
||||
stack.
|
||||
*E962*
|
||||
If {action} is not present or is set to 'r', then the tag
|
||||
stack is replaced. If {action} is set to 'a', then new entries
|
||||
from {dict} are pushed onto the tag stack.
|
||||
How the tag stack is modified depends on the {action}
|
||||
argument:
|
||||
- If {action} is not present or is set to 'r', then the tag
|
||||
stack is replaced.
|
||||
- If {action} is set to 'a', then new entries from {dict} are
|
||||
pushed (added) onto the tag stack.
|
||||
- If {action} is set to 't', then all the entries from the
|
||||
current entry in the tag stack or "curidx" in {dict} are
|
||||
removed and then new entries are pushed to the stack.
|
||||
|
||||
The current index is set to one after the length of the tag
|
||||
stack after the modification.
|
||||
|
||||
Returns zero for success, -1 for failure.
|
||||
|
||||
Examples:
|
||||
Set current index of the tag stack to 4: >
|
||||
call settagstack(1005, {'curidx' : 4})
|
||||
|
||||
< Empty the tag stack of window 3: >
|
||||
Examples (for more examples see |tagstack-examples||):
|
||||
Empty the tag stack of window 3: >
|
||||
call settagstack(3, {'items' : []})
|
||||
|
||||
< Push a new item onto the tag stack: >
|
||||
let pos = [bufnr('myfile.txt'), 10, 1, 0]
|
||||
let newtag = [{'tagname' : 'mytag', 'from' : pos}]
|
||||
call settagstack(2, {'items' : newtag}, 'a')
|
||||
|
||||
< Save and restore the tag stack: >
|
||||
let stack = gettagstack(1003)
|
||||
" do something else
|
||||
@@ -8889,6 +9050,8 @@ simplify({filename}) *simplify()*
|
||||
directory. In order to resolve all the involved symbolic
|
||||
links before simplifying the path name, use |resolve()|.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetName()->simplify()
|
||||
|
||||
sin({expr}) *sin()*
|
||||
Return the sine of {expr}, measured in radians, as a |Float|.
|
||||
@@ -10061,7 +10224,7 @@ tr({src}, {fromstr}, {tostr}) *tr()*
|
||||
|
||||
trim({text} [, {mask}]) *trim()*
|
||||
Return {text} as a String where any character in {mask} is
|
||||
removed from the beginning and end of {text}.
|
||||
removed from the beginning and end of {text}.
|
||||
If {mask} is not given, {mask} is all characters up to 0x20,
|
||||
which includes Tab, space, NL and CR, plus the non-breaking
|
||||
space character 0xa0.
|
||||
@@ -10309,6 +10472,23 @@ win_getid([{win} [, {tab}]]) *win_getid()*
|
||||
Can also be used as a |method|: >
|
||||
GetWinnr()->win_getid()
|
||||
|
||||
|
||||
win_gettype([{nr}]) *win_gettype()*
|
||||
Return the type of the window:
|
||||
"popup" popup window |popup|
|
||||
"command" command-line window |cmdwin|
|
||||
(empty) normal window
|
||||
"unknown" window {nr} not found
|
||||
|
||||
When {nr} is omitted return the type of the current window.
|
||||
When {nr} is given return the type of this window by number or
|
||||
|window-ID|.
|
||||
|
||||
Also see the 'buftype' option. When running a terminal in a
|
||||
popup window then 'buftype' is "terminal" and win_gettype()
|
||||
returns "popup".
|
||||
|
||||
|
||||
win_gotoid({expr}) *win_gotoid()*
|
||||
Go to window with ID {expr}. This may also change the current
|
||||
tabpage.
|
||||
@@ -10350,6 +10530,7 @@ win_splitmove({nr}, {target} [, {options}]) *win_splitmove()*
|
||||
then closing {nr}.
|
||||
|
||||
Both {nr} and {target} can be window numbers or |window-ID|s.
|
||||
Both must be in the current tab page.
|
||||
|
||||
Returns zero for success, non-zero for failure.
|
||||
|
||||
@@ -10365,6 +10546,7 @@ win_splitmove({nr}, {target} [, {options}]) *win_splitmove()*
|
||||
Can also be used as a |method|: >
|
||||
GetWinid()->win_splitmove(target)
|
||||
<
|
||||
|
||||
*winbufnr()*
|
||||
winbufnr({nr}) The result is a Number, which is the number of the buffer
|
||||
associated with window {nr}. {nr} can be the window number or
|
||||
@@ -10426,11 +10608,12 @@ winlayout([{tabnr}]) *winlayout()*
|
||||
" Two horizontally split windows
|
||||
:echo winlayout()
|
||||
['col', [['leaf', 1000], ['leaf', 1001]]]
|
||||
" Three horizontally split windows, with two
|
||||
" vertically split windows in the middle window
|
||||
" The second tab page, with three horizontally split
|
||||
" windows, with two vertically split windows in the
|
||||
" middle window
|
||||
:echo winlayout(2)
|
||||
['col', [['leaf', 1002], ['row', ['leaf', 1003],
|
||||
['leaf', 1001]]], ['leaf', 1000]]
|
||||
['col', [['leaf', 1002], ['row', [['leaf', 1003],
|
||||
['leaf', 1001]]], ['leaf', 1000]]]
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
GetTabnr()->winlayout()
|
||||
@@ -10445,6 +10628,7 @@ winline() The result is a Number, which is the screen line of the cursor
|
||||
*winnr()*
|
||||
winnr([{arg}]) The result is a Number, which is the number of the current
|
||||
window. The top window has number 1.
|
||||
Returns zero for a popup window.
|
||||
|
||||
The optional argument {arg} supports the following values:
|
||||
$ the number of the last window (the window
|
||||
@@ -10618,7 +10802,7 @@ xor({expr}, {expr}) *xor()*
|
||||
<
|
||||
|
||||
*feature-list*
|
||||
There are four types of features:
|
||||
There are three types of features:
|
||||
1. Features that are only supported when they have been enabled when Vim
|
||||
was compiled |+feature-list|. Example: >
|
||||
:if has("cindent")
|
||||
@@ -10658,6 +10842,7 @@ browsefilter Compiled with support for |browsefilter|.
|
||||
bsd Compiled on an OS in the BSD family (excluding macOS).
|
||||
builtin_terms Compiled with some builtin terminals.
|
||||
byte_offset Compiled with support for 'o' in 'statusline'
|
||||
channel Compiled with support for |channel| and |job|
|
||||
cindent Compiled with 'cindent' support.
|
||||
clientserver Compiled with remote invocation support |clientserver|.
|
||||
clipboard Compiled with 'clipboard' support.
|
||||
@@ -10704,17 +10889,21 @@ gui_gnome Compiled with Gnome support (gui_gtk is also defined).
|
||||
gui_gtk Compiled with GTK+ GUI (any version).
|
||||
gui_gtk2 Compiled with GTK+ 2 GUI (gui_gtk is also defined).
|
||||
gui_gtk3 Compiled with GTK+ 3 GUI (gui_gtk is also defined).
|
||||
gui_haiku Compiled with Haiku GUI.
|
||||
gui_mac Compiled with Macintosh GUI.
|
||||
gui_motif Compiled with Motif GUI.
|
||||
gui_photon Compiled with Photon GUI.
|
||||
gui_running Vim is running in the GUI, or it will start soon.
|
||||
gui_win32 Compiled with MS Windows Win32 GUI.
|
||||
gui_win32s idem, and Win32s system being used (Windows 3.1)
|
||||
haiku Haiku version of Vim.
|
||||
hangul_input Compiled with Hangul input support. |hangul|
|
||||
hpux HP-UX version of Vim.
|
||||
iconv Can use iconv() for conversion.
|
||||
insert_expand Compiled with support for CTRL-X expansion commands in
|
||||
Insert mode. (always true)
|
||||
job Compiled with support for |channel| and |job|
|
||||
ipv6 Compiled with support for IPv6 networking in |channel|.
|
||||
jumplist Compiled with |jumplist| support.
|
||||
keymap Compiled with 'keymap' support.
|
||||
lambda Compiled with |lambda| support.
|
||||
@@ -10769,7 +10958,7 @@ python_dynamic Python 2.x interface is dynamically loaded. |has-python|
|
||||
python3 Python 3.x interface available. |has-python|
|
||||
python3_compiled Compiled with Python 3.x interface. |has-python|
|
||||
python3_dynamic Python 3.x interface is dynamically loaded. |has-python|
|
||||
pythonx Compiled with |python_x| interface. |has-pythonx|
|
||||
pythonx Python 2.x and/or 3.x interface available. |python_x|
|
||||
qnx QNX version of Vim.
|
||||
quickfix Compiled with |quickfix| support.
|
||||
reltime Compiled with |reltime()| support.
|
||||
@@ -10882,6 +11071,9 @@ New functions can be defined. These can be called just like builtin
|
||||
functions. The function executes a sequence of Ex commands. Normal mode
|
||||
commands can be executed with the |:normal| command.
|
||||
|
||||
This section is about the legacy functions. For the Vim9 functions, which
|
||||
execute much faster, support type checking and more, see |vim9.txt|.
|
||||
|
||||
The function name must start with an uppercase letter, to avoid confusion with
|
||||
builtin functions. To prevent from using the same name in different scripts
|
||||
avoid obvious, short names. A good habit is to start the function name with
|
||||
@@ -10955,6 +11147,8 @@ See |:verbose-cmd| for more information.
|
||||
NOTE: Use ! wisely. If used without care it can cause
|
||||
an existing function to be replaced unexpectedly,
|
||||
which is hard to debug.
|
||||
NOTE: In Vim9 script script-local functions cannot be
|
||||
deleted or redefined.
|
||||
|
||||
For the {arguments} see |function-argument|.
|
||||
|
||||
@@ -11076,8 +11270,8 @@ It is allowed to define another function inside a function body.
|
||||
You can provide default values for positional named arguments. This makes
|
||||
them optional for function calls. When a positional argument is not
|
||||
specified at a call, the default expression is used to initialize it.
|
||||
This only works for functions declared with `:function`, not for lambda
|
||||
expressions |expr-lambda|.
|
||||
This only works for functions declared with `:function` or `:def`, not for
|
||||
lambda expressions |expr-lambda|.
|
||||
|
||||
Example: >
|
||||
function Something(key, value = 10)
|
||||
@@ -11115,9 +11309,10 @@ Example that does NOT work: >
|
||||
:function NoGood(first = a:second, second = 10)
|
||||
:endfunction
|
||||
<
|
||||
When not using "...", the number of arguments in a function call must be equal
|
||||
to the number of mandatory named arguments. When using "...", the number of
|
||||
arguments may be larger.
|
||||
When not using "...", the number of arguments in a function call must be at
|
||||
least equal to the number of mandatory named arguments. When using "...", the
|
||||
number of arguments may be larger than the total of mandatory and optional
|
||||
arguments.
|
||||
|
||||
*local-variables*
|
||||
Inside a function local variables can be used. These will disappear when the
|
||||
@@ -11474,7 +11669,7 @@ This does NOT work: >
|
||||
Like above, but append/add/subtract the value for each
|
||||
|List| item.
|
||||
|
||||
:let [{name}, ..., ; {lastname}] = {expr1}
|
||||
:let [{name}, ..., ; {lastname}] = {expr1} *E452*
|
||||
Like |:let-unpack| above, but the |List| may have more
|
||||
items than there are names. A list of the remaining
|
||||
items is assigned to {lastname}. If there are no
|
||||
@@ -11794,11 +11989,11 @@ text...
|
||||
":endtry" is reached thereafter, the next
|
||||
(dynamically) surrounding ":try" is checked for
|
||||
a corresponding ":finally" etc. Then the script
|
||||
processing is terminated. (Whether a function
|
||||
definition has an "abort" argument does not matter.)
|
||||
processing is terminated. Whether a function
|
||||
definition has an "abort" argument does not matter.
|
||||
Example: >
|
||||
:try | edit too much | finally | echo "cleanup" | endtry
|
||||
:echo "impossible" " not reached, script terminated above
|
||||
try | call Unknown() | finally | echomsg "cleanup" | endtry
|
||||
echomsg "not reached"
|
||||
<
|
||||
Moreover, an error or interrupt (dynamically) inside
|
||||
":try" and ":endtry" is converted to an exception. It
|
||||
@@ -11815,8 +12010,8 @@ text...
|
||||
error exception is not caught, always beginning with
|
||||
the error number.
|
||||
Examples: >
|
||||
:try | sleep 100 | catch /^Vim:Interrupt$/ | endtry
|
||||
:try | edit | catch /^Vim(edit):E\d\+/ | echo "error" | endtry
|
||||
try | sleep 100 | catch /^Vim:Interrupt$/ | endtry
|
||||
try | edit | catch /^Vim(edit):E\d\+/ | echo "error" | endtry
|
||||
<
|
||||
*:cat* *:catch* *E603* *E604* *E605*
|
||||
:cat[ch] /{pattern}/ The following commands until the next |:catch|,
|
||||
@@ -11971,6 +12166,9 @@ text...
|
||||
these are hard to recognize and therefore not to be
|
||||
used.
|
||||
|
||||
The command cannot be followed by "|" and another
|
||||
command, since "|" is seen as part of the expression.
|
||||
|
||||
|
||||
*:exe* *:execute*
|
||||
:exe[cute] {expr1} .. Executes the string that results from the evaluation
|
||||
|
||||
0
runtime/doc/evim-it.1
Executable file → Normal file
0
runtime/doc/evim-it.1
Executable file → Normal file
@@ -307,13 +307,13 @@ all loaded. For example, if this command: >
|
||||
|
||||
produces this output:
|
||||
|
||||
runtimepath=/etc/vim,~/.vim,/usr/local/share/vim/vim60 ~
|
||||
runtimepath=/etc/vim,~/.vim,/usr/local/share/vim/vim82 ~
|
||||
|
||||
then Vim will load all plugins in these directories and below:
|
||||
|
||||
/etc/vim/plugin/ ~
|
||||
~/.vim/plugin/ ~
|
||||
/usr/local/share/vim/vim60/plugin/ ~
|
||||
/usr/local/share/vim/vim82/plugin/ ~
|
||||
|
||||
Note that the last one is the value of $VIMRUNTIME which has been expanded.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui.txt* For Vim version 8.2. Last change: 2019 Nov 16
|
||||
*gui.txt* For Vim version 8.2. Last change: 2020 Mar 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -99,6 +99,7 @@ Recommended place for your personal GUI initializations:
|
||||
or $VIM/_gvimrc
|
||||
Amiga s:.gvimrc, home:.gvimrc, home:vimfiles:gvimrc
|
||||
or $VIM/.gvimrc
|
||||
Haiku $HOME/config/settings/vim/gvimrc
|
||||
|
||||
The personal initialization files are searched in the order specified above
|
||||
and only the first one that is found is read.
|
||||
@@ -577,9 +578,11 @@ tooltips for menus. See |terminal-typing|.
|
||||
|
||||
Special characters in a menu name:
|
||||
|
||||
*menu-shortcut*
|
||||
& The next character is the shortcut key. Make sure each
|
||||
shortcut key is only used once in a (sub)menu. If you want to
|
||||
insert a literal "&" in the menu name use "&&".
|
||||
*menu-text*
|
||||
<Tab> Separates the menu name from right-aligned text. This can be
|
||||
used to show the equivalent typed command. The text "<Tab>"
|
||||
can be used here for convenience. If you are using a real
|
||||
@@ -852,6 +855,8 @@ Special characters in the list, just before the rhs:
|
||||
* The menu was defined with "nore" to disallow remapping.
|
||||
& The menu was defined with "<script>" to allow remapping script-local
|
||||
mappings only.
|
||||
s The menu was defined with "<silent>" to avoid showing what it is
|
||||
mapped to when triggered.
|
||||
- The menu was disabled.
|
||||
|
||||
Note that hitting <Tab> while entering a menu name after a menu command may
|
||||
@@ -953,7 +958,7 @@ item for the keyword under the cursor. The register "z" is used. >
|
||||
mappings, or put these lines in your gvimrc; "<C-R>" is CTRL-R, "<CR>" is
|
||||
the <CR> key. |<>|)
|
||||
|
||||
|
||||
*tooltips* *menu-tips*
|
||||
5.8 Tooltips & Menu tips
|
||||
|
||||
See section |42.4| in the user manual.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui_w32.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||
*gui_w32.txt* For Vim version 8.2. Last change: 2020 Mar 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -106,16 +106,15 @@ when you have got a new version):
|
||||
You can also install Vim in the "Send To" menu:
|
||||
1. Start a Windows Explorer
|
||||
2. Navigate to your sendto directory:
|
||||
Windows NT: %windir%\profiles\%user%\sendto (e.g.
|
||||
"c:\winnt\profiles\mattha\sendto")
|
||||
Windows XP: C:\Documents and Settings\%user%\SendTo
|
||||
Windows Vista: C:\Users\%user%\AppData\Roaming\Microsoft\Windows\SendTo .
|
||||
3. Right-click in the file pane and select New->Shortcut
|
||||
4. Follow the shortcut wizard, using the full path to VIM/GVIM.
|
||||
|
||||
When you 'send a file to Vim', Vim changes to that file's directory. Note,
|
||||
however, that any long directory names will appear in their short (MS-Windows)
|
||||
form. This is a limitation of the Windows "Send To" mechanism.
|
||||
however, that any long directory names will appear in their short (MS-DOS)
|
||||
form on some Windows versions. This is a limitation of the Windows "Send To"
|
||||
mechanism.
|
||||
|
||||
*notepad*
|
||||
You could replace notepad.exe with gvim.exe, but that has a few side effects.
|
||||
@@ -169,8 +168,8 @@ you can.
|
||||
Vim Shell Extension
|
||||
HKEY_LOCAL_MACHINE\Software\Vim\Gvim
|
||||
path {path}\gvim.exe
|
||||
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\vim 5.6
|
||||
DisplayName Vim 5.6: Edit with Vim popup menu entry
|
||||
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\vim 8.2
|
||||
DisplayName Vim 8.2: Edit with Vim popup menu entry
|
||||
UninstallString {path}\uninstall.exe
|
||||
|
||||
Replace {path} with the path that leads to the executable.
|
||||
@@ -200,7 +199,7 @@ With..." menu. This means you can use Vim to edit many files. Not every file
|
||||
One reason to add this is to be able to edit HTML files directly from Internet
|
||||
Explorer. To enable this use the "Tools" menu, "Internet Options..." entry.
|
||||
In the dialog select the "Programs" tab and select Vim in the "HTML editor"
|
||||
choice. If it's not there than installing didn't work properly.
|
||||
choice. If it's not there then installing didn't work properly.
|
||||
|
||||
Doing this manually can be done with this script:
|
||||
|
||||
@@ -214,7 +213,7 @@ REGEDIT4
|
||||
[HKEY_CLASSES_ROOT\Applications\gvim.exe\shell\edit]
|
||||
|
||||
[HKEY_CLASSES_ROOT\Applications\gvim.exe\shell\edit\command]
|
||||
@="c:\\vim\\vim62\\gvim.exe \"%1\""
|
||||
@="c:\\vim\\vim82\\gvim.exe \"%1\""
|
||||
|
||||
[HKEY_CLASSES_ROOT\.htm\OpenWithList\gvim.exe]
|
||||
|
||||
@@ -222,7 +221,7 @@ REGEDIT4
|
||||
|
||||
----------------------------------------------------------
|
||||
|
||||
Change the "c:\\vim\\vim62" bit to where gvim.exe is actually located.
|
||||
Change the "c:\\vim\\vim82" bit to where gvim.exe is actually located.
|
||||
|
||||
To uninstall this run the Vim uninstall program or manually delete the
|
||||
registry entries with "regedit".
|
||||
@@ -457,8 +456,12 @@ See the Make_mvc.mak file for instructions, search for XPM.
|
||||
|
||||
To try out if XPM support works do this: >
|
||||
:help
|
||||
:exe 'sign define vimxpm icon=' . $VIMRUNTIME . '\\vim16x16.xpm'
|
||||
:exe 'sign place 1 line=1 name=vimxpm file=' . expand('%:p')
|
||||
:let runtime = escape($VIMRUNTIME, ' \')
|
||||
:exe 'sign define vimxpm icon=' .. runtime .. '\\vim16x16.xpm'
|
||||
:exe 'sign place 1 line=1 name=vimxpm file=' .. expand('%:p')
|
||||
<
|
||||
You may need to get the vim16x16.xpm file from github:
|
||||
https://github.com/vim/vim/blob/master/runtime/vim16x16.xpm
|
||||
|
||||
|
||||
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*help.txt* For Vim version 8.2. Last change: 2019 Jul 21
|
||||
*help.txt* For Vim version 8.2. Last change: 2020 Apr 05
|
||||
|
||||
VIM - main help file
|
||||
k
|
||||
@@ -31,7 +31,7 @@ Get specific help: It is possible to go directly to whatever you want help
|
||||
help entries for "word".
|
||||
Or use ":helpgrep word". |:helpgrep|
|
||||
|
||||
Getting started: Do the Vim tutor, a 20 minute interactive training for the
|
||||
Getting started: Do the Vim tutor, a 30-minute interactive course for the
|
||||
basic commands, see |vimtutor|.
|
||||
Read the user manual from start to end: |usr_01.txt|
|
||||
|
||||
@@ -41,7 +41,7 @@ through the help of many others. See |credits|.
|
||||
*doc-file-list* *Q_ct*
|
||||
BASIC:
|
||||
|quickref| Overview of the most common commands you will use
|
||||
|tutor| 20 minutes training course for beginners
|
||||
|tutor| 30-minute interactive course for beginners
|
||||
|copying| About copyrights
|
||||
|iccf| Helping poor children in Uganda
|
||||
|sponsor| Sponsor Vim development, become a registered Vim user
|
||||
@@ -144,7 +144,7 @@ Special issues ~
|
||||
|remote.txt| using Vim as a server or client
|
||||
|term.txt| using different terminals and mice
|
||||
|terminal.txt| Terminal window support
|
||||
|popup.txt| popop window support
|
||||
|popup.txt| popup window support
|
||||
|
||||
Programming language support ~
|
||||
|indent.txt| automatic indenting for C and other languages
|
||||
@@ -197,7 +197,8 @@ Remarks about specific systems ~
|
||||
|os_390.txt| OS/390 Unix
|
||||
|os_amiga.txt| Amiga
|
||||
|os_beos.txt| BeOS and BeBox
|
||||
|os_dos.txt| MS-DOS and MS-Windows NT/95 common items
|
||||
|os_dos.txt| MS-DOS and MS-Windows common items
|
||||
|os_haiku.txt| Haiku
|
||||
|os_mac.txt| Macintosh
|
||||
|os_mint.txt| Atari MiNT
|
||||
|os_msdos.txt| MS-DOS (plain DOS and DOS box under Windows)
|
||||
@@ -206,7 +207,7 @@ Remarks about specific systems ~
|
||||
|os_risc.txt| RISC-OS
|
||||
|os_unix.txt| Unix
|
||||
|os_vms.txt| VMS
|
||||
|os_win32.txt| MS-Windows 95/98/NT
|
||||
|os_win32.txt| MS-Windows
|
||||
*standard-plugin-list*
|
||||
Standard plugins ~
|
||||
|pi_getscript.txt| Downloading latest version of Vim scripts
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*helphelp.txt* For Vim version 8.2. Last change: 2019 Oct 18
|
||||
*helphelp.txt* For Vim version 8.2. Last change: 2020 Mar 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -368,4 +368,15 @@ highlighting. So do these:
|
||||
|
||||
You can find the details in $VIMRUNTIME/syntax/help.vim
|
||||
|
||||
*inclusion*
|
||||
Some people make a big deal about using "his" when referring to the user,
|
||||
thinking it means we assume the user is male. That is of course not the case,
|
||||
it's just a habit of writing help text, which quite often is many years old.
|
||||
Also, a lot of the text is written by contributors for who English is not
|
||||
their first language. We do not make any assumptions about the gender of the
|
||||
user, no matter how the text is phrased. And we do not want to waste time on
|
||||
this discussion. The goal is that the reader understands how Vim works, the
|
||||
exact wording is secondary.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_lua.txt* For Vim version 8.2. Last change: 2019 Jul 21
|
||||
*if_lua.txt* For Vim version 8.2. Last change: 2020 May 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Luis Carvalho
|
||||
@@ -32,7 +32,7 @@ Examples:
|
||||
:lua local curbuf = vim.buffer() curbuf[7] = "line #7"
|
||||
<
|
||||
|
||||
:[range]lua << [endmarker]
|
||||
:[range]lua << [trim] [{endmarker}]
|
||||
{script}
|
||||
{endmarker}
|
||||
Execute Lua script {script}.
|
||||
@@ -40,10 +40,9 @@ Examples:
|
||||
feature wasn't compiled in. To avoid errors, see
|
||||
|script-here|.
|
||||
|
||||
The {endmarker} must NOT be preceded by any white space.
|
||||
|
||||
If [endmarker] is omitted from after the "<<", a dot '.' must be used after
|
||||
{script}, like for the |:append| and |:insert| commands.
|
||||
{script}, like for the |:append| and |:insert| commands. Refer to
|
||||
|:let-heredoc| for more information.
|
||||
|
||||
This form of the |:lua| command is mainly useful for including Lua code
|
||||
in Vim scripts.
|
||||
@@ -200,6 +199,15 @@ Vim evaluation and command execution, and others.
|
||||
returns it. Note that the buffer is not set as
|
||||
current.
|
||||
|
||||
vim.call({name} [,{args}])
|
||||
Proxy to call Vim function named {name} with
|
||||
arguments {args}. Example: >
|
||||
:lua print(vim.call('has', 'timers'))
|
||||
<
|
||||
vim.fn Proxy to call Vim functions. Proxy methods are
|
||||
created on demand. Example: >
|
||||
:lua print(vim.fn.has('timers'))
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
3. List userdata *lua-list*
|
||||
|
||||
@@ -39,7 +39,7 @@ To speed up the process, you might also want to use --disable-gracket and
|
||||
:[range]mz[scheme] {stmt}
|
||||
Execute MzScheme statement {stmt}.
|
||||
|
||||
:[range]mz[scheme] << [endmarker]
|
||||
:[range]mz[scheme] << [trim] [{endmarker}]
|
||||
{script}
|
||||
{endmarker}
|
||||
Execute inlined MzScheme script {script}.
|
||||
@@ -47,12 +47,11 @@ To speed up the process, you might also want to use --disable-gracket and
|
||||
feature wasn't compiled in. To avoid errors, see
|
||||
|script-here|.
|
||||
|
||||
The {endmarker} below the {script} must NOT be
|
||||
preceded by any white space.
|
||||
|
||||
If [endmarker] is omitted from after the "<<", a dot
|
||||
'.' must be used after {script}, like for the
|
||||
|:append| and |:insert| commands.
|
||||
|:append| and |:insert| commands. Refer to
|
||||
|:let-heredoc| for more information.
|
||||
|
||||
|
||||
*:mzfile* *:mzf*
|
||||
:[range]mzf[ile] {file} Execute the MzScheme script in {file}.
|
||||
|
||||
@@ -55,7 +55,7 @@ The ActiveState one should work, Strawberry Perl is a good alternative.
|
||||
working: >
|
||||
:perl VIM::Msg("Hello")
|
||||
|
||||
:pe[rl] << [endmarker]
|
||||
:pe[rl] << [trim] [{endmarker}]
|
||||
{script}
|
||||
{endmarker}
|
||||
Execute Perl script {script}.
|
||||
|
||||
@@ -34,7 +34,7 @@ Both can be available at the same time, but read |python-2-and-3|.
|
||||
the `:python` command is working: >
|
||||
:python print "Hello"
|
||||
|
||||
:[range]py[thon] << [endmarker]
|
||||
:[range]py[thon] << [trim] [{endmarker}]
|
||||
{script}
|
||||
{endmarker}
|
||||
Execute Python script {script}.
|
||||
@@ -42,10 +42,9 @@ Both can be available at the same time, but read |python-2-and-3|.
|
||||
feature wasn't compiled in. To avoid errors, see
|
||||
|script-here|.
|
||||
|
||||
The {endmarker} below the {script} must NOT be preceded by any white space.
|
||||
|
||||
If [endmarker] is omitted from after the "<<", a dot '.' must be used after
|
||||
{script}, like for the |:append| and |:insert| commands.
|
||||
{script}, like for the |:append| and |:insert| commands. Refer to
|
||||
|:let-heredoc| for more information.
|
||||
|
||||
This form of the |:python| command is mainly useful for including python code
|
||||
in Vim scripts.
|
||||
@@ -768,12 +767,12 @@ match the Python 2.x or Python 3 version Vim was compiled with.
|
||||
|
||||
*:py3* *:python3*
|
||||
:[range]py3 {stmt}
|
||||
:[range]py3 << [endmarker]
|
||||
:[range]py3 << [trim] [{endmarker}]
|
||||
{script}
|
||||
{endmarker}
|
||||
|
||||
:[range]python3 {stmt}
|
||||
:[range]python3 << [endmarker]
|
||||
:[range]python3 << [trim] [{endmarker}]
|
||||
{script}
|
||||
{endmarker}
|
||||
The `:py3` and `:python3` commands work similar to `:python`. A
|
||||
|
||||
@@ -28,15 +28,15 @@ downloading Ruby there.
|
||||
:rub[y] {cmd} Execute Ruby command {cmd}. A command to try it out: >
|
||||
:ruby print "Hello"
|
||||
|
||||
:rub[y] << [endmarker]
|
||||
:rub[y] << [trim] [{endmarker}]
|
||||
{script}
|
||||
{endmarker}
|
||||
Execute Ruby script {script}.
|
||||
The {endmarker} after {script} must NOT be preceded by
|
||||
any white space.
|
||||
|
||||
If [endmarker] is omitted, it defaults to a dot '.'
|
||||
like for the |:append| and |:insert| commands.
|
||||
like for the |:append| and |:insert| commands. Refer
|
||||
to |:let-heredoc| for more information.
|
||||
|
||||
|
||||
This form of the |:ruby| command is mainly useful for
|
||||
including ruby code in vim scripts.
|
||||
|
||||
@@ -30,7 +30,7 @@ comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
|
||||
is working: >
|
||||
:tcl puts "Hello"
|
||||
|
||||
:[range]tc[l] << [endmarker]
|
||||
:[range]tc[l] << [trim] [{endmarker}]
|
||||
{script}
|
||||
{endmarker}
|
||||
Execute Tcl script {script}.
|
||||
@@ -38,10 +38,9 @@ comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
|
||||
wasn't compiled in. To avoid errors, see
|
||||
|script-here|.
|
||||
|
||||
The {endmarker} after {script} must NOT be preceded by any white space.
|
||||
|
||||
If [endmarker] is omitted from after the "<<", a dot '.' must be used after
|
||||
{script}, like for the |:append| and |:insert| commands.
|
||||
{script}, like for the |:append| and |:insert| commands. Refer to
|
||||
|:let-heredoc| for more information.
|
||||
|
||||
This form of the |:tcl| command is mainly useful for including tcl code in Vim
|
||||
scripts.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 8.2. Last change: 2019 Sep 27
|
||||
*index.txt* For Vim version 8.2. Last change: 2020 May 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -73,6 +73,8 @@ tag char action in Insert mode ~
|
||||
the cursor
|
||||
|i_CTRL-Q| CTRL-Q same as CTRL-V, unless used for terminal
|
||||
control flow
|
||||
|i_CTRL-SHIFT-Q| CTRL-SHIFT-Q {char}
|
||||
like CTRL-Q unless |modifyOtherKeys| is active
|
||||
|i_CTRL-R| CTRL-R {register}
|
||||
insert the contents of a register
|
||||
|i_CTRL-R_CTRL-R| CTRL-R CTRL-R {register}
|
||||
@@ -89,6 +91,8 @@ tag char action in Insert mode ~
|
||||
|i_CTRL-U| CTRL-U delete all entered characters in the current
|
||||
line
|
||||
|i_CTRL-V| CTRL-V {char} insert next non-digit literally
|
||||
|i_CTRL-SHIFT-V| CTRL-SHIFT-V {char}
|
||||
like CTRL-V unless |modifyOtherKeys| is active
|
||||
|i_CTRL-V_digit| CTRL-V {number} insert three digit decimal number as a single
|
||||
byte.
|
||||
|i_CTRL-W| CTRL-W delete word before the cursor
|
||||
@@ -242,8 +246,7 @@ tag char note action in Normal mode ~
|
||||
2 filter Nmove text through the {filter}
|
||||
command
|
||||
|!!| !!{filter} 2 filter N lines through the {filter} command
|
||||
|quote| "{a-zA-Z0-9.%#:-"} use register {a-zA-Z0-9.%#:-"} for next
|
||||
delete, yank or put (uppercase to append)
|
||||
|quote| "{register} use {register} for next delete, yank or put
|
||||
({.%#:} only work with put)
|
||||
|#| # 1 search backward for the Nth occurrence of
|
||||
the ident under the cursor
|
||||
@@ -361,8 +364,8 @@ tag char note action in Normal mode ~
|
||||
register x]
|
||||
|Y| ["x]Y yank N lines [into register x]; synonym for
|
||||
"yy"
|
||||
|ZZ| ZZ store current file if modified, and exit
|
||||
|ZQ| ZQ exit current file always
|
||||
|ZZ| ZZ write if buffer changed and close window
|
||||
|ZQ| ZQ close window without writing
|
||||
|[| [{char} square bracket command (see |[| below)
|
||||
\ not used
|
||||
|]| ]{char} square bracket command (see |]| below)
|
||||
@@ -825,7 +828,7 @@ tag char note action in Normal mode ~
|
||||
|zD| zD delete folds recursively
|
||||
|zE| zE eliminate all folds
|
||||
|zF| zF create a fold for N lines
|
||||
|zG| zG mark word as good spelled word
|
||||
|zG| zG temporarily mark word as good spelled word
|
||||
|zH| zH when 'wrap' off scroll half a screenwidth
|
||||
to the right
|
||||
|zL| zL when 'wrap' off scroll half a screenwidth
|
||||
@@ -834,7 +837,7 @@ tag char note action in Normal mode ~
|
||||
|zN| zN set 'foldenable'
|
||||
|zO| zO open folds recursively
|
||||
|zR| zR set 'foldlevel' to the deepest fold
|
||||
|zW| zW mark word as wrong (bad) spelled word
|
||||
|zW| zW temporarily mark word as bad spelled word
|
||||
|zX| zX re-apply 'foldlevel'
|
||||
|z^| z^ cursor on line N (default line above
|
||||
window), otherwise like "z-"
|
||||
@@ -846,7 +849,7 @@ tag char note action in Normal mode ~
|
||||
position the cursor at the end (right side)
|
||||
of the screen
|
||||
|zf| zf{motion} create a fold for Nmove text
|
||||
|zg| zg mark word as good spelled word
|
||||
|zg| zg permanently mark word as good spelled word
|
||||
|zh| zh when 'wrap' off scroll screen N characters
|
||||
to the right
|
||||
|zi| zi toggle 'foldenable'
|
||||
@@ -867,7 +870,7 @@ tag char note action in Normal mode ~
|
||||
|zuW| zuW undo |zW|
|
||||
|zuG| zuG undo |zG|
|
||||
|zv| zv open enough folds to view the cursor line
|
||||
|zw| zw mark word as wrong (bad) spelled word
|
||||
|zw| zw permanently mark word as bad spelled word
|
||||
|zx| zx re-apply 'foldlevel' and do "zv"
|
||||
|zz| zz redraw, cursor line at center of window
|
||||
|z<Left>| z<Left> same as "zh"
|
||||
@@ -1111,7 +1114,7 @@ tag char action in Terminal-Job mode ~
|
||||
|t_CTRL-W_:| CTRL-W : enter an Ex command
|
||||
|t_CTRL-W_.| CTRL-W . type CTRL-W in the terminal
|
||||
CTRL-W CTRL-\ send a CTRL-\ to the job in the terminal
|
||||
|t_CTRL-W_quote| CTRL-W " {0-9a-z"%#*:=}
|
||||
|t_CTRL-W_quote| CTRL-W " {register}
|
||||
paste register in the terminal
|
||||
|t_CTRL-W_CTRL-C| CTRL-W CTRL-C forcefully ends the job
|
||||
|t_CTRL-W_CTRL-W| CTRL-W CTRL-W move focus to the next window
|
||||
@@ -1256,11 +1259,13 @@ tag command action ~
|
||||
|:cunmenu| :cunme[nu] remove menu for Command-line mode
|
||||
|:cwindow| :cw[indow] open or close quickfix window
|
||||
|:delete| :d[elete] delete lines
|
||||
|:delmarks| :delm[arks] delete marks
|
||||
|:debug| :deb[ug] run a command in debugging mode
|
||||
|:debuggreedy| :debugg[reedy] read debug mode commands from normal input
|
||||
|:def| :def define a Vim9 user function
|
||||
|:defcompile| :defc[ompile] compile Vim9 user functions in current script
|
||||
|:delcommand| :delc[ommand] delete user-defined command
|
||||
|:delfunction| :delf[unction] delete a user function
|
||||
|:delmarks| :delm[arks] delete marks
|
||||
|:diffupdate| :dif[fupdate] update 'diff' buffers
|
||||
|:diffget| :diffg[et] remove differences in current buffer
|
||||
|:diffoff| :diffo[ff] switch off diff mode
|
||||
@@ -1270,9 +1275,9 @@ tag command action ~
|
||||
|:diffthis| :diffthis make current window a diff window
|
||||
|:digraphs| :dig[raphs] show or enter digraphs
|
||||
|:display| :di[splay] display registers
|
||||
|:disassemble| :disa[ssemble] disassemble Vim9 user function
|
||||
|:djump| :dj[ump] jump to #define
|
||||
|:dl| :dl short for |:delete| with the 'l' flag
|
||||
|:del| :del[ete]l short for |:delete| with the 'l' flag
|
||||
|:dlist| :dli[st] list #defines
|
||||
|:doautocmd| :do[autocmd] apply autocommands to current buffer
|
||||
|:doautoall| :doautoa[ll] apply autocommands for all loaded buffers
|
||||
@@ -1291,15 +1296,17 @@ tag command action ~
|
||||
|:else| :el[se] part of an :if command
|
||||
|:elseif| :elsei[f] part of an :if command
|
||||
|:emenu| :em[enu] execute a menu by name
|
||||
|:enddef| :enddef end of a user function started with :def
|
||||
|:endif| :en[dif] end previous :if
|
||||
|:endfor| :endfo[r] end previous :for
|
||||
|:endfunction| :endf[unction] end of a user function
|
||||
|:endfunction| :endf[unction] end of a user function started with :function
|
||||
|:endtry| :endt[ry] end previous :try
|
||||
|:endwhile| :endw[hile] end previous :while
|
||||
|:enew| :ene[w] edit a new, unnamed buffer
|
||||
|:ex| :ex same as ":edit"
|
||||
|:execute| :exe[cute] execute result of expressions
|
||||
|:exit| :exi[t] same as ":xit"
|
||||
|:export| :exp[ort] Vim9: export an item from a script
|
||||
|:exusage| :exu[sage] overview of Ex commands
|
||||
|:file| :f[ile] show or set the current file name
|
||||
|:files| :files list all files in the buffer list
|
||||
@@ -1341,6 +1348,7 @@ tag command action ~
|
||||
|:imap| :im[ap] like ":map" but for Insert mode
|
||||
|:imapclear| :imapc[lear] like ":mapclear" but for Insert mode
|
||||
|:imenu| :ime[nu] add menu for Insert mode
|
||||
|:import| :imp[ort] Vim9: import an item from another script
|
||||
|:inoremap| :ino[remap] like ":noremap" but for Insert mode
|
||||
|:inoreabbrev| :inorea[bbrev] like ":noreabbrev" but for Insert mode
|
||||
|:inoremenu| :inoreme[nu] like ":noremenu" but for Insert mode
|
||||
@@ -1682,6 +1690,7 @@ tag command action ~
|
||||
|: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
|
||||
|:vim9script| :vim9[script] indicates Vim9 script file
|
||||
|:vimgrep| :vim[grep] search for pattern in files
|
||||
|:vimgrepadd| :vimgrepa[dd] like :vimgrep, but append to current list
|
||||
|:visual| :vi[sual] same as ":edit", but turns off "Ex" mode
|
||||
@@ -1713,7 +1722,7 @@ tag command action ~
|
||||
|:wqall| :wqa[ll] write all changed buffers and quit Vim
|
||||
|:wundo| :wu[ndo] write undo information to a file
|
||||
|:wviminfo| :wv[iminfo] write to viminfo file
|
||||
|:xit| :x[it] write if buffer changed and quit window or Vim
|
||||
|:xit| :x[it] write if buffer changed and close window
|
||||
|:xall| :xa[ll] same as ":wqall"
|
||||
|:xmapclear| :xmapc[lear] remove all mappings for Visual mode
|
||||
|:xmap| :xm[ap] like ":map" but for Visual mode
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 8.2. Last change: 2019 Nov 26
|
||||
*insert.txt* For Vim version 8.2. Last change: 2020 Apr 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -154,6 +154,8 @@ CTRL-R CTRL-R {register} *i_CTRL-R_CTRL-R*
|
||||
you also want to avoid these, use CTRL-R CTRL-O, see below.
|
||||
The '.' register (last inserted text) is still inserted as
|
||||
typed.
|
||||
After this command, the '.' register contains the text from
|
||||
the register as if it was inserted by typing it.
|
||||
|
||||
CTRL-R CTRL-O {register} *i_CTRL-R_CTRL-O*
|
||||
Insert the contents of a register literally and don't
|
||||
@@ -163,6 +165,9 @@ CTRL-R CTRL-O {register} *i_CTRL-R_CTRL-O*
|
||||
Does not replace characters!
|
||||
The '.' register (last inserted text) is still inserted as
|
||||
typed.
|
||||
After this command, the '.' register contains the command
|
||||
typed and not the text. I.e., the literals "^R^O" and not the
|
||||
text from the register.
|
||||
|
||||
CTRL-R CTRL-P {register} *i_CTRL-R_CTRL-P*
|
||||
Insert the contents of a register literally and fix the
|
||||
@@ -170,6 +175,9 @@ CTRL-R CTRL-P {register} *i_CTRL-R_CTRL-P*
|
||||
Does not replace characters!
|
||||
The '.' register (last inserted text) is still inserted as
|
||||
typed.
|
||||
After this command, the '.' register contains the command
|
||||
typed and not the text. I.e., the literals "^R^P" and not the
|
||||
text from the register.
|
||||
|
||||
*i_CTRL-T*
|
||||
CTRL-T Insert one shiftwidth of indent at the start of the current
|
||||
@@ -200,15 +208,15 @@ CTRL-V Insert next non-digit literally. For special keys, the
|
||||
is converted back to what it was without |modifyOtherKeys|,
|
||||
unless the Shift key is also pressed.
|
||||
|
||||
*i_CTRL-SHIFT-V*
|
||||
CTRL-SHIFT-V Works just like CTRL-V, unless |modifyOtherKeys| is active,
|
||||
then it inserts the Escape sequence for a key with modifiers.
|
||||
|
||||
*i_CTRL-Q*
|
||||
CTRL-Q Same as CTRL-V.
|
||||
Note: Some terminal connections may eat CTRL-Q, it doesn't
|
||||
work then. It does work in the GUI.
|
||||
|
||||
CTRL-SHIFT-V *i_CTRL-SHIFT-V* *i_CTRL-SHIFT-Q*
|
||||
CTRL-SHIFT-Q Works just like CTRL-V, unless |modifyOtherKeys| is active,
|
||||
then it inserts the Escape sequence for a key with modifiers.
|
||||
|
||||
CTRL-X Enter CTRL-X mode. This is a sub-mode where commands can
|
||||
be given to complete words or scroll the window. See
|
||||
|i_CTRL-X| and |ins-completion|.
|
||||
@@ -379,8 +387,8 @@ CTRL-\ CTRL-O like CTRL-O but don't move the cursor *i_CTRL-\_CTRL-O*
|
||||
CTRL-L when 'insertmode' is set: go to Normal mode *i_CTRL-L*
|
||||
CTRL-G u break undo sequence, start new change *i_CTRL-G_u*
|
||||
CTRL-G U don't break undo with next left/right cursor *i_CTRL-G_U*
|
||||
movement, if the cursor stays within
|
||||
same the line
|
||||
movement, if the cursor stays within the
|
||||
same line
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
Note: If the cursor keys take you out of Insert mode, check the 'noesckeys'
|
||||
@@ -658,8 +666,10 @@ Note: The keys that are valid in CTRL-X mode are not mapped. This allows for
|
||||
ends CTRL-X mode (any key that is not a valid CTRL-X mode command) is mapped.
|
||||
Also, when doing completion with 'complete' mappings apply as usual.
|
||||
|
||||
Note: While completion is active Insert mode can't be used recursively.
|
||||
Mappings that somehow invoke ":normal i.." will generate an E523 error.
|
||||
*E578* *E565*
|
||||
Note: While completion is active Insert mode can't be used recursively and
|
||||
buffer text cannot be changed. Mappings that somehow invoke ":normal i.."
|
||||
will generate an E565 error.
|
||||
|
||||
The following mappings are suggested to make typing the completion commands
|
||||
a bit easier (although they will hide other commands): >
|
||||
@@ -1079,7 +1089,8 @@ If you want to suppress the warning message for an empty result, return
|
||||
|
||||
Other items are ignored.
|
||||
|
||||
For acting upon end of completion, see the |CompleteDone| autocommand event.
|
||||
For acting upon end of completion, see the |CompleteDonePre| and
|
||||
|CompleteDone| autocommand event.
|
||||
|
||||
For example, the function can contain this: >
|
||||
let matches = ... list of words ...
|
||||
@@ -1108,7 +1119,8 @@ items:
|
||||
empty when non-zero this match will be added even when it is
|
||||
an empty string
|
||||
user_data custom data which is associated with the item and
|
||||
available in |v:completed_item|
|
||||
available in |v:completed_item|; it can be any type;
|
||||
defaults to an empty string
|
||||
|
||||
All of these except "icase", "equal", "dup" and "empty" must be a string. If
|
||||
an item does not meet these requirements then an error message is given and
|
||||
@@ -2008,11 +2020,11 @@ If the 'fileformats' option is not empty Vim tries to recognize the type of
|
||||
changed, the detected format is only used while reading the file.
|
||||
A similar thing happens with 'fileencodings'.
|
||||
|
||||
The message "[dos format]" is shown if a file is read in DOS format, to remind
|
||||
you that something unusual is done.
|
||||
On non-Win32 systems the message "[dos format]" is shown if a file is read in
|
||||
DOS format, to remind you that something unusual is done.
|
||||
On Macintosh and Win32 the message "[unix format]" is shown if a file is read
|
||||
in Unix format.
|
||||
On non-Macintosh systems, the message "[Mac format]" is shown if a file is
|
||||
On non-Macintosh systems, the message "[mac format]" is shown if a file is
|
||||
read in Mac format.
|
||||
|
||||
An example on how to use ":r !": >
|
||||
|
||||
@@ -58,7 +58,7 @@ substr($0,length($0),1) == "~" { print "<B><FONT COLOR=\"PURPLE\">" substr($0,1,
|
||||
#
|
||||
#ad hoc code
|
||||
#
|
||||
/^"\|\& / {gsub(/\|/,"\\|"); }
|
||||
/^"\|& / {gsub(/\|/,"\\|"); }
|
||||
/ = b / {gsub(/ b /," \\b "); }
|
||||
#
|
||||
# one letter tag
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 8.2. Last change: 2019 Dec 19
|
||||
*map.txt* For Vim version 8.2. Last change: 2020 Apr 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -845,8 +845,9 @@ Without modifyOtherKeys <C-[> and <C-S-{> are indistinguishable from Esc.
|
||||
|
||||
A known side effect 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 enabled: In Insert mode type CTRL-V CTRL-V, if you get
|
||||
one byte then modifyOtherKeys is off, if you get <1b>27;5;118~ then it is on.
|
||||
modifyOtherKeys is enabled: In Insert mode type CTRL-SHIFT-V CTRL-V, if you
|
||||
get one byte then modifyOtherKeys is off, if you get <1b>27;5;118~ then it is
|
||||
on.
|
||||
|
||||
When the 'esckeys' option is off, then modifyOtherKeys will be disabled in
|
||||
Insert mode to avoid every key with a modifier causing Insert mode to end.
|
||||
@@ -1491,7 +1492,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>*
|
||||
*<mods>* *:command-modifiers*
|
||||
<mods> The command modifiers, if specified. Otherwise, expands to
|
||||
nothing. Supported modifiers are |:aboveleft|, |:belowright|,
|
||||
|:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 8.2. Last change: 2019 Oct 19
|
||||
*message.txt* For Vim version 8.2. Last change: 2020 Jan 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -76,7 +76,7 @@ See `:messages` above.
|
||||
LIST OF MESSAGES
|
||||
*E222* *E228* *E232* *E256* *E293* *E298* *E304* *E317*
|
||||
*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
|
||||
*E323* *E341* *E473* *E570* *E685* *E950* >
|
||||
*E323* *E341* *E473* *E570* *E685* *E292* >
|
||||
Add to read buffer
|
||||
makemap: Illegal mode
|
||||
Cannot create BalloonEval with both message and callback
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*netbeans.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||
*netbeans.txt* For Vim version 8.2. Last change: 2020 Apr 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
||||
@@ -40,21 +40,26 @@ or environment providing a socket interface can control Vim using this
|
||||
protocol. There are existing implementations in C, C++, Python and Java. The
|
||||
name NetBeans is kept today for historical reasons.
|
||||
|
||||
Current projects using the NetBeans protocol of Vim are:
|
||||
- VimIntegration, description of various projects doing Vim Integration:
|
||||
Active project using the NetBeans protocol of Vim:
|
||||
- Eclim, http://eclim.org/
|
||||
|
||||
VimIntegration, description of various projects doing Vim Integration:
|
||||
http://www.freehackers.org/VimIntegration
|
||||
- Agide, an IDE for the AAP project, written in Python:
|
||||
http://www.a-a-p.org
|
||||
|
||||
Projects using the NetBeans protocol of Vim are or were:
|
||||
- Agide, an IDE for the AAP project, written in Python (now replaced by
|
||||
|:Termdebug|): http://www.a-a-p.org
|
||||
- Clewn, a gdb integration into Vim, written in C:
|
||||
http://clewn.sourceforge.net/
|
||||
- Pyclewn, a gdb integration into Vim, written in Python:
|
||||
http://pyclewn.sourceforge.net/
|
||||
- VimWrapper, library to easy Vim integration into IDE:
|
||||
http://www.freehackers.org/VimWrapper
|
||||
Outdated projects (links don't work):
|
||||
- VimPlugin, integration of Vim inside Eclipse:
|
||||
http://vimplugin.sourceforge.net/wiki/pmwiki.php
|
||||
- PIDA, IDE written in Python integrating Vim:
|
||||
http://pida.co.uk/
|
||||
- VimWrapper, library to easy Vim integration into IDE:
|
||||
http://www.freehackers.org/VimWrapper
|
||||
|
||||
Check the specific project pages to see how to use Vim with these projects.
|
||||
|
||||
@@ -461,11 +466,13 @@ guard off len
|
||||
initDone Mark the buffer as ready for use. Implicitly makes the buffer
|
||||
the current buffer. Fires the BufReadPost autocommand event.
|
||||
|
||||
insertDone
|
||||
insertDone starteol readonly
|
||||
Sent by Vim Controller to tell Vim an initial file insert is
|
||||
done. This triggers a read message being printed. Prior to
|
||||
version 2.3, no read messages were displayed after opening a
|
||||
file. New in version 2.3.
|
||||
done. This triggers a read message being printed. If
|
||||
"starteol" is "F" then the last line doesn't have a EOL. If
|
||||
"readonly" is "T" then the file is marked as readonly. Prior
|
||||
to version 2.3, no read messages were displayed after opening
|
||||
a file. New in version 2.3.
|
||||
|
||||
moveAnnoToFront serNum
|
||||
Not implemented.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.2. Last change: 2019 Dec 18
|
||||
*options.txt* For Vim version 8.2. Last change: 2020 May 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -22,9 +22,13 @@ achieve special effects. These options come in three forms:
|
||||
1. Setting options *set-option* *E764*
|
||||
|
||||
*:se* *:set*
|
||||
:se[t] Show all options that differ from their default value.
|
||||
:se[t][!] Show all options that differ from their default value.
|
||||
When [!] is present every option is on a separate
|
||||
line.
|
||||
|
||||
:se[t] all Show all but terminal options.
|
||||
:se[t][!] all Show all but terminal options.
|
||||
When [!] is present every option is on a separate
|
||||
line.
|
||||
|
||||
:se[t] termcap Show all terminal options. Note that in the GUI the
|
||||
key codes are not shown, because they are generated
|
||||
@@ -287,7 +291,7 @@ happens when the buffer is not loaded, but they are lost when the buffer is
|
||||
wiped out |:bwipe|.
|
||||
|
||||
*:setl* *:setlocal*
|
||||
:setl[ocal] ... Like ":set" but set only the value local to the
|
||||
:setl[ocal][!] ... Like ":set" but set only the value local to the
|
||||
current buffer or window. Not all options have a
|
||||
local value. If the option does not have a local
|
||||
value the global value is set.
|
||||
@@ -309,7 +313,7 @@ wiped out |:bwipe|.
|
||||
{option}, so that the global value will be used.
|
||||
|
||||
*:setg* *:setglobal*
|
||||
:setg[lobal] ... Like ":set" but set only the global value for a local
|
||||
:setg[lobal][!] ... Like ":set" but set only the global value for a local
|
||||
option without changing the local value.
|
||||
When displaying an option, the global value is shown.
|
||||
With the "all" argument: display global values for all
|
||||
@@ -513,10 +517,11 @@ Examples:
|
||||
|
||||
The second form (this is compatible with some versions of Vi):
|
||||
|
||||
[text]{white}{vi:|vim:|Vim:|ex:}[white]se[t] {options}:[text]
|
||||
[text{white}]{vi:|vim:|Vim:|ex:}[white]se[t] {options}:[text]
|
||||
|
||||
[text] any text or empty
|
||||
{white} at least one blank character (<Space> or <Tab>)
|
||||
[text{white}] empty or any text followed by at least one blank
|
||||
character (<Space> or <Tab>); "ex:" always requires at
|
||||
least one blank character
|
||||
{vi:|vim:|Vim:|ex:} the string "vi:", "vim:", "Vim:" or "ex:"
|
||||
[white] optional white space
|
||||
se[t] the string "set " or "se " (note the space); When
|
||||
@@ -709,9 +714,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
(or Vim is run inside an xterm invoked with "-cjkwidth" option.),
|
||||
this option should be set to "double" to match the width perceived
|
||||
by Vim with the width of glyphs in the font. Perhaps it also has
|
||||
to be set to "double" under CJK MS-Windows 2k/XP
|
||||
when the system locale is set to one of CJK locales. See Unicode
|
||||
Standard Annex #11 (http://www.unicode.org/reports/tr11).
|
||||
to be set to "double" under CJK MS-Windows when the system locale is
|
||||
set to one of CJK locales. See Unicode Standard Annex #11
|
||||
(http://www.unicode.org/reports/tr11).
|
||||
|
||||
Vim may set this option automatically at startup time when Vim is
|
||||
compiled with the |+termresponse| feature and if |t_u7| is set to the
|
||||
@@ -910,6 +915,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
eol allow backspacing over line breaks (join lines)
|
||||
start allow backspacing over the start of insert; CTRL-W and CTRL-U
|
||||
stop once at the start of insert.
|
||||
nostop like start, except CTRL-W and CTRL-U do not stop at the start of
|
||||
insert.
|
||||
|
||||
When the value is empty, Vi compatible backspacing is used.
|
||||
|
||||
@@ -918,6 +925,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
0 same as ":set backspace=" (Vi compatible)
|
||||
1 same as ":set backspace=indent,eol"
|
||||
2 same as ":set backspace=indent,eol,start"
|
||||
3 same as ":set backspace=indent,eol,nostop"
|
||||
|
||||
See |:fixdel| if your <BS> or <Del> key does not do what you want.
|
||||
NOTE: This option is set to "" when 'compatible' is set.
|
||||
@@ -1018,9 +1026,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
impossible!). Writing may fail because of this.
|
||||
- A directory "." means to put the backup file in the same directory
|
||||
as the edited file.
|
||||
- A directory starting with "./" (or ".\" for MS-Windows et al.) means
|
||||
to put the backup file relative to where the edited file is. The
|
||||
leading "." is replaced with the path name of the edited file.
|
||||
- A directory starting with "./" (or ".\" for MS-Windows) means to put
|
||||
the backup file relative to where the edited file is. The leading
|
||||
"." is replaced with the path name of the edited file.
|
||||
("." inside a directory name has no special meaning).
|
||||
- Spaces after the comma are ignored, other spaces are considered part
|
||||
of the directory name. To have a space at the start of a directory
|
||||
@@ -1375,6 +1383,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
This option is used together with 'bufhidden' and 'swapfile' to
|
||||
specify special kinds of buffers. See |special-buffers|.
|
||||
Also see |win_gettype()|, which returns the type of the window.
|
||||
|
||||
Be careful with changing this option, it can have many side effects!
|
||||
|
||||
@@ -2712,9 +2721,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
the edited file. On Unix, a dot is prepended to the file name, so
|
||||
it doesn't show in a directory listing. On MS-Windows the "hidden"
|
||||
attribute is set and a dot prepended if possible.
|
||||
- A directory starting with "./" (or ".\" for MS-Windows et al.) means
|
||||
to put the swap file relative to where the edited file is. The
|
||||
leading "." is replaced with the path name of the edited file.
|
||||
- A directory starting with "./" (or ".\" for MS-Windows) means to put
|
||||
the swap file relative to where the edited file is. The leading "."
|
||||
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
|
||||
@@ -3593,7 +3602,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{only available when compiled with GUI enabled, and
|
||||
for Win32 console}
|
||||
This option tells Vim what the cursor should look like in different
|
||||
modes. It fully works in the GUI. In an Win32 console, only the
|
||||
modes. It fully works in the GUI. In a Win32 console, only the
|
||||
height of the cursor can be changed. This can be done by specifying a
|
||||
block cursor, or a percentage for a vertical or horizontal cursor.
|
||||
For a console the 't_SI', 't_SR', and 't_EI' escape sequences are
|
||||
@@ -3763,7 +3772,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'guitablabel' can be used to change the text in the labels.
|
||||
When 'e' is missing a non-GUI tab pages line may be used.
|
||||
The GUI tabs are only supported on some systems, currently
|
||||
GTK, Motif, Mac OS/X and MS-Windows.
|
||||
GTK, Motif, Mac OS/X, Haiku, and MS-Windows.
|
||||
*'go-f'*
|
||||
'f' Foreground: Don't use fork() to detach the GUI from the shell
|
||||
where it was started. Use this for programs that wait for the
|
||||
@@ -4640,8 +4649,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
be able to execute Normal mode commands.
|
||||
This is the opposite of the 'keymap' option, where characters are
|
||||
mapped in Insert mode.
|
||||
Also consider resetting 'langremap' to avoid 'langmap' applies to
|
||||
characters resulting from a mapping.
|
||||
Also consider setting 'langremap' to off, to prevent 'langmap' from
|
||||
applying to characters resulting from a mapping.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
@@ -4706,7 +4715,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'langnoremap' is set to the inverted value, and the other way around.
|
||||
|
||||
*'langremap'* *'lrm'* *'nolangremap'* *'nolrm'*
|
||||
'langremap' 'lrm' boolean (default on, reset in |defaults.vim|)
|
||||
'langremap' 'lrm' boolean (default on, set to off in |defaults.vim|)
|
||||
global
|
||||
{only available when compiled with the |+langmap|
|
||||
feature}
|
||||
@@ -5248,7 +5257,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
default because it makes using the pull down menus a little goofy, as
|
||||
a pointer transit may activate a window unintentionally.
|
||||
MS-Windows: Also see 'scrollfocus' for what window is scrolled when
|
||||
using the mouse scroll whel.
|
||||
using the mouse scroll wheel.
|
||||
|
||||
*'mousehide'* *'mh'* *'nomousehide'* *'nomh'*
|
||||
'mousehide' 'mh' boolean (default on)
|
||||
@@ -6075,7 +6084,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'restorescreen'* *'rs'* *'norestorescreen'* *'nors'*
|
||||
'restorescreen' 'rs' boolean (default on)
|
||||
global
|
||||
{only in Windows 95/NT console version}
|
||||
{only in MS-Windows console version}
|
||||
When set, the screen contents is restored when exiting Vim. This also
|
||||
happens when executing external commands.
|
||||
|
||||
@@ -6201,6 +6210,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Macintosh: "$VIM:vimfiles,
|
||||
$VIMRUNTIME,
|
||||
$VIM:vimfiles:after"
|
||||
Haiku: "$BE_USER_SETTINGS/vim,
|
||||
$VIM/vimfiles,
|
||||
$VIMRUNTIME,
|
||||
$VIM/vimfiles/after,
|
||||
$BE_USER_SETTINGS/vim/after")
|
||||
VMS: "sys$login:vimfiles,
|
||||
$VIM/vimfiles,
|
||||
$VIMRUNTIME,
|
||||
@@ -6216,6 +6230,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
compiler/ compiler files |:compiler|
|
||||
doc/ documentation |write-local-help|
|
||||
ftplugin/ filetype plugins |write-filetype-plugin|
|
||||
import/ files that are found by `:import`
|
||||
indent/ indent scripts |indent-expression|
|
||||
keymap/ key mapping files |mbyte-keymap|
|
||||
lang/ menu translations |:menutrans|
|
||||
@@ -6497,9 +6512,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
somewhere: "/c")
|
||||
global
|
||||
Flag passed to the shell to execute "!" and ":!" commands; e.g.,
|
||||
"bash.exe -c ls" or "command.com /c dir". For the MS-Windows-like
|
||||
systems, the default is set according to the value of 'shell', to
|
||||
reduce the need to set this option by the user.
|
||||
"bash.exe -c ls" or "cmd.exe /c dir". For MS-Windows, the default is
|
||||
set according to the value of 'shell', to reduce the need to set this
|
||||
option by the user.
|
||||
On Unix it can have more than one flag. Each white space separated
|
||||
part is passed as an argument to the shell command.
|
||||
See |option-backslash| about including spaces and backslashes.
|
||||
@@ -6508,7 +6523,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
security reasons.
|
||||
|
||||
*'shellpipe'* *'sp'*
|
||||
'shellpipe' 'sp' string (default ">", "| tee", "|& tee" or "2>&1| tee")
|
||||
'shellpipe' 'sp' string (default ">", ">%s 2>&1", "| tee", "|& tee" or
|
||||
"2>&1| tee")
|
||||
global
|
||||
{not available when compiled without the |+quickfix|
|
||||
feature}
|
||||
@@ -6518,8 +6534,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
The name of the temporary file can be represented by "%s" if necessary
|
||||
(the file name is appended automatically if no %s appears in the value
|
||||
of this option).
|
||||
For the Amiga the default is ">". The output is directly saved in a
|
||||
file and not echoed to the screen.
|
||||
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
|
||||
in a file and echoed to the screen. If the 'shell' option is "csh" or
|
||||
"tcsh" after initializations, the default becomes "|& tee". If the
|
||||
@@ -6587,9 +6604,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global
|
||||
{only for MS-Windows}
|
||||
When set, a forward slash is used when expanding file names. This is
|
||||
useful when a Unix-like shell is used instead of command.com or
|
||||
cmd.exe. Backward slashes can still be typed, but they are changed to
|
||||
forward slashes by Vim.
|
||||
useful when a Unix-like shell is used instead of cmd.exe. Backward
|
||||
slashes can still be typed, but they are changed to forward slashes by
|
||||
Vim.
|
||||
Note that setting or resetting this option has no effect for some
|
||||
existing file names, thus this option needs to be set before opening
|
||||
any file for best results. This might change in the future.
|
||||
@@ -6746,8 +6763,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
option is on, dots in file names are replaced with underscores when
|
||||
adding an extension (".~" or ".swp"). This option is useful
|
||||
when editing files on an MS-DOS compatible filesystem, e.g., messydos
|
||||
or crossdos. When running the Win32 GUI version under Win32s, this
|
||||
option is always on by default.
|
||||
or crossdos.
|
||||
|
||||
*'showbreak'* *'sbr'* *E595*
|
||||
'showbreak' 'sbr' string (default "")
|
||||
@@ -7282,8 +7298,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
< Beware that an expression is evaluated each and every time the status
|
||||
line is displayed.
|
||||
*stl-%{* *g:actual_curbuf* *g:actual_curwin*
|
||||
While evaluationg %{} the current buffer and current window will be
|
||||
set temporarily to that of the window (and buffer) whose statusline is
|
||||
While evaluating %{} the current buffer and current window will be set
|
||||
temporarily to that of the window (and buffer) whose statusline is
|
||||
currently being drawn. The expression will evaluate in this context.
|
||||
The variable "g:actual_curbuf" is set to the `bufnr()` number of the
|
||||
real current buffer and "g:actual_curwin" to the |window-ID| of the
|
||||
@@ -7657,6 +7673,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
in the GUI: "builtin_gui"
|
||||
on Amiga: "amiga"
|
||||
on BeOS: "beos-ansi"
|
||||
on Haiku: "xterm"
|
||||
on Mac: "mac-ansi"
|
||||
on MiNT: "vt52"
|
||||
on Unix: "ansi"
|
||||
@@ -7694,7 +7711,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
the GUI it only applies to the keyboard ('encoding' is used for the
|
||||
display). Except for the Mac when 'macatsui' is off, then
|
||||
'termencoding' should be "macroman".
|
||||
*E617*
|
||||
*E617* *E950*
|
||||
Note: This does not apply to the GTK+ GUI. After the GUI has been
|
||||
successfully initialized, 'termencoding' is forcibly set to "utf-8".
|
||||
Any attempts to set a different value will be rejected, and an error
|
||||
@@ -7943,7 +7960,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
- VIM the server name |v:servername| or "VIM"
|
||||
Only works if the terminal supports setting window titles
|
||||
(currently Amiga console, Win32 console, all GUI versions and
|
||||
terminals with a non- empty 't_ts' option - these are Unix xterm and
|
||||
terminals with a non-empty 't_ts' option - these are Unix xterm and
|
||||
iris-ansi by default, where 't_ts' is taken from the builtin termcap).
|
||||
*X11*
|
||||
When Vim was compiled with HAVE_X11 defined, the original title will
|
||||
@@ -8205,7 +8222,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
NOTE: This option is reset when 'compatible' is set.
|
||||
|
||||
*'undolevels'* *'ul'*
|
||||
'undolevels' 'ul' number (default 100, 1000 for Unix, VMS, Win32)
|
||||
'undolevels' 'ul' number (default 100, 1000 for Unix, VMS and Win32)
|
||||
global or local to buffer |global-local|
|
||||
Maximum number of changes that can be undone. Since undo information
|
||||
is kept in memory, higher numbers will cause more memory to be used.
|
||||
@@ -8306,13 +8323,17 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Currently, these messages are given:
|
||||
>= 1 When the viminfo file is read or written.
|
||||
>= 2 When a file is ":source"'ed.
|
||||
>= 4 Shell commands.
|
||||
>= 5 Every searched tags file and include file.
|
||||
>= 8 Files for which a group of autocommands is executed.
|
||||
>= 9 Every executed autocommand.
|
||||
>= 11 Finding items in a path
|
||||
>= 12 Every executed function.
|
||||
>= 13 When an exception is thrown, caught, finished, or discarded.
|
||||
>= 14 Anything pending in a ":finally" clause.
|
||||
>= 15 Every executed Ex command (truncated at 200 characters).
|
||||
>= 15 Every executed Ex command from a script (truncated at 200
|
||||
characters).
|
||||
>= 16 Every executed Ex command
|
||||
|
||||
This option can also be set with the "-V" argument. See |-V|.
|
||||
This option is also set by the |:verbose| command.
|
||||
|
||||
@@ -138,7 +138,7 @@ and merge it back in.
|
||||
|
||||
6. The $VIM directory *beos-vimdir*
|
||||
|
||||
$VIM is the symbolic name for the place where Vims support files are stored.
|
||||
$VIM is the symbolic name for the place where Vim's support files are stored.
|
||||
The default value for $VIM is set at compile time and can be determined with >
|
||||
|
||||
:version
|
||||
|
||||
@@ -39,7 +39,7 @@ If you move the executable to another location, you also need to set the $VIM
|
||||
environment variable. The runtime files will be found in "$VIM/vim{version}".
|
||||
Example: >
|
||||
set VIM=E:\vim
|
||||
Will find the version 5.4 runtime files in "e:\vim\vim54".
|
||||
Will find the version 8.2 runtime files in "e:\vim\vim82".
|
||||
Note: This is _not_ recommended. The preferred way is to keep the executable
|
||||
in the runtime directory.
|
||||
|
||||
@@ -47,17 +47,23 @@ If you move your executable AND want to put your "_vimrc" and "_gvimrc" files
|
||||
somewhere else, you must set $VIM to where you vimrc files are, and set
|
||||
$VIMRUNTIME to the runtime files. Example: >
|
||||
set VIM=C:\usr\piet
|
||||
set VIMRUNTIME=E:\vim\vim54
|
||||
Will find "c:\user\piet\_vimrc" and the runtime files in "e:\vim\vim54".
|
||||
set VIMRUNTIME=E:\vim\vim82
|
||||
Will find "c:\user\piet\_vimrc" and the runtime files in "e:\vim\vim82".
|
||||
|
||||
See |$VIM| and |$VIMRUNTIME| for more information.
|
||||
|
||||
Under Windows 95, you can set $VIM in your C:\autoexec.bat file. For
|
||||
example: >
|
||||
set VIM=D:\vim
|
||||
Under Windows NT, you can set environment variables for each user separately
|
||||
under "Start/Settings/Control Panel->System", or through the properties in the
|
||||
menu of "My Computer", under the Environment Tab.
|
||||
You can set environment variables for each user separately through the
|
||||
System Properties dialog box. The steps to do that:
|
||||
1. Type Windows Key + R to open the "Run" dialog box.
|
||||
2. Enter "sysdm.cpl" and press the "OK" button. The "System Properties"
|
||||
dialog box will open.
|
||||
3. Select the "Advanced" tab and press the "Environment Variables..." button.
|
||||
The "Environment Variables" dialog box will open.
|
||||
4. Select an existing variable in the "User variables" list and press the
|
||||
"Edit..." button to edit it. Or press the "New..." button to add a new
|
||||
variable.
|
||||
5. After you finished editing variables, press the "OK" button to save the
|
||||
changes.
|
||||
|
||||
==============================================================================
|
||||
2. Using backslashes *dos-backslash*
|
||||
|
||||
234
runtime/doc/os_haiku.txt
Normal file
234
runtime/doc/os_haiku.txt
Normal file
@@ -0,0 +1,234 @@
|
||||
*os_haiku.txt* For Vim version 8.2. Last change: 2020 May 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
|
||||
*Haiku*
|
||||
This file contains the particularities for the Haiku version of Vim. For
|
||||
matters not discussed in this file, Vim behaves very much like the Unix
|
||||
|os_unix.txt| version.
|
||||
|
||||
Haiku is an open-source operating system inspired by BeOS, that specifically
|
||||
targets personal computing.
|
||||
|
||||
1. General |haiku-general|
|
||||
2. Compiling Vim |haiku-compiling|
|
||||
3. The Haiku GUI |haiku-gui|
|
||||
4. The $VIM directory |haiku-vimdir|
|
||||
5. The $USER_SETTINGS_DIR
|
||||
directory |haiku-user-settings-dir|
|
||||
6. Drag & Drop |haiku-dragndrop|
|
||||
7. Single Launch vs. Multiple
|
||||
Launch |haiku-launch|
|
||||
8. Fonts |haiku-fonts|
|
||||
9. The meta key modifier |haiku-meta|
|
||||
10. Mouse key mappings |haiku-mouse|
|
||||
11. Color names |haiku-colors|
|
||||
12. GUI Toolbar Images |haiku-toolbar-images|
|
||||
13. Credits |haiku-support-credits|
|
||||
14. Bugs & to-do |haiku-bugs|
|
||||
|
||||
|
||||
1. General *haiku-general*
|
||||
|
||||
The default syntax highlighting mostly works with different foreground colors
|
||||
to highlight items. This works best if you set your Terminal window to a
|
||||
darkish background and light letters. Some middle-grey background (for
|
||||
instance (r,g,b)=(168,168,168)) with black letters also works nicely.
|
||||
|
||||
|
||||
2. Compiling Vim *haiku-compiling*
|
||||
|
||||
Vim can be compiled using the standard configure/make approach. Running
|
||||
./configure without any arguments or passing --enable-gui=haiku, will compile
|
||||
vim with the Haiku GUI support. Run ./configure --help , to find out other
|
||||
features you can enable/disable.
|
||||
|
||||
Haiku uses "ncurses6" as its terminal library, therefore you need to have
|
||||
"ncurses6_devel" package installed from HaikuDepot in order to configure
|
||||
the Haiku build. Just append "--with-tlib=ncurses6" to ./configure command
|
||||
|
||||
Now you should use "make" to compile Vim, then "make install" to install it.
|
||||
For seamless integration into Haiku, the GUI-less vim binary should be
|
||||
additionally installed over the GUI version. Typical build commands are:
|
||||
|
||||
./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \
|
||||
--datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \
|
||||
--mandir=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY`/documentation/man \
|
||||
make clean
|
||||
make install
|
||||
|
||||
./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \
|
||||
--datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \
|
||||
--mandir=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY`/documentation/man \
|
||||
--disable-gui
|
||||
make clean
|
||||
make install
|
||||
|
||||
|
||||
3. The Haiku GUI *haiku-gui*
|
||||
|
||||
Normally Vim starts with the GUI if you start it as gvim or vim -g. The vim
|
||||
version with GUI tries to determine if it was started from the Tracker instead
|
||||
of the Terminal, and if so, uses the GUI anyway. However, the current detection
|
||||
scheme is fooled if you use the command "vim - </dev/null".
|
||||
|
||||
Stuff that does not work yet:
|
||||
|
||||
- Mouse up events are not generated when outside the window. You can notice
|
||||
this when selecting text and moving the cursor outside the window, then
|
||||
letting go of the mouse button. Another way is when you drag the scrollbar
|
||||
and do the same thing. Because Vim still thinks you are still playing with
|
||||
the scrollbar it won't change it itself. There is a workaround which kicks
|
||||
in when the window is activated or deactivated (so it works best with focus-
|
||||
follows-mouse turned on).
|
||||
- The cursor does not flash.
|
||||
|
||||
|
||||
4. The $VIM directory *haiku-vimdir*
|
||||
|
||||
$VIM is the symbolic name for the place where Vim's support files are stored.
|
||||
The default value for $VIM is set at compile time and can be determined with:
|
||||
|
||||
:version
|
||||
|
||||
The normal value is /boot/system/data/vim for Haikuports version,
|
||||
/boot/system/non-packaged/data/vim for manual builds. If you don't like it
|
||||
you can set the VIM environment variable to override this, or set 'helpfile'
|
||||
in your .vimrc: >
|
||||
|
||||
:if version >= 500
|
||||
: set helpfile=~/vim/runtime/doc/help.txt
|
||||
: syntax on
|
||||
:endif
|
||||
|
||||
|
||||
5. The $USER_SETTINGS_DIR directory *haiku-user-settings-dir*
|
||||
|
||||
$USER_SETTINGS_DIR is the symbolic name for the place where Haiku
|
||||
configuration and settings files are stored.
|
||||
|
||||
The normal value is /boot/home/config/settings.
|
||||
|
||||
|
||||
6. Drag & Drop *haiku-dragndrop*
|
||||
|
||||
You can drop files and directories on either the Vim icon (starts a new Vim
|
||||
session, unless you use the File Types application to set Vim to be "Single
|
||||
Launch") or on the Vim window (starts editing the files). Dropping a folder
|
||||
sets Vim's current working directory |:cd| |:pwd|. If you drop files or
|
||||
folders with either SHIFT key pressed, Vim changes directory to the folder
|
||||
that contains the first item dropped. When starting Vim, there is no need to
|
||||
press shift: Vim behaves as if you do.
|
||||
|
||||
Files dropped set the current argument list. |argument-list|
|
||||
|
||||
|
||||
7. Single Launch vs. Multiple Launch *haiku-launch*
|
||||
|
||||
As distributed Vim's Application Flags (as seen in the FileTypes preference)
|
||||
are set to Multiple Launch. If you prefer, you can set them to Single Launch
|
||||
instead. Attempts to start a second copy of Vim will cause the first Vim to
|
||||
open the files instead. This works from the Tracker but also from the command
|
||||
line. In the latter case, non-file (option) arguments are not supported.
|
||||
Another drawback of the Single Launch is silent ignore of "Open With ..."
|
||||
requests by vim instance that running as non-GUI application even GUI support
|
||||
was compiled in. Vim instance running with GUI has no such problems.
|
||||
|
||||
NB: Only the GUI version has a BApplication (and hence Application Flags).
|
||||
This section does not apply to the GUI-less version, should you compile one.
|
||||
|
||||
|
||||
8. Fonts *haiku-fonts*
|
||||
|
||||
Set fonts with >
|
||||
|
||||
:set guifont=DejaVu_Sans_Mono/Book/12
|
||||
|
||||
where the first part is the font family, the second part the style, and the
|
||||
third part the size. You can use underscores instead of spaces in family and
|
||||
style.
|
||||
|
||||
Best results are obtained with monospaced fonts. Vim attempts to use all
|
||||
fonts in B_FIXED_SPACING mode but apparently this does not work for
|
||||
proportional fonts (despite what the BeBook says).
|
||||
|
||||
To verify which encodings are supported by the current font give the >
|
||||
|
||||
:digraphs
|
||||
|
||||
command, which lists a bunch of characters with their ISO Latin 1 encoding.
|
||||
If, for instance, there are "box" characters among them, or the last character
|
||||
isn't a dotted-y, then for this font the encoding does not work.
|
||||
|
||||
If the font you specify is unavailable, you get the system fixed font.
|
||||
|
||||
GUI Font Selection Dialog is available at giving the:
|
||||
|
||||
:set guifont=*
|
||||
|
||||
command.
|
||||
|
||||
|
||||
9. The meta key modifier *haiku-meta*
|
||||
|
||||
The META key modifier is obtained by the left or right OPTION keys. This is
|
||||
because the ALT (aka COMMAND) keys are not passed to applications.
|
||||
|
||||
|
||||
10. Mouse key mappings *haiku-mouse*
|
||||
|
||||
Vim calls the various mouse buttons LeftMouse, MiddleMouse and RightMouse. If
|
||||
you use the default Mouse preference settings these names indeed correspond to
|
||||
reality. Vim uses this mapping:
|
||||
|
||||
Button 1 -> LeftMouse,
|
||||
Button 2 -> RightMouse,
|
||||
Button 3 -> MiddleMouse.
|
||||
|
||||
If your mouse has fewer than 3 buttons you can provide your own mapping from
|
||||
mouse clicks with modifier(s) to other mouse buttons. See the file
|
||||
$VIM/macros/swapmous.vim for an example. |gui-mouse-mapping|
|
||||
|
||||
|
||||
11. Color names *haiku-colors*
|
||||
|
||||
Vim has a number of color names built-in. Additional names are read from the
|
||||
file $VIMRUNTIME/rgb.txt, if present. This file is basically the color
|
||||
database from X. Names used from this file are cached for efficiency.
|
||||
|
||||
|
||||
12. GUI Toolbar Images *haiku-toolbar-images*
|
||||
|
||||
Alternative set of toolbar images should be the PNG image of any height you
|
||||
like. Image width is calculated to contain at least 32 buttons in one-row
|
||||
cells.
|
||||
The image should be stored under the name $VIRUNTIME/bitmaps/builtin-tools.png
|
||||
More info about the buttons assignment are at |builtin-tools|.
|
||||
|
||||
|
||||
13. Credits *haiku-support-credits*
|
||||
|
||||
Haiku port is based on work done for BeOS version by many people
|
||||
- BeBox GUI support Copyright 1998 by Olaf Seibert;
|
||||
- Ported to R4 by Richard Offer <richard@whitequeen.com> Jul 99;
|
||||
- Those who contributed, not listed above but not forgotten;
|
||||
- Haiku support by Siarzhuk Zharski <imker@gmx.li> Apr-Mai 2009.
|
||||
|
||||
All the changes and patches released under vim-license.
|
||||
|
||||
Thank you, all!
|
||||
|
||||
|
||||
14. Bugs & to-do *haiku-bugs*
|
||||
|
||||
The port is under development now and far away from the perfect state. For bug
|
||||
reports, patches and wishes, please use the Vim mailing list or Vim Github
|
||||
repository.
|
||||
|
||||
Mailing list: https://www.vim.org/maillist.php
|
||||
Vim Github repository: https://github.com/vim/vim
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
@@ -171,7 +171,7 @@ you will need to get a version older than that.
|
||||
|
||||
*win32s* *windows-3.1* *gui-w32s* *win16*
|
||||
There was a special version of gvim that runs under Windows 3.1 and 3.11.
|
||||
Support was removed in patch 7.4.1363.
|
||||
Support was removed in patch 7.4.1364.
|
||||
|
||||
==============================================================================
|
||||
7. Win32 mini FAQ *win32-faq*
|
||||
@@ -230,7 +230,7 @@ A. VisionFS can't handle certain dot (.) three letter extension file names.
|
||||
SCO declares this behavior required for backwards compatibility with 16bit
|
||||
DOS/Windows environments. The two commands below demonstrate the behavior:
|
||||
>
|
||||
echo Hello > file.bat~
|
||||
echo Hello > file.bat~
|
||||
dir > file.bat
|
||||
<
|
||||
The result is that the "dir" command updates the "file.bat~" file, instead
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
>
|
||||
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell
|
||||
<
|
||||
Authors: Charles E. Campbell <NdrOchip@ScampbellPfamilyA.Mbiz>
|
||||
(remove NOSPAM from the email address)
|
||||
Author: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
(remove NOSPAM from the email address)
|
||||
*GetLatestVimScripts-copyright*
|
||||
Copyright: (c) 2004-2012 by Charles E. Campbell *glvs-copyright*
|
||||
The VIM LICENSE (see |copyright|) applies to the files in this
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
*pi_logipat.txt* Logical Patterns Jun 22, 2015
|
||||
*pi_logipat.txt* Logical Patterns May 01, 2019
|
||||
|
||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||
Copyright: (c) 2004-2015 by Charles E. Campbell *logiPat-copyright*
|
||||
Author: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
Copyright: (c) 2004-2016 by Charles E. Campbell *logiPat-copyright*
|
||||
The VIM LICENSE applies to LogiPat.vim and LogiPat.txt
|
||||
(see |copyright|) except use "LogiPat" instead of "Vim"
|
||||
No warranty, express or implied. Use At-Your-Own-Risk.
|
||||
@@ -28,12 +28,14 @@ Copyright: (c) 2004-2015 by Charles E. Campbell *logiPat-copyright*
|
||||
grouping ( ... )
|
||||
patterns "pattern"
|
||||
|
||||
*logiPat-cmd*
|
||||
:LogiPat {boolean-logic pattern} *:LogiPat*
|
||||
:LogiPat is a command which takes a boolean-logic
|
||||
argument (|logiPat-arg|).
|
||||
|
||||
:LP {boolean-logic pattern} *:LP*
|
||||
:LP is a shorthand command version of :LogiPat
|
||||
(|logiPat-cmd|).
|
||||
|
||||
:LPE {boolean-logic pattern} *:LPE*
|
||||
No search is done, but the conversion from the
|
||||
@@ -69,7 +71,7 @@ Copyright: (c) 2004-2015 by Charles E. Campbell *logiPat-copyright*
|
||||
< will search for lines containing the string :abc:
|
||||
>
|
||||
:LogiPat "ab""cd"
|
||||
< will search for lines containing the string :ab"c:
|
||||
< will search for lines containing the string :ab"cd:
|
||||
>
|
||||
:LogiPat !"abc"
|
||||
< will search for lines which don't contain the string :abc:
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
*pi_netrw.txt* For Vim version 8.2. Last change: 2019 Dec 10
|
||||
*pi_netrw.txt* For Vim version 8.2. Last change: 2020 Jan 14
|
||||
|
||||
------------------------------------------------
|
||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||
------------------------------------------------
|
||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||
Author: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
(remove NOSPAM from Campbell's email first)
|
||||
|
||||
Copyright: Copyright (C) 2017 Charles E Campbell *netrw-copyright*
|
||||
@@ -1565,8 +1565,8 @@ So, for example: >
|
||||
file.rcs,v -> NFH_rcsCOMMAv()
|
||||
<
|
||||
If more such translations are necessary, please send me email: >
|
||||
NdrOchip at ScampbellPfamily.AbizM - NOSPAM
|
||||
with a request.
|
||||
NcampObell@SdrPchip.AorgM-NOSPAM
|
||||
with a request. (remove the embedded NOSPAM first)
|
||||
|
||||
Associated setting variable: |g:netrw_browsex_viewer|
|
||||
|
||||
@@ -3229,7 +3229,8 @@ If there are marked files: (see |netrw-mf|)
|
||||
R [query: reply with s/^\(.*\)\.c$/\1.cpp/]
|
||||
<
|
||||
This example will mark all *.c files and then rename them to *.cpp
|
||||
files.
|
||||
files. Netrw will protect you from overwriting local files without
|
||||
confirmation, but not remote ones.
|
||||
|
||||
The ctrl-X character has special meaning for renaming files: >
|
||||
|
||||
@@ -3512,7 +3513,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
||||
- Click "Add..."
|
||||
- Set External Editor (adjust path as needed, include
|
||||
the quotes and !.! at the end):
|
||||
"c:\Program Files\Vim\vim81\gvim.exe" !.!
|
||||
"c:\Program Files\Vim\vim82\gvim.exe" !.!
|
||||
- Check that the filetype in the box below is
|
||||
{asterisk}.{asterisk} (all files), or whatever types
|
||||
you want (cec: change {asterisk} to * ; I had to
|
||||
@@ -3836,12 +3837,18 @@ 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|) >
|
||||
NdrOchip at ScampbellPfamily.AbizM - NOSPAM
|
||||
(see |:version|) (remove the embedded NOSPAM first) >
|
||||
NcampObell@SdrPchip.AorgM-NOSPAM
|
||||
<
|
||||
==============================================================================
|
||||
12. History *netrw-history* {{{1
|
||||
|
||||
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
|
||||
@@ -4279,7 +4286,7 @@ netrw:
|
||||
Vim editor by Bram Moolenaar (Thanks, Bram!)
|
||||
dav support by C Campbell
|
||||
fetch support by Bram Moolenaar and C Campbell
|
||||
ftp support by C Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||
ftp support by C Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
http support by Bram Moolenaar <bram@moolenaar.net>
|
||||
rcp
|
||||
rsync support by C Campbell (suggested by Erik Warendorph)
|
||||
@@ -4299,4 +4306,4 @@ netrw:
|
||||
|
||||
==============================================================================
|
||||
Modelines: {{{1
|
||||
vim:tw=78:ts=8:ft=help:norl:fdm=marker
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:fdm=marker
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
*pi_tar.txt* For Vim version 8.2. Last change: 2013 Apr 17
|
||||
*pi_tar.txt* For Vim version 8.2. Last change: 2020 Jan 07
|
||||
|
||||
+====================+
|
||||
| Tar File Interface |
|
||||
+====================+
|
||||
|
||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||
Author: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
(remove NOSPAM from Campbell's email first)
|
||||
Copyright 2005-2012: *tar-copyright*
|
||||
Copyright 2005-2017: *tar-copyright*
|
||||
The VIM LICENSE (see |copyright|) applies to the files in this
|
||||
package, including tarPlugin.vim, tar.vim, and pi_tar.txt. Like
|
||||
anything else that's except use "tar.vim" instead of "VIM". Like
|
||||
@@ -104,48 +104,67 @@ Copyright 2005-2012: *tar-copyright*
|
||||
==============================================================================
|
||||
4. History *tar-history*
|
||||
|
||||
|
||||
v28 Jun 23, 2011 * a few more decompression options (tbz tb2 txz)
|
||||
v27 May 31, 2011 * moved cygwin detection before g:tar_copycmd handling
|
||||
* inserted additional |:keepj| modifiers
|
||||
* changed silent to sil! (|:silent|)
|
||||
v26 Aug 09, 2010 * uses buffer-local instead of window variables to hold
|
||||
tarfile name
|
||||
* inserted keepj before 0d to protect jump list
|
||||
v25 Jun 19, 2010 * (Jan Steffens) added support for xz compression
|
||||
v24 Apr 07, 2009 * :Untarvim command implemented
|
||||
Sep 28, 2009 * Added lzma support
|
||||
v22 Aug 08, 2008 * security fixes
|
||||
v16 Jun 06, 2008 * tarfile:: used instead of tarfile: when editing files
|
||||
inside tarballs. Fixes a problem with tarballs called
|
||||
things like c:\abc.tar. (tnx to Bill McCarthy)
|
||||
v14 May 09, 2008 * arno caught a security bug
|
||||
May 28, 2008 * various security improvements. Now requires patch 299
|
||||
which provides the fnameescape() function
|
||||
May 30, 2008 * allows one to view *.gz and *.bz2 files that are in
|
||||
*.tar files.
|
||||
v12 Sep 07, 2007 * &shq now used if not the empty string for g:tar_shq
|
||||
v10 May 02, 2006 * now using "redraw then echo" to show messages, instead
|
||||
of "echo and prompt user"
|
||||
v9 May 02, 2006 * improved detection of masquerading as tar file
|
||||
v8 May 02, 2006 * allows editing of files that merely masquerade as tar
|
||||
files
|
||||
v7 Mar 22, 2006 * work on making tar plugin work across network
|
||||
Mar 27, 2006 * g:tar_cmd now available for users to change the name
|
||||
of the tar program to be used. By default, of course,
|
||||
it's "tar".
|
||||
v6 Dec 21, 2005 * writing to files not in directories caused problems -
|
||||
fixed (pointed out by Christian Robinson)
|
||||
v5 Nov 22, 2005 * report option workaround installed
|
||||
v3 Sep 16, 2005 * handles writing files in an archive back to the
|
||||
archive
|
||||
Oct 18, 2005 * <amatch> used instead of <afile> in autocmds
|
||||
Oct 18, 2005 * handles writing to compressed archives
|
||||
Nov 03, 2005 * handles writing tarfiles across a network using
|
||||
netrw#NetWrite()
|
||||
v2 * converted to use Vim7's new autoload feature by
|
||||
Bram Moolenaar
|
||||
v1 (original) * Michael Toren (see http://michael.toren.net/code/)
|
||||
v31 Apr 02, 2017 * (klartext) reported that browsing encrypted
|
||||
files in a zip archive created unencrypted
|
||||
swap files. I am applying a similar fix
|
||||
used on zip.vim to tar.vim: new buffers
|
||||
are opened with |:noswapfile|.
|
||||
May 16, 2017 * When the mouse option isn't empty, the
|
||||
leftmouse can be used to select a file
|
||||
in the tar-file listing.
|
||||
v30 Apr 22, 2014 * .tgz files are ambiguous: they may have been
|
||||
compressed with either gzip or bzip2. Tar.vim
|
||||
disambiguates by using unix's "file" command.
|
||||
Feb 18, 2016 * Changed =~ to =~# where appropriate
|
||||
Feb 18, 2017 * Now also permits xz decompression
|
||||
v28 Jun 23, 2011 * a few more decompression options (tbz tb2 txz)
|
||||
v27 May 31, 2011 * moved cygwin detection before g:tar_copycmd
|
||||
handling
|
||||
* inserted additional |:keepj| modifiers
|
||||
* changed silent to sil! (|:silent|)
|
||||
v26 Aug 09, 2010 * uses buffer-local instead of window variables
|
||||
to hold tarfile name
|
||||
* inserted keepj before 0d to protect jump list
|
||||
v25 Jun 19, 2010 * (Jan Steffens) added support for xz
|
||||
compression
|
||||
v24 Apr 07, 2009 * :Untarvim command implemented
|
||||
Sep 28, 2009 * Added lzma support
|
||||
v22 Aug 08, 2008 * security fixes
|
||||
v16 Jun 06, 2008 * tarfile:: used instead of tarfile: when
|
||||
editing files inside tarballs. Fixes a
|
||||
problem with tarballs called things like
|
||||
c:\abc.tar. (tnx to Bill McCarthy)
|
||||
v14 May 09, 2008 * arno caught a security bug
|
||||
May 28, 2008 * various security improvements. Now requires
|
||||
patch 299 which provides the fnameescape()
|
||||
function
|
||||
May 30, 2008 * allows one to view *.gz and *.bz2 files that
|
||||
are in *.tar files.
|
||||
v12 Sep 07, 2007 * &shq now used if not the empty string for
|
||||
g:tar_shq
|
||||
v10 May 02, 2006 * now using "redraw then echo" to show messages,
|
||||
instead of "echo and prompt user"
|
||||
v9 May 02, 2006 * improved detection of masquerading as tar file
|
||||
v8 May 02, 2006 * allows editing of files that merely masquerade
|
||||
as tar files
|
||||
v7 Mar 22, 2006 * work on making tar plugin work across network
|
||||
Mar 27, 2006 * g:tar_cmd now available for users to change
|
||||
the name of the tar program to be used. By
|
||||
default, of course, it's "tar".
|
||||
v6 Dec 21, 2005 * writing to files not in directories caused
|
||||
problems - fixed (pointed out by
|
||||
Christian Robinson)
|
||||
v5 Nov 22, 2005 * report option workaround installed
|
||||
v3 Sep 16, 2005 * handles writing files in an archive back to
|
||||
the archive
|
||||
Oct 18, 2005 * <amatch> used instead of <afile> in autocmds
|
||||
Oct 18, 2005 * handles writing to compressed archives
|
||||
Nov 03, 2005 * handles writing tarfiles across a network
|
||||
using netrw#NetWrite()
|
||||
v2 * converted to use Vim7's new autoload feature
|
||||
by Bram Moolenaar
|
||||
v1 (original) * Michael Toren
|
||||
(see http://michael.toren.net/code/)
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:noet:ft=help
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
Vimball Archiver
|
||||
----------------
|
||||
|
||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||
Author: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
(remove NOSPAM from Campbell's email first)
|
||||
Copyright: (c) 2004-2015 by Charles E. Campbell *Vimball-copyright*
|
||||
The VIM LICENSE (see |copyright|) applies to the files in this
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
*pi_zip.txt* For Vim version 8.2. Last change: 2016 Sep 13
|
||||
*pi_zip.txt* For Vim version 8.2. Last change: 2020 Jan 07
|
||||
|
||||
+====================+
|
||||
| Zip File Interface |
|
||||
+====================+
|
||||
|
||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||
Author: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
(remove NOSPAM from Campbell's email first)
|
||||
Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
|
||||
The VIM LICENSE (see |copyright|) applies to the files in this
|
||||
@@ -33,10 +33,11 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
|
||||
also write to the file. Currently, one may not make a new file in
|
||||
zip archives via the plugin.
|
||||
|
||||
COMMANDS~
|
||||
*zip-x*
|
||||
x : may extract a listed file when the cursor is atop it
|
||||
x : extract a listed file when the cursor is atop it
|
||||
|
||||
OPTIONS
|
||||
OPTIONS~
|
||||
|
||||
*g:zip_nomax*
|
||||
|
||||
@@ -101,6 +102,10 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
|
||||
|
||||
==============================================================================
|
||||
4. History *zip-history* {{{1
|
||||
v29 Apr 02, 2017 * (Klartext) reported that an encrypted zip file could
|
||||
opened but the swapfile held unencrypted contents.
|
||||
The solution is to edit the contents of a zip file
|
||||
using the |:noswapfile| modifier.
|
||||
v28 Oct 08, 2014 * changed the sanity checks for executables to reflect
|
||||
the command actually to be attempted in zip#Read()
|
||||
and zip#Write()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*popup.txt* For Vim version 8.2. Last change: 2019 Nov 30
|
||||
*popup.txt* For Vim version 8.2. Last change: 2020 May 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -11,6 +11,7 @@ Displaying text in a floating window. *popup* *popup-window* *popupwin*
|
||||
Window position and size |popup-position|
|
||||
Closing the popup window |popup-close|
|
||||
Popup buffer and window |popup-buffer|
|
||||
Terminal in popup window |popup-terminal|
|
||||
2. Functions |popup-functions|
|
||||
Details |popup-function-details|
|
||||
3. Usage |popup-usage|
|
||||
@@ -140,6 +141,31 @@ And options can be set on the buffer with `setbufvar()`, e.g.: >
|
||||
You can also use `win_execute()` with a ":setlocal" command.
|
||||
|
||||
|
||||
TERMINAL IN POPUP WINDOW *popup-terminal*
|
||||
|
||||
A special case is running a terminal in a popup window. Many rules are then
|
||||
different: *E863*
|
||||
- The popup window always has focus, it is not possible to switch to another
|
||||
window.
|
||||
- When the job ends, the popup window closes.
|
||||
- The popup window can be closed with `popup_close()`, the terminal buffer
|
||||
then becomes hidden.
|
||||
- It is not possible to open a second popup window with a terminal. *E861*
|
||||
- The default Pmenu color is only used for the border and padding. To change
|
||||
the color of the terminal itself set the Terminal highlight group before
|
||||
creating the terminal. Setting 'wincolor' later can work but requires the
|
||||
program in the terminal to redraw everything.
|
||||
- The default minimal size is 5 lines of 20 characters; Use the "minwidth" and
|
||||
"minheight" parameters to set a different value.
|
||||
- The terminal size will grow if the program running in the terminal writes
|
||||
text. Set "maxheight" and "maxwidth" to restrict the size.
|
||||
|
||||
To run a terminal in a popup window, first create the terminal hidden. Then
|
||||
pass the buffer number to popup_create(). Example: >
|
||||
hi link Terminal Search
|
||||
let buf = term_start(['picker', 'Something'], #{hidden: 1, term_finish: 'close'})
|
||||
let winid = popup_create(buf, #{minwidth: 50, minheight: 20})
|
||||
|
||||
==============================================================================
|
||||
2. Functions *popup-functions*
|
||||
|
||||
@@ -172,6 +198,7 @@ Other:
|
||||
|popup_getoptions()| get current options for a popup
|
||||
|popup_getpos()| get actual position and size of a popup
|
||||
|popup_locate()| find popup window at a screen position
|
||||
|popup_list()| get list of all popups
|
||||
|
||||
|
||||
DETAILS *popup-function-details*
|
||||
@@ -210,8 +237,15 @@ popup_beval({what}, {options}) *popup_beval()*
|
||||
GetText()->popup_beval({})
|
||||
<
|
||||
*popup_clear()*
|
||||
popup_clear() Emergency solution to a misbehaving plugin: close all popup
|
||||
popup_clear([{force}])
|
||||
Emergency solution to a misbehaving plugin: close all popup
|
||||
windows for the current tab and global popups.
|
||||
Close callbacks are not invoked.
|
||||
When {force} is not present this will fail if the current
|
||||
window is a popup.
|
||||
When {force} is present and |TRUE| the popup is also closed
|
||||
when it is the current window. If a terminal is running in a
|
||||
popup it is killed.
|
||||
|
||||
|
||||
popup_close({id} [, {result}]) *popup_close()*
|
||||
@@ -385,10 +419,15 @@ popup_hide({id}) *popup_hide()*
|
||||
hidden.
|
||||
If window {id} does not exist nothing happens. If window {id}
|
||||
exists but is not a popup window an error is given. *E993*
|
||||
If popup window {id} contains a terminal an error is given.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetPopup()->popup_hide()
|
||||
|
||||
popup_list() *popup_list()*
|
||||
Return a List with the |window-ID| of all existing popups.
|
||||
|
||||
|
||||
popup_locate({row}, {col}) *popup_locate()*
|
||||
Return the |window-ID| of the popup at screen position {row}
|
||||
and {col}. If there are multiple popups the one with the
|
||||
@@ -509,6 +548,8 @@ popup_setoptions({id}, {options}) *popup_setoptions()*
|
||||
wrap
|
||||
zindex
|
||||
The options from |popup_move()| can also be used.
|
||||
Generally, setting an option to zero or an empty string resets
|
||||
it to the default value, but there are exceptions.
|
||||
For "hidden" use |popup_hide()| and |popup_show()|.
|
||||
"tabpage" cannot be changed.
|
||||
|
||||
@@ -546,21 +587,22 @@ 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*
|
||||
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
|
||||
number or "cursor", "cursor+1" or "cursor-1" to use
|
||||
the line of the cursor and add or subtract a number of
|
||||
lines. If omitted the popup is vertically centered.
|
||||
The first line is 1.
|
||||
lines. If omitted or zero the popup is vertically
|
||||
centered. The first line is 1.
|
||||
When using "textprop" the number is relative to the
|
||||
text property and can be negative.
|
||||
col Screen column where to position the popup. Can use a
|
||||
number or "cursor" to use the column of the cursor,
|
||||
"cursor+9" or "cursor-9" to add or subtract a number
|
||||
of columns. If omitted the popup is horizontally
|
||||
centered. The first column is 1.
|
||||
of columns. If omitted or zero the popup is
|
||||
horizontally centered. The first column is 1.
|
||||
When using "textprop" the number is relative to the
|
||||
text property and can be negative.
|
||||
pos "topleft", "topright", "botleft" or "botright":
|
||||
|
||||
@@ -627,16 +627,9 @@ MS-Windows
|
||||
|
||||
http://www.cs.wisc.edu/~ghost/gsview/
|
||||
|
||||
DOS
|
||||
|
||||
- ps_view. Obtainable from:
|
||||
|
||||
ftp://ftp.pg.gda.pl/pub/TeX/support/ps_view/
|
||||
ftp://ftp.dante.de/tex-archive/support/ps_view/
|
||||
|
||||
Linux
|
||||
|
||||
- GSview. Linux version of the popular MS-Windows.
|
||||
- GSview. Linux version of the popular MS-Windows previewer.
|
||||
Obtainable from:
|
||||
|
||||
http://www.cs.wisc.edu/~ghost/gsview/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
*quickfix.txt* For Vim version 8.2. Last change: 2020 Jan 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -229,8 +229,16 @@ processing a quickfix or location list command, it will be aborted.
|
||||
current window is used instead of the quickfix list.
|
||||
|
||||
*:cq* *:cquit*
|
||||
:cq[uit][!] Quit Vim with an error code, so that the compiler
|
||||
will not compile the same file again.
|
||||
:cq[uit][!]
|
||||
:{N}cq[uit][!]
|
||||
:cq[uit][!] {N} Quit Vim with error code {N}. {N} defaults to one.
|
||||
Useful when Vim is called from another program:
|
||||
e.g., a compiler will not compile the same file again,
|
||||
`git commit` will abort the committing process, `fc`
|
||||
(built-in for shells like bash and zsh) will not
|
||||
execute the command, etc.
|
||||
{N} can also be zero, in which case Vim exits
|
||||
normally.
|
||||
WARNING: All changes in files are lost! Also when the
|
||||
[!] is not used. It works like ":qall!" |:qall|,
|
||||
except that Vim returns a non-zero exit code.
|
||||
@@ -935,11 +943,11 @@ or simpler >
|
||||
"$*" can be given multiple times, for example: >
|
||||
:set makeprg=gcc\ -o\ $*\ $*
|
||||
|
||||
The 'shellpipe' option defaults to ">" for the Amiga and Win32. This means
|
||||
that the output of the compiler is saved in a file and not shown on the screen
|
||||
directly. For Unix "| tee" is used. The compiler output is shown on the
|
||||
screen and saved in a file the same time. Depending on the shell used "|&
|
||||
tee" or "2>&1| tee" is the default, so stderr output will be included.
|
||||
The 'shellpipe' option defaults to ">" for the Amiga and ">%s 2>&1" for Win32.
|
||||
This means that the output of the compiler is saved in a file and not shown on
|
||||
the screen directly. For Unix "| tee" is used. The compiler output is shown
|
||||
on the screen and saved in a file the same time. Depending on the shell used
|
||||
"|& tee" or "2>&1| tee" is the default, so stderr output will be included.
|
||||
|
||||
If 'shellpipe' is empty, the {errorfile} part will be omitted. This is useful
|
||||
for compilers that write to an errorfile themselves (e.g., Manx's Amiga C).
|
||||
@@ -1099,7 +1107,7 @@ id-utils) in a similar way to its compiler integration (see |:make| above).
|
||||
allowed with |:bufdo|.
|
||||
An example that uses the argument list and avoids
|
||||
errors for files without matches: >
|
||||
:silent argdo try
|
||||
:silent argdo try
|
||||
\ | grepadd! something %
|
||||
\ | catch /E480:/
|
||||
\ | endtry"
|
||||
@@ -1302,7 +1310,7 @@ You can force the compiler to ignore makefiles by defining
|
||||
b:tex_ignore_makefile or g:tex_ignore_makefile variable (they are checked for
|
||||
existence only).
|
||||
|
||||
If the compiler chose not to use make, it need to choose a right program for
|
||||
If the compiler chose not to use make, it needs to choose a right program for
|
||||
processing your input. If b:tex_flavor or g:tex_flavor (in this precedence)
|
||||
variable exists, it defines TeX flavor for :make (actually, this is the name
|
||||
of executed command), and if both variables do not exist, it defaults to
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
*quickref.txt* For Vim version 8.2. Last change: 2020 Jan 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1057,8 +1057,7 @@ Short explanation of each option: *option-list*
|
||||
search
|
||||
|<Del>| <Del> while entering a count: delete last character
|
||||
|:version| :ve[rsion] show version information
|
||||
|:mode| :mode N MS-Windows: set screen mode to N (number, C80,
|
||||
C4350, etc.)
|
||||
|:mode| :mode N set screen mode to N (obsolete)
|
||||
|:normal| :norm[al][!] {commands}
|
||||
execute Normal mode commands
|
||||
|Q| Q switch to "Ex" mode
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*recover.txt* For Vim version 8.2. Last change: 2019 May 07
|
||||
*recover.txt* For Vim version 8.2. Last change: 2020 May 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -125,12 +125,12 @@ If you want to make sure that your changes are in the swap file use this
|
||||
command:
|
||||
|
||||
*:pre* *:preserve* *E313* *E314*
|
||||
:pre[serve] Write all text for all buffers into swap file. The
|
||||
original file is no longer needed for recovery.
|
||||
This sets a flag in the current buffer. When the '&'
|
||||
flag is present in 'cpoptions' the swap file will not
|
||||
be deleted for this buffer when Vim exits and the
|
||||
buffer is still loaded |cpo-&|.
|
||||
:pre[serve] Write all text for the current buffer into its swap
|
||||
file. The original file is no longer needed for
|
||||
recovery. This sets a flag in the current buffer.
|
||||
When the '&' flag is present in 'cpoptions' the swap
|
||||
file will not be deleted for this buffer when Vim
|
||||
exits and the buffer is still loaded |cpo-&|.
|
||||
|
||||
A Vim swap file can be recognized by the first six characters: "b0VIM ".
|
||||
After that comes the version number, e.g., "3.0".
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*repeat.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
*repeat.txt* For Vim version 8.2. Last change: 2020 May 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -126,6 +126,11 @@ q{0-9a-zA-Z"} Record typed characters into register {0-9a-zA-Z"}
|
||||
recorded macro and the yank will overwrite the
|
||||
recorded macro.
|
||||
|
||||
Note: The recording happens while you type, replaying
|
||||
the register happens as if the keys come from a
|
||||
mapping. This matters, for example, for undo, which
|
||||
only syncs when commands were typed.
|
||||
|
||||
q Stops recording. (Implementation note: The 'q' that
|
||||
stops recording is not stored in the register, unless
|
||||
it was the result of a mapping)
|
||||
@@ -137,7 +142,7 @@ q Stops recording. (Implementation note: The 'q' that
|
||||
used.
|
||||
The register is executed like a mapping, that means
|
||||
that the difference between 'wildchar' and 'wildcharm'
|
||||
applies.
|
||||
applies, and undo might not be synced in the same way.
|
||||
For "@=" you are prompted to enter an expression. The
|
||||
result of the expression is then executed.
|
||||
See also |@:|.
|
||||
@@ -166,7 +171,7 @@ q Stops recording. (Implementation note: The 'q' that
|
||||
[addr] (default is current line).
|
||||
|
||||
:[addr]@ *:@@*
|
||||
:[addr]@@ Repeat the previous :@{0-9a-z"}. First set cursor at
|
||||
:[addr]@@ Repeat the previous :@{register}. First set cursor at
|
||||
line [addr] (default is current line).
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -326,25 +326,25 @@ Exceptions:
|
||||
spell file is used.
|
||||
|
||||
For example, with these values:
|
||||
'runtimepath' is "~/.vim,/usr/share/vim81,~/.vim/after"
|
||||
'runtimepath' is "~/.vim,/usr/share/vim82,~/.vim/after"
|
||||
'encoding' is "iso-8859-2"
|
||||
'spelllang' is "pl"
|
||||
|
||||
Vim will look for:
|
||||
1. ~/.vim/spell/pl.iso-8859-2.spl
|
||||
2. /usr/share/vim81/spell/pl.iso-8859-2.spl
|
||||
2. /usr/share/vim82/spell/pl.iso-8859-2.spl
|
||||
3. ~/.vim/spell/pl.iso-8859-2.add.spl
|
||||
4. /usr/share/vim81/spell/pl.iso-8859-2.add.spl
|
||||
4. /usr/share/vim82/spell/pl.iso-8859-2.add.spl
|
||||
5. ~/.vim/after/spell/pl.iso-8859-2.add.spl
|
||||
|
||||
This assumes 1. is not found and 2. is found.
|
||||
|
||||
If 'encoding' is "latin1" Vim will look for:
|
||||
1. ~/.vim/spell/pl.latin1.spl
|
||||
2. /usr/share/vim81/spell/pl.latin1.spl
|
||||
2. /usr/share/vim82/spell/pl.latin1.spl
|
||||
3. ~/.vim/after/spell/pl.latin1.spl
|
||||
4. ~/.vim/spell/pl.ascii.spl
|
||||
5. /usr/share/vim81/spell/pl.ascii.spl
|
||||
5. /usr/share/vim82/spell/pl.ascii.spl
|
||||
6. ~/.vim/after/spell/pl.ascii.spl
|
||||
|
||||
This assumes none of them are found (Polish doesn't make sense when leaving
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*starting.txt* For Vim version 8.2. Last change: 2019 Dec 11
|
||||
*starting.txt* For Vim version 8.2. Last change: 2020 Feb 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -58,10 +58,12 @@ filename One or more file names. The first one will be the current
|
||||
that is read from stdin. The commands that would normally be
|
||||
read from stdin will now be read from stderr. Example: >
|
||||
find . -name "*.c" -print | vim -
|
||||
< The buffer will not be marked as modified, so that it's easy
|
||||
to exit. Be careful to mark it as modified if you don't want
|
||||
to accidentally lose it. Example: >
|
||||
ls | view -
|
||||
|
||||
< The buffer will be marked as modified, so that you are
|
||||
reminded to save the text when trying to exit. If you don't
|
||||
like that, put this these lines in your vimrc: >
|
||||
" Don't set 'modified' when reading from stdin
|
||||
au StdinReadPost * set nomodified
|
||||
<
|
||||
Starting in Ex mode: >
|
||||
ex -
|
||||
@@ -108,7 +110,7 @@ vimdiff vim -d Start in diff mode |diff-mode|
|
||||
gvimdiff vim -gd Start in diff mode |diff-mode|
|
||||
|
||||
Additional characters may follow, they are ignored. For example, you can have
|
||||
"gvim-5" to start the GUI. You must have an executable by that name then, of
|
||||
"gvim-8" to start the GUI. You must have an executable by that name then, of
|
||||
course.
|
||||
|
||||
On Unix, you would normally have one executable called Vim, and links from the
|
||||
@@ -788,6 +790,7 @@ accordingly. Vim proceeds in this order:
|
||||
or $VIM/_vimrc
|
||||
Amiga s:.vimrc, home:.vimrc, home:vimfiles:vimrc
|
||||
or $VIM/.vimrc
|
||||
Haiku $HOME/config/settings/vim/vimrc
|
||||
|
||||
The files are searched in the order specified above and only the first
|
||||
one that is found is read.
|
||||
@@ -833,6 +836,8 @@ accordingly. Vim proceeds in this order:
|
||||
"$HOME/_vimrc" (for Win32) (*)
|
||||
"$HOME/vimfiles/vimrc" (for Win32) (*)
|
||||
"$VIM/_vimrc" (for Win32) (*)
|
||||
"$HOME/config/settings/vim/vimrc" (for Haiku) (*)
|
||||
|
||||
Note: For Unix and Amiga, when ".vimrc" does not exist,
|
||||
"_vimrc" is also tried, in case an MS-DOS compatible file
|
||||
system is used. For MS-Windows ".vimrc" is checked after
|
||||
@@ -948,6 +953,8 @@ sessions. Put it in a place so that it will be found by 3b:
|
||||
~/.vimrc (Unix)
|
||||
s:.vimrc (Amiga)
|
||||
$VIM\_vimrc (Win32)
|
||||
~/config/settings/vim/vimrc (Haiku)
|
||||
|
||||
Note that creating a vimrc file will cause the 'compatible' option to be off
|
||||
by default. See |compatible-default|.
|
||||
|
||||
@@ -1140,12 +1147,12 @@ will try to get the value for $VIM in this order:
|
||||
variable too (the default is "$VIMRUNTIME/doc/help.txt": chicken-egg
|
||||
problem). The file name ("help.txt" or any other) is removed. Then
|
||||
trailing directory names are removed, in this order: "doc", "runtime" and
|
||||
"vim{version}" (e.g., "vim54").
|
||||
"vim{version}" (e.g., "vim82").
|
||||
3. For Win32 Vim tries to use the directory name of the executable. If it
|
||||
ends in "/src", this is removed. This is useful if you unpacked the .zip
|
||||
file in some directory, and adjusted the search path to find the vim
|
||||
executable. Trailing directory names are removed, in this order: "runtime"
|
||||
and "vim{version}" (e.g., "vim54").
|
||||
and "vim{version}" (e.g., "vim82").
|
||||
4. For Unix the compile-time defined installation directory is used (see the
|
||||
output of ":version").
|
||||
|
||||
@@ -1163,7 +1170,7 @@ is the order used to find the value of $VIMRUNTIME:
|
||||
1. If the environment variable $VIMRUNTIME is set, it is used. You can use
|
||||
this when the runtime files are in an unusual location.
|
||||
2. If "$VIM/vim{version}" exists, it is used. {version} is the version
|
||||
number of Vim, without any '-' or '.'. For example: "$VIM/vim54". This is
|
||||
number of Vim, without any '-' or '.'. For example: "$VIM/vim82". This is
|
||||
the normal value for $VIMRUNTIME.
|
||||
3. If "$VIM/runtime" exists, it is used.
|
||||
4. The value of $VIM is used. This is for backwards compatibility with older
|
||||
@@ -1175,11 +1182,11 @@ For Unix, when there is a compiled-in default for $VIMRUNTIME (check the
|
||||
output of ":version"), steps 2, 3 and 4 are skipped, and the compiled-in
|
||||
default is used after step 5. This means that the compiled-in default
|
||||
overrules the value of $VIM. This is useful if $VIM is "/etc" and the runtime
|
||||
files are in "/usr/share/vim/vim54".
|
||||
files are in "/usr/share/vim/vim82".
|
||||
|
||||
Once Vim has done this once, it will set the $VIMRUNTIME environment variable.
|
||||
To change it later, use a ":let" command like this: >
|
||||
:let $VIMRUNTIME = "/home/piet/vim/vim54"
|
||||
:let $VIMRUNTIME = "/home/piet/vim/vim82"
|
||||
|
||||
In case you need the value of $VIMRUNTIME in a shell (e.g., for a script that
|
||||
greps in the help files) you might be able to use this: >
|
||||
@@ -1208,8 +1215,8 @@ CTRL-Z Suspend Vim, like ":stop".
|
||||
buffers are not written, don't forget to bring Vim
|
||||
back to the foreground later!
|
||||
|
||||
In the GUI, suspending is implemented as iconising gvim. In Windows 95/NT,
|
||||
gvim is minimized.
|
||||
In the GUI, suspending is implemented as iconising gvim. In MS-Windows, gvim
|
||||
is minimized.
|
||||
|
||||
On many Unix systems, it is possible to suspend Vim with CTRL-Z. This is only
|
||||
possible in Normal and Visual mode (see next chapter, |vim-modes|). Vim will
|
||||
@@ -1570,8 +1577,8 @@ remembered.
|
||||
VIMINFO FILE NAME *viminfo-file-name*
|
||||
|
||||
- The default name of the viminfo file is "$HOME/.viminfo" for Unix,
|
||||
"s:.viminfo" for Amiga, "$HOME\_viminfo" for Win32. For the last two, when
|
||||
$HOME is not set, "$VIM\_viminfo" is used. When $VIM is also not set,
|
||||
"s:.viminfo" for Amiga, "$HOME\_viminfo" for Win32. For Win32, when $HOME
|
||||
is not set, "$VIM\_viminfo" is used. When $VIM is also not set,
|
||||
"c:\_viminfo" is used.
|
||||
- The 'n' flag in the 'viminfo' option can be used to specify another viminfo
|
||||
file name |'viminfo'|.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 8.2. Last change: 2019 Dec 19
|
||||
*syntax.txt* For Vim version 8.2. Last change: 2020 Feb 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -60,8 +60,8 @@ If the VIM environment variable is not set, Vim will try to find
|
||||
the path in another way (see |$VIMRUNTIME|). Usually this works just
|
||||
fine. If it doesn't, try setting the VIM environment variable to the
|
||||
directory where the Vim stuff is located. For example, if your syntax files
|
||||
are in the "/usr/vim/vim81/syntax" directory, set $VIMRUNTIME to
|
||||
"/usr/vim/vim81". You must do this in the shell, before starting Vim.
|
||||
are in the "/usr/vim/vim82/syntax" directory, set $VIMRUNTIME to
|
||||
"/usr/vim/vim82". You must do this in the shell, before starting Vim.
|
||||
This command also sources the |menu.vim| script when the GUI is running or
|
||||
will start soon. See |'go-M'| about avoiding that.
|
||||
|
||||
@@ -217,7 +217,7 @@ The name for a highlight or syntax group must consist of ASCII letters, digits
|
||||
and the underscore. As a regexp: "[a-zA-Z0-9_]*". However, Vim does not give
|
||||
an error when using other characters.
|
||||
|
||||
To be able to allow each user to pick his favorite set of colors, there must
|
||||
To be able to allow each user to pick their favorite set of colors, there must
|
||||
be preferred names for highlight groups that are common for many languages.
|
||||
These are the suggested group names (if syntax highlighting works properly
|
||||
you can see the actual color, except for "Ignore"):
|
||||
@@ -2315,7 +2315,7 @@ contain very long structures that Vim does not synchronize anymore.
|
||||
|
||||
PAPP *papp.vim* *ft-papp-syntax*
|
||||
|
||||
The PApp syntax file handles .papp files and, to a lesser extend, .pxml
|
||||
The PApp syntax file handles .papp files and, to a lesser extent, .pxml
|
||||
and .pxsl files which are all a mixture of perl/xml/html/other using xml
|
||||
as the top-level file format. By default everything inside phtml or pxml
|
||||
sections is treated as a string with embedded preprocessor commands. If
|
||||
@@ -2687,12 +2687,12 @@ Note: only existence of these options matter, not their value. You can replace
|
||||
|
||||
QUAKE *quake.vim* *ft-quake-syntax*
|
||||
|
||||
The Quake syntax definition should work for most any FPS (First Person
|
||||
Shooter) based on one of the Quake engines. However, the command names vary
|
||||
a bit between the three games (Quake, Quake 2, and Quake 3 Arena) so the
|
||||
syntax definition checks for the existence of three global variables to allow
|
||||
users to specify what commands are legal in their files. The three variables
|
||||
can be set for the following effects:
|
||||
The Quake syntax definition should work for most FPS (First Person Shooter)
|
||||
based on one of the Quake engines. However, the command names vary a bit
|
||||
between the three games (Quake, Quake 2, and Quake 3 Arena) so the syntax
|
||||
definition checks for the existence of three global variables to allow users
|
||||
to specify what commands are legal in their files. The three variables can
|
||||
be set for the following effects:
|
||||
|
||||
set to highlight commands only available in Quake: >
|
||||
:let quake_is_quake1 = 1
|
||||
@@ -3028,7 +3028,7 @@ variables in your <.vimrc>:
|
||||
|
||||
ksh: >
|
||||
let g:is_kornshell = 1
|
||||
< posix: (using this is the nearly the same as setting g:is_kornshell to 1) >
|
||||
< posix: (using this is nearly the same as setting g:is_kornshell to 1) >
|
||||
let g:is_posix = 1
|
||||
< bash: >
|
||||
let g:is_bash = 1
|
||||
@@ -4512,8 +4512,8 @@ two different ways:
|
||||
(e.g., "syntax/pod.vim") the file is searched for in 'runtimepath'.
|
||||
All matching files are loaded. Using a relative path is
|
||||
recommended, because it allows a user to replace the included file
|
||||
with his own version, without replacing the file that does the ":syn
|
||||
include".
|
||||
with their own version, without replacing the file that does the
|
||||
":syn include".
|
||||
|
||||
*E847*
|
||||
The maximum number of includes is 999.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*tabpage.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||
*tabpage.txt* For Vim version 8.2. Last change: 2020 Feb 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -138,7 +138,7 @@ something else.
|
||||
:+tabclose " close the next tab page
|
||||
:1tabclose " close the first tab page
|
||||
:$tabclose " close the last tab page
|
||||
:tabclose -2 " close the two previous tab page
|
||||
:tabclose -2 " close the 2nd previous tab page
|
||||
:tabclose + " close the next tab page
|
||||
:tabclose 3 " close the third tab page
|
||||
:tabclose $ " close the last tab page
|
||||
|
||||
@@ -1267,6 +1267,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
+X11 various.txt /*+X11*
|
||||
+acl various.txt /*+acl*
|
||||
+arabic various.txt /*+arabic*
|
||||
+autochdir various.txt /*+autochdir*
|
||||
+autocmd various.txt /*+autocmd*
|
||||
+autoservername various.txt /*+autoservername*
|
||||
+balloon_eval various.txt /*+balloon_eval*
|
||||
@@ -1314,6 +1315,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
+iconv various.txt /*+iconv*
|
||||
+iconv/dyn various.txt /*+iconv\/dyn*
|
||||
+insert_expand various.txt /*+insert_expand*
|
||||
+ipv6 various.txt /*+ipv6*
|
||||
+job various.txt /*+job*
|
||||
+jumplist various.txt /*+jumplist*
|
||||
+keymap various.txt /*+keymap*
|
||||
@@ -2270,6 +2272,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:command-completion-custom map.txt /*:command-completion-custom*
|
||||
:command-completion-customlist map.txt /*:command-completion-customlist*
|
||||
:command-count map.txt /*:command-count*
|
||||
:command-modifiers map.txt /*:command-modifiers*
|
||||
:command-nargs map.txt /*:command-nargs*
|
||||
:command-range map.txt /*:command-range*
|
||||
:command-register map.txt /*:command-register*
|
||||
@@ -2313,6 +2316,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:debug-name repeat.txt /*:debug-name*
|
||||
:debugg repeat.txt /*:debugg*
|
||||
:debuggreedy repeat.txt /*:debuggreedy*
|
||||
:def vim9.txt /*:def*
|
||||
:defc vim9.txt /*:defc*
|
||||
:defcompile vim9.txt /*:defcompile*
|
||||
:del change.txt /*:del*
|
||||
:delc map.txt /*:delc*
|
||||
:delcommand map.txt /*:delcommand*
|
||||
@@ -2340,6 +2346,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:diffupdate diff.txt /*:diffupdate*
|
||||
:dig digraph.txt /*:dig*
|
||||
:digraphs digraph.txt /*:digraphs*
|
||||
:disa vim9.txt /*:disa*
|
||||
:disassemble vim9.txt /*:disassemble*
|
||||
:display change.txt /*:display*
|
||||
:dj tagsrch.txt /*:dj*
|
||||
:djump tagsrch.txt /*:djump*
|
||||
@@ -2384,6 +2392,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:emenu gui.txt /*:emenu*
|
||||
:en eval.txt /*:en*
|
||||
:end eval.txt /*:end*
|
||||
:enddef vim9.txt /*:enddef*
|
||||
:endf eval.txt /*:endf*
|
||||
:endfo eval.txt /*:endfo*
|
||||
:endfor eval.txt /*:endfor*
|
||||
@@ -2404,6 +2413,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:execute eval.txt /*:execute*
|
||||
:exi editing.txt /*:exi*
|
||||
:exit editing.txt /*:exit*
|
||||
:exp vim9.txt /*:exp*
|
||||
:export vim9.txt /*:export*
|
||||
:exu helphelp.txt /*:exu*
|
||||
:exusage helphelp.txt /*:exusage*
|
||||
:f editing.txt /*:f*
|
||||
@@ -2506,6 +2517,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:imapclear map.txt /*:imapclear*
|
||||
:ime gui.txt /*:ime*
|
||||
:imenu gui.txt /*:imenu*
|
||||
:imp vim9.txt /*:imp*
|
||||
:import vim9.txt /*:import*
|
||||
:import-cycle vim9.txt /*:import-cycle*
|
||||
:in insert.txt /*:in*
|
||||
:index index.txt /*:index*
|
||||
:ino map.txt /*:ino*
|
||||
@@ -3354,6 +3368,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*
|
||||
:vimgrep quickfix.txt /*:vimgrep*
|
||||
:vimgrepa quickfix.txt /*:vimgrepa*
|
||||
:vimgrepadd quickfix.txt /*:vimgrepadd*
|
||||
@@ -3834,6 +3850,7 @@ Command-line cmdline.txt /*Command-line*
|
||||
Command-line-mode cmdline.txt /*Command-line-mode*
|
||||
CompleteChanged autocmd.txt /*CompleteChanged*
|
||||
CompleteDone autocmd.txt /*CompleteDone*
|
||||
CompleteDonePre autocmd.txt /*CompleteDonePre*
|
||||
ConPTY terminal.txt /*ConPTY*
|
||||
Contents quickref.txt /*Contents*
|
||||
Cscope if_cscop.txt /*Cscope*
|
||||
@@ -4061,6 +4078,7 @@ E287 mbyte.txt /*E287*
|
||||
E288 mbyte.txt /*E288*
|
||||
E289 mbyte.txt /*E289*
|
||||
E29 change.txt /*E29*
|
||||
E292 message.txt /*E292*
|
||||
E293 message.txt /*E293*
|
||||
E294 message.txt /*E294*
|
||||
E295 message.txt /*E295*
|
||||
@@ -4230,12 +4248,14 @@ E447 editing.txt /*E447*
|
||||
E448 various.txt /*E448*
|
||||
E449 eval.txt /*E449*
|
||||
E45 message.txt /*E45*
|
||||
E452 eval.txt /*E452*
|
||||
E455 print.txt /*E455*
|
||||
E456 print.txt /*E456*
|
||||
E457 print.txt /*E457*
|
||||
E458 message.txt /*E458*
|
||||
E459 message.txt /*E459*
|
||||
E46 message.txt /*E46*
|
||||
E460 eval.txt /*E460*
|
||||
E461 eval.txt /*E461*
|
||||
E462 editing.txt /*E462*
|
||||
E463 netbeans.txt /*E463*
|
||||
@@ -4347,6 +4367,7 @@ E561 if_cscop.txt /*E561*
|
||||
E562 if_cscop.txt /*E562*
|
||||
E563 if_cscop.txt /*E563*
|
||||
E564 if_cscop.txt /*E564*
|
||||
E565 insert.txt /*E565*
|
||||
E566 if_cscop.txt /*E566*
|
||||
E567 if_cscop.txt /*E567*
|
||||
E568 if_cscop.txt /*E568*
|
||||
@@ -4358,6 +4379,7 @@ E574 starting.txt /*E574*
|
||||
E575 starting.txt /*E575*
|
||||
E576 starting.txt /*E576*
|
||||
E577 starting.txt /*E577*
|
||||
E578 insert.txt /*E578*
|
||||
E579 eval.txt /*E579*
|
||||
E580 eval.txt /*E580*
|
||||
E581 eval.txt /*E581*
|
||||
@@ -4659,7 +4681,9 @@ E855 autocmd.txt /*E855*
|
||||
E858 eval.txt /*E858*
|
||||
E859 eval.txt /*E859*
|
||||
E86 windows.txt /*E86*
|
||||
E861 popup.txt /*E861*
|
||||
E862 eval.txt /*E862*
|
||||
E863 popup.txt /*E863*
|
||||
E864 pattern.txt /*E864*
|
||||
E865 pattern.txt /*E865*
|
||||
E866 pattern.txt /*E866*
|
||||
@@ -4753,7 +4777,7 @@ E947 terminal.txt /*E947*
|
||||
E948 terminal.txt /*E948*
|
||||
E949 editing.txt /*E949*
|
||||
E95 message.txt /*E95*
|
||||
E950 message.txt /*E950*
|
||||
E950 options.txt /*E950*
|
||||
E951 pattern.txt /*E951*
|
||||
E952 autocmd.txt /*E952*
|
||||
E953 terminal.txt /*E953*
|
||||
@@ -4857,6 +4881,7 @@ GetLatestVimScripts-copyright pi_getscript.txt /*GetLatestVimScripts-copyright*
|
||||
GetLatestVimScripts_dat pi_getscript.txt /*GetLatestVimScripts_dat*
|
||||
Gnome gui_x11.txt /*Gnome*
|
||||
H motion.txt /*H*
|
||||
Haiku os_haiku.txt /*Haiku*
|
||||
I insert.txt /*I*
|
||||
ICCF uganda.txt /*ICCF*
|
||||
IM-server mbyte.txt /*IM-server*
|
||||
@@ -5808,6 +5833,7 @@ complete-item-kind insert.txt /*complete-item-kind*
|
||||
complete-items insert.txt /*complete-items*
|
||||
complete-popup insert.txt /*complete-popup*
|
||||
complete-popuphidden insert.txt /*complete-popuphidden*
|
||||
complete-script-local-functions cmdline.txt /*complete-script-local-functions*
|
||||
complete_CTRL-E insert.txt /*complete_CTRL-E*
|
||||
complete_CTRL-Y insert.txt /*complete_CTRL-Y*
|
||||
complete_add() eval.txt /*complete_add()*
|
||||
@@ -6096,6 +6122,7 @@ dtd2vim insert.txt /*dtd2vim*
|
||||
dying-variable eval.txt /*dying-variable*
|
||||
e motion.txt /*e*
|
||||
easy starting.txt /*easy*
|
||||
echoraw() eval.txt /*echoraw()*
|
||||
echospace-variable eval.txt /*echospace-variable*
|
||||
edit-a-file editing.txt /*edit-a-file*
|
||||
edit-binary editing.txt /*edit-binary*
|
||||
@@ -6104,6 +6131,7 @@ edit-files editing.txt /*edit-files*
|
||||
edit-intro editing.txt /*edit-intro*
|
||||
edit-no-break usr_25.txt /*edit-no-break*
|
||||
edit-paragraph-join usr_25.txt /*edit-paragraph-join*
|
||||
edit-window windows.txt /*edit-window*
|
||||
editing.txt editing.txt /*editing.txt*
|
||||
efm-%> quickfix.txt /*efm-%>*
|
||||
efm-entries quickfix.txt /*efm-entries*
|
||||
@@ -6275,6 +6303,7 @@ faq intro.txt /*faq*
|
||||
farsi farsi.txt /*farsi*
|
||||
farsi.txt farsi.txt /*farsi.txt*
|
||||
fasm.vim syntax.txt /*fasm.vim*
|
||||
fast-functions vim9.txt /*fast-functions*
|
||||
fcs_choice-variable eval.txt /*fcs_choice-variable*
|
||||
fcs_reason-variable eval.txt /*fcs_reason-variable*
|
||||
feature-list eval.txt /*feature-list*
|
||||
@@ -7037,6 +7066,20 @@ g~ change.txt /*g~*
|
||||
g~g~ change.txt /*g~g~*
|
||||
g~~ change.txt /*g~~*
|
||||
h motion.txt /*h*
|
||||
haiku-bugs os_haiku.txt /*haiku-bugs*
|
||||
haiku-colors os_haiku.txt /*haiku-colors*
|
||||
haiku-compiling os_haiku.txt /*haiku-compiling*
|
||||
haiku-dragndrop os_haiku.txt /*haiku-dragndrop*
|
||||
haiku-fonts os_haiku.txt /*haiku-fonts*
|
||||
haiku-general os_haiku.txt /*haiku-general*
|
||||
haiku-gui os_haiku.txt /*haiku-gui*
|
||||
haiku-launch os_haiku.txt /*haiku-launch*
|
||||
haiku-meta os_haiku.txt /*haiku-meta*
|
||||
haiku-mouse os_haiku.txt /*haiku-mouse*
|
||||
haiku-support-credits os_haiku.txt /*haiku-support-credits*
|
||||
haiku-toolbar-images os_haiku.txt /*haiku-toolbar-images*
|
||||
haiku-user-settings-dir os_haiku.txt /*haiku-user-settings-dir*
|
||||
haiku-vimdir os_haiku.txt /*haiku-vimdir*
|
||||
hangul hangulin.txt /*hangul*
|
||||
hangulin.txt hangulin.txt /*hangulin.txt*
|
||||
has() eval.txt /*has()*
|
||||
@@ -7260,6 +7303,7 @@ i_CTRL-R_= insert.txt /*i_CTRL-R_=*
|
||||
i_CTRL-R_CTRL-O insert.txt /*i_CTRL-R_CTRL-O*
|
||||
i_CTRL-R_CTRL-P insert.txt /*i_CTRL-R_CTRL-P*
|
||||
i_CTRL-R_CTRL-R insert.txt /*i_CTRL-R_CTRL-R*
|
||||
i_CTRL-SHIFT-Q insert.txt /*i_CTRL-SHIFT-Q*
|
||||
i_CTRL-SHIFT-V insert.txt /*i_CTRL-SHIFT-V*
|
||||
i_CTRL-T insert.txt /*i_CTRL-T*
|
||||
i_CTRL-U insert.txt /*i_CTRL-U*
|
||||
@@ -7339,6 +7383,7 @@ in_name channel.txt /*in_name*
|
||||
in_top channel.txt /*in_top*
|
||||
inactive-buffer windows.txt /*inactive-buffer*
|
||||
include-search tagsrch.txt /*include-search*
|
||||
inclusion helphelp.txt /*inclusion*
|
||||
inclusive motion.txt /*inclusive*
|
||||
incomp-small-6 version6.txt /*incomp-small-6*
|
||||
incompatible-5 version5.txt /*incompatible-5*
|
||||
@@ -7556,6 +7601,7 @@ log10() eval.txt /*log10()*
|
||||
logiPat pi_logipat.txt /*logiPat*
|
||||
logiPat-arg pi_logipat.txt /*logiPat-arg*
|
||||
logiPat-caveat pi_logipat.txt /*logiPat-caveat*
|
||||
logiPat-cmd pi_logipat.txt /*logiPat-cmd*
|
||||
logiPat-contents pi_logipat.txt /*logiPat-contents*
|
||||
logiPat-copyright pi_logipat.txt /*logiPat-copyright*
|
||||
logiPat-examples pi_logipat.txt /*logiPat-examples*
|
||||
@@ -7658,6 +7704,7 @@ mapmode-v map.txt /*mapmode-v*
|
||||
mapmode-x map.txt /*mapmode-x*
|
||||
mapping map.txt /*mapping*
|
||||
mapping-functions usr_41.txt /*mapping-functions*
|
||||
mapset() eval.txt /*mapset()*
|
||||
mark motion.txt /*mark*
|
||||
mark-functions usr_41.txt /*mark-functions*
|
||||
mark-motions motion.txt /*mark-motions*
|
||||
@@ -7699,7 +7746,11 @@ menu-changes-5.4 version5.txt /*menu-changes-5.4*
|
||||
menu-examples gui.txt /*menu-examples*
|
||||
menu-priority gui.txt /*menu-priority*
|
||||
menu-separator gui.txt /*menu-separator*
|
||||
menu-shortcut gui.txt /*menu-shortcut*
|
||||
menu-text gui.txt /*menu-text*
|
||||
menu-tips gui.txt /*menu-tips*
|
||||
menu.vim gui.txt /*menu.vim*
|
||||
menu_info() eval.txt /*menu_info()*
|
||||
menus gui.txt /*menus*
|
||||
merge diff.txt /*merge*
|
||||
message-history message.txt /*message-history*
|
||||
@@ -8142,6 +8193,7 @@ nroff.vim syntax.txt /*nroff.vim*
|
||||
null-variable eval.txt /*null-variable*
|
||||
number_relativenumber options.txt /*number_relativenumber*
|
||||
numbered-function eval.txt /*numbered-function*
|
||||
numbersize-variable eval.txt /*numbersize-variable*
|
||||
o insert.txt /*o*
|
||||
o_CTRL-V motion.txt /*o_CTRL-V*
|
||||
o_V motion.txt /*o_V*
|
||||
@@ -8192,6 +8244,7 @@ os_390.txt os_390.txt /*os_390.txt*
|
||||
os_amiga.txt os_amiga.txt /*os_amiga.txt*
|
||||
os_beos.txt os_beos.txt /*os_beos.txt*
|
||||
os_dos.txt os_dos.txt /*os_dos.txt*
|
||||
os_haiku.txt os_haiku.txt /*os_haiku.txt*
|
||||
os_mac.txt os_mac.txt /*os_mac.txt*
|
||||
os_mint.txt os_mint.txt /*os_mint.txt*
|
||||
os_msdos.txt os_msdos.txt /*os_msdos.txt*
|
||||
@@ -8229,6 +8282,7 @@ patches-8.2 version8.txt /*patches-8.2*
|
||||
pathshorten() eval.txt /*pathshorten()*
|
||||
pattern pattern.txt /*pattern*
|
||||
pattern-atoms pattern.txt /*pattern-atoms*
|
||||
pattern-delimiter change.txt /*pattern-delimiter*
|
||||
pattern-multi-byte pattern.txt /*pattern-multi-byte*
|
||||
pattern-multi-items pattern.txt /*pattern-multi-items*
|
||||
pattern-overview pattern.txt /*pattern-overview*
|
||||
@@ -8312,6 +8366,7 @@ popup-menu-added version5.txt /*popup-menu-added*
|
||||
popup-position popup.txt /*popup-position*
|
||||
popup-props popup.txt /*popup-props*
|
||||
popup-scrollbar popup.txt /*popup-scrollbar*
|
||||
popup-terminal popup.txt /*popup-terminal*
|
||||
popup-textprop-pos popup.txt /*popup-textprop-pos*
|
||||
popup-usage popup.txt /*popup-usage*
|
||||
popup-window popup.txt /*popup-window*
|
||||
@@ -8333,6 +8388,7 @@ popup_findpreview() popup.txt /*popup_findpreview()*
|
||||
popup_getoptions() popup.txt /*popup_getoptions()*
|
||||
popup_getpos() popup.txt /*popup_getpos()*
|
||||
popup_hide() popup.txt /*popup_hide()*
|
||||
popup_list() popup.txt /*popup_list()*
|
||||
popup_locate() popup.txt /*popup_locate()*
|
||||
popup_menu() popup.txt /*popup_menu()*
|
||||
popup_menu-shortcut-example popup.txt /*popup_menu-shortcut-example*
|
||||
@@ -8534,6 +8590,7 @@ quote~ change.txt /*quote~*
|
||||
r change.txt /*r*
|
||||
r.vim syntax.txt /*r.vim*
|
||||
rand() eval.txt /*rand()*
|
||||
random eval.txt /*random*
|
||||
range() eval.txt /*range()*
|
||||
raw-terminal-mode term.txt /*raw-terminal-mode*
|
||||
rcp pi_netrw.txt /*rcp*
|
||||
@@ -9304,6 +9361,7 @@ tags-file-format tagsrch.txt /*tags-file-format*
|
||||
tags-option tagsrch.txt /*tags-option*
|
||||
tagsrch.txt tagsrch.txt /*tagsrch.txt*
|
||||
tagstack tagsrch.txt /*tagstack*
|
||||
tagstack-examples tagsrch.txt /*tagstack-examples*
|
||||
tan() eval.txt /*tan()*
|
||||
tanh() eval.txt /*tanh()*
|
||||
tar pi_tar.txt /*tar*
|
||||
@@ -9408,6 +9466,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_map_K terminal.txt /*termdebug_map_K*
|
||||
termdebug_popup terminal.txt /*termdebug_popup*
|
||||
termdebug_shortcuts terminal.txt /*termdebug_shortcuts*
|
||||
termdebug_use_prompt terminal.txt /*termdebug_use_prompt*
|
||||
@@ -9459,6 +9518,7 @@ test_ignore_error() testing.txt /*test_ignore_error()*
|
||||
test_null_blob() testing.txt /*test_null_blob()*
|
||||
test_null_channel() testing.txt /*test_null_channel()*
|
||||
test_null_dict() testing.txt /*test_null_dict()*
|
||||
test_null_function() testing.txt /*test_null_function()*
|
||||
test_null_job() testing.txt /*test_null_job()*
|
||||
test_null_list() testing.txt /*test_null_list()*
|
||||
test_null_partial() testing.txt /*test_null_partial()*
|
||||
@@ -9469,6 +9529,9 @@ test_refcount() testing.txt /*test_refcount()*
|
||||
test_scrollbar() testing.txt /*test_scrollbar()*
|
||||
test_setmouse() testing.txt /*test_setmouse()*
|
||||
test_settime() testing.txt /*test_settime()*
|
||||
test_srand_seed() testing.txt /*test_srand_seed()*
|
||||
test_unknown() testing.txt /*test_unknown()*
|
||||
test_void() testing.txt /*test_void()*
|
||||
testing testing.txt /*testing*
|
||||
testing-support testing.txt /*testing-support*
|
||||
testing-variable eval.txt /*testing-variable*
|
||||
@@ -9526,6 +9589,7 @@ toggle options.txt /*toggle*
|
||||
toggle-revins version4.txt /*toggle-revins*
|
||||
tolower() eval.txt /*tolower()*
|
||||
toolbar-icon gui.txt /*toolbar-icon*
|
||||
tooltips gui.txt /*tooltips*
|
||||
toupper() eval.txt /*toupper()*
|
||||
tr() eval.txt /*tr()*
|
||||
trim() eval.txt /*trim()*
|
||||
@@ -9541,6 +9605,7 @@ tutor usr_01.txt /*tutor*
|
||||
twice if_cscop.txt /*twice*
|
||||
two-engines pattern.txt /*two-engines*
|
||||
type() eval.txt /*type()*
|
||||
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*
|
||||
@@ -9668,6 +9733,7 @@ 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:numbersize eval.txt /*v:numbersize*
|
||||
v:oldfiles eval.txt /*v:oldfiles*
|
||||
v:operator eval.txt /*v:operator*
|
||||
v:option_command eval.txt /*v:option_command*
|
||||
@@ -9904,6 +9970,15 @@ vim-variable eval.txt /*vim-variable*
|
||||
vim.vim syntax.txt /*vim.vim*
|
||||
vim7 version7.txt /*vim7*
|
||||
vim8 version8.txt /*vim8*
|
||||
vim9 vim9.txt /*vim9*
|
||||
vim9-differences vim9.txt /*vim9-differences*
|
||||
vim9-export vim9.txt /*vim9-export*
|
||||
vim9-import vim9.txt /*vim9-import*
|
||||
vim9-rationale vim9.txt /*vim9-rationale*
|
||||
vim9-script vim9.txt /*vim9-script*
|
||||
vim9-types vim9.txt /*vim9-types*
|
||||
vim9.txt vim9.txt /*vim9.txt*
|
||||
vim9script vim9.txt /*vim9script*
|
||||
vim: options.txt /*vim:*
|
||||
vim_announce intro.txt /*vim_announce*
|
||||
vim_dev intro.txt /*vim_dev*
|
||||
@@ -10025,6 +10100,7 @@ win32s os_win32.txt /*win32s*
|
||||
win_execute() eval.txt /*win_execute()*
|
||||
win_findbuf() eval.txt /*win_findbuf()*
|
||||
win_getid() eval.txt /*win_getid()*
|
||||
win_gettype() eval.txt /*win_gettype()*
|
||||
win_gotoid() eval.txt /*win_gotoid()*
|
||||
win_id2tabwin() eval.txt /*win_id2tabwin()*
|
||||
win_id2win() eval.txt /*win_id2win()*
|
||||
@@ -10056,6 +10132,7 @@ windows.txt windows.txt /*windows.txt*
|
||||
windows95 os_win32.txt /*windows95*
|
||||
windows98 os_win32.txt /*windows98*
|
||||
windowsme os_win32.txt /*windowsme*
|
||||
windowsversion() eval.txt /*windowsversion()*
|
||||
winheight() eval.txt /*winheight()*
|
||||
winid windows.txt /*winid*
|
||||
winlayout() eval.txt /*winlayout()*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*tagsrch.txt* For Vim version 8.2. Last change: 2019 Nov 07
|
||||
*tagsrch.txt* For Vim version 8.2. Last change: 2020 Apr 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -185,6 +185,29 @@ commands explained above the tag stack will look like this:
|
||||
The |gettagstack()| function returns the tag stack of a specified window. The
|
||||
|settagstack()| function modifies the tag stack of a window.
|
||||
|
||||
*tagstack-examples*
|
||||
Write to the tag stack just like `:tag` but with a user-defined
|
||||
jumper#jump_to_tag function: >
|
||||
" Store where we're jumping from before we jump.
|
||||
let tag = expand('<cword>')
|
||||
let pos = [bufnr()] + getcurpos()[1:]
|
||||
let item = {'bufnr': pos[0], 'from': pos, 'tagname': tag}
|
||||
if jumper#jump_to_tag(tag)
|
||||
" Jump was successful, write previous location to tag stack.
|
||||
let winid = win_getid()
|
||||
let stack = gettagstack(winid)
|
||||
let stack['items'] = [item]
|
||||
call settagstack(winid, stack, 't')
|
||||
endif
|
||||
<
|
||||
Set current index of the tag stack to 4: >
|
||||
call settagstack(1005, {'curidx' : 4})
|
||||
<
|
||||
Push a new item onto the tag stack: >
|
||||
let pos = [bufnr('myfile.txt'), 10, 1, 0]
|
||||
let newtag = [{'tagname' : 'mytag', 'from' : pos}]
|
||||
call settagstack(2, {'items' : newtag}, 'a')
|
||||
<
|
||||
*E73*
|
||||
When you try to use the tag stack while it doesn't contain anything you will
|
||||
get an error message.
|
||||
@@ -210,14 +233,14 @@ the same entry.
|
||||
Example output:
|
||||
|
||||
>
|
||||
nr pri kind tag file
|
||||
# pri kind tag file
|
||||
1 F f mch_delay os_amiga.c
|
||||
mch_delay(msec, ignoreinput)
|
||||
> 2 F f mch_delay os_msdos.c
|
||||
mch_delay(msec, ignoreinput)
|
||||
3 F f mch_delay os_unix.c
|
||||
mch_delay(msec, ignoreinput)
|
||||
Enter nr of choice (<CR> to abort):
|
||||
Type number and <Enter> (empty cancels):
|
||||
<
|
||||
See |tag-priority| for the "pri" column. Note that
|
||||
this depends on the current file, thus using
|
||||
@@ -344,11 +367,11 @@ the same as above, with a "p" prepended.
|
||||
A static tag is a tag that is defined for a specific file. In a C program
|
||||
this could be a static function.
|
||||
|
||||
In Vi jumping to a tag sets the current search pattern. This means that
|
||||
the "n" command after jumping to a tag does not search for the same pattern
|
||||
that it did before jumping to the tag. Vim does not do this as we consider it
|
||||
to be a bug. You can still find the tag search pattern in the search history.
|
||||
If you really want the old Vi behavior, set the 't' flag in 'cpoptions'.
|
||||
In Vi jumping to a tag sets the current search pattern. This means that the
|
||||
"n" command after jumping to a tag does not search for the same pattern that
|
||||
it did before jumping to the tag. Vim does not do this as we consider it to
|
||||
be a bug. If you really want the old Vi behavior, set the 't' flag in
|
||||
'cpoptions'.
|
||||
|
||||
*tag-binary-search*
|
||||
Vim uses binary searching in the tags file to find the desired tag quickly
|
||||
@@ -426,8 +449,7 @@ would otherwise go unnoticed. Example: >
|
||||
|
||||
In Vi the ":tag" command sets the last search pattern when the tag is searched
|
||||
for. In Vim this is not done, the previous search pattern is still remembered,
|
||||
unless the 't' flag is present in 'cpoptions'. The search pattern is always
|
||||
put in the search history, so you can modify it if searching fails.
|
||||
unless the 't' flag is present in 'cpoptions'.
|
||||
|
||||
*emacs-tags* *emacs_tags* *E430*
|
||||
Emacs style tag files are only supported if Vim was compiled with the
|
||||
@@ -505,10 +527,13 @@ a tag for each "#defined" macro, typedefs, enums, etc.
|
||||
Some programs that generate tags files:
|
||||
ctags As found on most Unix systems. Only supports C. Only
|
||||
does the basic work.
|
||||
universal ctags A maintained version of ctags based on exuberant
|
||||
ctags. See https://ctags.io.
|
||||
*Exuberant_ctags*
|
||||
exuberant ctags This is a very good one. It works for C, C++, Java,
|
||||
Fortran, Eiffel and others. It can generate tags for
|
||||
many items. See http://ctags.sourceforge.net.
|
||||
No new version since 2009.
|
||||
etags Connected to Emacs. Supports many languages.
|
||||
JTags For Java, in Java. It can be found at
|
||||
http://www.fleiner.com/jtags/.
|
||||
@@ -904,8 +929,8 @@ The following is a hypothetical example of a function used for 'tagfunc'. It
|
||||
uses the output of |taglist()| to generate the result: a list of tags in the
|
||||
inverse order of file names.
|
||||
>
|
||||
function! TagFunc(pattern, flags, info)
|
||||
function! CompareFilenames(item1, item2)
|
||||
function TagFunc(pattern, flags, info)
|
||||
function CompareFilenames(item1, item2)
|
||||
let f1 = a:item1['filename']
|
||||
let f2 = a:item2['filename']
|
||||
return f1 >=# f2 ?
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*term.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
*term.txt* For Vim version 8.2. Last change: 2020 Apr 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -545,6 +545,7 @@ 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.
|
||||
If one of these is not available, 't_Sb' and 't_Sf' are used. 't_me' is used
|
||||
to reset to the default colors. Also see 'termguicolors'.
|
||||
When the GUI is running 't_Co' is set to 16777216.
|
||||
|
||||
*termcap-cursor-shape* *termcap-cursor-color*
|
||||
When Vim enters Insert mode the 't_SI' escape sequence is sent. When Vim
|
||||
@@ -579,7 +580,7 @@ remove highlighting from a line. This is required for "hpterm". Setting the
|
||||
versa.
|
||||
|
||||
*scroll-region*
|
||||
Some termcaps do not include an entry for 'cs' (scroll region), although the
|
||||
Some termcaps do not include an entry for "cs" (scroll region), although the
|
||||
terminal does support it. For example: xterm on a Sun. You can use the
|
||||
builtin_xterm or define t_cs yourself. For example: >
|
||||
:set t_cs=^V^[[%i%d;%dr
|
||||
@@ -596,11 +597,9 @@ cleared when scrolling).
|
||||
Unfortunately it is not possible to deduce from the termcap how cursor
|
||||
positioning should be done when using a scrolling region: Relative to the
|
||||
beginning of the screen or relative to the beginning of the scrolling region.
|
||||
Most terminals use the first method. A known exception is the MS-Windows
|
||||
console (pcterm). The 't_CS' option should be set to any string when cursor
|
||||
positioning is relative to the start of the scrolling region. It should be
|
||||
set to an empty string otherwise. It defaults to "yes" when 'term' is
|
||||
"pcterm".
|
||||
Most terminals use the first method. The 't_CS' option should be set to any
|
||||
string when cursor positioning is relative to the start of the scrolling
|
||||
region. It should be set to an empty string otherwise.
|
||||
|
||||
Note for xterm users: The shifted cursor keys normally don't work. You can
|
||||
make them work with the xmodmap command and some mappings in Vim.
|
||||
@@ -652,15 +651,7 @@ One command can be used to set the screen size:
|
||||
:mod[e] [mode]
|
||||
|
||||
Without argument this only detects the screen size and redraws the screen.
|
||||
With MS-Windows it is possible to switch screen mode. [mode] can be one of
|
||||
these values:
|
||||
"bw40" 40 columns black&white
|
||||
"c40" 40 columns color
|
||||
"bw80" 80 columns black&white
|
||||
"c80" 80 columns color (most people use this)
|
||||
"mono" 80 columns monochrome
|
||||
"c4350" 43 or 50 lines EGA/VGA mode
|
||||
number mode number to use, depends on your video card
|
||||
[mode] was used on MS-DOS, but it doesn't work anymore.
|
||||
|
||||
==============================================================================
|
||||
4. Slow and fast terminals *slow-fast-terminal*
|
||||
@@ -911,8 +902,8 @@ A double click on a word selects that word. 'iskeyword' is used to specify
|
||||
which characters are included in a word. A double click on a character
|
||||
that has a match selects until that match (like using "v%"). If the match is
|
||||
an #if/#else/#endif block, the selection becomes linewise.
|
||||
For xterm the time for double clicking can be set with the 'mousetime' option.
|
||||
For the other systems this time is defined outside of Vim.
|
||||
For MS-Windows and xterm the time for double clicking can be set with the
|
||||
'mousetime' option. For the other systems this time is defined outside of Vim.
|
||||
An example, for using a double click to jump to the tag under the cursor: >
|
||||
:map <2-LeftMouse> :exe "tag ". expand("<cword>")<CR>
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
*terminal.txt* For Vim version 8.2. Last change: 2020 May 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -120,7 +120,7 @@ break (cursor keys start with an Esc, so they may break): >
|
||||
You can also create menus similar to terminal mode mappings, but you have to
|
||||
use |:tlmenu| instead of |:tmenu|.
|
||||
|
||||
< *options-in-terminal*
|
||||
*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: >
|
||||
@@ -148,7 +148,12 @@ terminal window will start with a white or black background.
|
||||
To use a different color the Terminal highlight group can be used, for
|
||||
example: >
|
||||
hi Terminal ctermbg=lightgrey ctermfg=blue guibg=lightgrey guifg=blue
|
||||
<
|
||||
The highlight needs to be defined before the terminal is created. Doing it
|
||||
later, or setting 'wincolor', will only have effect when the program running
|
||||
in the terminal displays text or clears the terminal.
|
||||
Instead of Terminal another group can be specified with the "term_highlight"
|
||||
option for `term_start()`.
|
||||
|
||||
*g:terminal_ansi_colors*
|
||||
In GUI mode or with 'termguicolors', the 16 ANSI colors used by default in new
|
||||
terminal windows may be configured using the variable
|
||||
@@ -156,6 +161,7 @@ terminal windows may be configured using the variable
|
||||
hexadecimal color codes, similar to those accepted by |highlight-guifg|. When
|
||||
not using GUI colors, the terminal window always uses the 16 ANSI colors of
|
||||
the underlying terminal.
|
||||
When using `term_start()` the colors can be set with the "ansi_colors" option.
|
||||
The |term_setansicolors()| function can be used to change the colors, and
|
||||
|term_getansicolors()| to get the currently used colors.
|
||||
|
||||
@@ -178,6 +184,10 @@ Command syntax ~
|
||||
keep the terminal open in Terminal-Normal mode. This
|
||||
can be changed with the ++close argument.
|
||||
|
||||
No Vim command can follow, any | is included in
|
||||
[command]. Use `:execute` if you must have a Vim
|
||||
command following in the same line.
|
||||
|
||||
A new buffer will be created, using [command] or
|
||||
'shell' as the name, prefixed with a "!". If a buffer
|
||||
by this name already exists a number is added in
|
||||
@@ -641,8 +651,8 @@ term_getsize({buf}) *term_getsize()*
|
||||
|
||||
|
||||
term_getstatus({buf}) *term_getstatus()*
|
||||
Get the status of terminal {buf}. This returns a comma
|
||||
separated list of these items:
|
||||
Get the status of terminal {buf}. This returns a String with
|
||||
a comma separated list of these items:
|
||||
running job is running
|
||||
finished job has finished
|
||||
normal in Terminal-Normal mode
|
||||
@@ -857,6 +867,8 @@ term_start({cmd} [, {options}]) *term_start()*
|
||||
have "%d" where the buffer number goes,
|
||||
e.g. "10split|buffer %d"; when not
|
||||
specified "botright sbuf %d" is used
|
||||
"term_highlight" highlight group to use instead of
|
||||
"Terminal"
|
||||
"eof_chars" Text to send after all buffer lines were
|
||||
written to the terminal. When not set
|
||||
CTRL-D is used on MS-Windows. For Python
|
||||
@@ -953,7 +965,7 @@ Currently supported commands:
|
||||
directory, thus it's best to use the full path.
|
||||
|
||||
[options] is only used when opening a new window. If present,
|
||||
it must be a Dict. Similarly to |++opt|, These entries are
|
||||
it must be a Dict. Similarly to |++opt|, these entries are
|
||||
recognized:
|
||||
"ff" file format: "dos", "mac" or "unix"
|
||||
"fileformat" idem
|
||||
@@ -1025,7 +1037,7 @@ Writing a screen dump test for Vim ~
|
||||
For an example see the Test_syntax_c() function in
|
||||
src/testdir/test_syntax.vim. The main parts are:
|
||||
- Write a file you want to test with. This is useful for testing syntax
|
||||
highlighting. You can also start Vim with en empty buffer.
|
||||
highlighting. You can also start Vim with an empty buffer.
|
||||
- Run Vim in a terminal with a specific size. The default is 20 lines of 75
|
||||
characters. This makes sure the dump is always this size. The function
|
||||
RunVimInTerminal() takes care of this. Pass it the arguments for the Vim
|
||||
@@ -1294,7 +1306,7 @@ breakpoint, or use the "Clear breakpoint" right-click menu entry.
|
||||
Inspecting variables ~
|
||||
*termdebug-variables* *:Evaluate*
|
||||
`:Evaluate` evaluate the expression under the cursor
|
||||
`K` same
|
||||
`K` same (see |termdebug_map_K| to disable)
|
||||
`:Evaluate` {expr} evaluate {expr}
|
||||
`:'<,'>Evaluate` evaluate the Visually selected text
|
||||
|
||||
@@ -1325,6 +1337,10 @@ in a buffer with 'buftype' set to "prompt". This works slightly differently:
|
||||
*termdebug_use_prompt*
|
||||
Prompt mode can be used even when the |+terminal| feature is present with: >
|
||||
let g:termdebug_use_prompt = 1
|
||||
<
|
||||
*termdebug_map_K*
|
||||
The K key is normally mapped to :Evaluate. If you do not want this use: >
|
||||
let g:termdebug_map_K = 0
|
||||
|
||||
|
||||
Communication ~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*testing.txt* For Vim version 8.2. Last change: 2019 Sep 08
|
||||
*testing.txt* For Vim version 8.2. Last change: 2020 Apr 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -106,6 +106,10 @@ test_null_dict() *test_null_dict()*
|
||||
Return a |Dict| that is null. Only useful for testing.
|
||||
|
||||
|
||||
test_null_function() *test_null_function()*
|
||||
Return a |Funcref| that is null. Only useful for testing.
|
||||
|
||||
|
||||
test_null_job() *test_null_job()*
|
||||
Return a |Job| that is null. Only useful for testing.
|
||||
{only available when compiled with the +job feature}
|
||||
@@ -123,6 +127,13 @@ test_null_string() *test_null_string()*
|
||||
Return a |String| that is null. Only useful for testing.
|
||||
|
||||
|
||||
test_unknown() *test_unknown()*
|
||||
Return a value with unknown type. Only useful for testing.
|
||||
|
||||
test_void() *test_void()*
|
||||
Return a value with void type. Only useful for testing.
|
||||
|
||||
|
||||
test_option_not_set({name}) *test_option_not_set()*
|
||||
Reset the flag that indicates option {name} was set. Thus it
|
||||
looks like it still has the default value. Use like this: >
|
||||
@@ -205,7 +216,6 @@ test_setmouse({row}, {col}) *test_setmouse()*
|
||||
call test_setmouse(4, 20)
|
||||
call feedkeys("\<LeftMouse>", "xt")
|
||||
|
||||
|
||||
test_settime({expr}) *test_settime()*
|
||||
Set the time Vim uses internally. Currently only used for
|
||||
timestamps in the history, as they are used in viminfo, and
|
||||
@@ -218,6 +228,10 @@ test_settime({expr}) *test_settime()*
|
||||
Can also be used as a |method|: >
|
||||
GetTime()->test_settime()
|
||||
|
||||
test_srand_seed([seed]) *test_srand_seed()*
|
||||
When [seed] is given this sets the seed value used by
|
||||
`srand()`. When omitted the test seed is removed.
|
||||
|
||||
==============================================================================
|
||||
3. Assert functions *assert-functions-details*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*textprop.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
*textprop.txt* For Vim version 8.2. Last change: 2020 Mar 05
|
||||
|
||||
|
||||
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
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@ prop_add({lnum}, {col}, {props}) add a text property
|
||||
prop_clear({lnum} [, {lnum-end} [, {bufnr}]])
|
||||
remove all text properties
|
||||
prop_find({props} [, {direction}]) search for a text property
|
||||
prop_list({lnum} [, {props}) text properties in {lnum}
|
||||
prop_list({lnum} [, {props}]) text properties in {lnum}
|
||||
prop_remove({props} [, {lnum} [, {lnum-end}]])
|
||||
remove a text property
|
||||
|
||||
@@ -133,8 +133,8 @@ prop_add({lnum}, {col}, {props})
|
||||
to {lnum}, this is a zero-width text property
|
||||
bufnr buffer to add the property to; when omitted
|
||||
the current buffer is used
|
||||
id user defined ID for the property; when omitted
|
||||
zero is used
|
||||
id user defined ID for the property; must be a
|
||||
number; when omitted zero is used
|
||||
type name of the text property type
|
||||
All fields except "type" are optional.
|
||||
|
||||
@@ -143,8 +143,9 @@ prop_add({lnum}, {col}, {props})
|
||||
within one line, or use "end_lnum" and "end_col" for a
|
||||
property that spans more than one line.
|
||||
When neither "length" nor "end_col" are given the property
|
||||
will be zero-width. That means it will not be highlighted but
|
||||
will move with the text, as a kind of mark.
|
||||
will be zero-width. That means it will move with the text, as
|
||||
a kind of mark. One character will be highlighted, if the
|
||||
type specifies highlighting.
|
||||
The property can end exactly at the last character of the
|
||||
text, or just after it. In the last case, if text is appended
|
||||
to the line, the text property size will increase, also when
|
||||
@@ -154,8 +155,6 @@ prop_add({lnum}, {col}, {props})
|
||||
added to. When not found, the global property types are used.
|
||||
If not found an error is given.
|
||||
|
||||
See |text-properties| for information about text properties.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetLnum()->prop_add(col, props)
|
||||
|
||||
@@ -168,14 +167,11 @@ prop_clear({lnum} [, {lnum-end} [, {props}]]) *prop_clear()*
|
||||
When {props} contains a "bufnr" item use this buffer,
|
||||
otherwise use the current buffer.
|
||||
|
||||
See |text-properties| for information about text properties.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetLnum()->prop_clear()
|
||||
<
|
||||
*prop_find()*
|
||||
prop_find({props} [, {direction}])
|
||||
{not implemented yet}
|
||||
Search for a text property as specified with {props}:
|
||||
id property with this ID
|
||||
type property with this type name
|
||||
@@ -198,8 +194,6 @@ prop_find({props} [, {direction}])
|
||||
as with prop_list(), and additionally an "lnum" entry.
|
||||
If no match is found then an empty Dict is returned.
|
||||
|
||||
See |text-properties| for information about text properties.
|
||||
|
||||
|
||||
prop_list({lnum} [, {props}]) *prop_list()*
|
||||
Return a List with all text properties in line {lnum}.
|
||||
@@ -223,8 +217,6 @@ prop_list({lnum} [, {props}]) *prop_list()*
|
||||
When "end" is zero the property continues in the next line.
|
||||
The line break after this line is included.
|
||||
|
||||
See |text-properties| for information about text properties.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetLnum()->prop_list()
|
||||
<
|
||||
@@ -239,6 +231,7 @@ prop_remove({props} [, {lnum} [, {lnum-end}]])
|
||||
{props} is a dictionary with these fields:
|
||||
id remove text properties with this ID
|
||||
type remove text properties with this type name
|
||||
both "id" and "type" must both match
|
||||
bufnr use this buffer instead of the current one
|
||||
all when TRUE remove all matching text properties,
|
||||
not just the first one
|
||||
@@ -248,8 +241,6 @@ prop_remove({props} [, {lnum} [, {lnum-end}]])
|
||||
|
||||
Returns the number of properties that were removed.
|
||||
|
||||
See |text-properties| for information about text properties.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetProps()->prop_remove()
|
||||
|
||||
@@ -275,8 +266,6 @@ prop_type_add({name}, {props}) *prop_type_add()* *E969* *E970*
|
||||
end_incl when TRUE inserts at the end position will be
|
||||
included in the text property
|
||||
|
||||
See |text-properties| for information about text properties.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetPropName()->prop_type_add(props)
|
||||
|
||||
@@ -285,8 +274,6 @@ prop_type_change({name}, {props}) *prop_type_change()*
|
||||
property with this name does not exist an error is given.
|
||||
The {props} argument is just like |prop_type_add()|.
|
||||
|
||||
See |text-properties| for information about text properties.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetPropName()->prop_type_change(props)
|
||||
|
||||
@@ -301,12 +288,10 @@ prop_type_delete({name} [, {props}]) *prop_type_delete()*
|
||||
|
||||
When text property type {name} is not found there is no error.
|
||||
|
||||
See |text-properties| for information about text properties.
|
||||
|
||||
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().
|
||||
@@ -316,8 +301,6 @@ prop_type_get([{name} [, {props}]) *prop_type_get()*
|
||||
{props} can contain a "bufnr" item. When it is given, use
|
||||
this buffer instead of the global property types.
|
||||
|
||||
See |text-properties| for information about text properties.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetPropName()->prop_type_get()
|
||||
|
||||
@@ -327,8 +310,6 @@ prop_type_list([{props}]) *prop_type_list()*
|
||||
{props} can contain a "bufnr" item. When it is given, use
|
||||
this buffer instead of the global property types.
|
||||
|
||||
See |text-properties| for information about text properties.
|
||||
|
||||
|
||||
==============================================================================
|
||||
3. When text changes *text-prop-changes*
|
||||
@@ -356,10 +337,11 @@ properties below the changed text, so that they still highlight the same text,
|
||||
thus you don't need to update these.
|
||||
|
||||
|
||||
Text property columns are not updated: ~
|
||||
Text property columns are not updated or copied: ~
|
||||
|
||||
- When setting the line with |setline()| or through an interface, such as Lua,
|
||||
Tcl or Python. Vim does not know what text got inserted or deleted.
|
||||
- With a command like `:move`, which takes a line of text out of context.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.2. Last change: 2019 Dec 24
|
||||
*todo.txt* For Vim version 8.2. Last change: 2020 May 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -38,28 +38,131 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Include ipv6 syntax changes? (DJ Lucas, #5360)
|
||||
Include src/po/vim.pot ?
|
||||
|
||||
Still have /* */ comments:
|
||||
misc1.c
|
||||
misc2.c
|
||||
others?
|
||||
Vim9 script:
|
||||
Making everything work:
|
||||
- possible memory leak in test_vim9_func through compile_nested_function.
|
||||
- memory leaks in test_vim9_expr
|
||||
- memory leaks in test_vim9_script
|
||||
- Test that a script-local function in Vim9 script cannot be deleted.
|
||||
- Make "true" and "false" work in vim9script
|
||||
- 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.
|
||||
- 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: let [var, var] = expr
|
||||
- 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
|
||||
- Compile replacement of :s command: s/pat/\=expr/
|
||||
- Compile redir to local variable: var_redir_start().
|
||||
- Compile builtin functions that access local variables:
|
||||
islocked()
|
||||
- Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop
|
||||
- Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd
|
||||
- Expand `=expr` in :mkspell
|
||||
- When evaluating constants for script variables, some functions could work:
|
||||
has('asdf'), len('string')
|
||||
- Support type for ":let"/":const" at script level for Vim9 script.
|
||||
(Ben Jackson, #5671)
|
||||
Can we share the code from ex_let_const() between direct execution and
|
||||
compiling?
|
||||
- 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.
|
||||
- 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".
|
||||
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.
|
||||
- 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)
|
||||
- Check that import in legacy script works and puts item in s:
|
||||
- Error in any command in "vim9script" aborts sourcing.
|
||||
- Find a way to test expressions in legacy and Vim9 script without duplication
|
||||
- Fix memory leaks for test_vim9_disassemble, test_vim9_expr, test_vim9_script
|
||||
- Test each level of expressions properly, with type checking
|
||||
- Test try/catch and throw better, also nested.
|
||||
Test return inside try/finally jumps to finally and then returns.
|
||||
- call autoload function.
|
||||
- Implement more expressions, e.g. [a:b]
|
||||
- can use func as reference:
|
||||
def SomeFunc() ...
|
||||
map(list, SomeFunc)
|
||||
- Test: Function declared inside a :def function is local, disappears at the
|
||||
end of the function. Unless g: is used, just like with variables.
|
||||
- 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:
|
||||
- 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
|
||||
- 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()?
|
||||
|
||||
Popup windows:
|
||||
- Make it possible to put a terminal window in a popup. Would always grab key
|
||||
input? Sort-of possible by creating a hidden terminal and opening a popup
|
||||
with that buffer: #4063.
|
||||
- Can put focus in another window using API and "drop". (#6077)
|
||||
- With some sequence get get hidden finished terminal buffer. (#5768)
|
||||
Cannot close popup terminal (#5744)
|
||||
Buffer can't be wiped, gets status "aF". (#5764)
|
||||
Is buf->nwindows incorrect?
|
||||
- popup_clear() and popup_close() should close the terminal popup, and
|
||||
make the buffer hidden. #5745
|
||||
- Cursor not updated before a redraw, making it jump. (#5943)
|
||||
- With terminal in popup, allow for popup_hide() to temporarily hide it.?
|
||||
- Fire some autocommand event after a new popup window was created and
|
||||
positioned? PopupNew? Could be used to set some options or move it out of
|
||||
the way. (#5737)
|
||||
However, it may also cause trouble, changing the popup of another plugin.
|
||||
- Use popup (or popup menu) for command line completion
|
||||
- Implement flip option
|
||||
- When using a popup for the info of a completion menu, and there is not
|
||||
enough space, let the popup overlap with the menu. (#4544)
|
||||
- Implement flip option.
|
||||
- Make redrawing more efficient and avoid flicker:
|
||||
- put popup menu also in popup_mask?
|
||||
- Match does not have right BG color if line length equals popup width.
|
||||
(#5658)
|
||||
- Any other commands to disable in a popup window?
|
||||
Use ERROR_IF_POPUP_WINDOW for these.
|
||||
- Figure out the size and position better if wrapping inserts indent
|
||||
|
||||
Text properties:
|
||||
- Implement prop_find() issue #4970
|
||||
- Text properties spanning more than one line
|
||||
- Patch to fix that split / join does not update properties properly (Axel
|
||||
Forsman, #5839) Alternative: #5875.
|
||||
- :goto does not go to the right place when test properties are present.
|
||||
(#5930)
|
||||
- "cc" does not call inserted_bytes(). (Axel Forsman, #5763)
|
||||
- Get E685 with a sequence of commands. (#5674)
|
||||
- Combining text property with 'cursorline' does not always work (Billie
|
||||
Cleek, #5533)
|
||||
- Text properties spanning more than one line. #5683
|
||||
- See remarks at top of src/textprop.c
|
||||
|
||||
'incsearch' with :s:
|
||||
@@ -94,8 +197,16 @@ Terminal debugger:
|
||||
with another Vim instance.
|
||||
|
||||
Terminal emulator window:
|
||||
- When started with ":terminal ++close" and the shell exits but there is a
|
||||
background process, the window remains open, because the channel still
|
||||
exists (and output still shows). Perhaps close the window when an explicit
|
||||
++close was used? (#5931)
|
||||
- Using "CTRL-W :confirm quite" and selecting "yes" should work like ":quit!".
|
||||
(Harm te Hennepe, #6129)
|
||||
- When the job in the terminal doesn't use mouse events, let the scroll wheel
|
||||
scroll the scrollback, like a terminal does at the shell prompt. #2490
|
||||
A bit like using CTRL-W N first.
|
||||
Jump back like with "a" when any key is typed.
|
||||
And use modeless selection. #2962
|
||||
- Use CTRL-W CTRL-K to enter a digraph? #5371
|
||||
- When Vim runs in the terminal and changes the title, the statusline needs to
|
||||
@@ -125,18 +236,65 @@ Terminal emulator window:
|
||||
conversions.
|
||||
|
||||
Error numbers available:
|
||||
E292, E362, E366, E450, E451, E452,
|
||||
E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
|
||||
E654, E856, E857, E860, E861, E863, E889, E900
|
||||
E453, E454, E489, E610, E611, E653, E856, E857, E861, E900
|
||||
|
||||
Patch to move duplicated code to a function. (Yegappan Lakshmanan, #5330)
|
||||
Patch to fix that typval related code is spread out. (Yegappan Lakshmanan,
|
||||
#6093)
|
||||
|
||||
Patch to use more FOR_ALL_ macros and use them. (Yegappan Lakshmanan, #5339)
|
||||
Buffer autocommands are a bit inconsistent. Add a separate set of
|
||||
autocommands for the buffer lifecycle:
|
||||
BufIsCreated (after buffer ID exists)
|
||||
BufIsLoaded (after buffer ID has content)
|
||||
BufIsUnloaded (after buffer ID no longer has)
|
||||
BufIsWiped (after buffer ID was wiped)
|
||||
BufIsRenamed (after buffer ID gets another name)
|
||||
The buffer list and windows are locked, no changes possible
|
||||
|
||||
Running test_gui and test_gui_init with Motif sometimes kills the window
|
||||
manager. Problem with Motif? Now test_gui crashes in submenu_change().
|
||||
Patch to fix drawing error with DirectX. (James Grant, #5688)
|
||||
Causes flicker on resizing.
|
||||
|
||||
Patch to support ipv6 for channel. (Ozaki Kiichi, #5893)
|
||||
|
||||
Patch to explain use of "%" in :!. (David Briscoe, #5591)
|
||||
|
||||
Patch to improve Windows terminal support. (Nobuhiro Takasaki, #5546)
|
||||
Ready to include.
|
||||
|
||||
Patch to improve use of Lua path. (Prabir Shrestha, #6098)
|
||||
|
||||
Patch to make exepath() work better on MS-Windows. (#6115)
|
||||
|
||||
Patch to add "-d" to xxd. (#5616)
|
||||
|
||||
Patch for the Haiku port: #5961
|
||||
|
||||
Patch to add Turkish manual. (Emir Sarı, #5641)
|
||||
|
||||
Patch to add lua sleep function. (Prabir Shrestha, #6057)
|
||||
Alternative: use vim.call and vim.fn: #6063
|
||||
|
||||
Patch to add getmarklist() (Yegappan, #6032)
|
||||
|
||||
Patch to support different color for undercurl in cterm.
|
||||
(Timur Celik, #6011)
|
||||
|
||||
Patch to support cindent option to handle pragmas differently.
|
||||
(Max Rumpf, #5468)
|
||||
|
||||
Patch to add ":syn foldlevel" to use fold level further down the line.
|
||||
(Brad King, 2016 Oct 19, update 2017 Jan 30, now in #6087)
|
||||
|
||||
File marks merging has duplicates since 7.4.1925. (Ingo Karkat, #5733)
|
||||
|
||||
"make test_gui" crashed in submenu_change(). Fix and remove workaround in
|
||||
add_pixmap_args().
|
||||
Athena is OK.
|
||||
Motif: Build on Ubuntu can't enter any text in dialog text fields.
|
||||
Running test_gui and test_gui_init with Motif sometimes kills the window
|
||||
manager. Problem with Motif?
|
||||
|
||||
:map output does not clear the reset of the command line.
|
||||
(#5623, also see #5962)
|
||||
|
||||
Patch to properly break CJK lines: Anton Kochkov, #3875
|
||||
Flag in 'formatoptions' is not used in the tests.
|
||||
@@ -144,15 +302,59 @@ Flag in 'formatoptions' is not used in the tests.
|
||||
Patch to add 'vtp' option. (#5344)
|
||||
Needs better docs. Is there a better name?
|
||||
|
||||
Patch to add argument to trim() to only trim start or end of a string.
|
||||
(Yegappan, #6126)
|
||||
|
||||
undo result wrong: Masato Nishihata, #4798
|
||||
|
||||
Patch for Template string: #4491. New pull: #4634
|
||||
Ready to include? Review the code.
|
||||
|
||||
When 'lazyredraw' is set sometimes the title is not updated.
|
||||
(Jason Franklin, 2020 Feb 3) Looks like a race condition.
|
||||
|
||||
Patch to delete BeOS code. (#5817) Anyone who wants to keep it?
|
||||
|
||||
With bash ":make" does not set v:shell_error. Possible solution: set
|
||||
'shellpipe' to "2>&1| tee %s; exit ${PIPESTATUS[0]}" #5994
|
||||
|
||||
Using mode() when "/pat" is used in Visual mode returns "v" instead of "c",
|
||||
which is not useful. Return "c/v" instead. And "c/o" when using "d/pat".
|
||||
#6127
|
||||
|
||||
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.
|
||||
|
||||
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)
|
||||
|
||||
Strange sequence of BufWipeout and BufNew events while doing omni-complete.
|
||||
(Paul Jolly, #5656)
|
||||
Get BufDelete without preceding BufNew. (Paul Jolly, #5694)
|
||||
Later more requests for what to track.
|
||||
Should we add new events that don't allow any buffer manipulation?
|
||||
Really only for dealing with appearing and disappearing buffers, load and
|
||||
unload.
|
||||
BufWinenter event not fired when saving unnamed buffer. (Paul Jolly, #5655)
|
||||
Another spurious BufDelete. (Dani Dickstein, #5701)
|
||||
|
||||
Patch to add function to return the text used in the quickfix window.
|
||||
(Yegappan, #5465)
|
||||
|
||||
Patch to add readdirex() (Ken Takata, #5619)
|
||||
|
||||
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)
|
||||
|
||||
Undo puts cursor in wrong line after "cG<Esc>" undo.
|
||||
|
||||
:unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019
|
||||
Dec 19)
|
||||
|
||||
Sound: support on Mac? Or does libcanberra work there?
|
||||
|
||||
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
|
||||
@@ -160,40 +362,68 @@ remains equal? Then %argdel to clean it up. Do try this with 'hidden' set.
|
||||
Also #4994: window-local options not always restored, related to using :badd.
|
||||
Also #5326: netrw buffers are not restored.
|
||||
|
||||
When 'backupdir' has a path ending in double slash (meaning: use full path of
|
||||
the file) combined with 'patchmode' the file name is wrong. (#5791)
|
||||
|
||||
Patch to make ":verbose pwd" show the scope of the directory. (Takuya
|
||||
Fujiwara, #5469)
|
||||
|
||||
Completion mixes results from the current buffer with tags and other files.
|
||||
Happens when typing CTRL-N while still searching for results. E.g., type "b_"
|
||||
in terminal.c and then CTRL-N twice.
|
||||
Should do current file first and not split it up when more results are found.
|
||||
(Also #1890)
|
||||
|
||||
Undo history wrong when ":next file" re-uses a buffer. (#5426)
|
||||
ex_next() should pass flag to do_argfile(), then to do_ecmd().
|
||||
|
||||
Patch to add "note" type to quickfix. (#5527) Missing tests.
|
||||
|
||||
Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
|
||||
(#4087)
|
||||
|
||||
Instead of using a syntax error, use #error to fail early when something is
|
||||
wrong. E.g. in vim.h "Error:", and blowfish.c "error!". (#5299)
|
||||
FR: add search_status(), the current values displayed for search (current
|
||||
match, total matches). (#5631)
|
||||
Patch to provide search stats in a variable, so that it can be used in the
|
||||
statusline. (Fujiwara Takuya, #4446)
|
||||
|
||||
":helptags ALL" should skip directories where "tags" cannot be written.
|
||||
(Matěj Cepl, #5026)
|
||||
Patch for ambiguous width characters in libvterm on MS-Windows 10.
|
||||
(Nobuhiro Takasaki, #4411)
|
||||
|
||||
behavior of i_CTRl-R_CTRL-R differs from documentation. (Paul Desmond Parker,
|
||||
#5771)
|
||||
|
||||
":bnext" in a help buffer is supposed to go to the next help buffer, but it
|
||||
goes to any buffer, and then :bnext skips help buffers, since they are
|
||||
unlisted. (#4478)
|
||||
|
||||
Patch to include reduce() function. (#5481)
|
||||
|
||||
Statusline highlighting error, off by one. (#5599)
|
||||
|
||||
Enable 'termbidi' if $VTE_VERSION >= 5703 ?
|
||||
|
||||
Universal solution to detect if t_RS is working, using cursor position.
|
||||
Koichi Iwamoto, #2126
|
||||
|
||||
Sound: support on Mac? Or does libcanberra work there?
|
||||
|
||||
Python 3.8 doesn't work. (Antonios Hadjigeorgalis, #5509)
|
||||
|
||||
The :syntax cchar value can only be a single character. It would be useful to
|
||||
support combining characters. (Charles Campbell) Also #4687
|
||||
|
||||
Include Haiku port. (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
|
||||
It can replace the BeOS code, which is likely not used anymore.
|
||||
Now on github: #1856. Updated Oct 2017
|
||||
Got permission to include this under the Vim license.
|
||||
"--cleanFOO" does not result in an error. (#5537)
|
||||
|
||||
Add "t" action to settagstack(): truncate and add new entries. (#5405)
|
||||
|
||||
When 'relativenumber' is set the line just below a diff change doesn't get
|
||||
updated. (#6138)
|
||||
|
||||
Result of synID() sometimes wrong in help files. (#5252)
|
||||
|
||||
Status line is nut updated when splitting windows. (Marcin Szamotulski, #5496)
|
||||
|
||||
Problem showing a line if the number column width changes when using "o".
|
||||
(Mateusz Morusiewicz, #4245)
|
||||
|
||||
@@ -204,6 +434,7 @@ When using :packadd files under "later" are not used, which is inconsistent
|
||||
with packages under "start". (xtal8, #1994)
|
||||
|
||||
Patch to add new motion ]( and ]{. (Yasuhiro Matsumoto, #5320)
|
||||
Or make "v" prefix work?
|
||||
|
||||
Modeless selection doesn't work in gvim. (#4783)
|
||||
Caused by patch 8.1.1534.
|
||||
@@ -217,16 +448,21 @@ Patch to add per-tabpage and per-window previous directory: "lcd -" and "tcd
|
||||
Does not build with MinGW out of the box:
|
||||
- _stat64 is not defined, need to use "struct stat" in vim.h
|
||||
- WINVER conflict, should use 0x0600 by default?
|
||||
- INT_MAX not defined: need to include <limits.h> in vim.h
|
||||
|
||||
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)
|
||||
|
||||
Patch to configure BUILD_DATE for reproducible builds. (James McCoy, #513)
|
||||
|
||||
Patch to add MODIFIED_BY to MSVC build file. (Chen Lei, 2016 Nov 24, #1275)
|
||||
|
||||
Patch to support "0o" for octal numbers. (Ken Takata, #5304)
|
||||
|
||||
Patch to enable IXON, avoid that CTRL-S stops terminal output. (#5775)
|
||||
|
||||
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
|
||||
@@ -240,6 +476,9 @@ 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)
|
||||
|
||||
Check_external_diff() is used too often. (Daniel Hahler, #4800)
|
||||
|
||||
Win32: after "[I" showing matches, scroll wheel messes up screen. (Tsakiridis,
|
||||
@@ -249,9 +488,6 @@ Patch by Alex Dobrynin, 2007 Jun 3. Also fixes other scroll wheel problems.
|
||||
Add a WindowScrolled event. Trigger around the same time as CursorMoved.
|
||||
Can be used to update highlighting. #3127 #5181
|
||||
|
||||
Patch for Template string: #4491. New pull: #4634
|
||||
Implementation is too inefficient, avoid using lambda.
|
||||
|
||||
Incorrect formatting with autoindent. (Sebastian Gniazdowski, #4909)
|
||||
|
||||
Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
|
||||
@@ -281,6 +517,10 @@ 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)
|
||||
|
||||
Patch for multi-byte 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:
|
||||
@@ -337,9 +577,6 @@ with the first character (like what happens with a last line that doesn't
|
||||
fit). Display "<<<" at the start of the first visible line (like "@@@" is
|
||||
displayed in the last line). (Arseny Nasokin, #5154)
|
||||
|
||||
Patch for ambiguous width characters in libvterm on MS-Windows 10.
|
||||
(Nobuhiro Takasaki, #4411)
|
||||
|
||||
Window size changes after closing a tab. (#4741)
|
||||
|
||||
Problem with colors in terminal window. (Jason Franklin, 2019 May 12)
|
||||
@@ -402,9 +639,6 @@ similar to check_due_timer(). Also see #3809.
|
||||
C syntax: {} inside () causes following {} to be highlighted as error.
|
||||
(Michalis Giannakidis, 2006 Jun 1)
|
||||
|
||||
Support setting the character displayed below the last line? Neovim uses
|
||||
"eob:X" in 'fillchars'.
|
||||
|
||||
Check: __attribute__((format(printf, on semsg() and siemsg(). Where was this
|
||||
added?
|
||||
|
||||
@@ -512,19 +746,8 @@ Make ":interactive !cmd" stop termcap mode, also when used in an autocommand.
|
||||
|
||||
Add buffer argument to undotree(). (#4001)
|
||||
|
||||
Using uninitialized value in test_gn
|
||||
Using uninitialized value in test_crypt.
|
||||
memory leak in test_paste
|
||||
Memory leak in test_terminal:
|
||||
==23530== by 0x2640D7: alloc (misc2.c:874)
|
||||
==23530== by 0x2646D6: vim_strsave (misc2.c:1315)
|
||||
==23530== by 0x25841D: FullName_save (misc1.c:5443)
|
||||
==23530== by 0x17CB4F: fix_fname (buffer.c:4794)
|
||||
==23530== by 0x17CB9A: fname_expand (buffer.c:4838)
|
||||
==23530== by 0x1759AB: buflist_new (buffer.c:1889)
|
||||
==23530== by 0x35C923: term_start (terminal.c:421)
|
||||
==23530== by 0x2AFF30: mch_call_shell_terminal (os_unix.c:4377)
|
||||
==23530== by 0x2B16BE: mch_call_shell (os_unix.c:5383)
|
||||
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
|
||||
Memory leak in test_alot with pyeval() (allocating partial)
|
||||
Memory leak in test_alot with expand()
|
||||
@@ -541,6 +764,8 @@ Add something like 'fillchars' local to window, but allow for specifying a
|
||||
highlight name. Esp. for the statusline.
|
||||
And "extends" and "precedes" are also useful without 'list' set. Also in
|
||||
'fillchars' or another option?
|
||||
Related: #3820 - Support setting the character displayed below the last line?
|
||||
Neovim uses "eob:X" in 'fillchars'.
|
||||
|
||||
Sourceforge Vim pages still have content, redirect from empty page.
|
||||
Check for PHP errors. (Wayne Davison, 2018 Oct 26)
|
||||
@@ -789,9 +1014,6 @@ option_save({list}) *option_save()*
|
||||
directory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266)
|
||||
Also see #1689.
|
||||
|
||||
crash when removing an element while inside map(). (Nikolai Pavlov, 2018 Feb
|
||||
17, #2652)
|
||||
|
||||
When 'virtualedit' is "all" and 'cursorcolumn' is set, the wrong column may be
|
||||
highlighted. (van-de-bugger, 2018 Jan 23, #2576)
|
||||
|
||||
@@ -917,8 +1139,6 @@ Patch from Christian Brabandt to preserve upper case marks when wiping out a
|
||||
buffer. (2013 Dec 9)
|
||||
Also fixes #2166?
|
||||
|
||||
Patch to add argument to :cquit. (Thinca, 2014 Oct 12)
|
||||
|
||||
Python: After "import vim" error messages only show the first line of the
|
||||
stack trace. (Yggdroot, 2017 Jul 28, #1887)
|
||||
|
||||
@@ -1051,11 +1271,9 @@ Make a function to check for function-like type?
|
||||
Screen updated delayed when using CTRL-O u in Insert mode.
|
||||
(Barlik, #1191) Perhaps because status message?
|
||||
|
||||
Implement optional arguments for functions.
|
||||
Implement named arguments for functions:
|
||||
func Foo(start, count = 1 all = 1)
|
||||
call Foo(12)
|
||||
call Foo(12, all = 0)
|
||||
call Foo(12, 15, 0)
|
||||
|
||||
Add a command to take a range of lines, filter them and put the output
|
||||
somewhere else. :{range}copy {dest} !cmd
|
||||
@@ -1106,6 +1324,7 @@ Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)
|
||||
|
||||
When 'completeopt' has "noselect" does not insert a newline. (Lifepillar, 2017
|
||||
Apr 23, #1653)
|
||||
Can 'completeopt' be made buffer-local? (#5487)
|
||||
|
||||
Window resizing with 'winfixheight': With a vertical split the height changes
|
||||
anyway. (Tommy allen, 2017 Feb 21, #1502)
|
||||
@@ -1141,6 +1360,8 @@ sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
|
||||
- Add ch_readlines(): for a channel in NL mode, reads as many lines as are
|
||||
available. Should be more efficient than looping over ch_read() with
|
||||
ch_status() to check for more.
|
||||
- If buffer contents is changed in a callback, set w_redr_status so that it
|
||||
gets redrawn in redraw_after_callback(). #6120
|
||||
- Add a separate timeout for opening a socket. Currently it's fixed at 50
|
||||
msec, which is too small for a remote connection. (tverniquet, #2130)
|
||||
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
|
||||
@@ -1264,9 +1485,6 @@ Also with latest version.
|
||||
|
||||
Cannot delete a file with square brackets with delete(). (#696)
|
||||
|
||||
Patch to add ":syn foldlevel" to use fold level further down the line.
|
||||
(Brad King, 2016 Oct 19, update 2017 Jan 30)
|
||||
|
||||
Completion for input() does not expand environment variables. (chdiza, 2016
|
||||
Jul 25, #948)
|
||||
|
||||
@@ -1275,10 +1493,6 @@ names, shell commands and the like. (Kikuchan, 2010 Oct 14)
|
||||
Assume the system converts between the actual encoding of the filesystem to
|
||||
the system encoding (usually utf-8).
|
||||
|
||||
Using ":tab drop file" does not trigger BufEnter or TabEnter events.
|
||||
(Andy Stewart, 2017 Apr 27, #1660)
|
||||
Autocommands blocked in do_arg_all(). Supposed to happen later?
|
||||
|
||||
'hlsearch' interferes with a Conceal match. (Rom Grk, 2016 Aug 9)
|
||||
|
||||
MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c?
|
||||
@@ -2703,11 +2917,6 @@ argument list or opening each file in a separate tab.
|
||||
Windows installer: licence text should not use indent, causes bad word wrap.
|
||||
(Benjamin Fritz, 2010 Aug 16)
|
||||
|
||||
Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
|
||||
makes his own wrapper). Add a magic string with the version number to the
|
||||
.bat file and check for it in the uninstaller. E.g.
|
||||
# uninstall key: vim8.1*
|
||||
|
||||
Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
|
||||
2007 Feb 8)
|
||||
|
||||
@@ -4436,8 +4645,6 @@ Vim script language:
|
||||
8 Pass the command line arguments to Vim scripts in some way. As v:args
|
||||
List? Or extra parameter to argv()?
|
||||
8 Add command arguments with three dashes, passed on to Vim scripts.
|
||||
9 Add optional arguments to user functions:
|
||||
:func myFunc(arg1, arg2, arg3 = "blah", arg4 = 17)
|
||||
6 User functions: Functions local to buffer "b:func()"?
|
||||
8 For Strings add ":let var[{expr}] = {expr}". When past the end of "var"
|
||||
just ignore.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*uganda.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
*uganda.txt* For Vim version 8.2. Last change: 2020 Jan 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -509,14 +509,14 @@ Summary: *help-summary* >
|
||||
|
||||
1) Use Ctrl-D after typing a topic and let Vim show all available topics.
|
||||
Or press Tab to complete: >
|
||||
:help some<Tab>
|
||||
:help some<Tab>
|
||||
< More information on how to use the help: >
|
||||
:help helphelp
|
||||
|
||||
2) Follow the links in bars to related help. You can go from the detailed
|
||||
help to the user documentation, which describes certain commands more from
|
||||
a user perspective and less detailed. E.g. after: >
|
||||
:help pattern.txt
|
||||
:help pattern.txt
|
||||
< You can see the user guide topics |03.9| and |usr_27.txt| in the
|
||||
introduction.
|
||||
|
||||
@@ -528,27 +528,27 @@ Summary: *help-summary* >
|
||||
< to open the help page which describes all option handling and then search
|
||||
using regular expressions, e.g. textwidth.
|
||||
Certain options have their own namespace, e.g.: >
|
||||
:help cpo-<letter>
|
||||
:help cpo-<letter>
|
||||
< for the corresponding flag of the 'cpoptions' settings, substitute <letter>
|
||||
by a specific flag, e.g.: >
|
||||
:help cpo-;
|
||||
:help cpo-;
|
||||
< And for the guioption flags: >
|
||||
:help go-<letter>
|
||||
:help go-<letter>
|
||||
|
||||
4) Normal mode commands do not have a prefix. To go to the help page for the
|
||||
"gt" command: >
|
||||
:help gt
|
||||
:help gt
|
||||
|
||||
5) Insert mode commands start with i_. Help for deleting a word: >
|
||||
:help i_CTRL-W
|
||||
:help i_CTRL-W
|
||||
|
||||
6) Visual mode commands start with v_. Help for jumping to the other side of
|
||||
the Visual area: >
|
||||
:help v_o
|
||||
:help v_o
|
||||
|
||||
7) Command line editing and arguments start with c_. Help for using the
|
||||
command argument %: >
|
||||
:help c_%
|
||||
:help c_%
|
||||
|
||||
8) Ex-commands always start with ":", so to go to the ":s" command help: >
|
||||
:help :s
|
||||
@@ -559,56 +559,56 @@ Summary: *help-summary* >
|
||||
|
||||
10) Key combinations. They usually start with a single letter indicating
|
||||
the mode for which they can be used. E.g.: >
|
||||
:help i_CTRL-X
|
||||
:help i_CTRL-X
|
||||
< takes you to the family of CTRL-X commands for insert mode which can be
|
||||
used to auto-complete different things. Note, that certain keys will
|
||||
always be written the same, e.g. Control will always be CTRL.
|
||||
For normal mode commands there is no prefix and the topic is available at
|
||||
:h CTRL-<Letter>. E.g. >
|
||||
:help CTRL-W
|
||||
:help CTRL-W
|
||||
< In contrast >
|
||||
:help c_CTRL-R
|
||||
< will describe what the CTRL-R does when entering commands in the Command
|
||||
line and >
|
||||
:help v_CTRL-A
|
||||
:help v_CTRL-A
|
||||
< talks about incrementing numbers in visual mode and >
|
||||
:help g_CTRL-A
|
||||
< talks about the "g<C-A>" command (e.g. you have to press "g" then
|
||||
<CTRL-A>). Here the "g" stand for the normal command "g" which always
|
||||
<CTRL-A>). Here the "g" stands for the normal command "g" which always
|
||||
expects a second key before doing something similar to the commands
|
||||
starting with "z"
|
||||
starting with "z".
|
||||
|
||||
11) Regexp items always start with /. So to get help for the "\+" quantifier
|
||||
in Vim regexes: >
|
||||
:help /\+
|
||||
:help /\+
|
||||
< If you need to know everything about regular expressions, start reading
|
||||
at: >
|
||||
:help pattern.txt
|
||||
:help pattern.txt
|
||||
|
||||
12) Registers always start with "quote". To find out about the special ":"
|
||||
register: >
|
||||
:help quote:
|
||||
:help quote:
|
||||
|
||||
13) Vim script is available at >
|
||||
:help eval.txt
|
||||
< Certain aspects of the language are available at :h expr-X where "X" is a
|
||||
single letter. E.g. >
|
||||
:help expr-!
|
||||
< will take you to the topic describing the "!" (Not) operator for
|
||||
VimScript.
|
||||
Also important is >
|
||||
:help function-list
|
||||
< to find a short description of all functions available. Help topics for
|
||||
Vim script functions always include the "()", so: >
|
||||
:help append()
|
||||
< talks about the append Vim script function rather than how to append text
|
||||
in the current buffer.
|
||||
< Certain aspects of the language are available at :h expr-X where "X" is a
|
||||
single letter. E.g. >
|
||||
:help expr-!
|
||||
< will take you to the topic describing the "!" (Not) operator for Vim
|
||||
script.
|
||||
Also important is >
|
||||
:help function-list
|
||||
< to find a short description of all functions available. Help topics for
|
||||
Vim script functions always include the "()", so: >
|
||||
:help append()
|
||||
< talks about the append Vim script function rather than how to append text
|
||||
in the current buffer.
|
||||
|
||||
14) Mappings are talked about in the help page :h |map.txt|. Use >
|
||||
:help mapmode-i
|
||||
:help mapmode-i
|
||||
< to find out about the |:imap| command. Also use :map-topic
|
||||
to find out about certain subtopics particular for mappings. e.g: >
|
||||
:help :map-local
|
||||
:help :map-local
|
||||
< for buffer-local mappings or >
|
||||
:help map-bar
|
||||
< for how the '|' is handled in mappings.
|
||||
@@ -619,7 +619,7 @@ Summary: *help-summary* >
|
||||
|
||||
16) Window management commands always start with CTRL-W, so you find the
|
||||
corresponding help at :h CTRL-W_letter. E.g. >
|
||||
:help CTRL-W_p
|
||||
:help CTRL-W_p
|
||||
< for moving the previous accessed window. You can also access >
|
||||
:help windows.txt
|
||||
< and read your way through if you are looking for window handling
|
||||
@@ -628,30 +628,30 @@ Summary: *help-summary* >
|
||||
17) Use |:helpgrep| to search in all help pages (and also of any installed
|
||||
plugins). See |:helpgrep| for how to use it.
|
||||
To search for a topic: >
|
||||
:helpgrep topic
|
||||
:helpgrep topic
|
||||
< This takes you to the first match. To go to the next one: >
|
||||
:cnext
|
||||
< All matches are available in the quickfix window which can be opened
|
||||
with: >
|
||||
:copen
|
||||
:copen
|
||||
< Move around to the match you like and press Enter to jump to that help.
|
||||
|
||||
18) The user manual. This describes help topics for beginners in a rather
|
||||
friendly way. Start at |usr_toc.txt| to find the table of content (as you
|
||||
might have guessed): >
|
||||
:help usr_toc.txt
|
||||
:help usr_toc.txt
|
||||
< Skim over the contents to find interesting topics. The "Digraphs" and
|
||||
"Entering special characters" items are in chapter 24, so to go to that
|
||||
particular help page: >
|
||||
:help usr_24.txt
|
||||
:help usr_24.txt
|
||||
< Also if you want to access a certain chapter in the help, the chapter
|
||||
number can be accessed directly like this: >
|
||||
:help 10.1
|
||||
:help 10.1
|
||||
< which goes to chapter 10.1 in |usr_10.txt| and talks about recording
|
||||
macros.
|
||||
|
||||
19) Highlighting groups. Always start with hl-groupname. E.g. >
|
||||
:help hl-WarningMsg
|
||||
:help hl-WarningMsg
|
||||
< talks about the WarningMsg highlighting group.
|
||||
|
||||
20) Syntax highlighting is namespaced to :syn-topic. E.g. >
|
||||
@@ -662,24 +662,24 @@ Summary: *help-summary* >
|
||||
usually start with :l
|
||||
|
||||
22) Autocommand events can be found by their name: >
|
||||
:help BufWinLeave
|
||||
:help BufWinLeave
|
||||
< To see all possible events: >
|
||||
:help autocommand-events
|
||||
|
||||
23) Command-line switches always start with "-". So for the help of the -f
|
||||
command switch of Vim use: >
|
||||
:help -f
|
||||
:help -f
|
||||
|
||||
24) Optional features always start with "+". To find out about the
|
||||
conceal feature use: >
|
||||
:help +conceal
|
||||
:help +conceal
|
||||
|
||||
25) Documentation for included filetype specific functionality is usually
|
||||
available in the form ft-<filetype>-<functionality>. So >
|
||||
:help ft-c-syntax
|
||||
available in the form ft-<filetype>-<functionality>. So >
|
||||
:help ft-c-syntax
|
||||
< talks about the C syntax file and the option it provides. Sometimes,
|
||||
additional sections for omni completion >
|
||||
:help ft-php-omni
|
||||
:help ft-php-omni
|
||||
< or filetype plugins >
|
||||
:help ft-tex-plugin
|
||||
< are available.
|
||||
@@ -691,7 +691,7 @@ Summary: *help-summary* >
|
||||
< talks about the warning "Changing a readonly file".
|
||||
Sometimes, however, those error codes are not described, but rather are
|
||||
listed at the Vim command that usually causes this. So: >
|
||||
:help E128
|
||||
:help E128
|
||||
< takes you to the |:function| command
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_03.txt* For Vim version 8.2. Last change: 2019 Nov 21
|
||||
*usr_03.txt* For Vim version 8.2. Last change: 2020 Feb 29
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -346,7 +346,8 @@ to find the first #include after the cursor: >
|
||||
|
||||
And then type "n" several times. You will move to each #include in the text.
|
||||
You can also use a count if you know which match you want. Thus "3n" finds
|
||||
the third match. Using a count with "/" doesn't work.
|
||||
the third match. You can also use a count with "/": "4/the" goes to the
|
||||
fourth match of "the".
|
||||
|
||||
The "?" command works like "/" but searches backwards: >
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_07.txt* For Vim version 8.2. Last change: 2017 Sep 18
|
||||
*usr_07.txt* For Vim version 8.2. Last change: 2020 Mar 23
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -227,8 +227,8 @@ the file.
|
||||
|
||||
FILE MARKS
|
||||
|
||||
In chapter 4 was explained how you can place a mark in a file with "mx" and
|
||||
jump to that position with "`x". That works within one file. If you edit
|
||||
In section |03.10| was explained how you can place a mark in a file with "mx"
|
||||
and jump to that position with "`x". That works within one file. If you edit
|
||||
another file and place marks there, these are specific for that file. Thus
|
||||
each file has its own set of marks, they are local to the file.
|
||||
So far we were using marks with a lowercase letter. There are also marks
|
||||
|
||||
@@ -402,7 +402,7 @@ Another way to start in diff mode can be done from inside Vim. Edit the
|
||||
"main.c" file, then make a split and show the differences: >
|
||||
|
||||
:edit main.c
|
||||
:vertical diffsplit main.c~
|
||||
:vertical diffsplit main.c~
|
||||
|
||||
The ":vertical" command is used to make the window split vertically. If you
|
||||
omit this, you will get a horizontal split.
|
||||
|
||||
@@ -687,7 +687,7 @@ with any motion command, with text objects and in Visual mode.
|
||||
lowercase. This can be shortened to "guu". "gUgU" is shortened to "gUU" and
|
||||
"g~g~" to "g~~". Example: >
|
||||
|
||||
g~~
|
||||
g~~
|
||||
< Some GIRLS have Fun ----> sOME girls HAVE fUN ~
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_11.txt* For Vim version 8.2. Last change: 2019 Apr 28
|
||||
*usr_11.txt* For Vim version 8.2. Last change: 2020 Jan 17
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -211,8 +211,11 @@ will automatically delete it:
|
||||
- The flag that the file was modified is not set.
|
||||
- The process is not running.
|
||||
|
||||
You can programatically deal with this situation with the |FileChangedShell|
|
||||
autocommand event.
|
||||
|
||||
UNREADABLE SWAP FILE
|
||||
|
||||
UNREADABLE SWAP FILE ~
|
||||
|
||||
Sometimes the line
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_22.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
*usr_22.txt* For Vim version 8.2. Last change: 2020 Mar 28
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -84,7 +84,7 @@ browser. This is what you get: >
|
||||
a................Hiding Files or Directories................|netrw-a|
|
||||
mb...............Bookmarking a Directory....................|netrw-mb|
|
||||
gb...............Changing to a Bookmarked Directory.........|netrw-gb|
|
||||
c................Make Browsing Directory The Current Dir....|netrw-c|
|
||||
cd...............Make Browsing Directory The Current Dir....|netrw-c|
|
||||
d................Make A New Directory.......................|netrw-d|
|
||||
D................Deleting Files or Directories..............|netrw-D|
|
||||
<c-h>............Edit File/Directory Hiding List............|netrw-ctrl-h|
|
||||
@@ -121,7 +121,7 @@ The following normal-mode commands may be used to control the browser display:
|
||||
|
||||
As a sampling of extra normal-mode commands:
|
||||
|
||||
c Change Vim's notion of the current directory to be
|
||||
cd Change Vim's notion of the current directory to be
|
||||
the same as the browser directory. (see
|
||||
|g:netrw_keepdir| to control this, too)
|
||||
R Rename the file or directory under the cursor; a
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user