mirror of
https://github.com/vim/vim
synced 2025-07-22 14:22:08 +00:00
Compare commits
1078 Commits
Author | SHA1 | Date | |
---|---|---|---|
373c65104e | |||
7633fe595e | |||
38041da1c2 | |||
73fef33014 | |||
8d9437968b | |||
7fe875583b | |||
f5433fbfe4 | |||
da58134eed | |||
23c5527373 | |||
e55b1c098d | |||
820ffa567c | |||
a3b7fdc1bb | |||
8c524f76eb | |||
6797966dfc | |||
0cb5bcf583 | |||
845e0ee594 | |||
a190548e91 | |||
b326edf5b3 | |||
ef6746f637 | |||
280b0dc815 | |||
1089374130 | |||
7e380030c1 | |||
20298ce679 | |||
1e0b7b11db | |||
ec9b017b87 | |||
3b74b6b4bb | |||
c785b9a7f4 | |||
128d307963 | |||
c5b1c20b6b | |||
0779fab297 | |||
c8cb883015 | |||
efd8855594 | |||
9b68c82b7c | |||
511feec6f0 | |||
865af6b990 | |||
ceb2e77510 | |||
72abcf42d4 | |||
158ea175a9 | |||
2f03e5a0a9 | |||
3d9207ad2f | |||
856c1110c1 | |||
40a019f157 | |||
e17f8817a1 | |||
9bb3eb3e02 | |||
f7d267ef20 | |||
101f4810e2 | |||
0fe937fd86 | |||
a1bc6f1293 | |||
a6e8bf2d89 | |||
84cf6bd81b | |||
9af78769ee | |||
c70222d12a | |||
fdcbe3c3fe | |||
ab176ce982 | |||
ad72350360 | |||
b340baed9f | |||
47a519a933 | |||
a65d8b5bb9 | |||
65e0d77a66 | |||
8e20f75e58 | |||
0c8059e0b6 | |||
8dff4cbf6d | |||
df7df59d85 | |||
984dddbef4 | |||
f3decc5830 | |||
34db91f7a4 | |||
c82a5b5da5 | |||
142499de33 | |||
0c0eddd3dd | |||
4a021dfbee | |||
c9630d2658 | |||
71ccd03ee8 | |||
722e505d1a | |||
5055c56cfb | |||
37d1673ce0 | |||
6c6be9e88d | |||
f6e020b122 | |||
ec68028604 | |||
9721fb4ea3 | |||
00e260bb6c | |||
1de5f7c81d | |||
2d4070d3b0 | |||
e0ebeda4d8 | |||
215f49c4d7 | |||
f1f0ff9557 | |||
362b44bd4a | |||
be5ee8686a | |||
6ba24d8763 | |||
13b8205b44 | |||
ea1233fccf | |||
d281b7c227 | |||
ab54032f29 | |||
eebd555733 | |||
152e79e94b | |||
253ea9fa42 | |||
32ee627750 | |||
0e390f40e9 | |||
517f00f788 | |||
0ca8b5ba7b | |||
218cb0fb62 | |||
59de417b90 | |||
dcf59c37d0 | |||
a45551a535 | |||
077a1e670a | |||
ec98e93a82 | |||
7ba5a7eff3 | |||
f154f3ab2c | |||
6938e27abd | |||
b5e18f29fa | |||
cc613031b9 | |||
acc2240640 | |||
df44a27b53 | |||
da84ac2a6f | |||
951a2fb1b8 | |||
1f1fd44ef7 | |||
bb861e293e | |||
c82dd86084 | |||
48af321a33 | |||
4fdb8bd054 | |||
5b157fe2ed | |||
673fc3e23f | |||
a9c0104947 | |||
e928366de5 | |||
975a880a13 | |||
adc17a5f9d | |||
d8df304c59 | |||
439c036ed0 | |||
11f1ffd182 | |||
9b7cce28d5 | |||
87fda407f8 | |||
fe712ced6e | |||
8f1dde5021 | |||
002bc79991 | |||
3fffa97159 | |||
07188fc5ef | |||
ea563cc22b | |||
e0c3c3d6cb | |||
46cd43bda1 | |||
852ea366d6 | |||
442a85369f | |||
e52702f003 | |||
9155825b24 | |||
30cc44a97f | |||
6b0e528368 | |||
ebacddbc16 | |||
14681627f3 | |||
408c23b079 | |||
59f88fbf24 | |||
fb517bac23 | |||
c5acc0f7fe | |||
cc836556d9 | |||
1e5f8f6d65 | |||
791fb1bcda | |||
441d60efd8 | |||
57f75a5a36 | |||
c17e66c5c0 | |||
3ac498c8a1 | |||
ea6561af92 | |||
5fbf3bc3f9 | |||
48b1c21809 | |||
d6a77f95ee | |||
109aece79d | |||
f9ca08e95f | |||
85629985b7 | |||
e8f5ec0d30 | |||
950587242c | |||
6c9ba04280 | |||
d14fd5285e | |||
2891459b81 | |||
f15c8b6eb3 | |||
f17e7ea67a | |||
ad772a63ec | |||
858ba06d5f | |||
2245ae18e3 | |||
fccd93f091 | |||
494e9069cb | |||
e35a52aee7 | |||
d881b516da | |||
e023e88bed | |||
b10090928c | |||
cfb4b47de0 | |||
aaad995f83 | |||
f09715bc5c | |||
788fbb4707 | |||
5cd1cb9ff9 | |||
928eec649b | |||
ebe9d34aa0 | |||
363d6148df | |||
ca70c07b72 | |||
d6cd5ffade | |||
f4ae6b245a | |||
95da136142 | |||
041c7107f2 | |||
06b7b58455 | |||
367d59e6ba | |||
d5c2c7763d | |||
87be9be1db | |||
a9d4b84d97 | |||
0016fd2e29 | |||
208534d9ae | |||
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 | |||
eb698d0b32 | |||
09d4640f6c | |||
1a47ae32cd | |||
257a396879 | |||
ae7dba8969 | |||
e20e68b40d | |||
c6d539b671 | |||
731a799bb9 | |||
8cd6cd8087 | |||
297610ba4b | |||
5c463a28ff | |||
0c1e3744ff | |||
5666fcd0bd | |||
767340574b | |||
ec57ec692e | |||
07a3db89b8 | |||
818fed7a5e | |||
eac7ce01e9 | |||
6c52f82371 | |||
03af01f1cb | |||
569fea2c31 | |||
e9a8d1f9ad | |||
1500a42c42 | |||
49d68bf5e4 | |||
53989554a4 | |||
70188f5b23 | |||
7c77b34967 | |||
7c2a2f869b | |||
ba0a7475c5 | |||
64e74c9cc7 | |||
a27655ef6d | |||
3ba35409a6 | |||
aa2f0ee639 | |||
85a2002adb | |||
fe72d08400 | |||
95a9dd1efc | |||
a4ce82fe2e | |||
59cb041d0a | |||
0ce3733f78 | |||
bc28e9f15b | |||
f19f8d1a4b | |||
a9e9679de3 | |||
91b65e4944 | |||
6f345a1458 | |||
a48e78e11f | |||
e74331db4b | |||
afc13bd827 | |||
ddef129160 | |||
559b9c68fe | |||
5e5a98d7de | |||
f9cb05c147 | |||
95f0b6e5a5 | |||
3e2d1c8cd6 | |||
09dd2bb336 | |||
6e43b30a85 | |||
5021225656 | |||
a6e8f888e7 | |||
f5f4b6cb5f | |||
3b68123cd2 | |||
74ee5e2384 | |||
98056533b9 | |||
469bdbde1e | |||
36698e34aa | |||
e24437b643 | |||
9810cfbe55 | |||
213ed008bb | |||
4954019c93 | |||
0efd1bdcf4 | |||
99ebf22c52 | |||
1e46705a83 | |||
e24c5b3332 | |||
04357fbb87 | |||
2ed639abdc | |||
661ed8b4b6 |
@ -13,5 +13,4 @@ freebsd_12_task:
|
|||||||
- make -j${NPROC}
|
- make -j${NPROC}
|
||||||
- src/vim --version
|
- src/vim --version
|
||||||
test_script:
|
test_script:
|
||||||
# Runtime Indent tests do not work, run only the normal test suite
|
- make test
|
||||||
- cd src && 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)_
|
_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 [...]
|
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.)
|
(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/if_perl.c
|
||||||
src/auto/gui_gtk_gresources.c
|
src/auto/gui_gtk_gresources.c
|
||||||
src/auto/gui_gtk_gresources.h
|
src/auto/gui_gtk_gresources.h
|
||||||
|
src/auto/os_haiku.rdef
|
||||||
src/objects/.dirstamp
|
src/objects/.dirstamp
|
||||||
src/objects
|
src/objects
|
||||||
src/tags
|
src/tags
|
||||||
|
src/types.vim
|
||||||
|
|
||||||
# We do need src/auto/configure.
|
# We do need src/auto/configure.
|
||||||
src/auto/config.cache
|
src/auto/config.cache
|
||||||
@ -86,6 +88,7 @@ src/kword_test
|
|||||||
|
|
||||||
# Generated by "make install"
|
# Generated by "make install"
|
||||||
runtime/doc/tags
|
runtime/doc/tags
|
||||||
|
runtime/doc/doctags
|
||||||
|
|
||||||
# Generated by "make shadow". The directory names could be anything but we
|
# Generated by "make shadow". The directory names could be anything but we
|
||||||
# restrict them to shadow (the default) or shadow-*
|
# restrict them to shadow (the default) or shadow-*
|
||||||
|
@ -10,6 +10,7 @@ src/auto/gui_gtk_gresources.h
|
|||||||
src/objects/.dirstamp
|
src/objects/.dirstamp
|
||||||
src/objects
|
src/objects
|
||||||
src/tags
|
src/tags
|
||||||
|
src/types.vim
|
||||||
|
|
||||||
# We do need src/auto/configure.
|
# We do need src/auto/configure.
|
||||||
src/auto/config.cache
|
src/auto/config.cache
|
||||||
@ -86,6 +87,7 @@ src/kword_test
|
|||||||
|
|
||||||
# Generated by "make install"
|
# Generated by "make install"
|
||||||
runtime/doc/tags
|
runtime/doc/tags
|
||||||
|
runtime/doc/doctags
|
||||||
|
|
||||||
# Generated by "make shadow". The directory names could be anything but we
|
# Generated by "make shadow". The directory names could be anything but we
|
||||||
# restrict them to shadow (the default) or shadow-*
|
# restrict them to shadow (the default) or shadow-*
|
||||||
|
156
.travis.yml
156
.travis.yml
@ -1,35 +1,34 @@
|
|||||||
language: c
|
language: c
|
||||||
|
|
||||||
anchors:
|
_anchors:
|
||||||
envs:
|
envs:
|
||||||
- &tiny-nogui
|
- &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
|
- &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
|
- &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
|
- &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
|
- &linux-huge
|
||||||
BUILD=yes TEST="scripttests test_libvterm" COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
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'"
|
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||||
- &osx-huge # macOS build
|
- &osx-huge # macOS build
|
||||||
BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
BUILD=yes TEST=test FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
|
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||||
- &unittests
|
- &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
|
- &asan # ASAN build
|
||||||
SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
||||||
ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
|
ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
|
||||||
|
- &shadowopt
|
||||||
|
SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow
|
||||||
|
|
||||||
linux: &linux
|
linux: &linux
|
||||||
os: linux
|
os: linux
|
||||||
dist: trusty
|
dist: bionic
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
sources:
|
|
||||||
# Need msgfmt 0.19.8 to be able to generate .desktop files
|
|
||||||
- sourceline: 'ppa:ricotz/toolchain'
|
|
||||||
packages:
|
packages:
|
||||||
- autoconf
|
- autoconf
|
||||||
- clang
|
- clang
|
||||||
@ -39,46 +38,41 @@ anchors:
|
|||||||
- libperl-dev
|
- libperl-dev
|
||||||
- python-dev
|
- python-dev
|
||||||
- python3-dev
|
- python3-dev
|
||||||
- liblua5.2-dev
|
- liblua5.3-dev
|
||||||
- lua5.2
|
- lua5.3
|
||||||
- ruby-dev
|
- ruby-dev
|
||||||
- tcl-dev
|
- tcl-dev
|
||||||
- cscope
|
- cscope
|
||||||
- libgtk2.0-dev
|
- libgtk2.0-dev
|
||||||
- desktop-file-utils
|
- desktop-file-utils
|
||||||
|
- libtool-bin
|
||||||
|
services:
|
||||||
|
- xvfb
|
||||||
before_install:
|
before_install:
|
||||||
- rvm reset
|
- 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.
|
# Use llvm-cov instead of gcov when compiler is clang.
|
||||||
- |
|
- |
|
||||||
if [[ "${CC}" = "clang" ]]; then
|
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
|
fi
|
||||||
before_script:
|
before_script:
|
||||||
# Start virtual framebuffer to be able to test the GUI. Does not work on OS X.
|
- sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
|
||||||
- export DISPLAY=:99.0
|
- sudo bash ci/load-snd-dummy.sh || true
|
||||||
- sh -e /etc/init.d/xvfb start && sleep 3
|
|
||||||
- sudo modprobe snd-dummy
|
|
||||||
- sudo usermod -a -G audio $USER
|
- sudo usermod -a -G audio $USER
|
||||||
- do_test() { sg audio "sg $(id -gn) '$*'"; }
|
- do_test() { sg audio "sg $(id -gn) '$*'"; }
|
||||||
|
|
||||||
osx: &osx
|
osx: &osx
|
||||||
os: osx
|
os: osx
|
||||||
|
before_script:
|
||||||
|
- do_test() { "$@"; }
|
||||||
|
|
||||||
|
homebrew: &osx-homebrew
|
||||||
addons:
|
addons:
|
||||||
homebrew:
|
homebrew:
|
||||||
packages:
|
packages:
|
||||||
@ -87,25 +81,24 @@ anchors:
|
|||||||
cache:
|
cache:
|
||||||
directories:
|
directories:
|
||||||
- /usr/local/Homebrew/Library/Homebrew/vendor/
|
- /usr/local/Homebrew/Library/Homebrew/vendor/
|
||||||
- /usr/local/Homebrew/Library/Taps/
|
- /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/
|
||||||
before_install:
|
before_install:
|
||||||
- rvm reset
|
- rvm reset
|
||||||
# Lua is not installed on Travis OSX
|
# Lua is not installed on macOS
|
||||||
- export LUA_PREFIX=/usr/local
|
- export LUA_PREFIX=/usr/local
|
||||||
before_script:
|
|
||||||
- do_test() { "$@"; }
|
|
||||||
|
|
||||||
coverage: &coverage
|
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
|
- ~/.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))
|
- (cd "${SRCDIR}" && bash <(curl -s https://codecov.io/bash))
|
||||||
|
|
||||||
asan_symbolize: &asan_symbolize
|
asan_symbolize: &asan_symbolize
|
||||||
- |
|
# Update pyenv to fix the error "/opt/pyenv/libexec/pyenv: line 43: cd: asan_symbolize-6.0: Not a directory".
|
||||||
while read log; do
|
# https://github.com/pyenv/pyenv/issues/580
|
||||||
asan_symbolize < "${log}"
|
- (cd "${PYENV_ROOT}" && git fetch -p origin && git checkout "$(git rev-list --tags -n1)") &>/dev/null || true
|
||||||
done < <(find . -type f -name 'asan.*' -size +0)
|
- find . -type f -name 'asan.*' -size +0 2>/dev/null | xargs grep -l '^==[[:digit:]]*==ERROR:' | xargs -I{} -n1 -t asan_symbolize -l{}
|
||||||
|
|
||||||
sudo: false
|
|
||||||
|
|
||||||
branches:
|
branches:
|
||||||
except:
|
except:
|
||||||
@ -129,31 +122,35 @@ script:
|
|||||||
- echo -e "\\033[33;1mBuilding Vim\\033[0m" && echo -en "travis_fold:start:build\\r\\033[0K"
|
- echo -e "\\033[33;1mBuilding Vim\\033[0m" && echo -en "travis_fold:start:build\\r\\033[0K"
|
||||||
- |
|
- |
|
||||||
if [[ "${BUILD}" = "yes" ]]; then
|
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}
|
make ${SHADOWOPT} -j${NPROC}
|
||||||
fi
|
fi
|
||||||
- echo -en "travis_fold:end:build\\r\\033[0K"
|
- echo -en "travis_fold:end:build\\r\\033[0K"
|
||||||
- set +o errexit
|
- 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.
|
# Show Vim version and also if_xx versions.
|
||||||
- |
|
- |
|
||||||
if [[ "${BUILD}" = "yes" ]]; then
|
if [[ "${BUILD}" = "yes" ]]; then
|
||||||
"${SRCDIR}"/vim --version
|
"${SRCDIR}"/vim --version
|
||||||
"${SRCDIR}"/vim --not-a-term -u NONE -S "${SRCDIR}"/testdir/if_ver-1.vim -c quit > /dev/null
|
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
|
||||||
"${SRCDIR}"/vim --not-a-term -u NONE -S "${SRCDIR}"/testdir/if_ver-2.vim -c quit > /dev/null
|
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
|
||||||
cat if_ver.txt
|
|
||||||
fi
|
fi
|
||||||
- >
|
- echo -e "\\033[33;1mTesting Vim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
|
||||||
do_test make ${SHADOWOPT} ${TEST} &&
|
- do_test make ${SHADOWOPT} ${TEST} && FOLD_MARKER=travis_fold
|
||||||
make -C runtime/doc vimtags VIMEXE=../../"${SRCDIR}"/vim &&
|
|
||||||
FOLD_MARKER=travis_fold
|
|
||||||
- echo -en "${FOLD_MARKER}:end:test\\r\\033[0K"
|
- echo -en "${FOLD_MARKER}:end:test\\r\\033[0K"
|
||||||
|
|
||||||
|
# Instead of using all environments with both compilers on both systems,
|
||||||
# instead of a 2*2*8 matrix (2*os + 2*compiler + 8*env),
|
# exclude some builds on mac os x and linux.
|
||||||
# exclude some builds on mac os x and linux
|
# On mac os x "tiny" is always without GUI, use 2 compilers in 2 environments.
|
||||||
# on mac os x "tiny" is always without GUI
|
# Linux: 2 compilers on some of the environments + gcc on os390
|
||||||
# linux: 2*compiler + 5*env + mac: 2*compiler + 2*env
|
jobs:
|
||||||
matrix:
|
|
||||||
include:
|
include:
|
||||||
- <<: *osx
|
- <<: *osx
|
||||||
name: tiny-nogui/clang
|
name: tiny-nogui/clang
|
||||||
@ -164,10 +161,12 @@ matrix:
|
|||||||
compiler: gcc
|
compiler: gcc
|
||||||
env: *tiny-nogui
|
env: *tiny-nogui
|
||||||
- <<: *osx
|
- <<: *osx
|
||||||
|
<<: *osx-homebrew
|
||||||
name: huge/clang
|
name: huge/clang
|
||||||
compiler: clang
|
compiler: clang
|
||||||
env: *osx-huge
|
env: *osx-huge
|
||||||
- <<: *osx
|
- <<: *osx
|
||||||
|
<<: *osx-homebrew
|
||||||
name: huge/gcc
|
name: huge/gcc
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
env: *osx-huge
|
env: *osx-huge
|
||||||
@ -194,26 +193,34 @@ matrix:
|
|||||||
- <<: *linux
|
- <<: *linux
|
||||||
name: normal/clang
|
name: normal/clang
|
||||||
compiler: clang
|
compiler: clang
|
||||||
env: *normal
|
env:
|
||||||
|
- *normal
|
||||||
|
- *shadowopt
|
||||||
- <<: *linux
|
- <<: *linux
|
||||||
name: normal/gcc
|
name: normal/gcc
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
env: *normal
|
env:
|
||||||
|
- *normal
|
||||||
|
- *shadowopt
|
||||||
|
- <<: *linux
|
||||||
|
arch: s390x
|
||||||
|
name: huge/gcc-s390x
|
||||||
|
compiler: gcc
|
||||||
|
env: *linux-huge
|
||||||
|
services: []
|
||||||
- <<: *linux
|
- <<: *linux
|
||||||
name: huge+coverage/clang
|
name: huge+coverage/clang
|
||||||
compiler: clang
|
compiler: clang
|
||||||
env: *linux-huge
|
env:
|
||||||
|
- *linux-huge
|
||||||
|
# Clang cannot compile test_libvterm with "--coverage" flag.
|
||||||
|
- TEST=scripttests
|
||||||
after_success: *coverage
|
after_success: *coverage
|
||||||
- <<: *linux
|
- <<: *linux
|
||||||
name: huge+coverage/gcc
|
name: huge+coverage/gcc
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
env: *linux-huge
|
env: *linux-huge
|
||||||
after_success: *coverage
|
after_success: *coverage
|
||||||
- <<: *linux
|
|
||||||
name: unittests+coverage/gcc
|
|
||||||
compiler: gcc
|
|
||||||
env: *unittests
|
|
||||||
after_success: *coverage
|
|
||||||
- <<: *linux # ASAN
|
- <<: *linux # ASAN
|
||||||
name: huge+asan/gcc
|
name: huge+asan/gcc
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
@ -228,5 +235,16 @@ matrix:
|
|||||||
- *linux-huge
|
- *linux-huge
|
||||||
- TEST="-C src testgui"
|
- TEST="-C src testgui"
|
||||||
after_success: *coverage
|
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:
|
# vim:set sts=2 sw=2 tw=0 et:
|
||||||
|
104
Filelist
104
Filelist
@ -11,6 +11,9 @@ SRC_ALL = \
|
|||||||
.cirrus.yml \
|
.cirrus.yml \
|
||||||
appveyor.yml \
|
appveyor.yml \
|
||||||
ci/appveyor.bat \
|
ci/appveyor.bat \
|
||||||
|
ci/if_ver*.vim \
|
||||||
|
ci/load-snd-dummy.sh \
|
||||||
|
ci/config.mk*.sed \
|
||||||
src/Make_all.mak \
|
src/Make_all.mak \
|
||||||
src/README.md \
|
src/README.md \
|
||||||
src/alloc.h \
|
src/alloc.h \
|
||||||
@ -28,6 +31,8 @@ SRC_ALL = \
|
|||||||
src/channel.c \
|
src/channel.c \
|
||||||
src/charset.c \
|
src/charset.c \
|
||||||
src/cindent.c \
|
src/cindent.c \
|
||||||
|
src/clientserver.c \
|
||||||
|
src/clipboard.c \
|
||||||
src/cmdexpand.c \
|
src/cmdexpand.c \
|
||||||
src/cmdhist.c \
|
src/cmdhist.c \
|
||||||
src/crypt.c \
|
src/crypt.c \
|
||||||
@ -124,7 +129,11 @@ SRC_ALL = \
|
|||||||
src/term.h \
|
src/term.h \
|
||||||
src/termlib.c \
|
src/termlib.c \
|
||||||
src/testing.c \
|
src/testing.c \
|
||||||
|
src/textformat.c \
|
||||||
|
src/textobject.c \
|
||||||
src/textprop.c \
|
src/textprop.c \
|
||||||
|
src/time.c \
|
||||||
|
src/typval.c \
|
||||||
src/ui.c \
|
src/ui.c \
|
||||||
src/undo.c \
|
src/undo.c \
|
||||||
src/usercmd.c \
|
src/usercmd.c \
|
||||||
@ -132,6 +141,10 @@ SRC_ALL = \
|
|||||||
src/version.c \
|
src/version.c \
|
||||||
src/version.h \
|
src/version.h \
|
||||||
src/vim.h \
|
src/vim.h \
|
||||||
|
src/vim9.h \
|
||||||
|
src/vim9compile.c \
|
||||||
|
src/vim9execute.c \
|
||||||
|
src/vim9script.c \
|
||||||
src/viminfo.c \
|
src/viminfo.c \
|
||||||
src/winclip.c \
|
src/winclip.c \
|
||||||
src/window.c \
|
src/window.c \
|
||||||
@ -144,20 +157,22 @@ SRC_ALL = \
|
|||||||
src/testdir/*.py \
|
src/testdir/*.py \
|
||||||
src/testdir/lsan-suppress.txt \
|
src/testdir/lsan-suppress.txt \
|
||||||
src/testdir/sautest/autoload/*.vim \
|
src/testdir/sautest/autoload/*.vim \
|
||||||
src/testdir/runtest.vim \
|
src/testdir/testluaplugin/lua/testluaplugin/*.lua \
|
||||||
src/testdir/summarize.vim \
|
|
||||||
src/testdir/check.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/gui_init.vim \
|
||||||
src/testdir/setup_gui.vim \
|
|
||||||
src/testdir/gui_preinit.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]*.ok \
|
||||||
src/testdir/test[0-9]*a.ok \
|
src/testdir/test[0-9]*a.ok \
|
||||||
src/testdir/test_[a-z]*.ok \
|
|
||||||
src/testdir/test49.vim \
|
src/testdir/test49.vim \
|
||||||
src/testdir/test83-tags? \
|
src/testdir/test83-tags? \
|
||||||
src/testdir/test77a.com \
|
src/testdir/test77a.com \
|
||||||
@ -172,12 +187,9 @@ SRC_ALL = \
|
|||||||
src/testdir/python_after/*.py \
|
src/testdir/python_after/*.py \
|
||||||
src/testdir/python_before/*.py \
|
src/testdir/python_before/*.py \
|
||||||
src/testdir/pyxfile/*.py \
|
src/testdir/pyxfile/*.py \
|
||||||
src/testdir/bench*.in \
|
|
||||||
src/testdir/bench*.vim \
|
|
||||||
src/testdir/dumps/*.dump \
|
src/testdir/dumps/*.dump \
|
||||||
src/testdir/samples/*.txt \
|
src/testdir/samples/*.txt \
|
||||||
src/testdir/samples/test000 \
|
src/testdir/samples/test000 \
|
||||||
src/testdir/if_ver*.vim \
|
|
||||||
src/testdir/color_ramp.vim \
|
src/testdir/color_ramp.vim \
|
||||||
src/testdir/silent.wav \
|
src/testdir/silent.wav \
|
||||||
src/testdir/popupbounce.vim \
|
src/testdir/popupbounce.vim \
|
||||||
@ -195,6 +207,8 @@ SRC_ALL = \
|
|||||||
src/proto/channel.pro \
|
src/proto/channel.pro \
|
||||||
src/proto/charset.pro \
|
src/proto/charset.pro \
|
||||||
src/proto/cindent.pro \
|
src/proto/cindent.pro \
|
||||||
|
src/proto/clientserver.pro \
|
||||||
|
src/proto/clipboard.pro \
|
||||||
src/proto/cmdexpand.pro \
|
src/proto/cmdexpand.pro \
|
||||||
src/proto/cmdhist.pro \
|
src/proto/cmdhist.pro \
|
||||||
src/proto/crypt.pro \
|
src/proto/crypt.pro \
|
||||||
@ -269,12 +283,19 @@ SRC_ALL = \
|
|||||||
src/proto/terminal.pro \
|
src/proto/terminal.pro \
|
||||||
src/proto/termlib.pro \
|
src/proto/termlib.pro \
|
||||||
src/proto/testing.pro \
|
src/proto/testing.pro \
|
||||||
|
src/proto/textformat.pro \
|
||||||
|
src/proto/textobject.pro \
|
||||||
src/proto/textprop.pro \
|
src/proto/textprop.pro \
|
||||||
|
src/proto/time.pro \
|
||||||
|
src/proto/typval.pro \
|
||||||
src/proto/ui.pro \
|
src/proto/ui.pro \
|
||||||
src/proto/undo.pro \
|
src/proto/undo.pro \
|
||||||
src/proto/usercmd.pro \
|
src/proto/usercmd.pro \
|
||||||
src/proto/userfunc.pro \
|
src/proto/userfunc.pro \
|
||||||
src/proto/version.pro \
|
src/proto/version.pro \
|
||||||
|
src/proto/vim9compile.pro \
|
||||||
|
src/proto/vim9execute.pro \
|
||||||
|
src/proto/vim9script.pro \
|
||||||
src/proto/viminfo.pro \
|
src/proto/viminfo.pro \
|
||||||
src/proto/winclip.pro \
|
src/proto/winclip.pro \
|
||||||
src/proto/window.pro \
|
src/proto/window.pro \
|
||||||
@ -283,10 +304,12 @@ SRC_ALL = \
|
|||||||
src/libvterm/LICENSE \
|
src/libvterm/LICENSE \
|
||||||
src/libvterm/Makefile \
|
src/libvterm/Makefile \
|
||||||
src/libvterm/README \
|
src/libvterm/README \
|
||||||
|
src/libvterm/CONTRIBUTING \
|
||||||
src/libvterm/tbl2inc_c.pl \
|
src/libvterm/tbl2inc_c.pl \
|
||||||
src/libvterm/vterm.pc.in \
|
src/libvterm/vterm.pc.in \
|
||||||
src/libvterm/doc/URLs \
|
src/libvterm/doc/URLs \
|
||||||
src/libvterm/doc/seqs.txt \
|
src/libvterm/doc/seqs.txt \
|
||||||
|
src/libvterm/find-wide-chars.pl \
|
||||||
src/libvterm/include/vterm.h \
|
src/libvterm/include/vterm.h \
|
||||||
src/libvterm/include/vterm_keycodes.h \
|
src/libvterm/include/vterm_keycodes.h \
|
||||||
src/libvterm/src/encoding.c \
|
src/libvterm/src/encoding.c \
|
||||||
@ -294,6 +317,7 @@ SRC_ALL = \
|
|||||||
src/libvterm/src/encoding/DECdrawing.tbl \
|
src/libvterm/src/encoding/DECdrawing.tbl \
|
||||||
src/libvterm/src/encoding/uk.inc \
|
src/libvterm/src/encoding/uk.inc \
|
||||||
src/libvterm/src/encoding/uk.tbl \
|
src/libvterm/src/encoding/uk.tbl \
|
||||||
|
src/libvterm/src/fullwidth.inc \
|
||||||
src/libvterm/src/keyboard.c \
|
src/libvterm/src/keyboard.c \
|
||||||
src/libvterm/src/mouse.c \
|
src/libvterm/src/mouse.c \
|
||||||
src/libvterm/src/parser.c \
|
src/libvterm/src/parser.c \
|
||||||
@ -324,16 +348,18 @@ SRC_ALL = \
|
|||||||
src/libvterm/t/27state_reset.test \
|
src/libvterm/t/27state_reset.test \
|
||||||
src/libvterm/t/28state_dbl_wh.test \
|
src/libvterm/t/28state_dbl_wh.test \
|
||||||
src/libvterm/t/29state_fallback.test \
|
src/libvterm/t/29state_fallback.test \
|
||||||
src/libvterm/t/30pen.test \
|
src/libvterm/t/30state_pen.test \
|
||||||
src/libvterm/t/40screen_ascii.test \
|
src/libvterm/t/31state_rep.test \
|
||||||
src/libvterm/t/41screen_unicode.test \
|
src/libvterm/t/32state_flow.test \
|
||||||
src/libvterm/t/42screen_damage.test \
|
src/libvterm/t/60screen_ascii.test \
|
||||||
src/libvterm/t/43screen_resize.test \
|
src/libvterm/t/61screen_unicode.test \
|
||||||
src/libvterm/t/44screen_pen.test \
|
src/libvterm/t/62screen_damage.test \
|
||||||
src/libvterm/t/45screen_protect.test \
|
src/libvterm/t/63screen_resize.test \
|
||||||
src/libvterm/t/46screen_extent.test \
|
src/libvterm/t/64screen_pen.test \
|
||||||
src/libvterm/t/47screen_dbl_wh.test \
|
src/libvterm/t/65screen_protect.test \
|
||||||
src/libvterm/t/48screen_termprops.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-1.test \
|
||||||
src/libvterm/t/90vttest_01-movement-2.test \
|
src/libvterm/t/90vttest_01-movement-2.test \
|
||||||
src/libvterm/t/90vttest_01-movement-3.test \
|
src/libvterm/t/90vttest_01-movement-3.test \
|
||||||
@ -393,6 +419,7 @@ SRC_UNIX = \
|
|||||||
src/gui_gtk_x11.c \
|
src/gui_gtk_x11.c \
|
||||||
src/gui_gtk_res.xml \
|
src/gui_gtk_res.xml \
|
||||||
src/gui_motif.c \
|
src/gui_motif.c \
|
||||||
|
src/gui_xim.c \
|
||||||
src/gui_xmdlg.c \
|
src/gui_xmdlg.c \
|
||||||
src/gui_xmebw.c \
|
src/gui_xmebw.c \
|
||||||
src/gui_xmebw.h \
|
src/gui_xmebw.h \
|
||||||
@ -416,6 +443,7 @@ SRC_UNIX = \
|
|||||||
src/proto/gui_gtk_x11.pro \
|
src/proto/gui_gtk_x11.pro \
|
||||||
src/proto/gui_gtk_gresources.pro \
|
src/proto/gui_gtk_gresources.pro \
|
||||||
src/proto/gui_motif.pro \
|
src/proto/gui_motif.pro \
|
||||||
|
src/proto/gui_xim.pro \
|
||||||
src/proto/gui_xmdlg.pro \
|
src/proto/gui_xmdlg.pro \
|
||||||
src/proto/gui_x11.pro \
|
src/proto/gui_x11.pro \
|
||||||
src/proto/if_xcmdsrv.pro \
|
src/proto/if_xcmdsrv.pro \
|
||||||
@ -521,7 +549,6 @@ SRC_DOS = \
|
|||||||
src/uninstall.c \
|
src/uninstall.c \
|
||||||
src/vim.def \
|
src/vim.def \
|
||||||
src/vim.rc \
|
src/vim.rc \
|
||||||
src/vimio.h \
|
|
||||||
src/gvim.exe.mnf \
|
src/gvim.exe.mnf \
|
||||||
src/vimrun.c \
|
src/vimrun.c \
|
||||||
src/xpm_w32.c \
|
src/xpm_w32.c \
|
||||||
@ -591,6 +618,15 @@ SRC_AMI = \
|
|||||||
src/testdir/amiga.vim \
|
src/testdir/amiga.vim \
|
||||||
src/xxd/Make_amiga.mak \
|
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)
|
# source files for the Mac (also in the extra archive)
|
||||||
SRC_MAC = \
|
SRC_MAC = \
|
||||||
src/INSTALLmac.txt \
|
src/INSTALLmac.txt \
|
||||||
@ -626,13 +662,13 @@ SRC_QNX = \
|
|||||||
src/proto/gui_photon.pro \
|
src/proto/gui_photon.pro \
|
||||||
src/proto/os_qnx.pro \
|
src/proto/os_qnx.pro \
|
||||||
|
|
||||||
|
|
||||||
# source files for the extra archive (all sources that are not for Unix)
|
# source files for the extra archive (all sources that are not for Unix)
|
||||||
SRC_EXTRA = \
|
SRC_EXTRA = \
|
||||||
$(SRC_AMI) \
|
$(SRC_AMI) \
|
||||||
$(SRC_AMI_DOS) \
|
$(SRC_AMI_DOS) \
|
||||||
$(SRC_DOS) \
|
$(SRC_DOS) \
|
||||||
$(SRC_DOS_BIN) \
|
$(SRC_DOS_BIN) \
|
||||||
|
$(SRC_HAIKU) \
|
||||||
$(SRC_MAC) \
|
$(SRC_MAC) \
|
||||||
$(SRC_QNX) \
|
$(SRC_QNX) \
|
||||||
$(SRC_VMS) \
|
$(SRC_VMS) \
|
||||||
@ -640,10 +676,6 @@ SRC_EXTRA = \
|
|||||||
src/Make_mint.mak \
|
src/Make_mint.mak \
|
||||||
src/infplist.xml \
|
src/infplist.xml \
|
||||||
src/link.390 \
|
src/link.390 \
|
||||||
src/os_beos.c \
|
|
||||||
src/os_beos.h \
|
|
||||||
src/os_beos.rsrc \
|
|
||||||
src/proto/os_beos.pro \
|
|
||||||
src/os_mint.h \
|
src/os_mint.h \
|
||||||
src/os_vms_fix.com \
|
src/os_vms_fix.com \
|
||||||
src/toolbar.phi \
|
src/toolbar.phi \
|
||||||
@ -652,6 +684,8 @@ SRC_EXTRA = \
|
|||||||
RT_ALL = \
|
RT_ALL = \
|
||||||
README.txt \
|
README.txt \
|
||||||
README.md \
|
README.md \
|
||||||
|
README_VIM9.md \
|
||||||
|
LICENSE \
|
||||||
CONTRIBUTING.md \
|
CONTRIBUTING.md \
|
||||||
runtime/bugreport.vim \
|
runtime/bugreport.vim \
|
||||||
runtime/doc/*.awk \
|
runtime/doc/*.awk \
|
||||||
@ -766,20 +800,20 @@ RT_UNIX = \
|
|||||||
README_unix.txt \
|
README_unix.txt \
|
||||||
runtime/hi16-action-make.png \
|
runtime/hi16-action-make.png \
|
||||||
runtime/hi22-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/gvim.desktop \
|
||||||
runtime/vim.desktop \
|
runtime/vim.desktop \
|
||||||
|
|
||||||
# Unix and DOS runtime without CR-LF translation
|
# Unix and DOS runtime without CR-LF translation
|
||||||
RT_UNIX_DOS_BIN = \
|
RT_UNIX_DOS_BIN = \
|
||||||
runtime/vim16x16.gif \
|
runtime/vim16x16.gif \
|
||||||
|
runtime/vim16x16.png \
|
||||||
|
runtime/vim16x16.xpm \
|
||||||
runtime/vim32x32.gif \
|
runtime/vim32x32.gif \
|
||||||
|
runtime/vim32x32.png \
|
||||||
|
runtime/vim32x32.xpm \
|
||||||
runtime/vim48x48.gif \
|
runtime/vim48x48.gif \
|
||||||
|
runtime/vim48x48.png \
|
||||||
|
runtime/vim48x48.xpm \
|
||||||
|
|
||||||
# runtime not for unix or extra
|
# runtime not for unix or extra
|
||||||
RT_NO_UNIX = \
|
RT_NO_UNIX = \
|
||||||
@ -938,6 +972,8 @@ LANG_GEN = \
|
|||||||
runtime/doc/*-pl.UTF-8.1 \
|
runtime/doc/*-pl.UTF-8.1 \
|
||||||
runtime/doc/*-ru.1 \
|
runtime/doc/*-ru.1 \
|
||||||
runtime/doc/*-ru.UTF-8.1 \
|
runtime/doc/*-ru.UTF-8.1 \
|
||||||
|
runtime/doc/*-tr.1 \
|
||||||
|
runtime/doc/*-tr.UTF-8.1 \
|
||||||
runtime/lang/README.txt \
|
runtime/lang/README.txt \
|
||||||
runtime/lang/menu_*.vim \
|
runtime/lang/menu_*.vim \
|
||||||
runtime/keymap/README.txt \
|
runtime/keymap/README.txt \
|
||||||
|
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.
|
10
Makefile
10
Makefile
@ -85,13 +85,13 @@ indenttest:
|
|||||||
# Before creating an archive first delete all backup files, *.orig, etc.
|
# Before creating an archive first delete all backup files, *.orig, etc.
|
||||||
|
|
||||||
MAJOR = 8
|
MAJOR = 8
|
||||||
MINOR = 1
|
MINOR = 2
|
||||||
|
|
||||||
# CHECKLIST for creating a new version:
|
# CHECKLIST for creating a new version:
|
||||||
#
|
#
|
||||||
# - Update Vim version number. For a test version in: src/version.h,
|
# - Update Vim version number. For a test version in: src/version.h,
|
||||||
# READMEdir/Contents, MAJOR/MINOR above, VIMMAJOR and VIMMINOR in
|
# READMEdir/Contents, MAJOR/MINOR above, VIMMAJOR and VIMMINOR in
|
||||||
# src/Makefile, README.txt, README.md, READMEdir/README*.txt,
|
# src/Makefile, README.txt, README.md, src/README.md, READMEdir/README*.txt,
|
||||||
# runtime/doc/*.txt and make nsis/gvim_version.nsh.
|
# runtime/doc/*.txt and make nsis/gvim_version.nsh.
|
||||||
# For a minor/major version: src/GvimExt/GvimExt.reg, src/vim.def,
|
# For a minor/major version: src/GvimExt/GvimExt.reg, src/vim.def,
|
||||||
# src/gvim.exe.mnf.
|
# src/gvim.exe.mnf.
|
||||||
@ -145,7 +145,7 @@ MINOR = 1
|
|||||||
# - > make dossrc
|
# - > make dossrc
|
||||||
# > make dosrt
|
# > make dosrt
|
||||||
# Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
|
# Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
|
||||||
# This creates the directory vim/vim81 and puts all files in there.
|
# This creates the directory vim/vim82 and puts all files in there.
|
||||||
# Win32 console version build:
|
# Win32 console version build:
|
||||||
# - See src/INSTALLpc.txt for installing the compiler and SDK.
|
# - See src/INSTALLpc.txt for installing the compiler and SDK.
|
||||||
# - Set environment for Visual C++ 2015:
|
# - Set environment for Visual C++ 2015:
|
||||||
@ -153,7 +153,7 @@ MINOR = 1
|
|||||||
# > msvc2015.bat
|
# > msvc2015.bat
|
||||||
# - Build the console binary:
|
# - Build the console binary:
|
||||||
# > nmake -f Make_mvc.mak
|
# > 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 testclean
|
||||||
# > nmake -f Make_mvc.mak test
|
# > nmake -f Make_mvc.mak test
|
||||||
# - Rename (using ../tools/rename.bat):
|
# - Rename (using ../tools/rename.bat):
|
||||||
@ -203,7 +203,7 @@ MINOR = 1
|
|||||||
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
|
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
|
||||||
# gvimext64.dll can be obtained from:
|
# gvimext64.dll can be obtained from:
|
||||||
# https://github.com/vim/vim-win32-installer/releases
|
# https://github.com/vim/vim-win32-installer/releases
|
||||||
# It is part of gvim_8.0.*_x64.zip as vim/vim80/GvimExt/gvimext64.dll.
|
# It is part of gvim_8.2.*_x64.zip as vim/vim82/GvimExt/gvimext64.dll.
|
||||||
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
|
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
|
||||||
# version). Also put winpty32.dll and winpty-agent.exe there.
|
# version). Also put winpty32.dll and winpty-agent.exe there.
|
||||||
# - go to ../nsis and do:
|
# - go to ../nsis and do:
|
||||||
|
13
README.md
13
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
|
with ten fingers can work very fast. Additionally, function keys can be
|
||||||
mapped to commands by the user, and the mouse can be used.
|
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
|
Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, Haiku, VMS and almost
|
||||||
almost all flavours of UNIX. Porting to other systems should not be very
|
all flavours of UNIX. Porting to other systems should not be very difficult.
|
||||||
difficult. Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me, Amiga
|
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000, Amiga DOS,
|
||||||
DOS, Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
||||||
|
|
||||||
|
For Vim9 script see [README_VIM9](README_VIM9.md).
|
||||||
|
|
||||||
## Distribution ##
|
## Distribution ##
|
||||||
|
|
||||||
@ -70,6 +72,7 @@ archive):
|
|||||||
README_unix.txt Unix
|
README_unix.txt Unix
|
||||||
README_dos.txt MS-DOS and MS-Windows
|
README_dos.txt MS-DOS and MS-Windows
|
||||||
README_mac.txt Macintosh
|
README_mac.txt Macintosh
|
||||||
|
README_haiku.txt Haiku
|
||||||
README_vms.txt VMS
|
README_vms.txt VMS
|
||||||
|
|
||||||
There are other `README_*.txt` files, depending on the distribution you used.
|
There are other `README_*.txt` files, depending on the distribution you used.
|
||||||
@ -141,7 +144,7 @@ Send any other comments, patches, flowers and suggestions to:
|
|||||||
Bram Moolenaar <Bram@vim.org>
|
Bram Moolenaar <Bram@vim.org>
|
||||||
|
|
||||||
|
|
||||||
This is `README.md` for version 8.1 of Vim: Vi IMproved.
|
This is `README.md` for version 8.2 of Vim: Vi IMproved.
|
||||||
|
|
||||||
|
|
||||||
## Translations of this README ##
|
## Translations of this README ##
|
||||||
|
10
README.txt
10
README.txt
@ -1,4 +1,4 @@
|
|||||||
README.txt for version 8.1 of Vim: Vi IMproved.
|
README.txt for version 8.2 of Vim: Vi IMproved.
|
||||||
|
|
||||||
|
|
||||||
WHAT IS VIM?
|
WHAT IS VIM?
|
||||||
@ -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
|
with ten fingers can work very fast. Additionally, function keys can be
|
||||||
mapped to commands by the user, and the mouse can be used.
|
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
|
Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, VMS and almost all
|
||||||
almost all flavours of UNIX. Porting to other systems should not be very
|
flavours of UNIX. Porting to other systems should not be very difficult.
|
||||||
difficult. Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me, Amiga
|
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000, Amiga DOS,
|
||||||
DOS, Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
||||||
|
|
||||||
|
|
||||||
DISTRIBUTION
|
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!
|
||||||
|
```
|
@ -9,10 +9,10 @@ Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
|
|||||||
messages, shows current file name in window title, on-line
|
messages, shows current file name in window title, on-line
|
||||||
help, rectangular cut/paste, etc., etc., etc...
|
help, rectangular cut/paste, etc., etc., etc...
|
||||||
|
|
||||||
Version 8.1. Also runs under UNIX, MS-Windows, Mac, etc.
|
Version 8.2. Also runs under UNIX, MS-Windows, Mac, etc.
|
||||||
vim81rt.tgz contains the documentation and syntax files.
|
vim82rt.tgz contains the documentation and syntax files.
|
||||||
vim81bin.tgz contains the binaries.
|
vim82bin.tgz contains the binaries.
|
||||||
vim81src.tgz contains the sources.
|
vim82src.tgz contains the sources.
|
||||||
Author: Bram Moolenaar et al.
|
Author: Bram Moolenaar et al.
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
README_ami.txt for version 8.1 of Vim: Vi IMproved.
|
README_ami.txt for version 8.2 of Vim: Vi IMproved.
|
||||||
|
|
||||||
This file explains the installation of Vim on Amiga systems.
|
This file explains the installation of Vim on Amiga systems.
|
||||||
See README.txt for general information about Vim.
|
See README.txt for general information about Vim.
|
||||||
@ -16,8 +16,8 @@ easily upgrade to a new version. For example:
|
|||||||
You would then unpack the archives like this:
|
You would then unpack the archives like this:
|
||||||
|
|
||||||
cd dh0:editors
|
cd dh0:editors
|
||||||
tar xf t:vim81bin.tar
|
tar xf t:vim82bin.tar
|
||||||
tar xf t:vim81rt.tar
|
tar xf t:vim82rt.tar
|
||||||
|
|
||||||
Set the $VIM environment variable to point to the top directory of your Vim
|
Set the $VIM environment variable to point to the top directory of your Vim
|
||||||
files. For the above example:
|
files. For the above example:
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
README_amibin.txt for version 8.1 of Vim: Vi IMproved.
|
README_amibin.txt for version 8.2 of Vim: Vi IMproved.
|
||||||
|
|
||||||
See "README.txt" for general information about Vim.
|
See "README.txt" for general information about Vim.
|
||||||
See "README_ami.txt" for installation instructions for the Amiga.
|
See "README_ami.txt" for installation instructions for the Amiga.
|
||||||
These files are in the runtime archive (vim81rt.tgz).
|
These files are in the runtime archive (vim82rt.tgz).
|
||||||
|
|
||||||
|
|
||||||
The Amiga "bin" archive contains the Vim executable for the Amiga. It was
|
The Amiga "bin" archive contains the Vim executable for the Amiga. It was
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
README_amisrc.txt for version 8.1 of Vim: Vi IMproved.
|
README_amisrc.txt for version 8.2 of Vim: Vi IMproved.
|
||||||
|
|
||||||
See "README.txt" for general information about Vim.
|
See "README.txt" for general information about Vim.
|
||||||
See "README_ami.txt" for installation instructions for the Amiga.
|
See "README_ami.txt" for installation instructions for the Amiga.
|
||||||
These files are in the runtime archive (vim81rt.tgz).
|
These files are in the runtime archive (vim82rt.tgz).
|
||||||
|
|
||||||
|
|
||||||
The Amiga source archive contains the files needed to compile Vim on the
|
The Amiga source archive contains the files needed to compile Vim on the
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
README_bindos.txt for version 8.1 of Vim: Vi IMproved.
|
README_bindos.txt for version 8.2 of Vim: Vi IMproved.
|
||||||
|
|
||||||
See "README.txt" for general information about Vim.
|
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-DOS and MS-Windows.
|
||||||
These files are in the runtime archive (vim81rt.zip).
|
These files are in the runtime archive (vim82rt.zip).
|
||||||
|
|
||||||
|
|
||||||
There are several binary distributions of Vim for the PC. You would normally
|
There are several binary distributions of Vim for the PC. You would normally
|
||||||
pick only one of them, but it's also possible to install several.
|
pick only one of them, but it's also possible to install several.
|
||||||
These ones are available (the version number may differ):
|
These ones are available (the version number may differ):
|
||||||
vim81w32.zip Windows 95/98/NT/etc. console version
|
vim82w32.zip Windows 95/98/NT/etc. console version
|
||||||
gvim81.zip Windows 95/98/NT/etc. GUI version
|
gvim82.zip Windows 95/98/NT/etc. GUI version
|
||||||
gvim81ole.zip Windows 95/98/NT/etc. GUI version with OLE
|
gvim82ole.zip Windows 95/98/NT/etc. GUI version with OLE
|
||||||
|
|
||||||
You MUST also get the runtime archive (vim81rt.zip).
|
You MUST also get the runtime archive (vim82rt.zip).
|
||||||
The sources are also available (vim81src.zip).
|
The sources are also available (vim82src.zip).
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
README_dos.txt for version 8.1 of Vim: Vi IMproved.
|
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.
|
See "README.txt" for general information about Vim.
|
||||||
|
|
||||||
There are two ways to install Vim:
|
There are two ways to install Vim:
|
||||||
@ -41,19 +41,19 @@ These are the normal steps to install Vim from the .zip archives:
|
|||||||
located. Check the $VIM setting to see where it points to:
|
located. Check the $VIM setting to see where it points to:
|
||||||
set VIM
|
set VIM
|
||||||
For example, if you have
|
For example, if you have
|
||||||
C:\vim\vim81
|
C:\vim\vim82
|
||||||
do
|
do
|
||||||
cd C:\
|
cd C:\
|
||||||
Binary and runtime Vim archives are normally unpacked in the same location,
|
Binary and runtime Vim archives are normally unpacked in the same location,
|
||||||
on top of each other.
|
on top of each other.
|
||||||
|
|
||||||
2. Unpack the zip archives. This will create a new directory "vim\vim81",
|
2. Unpack the zip archives. This will create a new directory "vim\vim82",
|
||||||
in which all the distributed Vim files are placed. Since the directory
|
in which all the distributed Vim files are placed. Since the directory
|
||||||
name includes the version number, it is unlikely that you overwrite
|
name includes the version number, it is unlikely that you overwrite
|
||||||
existing files.
|
existing files.
|
||||||
Examples:
|
Examples:
|
||||||
pkunzip -d gvim81.zip
|
pkunzip -d gvim82.zip
|
||||||
unzip vim81w32.zip
|
unzip vim82w32.zip
|
||||||
|
|
||||||
You need to unpack the runtime archive and at least one of the binary
|
You need to unpack the runtime archive and at least one of the binary
|
||||||
archives. When using more than one binary version, be careful not to
|
archives. When using more than one binary version, be careful not to
|
||||||
@ -64,12 +64,8 @@ These are the normal steps to install Vim from the .zip archives:
|
|||||||
to another location. That is where they will stay, the install program
|
to another location. That is where they will stay, the install program
|
||||||
won't move or copy the runtime files.
|
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:
|
3. Change to the new directory:
|
||||||
cd vim\vim81
|
cd vim\vim82
|
||||||
Run the "install.exe" program. It will ask you a number of questions about
|
Run the "install.exe" program. It will ask you a number of questions about
|
||||||
how you would like to have your Vim setup. Among these are:
|
how you would like to have your Vim setup. Among these are:
|
||||||
- You can tell it to write a "_vimrc" file with your preferences in the
|
- You can tell it to write a "_vimrc" file with your preferences in the
|
||||||
@ -80,8 +76,8 @@ These are the normal steps to install Vim from the .zip archives:
|
|||||||
console or in a shell. You can select one of the directories in your
|
console or in a shell. You can select one of the directories in your
|
||||||
$PATH. If you skip this, you can add Vim to the search path manually:
|
$PATH. If you skip this, you can add Vim to the search path manually:
|
||||||
The simplest is to add a line to your autoexec.bat. Examples:
|
The simplest is to add a line to your autoexec.bat. Examples:
|
||||||
set path=%path%;C:\vim\vim81
|
set path=%path%;C:\vim\vim82
|
||||||
set path=%path%;D:\editors\vim\vim81
|
set path=%path%;D:\editors\vim\vim82
|
||||||
- Create entries for Vim on the desktop and in the Start menu.
|
- Create entries for Vim on the desktop and in the Start menu.
|
||||||
|
|
||||||
That's it!
|
That's it!
|
||||||
@ -93,8 +89,8 @@ Remarks:
|
|||||||
won't show a menubar. Then you need to set the $VIM environment variable to
|
won't show a menubar. Then you need to set the $VIM environment variable to
|
||||||
point to the top directory of your Vim files. Example:
|
point to the top directory of your Vim files. Example:
|
||||||
set VIM=C:\editors\vim
|
set VIM=C:\editors\vim
|
||||||
Vim version 8.1 will look for your vimrc file in $VIM, and for the runtime
|
Vim version 8.2 will look for your vimrc file in $VIM, and for the runtime
|
||||||
files in $VIM/vim81. See ":help $VIM" for more information.
|
files in $VIM/vim82. See ":help $VIM" for more information.
|
||||||
|
|
||||||
- To avoid confusion between distributed files of different versions and your
|
- To avoid confusion between distributed files of different versions and your
|
||||||
own modified vim scripts, it is recommended to use this directory layout:
|
own modified vim scripts, it is recommended to use this directory layout:
|
||||||
@ -105,14 +101,14 @@ Remarks:
|
|||||||
C:\vim\vimfiles\ftplugin\*.vim Filetype plugins
|
C:\vim\vimfiles\ftplugin\*.vim Filetype plugins
|
||||||
C:\vim\... Other files you made.
|
C:\vim\... Other files you made.
|
||||||
Distributed files:
|
Distributed files:
|
||||||
C:\vim\vim81\vim.exe The Vim version 8.1 executable.
|
C:\vim\vim82\vim.exe The Vim version 8.2 executable.
|
||||||
C:\vim\vim81\doc\*.txt The version 8.1 documentation files.
|
C:\vim\vim82\doc\*.txt The version 8.2 documentation files.
|
||||||
C:\vim\vim81\bugreport.vim A Vim version 8.1 script.
|
C:\vim\vim82\bugreport.vim A Vim version 8.2 script.
|
||||||
C:\vim\vim81\... Other version 8.1 distributed files.
|
C:\vim\vim82\... Other version 8.2 distributed files.
|
||||||
In this case the $VIM environment variable would be set like this:
|
In this case the $VIM environment variable would be set like this:
|
||||||
set VIM=C:\vim
|
set VIM=C:\vim
|
||||||
Then $VIMRUNTIME will automatically be set to "$VIM\vim81". Don't add
|
Then $VIMRUNTIME will automatically be set to "$VIM\vim82". Don't add
|
||||||
"vim81" to $VIM, that won't work.
|
"vim82" to $VIM, that won't work.
|
||||||
|
|
||||||
- You can put your Vim executable anywhere else. If the executable is not
|
- You can put your Vim executable anywhere else. If the executable is not
|
||||||
with the other Vim files, you should set $VIM. The simplest is to add a line
|
with the other Vim files, you should set $VIM. The simplest is to add a line
|
||||||
@ -121,7 +117,7 @@ Remarks:
|
|||||||
set VIM=d:\editors\vim
|
set VIM=d:\editors\vim
|
||||||
|
|
||||||
- If you have told the "install.exe" program to add the "Edit with Vim" menu
|
- 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".
|
":help win32-popup-menu".
|
||||||
|
|
||||||
- In Windows 95/98/NT you can create a shortcut to Vim. This works for all
|
- In Windows 95/98/NT you can create a shortcut to Vim. This works for all
|
||||||
@ -136,8 +132,8 @@ Remarks:
|
|||||||
Select Properties.
|
Select Properties.
|
||||||
5. In the Program tab, change the "Cmdline" to add "/c" and the name of the
|
5. In the Program tab, change the "Cmdline" to add "/c" and the name of the
|
||||||
Vim executable. Examples:
|
Vim executable. Examples:
|
||||||
C:\command.com /c C:\vim\vim81\vim.exe
|
C:\command.com /c C:\vim\vim82\vim.exe
|
||||||
C:\command.com /c D:\editors\vim\vim81\vim.exe
|
C:\command.com /c D:\editors\vim\vim82\vim.exe
|
||||||
6. Select the font, window size, etc. that you like. If this isn't
|
6. Select the font, window size, etc. that you like. If this isn't
|
||||||
possible, select "Advanced" in the Program tab, and deselect "MS-DOS
|
possible, select "Advanced" in the Program tab, and deselect "MS-DOS
|
||||||
mode".
|
mode".
|
||||||
@ -150,5 +146,4 @@ Remarks:
|
|||||||
|
|
||||||
For further information, type one of these inside Vim:
|
For further information, type one of these inside Vim:
|
||||||
:help dos
|
:help dos
|
||||||
:help msdos
|
|
||||||
:help win32
|
:help win32
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
README_extra.txt for version 8.1 of Vim: Vi IMproved.
|
README_extra.txt for version 8.2 of Vim: Vi IMproved.
|
||||||
|
|
||||||
These extra files of Vim are for special purposes. This README explains what
|
These extra files of Vim are for special purposes. This README explains what
|
||||||
the files are for. For general information about Vim, see the "README.txt"
|
the files are for. For general information about Vim, see the "README.txt"
|
||||||
@ -13,9 +13,6 @@ src/if_sniff.* Interface to SNiFF. If you don't know what SNiFF is,
|
|||||||
|
|
||||||
src/os_amiga.* Files for the Amiga port.
|
src/os_amiga.* Files for the Amiga port.
|
||||||
|
|
||||||
src/gui_beos.*
|
|
||||||
src/os_beos.* Files for the BeOS port.
|
|
||||||
|
|
||||||
src/os_msdos.*
|
src/os_msdos.*
|
||||||
src/os_dos.* Files for the MS-DOS port.
|
src/os_dos.* Files for the MS-DOS port.
|
||||||
|
|
||||||
@ -24,9 +21,6 @@ src/os_mac.* Files for the Mac port.
|
|||||||
|
|
||||||
src/os_mint.8 Files for the Atari Mint port.
|
src/os_mint.8 Files for the Atari Mint port.
|
||||||
|
|
||||||
src/os_os2* Files for the OS/2 port.
|
|
||||||
src/tee/* Extra program for OS/2.
|
|
||||||
|
|
||||||
src/os_vms* Files for the VMS port.
|
src/os_vms* Files for the VMS port.
|
||||||
|
|
||||||
src/os_w32*
|
src/os_w32*
|
||||||
|
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,4 +1,4 @@
|
|||||||
README_mac.txt for version 8.1 of Vim: Vi IMproved.
|
README_mac.txt for version 8.2 of Vim: Vi IMproved.
|
||||||
|
|
||||||
This file explains the installation of Vim on Macintosh systems.
|
This file explains the installation of Vim on Macintosh systems.
|
||||||
See "README.txt" for general information about Vim.
|
See "README.txt" for general information about Vim.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
README_ole.txt for version 8.1 of Vim: Vi IMproved.
|
README_ole.txt for version 8.2 of Vim: Vi IMproved.
|
||||||
|
|
||||||
This archive contains gvim.exe with OLE interface and VisVim.
|
This archive contains gvim.exe with OLE interface and VisVim.
|
||||||
This version of gvim.exe can also load a number of interface dynamically (you
|
This version of gvim.exe can also load a number of interface dynamically (you
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
README_os2.txt for version 8.1 of Vim: Vi IMproved.
|
README_os2.txt for version 8.2 of Vim: Vi IMproved.
|
||||||
|
|
||||||
This file used to explain the installation of Vim on OS/2 systems.
|
This file used to explain the installation of Vim on OS/2 systems.
|
||||||
However, support for OS/2 has been removed in patch 7.4.1008.
|
However, support for OS/2 has been removed in patch 7.4.1008.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
README_os390.txt for version 8.1 of Vim: Vi IMproved.
|
README_os390.txt for version 8.2 of Vim: Vi IMproved.
|
||||||
|
|
||||||
This readme explains how to build Vim on z/OS. Formerly called OS/390.
|
This readme explains how to build Vim on z/OS. Formerly called OS/390.
|
||||||
See "README.txt" for general information about Vim.
|
See "README.txt" for general information about Vim.
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
README_src.txt for version 8.1 of Vim: Vi IMproved.
|
README_src.txt for version 8.2 of Vim: Vi IMproved.
|
||||||
|
|
||||||
The source archive contains the files needed to compile Vim on Unix systems.
|
The source archive contains the files needed to compile Vim on Unix systems.
|
||||||
It is packed for Unix systems (NL line separator).
|
It is packed for Unix systems (NL line separator).
|
||||||
|
|
||||||
For more information, see the README.txt file that comes with the runtime
|
For more information, see the README.txt file that comes with the runtime
|
||||||
archive (vim-8.1-rt.tar.gz). To be able to run Vim you MUST get the runtime
|
archive (vim-8.2-rt.tar.gz). To be able to run Vim you MUST get the runtime
|
||||||
archive too!
|
archive too!
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
README_srcdos.txt for version 8.1 of Vim: Vi IMproved.
|
README_srcdos.txt for version 8.2 of Vim: Vi IMproved.
|
||||||
|
|
||||||
See "README.txt" for general information about Vim.
|
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 (vim81rt.zip).
|
These files are in the runtime archive (vim82rt.zip).
|
||||||
|
|
||||||
|
|
||||||
The DOS source archive contains the files needed to compile Vim on MS-DOS or
|
The DOS source archive contains the files needed to compile Vim on MS-Windows.
|
||||||
MS-Windows. It is packed for DOS systems, with CR-LF. It also includes the
|
It is packed for MS-Windows systems, with CR-LF. It also includes the VisVim
|
||||||
VisVim sources.
|
sources.
|
||||||
|
|
||||||
See "src/INSTALLpc.txt" for instructions on how to compile Vim on the PC.
|
See "src/INSTALLpc.txt" for instructions on how to compile Vim on the PC.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
README_unix.txt for version 8.1 of Vim: Vi IMproved.
|
README_unix.txt for version 8.2 of Vim: Vi IMproved.
|
||||||
|
|
||||||
This file explains the installation of Vim on Unix systems.
|
This file explains the installation of Vim on Unix systems.
|
||||||
See "README.txt" for general information about Vim.
|
See "README.txt" for general information about Vim.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
README_vms.txt for version 8.1 of Vim: Vi IMproved.
|
README_vms.txt for version 8.2 of Vim: Vi IMproved.
|
||||||
|
|
||||||
This file explains the installation of Vim on VMS systems.
|
This file explains the installation of Vim on VMS systems.
|
||||||
See "README.txt" in the runtime archive for information about Vim.
|
See "README.txt" in the runtime archive for information about Vim.
|
||||||
|
@ -1,15 +1,6 @@
|
|||||||
README_w32s.txt for version 8.1 of Vim: Vi IMproved.
|
README_w32s.txt for version 8.2 of Vim: Vi IMproved.
|
||||||
|
|
||||||
This archive contains the gvim.exe that was specifically compiled for use in
|
This file used to explain the installation of Vim on MS-Windows 3.1 and 3.11
|
||||||
the Win32s subsystem in 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.
|
||||||
Also see the README_bindos.txt, README_dos.txt and README.txt files.
|
See "README.txt" for general information about Vim.
|
||||||
|
|
||||||
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
|
|
||||||
|
@ -25,9 +25,9 @@ test_script:
|
|||||||
- cd src/testdir
|
- cd src/testdir
|
||||||
# Testing with MSVC gvim
|
# Testing with MSVC gvim
|
||||||
- path C:\Python35-x64;%PATH%
|
- 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
|
- nmake -f Make_dos.mak clean
|
||||||
# Testing with MingW console version
|
# 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
|
# vim: sw=2 sts=2 et ts=8 sr
|
||||||
|
@ -8,6 +8,7 @@ cd src
|
|||||||
echo "Building MinGW 32bit console version"
|
echo "Building MinGW 32bit console version"
|
||||||
set PATH=c:\msys64\mingw32\bin;%PATH%
|
set PATH=c:\msys64\mingw32\bin;%PATH%
|
||||||
mingw32-make.exe -f Make_ming.mak GUI=no OPTIMIZE=speed IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
mingw32-make.exe -f Make_ming.mak GUI=no OPTIMIZE=speed IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
||||||
|
.\vim -u NONE -c "redir @a | ver |0put a | wq" ver_ming.txt
|
||||||
:: Save vim.exe before Make clean, moved back below.
|
:: Save vim.exe before Make clean, moved back below.
|
||||||
copy vim.exe testdir
|
copy vim.exe testdir
|
||||||
mingw32-make.exe -f Make_ming.mak clean
|
mingw32-make.exe -f Make_ming.mak clean
|
||||||
@ -20,13 +21,14 @@ if "%FEATURE%" == "HUGE" (
|
|||||||
) ELSE (
|
) ELSE (
|
||||||
mingw32-make.exe -f Make_ming.mak OPTIMIZE=speed GUI=yes IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
mingw32-make.exe -f Make_ming.mak OPTIMIZE=speed GUI=yes IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
||||||
)
|
)
|
||||||
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_ming.txt
|
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_ming_gui.txt
|
||||||
|
|
||||||
:: Filter out the progress bar from the build log
|
:: Filter out the progress bar from the build log
|
||||||
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
|
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
|
||||||
|
|
||||||
echo "Building MSVC 64bit console Version"
|
echo "Building MSVC 64bit console Version"
|
||||||
nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=no IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=no IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
||||||
|
:: The executable is not used
|
||||||
nmake -f Make_mvc2.mak clean
|
nmake -f Make_mvc2.mak clean
|
||||||
|
|
||||||
:: build MSVC huge version with python and channel support
|
:: build MSVC huge version with python and channel support
|
||||||
@ -43,6 +45,8 @@ if "%FEATURE%" == "HUGE" (
|
|||||||
move /Y testdir\vim.exe .
|
move /Y testdir\vim.exe .
|
||||||
echo "version output MinGW"
|
echo "version output MinGW"
|
||||||
type ver_ming.txt
|
type ver_ming.txt
|
||||||
|
echo "version output MinGW GUI"
|
||||||
|
type ver_ming_gui.txt
|
||||||
echo "version output MVC"
|
echo "version output MVC"
|
||||||
type ver_msvc.txt
|
type ver_msvc.txt
|
||||||
cd ..
|
cd ..
|
||||||
|
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
|
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
|
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).
|
it's the same for all Vim versions).
|
||||||
You can find one in previous Vim versions or in this archive:
|
You can find one in previous Vim versions or in this archive:
|
||||||
http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
|
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.
|
directory). This is required for the terminal window.
|
||||||
|
|
||||||
7. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
|
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:
|
# Uncomment the next line if you want to include VisVim extension:
|
||||||
#!define HAVE_VIS_VIM
|
#!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
|
!define HAVE_MULTI_LANG
|
||||||
|
|
||||||
# Uncomment the next line if you want to create a 64-bit installer.
|
# 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\japanese.nsi"
|
||||||
!include "lang\simpchinese.nsi"
|
!include "lang\simpchinese.nsi"
|
||||||
!include "lang\tradchinese.nsi"
|
!include "lang\tradchinese.nsi"
|
||||||
|
!include "lang\turkish.nsi"
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
##########################################################
|
##########################################################
|
||||||
|
@ -2,5 +2,5 @@
|
|||||||
!ifndef __GVIM_VER__NSH__
|
!ifndef __GVIM_VER__NSH__
|
||||||
!define __GVIM_VER__NSH__
|
!define __GVIM_VER__NSH__
|
||||||
!define VER_MAJOR 8
|
!define VER_MAJOR 8
|
||||||
!define VER_MINOR 1
|
!define VER_MINOR 2
|
||||||
!endif
|
!endif
|
||||||
|
@ -66,12 +66,12 @@ LangString str_desc_start_menu ${LANG_TURKISH} \
|
|||||||
LangString str_section_edit_with ${LANG_TURKISH} \
|
LangString str_section_edit_with ${LANG_TURKISH} \
|
||||||
"Vim ile Aç"
|
"Vim ile Aç"
|
||||||
LangString str_desc_edit_with ${LANG_TURKISH} \
|
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} \
|
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} \
|
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} \
|
LangString str_group_plugin ${LANG_TURKISH} \
|
||||||
"Eklenti dizinleri oluştur"
|
"Eklenti dizinleri oluştur"
|
||||||
@ -108,7 +108,7 @@ LangString str_desc_unregister ${LANG_TURKISH} \
|
|||||||
LangString str_unsection_exe ${LANG_TURKISH} \
|
LangString str_unsection_exe ${LANG_TURKISH} \
|
||||||
"Vim programını ve çalıştırma dosyalarını kaldır"
|
"Vim programını ve çalıştırma dosyalarını kaldır"
|
||||||
LangString str_desc_rm_exe ${LANG_TURKISH} \
|
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} \
|
LangString str_ungroup_plugin ${LANG_TURKISH} \
|
||||||
"Eklenti dizinlerini kaldır"
|
"Eklenti dizinlerini kaldır"
|
||||||
@ -128,7 +128,7 @@ LangString str_desc_rm_plugin_vim ${LANG_TURKISH} \
|
|||||||
LangString str_unsection_rootdir ${LANG_TURKISH} \
|
LangString str_unsection_rootdir ${LANG_TURKISH} \
|
||||||
"Vim kök dizinini kaldır"
|
"Vim kök dizinini kaldır"
|
||||||
LangString str_desc_rm_rootdir ${LANG_TURKISH} \
|
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} \
|
LangString str_msg_install_fail ${LANG_TURKISH} \
|
||||||
"Yükleme başarısız oldu. Yeniden deneyin."
|
"Yükleme başarısız oldu. Yeniden deneyin."
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
" Vim completion script
|
" Vim completion script
|
||||||
" Language: C
|
" Language: C
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2018 Aug 20
|
" Last Change: 2020 Apr 08
|
||||||
|
|
||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
@ -635,3 +635,5 @@ endfunc
|
|||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
unlet 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
|
" Vim functions for file type detection
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" 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
|
" These functions are moved here from runtime/filetype.vim to make startup
|
||||||
" faster.
|
" faster.
|
||||||
@ -298,7 +298,7 @@ endfunc
|
|||||||
|
|
||||||
func dist#ft#FTmms()
|
func dist#ft#FTmms()
|
||||||
let n = 1
|
let n = 1
|
||||||
while n < 10
|
while n < 20
|
||||||
let line = getline(n)
|
let line = getline(n)
|
||||||
if line =~ '^\s*\(%\|//\)' || line =~ '^\*'
|
if line =~ '^\s*\(%\|//\)' || line =~ '^\*'
|
||||||
setf mmix
|
setf mmix
|
||||||
@ -325,7 +325,7 @@ endfunc
|
|||||||
|
|
||||||
func dist#ft#FTmm()
|
func dist#ft#FTmm()
|
||||||
let n = 1
|
let n = 1
|
||||||
while n < 10
|
while n < 20
|
||||||
let line = getline(n)
|
let line = getline(n)
|
||||||
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|/\*\)'
|
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|/\*\)'
|
||||||
setf objcpp
|
setf objcpp
|
||||||
|
@ -22,7 +22,7 @@ if &cp
|
|||||||
endif
|
endif
|
||||||
if v:version < 702
|
if v:version < 702
|
||||||
echohl WarningMsg
|
echohl WarningMsg
|
||||||
echo "***warning*** this version of getscript needs vim 7.2"
|
echo "***warning*** this version of GetLatestVimScripts needs vim 7.2"
|
||||||
echohl Normal
|
echohl Normal
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
" netrw.vim: Handles file transfer and remote directory listing across
|
" netrw.vim: Handles file transfer and remote directory listing across
|
||||||
" AUTOLOAD SECTION
|
" AUTOLOAD SECTION
|
||||||
" Date: Nov 29, 2019
|
" Date: Jan 07, 2020
|
||||||
" Version: 167
|
" Version: 168
|
||||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||||
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
|
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
|
||||||
" Permission is hereby granted to use and distribute this code,
|
" Permission is hereby granted to use and distribute this code,
|
||||||
@ -43,7 +43,7 @@ if exists("s:needspatches")
|
|||||||
endfor
|
endfor
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let g:loaded_netrw = "v167"
|
let g:loaded_netrw = "v168"
|
||||||
if !exists("s:NOTE")
|
if !exists("s:NOTE")
|
||||||
let s:NOTE = 0
|
let s:NOTE = 0
|
||||||
let s:WARNING = 1
|
let s:WARNING = 1
|
||||||
@ -68,7 +68,7 @@ setl cpo&vim
|
|||||||
" Usage: netrw#ErrorMsg(s:NOTE | s:WARNING | s:ERROR,"some message",error-number)
|
" 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)
|
" netrw#ErrorMsg(s:NOTE | s:WARNING | s:ERROR,["message1","message2",...],error-number)
|
||||||
" (this function can optionally take a list of messages)
|
" (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)
|
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)
|
" 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= ""
|
let g:netrw_localmovecmd= ""
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
if v:version < 704 || (v:version == 704 && !has("patch1107"))
|
" following serves as an example for how to insert a version&patch specific test
|
||||||
" 1109 provides for delete(tmpdir,"d") which is what will be used
|
"if v:version < 704 || (v:version == 704 && !has("patch1107"))
|
||||||
if exists("g:netrw_local_rmdir")
|
"endif
|
||||||
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
|
|
||||||
call s:NetrwInit("g:netrw_liststyle" , s:THINLIST)
|
call s:NetrwInit("g:netrw_liststyle" , s:THINLIST)
|
||||||
" sanity checks
|
" sanity checks
|
||||||
if g:netrw_liststyle < 0 || g:netrw_liststyle >= s:MAXLIST
|
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 a:remote == 0 && isdirectory(a:fname)
|
||||||
" if its really just a local directory, then do a "gf" instead
|
" 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("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>"))
|
" call Decho("..appears to be a local directory; using e ".a:fname." instead",'~'.expand("<slnum>"))
|
||||||
norm! gf
|
exe "e ".a:fname
|
||||||
" call Dret("netrw#BrowseX")
|
" call Dret("netrw#BrowseX")
|
||||||
return
|
return
|
||||||
elseif a:remote == 1 && a:fname !~ '^https\=:' && a:fname =~ '/$'
|
elseif a:remote == 1 && a:fname !~ '^https\=:' && a:fname =~ '/$'
|
||||||
@ -7158,18 +7144,9 @@ fun! s:NetrwMarkFileCopy(islocal,...)
|
|||||||
" call Dret("s:NetrwMarkFileCopy : lcd failure")
|
" call Dret("s:NetrwMarkFileCopy : lcd failure")
|
||||||
return
|
return
|
||||||
endif
|
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")
|
if delete(tmpdir,"d")
|
||||||
call netrw#ErrorMsg(s:ERROR,"unable to delete directory <".tmpdir.">!",103)
|
call netrw#ErrorMsg(s:ERROR,"unable to delete directory <".tmpdir.">!",103)
|
||||||
endif
|
endif
|
||||||
endif
|
|
||||||
else
|
else
|
||||||
if s:NetrwLcd(curdir)
|
if s:NetrwLcd(curdir)
|
||||||
" call Dret("s:NetrwMarkFileCopy : lcd failure")
|
" call Dret("s:NetrwMarkFileCopy : lcd failure")
|
||||||
@ -9587,6 +9564,7 @@ fun! s:NetrwWideListing()
|
|||||||
" call Decho("setl ma noro",'~'.expand("<slnum>"))
|
" call Decho("setl ma noro",'~'.expand("<slnum>"))
|
||||||
let b:netrw_cpf= 0
|
let b:netrw_cpf= 0
|
||||||
if line("$") >= w:netrw_bannercnt
|
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'
|
exe 'sil NetrwKeepj '.w:netrw_bannercnt.',$g/^./if virtcol("$") > b:netrw_cpf|let b:netrw_cpf= virtcol("$")|endif'
|
||||||
NetrwKeepj call histdel("/",-1)
|
NetrwKeepj call histdel("/",-1)
|
||||||
else
|
else
|
||||||
@ -9594,6 +9572,7 @@ fun! s:NetrwWideListing()
|
|||||||
" call Dret("NetrwWideListing")
|
" call Dret("NetrwWideListing")
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
" allow for two spaces to separate columns
|
||||||
let b:netrw_cpf= b:netrw_cpf + 2
|
let b:netrw_cpf= b:netrw_cpf + 2
|
||||||
" call Decho("b:netrw_cpf=max_filename_length+2=".b:netrw_cpf,'~'.expand("<slnum>"))
|
" 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
|
if newcolend > line("$") | let newcolend= line("$") | endif
|
||||||
let newcolqty= newcolend - newcolstart
|
let newcolqty= newcolend - newcolstart
|
||||||
exe newcolstart
|
exe newcolstart
|
||||||
|
" COMBAK: both of the visual-mode using lines below are problematic vis-a-vis @*
|
||||||
if newcolqty == 0
|
if newcolqty == 0
|
||||||
exe "sil! NetrwKeepj norm! 0\<c-v>$h\"ax".w:netrw_bannercnt."G$\"ap"
|
exe "sil! NetrwKeepj norm! 0\<c-v>$h\"ax".w:netrw_bannercnt."G$\"ap"
|
||||||
else
|
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
|
endif
|
||||||
exe "sil! NetrwKeepj ".newcolstart.','.newcolend.'d _'
|
exe "sil! NetrwKeepj ".newcolstart.','.newcolend.'d _'
|
||||||
exe 'sil! NetrwKeepj '.w:netrw_bannercnt
|
exe 'sil! NetrwKeepj '.w:netrw_bannercnt
|
||||||
@ -11051,6 +11031,7 @@ fun! s:NetrwLocalRename(path) range
|
|||||||
let ykeep = @@
|
let ykeep = @@
|
||||||
let ctr = a:firstline
|
let ctr = a:firstline
|
||||||
let svpos = winsaveview()
|
let svpos = winsaveview()
|
||||||
|
let all = 0
|
||||||
" call Decho("saving posn to svpos<".string(svpos).">",'~'.expand("<slnum>"))
|
" call Decho("saving posn to svpos<".string(svpos).">",'~'.expand("<slnum>"))
|
||||||
|
|
||||||
" rename files given by the markfilelist
|
" rename files given by the markfilelist
|
||||||
@ -11078,6 +11059,23 @@ fun! s:NetrwLocalRename(path) range
|
|||||||
let newname = substitute(oldname,subfrom,subto,'')
|
let newname = substitute(oldname,subfrom,subto,'')
|
||||||
endif
|
endif
|
||||||
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)
|
call rename(oldname,newname)
|
||||||
endfor
|
endfor
|
||||||
call s:NetrwUnmarkList(bufnr("%"),b:netrw_curdir)
|
call s:NetrwUnmarkList(bufnr("%"),b:netrw_curdir)
|
||||||
@ -11896,6 +11894,9 @@ fun! s:NetrwExe(cmd)
|
|||||||
" call Decho("exe ".a:cmd,'~'.expand("<slnum>"))
|
" call Decho("exe ".a:cmd,'~'.expand("<slnum>"))
|
||||||
exe a:cmd
|
exe a:cmd
|
||||||
endif
|
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)
|
" call Dret("s:NetrwExe : v:shell_error=".v:shell_error)
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
" netrwSettings.vim: makes netrw settings simpler
|
" netrwSettings.vim: makes netrw settings simpler
|
||||||
" Date: Nov 09, 2016
|
" Date: Nov 09, 2016
|
||||||
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
|
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||||
" Version: 16
|
" Version: 16
|
||||||
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
|
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
|
||||||
" Permission is hereby granted to use and distribute this code,
|
" Permission is hereby granted to use and distribute this code,
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
" Maintainer: Mark Guzman <segfault@hasno.info>
|
" Maintainer: Mark Guzman <segfault@hasno.info>
|
||||||
" URL: https://github.com/vim-ruby/vim-ruby
|
" URL: https://github.com/vim-ruby/vim-ruby
|
||||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||||
" Last Change: 2019 Jan 06
|
" Last Change: 2019 Feb 25
|
||||||
" ----------------------------------------------------------------------------
|
" ----------------------------------------------------------------------------
|
||||||
"
|
"
|
||||||
" Ruby IRB/Complete author: Keiju ISHITSUKA(keiju@ishitsuka.com)
|
" Ruby IRB/Complete author: Keiju ISHITSUKA(keiju@ishitsuka.com)
|
||||||
@ -53,6 +53,23 @@ if !exists("g:rubycomplete_include_objectspace")
|
|||||||
endif
|
endif
|
||||||
" }}} configuration failsafe initialization
|
" }}} configuration failsafe initialization
|
||||||
|
|
||||||
|
" {{{ regex patterns
|
||||||
|
|
||||||
|
" Regex that defines the start-match for the 'end' keyword.
|
||||||
|
let s:end_start_regex =
|
||||||
|
\ '\C\%(^\s*\|[=,*/%+\-|;{]\|<<\|>>\|:\s\)\s*\zs' .
|
||||||
|
\ '\<\%(module\|class\|if\|for\|while\|until\|case\|unless\|begin' .
|
||||||
|
\ '\|\%(\K\k*[!?]\?\s\+\)\=def\):\@!\>' .
|
||||||
|
\ '\|\%(^\|[^.:@$]\)\@<=\<do:\@!\>'
|
||||||
|
|
||||||
|
" Regex that defines the middle-match for the 'end' keyword.
|
||||||
|
let s:end_middle_regex = '\<\%(ensure\|else\|\%(\%(^\|;\)\s*\)\@<=\<rescue:\@!\>\|when\|elsif\):\@!\>'
|
||||||
|
|
||||||
|
" Regex that defines the end-match for the 'end' keyword.
|
||||||
|
let s:end_end_regex = '\%(^\|[^.:@$]\)\@<=\<end:\@!\>'
|
||||||
|
|
||||||
|
" }}} regex patterns
|
||||||
|
|
||||||
" {{{ vim-side support functions
|
" {{{ vim-side support functions
|
||||||
let s:rubycomplete_debug = 0
|
let s:rubycomplete_debug = 0
|
||||||
|
|
||||||
@ -103,7 +120,7 @@ function! s:GetBufferRubyEntity( name, type, ... )
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
let curpos = getpos(".")
|
let curpos = getpos(".")
|
||||||
let [enum,ecol] = searchpairpos( crex, '', '\(end\|}\)', 'W' )
|
let [enum,ecol] = searchpairpos( s:end_start_regex, s:end_middle_regex, s:end_end_regex, 'W' )
|
||||||
call cursor(lastpos[1], lastpos[2])
|
call cursor(lastpos[1], lastpos[2])
|
||||||
|
|
||||||
if lnum > enum
|
if lnum > enum
|
||||||
@ -128,19 +145,28 @@ function! s:IsPosInClassDef(pos)
|
|||||||
return ret
|
return ret
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! s:IsInComment(pos)
|
||||||
|
let stack = synstack(a:pos[0], a:pos[1])
|
||||||
|
if !empty(stack)
|
||||||
|
return synIDattr(stack[0], 'name') =~ 'ruby\%(.*Comment\|Documentation\)'
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
function! s:GetRubyVarType(v)
|
function! s:GetRubyVarType(v)
|
||||||
let stopline = 1
|
let stopline = 1
|
||||||
let vtp = ''
|
let vtp = ''
|
||||||
let pos = getpos('.')
|
let curpos = getpos('.')
|
||||||
let sstr = '^\s*#\s*@var\s*'.escape(a:v, '*').'\>\s\+[^ \t]\+\s*$'
|
let sstr = '^\s*#\s*@var\s*'.escape(a:v, '*').'\>\s\+[^ \t]\+\s*$'
|
||||||
let [lnum,lcol] = searchpos(sstr,'nb',stopline)
|
let [lnum,lcol] = searchpos(sstr,'nb',stopline)
|
||||||
if lnum != 0 && lcol != 0
|
if lnum != 0 && lcol != 0
|
||||||
call setpos('.',pos)
|
call setpos('.',curpos)
|
||||||
let str = getline(lnum)
|
let str = getline(lnum)
|
||||||
let vtp = substitute(str,sstr,'\1','')
|
let vtp = substitute(str,sstr,'\1','')
|
||||||
return vtp
|
return vtp
|
||||||
endif
|
endif
|
||||||
call setpos('.',pos)
|
call setpos('.',curpos)
|
||||||
let ctors = '\(now\|new\|open\|get_instance'
|
let ctors = '\(now\|new\|open\|get_instance'
|
||||||
if exists('g:rubycomplete_rails') && g:rubycomplete_rails == 1 && s:rubycomplete_rails_loaded == 1
|
if exists('g:rubycomplete_rails') && g:rubycomplete_rails == 1 && s:rubycomplete_rails_loaded == 1
|
||||||
let ctors = ctors.'\|find\|create'
|
let ctors = ctors.'\|find\|create'
|
||||||
@ -150,9 +176,13 @@ function! s:GetRubyVarType(v)
|
|||||||
|
|
||||||
let fstr = '=\s*\([^ \t]\+.' . ctors .'\>\|[\[{"''/]\|%[xwQqr][(\[{@]\|[A-Za-z0-9@:\-()\.]\+...\?\|lambda\|&\)'
|
let fstr = '=\s*\([^ \t]\+.' . ctors .'\>\|[\[{"''/]\|%[xwQqr][(\[{@]\|[A-Za-z0-9@:\-()\.]\+...\?\|lambda\|&\)'
|
||||||
let sstr = ''.escape(a:v, '*').'\>\s*[+\-*/]*'.fstr
|
let sstr = ''.escape(a:v, '*').'\>\s*[+\-*/]*'.fstr
|
||||||
let [lnum,lcol] = searchpos(sstr,'nb',stopline)
|
let pos = searchpos(sstr,'bW')
|
||||||
if lnum != 0 && lcol != 0
|
while pos != [0,0] && s:IsInComment(pos)
|
||||||
let str = matchstr(getline(lnum),fstr,lcol)
|
let pos = searchpos(sstr,'bW')
|
||||||
|
endwhile
|
||||||
|
if pos != [0,0]
|
||||||
|
let [lnum, col] = pos
|
||||||
|
let str = matchstr(getline(lnum),fstr,col)
|
||||||
let str = substitute(str,'^=\s*','','')
|
let str = substitute(str,'^=\s*','','')
|
||||||
|
|
||||||
call setpos('.',pos)
|
call setpos('.',pos)
|
||||||
@ -174,7 +204,7 @@ function! s:GetRubyVarType(v)
|
|||||||
end
|
end
|
||||||
return ''
|
return ''
|
||||||
endif
|
endif
|
||||||
call setpos('.',pos)
|
call setpos('.',curpos)
|
||||||
return ''
|
return ''
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
@ -671,11 +701,10 @@ class VimRubyCompletion
|
|||||||
methods.delete_if { |c| c.match( /'/ ) }
|
methods.delete_if { |c| c.match( /'/ ) }
|
||||||
end
|
end
|
||||||
|
|
||||||
when /^::([A-Z][^:\.\(]*)$/ # Absolute Constant or class methods
|
when /^::([A-Z][^:\.\(]*)?$/ # Absolute Constant or class methods
|
||||||
dprint "const or cls"
|
dprint "const or cls"
|
||||||
receiver = $1
|
receiver = $1
|
||||||
methods = Object.constants
|
methods = Object.constants.collect{ |c| c.to_s }.grep(/^#{receiver}/)
|
||||||
methods.grep(/^#{receiver}/).collect{|e| "::" + e}
|
|
||||||
|
|
||||||
when /^(((::)?[A-Z][^:.\(]*)+?)::?([^:.]*)$/ # Constant or class methods
|
when /^(((::)?[A-Z][^:.\(]*)+?)::?([^:.]*)$/ # Constant or class methods
|
||||||
receiver = $1
|
receiver = $1
|
||||||
@ -684,13 +713,13 @@ class VimRubyCompletion
|
|||||||
load_buffer_class( receiver )
|
load_buffer_class( receiver )
|
||||||
load_buffer_module( receiver )
|
load_buffer_module( receiver )
|
||||||
begin
|
begin
|
||||||
classes = eval("#{receiver}.constants")
|
constants = eval("#{receiver}.constants").collect{ |c| c.to_s }.grep(/^#{message}/)
|
||||||
#methods = eval("#{receiver}.methods")
|
methods = eval("#{receiver}.methods").collect{ |m| m.to_s }.grep(/^#{message}/)
|
||||||
rescue Exception
|
rescue Exception
|
||||||
dprint "exception: %s" % $!
|
dprint "exception: %s" % $!
|
||||||
|
constants = []
|
||||||
methods = []
|
methods = []
|
||||||
end
|
end
|
||||||
methods.grep(/^#{message}/).collect{|e| receiver + "::" + e}
|
|
||||||
|
|
||||||
when /^(:[^:.]+)\.([^.]*)$/ # Symbol
|
when /^(:[^:.]+)\.([^.]*)$/ # Symbol
|
||||||
dprint "symbol"
|
dprint "symbol"
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
" tar.vim: Handles browsing tarfiles
|
" tar.vim: Handles browsing tarfiles
|
||||||
" AUTOLOAD PORTION
|
" AUTOLOAD PORTION
|
||||||
" Date: Apr 17, 2013
|
" Date: Jan 07, 2020
|
||||||
" Version: 29
|
" Version: 32
|
||||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||||
" License: Vim License (see vim's :help license)
|
" License: Vim License (see vim's :help license)
|
||||||
"
|
"
|
||||||
" Contains many ideas from Michael Toren's <tar.vim>
|
" 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,
|
" Permission is hereby granted to use and distribute this code,
|
||||||
" with or without modifications, provided that this copyright
|
" with or without modifications, provided that this copyright
|
||||||
" notice is copied with it. Like anything else that's free,
|
" notice is copied with it. Like anything else that's free,
|
||||||
@ -22,7 +22,7 @@
|
|||||||
if &cp || exists("g:loaded_tar")
|
if &cp || exists("g:loaded_tar")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let g:loaded_tar= "v29"
|
let g:loaded_tar= "v32"
|
||||||
if v:version < 702
|
if v:version < 702
|
||||||
echohl WarningMsg
|
echohl WarningMsg
|
||||||
echo "***warning*** this version of tar needs vim 7.2"
|
echo "***warning*** this version of tar needs vim 7.2"
|
||||||
@ -48,6 +48,9 @@ endif
|
|||||||
if !exists("g:tar_writeoptions")
|
if !exists("g:tar_writeoptions")
|
||||||
let g:tar_writeoptions= "uf"
|
let g:tar_writeoptions= "uf"
|
||||||
endif
|
endif
|
||||||
|
if !exists("g:tar_delfile")
|
||||||
|
let g:tar_delfile="--delete -f"
|
||||||
|
endif
|
||||||
if !exists("g:netrw_cygwin")
|
if !exists("g:netrw_cygwin")
|
||||||
if has("win32") || has("win95") || has("win64") || has("win16")
|
if has("win32") || has("win95") || has("win64") || has("win16")
|
||||||
if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
|
if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
|
||||||
@ -109,6 +112,7 @@ fun! tar#Browse(tarfile)
|
|||||||
" sanity checks
|
" sanity checks
|
||||||
if !executable(g:tar_cmd)
|
if !executable(g:tar_cmd)
|
||||||
redraw!
|
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'
|
echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system'
|
||||||
let &report= repkeep
|
let &report= repkeep
|
||||||
" call Dret("tar#Browse")
|
" call Dret("tar#Browse")
|
||||||
@ -119,6 +123,7 @@ fun! tar#Browse(tarfile)
|
|||||||
if a:tarfile !~# '^\a\+://'
|
if a:tarfile !~# '^\a\+://'
|
||||||
" if it's an url, don't complain, let url-handlers such as vim do its thing
|
" if it's an url, don't complain, let url-handlers such as vim do its thing
|
||||||
redraw!
|
redraw!
|
||||||
|
" call Decho("***error*** (tar#Browse) File not readable<".a:tarfile.">")
|
||||||
echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None
|
echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None
|
||||||
endif
|
endif
|
||||||
let &report= repkeep
|
let &report= repkeep
|
||||||
@ -152,12 +157,27 @@ fun! tar#Browse(tarfile)
|
|||||||
" assuming cygwin
|
" assuming cygwin
|
||||||
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
|
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let curlast= line("$")
|
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." - ")
|
" 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'
|
elseif tarfile =~# '\.lrp'
|
||||||
" call Decho("2: exe silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ")
|
" 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." - "
|
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.">")
|
" call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
|
||||||
return
|
return
|
||||||
endif
|
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!
|
redraw!
|
||||||
echohl WarningMsg | echo "***warning*** (tar#Browse) ".a:tarfile." doesn't appear to be a tar file" | echohl None
|
echohl WarningMsg | echo "***warning*** (tar#Browse) ".a:tarfile." doesn't appear to be a tar file" | echohl None
|
||||||
keepj sil! %d
|
keepj sil! %d
|
||||||
@ -197,8 +217,13 @@ fun! tar#Browse(tarfile)
|
|||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" set up maps supported for tar
|
||||||
setlocal noma nomod ro
|
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
|
let &report= repkeep
|
||||||
" call Dret("tar#Browse : b:tarfile<".b:tarfile.">")
|
" 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')
|
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
|
||||||
endif
|
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
|
if !exists("g:tar_nomax") || g:tar_nomax == 0
|
||||||
wincmd _
|
wincmd _
|
||||||
endif
|
endif
|
||||||
@ -267,7 +293,7 @@ fun! tar#Read(fname,mode)
|
|||||||
if fname =~ '\.bz2$' && executable("bzcat")
|
if fname =~ '\.bz2$' && executable("bzcat")
|
||||||
let decmp= "|bzcat"
|
let decmp= "|bzcat"
|
||||||
let doro = 1
|
let doro = 1
|
||||||
elseif fname =~ '\.gz$' && executable("zcat")
|
elseif fname =~ '\.t\=gz$' && executable("zcat")
|
||||||
let decmp= "|zcat"
|
let decmp= "|zcat"
|
||||||
let doro = 1
|
let doro = 1
|
||||||
elseif fname =~ '\.lzma$' && executable("lzcat")
|
elseif fname =~ '\.lzma$' && executable("lzcat")
|
||||||
@ -291,20 +317,29 @@ fun! tar#Read(fname,mode)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if tarfile =~# '\.bz2$'
|
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
|
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\)$'
|
elseif tarfile =~# '\.\(gz\)$'
|
||||||
let gzip_command = s:get_gzip_command(tarfile)
|
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||||
" 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 =~# '\(\.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$'
|
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
|
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$'
|
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
|
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\)$'
|
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
|
exe "sil! r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||||
else
|
else
|
||||||
if tarfile =~ '^\s*-'
|
if tarfile =~ '^\s*-'
|
||||||
@ -348,13 +383,14 @@ fun! tar#Write(fname)
|
|||||||
" sanity checks
|
" sanity checks
|
||||||
if !executable(g:tar_cmd)
|
if !executable(g:tar_cmd)
|
||||||
redraw!
|
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
|
let &report= repkeep
|
||||||
" call Dret("tar#Write")
|
" call Dret("tar#Write")
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
if !exists("*mkdir")
|
if !exists("*mkdir")
|
||||||
redraw!
|
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
|
echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None
|
||||||
let &report= repkeep
|
let &report= repkeep
|
||||||
" call Dret("tar#Write")
|
" call Dret("tar#Write")
|
||||||
@ -375,6 +411,7 @@ fun! tar#Write(fname)
|
|||||||
exe "cd ".fnameescape(tmpdir)
|
exe "cd ".fnameescape(tmpdir)
|
||||||
catch /^Vim\%((\a\+)\)\=:E344/
|
catch /^Vim\%((\a\+)\)\=:E344/
|
||||||
redraw!
|
redraw!
|
||||||
|
" call Decho("***error*** (tar#Write) cannot cd to temporary directory")
|
||||||
echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None
|
echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None
|
||||||
let &report= repkeep
|
let &report= repkeep
|
||||||
" call Dret("tar#Write")
|
" call Dret("tar#Write")
|
||||||
@ -393,8 +430,6 @@ fun! tar#Write(fname)
|
|||||||
let tarfile = substitute(b:tarfile,'tarfile:\(.\{-}\)::.*$','\1','')
|
let tarfile = substitute(b:tarfile,'tarfile:\(.\{-}\)::.*$','\1','')
|
||||||
let fname = substitute(b:tarfile,'tarfile:.\{-}::\(.*\)$','\1','')
|
let fname = substitute(b:tarfile,'tarfile:.\{-}::\(.*\)$','\1','')
|
||||||
|
|
||||||
let gzip_command = s:get_gzip_command(tarfile)
|
|
||||||
|
|
||||||
" handle compressed archives
|
" handle compressed archives
|
||||||
if tarfile =~# '\.bz2'
|
if tarfile =~# '\.bz2'
|
||||||
call system("bzip2 -d -- ".shellescape(tarfile,0))
|
call system("bzip2 -d -- ".shellescape(tarfile,0))
|
||||||
@ -402,12 +437,12 @@ fun! tar#Write(fname)
|
|||||||
let compress= "bzip2 -- ".shellescape(tarfile,0)
|
let compress= "bzip2 -- ".shellescape(tarfile,0)
|
||||||
" call Decho("compress<".compress.">")
|
" call Decho("compress<".compress.">")
|
||||||
elseif tarfile =~# '\.gz'
|
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 tarfile = substitute(tarfile,'\.gz','','e')
|
||||||
let compress= "gzip -- ".shellescape(tarfile,0)
|
let compress= "gzip -- ".shellescape(tarfile,0)
|
||||||
" call Decho("compress<".compress.">")
|
" call Decho("compress<".compress.">")
|
||||||
elseif tarfile =~# '\.tgz'
|
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 tarfile = substitute(tarfile,'\.tgz','.tar','e')
|
||||||
let compress= "gzip -- ".shellescape(tarfile,0)
|
let compress= "gzip -- ".shellescape(tarfile,0)
|
||||||
let tgz = 1
|
let tgz = 1
|
||||||
@ -427,6 +462,7 @@ fun! tar#Write(fname)
|
|||||||
|
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
redraw!
|
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
|
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
|
||||||
else
|
else
|
||||||
|
|
||||||
@ -459,10 +495,11 @@ fun! tar#Write(fname)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" delete old file from tarfile
|
" delete old file from tarfile
|
||||||
" call Decho("system(".g:tar_cmd." --delete -f ".shellescape(tarfile,0)." -- ".shellescape(fname,0).")")
|
" call Decho("system(".g:tar_cmd." ".g:tar_delfile." ".shellescape(tarfile,0)." -- ".shellescape(fname,0).")")
|
||||||
call system(g:tar_cmd." --delete -f ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
|
call system(g:tar_cmd." ".g:tar_delfile." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
redraw!
|
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
|
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
|
||||||
else
|
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))
|
call system(g:tar_cmd." -".g:tar_writeoptions." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
redraw!
|
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
|
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
|
||||||
elseif exists("compress")
|
elseif exists("compress")
|
||||||
" call Decho("call system(".compress.")")
|
" call Decho("call system(".compress.")")
|
||||||
@ -486,11 +524,11 @@ fun! tar#Write(fname)
|
|||||||
if s:tblfile_{winnr()} =~ '^\a\+://'
|
if s:tblfile_{winnr()} =~ '^\a\+://'
|
||||||
" call Decho("handle writing <".tarfile."> across network to <".s:tblfile_{winnr()}.">")
|
" call Decho("handle writing <".tarfile."> across network to <".s:tblfile_{winnr()}.">")
|
||||||
let tblfile= s:tblfile_{winnr()}
|
let tblfile= s:tblfile_{winnr()}
|
||||||
1split|enew
|
1split|noswapfile enew
|
||||||
let binkeep= &l:binary
|
let binkeep= &l:binary
|
||||||
let eikeep = &ei
|
let eikeep = &ei
|
||||||
set binary ei=all
|
set binary ei=all
|
||||||
exe "e! ".fnameescape(tarfile)
|
exe "noswapfile e! ".fnameescape(tarfile)
|
||||||
call netrw#NetWrite(tblfile)
|
call netrw#NetWrite(tblfile)
|
||||||
let &ei = eikeep
|
let &ei = eikeep
|
||||||
let &l:binary = binkeep
|
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)
|
" sets up b:tardiff_otherbuf variables so each buffer knows about the other (for closing purposes)
|
||||||
diffthis
|
diffthis
|
||||||
wincmd v
|
wincmd v
|
||||||
exe "e ".fnameescape(fname)
|
exe "noswapfile e ".fnameescape(fname)
|
||||||
diffthis
|
diffthis
|
||||||
else
|
else
|
||||||
redraw!
|
redraw!
|
||||||
@ -533,6 +571,119 @@ fun! tar#Diff(userfname,fname)
|
|||||||
" call Dret("tar#Diff")
|
" call Dret("tar#Diff")
|
||||||
endfun
|
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
|
" s:Rmdir: {{{2
|
||||||
fun! s:Rmdir(fname)
|
fun! s:Rmdir(fname)
|
||||||
@ -587,10 +738,7 @@ fun! tar#Vimuntar(...)
|
|||||||
|
|
||||||
" if necessary, decompress the tarball; then, extract it
|
" if necessary, decompress the tarball; then, extract it
|
||||||
if tartail =~ '\.tgz'
|
if tartail =~ '\.tgz'
|
||||||
let gzip_command = s:get_gzip_command(tarfile)
|
if executable("gunzip")
|
||||||
if executable(gzip_command)
|
|
||||||
silent exe "!" . gzip_command . " -d ".shellescape(tartail)
|
|
||||||
elseif executable("gunzip")
|
|
||||||
silent exe "!gunzip ".shellescape(tartail)
|
silent exe "!gunzip ".shellescape(tartail)
|
||||||
elseif executable("gzip")
|
elseif executable("gzip")
|
||||||
silent exe "!gzip -d ".shellescape(tartail)
|
silent exe "!gzip -d ".shellescape(tartail)
|
||||||
@ -628,28 +776,6 @@ fun! tar#Vimuntar(...)
|
|||||||
" call Dret("tar#Vimuntar")
|
" call Dret("tar#Vimuntar")
|
||||||
endfun
|
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
|
" Modelines And Restoration: {{{1
|
||||||
let &cpo= s:keepcpo
|
let &cpo= s:keepcpo
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
" Vim plugin for formatting XML
|
" Vim plugin for formatting XML
|
||||||
" Last Change: 2019 Oct 24
|
" Last Change: 2020 Jan 06
|
||||||
" Version: 0.2
|
" Version: 0.3
|
||||||
" Author: Christian Brabandt <cb@256bit.org>
|
" Author: Christian Brabandt <cb@256bit.org>
|
||||||
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
|
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
|
||||||
" License: VIM License
|
" License: VIM License
|
||||||
@ -15,7 +15,7 @@ let s:keepcpo = &cpo
|
|||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
" Main function: Format the input {{{1
|
" Main function: Format the input {{{1
|
||||||
func! xmlformat#Format()
|
func! xmlformat#Format() abort
|
||||||
" only allow reformatting through the gq command
|
" only allow reformatting through the gq command
|
||||||
" (e.g. Vim is in normal mode)
|
" (e.g. Vim is in normal mode)
|
||||||
if mode() != 'n'
|
if mode() != 'n'
|
||||||
@ -40,14 +40,16 @@ func! xmlformat#Format()
|
|||||||
continue
|
continue
|
||||||
elseif line !~# '<[/]\?[^>]*>'
|
elseif line !~# '<[/]\?[^>]*>'
|
||||||
let nextmatch = match(list, '<[/]\?[^>]*>', current)
|
let nextmatch = match(list, '<[/]\?[^>]*>', current)
|
||||||
let line .= join(list[(current + 1):(nextmatch-1)], "\n")
|
if nextmatch > -1
|
||||||
|
let line .= ' '. join(list[(current + 1):(nextmatch-1)], " ")
|
||||||
call remove(list, current+1, nextmatch-1)
|
call remove(list, current+1, nextmatch-1)
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
" split on `>`, but don't split on very first opening <
|
" split on `>`, but don't split on very first opening <
|
||||||
" this means, items can be like ['<tag>', 'tag content</tag>']
|
" this means, items can be like ['<tag>', 'tag content</tag>']
|
||||||
for item in split(line, '.\@<=[>]\zs')
|
for item in split(line, '.\@<=[>]\zs')
|
||||||
if s:EndTag(item)
|
if s:EndTag(item)
|
||||||
let s:indent = s:DecreaseIndent()
|
call s:DecreaseIndent()
|
||||||
call add(result, s:Indent(item))
|
call add(result, s:Indent(item))
|
||||||
elseif s:EmptyTag(lastitem)
|
elseif s:EmptyTag(lastitem)
|
||||||
call add(result, s:Indent(item))
|
call add(result, s:Indent(item))
|
||||||
@ -59,13 +61,23 @@ func! xmlformat#Format()
|
|||||||
" Simply split on '<', if there is one,
|
" Simply split on '<', if there is one,
|
||||||
" but reformat according to &textwidth
|
" but reformat according to &textwidth
|
||||||
let t=split(item, '.<\@=\zs')
|
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
|
" t should only contain 2 items, but just be safe here
|
||||||
if s:IsTag(lastitem)
|
if s:IsTag(lastitem)
|
||||||
let s:indent+=1
|
let s:indent+=1
|
||||||
endif
|
endif
|
||||||
let result+=s:FormatContent([t[0]])
|
let result+=s:FormatContent([t[0]])
|
||||||
if s:EndTag(t[1])
|
if s:EndTag(t[1])
|
||||||
let s:indent = s:DecreaseIndent()
|
call s:DecreaseIndent()
|
||||||
endif
|
endif
|
||||||
"for y in t[1:]
|
"for y in t[1:]
|
||||||
let result+=s:FormatContent(t[1:])
|
let result+=s:FormatContent(t[1:])
|
||||||
@ -97,15 +109,15 @@ func! xmlformat#Format()
|
|||||||
return 0
|
return 0
|
||||||
endfunc
|
endfunc
|
||||||
" Check if given tag is XML Declaration header {{{1
|
" 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*$'
|
return a:tag =~? '^\s*<?xml\s\?\%(version="[^"]*"\)\?\s\?\%(encoding="[^"]*"\)\? ?>\s*$'
|
||||||
endfunc
|
endfunc
|
||||||
" Return tag indented by current level {{{1
|
" 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)
|
return repeat(' ', shiftwidth()*s:indent). s:Trim(a:item)
|
||||||
endfu
|
endfu
|
||||||
" Return item trimmed from leading whitespace {{{1
|
" Return item trimmed from leading whitespace {{{1
|
||||||
func! s:Trim(item)
|
func! s:Trim(item) abort
|
||||||
if exists('*trim')
|
if exists('*trim')
|
||||||
return trim(a:item)
|
return trim(a:item)
|
||||||
else
|
else
|
||||||
@ -113,44 +125,53 @@ func! s:Trim(item)
|
|||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
" Check if tag is a new opening tag <tag> {{{1
|
" 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)
|
let is_comment = s:IsComment(a:tag)
|
||||||
return a:tag =~? '^\s*<[^/?]' && !is_comment
|
return a:tag =~? '^\s*<[^/?]' && !is_comment
|
||||||
endfunc
|
endfunc
|
||||||
" Check if tag is a Comment start {{{1
|
" Check if tag is a Comment start {{{1
|
||||||
func! s:IsComment(tag)
|
func! s:IsComment(tag) abort
|
||||||
return a:tag =~? '<!--'
|
return a:tag =~? '<!--'
|
||||||
endfunc
|
endfunc
|
||||||
" Remove one level of indentation {{{1
|
" Remove one level of indentation {{{1
|
||||||
func! s:DecreaseIndent()
|
func! s:DecreaseIndent() abort
|
||||||
return (s:indent > 0 ? s:indent - 1 : 0)
|
let s:indent = (s:indent > 0 ? s:indent - 1 : 0)
|
||||||
endfunc
|
endfunc
|
||||||
" Check if tag is a closing tag </tag> {{{1
|
" Check if tag is a closing tag </tag> {{{1
|
||||||
func! s:EndTag(tag)
|
func! s:EndTag(tag) abort
|
||||||
return a:tag =~? '^\s*</'
|
return a:tag =~? '^\s*</'
|
||||||
endfunc
|
endfunc
|
||||||
" Check that the tag is actually a tag and not {{{1
|
" Check that the tag is actually a tag and not {{{1
|
||||||
" something like "foobar</foobar>"
|
" something like "foobar</foobar>"
|
||||||
func! s:IsTag(tag)
|
func! s:IsTag(tag) abort
|
||||||
return s:Trim(a:tag)[0] == '<'
|
return s:Trim(a:tag)[0] == '<'
|
||||||
endfunc
|
endfunc
|
||||||
" Check if tag is empty <tag/> {{{1
|
" Check if tag is empty <tag/> {{{1
|
||||||
func! s:EmptyTag(tag)
|
func! s:EmptyTag(tag) abort
|
||||||
return a:tag =~ '/>\s*$'
|
return a:tag =~ '/>\s*$'
|
||||||
endfunc
|
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
|
" Format input line according to textwidth {{{1
|
||||||
func! s:FormatContent(list)
|
func! s:FormatContent(list) abort
|
||||||
let result=[]
|
let result=[]
|
||||||
let limit = 80
|
let limit = s:Textwidth()
|
||||||
if &textwidth > 0
|
|
||||||
let limit = &textwidth
|
|
||||||
endif
|
|
||||||
let column=0
|
let column=0
|
||||||
let idx = -1
|
let idx = -1
|
||||||
let add_indent = 0
|
let add_indent = 0
|
||||||
let cnt = 0
|
let cnt = 0
|
||||||
for item in a:list
|
for item in a:list
|
||||||
for word in split(item, '\s\+\S\+\zs')
|
for word in split(item, '\s\+\S\+\zs')
|
||||||
|
if match(word, '^\s\+$') > -1
|
||||||
|
" skip empty words
|
||||||
|
continue
|
||||||
|
endif
|
||||||
let column += strdisplaywidth(word, column)
|
let column += strdisplaywidth(word, column)
|
||||||
if match(word, "^\\s*\n\\+\\s*$") > -1
|
if match(word, "^\\s*\n\\+\\s*$") > -1
|
||||||
call add(result, '')
|
call add(result, '')
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
" zip.vim: Handles browsing zipfiles
|
" zip.vim: Handles browsing zipfiles
|
||||||
" AUTOLOAD PORTION
|
" AUTOLOAD PORTION
|
||||||
" Date: Sep 13, 2016
|
" Date: Jan 07, 2020
|
||||||
" Version: 28
|
" Version: 30
|
||||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||||
" License: Vim License (see vim's :help license)
|
" License: Vim License (see vim's :help license)
|
||||||
" Copyright: Copyright (C) 2005-2013 Charles E. Campbell {{{1
|
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
|
||||||
" Permission is hereby granted to use and distribute this code,
|
" Permission is hereby granted to use and distribute this code,
|
||||||
" with or without modifications, provided that this copyright
|
" with or without modifications, provided that this copyright
|
||||||
" notice is copied with it. Like anything else that's free,
|
" notice is copied with it. Like anything else that's free,
|
||||||
@ -20,7 +20,7 @@
|
|||||||
if &cp || exists("g:loaded_zip")
|
if &cp || exists("g:loaded_zip")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let g:loaded_zip= "v28"
|
let g:loaded_zip= "v30"
|
||||||
if v:version < 702
|
if v:version < 702
|
||||||
echohl WarningMsg
|
echohl WarningMsg
|
||||||
echo "***warning*** this version of zip needs vim 7.2 or later"
|
echo "***warning*** this version of zip needs vim 7.2 or later"
|
||||||
@ -68,7 +68,7 @@ fun! zip#Browse(zipfile)
|
|||||||
" sanity check: ensure that the zipfile has "PK" as its first two letters
|
" sanity check: ensure that the zipfile has "PK" as its first two letters
|
||||||
" (zipped files have a leading PK as a "magic cookie")
|
" (zipped files have a leading PK as a "magic cookie")
|
||||||
if !filereadable(a:zipfile) || readfile(a:zipfile, "", 1)[0] !~ '^PK'
|
if !filereadable(a:zipfile) || readfile(a:zipfile, "", 1)[0] !~ '^PK'
|
||||||
exe "noautocmd e ".fnameescape(a:zipfile)
|
exe "noswapfile noautocmd noswapfile e ".fnameescape(a:zipfile)
|
||||||
" call Dret("zip#Browse : not a zipfile<".a:zipfile.">")
|
" call Dret("zip#Browse : not a zipfile<".a:zipfile.">")
|
||||||
return
|
return
|
||||||
" else " Decho
|
" else " Decho
|
||||||
@ -143,6 +143,9 @@ fun! zip#Browse(zipfile)
|
|||||||
setlocal noma nomod ro
|
setlocal noma nomod ro
|
||||||
noremap <silent> <buffer> <cr> :call <SID>ZipBrowseSelect()<cr>
|
noremap <silent> <buffer> <cr> :call <SID>ZipBrowseSelect()<cr>
|
||||||
noremap <silent> <buffer> x :call zip#Extract()<cr>
|
noremap <silent> <buffer> x :call zip#Extract()<cr>
|
||||||
|
if &mouse != ""
|
||||||
|
noremap <silent> <buffer> <leftmouse> <leftmouse>:call <SID>ZipBrowseSelect()<cr>
|
||||||
|
endif
|
||||||
|
|
||||||
let &report= repkeep
|
let &report= repkeep
|
||||||
" call Dret("zip#Browse")
|
" call Dret("zip#Browse")
|
||||||
@ -175,17 +178,17 @@ fun! s:ZipBrowseSelect()
|
|||||||
|
|
||||||
" get zipfile to the new-window
|
" get zipfile to the new-window
|
||||||
let zipfile = b:zipfile
|
let zipfile = b:zipfile
|
||||||
let curfile= expand("%")
|
let curfile = expand("%")
|
||||||
" call Decho("zipfile<".zipfile.">")
|
" call Decho("zipfile<".zipfile.">")
|
||||||
" call Decho("curfile<".curfile.">")
|
" call Decho("curfile<".curfile.">")
|
||||||
|
|
||||||
new
|
noswapfile new
|
||||||
if !exists("g:zip_nomax") || g:zip_nomax == 0
|
if !exists("g:zip_nomax") || g:zip_nomax == 0
|
||||||
wincmd _
|
wincmd _
|
||||||
endif
|
endif
|
||||||
let s:zipfile_{winnr()}= curfile
|
let s:zipfile_{winnr()}= curfile
|
||||||
" call Decho("exe e ".fnameescape("zipfile:".zipfile.'::'.fname))
|
" call Decho("exe e ".fnameescape("zipfile:".zipfile.'::'.fname))
|
||||||
exe "e ".fnameescape("zipfile:".zipfile.'::'.fname)
|
exe "noswapfile e ".fnameescape("zipfile:".zipfile.'::'.fname)
|
||||||
filetype detect
|
filetype detect
|
||||||
|
|
||||||
let &report= repkeep
|
let &report= repkeep
|
||||||
@ -339,7 +342,7 @@ fun! zip#Write(fname)
|
|||||||
let binkeep= &binary
|
let binkeep= &binary
|
||||||
let eikeep = &ei
|
let eikeep = &ei
|
||||||
set binary ei=all
|
set binary ei=all
|
||||||
exe "e! ".fnameescape(zipfile)
|
exe "noswapfile e! ".fnameescape(zipfile)
|
||||||
call netrw#NetWrite(netzipfile)
|
call netrw#NetWrite(netzipfile)
|
||||||
let &ei = eikeep
|
let &ei = eikeep
|
||||||
let &binary = binkeep
|
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%.%#
|
@ -2,30 +2,31 @@
|
|||||||
" Warning: This also deletes all menus defined by the user!
|
" Warning: This also deletes all menus defined by the user!
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2019 Sep 11
|
" Last Change: 2019 Dec 10
|
||||||
|
|
||||||
aunmenu *
|
aunmenu *
|
||||||
tlunmenu *
|
tlunmenu *
|
||||||
|
|
||||||
silent! unlet did_install_default_menus
|
unlet! g:did_install_default_menus
|
||||||
silent! unlet did_install_syntax_menu
|
unlet! g:did_install_syntax_menu
|
||||||
if exists("did_menu_trans")
|
|
||||||
|
if exists('g:did_menu_trans')
|
||||||
menutrans clear
|
menutrans clear
|
||||||
unlet did_menu_trans
|
unlet g:did_menu_trans
|
||||||
endif
|
endif
|
||||||
|
|
||||||
silent! unlet find_help_dialog
|
unlet! g:find_help_dialog
|
||||||
|
|
||||||
silent! unlet menutrans_help_dialog
|
unlet! g:menutrans_fileformat_choices
|
||||||
silent! unlet menutrans_path_dialog
|
unlet! g:menutrans_fileformat_dialog
|
||||||
silent! unlet menutrans_tags_dialog
|
unlet! g:menutrans_help_dialog
|
||||||
silent! unlet menutrans_textwidth_dialog
|
unlet! g:menutrans_no_file
|
||||||
silent! unlet menutrans_fileformat_dialog
|
unlet! g:menutrans_path_dialog
|
||||||
silent! unlet menutrans_fileformat_choices
|
unlet! g:menutrans_set_lang_to
|
||||||
silent! unlet menutrans_no_file
|
unlet! g:menutrans_spell_add_ARG_to_word_list
|
||||||
silent! unlet menutrans_set_lang_to
|
unlet! g:menutrans_spell_change_ARG_to
|
||||||
silent! unlet menutrans_spell_change_ARG_to
|
unlet! g:menutrans_spell_ignore_ARG
|
||||||
silent! unlet menutrans_spell_add_ARG_to_word_list
|
unlet! g:menutrans_tags_dialog
|
||||||
silent! unlet menutrans_spell_ignore_ARG
|
unlet! g:menutrans_textwidth_dialog
|
||||||
|
|
||||||
" vim: set sw=2 :
|
" vim: set sw=2 :
|
||||||
|
@ -64,6 +64,7 @@ DOCS = \
|
|||||||
os_amiga.txt \
|
os_amiga.txt \
|
||||||
os_beos.txt \
|
os_beos.txt \
|
||||||
os_dos.txt \
|
os_dos.txt \
|
||||||
|
os_haiku.txt \
|
||||||
os_mac.txt \
|
os_mac.txt \
|
||||||
os_mint.txt \
|
os_mint.txt \
|
||||||
os_msdos.txt \
|
os_msdos.txt \
|
||||||
@ -140,6 +141,7 @@ DOCS = \
|
|||||||
usr_43.txt \
|
usr_43.txt \
|
||||||
usr_44.txt \
|
usr_44.txt \
|
||||||
usr_45.txt \
|
usr_45.txt \
|
||||||
|
usr_46.txt \
|
||||||
usr_90.txt \
|
usr_90.txt \
|
||||||
usr_toc.txt \
|
usr_toc.txt \
|
||||||
various.txt \
|
various.txt \
|
||||||
@ -149,6 +151,7 @@ DOCS = \
|
|||||||
version7.txt \
|
version7.txt \
|
||||||
version8.txt \
|
version8.txt \
|
||||||
vi_diff.txt \
|
vi_diff.txt \
|
||||||
|
vim9.txt \
|
||||||
visual.txt \
|
visual.txt \
|
||||||
windows.txt \
|
windows.txt \
|
||||||
workshop.txt
|
workshop.txt
|
||||||
@ -203,6 +206,7 @@ HTMLS = \
|
|||||||
os_amiga.html \
|
os_amiga.html \
|
||||||
os_beos.html \
|
os_beos.html \
|
||||||
os_dos.html \
|
os_dos.html \
|
||||||
|
os_haiku.html \
|
||||||
os_mac.html \
|
os_mac.html \
|
||||||
os_mint.html \
|
os_mint.html \
|
||||||
os_msdos.html \
|
os_msdos.html \
|
||||||
@ -279,6 +283,7 @@ HTMLS = \
|
|||||||
usr_43.html \
|
usr_43.html \
|
||||||
usr_44.html \
|
usr_44.html \
|
||||||
usr_45.html \
|
usr_45.html \
|
||||||
|
usr_46.html \
|
||||||
usr_90.html \
|
usr_90.html \
|
||||||
usr_toc.html \
|
usr_toc.html \
|
||||||
various.html \
|
various.html \
|
||||||
@ -289,6 +294,7 @@ HTMLS = \
|
|||||||
version8.html \
|
version8.html \
|
||||||
vi_diff.html \
|
vi_diff.html \
|
||||||
vimindex.html \
|
vimindex.html \
|
||||||
|
vim9.html \
|
||||||
visual.html \
|
visual.html \
|
||||||
windows.html \
|
windows.html \
|
||||||
workshop.html
|
workshop.html
|
||||||
@ -313,7 +319,11 @@ CONVERTED = \
|
|||||||
evim-ru.UTF-8.1 \
|
evim-ru.UTF-8.1 \
|
||||||
vimdiff-ru.UTF-8.1 \
|
vimdiff-ru.UTF-8.1 \
|
||||||
vimtutor-ru.UTF-8.1 \
|
vimtutor-ru.UTF-8.1 \
|
||||||
xxd-ru.UTF-8.1
|
xxd-ru.UTF-8.1 \
|
||||||
|
vim-tr.UTF-8.1 \
|
||||||
|
evim-tr.UTF-8.1 \
|
||||||
|
vimdiff-tr.UTF-8.1 \
|
||||||
|
vimtutor-tr.UTF-8.1
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
.SUFFIXES: .c .o .txt .html
|
.SUFFIXES: .c .o .txt .html
|
||||||
@ -323,10 +333,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
|
# Use Vim to generate the tags file. Can only be used when Vim has been
|
||||||
# compiled and installed. Supports multiple languages.
|
# compiled and installed. Supports multiple languages.
|
||||||
vimtags: $(DOCS)
|
vimtags: $(DOCS)
|
||||||
@if command -v $(VIMEXE); then \
|
@$(VIMEXE) --clean -esX -V1 -u doctags.vim
|
||||||
$(VIMEXE) --clean -eX -u doctags.vim >/dev/null && \
|
|
||||||
echo "help tags updated"; \
|
|
||||||
else echo "vim executable $(VIMEXE) not found; help tags not updated"; fi
|
|
||||||
|
|
||||||
# Use "doctags" to generate the tags file. Only works for English!
|
# Use "doctags" to generate the tags file. Only works for English!
|
||||||
tags: doctags $(DOCS)
|
tags: doctags $(DOCS)
|
||||||
@ -423,6 +430,9 @@ os_beos.txt:
|
|||||||
os_dos.txt:
|
os_dos.txt:
|
||||||
touch os_dos.txt
|
touch os_dos.txt
|
||||||
|
|
||||||
|
os_haiku.txt:
|
||||||
|
touch os_haiku.txt
|
||||||
|
|
||||||
os_mac.txt:
|
os_mac.txt:
|
||||||
touch os_mac.txt
|
touch os_mac.txt
|
||||||
|
|
||||||
@ -505,3 +515,15 @@ vimtutor-ru.UTF-8.1: vimtutor-ru.1
|
|||||||
|
|
||||||
xxd-ru.UTF-8.1: xxd-ru.1
|
xxd-ru.UTF-8.1: xxd-ru.1
|
||||||
iconv -f KOI8-R -t utf-8 $< >$@
|
iconv -f KOI8-R -t utf-8 $< >$@
|
||||||
|
|
||||||
|
vim-tr.UTF-8.1: vim-tr.1
|
||||||
|
iconv -f latin5 -t utf-8 $< >$@
|
||||||
|
|
||||||
|
evim-tr.UTF-8.1: evim-tr.1
|
||||||
|
iconv -f latin5 -t utf-8 $< >$@
|
||||||
|
|
||||||
|
vimdiff-tr.UTF-8.1: vimdiff-tr.1
|
||||||
|
iconv -f latin5 -t utf-8 $< >$@
|
||||||
|
|
||||||
|
vimtutor-tr.UTF-8.1: vimtutor-tr.1
|
||||||
|
iconv -f latin5 -t utf-8 $< >$@
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*arabic.txt* For Vim version 8.1. Last change: 2019 May 05
|
*arabic.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Nadim Shaikli
|
VIM REFERENCE MANUAL by Nadim Shaikli
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*autocmd.txt* For Vim version 8.1. Last change: 2019 Sep 16
|
*autocmd.txt* For Vim version 8.2. Last change: 2020 Jun 10
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -374,9 +374,13 @@ Name triggered by ~
|
|||||||
|
|
||||||
|MenuPopup| just before showing the popup menu
|
|MenuPopup| just before showing the popup menu
|
||||||
|CompleteChanged| after Insert mode completion menu changed
|
|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"
|
|User| to be used in combination with ":doautocmd"
|
||||||
|
|SigUSR1| after the SIGUSR1 signal has been detected
|
||||||
|
|
||||||
|
|
||||||
The alphabetical list of autocommand events: *autocmd-events-abc*
|
The alphabetical list of autocommand events: *autocmd-events-abc*
|
||||||
@ -387,6 +391,8 @@ BufAdd or BufCreate Just after creating a new buffer which is
|
|||||||
to the buffer list.
|
to the buffer list.
|
||||||
Also used just after a buffer in the buffer
|
Also used just after a buffer in the buffer
|
||||||
list has been renamed.
|
list has been renamed.
|
||||||
|
Not triggered for the initial buffers created
|
||||||
|
during startup.
|
||||||
The BufCreate event is for historic reasons.
|
The BufCreate event is for historic reasons.
|
||||||
NOTE: When this autocommand is executed, the
|
NOTE: When this autocommand is executed, the
|
||||||
current buffer "%" may be different from the
|
current buffer "%" may be different from the
|
||||||
@ -587,8 +593,8 @@ ColorSchemePre Before loading a color scheme. |:colorscheme|
|
|||||||
CompleteChanged *CompleteChanged*
|
CompleteChanged *CompleteChanged*
|
||||||
After each time the Insert mode completion
|
After each time the Insert mode completion
|
||||||
menu changed. Not fired on popup menu hide,
|
menu changed. Not fired on popup menu hide,
|
||||||
use |CompleteDone| for that. Never triggered
|
use |CompleteDonePre| or |CompleteDone| for
|
||||||
recursively.
|
that. Never triggered recursively.
|
||||||
|
|
||||||
Sets these |v:event| keys:
|
Sets these |v:event| keys:
|
||||||
completed_item See |complete-items|.
|
completed_item See |complete-items|.
|
||||||
@ -604,10 +610,22 @@ CompleteChanged *CompleteChanged*
|
|||||||
The size and position of the popup are also
|
The size and position of the popup are also
|
||||||
available by calling |pum_getpos()|.
|
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*
|
||||||
CompleteDone After Insert mode completion is done. Either
|
CompleteDone After Insert mode completion is done. Either
|
||||||
when something was completed or abandoning
|
when something was completed or abandoning
|
||||||
completion. |ins-completion|
|
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
|
The |v:completed_item| variable contains
|
||||||
information about the completed item.
|
information about the completed item.
|
||||||
|
|
||||||
@ -637,7 +655,7 @@ CursorHold When the user doesn't press a key for the time
|
|||||||
Hint: to force an update of the status lines
|
Hint: to force an update of the status lines
|
||||||
use: >
|
use: >
|
||||||
:let &ro = &ro
|
:let &ro = &ro
|
||||||
< {only on Amiga, Unix, Win32, MSDOS and all GUI
|
< {only on Amiga, Unix, Win32 and all GUI
|
||||||
versions}
|
versions}
|
||||||
*CursorHoldI*
|
*CursorHoldI*
|
||||||
CursorHoldI Just like CursorHold, but in Insert mode.
|
CursorHoldI Just like CursorHold, but in Insert mode.
|
||||||
@ -1136,11 +1154,14 @@ TextYankPost After text has been yanked or deleted in the
|
|||||||
register.
|
register.
|
||||||
regtype Type of the register, see
|
regtype Type of the register, see
|
||||||
|getregtype()|.
|
|getregtype()|.
|
||||||
|
visual True if the operation is
|
||||||
|
performed on a |Visual| area.
|
||||||
Not triggered when |quote_| is used nor when
|
Not triggered when |quote_| is used nor when
|
||||||
called recursively.
|
called recursively.
|
||||||
It is not allowed to change the buffer text,
|
It is not allowed to change the buffer text,
|
||||||
see |textlock|.
|
see |textlock|.
|
||||||
{only when compiled with the +eval feature}
|
{only when compiled with the +eval feature}
|
||||||
|
|
||||||
*User*
|
*User*
|
||||||
User Never executed automatically. To be used for
|
User Never executed automatically. To be used for
|
||||||
autocommands that are only executed with
|
autocommands that are only executed with
|
||||||
@ -1149,6 +1170,15 @@ User Never executed automatically. To be used for
|
|||||||
used while there are no matching autocommands,
|
used while there are no matching autocommands,
|
||||||
you will get an error. If you don't want
|
you will get an error. If you don't want
|
||||||
that, define a dummy autocommand yourself.
|
that, define a dummy autocommand yourself.
|
||||||
|
|
||||||
|
*SigUSR1*
|
||||||
|
SigUSR1 After the SIGUSR1 signal has been detected.
|
||||||
|
Could be used if other ways of notifying Vim
|
||||||
|
are not feasible. E.g. to check for the
|
||||||
|
result of a build that takes a long time, or
|
||||||
|
when a motion sensor is triggered.
|
||||||
|
{only on Unix}
|
||||||
|
|
||||||
*UserGettingBored*
|
*UserGettingBored*
|
||||||
UserGettingBored When the user presses the same key 42 times.
|
UserGettingBored When the user presses the same key 42 times.
|
||||||
Just kidding! :-)
|
Just kidding! :-)
|
||||||
@ -1287,8 +1317,8 @@ The pattern is interpreted like mostly used in file names:
|
|||||||
[^ch] match any character but 'c' and 'h'
|
[^ch] match any character but 'c' and 'h'
|
||||||
|
|
||||||
Note that for all systems the '/' character is used for path separator (even
|
Note that for all systems the '/' character is used for path separator (even
|
||||||
MS-DOS and OS/2). This was done because the backslash is difficult to use
|
for MS-Windows). This was done because the backslash is difficult to use in a
|
||||||
in a pattern and to make the autocommands portable across different systems.
|
pattern and to make the autocommands portable across different systems.
|
||||||
|
|
||||||
It is possible to use |pattern| items, but they may not work as expected,
|
It is possible to use |pattern| items, but they may not work as expected,
|
||||||
because of the translation done for the above.
|
because of the translation done for the above.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*change.txt* For Vim version 8.1. Last change: 2019 Sep 28
|
*change.txt* For Vim version 8.2. Last change: 2020 Jun 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
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|).
|
start insert (for {Visual} see |Visual-mode|).
|
||||||
|
|
||||||
*v_r*
|
*v_r*
|
||||||
{Visual}["x]r{char} Replace all selected characters by {char}.
|
{Visual}r{char} Replace all selected characters by {char}.
|
||||||
|
|
||||||
*v_C*
|
*v_C*
|
||||||
{Visual}["x]C Delete the highlighted lines [into register x] and
|
{Visual}["x]C Delete the highlighted lines [into register x] and
|
||||||
@ -611,7 +611,7 @@ attack or other people reading your file). When Vim exits the directory and
|
|||||||
all files in it are deleted. When Vim has the setuid bit set this may cause
|
all files in it are deleted. When Vim has the setuid bit set this may cause
|
||||||
problems, the temp file is owned by the setuid user but the filter command
|
problems, the temp file is owned by the setuid user but the filter command
|
||||||
probably runs as the original user.
|
probably runs as the original user.
|
||||||
On MS-DOS and OS/2 the first of these directories that works is used: $TMP,
|
On MS-Windows the first of these directories that works is used: $TMP,
|
||||||
$TEMP, c:\TMP, c:\TEMP.
|
$TEMP, c:\TMP, c:\TEMP.
|
||||||
For Unix the list of directories is: $TMPDIR, /tmp, current-dir, $HOME.
|
For Unix the list of directories is: $TMPDIR, /tmp, current-dir, $HOME.
|
||||||
For MS-Windows the GetTempFileName() system function is used.
|
For MS-Windows the GetTempFileName() system function is used.
|
||||||
@ -636,6 +636,8 @@ For other systems the tmpnam() library function is used.
|
|||||||
|cmdline-ranges|.
|
|cmdline-ranges|.
|
||||||
|
|
||||||
See |:s_flags| for [flags].
|
See |:s_flags| for [flags].
|
||||||
|
The delimiter doesn't need to be /, see
|
||||||
|
|pattern-delimiter|.
|
||||||
|
|
||||||
:[range]s[ubstitute] [flags] [count]
|
:[range]s[ubstitute] [flags] [count]
|
||||||
:[range]&[&][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:
|
For compatibility with Vi these two exceptions are allowed:
|
||||||
"\/{string}/" and "\?{string}?" do the same as "//{string}/r".
|
"\/{string}/" and "\?{string}?" do the same as "//{string}/r".
|
||||||
"\&{string}&" does the same as "//{string}/".
|
"\&{string}&" does the same as "//{string}/".
|
||||||
*E146*
|
*pattern-delimiter* *E146*
|
||||||
Instead of the '/' which surrounds the pattern and replacement string, you
|
Instead of the '/' which surrounds the pattern and replacement string, you
|
||||||
can use any other single-byte character, but not an alphanumeric character,
|
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
|
'\', '"' 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*
|
5. Copying and moving text *copy-move*
|
||||||
|
|
||||||
*quote*
|
*quote*
|
||||||
"{a-zA-Z0-9.%#:-"} Use register {a-zA-Z0-9.%#:-"} for next delete, yank
|
"{register} Use {register} for next delete, yank or put. Use
|
||||||
or put (use uppercase character to append with
|
an uppercase character to append with delete and yank.
|
||||||
delete and yank) ({.%#:} only work with put).
|
Registers ".", "%", "#" and ":" only work with put.
|
||||||
|
|
||||||
*:reg* *:registers*
|
*:reg* *:registers*
|
||||||
:reg[isters] Display the type and contents of all numbered and
|
: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()
|
func! format#Format()
|
||||||
" only reformat on explicit gq command
|
" only reformat on explicit gq command
|
||||||
if mode() != 'n'
|
if mode() != 'n'
|
||||||
" fall back to Vims internal reformatting
|
" fall back to Vim's internal reformatting
|
||||||
return 1
|
return 1
|
||||||
endif
|
endif
|
||||||
let lines = getline(v:lnum, v:lnum + v:count - 1)
|
let lines = getline(v:lnum, v:lnum + v:count - 1)
|
||||||
@ -1686,6 +1688,10 @@ B When joining lines, don't insert a space between two multi-byte
|
|||||||
characters. Overruled by the 'M' flag.
|
characters. Overruled by the 'M' flag.
|
||||||
1 Don't break a line after a one-letter word. It's broken before it
|
1 Don't break a line after a one-letter word. It's broken before it
|
||||||
instead (if possible).
|
instead (if possible).
|
||||||
|
] Respect textwidth rigorously. With this flag set, no line can be
|
||||||
|
longer than textwidth, unless line-break-prohibition rules make this
|
||||||
|
impossible. Mainly for CJK scripts and works only if 'encoding' is
|
||||||
|
"utf-8".
|
||||||
j Where it makes sense, remove a comment leader when joining lines. For
|
j Where it makes sense, remove a comment leader when joining lines. For
|
||||||
example, joining:
|
example, joining:
|
||||||
int i; // the index ~
|
int i; // the index ~
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*channel.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
*channel.txt* For Vim version 8.2. Last change: 2020 Jun 01
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -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".
|
{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*
|
{options} is a dictionary with optional entries: *channel-open-options*
|
||||||
|
|
||||||
"mode" can be: *channel-mode*
|
"mode" can be: *channel-mode*
|
||||||
@ -621,6 +624,9 @@ ch_open({address} [, {options}]) *ch_open()*
|
|||||||
{address} has the form "hostname:port", e.g.,
|
{address} has the form "hostname:port", e.g.,
|
||||||
"localhost:8765".
|
"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|.
|
If {options} is given it must be a |Dictionary|.
|
||||||
See |channel-open-options|.
|
See |channel-open-options|.
|
||||||
|
|
||||||
@ -1229,8 +1235,8 @@ If you want to type input for the job in a Vim window you have a few options:
|
|||||||
- Use a terminal window. This works well if what you type goes directly to
|
- Use a terminal window. This works well if what you type goes directly to
|
||||||
the job and the job output is directly displayed in the window.
|
the job and the job output is directly displayed in the window.
|
||||||
See |terminal-window|.
|
See |terminal-window|.
|
||||||
- Use a prompt window. This works well when entering a line for the job in Vim
|
- Use a window with a prompt buffer. This works well when entering a line for
|
||||||
while displaying (possibly filtered) output from the job.
|
the job in Vim while displaying (possibly filtered) output from the job.
|
||||||
|
|
||||||
A prompt buffer is created by setting 'buftype' to "prompt". You would
|
A prompt buffer is created by setting 'buftype' to "prompt". You would
|
||||||
normally only do that in a newly created buffer.
|
normally only do that in a newly created buffer.
|
||||||
@ -1264,5 +1270,46 @@ Any command that starts Insert mode, such as "a", "i", "A" and "I", will move
|
|||||||
the cursor to the last line. "A" will move to the end of the line, "I" to the
|
the cursor to the last line. "A" will move to the end of the line, "I" to the
|
||||||
start of the line.
|
start of the line.
|
||||||
|
|
||||||
|
Here is an example for Unix. It starts a shell in the background and prompts
|
||||||
|
for the next shell command. Output from the shell is displayed above the
|
||||||
|
prompt. >
|
||||||
|
|
||||||
|
" Create a channel log so we can see what happens.
|
||||||
|
call ch_logfile('logfile', 'w')
|
||||||
|
|
||||||
|
" Function handling a line of text has been typed.
|
||||||
|
func TextEntered(text)
|
||||||
|
" Send the text to a shell with Enter appended.
|
||||||
|
call ch_sendraw(g:shell_job, a:text .. "\n")
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Function handling output from the shell: Added above the prompt.
|
||||||
|
func GotOutput(channel, msg)
|
||||||
|
call append(line("$") - 1, "- " . a:msg)
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Function handling the shell exist: close the window.
|
||||||
|
func JobExit(job, status)
|
||||||
|
quit!
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Start a shell in the background.
|
||||||
|
let shell_job = job_start(["/bin/sh"], #{
|
||||||
|
\ out_cb: function('GotOutput'),
|
||||||
|
\ err_cb: function('GotOutput'),
|
||||||
|
\ exit_cb: function('JobExit'),
|
||||||
|
\ })
|
||||||
|
let shell_ch = job_getchannel(shell_job)
|
||||||
|
|
||||||
|
new
|
||||||
|
set buftype=prompt
|
||||||
|
let buf = bufnr('')
|
||||||
|
call prompt_setcallback(buf, function("TextEntered"))
|
||||||
|
eval prompt_setprompt(buf, "shell command: ")
|
||||||
|
|
||||||
|
" start accepting shell commands
|
||||||
|
startinsert
|
||||||
|
<
|
||||||
|
|
||||||
|
|
||||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*cmdline.txt* For Vim version 8.1. Last change: 2019 Nov 26
|
*cmdline.txt* For Vim version 8.2. Last change: 2020 Apr 23
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -75,7 +75,7 @@ CTRL-V Insert next non-digit literally. Up to three digits form the
|
|||||||
decimal value of a single byte. The non-digit and the three
|
decimal value of a single byte. The non-digit and the three
|
||||||
digits are not considered for mapping. This works the same
|
digits are not considered for mapping. This works the same
|
||||||
way as in Insert mode (see above, |i_CTRL-V|).
|
way as in Insert mode (see above, |i_CTRL-V|).
|
||||||
Note: Under Windows CTRL-V is often mapped to paste text.
|
Note: Under MS-Windows CTRL-V is often mapped to paste text.
|
||||||
Use CTRL-Q instead then.
|
Use CTRL-Q instead then.
|
||||||
When |modifyOtherKeys| is enabled then special Escape sequence
|
When |modifyOtherKeys| is enabled then special Escape sequence
|
||||||
is converted back to what it was without |modifyOtherKeys|,
|
is converted back to what it was without |modifyOtherKeys|,
|
||||||
@ -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
|
This will find the longest match with the first 'wildchar', then list all
|
||||||
matching files with the next.
|
matching files with the next.
|
||||||
|
|
||||||
|
*complete-script-local-functions*
|
||||||
|
When completing user function names, prepend "s:" to find script-local
|
||||||
|
functions.
|
||||||
|
|
||||||
*suffixes*
|
*suffixes*
|
||||||
For file name completion you can use the 'suffixes' option to set a priority
|
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,
|
between files with almost the same name. If there are multiple matches,
|
||||||
@ -586,6 +590,7 @@ followed by another Vim command:
|
|||||||
:command
|
:command
|
||||||
:cscope
|
:cscope
|
||||||
:debug
|
:debug
|
||||||
|
:eval
|
||||||
:folddoopen
|
:folddoopen
|
||||||
:folddoclosed
|
:folddoclosed
|
||||||
:function
|
:function
|
||||||
@ -610,6 +615,7 @@ followed by another Vim command:
|
|||||||
:tcl
|
:tcl
|
||||||
:tcldo
|
:tcldo
|
||||||
:tclfile
|
:tclfile
|
||||||
|
:terminal
|
||||||
:vglobal
|
:vglobal
|
||||||
:windo
|
:windo
|
||||||
:write !
|
:write !
|
||||||
@ -933,8 +939,7 @@ These modifiers can be given, in this order:
|
|||||||
directory.
|
directory.
|
||||||
:. Reduce file name to be relative to current directory, if
|
:. Reduce file name to be relative to current directory, if
|
||||||
possible. File name is unmodified if it is not below the
|
possible. File name is unmodified if it is not below the
|
||||||
current directory, but on MS-Windows the drive is removed if
|
current directory.
|
||||||
it is the current drive.
|
|
||||||
For maximum shortness, use ":~:.".
|
For maximum shortness, use ":~:.".
|
||||||
:h Head of the file name (the last component and any separators
|
:h Head of the file name (the last component and any separators
|
||||||
removed). Cannot be used with :e, :r or :t.
|
removed). Cannot be used with :e, :r or :t.
|
||||||
@ -943,9 +948,9 @@ These modifiers can be given, in this order:
|
|||||||
separator is removed. Thus ":p:h" on a directory name results
|
separator is removed. Thus ":p:h" on a directory name results
|
||||||
on the directory name itself (without trailing slash).
|
on the directory name itself (without trailing slash).
|
||||||
When the file name is an absolute path (starts with "/" for
|
When the file name is an absolute path (starts with "/" for
|
||||||
Unix; "x:\" for MS-DOS, WIN32, OS/2; "drive:" for Amiga), that
|
Unix; "x:\" for Win32; "drive:" for Amiga), that part is not
|
||||||
part is not removed. When there is no head (path is relative
|
removed. When there is no head (path is relative to current
|
||||||
to current directory) the result is empty.
|
directory) the result is empty.
|
||||||
:t Tail of the file name (last component of the name). Must
|
:t Tail of the file name (last component of the name). Must
|
||||||
precede any :r or :e.
|
precede any :r or :e.
|
||||||
:r Root of the file name (the last extension removed). When
|
:r Root of the file name (the last extension removed). When
|
||||||
@ -1042,12 +1047,12 @@ option contains "sh", this is done twice, to avoid the shell trying to expand
|
|||||||
the "!".
|
the "!".
|
||||||
|
|
||||||
*filename-backslash*
|
*filename-backslash*
|
||||||
For filesystems that use a backslash as directory separator (MS-DOS, Windows,
|
For filesystems that use a backslash as directory separator (MS-Windows), it's
|
||||||
OS/2), it's a bit difficult to recognize a backslash that is used to escape
|
a bit difficult to recognize a backslash that is used to escape the special
|
||||||
the special meaning of the next character. The general rule is: If the
|
meaning of the next character. The general rule is: If the backslash is
|
||||||
backslash is followed by a normal file name character, it does not have a
|
followed by a normal file name character, it does not have a special meaning.
|
||||||
special meaning. Therefore "\file\foo" is a valid file name, you don't have
|
Therefore "\file\foo" is a valid file name, you don't have to type the
|
||||||
to type the backslash twice.
|
backslash twice.
|
||||||
|
|
||||||
An exception is the '$' sign. It is a valid character in a file name. But
|
An exception is the '$' sign. It is a valid character in a file name. But
|
||||||
to avoid a file name like "$home" to be interpreted as an environment variable,
|
to avoid a file name like "$home" to be interpreted as an environment variable,
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*debug.txt* For Vim version 8.1. Last change: 2019 May 07
|
*debug.txt* For Vim version 8.2. Last change: 2019 May 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*debugger.txt* For Vim version 8.1. Last change: 2019 Jul 06
|
*debugger.txt* For Vim version 8.2. Last change: 2019 Dec 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Gordon Prieur
|
VIM REFERENCE MANUAL by Gordon Prieur
|
||||||
@ -12,8 +12,6 @@ For the debugger running in a Vim terminal window see |terminal-debugger|.
|
|||||||
|
|
||||||
1. Debugger Features |debugger-features|
|
1. Debugger Features |debugger-features|
|
||||||
2. Vim Compile Options |debugger-compilation|
|
2. Vim Compile Options |debugger-compilation|
|
||||||
3. Integrated Debuggers |debugger-integration|
|
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Debugger Features *debugger-features*
|
1. Debugger Features *debugger-features*
|
||||||
@ -114,10 +112,10 @@ other settings apply.
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
2. Vim Compile Options *debugger-compilation*
|
2. Vim Compile Options *debugger-compilation*
|
||||||
|
|
||||||
The debugger features were added explicitly for use with Sun's Visual
|
The debugger features were added for use with Sun's Visual WorkShop Integrated
|
||||||
WorkShop Integrated Programming Environment (ipe). However, they were done
|
Programming Environment (ipe). However, they were done in as generic a manner
|
||||||
in as generic a manner as possible so that integration with other debuggers
|
as possible so that integration with other debuggers could also use these
|
||||||
could also use some or all of the tools used with Sun's ipe.
|
features.
|
||||||
|
|
||||||
The following compile time preprocessor variables control the features:
|
The following compile time preprocessor variables control the features:
|
||||||
|
|
||||||
@ -127,18 +125,10 @@ The following compile time preprocessor variables control the features:
|
|||||||
Message Footer FEAT_FOOTER
|
Message Footer FEAT_FOOTER
|
||||||
Balloon Evaluation FEAT_BEVAL
|
Balloon Evaluation FEAT_BEVAL
|
||||||
|
|
||||||
The first integration with a full IPE/IDE was with Sun Visual WorkShop. To
|
The support specifically for Sun Visual WorkShop has been removed, since the
|
||||||
compile a gvim which interfaces with VWS set the following flag, which sets
|
product no longer exists.
|
||||||
all the above flags:
|
|
||||||
|
|
||||||
Sun Visual WorkShop FEAT_SUN_WORKSHOP
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
3. Integrated Debuggers *debugger-integration*
|
|
||||||
|
|
||||||
One fully integrated debugger/IPE/IDE is Sun's Visual WorkShop Integrated
|
|
||||||
Programming Environment.
|
|
||||||
|
|
||||||
For Sun NetBeans support see |netbeans|.
|
For Sun NetBeans support see |netbeans|.
|
||||||
|
|
||||||
|
|
||||||
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*develop.txt* For Vim version 8.1. Last change: 2019 Nov 22
|
*develop.txt* For Vim version 8.2. Last change: 2020 Apr 13
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
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
|
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
|
everything but the kitchen sink, but some people say that you can clean one
|
||||||
with it. ;-)"
|
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
|
- 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
|
being less consistent over all platforms. But functional GUI features are
|
||||||
welcomed.
|
welcomed.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*diff.txt* For Vim version 8.1. Last change: 2019 Nov 10
|
*diff.txt* For Vim version 8.2. Last change: 2019 Nov 10
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*digraph.txt* For Vim version 8.1. Last change: 2019 May 05
|
*digraph.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
@ -2,5 +2,12 @@
|
|||||||
"
|
"
|
||||||
" Usage: vim -eX -u doctags.vim
|
" 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!
|
qa!
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*editing.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
*editing.txt* For Vim version 8.2. Last change: 2020 Jun 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -131,7 +131,7 @@ You can use this file if you discover that you need the original file. See
|
|||||||
also the 'patchmode' option. The name of the backup file is normally the same
|
also the 'patchmode' option. The name of the backup file is normally the same
|
||||||
as the original file with 'backupext' appended. The default "~" is a bit
|
as the original file with 'backupext' appended. The default "~" is a bit
|
||||||
strange to avoid accidentally overwriting existing files. If you prefer ".bak"
|
strange to avoid accidentally overwriting existing files. If you prefer ".bak"
|
||||||
change the 'backupext' option. Extra dots are replaced with '_' on MS-DOS
|
change the 'backupext' option. Extra dots are replaced with '_' on MS-Windows
|
||||||
machines, when Vim has detected that an MS-DOS-like filesystem is being used
|
machines, when Vim has detected that an MS-DOS-like filesystem is being used
|
||||||
(e.g., messydos or crossdos) or when the 'shortname' option is on. The
|
(e.g., messydos or crossdos) or when the 'shortname' option is on. The
|
||||||
backup file can be placed in another directory by setting 'backupdir'.
|
backup file can be placed in another directory by setting 'backupdir'.
|
||||||
@ -331,10 +331,13 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
|
|||||||
*gF*
|
*gF*
|
||||||
[count]gF Same as "gf", except if a number follows the file
|
[count]gF Same as "gf", except if a number follows the file
|
||||||
name, then the cursor is positioned on that line in
|
name, then the cursor is positioned on that line in
|
||||||
the file. The file name and the number must be
|
the file.
|
||||||
separated by a non-filename (see 'isfname') and
|
The file name and the number must be separated by a
|
||||||
non-numeric character. White space between the
|
non-filename (see 'isfname') and non-numeric
|
||||||
filename, the separator and the number are ignored.
|
character. " line " is also recognized, like it is
|
||||||
|
used in the output of `:verbose command UserCmd`
|
||||||
|
White space between the filename, the separator and
|
||||||
|
the number are ignored.
|
||||||
Examples:
|
Examples:
|
||||||
eval.c:10 ~
|
eval.c:10 ~
|
||||||
eval.c @ 20 ~
|
eval.c @ 20 ~
|
||||||
@ -472,6 +475,9 @@ This edits the same file again with 'fileformat' set to "unix". >
|
|||||||
:w ++enc=latin1 newfile
|
:w ++enc=latin1 newfile
|
||||||
This writes the current buffer to "newfile" in latin1 format.
|
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
|
There may be several ++opt arguments, separated by white space. They must all
|
||||||
appear before any |+cmd| argument.
|
appear before any |+cmd| argument.
|
||||||
|
|
||||||
@ -519,9 +525,9 @@ The 'fileformat' option sets the <EOL> style for a file:
|
|||||||
Previously 'textmode' was used. It is obsolete now.
|
Previously 'textmode' was used. It is obsolete now.
|
||||||
|
|
||||||
When reading a file, the mentioned characters are interpreted as the <EOL>.
|
When reading a file, the mentioned characters are interpreted as the <EOL>.
|
||||||
In DOS format (default for MS-DOS, OS/2 and Win32), <CR><NL> and <NL> are both
|
In DOS format (default for Win32), <CR><NL> and <NL> are both interpreted as
|
||||||
interpreted as the <EOL>. Note that when writing the file in DOS format,
|
the <EOL>. Note that when writing the file in DOS format, <CR> characters
|
||||||
<CR> characters will be added for each single <NL>. Also see |file-read|.
|
will be added for each single <NL>. Also see |file-read|.
|
||||||
|
|
||||||
When writing a file, the mentioned characters are used for <EOL>. For DOS
|
When writing a file, the mentioned characters are used for <EOL>. For DOS
|
||||||
format <CR><NL> is used. Also see |DOS-format-write|.
|
format <CR><NL> is used. Also see |DOS-format-write|.
|
||||||
@ -542,15 +548,16 @@ If you start editing a new file and the 'fileformats' option is not empty
|
|||||||
(which is the default), Vim will try to detect whether the lines in the file
|
(which is the default), Vim will try to detect whether the lines in the file
|
||||||
are separated by the specified formats. When set to "unix,dos", Vim will
|
are separated by the specified formats. When set to "unix,dos", Vim will
|
||||||
check for lines with a single <NL> (as used on Unix and Amiga) or by a <CR>
|
check for lines with a single <NL> (as used on Unix and Amiga) or by a <CR>
|
||||||
<NL> pair (MS-DOS). Only when ALL lines end in <CR><NL>, 'fileformat' is set
|
<NL> pair (MS-Windows). Only when ALL lines end in <CR><NL>, 'fileformat' is
|
||||||
to "dos", otherwise it is set to "unix". When 'fileformats' includes "mac",
|
set to "dos", otherwise it is set to "unix". When 'fileformats' includes
|
||||||
and no <NL> characters are found in the file, 'fileformat' is set to "mac".
|
"mac", and no <NL> characters are found in the file, 'fileformat' is set to
|
||||||
|
"mac".
|
||||||
|
|
||||||
If the 'fileformat' option is set to "dos" on non-MS-DOS systems the message
|
If the 'fileformat' option is set to "dos" on non-MS-Windows systems the
|
||||||
"[dos format]" is shown to remind you that something unusual is happening. On
|
message "[dos format]" is shown to remind you that something unusual is
|
||||||
MS-DOS systems you get the message "[unix format]" if 'fileformat' is set to
|
happening. On MS-Windows systems you get the message "[unix format]" if
|
||||||
"unix". On all systems but the Macintosh you get the message "[mac format]"
|
'fileformat' is set to "unix". On all systems but the Macintosh you get the
|
||||||
if 'fileformat' is set to "mac".
|
message "[mac format]" if 'fileformat' is set to "mac".
|
||||||
|
|
||||||
If the 'fileformats' option is empty and DOS format is used, but while reading
|
If the 'fileformats' option is empty and DOS format is used, but while reading
|
||||||
a file some lines did not end in <CR><NL>, "[CR missing]" will be included in
|
a file some lines did not end in <CR><NL>, "[CR missing]" will be included in
|
||||||
@ -1023,11 +1030,11 @@ lost the original file.
|
|||||||
|
|
||||||
*DOS-format-write*
|
*DOS-format-write*
|
||||||
If the 'fileformat' is "dos", <CR> <NL> is used for <EOL>. This is default
|
If the 'fileformat' is "dos", <CR> <NL> is used for <EOL>. This is default
|
||||||
for MS-DOS, Win32 and OS/2. On other systems the message "[dos format]" is
|
for Win32. On other systems the message "[dos format]" is shown to remind you
|
||||||
shown to remind you that an unusual <EOL> was used.
|
that an unusual <EOL> was used.
|
||||||
*Unix-format-write*
|
*Unix-format-write*
|
||||||
If the 'fileformat' is "unix", <NL> is used for <EOL>. On MS-DOS, Win32 and
|
If the 'fileformat' is "unix", <NL> is used for <EOL>. On Win32 the message
|
||||||
OS/2 the message "[unix format]" is shown.
|
"[unix format]" is shown.
|
||||||
*Mac-format-write*
|
*Mac-format-write*
|
||||||
If the 'fileformat' is "mac", <CR> is used for <EOL>. On non-Mac systems the
|
If the 'fileformat' is "mac", <CR> is used for <EOL>. On non-Mac systems the
|
||||||
message "[mac format]" is shown.
|
message "[mac format]" is shown.
|
||||||
@ -1056,11 +1063,11 @@ When the file name is actually a device name, Vim will not make a backup (that
|
|||||||
would be impossible). You need to use "!", since the device already exists.
|
would be impossible). You need to use "!", since the device already exists.
|
||||||
Example for Unix: >
|
Example for Unix: >
|
||||||
:w! /dev/lpt0
|
:w! /dev/lpt0
|
||||||
and for MS-DOS or MS-Windows: >
|
and for MS-Windows: >
|
||||||
:w! lpt0
|
:w! lpt0
|
||||||
For Unix a device is detected when the name doesn't refer to a normal file or
|
For Unix a device is detected when the name doesn't refer to a normal file or
|
||||||
a directory. A fifo or named pipe also looks like a device to Vim.
|
a directory. A fifo or named pipe also looks like a device to Vim.
|
||||||
For MS-DOS and MS-Windows the device is detected by its name:
|
For MS-Windows the device is detected by its name:
|
||||||
AUX
|
AUX
|
||||||
CON
|
CON
|
||||||
CLOCK$
|
CLOCK$
|
||||||
@ -1075,9 +1082,9 @@ The names can be in upper- or lowercase.
|
|||||||
|
|
||||||
*:q* *:quit*
|
*:q* *:quit*
|
||||||
:q[uit] Quit the current window. Quit Vim if this is the last
|
:q[uit] Quit the current window. Quit Vim if this is the last
|
||||||
window. This fails when changes have been made and
|
|edit-window|. This fails when changes have been made
|
||||||
Vim refuses to |abandon| the current buffer, and when
|
and Vim refuses to |abandon| the current buffer, and
|
||||||
the last file in the argument list has not been
|
when the last file in the argument list has not been
|
||||||
edited.
|
edited.
|
||||||
If there are other tab pages and quitting the last
|
If there are other tab pages and quitting the last
|
||||||
window in the current tab page the current tab page is
|
window in the current tab page the current tab page is
|
||||||
@ -1103,18 +1110,22 @@ The names can be in upper- or lowercase.
|
|||||||
|quickfix|).
|
|quickfix|).
|
||||||
|
|
||||||
*:wq*
|
*:wq*
|
||||||
:wq [++opt] Write the current file and quit. Writing fails when
|
:wq [++opt] Write the current file and close the window. If this
|
||||||
the file is read-only or the buffer does not have a
|
was the last |edit-window| Vim quits.
|
||||||
name. Quitting fails when the last file in the
|
Writing fails when the file is read-only or the buffer
|
||||||
argument list has not been edited.
|
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
|
:wq! [++opt] Write the current file and close the window. If this
|
||||||
the current buffer does not have a name.
|
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.
|
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]
|
:[range]wq[!] [++opt] [file]
|
||||||
Same as above, but only write the lines in [range].
|
Same as above, but only write the lines in [range].
|
||||||
@ -1131,10 +1142,10 @@ The names can be in upper- or lowercase.
|
|||||||
Same as :xit.
|
Same as :xit.
|
||||||
|
|
||||||
*ZZ*
|
*ZZ*
|
||||||
ZZ Write current file, if modified, and quit (same as
|
ZZ Write current file, if modified, and close the current
|
||||||
":x"). (Note: If there are several windows for the
|
window (same as ":x").
|
||||||
current file, the file is written if it was modified
|
If there are several windows for the current file,
|
||||||
and the window is closed).
|
only the current window is closed.
|
||||||
|
|
||||||
*ZQ*
|
*ZQ*
|
||||||
ZQ Quit without checking for changes (same as ":q!").
|
ZQ Quit without checking for changes (same as ":q!").
|
||||||
@ -1294,7 +1305,7 @@ present in 'cpoptions' and "!" is not used in the command.
|
|||||||
Does not change the meaning of an already opened file,
|
Does not change the meaning of an already opened file,
|
||||||
because its full path name is remembered. Files from
|
because its full path name is remembered. Files from
|
||||||
the |arglist| may change though!
|
the |arglist| may change though!
|
||||||
On MS-DOS this also changes the active drive.
|
On MS-Windows this also changes the active drive.
|
||||||
To change to the directory of the current file: >
|
To change to the directory of the current file: >
|
||||||
:cd %:h
|
:cd %:h
|
||||||
<
|
<
|
||||||
@ -1315,6 +1326,10 @@ present in 'cpoptions' and "!" is not used in the command.
|
|||||||
*:tch* *:tchdir*
|
*:tch* *:tchdir*
|
||||||
:tch[dir][!] Same as |:tcd|.
|
:tch[dir][!] Same as |:tcd|.
|
||||||
|
|
||||||
|
*:tcd-*
|
||||||
|
:tcd[!] - Change to the previous current directory, before the
|
||||||
|
last ":tcd {path}" command.
|
||||||
|
|
||||||
*:lc* *:lcd*
|
*:lc* *:lcd*
|
||||||
:lc[d][!] {path} Like |:cd|, but only set the current directory when
|
:lc[d][!] {path} Like |:cd|, but only set the current directory when
|
||||||
the cursor is in the current window. The current
|
the cursor is in the current window. The current
|
||||||
@ -1324,9 +1339,28 @@ present in 'cpoptions' and "!" is not used in the command.
|
|||||||
*:lch* *:lchdir*
|
*:lch* *:lchdir*
|
||||||
:lch[dir][!] Same as |:lcd|.
|
:lch[dir][!] Same as |:lcd|.
|
||||||
|
|
||||||
|
*:lcd-*
|
||||||
|
:lcd[!] - Change to the previous current directory, before the
|
||||||
|
last ":lcd {path}" command.
|
||||||
|
|
||||||
*:pw* *:pwd* *E187*
|
*:pw* *:pwd* *E187*
|
||||||
:pw[d] Print the current directory name.
|
:pw[d] Print the current directory name.
|
||||||
Also see |getcwd()|.
|
Also see |getcwd()|.
|
||||||
|
*:pwd-verbose*
|
||||||
|
When 'verbose' is non-zero, |:pwd| will also display
|
||||||
|
what scope the current directory was set. Example: >
|
||||||
|
|
||||||
|
" Set by :cd
|
||||||
|
:verbose pwd
|
||||||
|
[global] /path/to/current
|
||||||
|
|
||||||
|
" Set by :lcd
|
||||||
|
:verbose pwd
|
||||||
|
[window] /path/to/current
|
||||||
|
|
||||||
|
" Set by :tcd
|
||||||
|
:verbose pwd
|
||||||
|
[tabpage] /path/to/current
|
||||||
|
|
||||||
So long as no |:lcd| or |:tcd| command has been used, all windows share the
|
So long as no |:lcd| or |:tcd| command has been used, all windows share the
|
||||||
same current directory. Using a command to jump to another window doesn't
|
same current directory. Using a command to jump to another window doesn't
|
||||||
|
File diff suppressed because it is too large
Load Diff
0
runtime/doc/evim-it.1
Executable file → Normal file
0
runtime/doc/evim-it.1
Executable file → Normal file
48
runtime/doc/evim-tr.1
Normal file
48
runtime/doc/evim-tr.1
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
.TH EVIM 1 "16 <20>ubat 2002"
|
||||||
|
.SH AD
|
||||||
|
evim \- kolay Vim, bir dosyay<61> Vim ile herhangi bir kip olmadan d<>zenleyin
|
||||||
|
.SH <EFBFBD>ZET
|
||||||
|
.br
|
||||||
|
.B evim
|
||||||
|
[se<73>enekler] [dosya ..]
|
||||||
|
.br
|
||||||
|
.B eview
|
||||||
|
.SH TANIM
|
||||||
|
.B eVim,
|
||||||
|
.B Vim'i
|
||||||
|
ba<EFBFBD>lat<EFBFBD>r ve onu herhangi bir kipsiz d<>zenleyici gibi davranmas<61>n<EFBFBD> sa<73>lar.
|
||||||
|
Bu bildi<64>iniz Vim'dir, ancak bir t<>kla ve yaz d<>zenleyicisi gibi <20>al<61><6C><EFBFBD>r.
|
||||||
|
Bir <20>rnek vermek gerekirse MS-Windows <20>zerindeki Not Defteri gibi d<><64><EFBFBD>n<EFBFBD>n.
|
||||||
|
.B eVim
|
||||||
|
men<EFBFBD>lere ve ara<72> <20>ubuklar<61>na eri<72>im sa<73>layabilmeniz i<>in grafik arabirimde <20>al<61><6C><EFBFBD>r.
|
||||||
|
.PP
|
||||||
|
Yaln<EFBFBD>zca Vim ile normal bi<62>imde <20>al<61><6C>amayan ki<6B>ilerin kullan<61>m<EFBFBD> i<>indir.
|
||||||
|
Dosya d<>zenleme i<>i <20>ok daha verimsiz olacakt<6B>r.
|
||||||
|
.PP
|
||||||
|
.B eview'<27>n
|
||||||
|
ayn<EFBFBD>s<EFBFBD>d<EFBFBD>r, ancak saltokunur kipte ba<62>lar. evim \-R ile de ba<62>lat<61>labilir.
|
||||||
|
.PP
|
||||||
|
Vim hakk<6B>nda ayr<79>nt<6E>l<EFBFBD> bilgi i<>in: vim(1)
|
||||||
|
.PP
|
||||||
|
Do<EFBFBD>rudan metin giri<72>ini sa<73>layabilmek i<>in 'insertmode' se<73>ene<6E>i a<><61>l<EFBFBD>r.
|
||||||
|
.br
|
||||||
|
E<EFBFBD>lemlemeler Kopyala ve Yap<61><70>t<EFBFBD>r MS-Windows ile ayn<79> olacak bi<62>imde ayarlan<61>r.
|
||||||
|
CTRL-X metni keser, CTRL-C metni kopyalar ve CTRL-V metni yap<61><70>t<EFBFBD>r<EFBFBD>r.
|
||||||
|
CTRL-V'nin orijinal i<>levi i<>in CTRL-Q kullan<61>n.
|
||||||
|
.SH SE<EFBFBD>ENEKLER
|
||||||
|
Bilgi i<>in: vim(1).
|
||||||
|
.SH DOSYALAR
|
||||||
|
.TP 15
|
||||||
|
/usr/local/lib/vim/evim.vim
|
||||||
|
eVim'i ilklendirmek i<>in kullan<61>lan betik.
|
||||||
|
.SH NAM-I D<EFBFBD><EFBFBD>ER
|
||||||
|
Nam-<2D> di<64>er "Lastik <20>izmeliler i<>in Vim" (Gumbies, Monty Python).
|
||||||
|
eVim'i kullan<61>rken bir mendili al<61>p iki ucundan birer d<><64><EFBFBD>m yapman<61>z
|
||||||
|
ve kafan<61>za takman<61>z beklenir.
|
||||||
|
.SH AYRICA BAKINIZ
|
||||||
|
vim(1)
|
||||||
|
.SH YAZAR
|
||||||
|
.B Vim'in
|
||||||
|
b<EFBFBD>y<EFBFBD>k <20>o<EFBFBD>unlu<6C>u Bram Moolenaar taraf<61>ndan ba<62>kalar<61>n<EFBFBD>n kayda de<64>er
|
||||||
|
yard<EFBFBD>mlar<EFBFBD>yla yaz<61>lm<6C><6D>t<EFBFBD>r.
|
||||||
|
Ek bilgi i<>in Yard<72>m/Te<54>ekk<6B>rler men<65>s<EFBFBD>ne bak<61>n.
|
48
runtime/doc/evim-tr.UTF-8.1
Normal file
48
runtime/doc/evim-tr.UTF-8.1
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
.TH EVIM 1 "16 Şubat 2002"
|
||||||
|
.SH AD
|
||||||
|
evim \- kolay Vim, bir dosyayı Vim ile herhangi bir kip olmadan düzenleyin
|
||||||
|
.SH ÖZET
|
||||||
|
.br
|
||||||
|
.B evim
|
||||||
|
[seçenekler] [dosya ..]
|
||||||
|
.br
|
||||||
|
.B eview
|
||||||
|
.SH TANIM
|
||||||
|
.B eVim,
|
||||||
|
.B Vim'i
|
||||||
|
başlatır ve onu herhangi bir kipsiz düzenleyici gibi davranmasını sağlar.
|
||||||
|
Bu bildiğiniz Vim'dir, ancak bir tıkla ve yaz düzenleyicisi gibi çalışır.
|
||||||
|
Bir örnek vermek gerekirse MS-Windows üzerindeki Not Defteri gibi düşünün.
|
||||||
|
.B eVim
|
||||||
|
menülere ve araç çubuklarına erişim sağlayabilmeniz için grafik arabirimde çalışır.
|
||||||
|
.PP
|
||||||
|
Yalnızca Vim ile normal biçimde çalışamayan kişilerin kullanımı içindir.
|
||||||
|
Dosya düzenleme işi çok daha verimsiz olacaktır.
|
||||||
|
.PP
|
||||||
|
.B eview'ün
|
||||||
|
aynısıdır, ancak saltokunur kipte başlar. evim \-R ile de başlatılabilir.
|
||||||
|
.PP
|
||||||
|
Vim hakkında ayrıntılı bilgi için: vim(1)
|
||||||
|
.PP
|
||||||
|
Doğrudan metin girişini sağlayabilmek için 'insertmode' seçeneği açılır.
|
||||||
|
.br
|
||||||
|
Eşlemlemeler Kopyala ve Yapıştır MS-Windows ile aynı olacak biçimde ayarlanır.
|
||||||
|
CTRL-X metni keser, CTRL-C metni kopyalar ve CTRL-V metni yapıştırır.
|
||||||
|
CTRL-V'nin orijinal işlevi için CTRL-Q kullanın.
|
||||||
|
.SH SEÇENEKLER
|
||||||
|
Bilgi için: vim(1).
|
||||||
|
.SH DOSYALAR
|
||||||
|
.TP 15
|
||||||
|
/usr/local/lib/vim/evim.vim
|
||||||
|
eVim'i ilklendirmek için kullanılan betik.
|
||||||
|
.SH NAM-I DİĞER
|
||||||
|
Nam-ı diğer "Lastik Çizmeliler için Vim" (Gumbies, Monty Python).
|
||||||
|
eVim'i kullanırken bir mendili alıp iki ucundan birer düğüm yapmanız
|
||||||
|
ve kafanıza takmanız beklenir.
|
||||||
|
.SH AYRICA BAKINIZ
|
||||||
|
vim(1)
|
||||||
|
.SH YAZAR
|
||||||
|
.B Vim'in
|
||||||
|
büyük çoğunluğu Bram Moolenaar tarafından başkalarının kayda değer
|
||||||
|
yardımlarıyla yazılmıştır.
|
||||||
|
Ek bilgi için Yardım/Teşekkürler menüsüne bakın.
|
@ -1,4 +1,4 @@
|
|||||||
*farsi.txt* For Vim version 8.1. Last change: 2019 May 05
|
*farsi.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
|
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*filetype.txt* For Vim version 8.1. Last change: 2019 Jul 16
|
*filetype.txt* For Vim version 8.2. Last change: 2019 Jul 16
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -34,8 +34,7 @@ if you didn't do that already.
|
|||||||
Detail: The ":filetype on" command will load one of these files:
|
Detail: The ":filetype on" command will load one of these files:
|
||||||
Amiga $VIMRUNTIME/filetype.vim
|
Amiga $VIMRUNTIME/filetype.vim
|
||||||
Mac $VIMRUNTIME:filetype.vim
|
Mac $VIMRUNTIME:filetype.vim
|
||||||
MS-DOS $VIMRUNTIME\filetype.vim
|
MS-Windows $VIMRUNTIME\filetype.vim
|
||||||
RiscOS Vim:Filetype
|
|
||||||
Unix $VIMRUNTIME/filetype.vim
|
Unix $VIMRUNTIME/filetype.vim
|
||||||
VMS $VIMRUNTIME/filetype.vim
|
VMS $VIMRUNTIME/filetype.vim
|
||||||
This file is a Vim script that defines autocommands for the
|
This file is a Vim script that defines autocommands for the
|
||||||
@ -308,13 +307,13 @@ all loaded. For example, if this command: >
|
|||||||
|
|
||||||
produces this output:
|
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:
|
then Vim will load all plugins in these directories and below:
|
||||||
|
|
||||||
/etc/vim/plugin/ ~
|
/etc/vim/plugin/ ~
|
||||||
~/.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.
|
Note that the last one is the value of $VIMRUNTIME which has been expanded.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*fold.txt* For Vim version 8.1. Last change: 2019 Jun 02
|
*fold.txt* For Vim version 8.2. Last change: 2019 Jun 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*ft_ada.txt* For Vim version 8.1. Last change: 2010 Jul 20
|
*ft_ada.txt* For Vim version 8.2. Last change: 2010 Jul 20
|
||||||
|
|
||||||
|
|
||||||
ADA FILE TYPE PLUG-INS REFERENCE MANUAL~
|
ADA FILE TYPE PLUG-INS REFERENCE MANUAL~
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*ft_rust.txt* For Vim version 8.1. Last change: 2017 Nov 02
|
*ft_rust.txt* For Vim version 8.2. Last change: 2017 Nov 02
|
||||||
|
|
||||||
This is documentation for the Rust filetype plugin.
|
This is documentation for the Rust filetype plugin.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*ft_sql.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
*ft_sql.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||||
|
|
||||||
by David Fishburn
|
by David Fishburn
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*gui.txt* For Vim version 8.1. Last change: 2019 Nov 16
|
*gui.txt* For Vim version 8.2. Last change: 2020 Mar 16
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -95,12 +95,11 @@ terminal version.
|
|||||||
|
|
||||||
Recommended place for your personal GUI initializations:
|
Recommended place for your personal GUI initializations:
|
||||||
Unix $HOME/.gvimrc or $HOME/.vim/gvimrc
|
Unix $HOME/.gvimrc or $HOME/.vim/gvimrc
|
||||||
OS/2 $HOME/.gvimrc, $HOME/vimfiles/gvimrc
|
Win32 $HOME/_gvimrc, $HOME/vimfiles/gvimrc
|
||||||
or $VIM/.gvimrc
|
|
||||||
MS-DOS and Win32 $HOME/_gvimrc, $HOME/vimfiles/gvimrc
|
|
||||||
or $VIM/_gvimrc
|
or $VIM/_gvimrc
|
||||||
Amiga s:.gvimrc, home:.gvimrc, home:vimfiles:gvimrc
|
Amiga s:.gvimrc, home:.gvimrc, home:vimfiles:gvimrc
|
||||||
or $VIM/.gvimrc
|
or $VIM/.gvimrc
|
||||||
|
Haiku $HOME/config/settings/vim/gvimrc
|
||||||
|
|
||||||
The personal initialization files are searched in the order specified above
|
The personal initialization files are searched in the order specified above
|
||||||
and only the first one that is found is read.
|
and only the first one that is found is read.
|
||||||
@ -579,9 +578,11 @@ tooltips for menus. See |terminal-typing|.
|
|||||||
|
|
||||||
Special characters in a menu name:
|
Special characters in a menu name:
|
||||||
|
|
||||||
|
*menu-shortcut*
|
||||||
& The next character is the shortcut key. Make sure each
|
& The next character is the shortcut key. Make sure each
|
||||||
shortcut key is only used once in a (sub)menu. If you want to
|
shortcut key is only used once in a (sub)menu. If you want to
|
||||||
insert a literal "&" in the menu name use "&&".
|
insert a literal "&" in the menu name use "&&".
|
||||||
|
*menu-text*
|
||||||
<Tab> Separates the menu name from right-aligned text. This can be
|
<Tab> Separates the menu name from right-aligned text. This can be
|
||||||
used to show the equivalent typed command. The text "<Tab>"
|
used to show the equivalent typed command. The text "<Tab>"
|
||||||
can be used here for convenience. If you are using a real
|
can be used here for convenience. If you are using a real
|
||||||
@ -854,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 "nore" to disallow remapping.
|
||||||
& The menu was defined with "<script>" to allow remapping script-local
|
& The menu was defined with "<script>" to allow remapping script-local
|
||||||
mappings only.
|
mappings only.
|
||||||
|
s The menu was defined with "<silent>" to avoid showing what it is
|
||||||
|
mapped to when triggered.
|
||||||
- The menu was disabled.
|
- The menu was disabled.
|
||||||
|
|
||||||
Note that hitting <Tab> while entering a menu name after a menu command may
|
Note that hitting <Tab> while entering a menu name after a menu command may
|
||||||
@ -955,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
|
mappings, or put these lines in your gvimrc; "<C-R>" is CTRL-R, "<CR>" is
|
||||||
the <CR> key. |<>|)
|
the <CR> key. |<>|)
|
||||||
|
|
||||||
|
*tooltips* *menu-tips*
|
||||||
5.8 Tooltips & Menu tips
|
5.8 Tooltips & Menu tips
|
||||||
|
|
||||||
See section |42.4| in the user manual.
|
See section |42.4| in the user manual.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*gui_w32.txt* For Vim version 8.1. Last change: 2019 May 05
|
*gui_w32.txt* For Vim version 8.2. Last change: 2020 Mar 25
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -106,8 +106,6 @@ when you have got a new version):
|
|||||||
You can also install Vim in the "Send To" menu:
|
You can also install Vim in the "Send To" menu:
|
||||||
1. Start a Windows Explorer
|
1. Start a Windows Explorer
|
||||||
2. Navigate to your sendto directory:
|
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 XP: C:\Documents and Settings\%user%\SendTo
|
||||||
Windows Vista: C:\Users\%user%\AppData\Roaming\Microsoft\Windows\SendTo .
|
Windows Vista: C:\Users\%user%\AppData\Roaming\Microsoft\Windows\SendTo .
|
||||||
3. Right-click in the file pane and select New->Shortcut
|
3. Right-click in the file pane and select New->Shortcut
|
||||||
@ -115,7 +113,8 @@ You can also install Vim in the "Send To" menu:
|
|||||||
|
|
||||||
When you 'send a file to Vim', Vim changes to that file's directory. Note,
|
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-DOS)
|
however, that any long directory names will appear in their short (MS-DOS)
|
||||||
form. This is a limitation of the Windows "Send To" mechanism.
|
form on some Windows versions. This is a limitation of the Windows "Send To"
|
||||||
|
mechanism.
|
||||||
|
|
||||||
*notepad*
|
*notepad*
|
||||||
You could replace notepad.exe with gvim.exe, but that has a few side effects.
|
You could replace notepad.exe with gvim.exe, but that has a few side effects.
|
||||||
@ -169,8 +168,8 @@ you can.
|
|||||||
Vim Shell Extension
|
Vim Shell Extension
|
||||||
HKEY_LOCAL_MACHINE\Software\Vim\Gvim
|
HKEY_LOCAL_MACHINE\Software\Vim\Gvim
|
||||||
path {path}\gvim.exe
|
path {path}\gvim.exe
|
||||||
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\vim 5.6
|
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\vim 8.2
|
||||||
DisplayName Vim 5.6: Edit with Vim popup menu entry
|
DisplayName Vim 8.2: Edit with Vim popup menu entry
|
||||||
UninstallString {path}\uninstall.exe
|
UninstallString {path}\uninstall.exe
|
||||||
|
|
||||||
Replace {path} with the path that leads to the executable.
|
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
|
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.
|
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"
|
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:
|
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]
|
||||||
|
|
||||||
[HKEY_CLASSES_ROOT\Applications\gvim.exe\shell\edit\command]
|
[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]
|
[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
|
To uninstall this run the Vim uninstall program or manually delete the
|
||||||
registry entries with "regedit".
|
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: >
|
To try out if XPM support works do this: >
|
||||||
:help
|
:help
|
||||||
:exe 'sign define vimxpm icon=' . $VIMRUNTIME . '\\vim16x16.xpm'
|
:let runtime = escape($VIMRUNTIME, ' \')
|
||||||
:exe 'sign place 1 line=1 name=vimxpm file=' . expand('%:p')
|
: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:
|
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*gui_x11.txt* For Vim version 8.1. Last change: 2019 May 05
|
*gui_x11.txt* For Vim version 8.2. Last change: 2020 Jun 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -356,6 +356,9 @@ need to set those up in some sort of gtkrc file. You'll have to refer
|
|||||||
to the GTK documentation, however little there is, on how to do this.
|
to the GTK documentation, however little there is, on how to do this.
|
||||||
See http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html
|
See http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html
|
||||||
for more information.
|
for more information.
|
||||||
|
*gtk3-slow*
|
||||||
|
If you are using GTK3 and Vim appears to be slow, try setting the environment
|
||||||
|
variable $GDK_RENDERING to "image".
|
||||||
|
|
||||||
|
|
||||||
Tooltip Colors ~
|
Tooltip Colors ~
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*hangulin.txt* For Vim version 8.1. Last change: 2019 Nov 21
|
*hangulin.txt* For Vim version 8.2. Last change: 2019 Nov 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam
|
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*hebrew.txt* For Vim version 8.1. Last change: 2019 May 05
|
*hebrew.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)
|
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*help.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
*help.txt* For Vim version 8.2. Last change: 2020 Apr 05
|
||||||
|
|
||||||
VIM - main help file
|
VIM - main help file
|
||||||
k
|
k
|
||||||
@ -31,7 +31,7 @@ Get specific help: It is possible to go directly to whatever you want help
|
|||||||
help entries for "word".
|
help entries for "word".
|
||||||
Or use ":helpgrep word". |:helpgrep|
|
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|.
|
basic commands, see |vimtutor|.
|
||||||
Read the user manual from start to end: |usr_01.txt|
|
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*
|
*doc-file-list* *Q_ct*
|
||||||
BASIC:
|
BASIC:
|
||||||
|quickref| Overview of the most common commands you will use
|
|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
|
|copying| About copyrights
|
||||||
|iccf| Helping poor children in Uganda
|
|iccf| Helping poor children in Uganda
|
||||||
|sponsor| Sponsor Vim development, become a registered Vim user
|
|sponsor| Sponsor Vim development, become a registered Vim user
|
||||||
@ -144,7 +144,7 @@ Special issues ~
|
|||||||
|remote.txt| using Vim as a server or client
|
|remote.txt| using Vim as a server or client
|
||||||
|term.txt| using different terminals and mice
|
|term.txt| using different terminals and mice
|
||||||
|terminal.txt| Terminal window support
|
|terminal.txt| Terminal window support
|
||||||
|popup.txt| popop window support
|
|popup.txt| popup window support
|
||||||
|
|
||||||
Programming language support ~
|
Programming language support ~
|
||||||
|indent.txt| automatic indenting for C and other languages
|
|indent.txt| automatic indenting for C and other languages
|
||||||
@ -197,7 +197,8 @@ Remarks about specific systems ~
|
|||||||
|os_390.txt| OS/390 Unix
|
|os_390.txt| OS/390 Unix
|
||||||
|os_amiga.txt| Amiga
|
|os_amiga.txt| Amiga
|
||||||
|os_beos.txt| BeOS and BeBox
|
|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_mac.txt| Macintosh
|
||||||
|os_mint.txt| Atari MiNT
|
|os_mint.txt| Atari MiNT
|
||||||
|os_msdos.txt| MS-DOS (plain DOS and DOS box under Windows)
|
|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_risc.txt| RISC-OS
|
||||||
|os_unix.txt| Unix
|
|os_unix.txt| Unix
|
||||||
|os_vms.txt| VMS
|
|os_vms.txt| VMS
|
||||||
|os_win32.txt| MS-Windows 95/98/NT
|
|os_win32.txt| MS-Windows
|
||||||
*standard-plugin-list*
|
*standard-plugin-list*
|
||||||
Standard plugins ~
|
Standard plugins ~
|
||||||
|pi_getscript.txt| Downloading latest version of Vim scripts
|
|pi_getscript.txt| Downloading latest version of Vim scripts
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*helphelp.txt* For Vim version 8.1. Last change: 2019 Oct 18
|
*helphelp.txt* For Vim version 8.2. Last change: 2020 Mar 01
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -368,4 +368,15 @@ highlighting. So do these:
|
|||||||
|
|
||||||
You can find the details in $VIMRUNTIME/syntax/help.vim
|
You can find the details in $VIMRUNTIME/syntax/help.vim
|
||||||
|
|
||||||
|
*inclusion*
|
||||||
|
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:
|
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*howto.txt* For Vim version 8.1. Last change: 2006 Apr 02
|
*howto.txt* For Vim version 8.2. Last change: 2006 Apr 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*if_cscop.txt* For Vim version 8.1. Last change: 2019 May 05
|
*if_cscop.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Andy Kahn
|
VIM REFERENCE MANUAL by Andy Kahn
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*if_lua.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
*if_lua.txt* For Vim version 8.2. Last change: 2020 May 17
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Luis Carvalho
|
VIM REFERENCE MANUAL by Luis Carvalho
|
||||||
@ -32,7 +32,7 @@ Examples:
|
|||||||
:lua local curbuf = vim.buffer() curbuf[7] = "line #7"
|
:lua local curbuf = vim.buffer() curbuf[7] = "line #7"
|
||||||
<
|
<
|
||||||
|
|
||||||
:[range]lua << [endmarker]
|
:[range]lua << [trim] [{endmarker}]
|
||||||
{script}
|
{script}
|
||||||
{endmarker}
|
{endmarker}
|
||||||
Execute Lua script {script}.
|
Execute Lua script {script}.
|
||||||
@ -40,10 +40,9 @@ Examples:
|
|||||||
feature wasn't compiled in. To avoid errors, see
|
feature wasn't compiled in. To avoid errors, see
|
||||||
|script-here|.
|
|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
|
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
|
This form of the |:lua| command is mainly useful for including Lua code
|
||||||
in Vim scripts.
|
in Vim scripts.
|
||||||
@ -200,6 +199,15 @@ Vim evaluation and command execution, and others.
|
|||||||
returns it. Note that the buffer is not set as
|
returns it. Note that the buffer is not set as
|
||||||
current.
|
current.
|
||||||
|
|
||||||
|
vim.call({name} [,{args}])
|
||||||
|
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*
|
3. List userdata *lua-list*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*if_mzsch.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
*if_mzsch.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Sergey Khorev
|
VIM REFERENCE MANUAL by Sergey Khorev
|
||||||
@ -39,7 +39,7 @@ To speed up the process, you might also want to use --disable-gracket and
|
|||||||
:[range]mz[scheme] {stmt}
|
:[range]mz[scheme] {stmt}
|
||||||
Execute MzScheme statement {stmt}.
|
Execute MzScheme statement {stmt}.
|
||||||
|
|
||||||
:[range]mz[scheme] << [endmarker]
|
:[range]mz[scheme] << [trim] [{endmarker}]
|
||||||
{script}
|
{script}
|
||||||
{endmarker}
|
{endmarker}
|
||||||
Execute inlined MzScheme script {script}.
|
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
|
feature wasn't compiled in. To avoid errors, see
|
||||||
|script-here|.
|
|script-here|.
|
||||||
|
|
||||||
The {endmarker} below the {script} must NOT be
|
|
||||||
preceded by any white space.
|
|
||||||
|
|
||||||
If [endmarker] is omitted from after the "<<", a dot
|
If [endmarker] is omitted from after the "<<", a dot
|
||||||
'.' must be used after {script}, like for the
|
'.' 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*
|
*:mzfile* *:mzf*
|
||||||
:[range]mzf[ile] {file} Execute the MzScheme script in {file}.
|
:[range]mzf[ile] {file} Execute the MzScheme script in {file}.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*if_ole.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
*if_ole.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Paul Moore
|
VIM REFERENCE MANUAL by Paul Moore
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*if_perl.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
*if_perl.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Sven Verdoolaege
|
VIM REFERENCE MANUAL by Sven Verdoolaege
|
||||||
@ -55,7 +55,7 @@ The ActiveState one should work, Strawberry Perl is a good alternative.
|
|||||||
working: >
|
working: >
|
||||||
:perl VIM::Msg("Hello")
|
:perl VIM::Msg("Hello")
|
||||||
|
|
||||||
:pe[rl] << [endmarker]
|
:pe[rl] << [trim] [{endmarker}]
|
||||||
{script}
|
{script}
|
||||||
{endmarker}
|
{endmarker}
|
||||||
Execute Perl script {script}.
|
Execute Perl script {script}.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*if_pyth.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
*if_pyth.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Paul Moore
|
VIM REFERENCE MANUAL by Paul Moore
|
||||||
@ -34,7 +34,7 @@ Both can be available at the same time, but read |python-2-and-3|.
|
|||||||
the `:python` command is working: >
|
the `:python` command is working: >
|
||||||
:python print "Hello"
|
:python print "Hello"
|
||||||
|
|
||||||
:[range]py[thon] << [endmarker]
|
:[range]py[thon] << [trim] [{endmarker}]
|
||||||
{script}
|
{script}
|
||||||
{endmarker}
|
{endmarker}
|
||||||
Execute Python script {script}.
|
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
|
feature wasn't compiled in. To avoid errors, see
|
||||||
|script-here|.
|
|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
|
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
|
This form of the |:python| command is mainly useful for including python code
|
||||||
in Vim scripts.
|
in Vim scripts.
|
||||||
@ -768,12 +767,12 @@ match the Python 2.x or Python 3 version Vim was compiled with.
|
|||||||
|
|
||||||
*:py3* *:python3*
|
*:py3* *:python3*
|
||||||
:[range]py3 {stmt}
|
:[range]py3 {stmt}
|
||||||
:[range]py3 << [endmarker]
|
:[range]py3 << [trim] [{endmarker}]
|
||||||
{script}
|
{script}
|
||||||
{endmarker}
|
{endmarker}
|
||||||
|
|
||||||
:[range]python3 {stmt}
|
:[range]python3 {stmt}
|
||||||
:[range]python3 << [endmarker]
|
:[range]python3 << [trim] [{endmarker}]
|
||||||
{script}
|
{script}
|
||||||
{endmarker}
|
{endmarker}
|
||||||
The `:py3` and `:python3` commands work similar to `:python`. A
|
The `:py3` and `:python3` commands work similar to `:python`. A
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*if_ruby.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
*if_ruby.txt* For Vim version 8.2. Last change: 2019 Jul 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Shugo Maeda
|
VIM REFERENCE MANUAL by Shugo Maeda
|
||||||
@ -28,15 +28,15 @@ downloading Ruby there.
|
|||||||
:rub[y] {cmd} Execute Ruby command {cmd}. A command to try it out: >
|
:rub[y] {cmd} Execute Ruby command {cmd}. A command to try it out: >
|
||||||
:ruby print "Hello"
|
:ruby print "Hello"
|
||||||
|
|
||||||
:rub[y] << [endmarker]
|
:rub[y] << [trim] [{endmarker}]
|
||||||
{script}
|
{script}
|
||||||
{endmarker}
|
{endmarker}
|
||||||
Execute Ruby script {script}.
|
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 '.'
|
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
|
This form of the |:ruby| command is mainly useful for
|
||||||
including ruby code in vim scripts.
|
including ruby code in vim scripts.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*if_sniff.txt* For Vim version 8.1. Last change: 2016 Feb 27
|
*if_sniff.txt* For Vim version 8.2. Last change: 2016 Feb 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL
|
VIM REFERENCE MANUAL
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*if_tcl.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
*if_tcl.txt* For Vim version 8.2. Last change: 2019 Jul 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Ingo Wilken
|
VIM REFERENCE MANUAL by Ingo Wilken
|
||||||
@ -30,7 +30,7 @@ comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
|
|||||||
is working: >
|
is working: >
|
||||||
:tcl puts "Hello"
|
:tcl puts "Hello"
|
||||||
|
|
||||||
:[range]tc[l] << [endmarker]
|
:[range]tc[l] << [trim] [{endmarker}]
|
||||||
{script}
|
{script}
|
||||||
{endmarker}
|
{endmarker}
|
||||||
Execute Tcl script {script}.
|
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
|
wasn't compiled in. To avoid errors, see
|
||||||
|script-here|.
|
|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
|
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
|
This form of the |:tcl| command is mainly useful for including tcl code in Vim
|
||||||
scripts.
|
scripts.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*indent.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
*indent.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -570,9 +570,15 @@ The examples below assume a 'shiftwidth' of 4.
|
|||||||
with "#" does not work.
|
with "#" does not work.
|
||||||
|
|
||||||
|
|
||||||
|
PN When N is non-zero recognize C pragmas, and indent them like any
|
||||||
|
other code; does not concern other preprocessor directives.
|
||||||
|
When N is zero (default): don't recognize C pragmas, treating
|
||||||
|
them like every other preprocessor directive.
|
||||||
|
|
||||||
|
|
||||||
The defaults, spelled out in full, are:
|
The defaults, spelled out in full, are:
|
||||||
cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,N0,E0,ps,ts,is,+s,
|
cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,N0,E0,ps,ts,is,+s,
|
||||||
c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0
|
c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0,P0
|
||||||
|
|
||||||
Vim puts a line in column 1 if:
|
Vim puts a line in column 1 if:
|
||||||
- It starts with '#' (preprocessor directives), if 'cinkeys' contains '#0'.
|
- It starts with '#' (preprocessor directives), if 'cinkeys' contains '#0'.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*index.txt* For Vim version 8.1. Last change: 2019 Sep 27
|
*index.txt* For Vim version 8.2. Last change: 2020 May 31
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -73,6 +73,8 @@ tag char action in Insert mode ~
|
|||||||
the cursor
|
the cursor
|
||||||
|i_CTRL-Q| CTRL-Q same as CTRL-V, unless used for terminal
|
|i_CTRL-Q| CTRL-Q same as CTRL-V, unless used for terminal
|
||||||
control flow
|
control flow
|
||||||
|
|i_CTRL-SHIFT-Q| CTRL-SHIFT-Q {char}
|
||||||
|
like CTRL-Q unless |modifyOtherKeys| is active
|
||||||
|i_CTRL-R| CTRL-R {register}
|
|i_CTRL-R| CTRL-R {register}
|
||||||
insert the contents of a register
|
insert the contents of a register
|
||||||
|i_CTRL-R_CTRL-R| CTRL-R CTRL-R {register}
|
|i_CTRL-R_CTRL-R| CTRL-R CTRL-R {register}
|
||||||
@ -83,12 +85,14 @@ tag char action in Insert mode ~
|
|||||||
|i_CTRL-R_CTRL-P| CTRL-R CTRL-P {register}
|
|i_CTRL-R_CTRL-P| CTRL-R CTRL-P {register}
|
||||||
insert the contents of a register literally
|
insert the contents of a register literally
|
||||||
and fix indent.
|
and fix indent.
|
||||||
CTRL-S (used for terminal control flow)
|
CTRL-S not used or used for terminal control flow
|
||||||
|i_CTRL-T| CTRL-T insert one shiftwidth of indent in current
|
|i_CTRL-T| CTRL-T insert one shiftwidth of indent in current
|
||||||
line
|
line
|
||||||
|i_CTRL-U| CTRL-U delete all entered characters in the current
|
|i_CTRL-U| CTRL-U delete all entered characters in the current
|
||||||
line
|
line
|
||||||
|i_CTRL-V| CTRL-V {char} insert next non-digit literally
|
|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
|
|i_CTRL-V_digit| CTRL-V {number} insert three digit decimal number as a single
|
||||||
byte.
|
byte.
|
||||||
|i_CTRL-W| CTRL-W delete word before the cursor
|
|i_CTRL-W| CTRL-W delete word before the cursor
|
||||||
@ -216,9 +220,9 @@ tag char note action in Normal mode ~
|
|||||||
|CTRL-N| CTRL-N 1 same as "j"
|
|CTRL-N| CTRL-N 1 same as "j"
|
||||||
|CTRL-O| CTRL-O 1 go to N older entry in jump list
|
|CTRL-O| CTRL-O 1 go to N older entry in jump list
|
||||||
|CTRL-P| CTRL-P 1 same as "k"
|
|CTRL-P| CTRL-P 1 same as "k"
|
||||||
CTRL-Q (used for terminal control flow)
|
CTRL-Q not used, or used for terminal control flow
|
||||||
|CTRL-R| CTRL-R 2 redo changes which were undone with 'u'
|
|CTRL-R| CTRL-R 2 redo changes which were undone with 'u'
|
||||||
CTRL-S (used for terminal control flow)
|
CTRL-S not used, or used for terminal control flow
|
||||||
|CTRL-T| CTRL-T jump to N older Tag in tag list
|
|CTRL-T| CTRL-T jump to N older Tag in tag list
|
||||||
|CTRL-U| CTRL-U scroll N lines Upwards (default: half a
|
|CTRL-U| CTRL-U scroll N lines Upwards (default: half a
|
||||||
screen)
|
screen)
|
||||||
@ -242,8 +246,7 @@ tag char note action in Normal mode ~
|
|||||||
2 filter Nmove text through the {filter}
|
2 filter Nmove text through the {filter}
|
||||||
command
|
command
|
||||||
|!!| !!{filter} 2 filter N lines 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
|
|quote| "{register} use {register} for next delete, yank or put
|
||||||
delete, yank or put (uppercase to append)
|
|
||||||
({.%#:} only work with put)
|
({.%#:} only work with put)
|
||||||
|#| # 1 search backward for the Nth occurrence of
|
|#| # 1 search backward for the Nth occurrence of
|
||||||
the ident under the cursor
|
the ident under the cursor
|
||||||
@ -361,8 +364,8 @@ tag char note action in Normal mode ~
|
|||||||
register x]
|
register x]
|
||||||
|Y| ["x]Y yank N lines [into register x]; synonym for
|
|Y| ["x]Y yank N lines [into register x]; synonym for
|
||||||
"yy"
|
"yy"
|
||||||
|ZZ| ZZ store current file if modified, and exit
|
|ZZ| ZZ write if buffer changed and close window
|
||||||
|ZQ| ZQ exit current file always
|
|ZQ| ZQ close window without writing
|
||||||
|[| [{char} square bracket command (see |[| below)
|
|[| [{char} square bracket command (see |[| below)
|
||||||
\ not used
|
\ not used
|
||||||
|]| ]{char} square bracket command (see |]| below)
|
|]| ]{char} square bracket command (see |]| below)
|
||||||
@ -825,7 +828,7 @@ tag char note action in Normal mode ~
|
|||||||
|zD| zD delete folds recursively
|
|zD| zD delete folds recursively
|
||||||
|zE| zE eliminate all folds
|
|zE| zE eliminate all folds
|
||||||
|zF| zF create a fold for N lines
|
|zF| zF create a fold for N lines
|
||||||
|zG| zG mark word as good spelled word
|
|zG| zG temporarily mark word as correctly spelled
|
||||||
|zH| zH when 'wrap' off scroll half a screenwidth
|
|zH| zH when 'wrap' off scroll half a screenwidth
|
||||||
to the right
|
to the right
|
||||||
|zL| zL when 'wrap' off scroll half a screenwidth
|
|zL| zL when 'wrap' off scroll half a screenwidth
|
||||||
@ -834,7 +837,7 @@ tag char note action in Normal mode ~
|
|||||||
|zN| zN set 'foldenable'
|
|zN| zN set 'foldenable'
|
||||||
|zO| zO open folds recursively
|
|zO| zO open folds recursively
|
||||||
|zR| zR set 'foldlevel' to the deepest fold
|
|zR| zR set 'foldlevel' to the deepest fold
|
||||||
|zW| zW mark word as wrong (bad) spelled word
|
|zW| zW temporarily mark word as incorrectly spelled
|
||||||
|zX| zX re-apply 'foldlevel'
|
|zX| zX re-apply 'foldlevel'
|
||||||
|z^| z^ cursor on line N (default line above
|
|z^| z^ cursor on line N (default line above
|
||||||
window), otherwise like "z-"
|
window), otherwise like "z-"
|
||||||
@ -846,7 +849,7 @@ tag char note action in Normal mode ~
|
|||||||
position the cursor at the end (right side)
|
position the cursor at the end (right side)
|
||||||
of the screen
|
of the screen
|
||||||
|zf| zf{motion} create a fold for Nmove text
|
|zf| zf{motion} create a fold for Nmove text
|
||||||
|zg| zg mark word as good spelled word
|
|zg| zg permanently mark word as correctly spelled
|
||||||
|zh| zh when 'wrap' off scroll screen N characters
|
|zh| zh when 'wrap' off scroll screen N characters
|
||||||
to the right
|
to the right
|
||||||
|zi| zi toggle 'foldenable'
|
|zi| zi toggle 'foldenable'
|
||||||
@ -867,7 +870,7 @@ tag char note action in Normal mode ~
|
|||||||
|zuW| zuW undo |zW|
|
|zuW| zuW undo |zW|
|
||||||
|zuG| zuG undo |zG|
|
|zuG| zuG undo |zG|
|
||||||
|zv| zv open enough folds to view the cursor line
|
|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 incorrectly spelled
|
||||||
|zx| zx re-apply 'foldlevel' and do "zv"
|
|zx| zx re-apply 'foldlevel' and do "zv"
|
||||||
|zz| zz redraw, cursor line at center of window
|
|zz| zz redraw, cursor line at center of window
|
||||||
|z<Left>| z<Left> same as "zh"
|
|z<Left>| z<Left> same as "zh"
|
||||||
@ -1053,7 +1056,7 @@ tag command action in Command-line editing mode ~
|
|||||||
|c_CTRL-R_CTRL-O| CTRL-R CTRL-O {regname}
|
|c_CTRL-R_CTRL-O| CTRL-R CTRL-O {regname}
|
||||||
insert the contents of a register or object
|
insert the contents of a register or object
|
||||||
under the cursor literally
|
under the cursor literally
|
||||||
CTRL-S (used for terminal control flow)
|
CTRL-S not used, or used for terminal control flow
|
||||||
|c_CTRL-T| CTRL-T previous match when 'incsearch' is active
|
|c_CTRL-T| CTRL-T previous match when 'incsearch' is active
|
||||||
|c_CTRL-U| CTRL-U remove all characters
|
|c_CTRL-U| CTRL-U remove all characters
|
||||||
|c_CTRL-V| CTRL-V insert next non-digit literally, insert three
|
|c_CTRL-V| CTRL-V insert next non-digit literally, insert three
|
||||||
@ -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 : enter an Ex command
|
||||||
|t_CTRL-W_.| CTRL-W . type CTRL-W in the terminal
|
|t_CTRL-W_.| CTRL-W . type CTRL-W in the terminal
|
||||||
CTRL-W CTRL-\ send a CTRL-\ to the job 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
|
paste register in the terminal
|
||||||
|t_CTRL-W_CTRL-C| CTRL-W CTRL-C forcefully ends the job
|
|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
|
|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
|
|:cunmenu| :cunme[nu] remove menu for Command-line mode
|
||||||
|:cwindow| :cw[indow] open or close quickfix window
|
|:cwindow| :cw[indow] open or close quickfix window
|
||||||
|:delete| :d[elete] delete lines
|
|:delete| :d[elete] delete lines
|
||||||
|:delmarks| :delm[arks] delete marks
|
|
||||||
|:debug| :deb[ug] run a command in debugging mode
|
|:debug| :deb[ug] run a command in debugging mode
|
||||||
|:debuggreedy| :debugg[reedy] read debug mode commands from normal input
|
|: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
|
|:delcommand| :delc[ommand] delete user-defined command
|
||||||
|:delfunction| :delf[unction] delete a user function
|
|:delfunction| :delf[unction] delete a user function
|
||||||
|
|:delmarks| :delm[arks] delete marks
|
||||||
|:diffupdate| :dif[fupdate] update 'diff' buffers
|
|:diffupdate| :dif[fupdate] update 'diff' buffers
|
||||||
|:diffget| :diffg[et] remove differences in current buffer
|
|:diffget| :diffg[et] remove differences in current buffer
|
||||||
|:diffoff| :diffo[ff] switch off diff mode
|
|:diffoff| :diffo[ff] switch off diff mode
|
||||||
@ -1270,9 +1275,9 @@ tag command action ~
|
|||||||
|:diffthis| :diffthis make current window a diff window
|
|:diffthis| :diffthis make current window a diff window
|
||||||
|:digraphs| :dig[raphs] show or enter digraphs
|
|:digraphs| :dig[raphs] show or enter digraphs
|
||||||
|:display| :di[splay] display registers
|
|:display| :di[splay] display registers
|
||||||
|
|:disassemble| :disa[ssemble] disassemble Vim9 user function
|
||||||
|:djump| :dj[ump] jump to #define
|
|:djump| :dj[ump] jump to #define
|
||||||
|:dl| :dl short for |:delete| with the 'l' flag
|
|: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
|
|:dlist| :dli[st] list #defines
|
||||||
|:doautocmd| :do[autocmd] apply autocommands to current buffer
|
|:doautocmd| :do[autocmd] apply autocommands to current buffer
|
||||||
|:doautoall| :doautoa[ll] apply autocommands for all loaded buffers
|
|:doautoall| :doautoa[ll] apply autocommands for all loaded buffers
|
||||||
@ -1291,15 +1296,17 @@ tag command action ~
|
|||||||
|:else| :el[se] part of an :if command
|
|:else| :el[se] part of an :if command
|
||||||
|:elseif| :elsei[f] part of an :if command
|
|:elseif| :elsei[f] part of an :if command
|
||||||
|:emenu| :em[enu] execute a menu by name
|
|:emenu| :em[enu] execute a menu by name
|
||||||
|
|:enddef| :enddef end of a user function started with :def
|
||||||
|:endif| :en[dif] end previous :if
|
|:endif| :en[dif] end previous :if
|
||||||
|:endfor| :endfo[r] end previous :for
|
|: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
|
|:endtry| :endt[ry] end previous :try
|
||||||
|:endwhile| :endw[hile] end previous :while
|
|:endwhile| :endw[hile] end previous :while
|
||||||
|:enew| :ene[w] edit a new, unnamed buffer
|
|:enew| :ene[w] edit a new, unnamed buffer
|
||||||
|:ex| :ex same as ":edit"
|
|:ex| :ex same as ":edit"
|
||||||
|:execute| :exe[cute] execute result of expressions
|
|:execute| :exe[cute] execute result of expressions
|
||||||
|:exit| :exi[t] same as ":xit"
|
|:exit| :exi[t] same as ":xit"
|
||||||
|
|:export| :exp[ort] Vim9: export an item from a script
|
||||||
|:exusage| :exu[sage] overview of Ex commands
|
|:exusage| :exu[sage] overview of Ex commands
|
||||||
|:file| :f[ile] show or set the current file name
|
|:file| :f[ile] show or set the current file name
|
||||||
|:files| :files list all files in the buffer list
|
|: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
|
|:imap| :im[ap] like ":map" but for Insert mode
|
||||||
|:imapclear| :imapc[lear] like ":mapclear" but for Insert mode
|
|:imapclear| :imapc[lear] like ":mapclear" but for Insert mode
|
||||||
|:imenu| :ime[nu] add menu 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
|
|:inoremap| :ino[remap] like ":noremap" but for Insert mode
|
||||||
|:inoreabbrev| :inorea[bbrev] like ":noreabbrev" but for Insert mode
|
|:inoreabbrev| :inorea[bbrev] like ":noreabbrev" but for Insert mode
|
||||||
|:inoremenu| :inoreme[nu] like ":noremenu" 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
|
|:version| :ve[rsion] print version number and other info
|
||||||
|:verbose| :verb[ose] execute command with 'verbose' set
|
|:verbose| :verb[ose] execute command with 'verbose' set
|
||||||
|:vertical| :vert[ical] make following command split vertically
|
|:vertical| :vert[ical] make following command split vertically
|
||||||
|
|:vim9script| :vim9[script] indicates Vim9 script file
|
||||||
|:vimgrep| :vim[grep] search for pattern in files
|
|:vimgrep| :vim[grep] search for pattern in files
|
||||||
|:vimgrepadd| :vimgrepa[dd] like :vimgrep, but append to current list
|
|:vimgrepadd| :vimgrepa[dd] like :vimgrep, but append to current list
|
||||||
|:visual| :vi[sual] same as ":edit", but turns off "Ex" mode
|
|: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
|
|:wqall| :wqa[ll] write all changed buffers and quit Vim
|
||||||
|:wundo| :wu[ndo] write undo information to a file
|
|:wundo| :wu[ndo] write undo information to a file
|
||||||
|:wviminfo| :wv[iminfo] write to viminfo 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"
|
|:xall| :xa[ll] same as ":wqall"
|
||||||
|:xmapclear| :xmapc[lear] remove all mappings for Visual mode
|
|:xmapclear| :xmapc[lear] remove all mappings for Visual mode
|
||||||
|:xmap| :xm[ap] like ":map" but for Visual mode
|
|:xmap| :xm[ap] like ":map" but for Visual mode
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*insert.txt* For Vim version 8.1. Last change: 2019 Nov 26
|
*insert.txt* For Vim version 8.2. Last change: 2020 Apr 30
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
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.
|
you also want to avoid these, use CTRL-R CTRL-O, see below.
|
||||||
The '.' register (last inserted text) is still inserted as
|
The '.' register (last inserted text) is still inserted as
|
||||||
typed.
|
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*
|
CTRL-R CTRL-O {register} *i_CTRL-R_CTRL-O*
|
||||||
Insert the contents of a register literally and don't
|
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!
|
Does not replace characters!
|
||||||
The '.' register (last inserted text) is still inserted as
|
The '.' register (last inserted text) is still inserted as
|
||||||
typed.
|
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*
|
CTRL-R CTRL-P {register} *i_CTRL-R_CTRL-P*
|
||||||
Insert the contents of a register literally and fix the
|
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!
|
Does not replace characters!
|
||||||
The '.' register (last inserted text) is still inserted as
|
The '.' register (last inserted text) is still inserted as
|
||||||
typed.
|
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*
|
*i_CTRL-T*
|
||||||
CTRL-T Insert one shiftwidth of indent at the start of the current
|
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|,
|
is converted back to what it was without |modifyOtherKeys|,
|
||||||
unless the Shift key is also pressed.
|
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*
|
*i_CTRL-Q*
|
||||||
CTRL-Q Same as CTRL-V.
|
CTRL-Q Same as CTRL-V.
|
||||||
Note: Some terminal connections may eat CTRL-Q, it doesn't
|
Note: Some terminal connections may eat CTRL-Q, it doesn't
|
||||||
work then. It does work in the GUI.
|
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
|
CTRL-X Enter CTRL-X mode. This is a sub-mode where commands can
|
||||||
be given to complete words or scroll the window. See
|
be given to complete words or scroll the window. See
|
||||||
|i_CTRL-X| and |ins-completion|.
|
|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-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 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*
|
CTRL-G U don't break undo with next left/right cursor *i_CTRL-G_U*
|
||||||
movement, if the cursor stays within
|
movement, if the cursor stays within the
|
||||||
same the line
|
same line
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
Note: If the cursor keys take you out of Insert mode, check the 'noesckeys'
|
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.
|
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.
|
Also, when doing completion with 'complete' mappings apply as usual.
|
||||||
|
|
||||||
Note: While completion is active Insert mode can't be used recursively.
|
*E578* *E565*
|
||||||
Mappings that somehow invoke ":normal i.." will generate an E523 error.
|
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
|
The following mappings are suggested to make typing the completion commands
|
||||||
a bit easier (although they will hide other 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.
|
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: >
|
For example, the function can contain this: >
|
||||||
let matches = ... list of words ...
|
let matches = ... list of words ...
|
||||||
@ -1108,7 +1119,8 @@ items:
|
|||||||
empty when non-zero this match will be added even when it is
|
empty when non-zero this match will be added even when it is
|
||||||
an empty string
|
an empty string
|
||||||
user_data custom data which is associated with the item and
|
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
|
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
|
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.
|
changed, the detected format is only used while reading the file.
|
||||||
A similar thing happens with 'fileencodings'.
|
A similar thing happens with 'fileencodings'.
|
||||||
|
|
||||||
On non-MS-DOS, Win32, and OS/2 systems the message "[dos format]" is shown if
|
On non-Win32 systems the message "[dos format]" is shown if a file is read in
|
||||||
a file is read in DOS format, to remind you that something unusual is done.
|
DOS format, to remind you that something unusual is done.
|
||||||
On Macintosh, MS-DOS, Win32, and OS/2 the message "[unix format]" is shown if
|
On Macintosh and Win32 the message "[unix format]" is shown if a file is read
|
||||||
a file is read in Unix format.
|
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.
|
read in Mac format.
|
||||||
|
|
||||||
An example on how to use ":r !": >
|
An example on how to use ":r !": >
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*intro.txt* For Vim version 8.1. Last change: 2019 Nov 11
|
*intro.txt* For Vim version 8.2. Last change: 2020 May 30
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -121,14 +121,16 @@ http://www.vim.org/maillist.php
|
|||||||
|
|
||||||
Bug reports: *bugs* *bug-reports* *bugreport.vim*
|
Bug reports: *bugs* *bug-reports* *bugreport.vim*
|
||||||
|
|
||||||
There are two ways to report bugs, both work:
|
There are three ways to report bugs:
|
||||||
1. Send bug reports to: Vim Developers <vim-dev@vim.org>
|
1. Open an issue on GitHub: https://github.com/vim/vim/issues
|
||||||
|
The text will be forwarded to the vim-dev maillist.
|
||||||
|
2. For issues with runtime files, look in the header for an email address or
|
||||||
|
any other way to report it to the maintainer.
|
||||||
|
3. Send bug reports to: Vim Developers <vim-dev@vim.org>
|
||||||
This is a maillist, you need to become a member first and many people will
|
This is a maillist, you need to become a member first and many people will
|
||||||
see the message. If you don't want that, e.g. because it is a security
|
see the message. If you don't want that, e.g. because it is a security
|
||||||
issue, send it to <bugs@vim.org>, this only goes to the Vim maintainer
|
issue, send it to <bugs@vim.org>, this only goes to the Vim maintainer
|
||||||
(that's Bram).
|
(that's Bram).
|
||||||
2. Open an issue on GitHub: https://github.com/vim/vim/issues
|
|
||||||
The text will be forwarded to the vim-dev maillist.
|
|
||||||
|
|
||||||
Please be brief; all the time that is spent on answering mail is subtracted
|
Please be brief; all the time that is spent on answering mail is subtracted
|
||||||
from the time that is spent on improving Vim! Always give a reproducible
|
from the time that is spent on improving Vim! Always give a reproducible
|
||||||
|
@ -58,7 +58,7 @@ substr($0,length($0),1) == "~" { print "<B><FONT COLOR=\"PURPLE\">" substr($0,1,
|
|||||||
#
|
#
|
||||||
#ad hoc code
|
#ad hoc code
|
||||||
#
|
#
|
||||||
/^"\|\& / {gsub(/\|/,"\\|"); }
|
/^"\|& / {gsub(/\|/,"\\|"); }
|
||||||
/ = b / {gsub(/ b /," \\b "); }
|
/ = b / {gsub(/ b /," \\b "); }
|
||||||
#
|
#
|
||||||
# one letter tag
|
# one letter tag
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*map.txt* For Vim version 8.1. Last change: 2019 Nov 09
|
*map.txt* For Vim version 8.2. Last change: 2020 Apr 23
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
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
|
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
|
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
|
modifyOtherKeys is enabled: In Insert mode type CTRL-SHIFT-V CTRL-V, if you
|
||||||
one byte then modifyOtherKeys is off, if you get <1b>27;5;118~ then it is on.
|
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
|
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.
|
Insert mode to avoid every key with a modifier causing Insert mode to end.
|
||||||
@ -1044,7 +1045,8 @@ See |:verbose-cmd| for more information.
|
|||||||
See |:map-<buffer>| for the optional <buffer> argument.
|
See |:map-<buffer>| for the optional <buffer> argument.
|
||||||
|
|
||||||
*:una* *:unabbreviate*
|
*:una* *:unabbreviate*
|
||||||
:una[bbreviate] {lhs} Remove abbreviation for {lhs} from the list. If none
|
:una[bbreviate] [<buffer>] {lhs}
|
||||||
|
Remove abbreviation for {lhs} from the list. If none
|
||||||
is found, remove abbreviations in which {lhs} matches
|
is found, remove abbreviations in which {lhs} matches
|
||||||
with the {rhs}. This is done so that you can even
|
with the {rhs}. This is done so that you can even
|
||||||
remove abbreviations after expansion. To avoid
|
remove abbreviations after expansion. To avoid
|
||||||
@ -1059,7 +1061,8 @@ See |:verbose-cmd| for more information.
|
|||||||
Same as ":ab", but for Command-line mode only.
|
Same as ":ab", but for Command-line mode only.
|
||||||
|
|
||||||
*:cuna* *:cunabbrev*
|
*:cuna* *:cunabbrev*
|
||||||
:cuna[bbrev] {lhs} Same as ":una", but for Command-line mode only.
|
:cuna[bbrev] [<buffer>] {lhs}
|
||||||
|
Same as ":una", but for Command-line mode only.
|
||||||
|
|
||||||
*:cnorea* *:cnoreabbrev*
|
*:cnorea* *:cnoreabbrev*
|
||||||
:cnorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
|
:cnorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
|
||||||
@ -1071,7 +1074,8 @@ See |:verbose-cmd| for more information.
|
|||||||
Same as ":ab", but for Insert mode only.
|
Same as ":ab", but for Insert mode only.
|
||||||
|
|
||||||
*:iuna* *:iunabbrev*
|
*:iuna* *:iunabbrev*
|
||||||
:iuna[bbrev] {lhs} Same as ":una", but for insert mode only.
|
:iuna[bbrev] [<buffer>] {lhs}
|
||||||
|
Same as ":una", but for insert mode only.
|
||||||
|
|
||||||
*:inorea* *:inoreabbrev*
|
*:inorea* *:inoreabbrev*
|
||||||
:inorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
|
:inorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
|
||||||
@ -1488,7 +1492,7 @@ The valid escape sequences are
|
|||||||
<bang> (See the '-bang' attribute) Expands to a ! if the
|
<bang> (See the '-bang' attribute) Expands to a ! if the
|
||||||
command was executed with a ! modifier, otherwise
|
command was executed with a ! modifier, otherwise
|
||||||
expands to nothing.
|
expands to nothing.
|
||||||
*<mods>*
|
*<mods>* *:command-modifiers*
|
||||||
<mods> The command modifiers, if specified. Otherwise, expands to
|
<mods> The command modifiers, if specified. Otherwise, expands to
|
||||||
nothing. Supported modifiers are |:aboveleft|, |:belowright|,
|
nothing. Supported modifiers are |:aboveleft|, |:belowright|,
|
||||||
|:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|,
|
|:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|,
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*mbyte.txt* For Vim version 8.1. Last change: 2019 Jul 04
|
*mbyte.txt* For Vim version 8.2. Last change: 2019 Jul 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user