Compare commits
502 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2726821d38 | ||
|
|
35cb03648f | ||
|
|
d2232d70c8 | ||
|
|
7cedae3ec3 | ||
|
|
b42b9fc41f | ||
|
|
92e109fc13 | ||
|
|
9cb865e95b | ||
|
|
adb703e1b9 | ||
|
|
b5459ee104 | ||
|
|
4e7b4308fb | ||
|
|
932a535bfa | ||
|
|
e14aa3c035 | ||
|
|
19d4f99a34 | ||
|
|
8a63529a2f | ||
|
|
9712a2534f | ||
|
|
51a06ecee0 | ||
|
|
5753084042 | ||
|
|
83d74404bb | ||
|
|
51ff18e319 | ||
|
|
7a5115ce50 | ||
|
|
e4e0a2468c | ||
|
|
40ab82b974 | ||
|
|
711f4a07f3 | ||
|
|
e08f10a55c | ||
|
|
11ab02c819 | ||
|
|
d5afc74403 | ||
|
|
8ac0f73eb1 | ||
|
|
a3a7d10bfb | ||
|
|
18a6853a76 | ||
|
|
c4815c157b | ||
|
|
c00729824d | ||
|
|
85627732e0 | ||
|
|
61b3544424 | ||
|
|
ad2f6b6662 | ||
|
|
dd3f1c0dda | ||
|
|
762a79e15c | ||
|
|
28e40a7b55 | ||
|
|
250739d442 | ||
|
|
7ceca3eb00 | ||
|
|
34954972c2 | ||
|
|
20d23ce93b | ||
|
|
3c7d9b11c8 | ||
|
|
bcf66e0141 | ||
|
|
21ac3a49b5 | ||
|
|
2c9f49b200 | ||
|
|
ab281f8b34 | ||
|
|
1064426d15 | ||
|
|
8322923b40 | ||
|
|
13dcea2df1 | ||
|
|
63a885b650 | ||
|
|
5f2a959553 | ||
|
|
84a7503e29 | ||
|
|
8021830827 | ||
|
|
00a749bd90 | ||
|
|
96395e1512 | ||
|
|
47071c6076 | ||
|
|
2329bd427a | ||
|
|
3ca914ec74 | ||
|
|
b55f0221cc | ||
|
|
f22580e57c | ||
|
|
5606ca5349 | ||
|
|
587601671c | ||
|
|
1dc731a49f | ||
|
|
4d2c4b90fb | ||
|
|
c1c1019fa3 | ||
|
|
6b01f02712 | ||
|
|
1830e787f6 | ||
|
|
0adbe639a5 | ||
|
|
54c88d0cf8 | ||
|
|
f209dcd3de | ||
|
|
53b14578e0 | ||
|
|
7546afbf52 | ||
|
|
c1c3b5d6a0 | ||
|
|
2d18789aa6 | ||
|
|
7db96134c2 | ||
|
|
23473303b7 | ||
|
|
4fa2dd2405 | ||
|
|
a8aeeeb9aa | ||
|
|
0a336ccb57 | ||
|
|
6763b0ee95 | ||
|
|
c2623824a7 | ||
|
|
969e11a18b | ||
|
|
835bc014c0 | ||
|
|
8d67cbfa1f | ||
|
|
0fab89117f | ||
|
|
e671b1b6d1 | ||
|
|
3dca512939 | ||
|
|
42e498d9c4 | ||
|
|
d6c7913e24 | ||
|
|
f4d87ff888 | ||
|
|
ccf2731fd1 | ||
|
|
d49ba7b92a | ||
|
|
0a825bdde8 | ||
|
|
14da0fb2d8 | ||
|
|
9102ac11ab | ||
|
|
d89770eb98 | ||
|
|
16d6fff98e | ||
|
|
ce4f9d2a10 | ||
|
|
3d1a437f1b | ||
|
|
f63c3467b1 | ||
|
|
dd42b05f8a | ||
|
|
af05694900 | ||
|
|
b7dc5d3b61 | ||
|
|
62f19541f4 | ||
|
|
62e822808e | ||
|
|
6852e5c597 | ||
|
|
53d59ecc1d | ||
|
|
4422de6316 | ||
|
|
b3a9127494 | ||
|
|
6bdfeb099a | ||
|
|
4a1e6dacbb | ||
|
|
f31cfa29bf | ||
|
|
25e833f4ec | ||
|
|
5daaf23268 | ||
|
|
ec6e82af04 | ||
|
|
2323f225ca | ||
|
|
34a7d82aae | ||
|
|
2e18facede | ||
|
|
273926e5c0 | ||
|
|
de4b244bfc | ||
|
|
c8cce711dd | ||
|
|
b34ce3e205 | ||
|
|
08a410f674 | ||
|
|
f7087cbec7 | ||
|
|
4783a2c073 | ||
|
|
9f827ec587 | ||
|
|
3ed6659549 | ||
|
|
a95085e0fc | ||
|
|
4ec46f3210 | ||
|
|
29d596c80a | ||
|
|
659cb28c25 | ||
|
|
0b5fe42071 | ||
|
|
d2219d547d | ||
|
|
360a39ae6c | ||
|
|
fb792374cf | ||
|
|
2bacc3e5fb | ||
|
|
a250738303 | ||
|
|
bc08ceb755 | ||
|
|
334a13bff7 | ||
|
|
8872012e5f | ||
|
|
8ac975d97e | ||
|
|
1a741d3cb8 | ||
|
|
7003a5d63f | ||
|
|
ff159253eb | ||
|
|
94a045ed56 | ||
|
|
56957ed410 | ||
|
|
a2c5559f29 | ||
|
|
3e2affc324 | ||
|
|
5e8b2268e1 | ||
|
|
da53af57a7 | ||
|
|
3255af850e | ||
|
|
85a50fe825 | ||
|
|
4be1ab80be | ||
|
|
fce1fa5b61 | ||
|
|
0b8205484b | ||
|
|
60bd140256 | ||
|
|
e9ae35f265 | ||
|
|
3d75ec7401 | ||
|
|
dbedc0924d | ||
|
|
18bacc811c | ||
|
|
397700e507 | ||
|
|
b2bd8de154 | ||
|
|
d3c4b7e946 | ||
|
|
580e457a2a | ||
|
|
9b41e8f766 | ||
|
|
aa8345a968 | ||
|
|
6c0128385e | ||
|
|
00a00f5d3f | ||
|
|
12b1eb58ab | ||
|
|
f877040a04 | ||
|
|
25b16d64a0 | ||
|
|
16f2d3a465 | ||
|
|
5090a1fecb | ||
|
|
5b97947bbd | ||
|
|
b3854bfc54 | ||
|
|
e0029daa35 | ||
|
|
28155d0855 | ||
|
|
094494bf2e | ||
|
|
025dc48e88 | ||
|
|
b8989fb860 | ||
|
|
ed7d8e55ac | ||
|
|
f1c3134ee1 | ||
|
|
a7b8120820 | ||
|
|
f4b36417e8 | ||
|
|
066a5340e3 | ||
|
|
61af587f26 | ||
|
|
d15114c148 | ||
|
|
14e8208d84 | ||
|
|
7bbb0f357e | ||
|
|
bf595ae4ac | ||
|
|
51eefba1d6 | ||
|
|
6a15942bc2 | ||
|
|
41a6026f00 | ||
|
|
b62bf81488 | ||
|
|
060e6556e2 | ||
|
|
b79fa3d9c8 | ||
|
|
a48693c6c2 | ||
|
|
13f100e932 | ||
|
|
3cb41489dc | ||
|
|
fbe2dd7b4c | ||
|
|
27f5136761 | ||
|
|
e3fed4828c | ||
|
|
106899eb21 | ||
|
|
52fd867f5e | ||
|
|
4418041698 | ||
|
|
3af0a8d8f5 | ||
|
|
08a83a033a | ||
|
|
e700ddeea4 | ||
|
|
911742a975 | ||
|
|
d6e3c9048d | ||
|
|
07f0dbe3aa | ||
|
|
ee1a24b21d | ||
|
|
44c1c04ddb | ||
|
|
5647c91355 | ||
|
|
778ada48fb | ||
|
|
b34a688ba0 | ||
|
|
68ba6c2c6c | ||
|
|
5887cce1d7 | ||
|
|
b5f463ce4f | ||
|
|
44831e4bea | ||
|
|
c0f0e2380e | ||
|
|
27822a0441 | ||
|
|
3f60114236 | ||
|
|
e67eff2e24 | ||
|
|
b6c900be9c | ||
|
|
faf4112cdc | ||
|
|
73d8222b31 | ||
|
|
bf7c88d852 | ||
|
|
e70587dbdb | ||
|
|
977561a719 | ||
|
|
d7deeffe11 | ||
|
|
407319fe89 | ||
|
|
2c47ab8fcd | ||
|
|
c0b7ca406b | ||
|
|
4f010c90bd | ||
|
|
8f3277fbbe | ||
|
|
a9c06429ac | ||
|
|
88ce0c546b | ||
|
|
7e89800988 | ||
|
|
f0ed0e6f63 | ||
|
|
5881828104 | ||
|
|
8cc725e927 | ||
|
|
bfc7719e48 | ||
|
|
40891bac5d | ||
|
|
35e02af7bf | ||
|
|
1aa287e048 | ||
|
|
54d7f18c38 | ||
|
|
e3647c8bf5 | ||
|
|
c5654b8448 | ||
|
|
97baa1cfe8 | ||
|
|
7de6b1bb56 | ||
|
|
68d0858892 | ||
|
|
f30eb4a170 | ||
|
|
3cfac59f92 | ||
|
|
2e4361bd40 | ||
|
|
ec7a4e4d69 | ||
|
|
aae1bfbdb9 | ||
|
|
6f14ef4b0b | ||
|
|
934d9ab3a2 | ||
|
|
645a4288e2 | ||
|
|
76bdb82527 | ||
|
|
746fe54d4f | ||
|
|
b7147f8236 | ||
|
|
a35040f795 | ||
|
|
a17f8bfb28 | ||
|
|
a6d5778d9b | ||
|
|
a41dfcd55b | ||
|
|
9c8f9b10fc | ||
|
|
a5e03f68a8 | ||
|
|
b69cd52447 | ||
|
|
cde8ff63e2 | ||
|
|
f50d5364d7 | ||
|
|
34e1e8de91 | ||
|
|
f7cb9f9280 | ||
|
|
4a530a632b | ||
|
|
449c2e5454 | ||
|
|
23da16d3d0 | ||
|
|
ccd7f454fc | ||
|
|
04d2a3fdc0 | ||
|
|
edf0f7db28 | ||
|
|
001c26cd61 | ||
|
|
e0a2ab397f | ||
|
|
cbc1f409c1 | ||
|
|
44a21351a8 | ||
|
|
2101230f40 | ||
|
|
3a621188ee | ||
|
|
c078675ac7 | ||
|
|
b32800f7c5 | ||
|
|
3219da514c | ||
|
|
7c930eb61a | ||
|
|
195fcc90d0 | ||
|
|
85e3f24bea | ||
|
|
d7f5854fcc | ||
|
|
bfb4eea786 | ||
|
|
fe0a9a3269 | ||
|
|
8297e2cee3 | ||
|
|
6d6ec2ee05 | ||
|
|
edd4ac3e89 | ||
|
|
ec961b05dc | ||
|
|
766801295d | ||
|
|
a5d19aa44d | ||
|
|
04cc897593 | ||
|
|
db23436b92 | ||
|
|
279dd703e1 | ||
|
|
fb49e3cde7 | ||
|
|
c729d6d154 | ||
|
|
d65aa1bbdb | ||
|
|
509a8d58f9 | ||
|
|
99181205c5 | ||
|
|
3acfbb4b54 | ||
|
|
08ea2e1fb0 | ||
|
|
efc41a5958 | ||
|
|
f400a0cc41 | ||
|
|
df098fedbc | ||
|
|
613d0bc128 | ||
|
|
9dfc7e5e61 | ||
|
|
c04334c33f | ||
|
|
d9a1f267ba | ||
|
|
e2a0471851 | ||
|
|
9601b1435a | ||
|
|
9d1bed5ecc | ||
|
|
4cbc54a743 | ||
|
|
72755b3c8e | ||
|
|
c273f1ac77 | ||
|
|
cb848b687f | ||
|
|
d79ea47079 | ||
|
|
4335fcfed1 | ||
|
|
71028a32db | ||
|
|
a81cf8b99e | ||
|
|
2a5312e738 | ||
|
|
8dec6c2e6c | ||
|
|
bce60c4742 | ||
|
|
5abc44e3c1 | ||
|
|
90b397586d | ||
|
|
2cb8246eb9 | ||
|
|
c65bb2ea8e | ||
|
|
d402ba81e2 | ||
|
|
87f65f3857 | ||
|
|
7c92e88894 | ||
|
|
fef4be0d7a | ||
|
|
e06405181a | ||
|
|
1d2867df0c | ||
|
|
b77c598487 | ||
|
|
5e9aaedf52 | ||
|
|
54cb514c9a | ||
|
|
866f229591 | ||
|
|
727c567a09 | ||
|
|
c2a967a1b9 | ||
|
|
2730d3873f | ||
|
|
c15de972e8 | ||
|
|
ca307efe48 | ||
|
|
3a738fccaa | ||
|
|
9cfdabb074 | ||
|
|
166b1754a9 | ||
|
|
a11b23c4d5 | ||
|
|
a234a46651 | ||
|
|
a9f77be922 | ||
|
|
9162e636b3 | ||
|
|
70dfc374ec | ||
|
|
037b028a22 | ||
|
|
3058087f6f | ||
|
|
01f6509fb2 | ||
|
|
6472e58365 | ||
|
|
9904cbca41 | ||
|
|
1aefe1de0b | ||
|
|
1ac53b84ad | ||
|
|
57f0119358 | ||
|
|
045564d0a7 | ||
|
|
6289f91591 | ||
|
|
30377e0fe0 | ||
|
|
221c53202d | ||
|
|
8e92db4ea2 | ||
|
|
3a0cc36c69 | ||
|
|
c200f53cbb | ||
|
|
7c7a4e6d1a | ||
|
|
faf250c9e4 | ||
|
|
8cbe2e0a0a | ||
|
|
5eaacef18e | ||
|
|
9eff3ee818 | ||
|
|
9fddb8ae77 | ||
|
|
ebb08d5913 | ||
|
|
c9a1e257f1 | ||
|
|
9598a6369b | ||
|
|
c10342da44 | ||
|
|
668e9f2403 | ||
|
|
ad409876d9 | ||
|
|
695522dea3 | ||
|
|
51754c8a49 | ||
|
|
ebea31e454 | ||
|
|
2051af1642 | ||
|
|
df4a7d7617 | ||
|
|
4f73c07abf | ||
|
|
a21240b97d | ||
|
|
8ab1819df6 | ||
|
|
e890887b80 | ||
|
|
1718e7d07e | ||
|
|
1f045f324d | ||
|
|
e0424b3348 | ||
|
|
616219f684 | ||
|
|
0072ceedc6 | ||
|
|
c97e869535 | ||
|
|
3159b6494e | ||
|
|
2050dcc20f | ||
|
|
6655bef330 | ||
|
|
cf1f55548d | ||
|
|
7ceaa8f3dd | ||
|
|
202ebc6ced | ||
|
|
8a27d97848 | ||
|
|
e15cbc1af4 | ||
|
|
dbe39edb29 | ||
|
|
cd96075cde | ||
|
|
6139766e82 | ||
|
|
b04af4cc96 | ||
|
|
27f2e473e1 | ||
|
|
a407573f30 | ||
|
|
58c44e8833 | ||
|
|
bde76da4d0 | ||
|
|
fc61cfd60e | ||
|
|
aa979c763d | ||
|
|
663d18d610 | ||
|
|
fd771613b3 | ||
|
|
0c3e57b403 | ||
|
|
e80f345b5d | ||
|
|
8dc98bf427 | ||
|
|
d4088edae2 | ||
|
|
34e271b321 | ||
|
|
39a4eb0b2c | ||
|
|
f27e80a6e1 | ||
|
|
2bee7e43e1 | ||
|
|
810785c689 | ||
|
|
48fa3198b7 | ||
|
|
6de7191c31 | ||
|
|
80ed8b8761 | ||
|
|
2e1f757f7b | ||
|
|
32b7e3a8c9 | ||
|
|
ab9a8947d7 | ||
|
|
b0206e9fb5 | ||
|
|
df4b3ca5dc | ||
|
|
14ede1890f | ||
|
|
df67fc0e69 | ||
|
|
49a35f67eb | ||
|
|
5113831d16 | ||
|
|
f0ab3e4e41 | ||
|
|
3b3318b640 | ||
|
|
7b12ac3ad8 | ||
|
|
f2e08a1e54 | ||
|
|
f6ba8defc6 | ||
|
|
231b4fc3cc | ||
|
|
e51043ad9f | ||
|
|
223d6c0a94 | ||
|
|
7b239f6d47 | ||
|
|
e6ccb643a6 | ||
|
|
2e252474c4 | ||
|
|
b7f19a5459 | ||
|
|
6c57c30ad4 | ||
|
|
b9b762c21f | ||
|
|
0a3b9fb5c2 | ||
|
|
157397edff | ||
|
|
5a04999a74 | ||
|
|
f07ae5b3bd | ||
|
|
6d2efd4920 | ||
|
|
b9ea0a89fa | ||
|
|
9b67a2e1dd | ||
|
|
de6a313014 | ||
|
|
ae01b96004 | ||
|
|
5ddcecf05f | ||
|
|
9360de9027 | ||
|
|
a32daed559 | ||
|
|
b6ab33bdb2 | ||
|
|
00d3459ea6 | ||
|
|
9739086de2 | ||
|
|
e62d93ead1 | ||
|
|
084529c03d | ||
|
|
8d0bb6dc9f | ||
|
|
f07c10d7bb | ||
|
|
08be9ddc85 | ||
|
|
4ce1cb5bf1 | ||
|
|
89a107efd1 | ||
|
|
7cb24917a1 | ||
|
|
92195ae72f | ||
|
|
62e3014ab1 | ||
|
|
70881ba195 | ||
|
|
f173f4249f | ||
|
|
2328a39a54 | ||
|
|
fb27cf9cb1 | ||
|
|
c673b805ad | ||
|
|
af0fed5988 | ||
|
|
13c1153eef | ||
|
|
83029a354e | ||
|
|
c363ca1ecd | ||
|
|
3baf19a2b1 | ||
|
|
b183f50280 | ||
|
|
59c8880ade | ||
|
|
cbdc3c1f7a | ||
|
|
f25d8f9312 | ||
|
|
beccb33977 | ||
|
|
b2a8df35e8 | ||
|
|
d0186c54c2 | ||
|
|
80d72aa547 | ||
|
|
116d2787ad | ||
|
|
21c37d7f69 | ||
|
|
d32bf0a067 |
@@ -20,6 +20,14 @@ indent_size = 2
|
||||
# https://spec.commonmark.org/0.31.2/#hard-line-breaks
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[*.vim]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[runtime/pack/dist/opt/{comment,nohlsearch}/**.vim]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
[runtime/doc/**.txt]
|
||||
# It can mess up some documentation by trying to strip trailing whitespaces
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
@@ -10,3 +10,6 @@
|
||||
8ce738de3fd7192fa6274730594305cde780074c
|
||||
# Patch v9.1.0879 reformated sound.c and sign.c
|
||||
3cf094edaff815141d9941b8dba52b9e77d8dfc1
|
||||
# change indentation style of netrw plugin
|
||||
c363ca1ecd1f8db03663ef98dcf41eeacc3c22c7
|
||||
c673b805ad80d0aef07e745d412a2bf298ba1c07
|
||||
|
||||
31
.github/MAINTAINERS
vendored
31
.github/MAINTAINERS
vendored
@@ -98,6 +98,7 @@ runtime/compiler/se.vim @dkearns
|
||||
runtime/compiler/shellcheck.vim @dkearns
|
||||
runtime/compiler/sml.vim @dkearns
|
||||
runtime/compiler/spectral.vim @romainl
|
||||
runtime/compiler/svelte-check.vim @Konfekt
|
||||
runtime/compiler/stylelint.vim @dkearns
|
||||
runtime/compiler/tcl.vim @dkearns
|
||||
runtime/compiler/tidy.vim @dkearns
|
||||
@@ -153,6 +154,7 @@ runtime/ftplugin/debchangelog.vim @jamessan
|
||||
runtime/ftplugin/debcontrol.vim @jamessan
|
||||
runtime/ftplugin/debsources.vim @jamessan
|
||||
runtime/ftplugin/desktop.vim @e-kwsm
|
||||
runtime/ftplugin/dnsmasq.vim @dringsim
|
||||
runtime/ftplugin/dosbatch.vim @mrdubya
|
||||
runtime/ftplugin/editorconfig.vim @ribru17
|
||||
runtime/ftplugin/eiffel.vim @dkearns
|
||||
@@ -160,6 +162,7 @@ runtime/ftplugin/elixir.vim @mhanberg
|
||||
runtime/ftplugin/erlang.vim @hcs42
|
||||
runtime/ftplugin/eruby.vim @tpope @dkearns
|
||||
runtime/ftplugin/expect.vim @dkearns
|
||||
runtime/ftplugin/exports.vim @mperry2
|
||||
runtime/ftplugin/fennel.vim @gpanders
|
||||
runtime/ftplugin/fetchmail.vim @dkearns
|
||||
runtime/ftplugin/forth.vim @jkotlinski
|
||||
@@ -181,7 +184,7 @@ runtime/ftplugin/go.vim @dbarnett
|
||||
runtime/ftplugin/goaccess.vim @meonkeys
|
||||
runtime/ftplugin/gomod.vim @yu-yk
|
||||
runtime/ftplugin/gprof.vim @dpelle
|
||||
runtime/ftplugin/graphql.vim @ribru17
|
||||
runtime/ftplugin/graphql.vim @jparise
|
||||
runtime/ftplugin/gyp.vim @ObserverOfTime
|
||||
runtime/ftplugin/haml.vim @tpope
|
||||
runtime/ftplugin/hare.vim @selenebun
|
||||
@@ -203,11 +206,12 @@ runtime/ftplugin/java.vim @zzzyxwvut
|
||||
runtime/ftplugin/javacc.vim @ribru17
|
||||
runtime/ftplugin/javascript.vim @dkearns
|
||||
runtime/ftplugin/javascriptreact.vim @dkearns
|
||||
runtime/ftplugin/jj.vim @gpanders
|
||||
runtime/ftplugin/jjdescription.vim @gpanders
|
||||
runtime/ftplugin/json.vim @dbarnett
|
||||
runtime/ftplugin/json5.vim @dkearns
|
||||
runtime/ftplugin/jsonc.vim @izhakjakov
|
||||
runtime/ftplugin/julia.vim @carlobaldassi
|
||||
runtime/ftplugin/just.vim @pbnj
|
||||
runtime/ftplugin/jq.vim @vito-c
|
||||
runtime/ftplugin/kconfig.vim @chrisbra
|
||||
runtime/ftplugin/kdl.vim @imsnif @jiangyinzuo
|
||||
@@ -221,6 +225,7 @@ runtime/ftplugin/liquid.vim @tpope
|
||||
runtime/ftplugin/lua.vim @dkearns
|
||||
runtime/ftplugin/lc.vim @ribru17
|
||||
runtime/ftplugin/lynx.vim @dkearns
|
||||
runtime/ftplugin/m17ndb.vim @dseomn
|
||||
runtime/ftplugin/m3build.vim @dkearns
|
||||
runtime/ftplugin/m3quake.vim @dkearns
|
||||
runtime/ftplugin/markdown.vim @tpope
|
||||
@@ -245,6 +250,7 @@ runtime/ftplugin/pbtxt.vim @lakshayg
|
||||
runtime/ftplugin/pdf.vim @tpope
|
||||
runtime/ftplugin/perl.vim @petdance @dkearns
|
||||
runtime/ftplugin/php.vim @dkearns
|
||||
runtime/ftplugin/plsql.vim @lee-lindley
|
||||
runtime/ftplugin/pod.vim @petdance @dkearns
|
||||
runtime/ftplugin/poefilter.vim @ObserverOfTime
|
||||
runtime/ftplugin/postscr.vim @mrdubya
|
||||
@@ -266,6 +272,7 @@ runtime/ftplugin/routeros.vim @zainin
|
||||
runtime/ftplugin/rst.vim @marshallward
|
||||
runtime/ftplugin/ruby.vim @tpope @dkearns
|
||||
runtime/ftplugin/rust.vim @lilyball
|
||||
runtime/ftplugin/samba.vim @mperry2
|
||||
runtime/ftplugin/sass.vim @tpope
|
||||
runtime/ftplugin/scala.vim @derekwyatt
|
||||
runtime/ftplugin/scheme.vim @evhan
|
||||
@@ -273,10 +280,12 @@ runtime/ftplugin/scss.vim @tpope
|
||||
runtime/ftplugin/sdoc.vim @gpanders
|
||||
runtime/ftplugin/sed.vim @dkearns
|
||||
runtime/ftplugin/sh.vim @dkearns
|
||||
runtime/ftplugin/shaderslang.vim @mTvare6
|
||||
runtime/ftplugin/slint.vim @ribru17
|
||||
runtime/ftplugin/snakemake.vim @ribru17
|
||||
runtime/ftplugin/solidity.vim @cothi
|
||||
runtime/ftplugin/solution.vim @dkearns
|
||||
runtime/ftplugin/spajson.vim @dseomn
|
||||
runtime/ftplugin/spec.vim @ignatenkobrain
|
||||
runtime/ftplugin/squirrel.vim @ribru17
|
||||
runtime/ftplugin/ssa.vim @ObserverOfTime
|
||||
@@ -288,9 +297,11 @@ runtime/ftplugin/systemverilog.vim @Kocha
|
||||
runtime/ftplugin/swig.vim @jmarrec
|
||||
runtime/ftplugin/tap.vim @petdance
|
||||
runtime/ftplugin/tcsh.vim @dkearns
|
||||
runtime/ftplugin/tera.vim @MuntasirSZN
|
||||
runtime/ftplugin/terraform.vim @JannoTjarks
|
||||
runtime/ftplugin/tf.vim @ribru17
|
||||
runtime/ftplugin/thrift.vim @jiangyinzuo
|
||||
runtime/ftplugin/tiasm.vim @Freed-Wu
|
||||
runtime/ftplugin/tidy.vim @dkearns
|
||||
runtime/ftplugin/tmux.vim @ericpruitt
|
||||
runtime/ftplugin/toml.vim @averms
|
||||
@@ -339,6 +350,7 @@ runtime/indent/gitconfig.vim @tpope
|
||||
runtime/indent/gitolite.vim @sitaramc
|
||||
runtime/indent/glsl.vim @gpanders
|
||||
runtime/indent/go.vim @dbarnett
|
||||
runtime/indent/graphql.vim @jparise
|
||||
runtime/indent/gyp.vim @ObserverOfTime
|
||||
runtime/indent/haml.vim @tpope
|
||||
runtime/indent/hare.vim @selenebun
|
||||
@@ -351,6 +363,7 @@ runtime/indent/javascript.vim @bounceme
|
||||
runtime/indent/json.vim @elzr
|
||||
runtime/indent/jsonc.vim @izhakjakov
|
||||
runtime/indent/julia.vim @carlobaldassi
|
||||
runtime/indent/just.vim @pbnj
|
||||
runtime/indent/kdl.vim @imsnif @jiangyinzuo
|
||||
runtime/indent/kotlin.vim @udalov
|
||||
runtime/indent/krl.vim @KnoP-01
|
||||
@@ -358,6 +371,7 @@ runtime/indent/ld.vim @dkearns
|
||||
runtime/indent/less.vim @genoma
|
||||
runtime/indent/liquid.vim @tpope
|
||||
runtime/indent/lua.vim @marcuscf
|
||||
runtime/indent/m17ndb.vim @dseomn
|
||||
runtime/indent/make.vim @dkearns
|
||||
runtime/indent/meson.vim @Liambeguin
|
||||
runtime/indent/mma.vim @dkearns
|
||||
@@ -383,6 +397,7 @@ runtime/indent/scheme.vim @evhan
|
||||
runtime/indent/scss.vim @tpope
|
||||
runtime/indent/sh.vim @chrisbra
|
||||
runtime/indent/solidity.vim @cothi
|
||||
runtime/indent/spajson.vim @dseomn
|
||||
runtime/indent/systemverilog.vim @Kocha
|
||||
runtime/indent/tcl.vim @dkearns
|
||||
runtime/indent/tcsh.vim @dkearns
|
||||
@@ -399,6 +414,7 @@ runtime/keymap/armenian-eastern_utf-8.vim @blinskey
|
||||
runtime/keymap/armenian-western_utf-8.vim @blinskey
|
||||
runtime/keymap/russian-typograph.vim @RestorerZ
|
||||
runtime/keymap/tamil_tscii.vim @yegappan
|
||||
runtime/keymap/ukrainian-enhanced.vim @Dolfost
|
||||
runtime/lang/menu_en_gb.latin1.vim @mrdubya
|
||||
runtime/lang/menu_ru_ru.cp1251.vim @RestorerZ
|
||||
runtime/lang/menu_ru_ru.koi8-r.vim @RestorerZ
|
||||
@@ -410,6 +426,7 @@ runtime/pack/dist/opt/nohlsearch/ @habamax
|
||||
runtime/plugin/manpager.vim @Konfekt
|
||||
runtime/syntax/shared/hgcommitDiff.vim @vegerot
|
||||
runtime/syntax/abaqus.vim @costerwi
|
||||
runtime/syntax/abnf.vim @A4-Tacks
|
||||
runtime/syntax/aidl.vim @dpelle
|
||||
runtime/syntax/ant.vim @dkearns
|
||||
runtime/syntax/antlr4.vim @jiangyinzuo
|
||||
@@ -481,6 +498,7 @@ runtime/syntax/goaccess.vim @meonkeys
|
||||
runtime/syntax/godoc.vim @dbarnett
|
||||
runtime/syntax/gp.vim @KBelabas
|
||||
runtime/syntax/gprof.vim @dpelle
|
||||
runtime/syntax/graphql.vim @jparise
|
||||
runtime/syntax/groff.vim @jmarshall
|
||||
runtime/syntax/gyp.vim @ObserverOfTime
|
||||
runtime/syntax/haml.vim @tpope
|
||||
@@ -504,10 +522,11 @@ runtime/syntax/jargon.vim @h3xx
|
||||
runtime/syntax/java.vim @zzzyxwvut
|
||||
runtime/syntax/javascript.vim @fleiner
|
||||
runtime/syntax/jinja.vim @gpanders
|
||||
runtime/syntax/jj.vim @gpanders
|
||||
runtime/syntax/jjdescription.vim @gpanders
|
||||
runtime/syntax/json.vim @vito-c
|
||||
runtime/syntax/jsonc.vim @izhakjakov
|
||||
runtime/syntax/julia.vim @carlobaldassi
|
||||
runtime/syntax/just.vim @pbnj
|
||||
runtime/syntax/jq.vim @vito-c
|
||||
runtime/syntax/karel.vim @kirillmorozov
|
||||
runtime/syntax/kconfig.vim @chrisbra
|
||||
@@ -521,6 +540,7 @@ runtime/syntax/liquid.vim @tpope
|
||||
runtime/syntax/lua.vim @marcuscf
|
||||
runtime/syntax/lyrics.vim @ObserverOfTime
|
||||
runtime/syntax/lynx.vim @dkearns
|
||||
runtime/syntax/m17ndb.vim @dseomn
|
||||
runtime/syntax/m3build.vim @dkearns
|
||||
runtime/syntax/m3quake.vim @dkearns
|
||||
runtime/syntax/mailcap.vim @dkearns
|
||||
@@ -559,6 +579,7 @@ runtime/syntax/postscr.vim @mrdubya
|
||||
runtime/syntax/privoxy.vim @dkearns
|
||||
runtime/syntax/progress.vim @rdnlsmith
|
||||
runtime/syntax/prolog.vim @XVilka
|
||||
runtime/syntax/prql.vim @vanillajonathan
|
||||
runtime/syntax/ps1.vim @heaths
|
||||
runtime/syntax/ps1xml.vim @heaths
|
||||
runtime/syntax/psl.vim @danielkho
|
||||
@@ -588,7 +609,9 @@ runtime/syntax/scss.vim @tpope
|
||||
runtime/syntax/sdoc.vim @gpanders
|
||||
runtime/syntax/sed.vim @dkearns
|
||||
runtime/syntax/shared/debversions.vim @jamessan
|
||||
runtime/syntax/shaderslang.vim @mTvare6
|
||||
runtime/syntax/solidity.vim @cothi
|
||||
runtime/syntax/spajson.vim @dseomn
|
||||
runtime/syntax/spec.vim @ignatenkobrain
|
||||
runtime/syntax/sqloracle.vim @chrisbra
|
||||
runtime/syntax/squirrel.vim @zenmatic
|
||||
@@ -603,9 +626,11 @@ runtime/syntax/swig.vim @jmarrec
|
||||
runtime/syntax/systemverilog.vim @Kocha
|
||||
runtime/syntax/tap.vim @petdance
|
||||
runtime/syntax/tcsh.vim @dkearns
|
||||
runtime/syntax/tera.vim @MuntasirSZN
|
||||
runtime/syntax/teraterm.vim @k-takata
|
||||
runtime/syntax/terraform.vim @gpanders
|
||||
runtime/syntax/thrift.vim @jiangyinzuo
|
||||
runtime/syntax/tiasm.vim @Freed-Wu
|
||||
runtime/syntax/tidy.vim @dkearns
|
||||
runtime/syntax/tmux.vim @ericpruitt
|
||||
runtime/syntax/toml.vim @averms
|
||||
|
||||
73
.github/workflows/ci.yml
vendored
73
.github/workflows/ci.yml
vendored
@@ -17,12 +17,12 @@ permissions:
|
||||
|
||||
jobs:
|
||||
linux:
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ${{ matrix.architecture == 'arm64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
|
||||
|
||||
env:
|
||||
CC: ${{ matrix.compiler }}
|
||||
GCC_VER: 13
|
||||
CLANG_VER: 19
|
||||
CLANG_VER: 20
|
||||
TEST: test
|
||||
SRCDIR: ./src
|
||||
LEAK_CFLAGS: -DEXITFREE
|
||||
@@ -48,6 +48,10 @@ jobs:
|
||||
- features: tiny
|
||||
compiler: gcc
|
||||
extra: [nogui]
|
||||
- features: tiny
|
||||
compiler: gcc
|
||||
extra: [nogui]
|
||||
architecture: arm64
|
||||
- features: normal
|
||||
shadow: ./src/shadow
|
||||
compiler: gcc
|
||||
@@ -73,6 +77,11 @@ jobs:
|
||||
compiler: gcc
|
||||
coverage: true
|
||||
extra: [unittests]
|
||||
- features: huge
|
||||
compiler: gcc
|
||||
coverage: true
|
||||
extra: [unittests]
|
||||
architecture: arm64
|
||||
- features: normal
|
||||
compiler: gcc
|
||||
extra: [vimtags]
|
||||
@@ -87,6 +96,13 @@ jobs:
|
||||
# exit with an error code and list the missing entries.
|
||||
make -f ci/unlisted.make
|
||||
|
||||
- name: Check hlgroups (are any new hlgroups added, but not handled in highlight.c)
|
||||
run: |
|
||||
# If any highlight groups have been documented, but not handled in
|
||||
# highlight.c, nor listed as 'intentionally left out' in hlgroups.ignore,
|
||||
# exit with an error code and list the missing entries.
|
||||
make -C ci -f hlgroups.make
|
||||
|
||||
- run: sudo dpkg --add-architecture i386
|
||||
if: matrix.architecture == 'i386'
|
||||
|
||||
@@ -106,6 +122,7 @@ jobs:
|
||||
libncurses-dev:${{ matrix.architecture }} \
|
||||
libxt-dev:${{ matrix.architecture }} \
|
||||
locales-all \
|
||||
software-properties-common \
|
||||
)
|
||||
if ${{ matrix.features == 'huge' }}; then
|
||||
LUA_VER=${{ matrix.lua_ver || '5.4' }}
|
||||
@@ -115,7 +132,6 @@ jobs:
|
||||
lcov \
|
||||
libcanberra-dev \
|
||||
libperl-dev \
|
||||
python2-dev \
|
||||
python3-dev \
|
||||
liblua${LUA_VER}-dev \
|
||||
lua${LUA_VER} \
|
||||
@@ -127,7 +143,7 @@ jobs:
|
||||
libattr1-dev
|
||||
)
|
||||
fi
|
||||
sudo apt-get update && sudo apt-get upgrade && sudo apt-get install -y "${PKGS[@]}"
|
||||
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install -y "${PKGS[@]}"
|
||||
|
||||
- name: Install gcc-${{ env.GCC_VER }}
|
||||
if: matrix.compiler == 'gcc'
|
||||
@@ -159,7 +175,7 @@ jobs:
|
||||
(
|
||||
echo "LINUX_VERSION=$(uname -r)"
|
||||
echo "NPROC=$(getconf _NPROCESSORS_ONLN)"
|
||||
echo "TMPDIR=${{ runner.temp }}"
|
||||
echo "TMPDIR=$(mktemp -d -p /tmp)"
|
||||
|
||||
case "${{ matrix.features }}" in
|
||||
tiny)
|
||||
@@ -176,7 +192,8 @@ jobs:
|
||||
if ${{ matrix.python3 == 'stable-abi' }}; then
|
||||
PYTHON3_CONFOPT="--with-python3-stable-abi=3.8"
|
||||
fi
|
||||
echo "CONFOPT=--enable-perlinterp=${INTERFACE} --enable-pythoninterp=${INTERFACE} --enable-python3interp=${INTERFACE} --enable-rubyinterp=${INTERFACE} --enable-luainterp=${INTERFACE} --enable-tclinterp=${INTERFACE} ${PYTHON3_CONFOPT}"
|
||||
# The ubuntu-24.04 CI runner does not provide a python2 package.
|
||||
echo "CONFOPT=--enable-perlinterp=${INTERFACE} --enable-pythoninterp=no --enable-python3interp=${INTERFACE} --enable-rubyinterp=${INTERFACE} --enable-luainterp=${INTERFACE} --enable-tclinterp=${INTERFACE} ${PYTHON3_CONFOPT}"
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -215,21 +232,6 @@ jobs:
|
||||
sudo usermod -a -G audio "${USER}"
|
||||
sudo bash ci/setup-xvfb.sh
|
||||
|
||||
- name: Set up snd-dummy
|
||||
if: (!(contains(matrix.extra, 'unittests') || contains(matrix.extra, 'vimtags')))
|
||||
env:
|
||||
DEST_DIR: ${{ env.TMPDIR }}/linux-modules-extra-${{ env.LINUX_VERSION }}
|
||||
uses: tecolicom/actions-use-apt-tools@main
|
||||
with:
|
||||
tools: linux-modules-extra-${{ env.LINUX_VERSION }}
|
||||
path: "${DEST_DIR}"
|
||||
|
||||
- name: modprobe snd-dummy
|
||||
if: (!(contains(matrix.extra, 'unittests') || contains(matrix.extra, 'vimtags')))
|
||||
run: |
|
||||
sudo depmod --verbose
|
||||
sudo modprobe --verbose snd-dummy || true
|
||||
|
||||
- name: Check autoconf
|
||||
if: contains(matrix.extra, 'unittests')
|
||||
run: |
|
||||
@@ -266,10 +268,18 @@ jobs:
|
||||
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
|
||||
|
||||
- name: Test
|
||||
if: matrix.architecture != 'arm64'
|
||||
timeout-minutes: 25
|
||||
run: |
|
||||
do_test() { echo "$*"; sg audio "sg $(id -gn) '$*'"; }
|
||||
do_test make ${SHADOWOPT} ${TEST}
|
||||
make ${SHADOWOPT} ${TEST}
|
||||
|
||||
|
||||
# `sg audio` does not work on arm64 runner due to permission ('Incorrect password' error).
|
||||
- name: Test on arm64
|
||||
if: matrix.architecture == 'arm64'
|
||||
timeout-minutes: 25
|
||||
run: |
|
||||
make ${SHADOWOPT} ${TEST}
|
||||
|
||||
- if: ${{ !cancelled() }}
|
||||
uses: ./.github/actions/test_artifacts
|
||||
@@ -415,13 +425,13 @@ jobs:
|
||||
PYTHON_VER_DOT: '2.7'
|
||||
PYTHON_DIR: 'C:\Python27'
|
||||
# Python 3
|
||||
PYTHON3_VER: 311
|
||||
PYTHON3_VER_DOT: '3.11'
|
||||
PYTHON3_VER: 313
|
||||
PYTHON3_VER_DOT: '3.13'
|
||||
# Other dependencies
|
||||
# winpty
|
||||
WINPTY_URL: https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
|
||||
# libsodium
|
||||
SODIUM_VER: '1.0.19'
|
||||
SODIUM_VER: '1.0.20'
|
||||
# SODIUM_MSVC_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-msvc.zip
|
||||
SODIUM_MSVC_URL: https://github.com/jedisct1/libsodium/releases/download/%SODIUM_VER%-RELEASE/libsodium-%SODIUM_VER%-msvc.zip
|
||||
SODIUM_MSVC_VER: v143
|
||||
@@ -668,6 +678,17 @@ jobs:
|
||||
# name: vim${{ matrix.bits }}-${{ matrix.toolchain }}
|
||||
# path: ./artifacts
|
||||
|
||||
- name: Install packages for testing
|
||||
shell: bash
|
||||
run: |
|
||||
if ${{ matrix.features != 'TINY' }}; then
|
||||
if ${{ matrix.arch == 'x64' }}; then
|
||||
choco install netbeans --no-progress
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
- name: Test and show the result of testing gVim
|
||||
if: matrix.GUI == 'yes' || matrix.VIMDLL == 'yes'
|
||||
shell: cmd
|
||||
|
||||
7
.gitignore
vendored
7
.gitignore
vendored
@@ -96,6 +96,11 @@ src/json_test
|
||||
src/message_test
|
||||
src/kword_test
|
||||
|
||||
runtime/syntax/testdir/done/
|
||||
runtime/syntax/testdir/messages
|
||||
runtime/syntax/testdir/testdeps.mk
|
||||
runtime/syntax/testdir/vimcmd
|
||||
|
||||
# Generated by "make install"
|
||||
runtime/doc/doctags
|
||||
runtime/doc/tags-*
|
||||
@@ -111,6 +116,8 @@ src/shadow
|
||||
src/shadow-*
|
||||
src/runtime
|
||||
src/pixmaps
|
||||
src/LICENSE
|
||||
src/README.txt
|
||||
|
||||
# other files possibly created by tools
|
||||
src/cscope.out
|
||||
|
||||
18
.hgignore
18
.hgignore
@@ -98,21 +98,33 @@ src/json_test
|
||||
src/message_test
|
||||
src/kword_test
|
||||
|
||||
runtime/syntax/testdir/done/
|
||||
runtime/syntax/testdir/messages
|
||||
runtime/syntax/testdir/testdeps.mk
|
||||
runtime/syntax/testdir/vimcmd
|
||||
|
||||
# Generated by "make install"
|
||||
runtime/doc/doctags
|
||||
runtime/doc/tags-*
|
||||
|
||||
# Temporarily generated by "runtime/syntax/generator/make"
|
||||
runtime/syntax/generator/generator.err
|
||||
runtime/syntax/generator/sanity_check.err
|
||||
runtime/syntax/generator/vim.vim.rc
|
||||
|
||||
# Generated by "make shadow". The directory names could be anything but we
|
||||
# restrict them to shadow (the default) or shadow-*
|
||||
src/shadow
|
||||
src/shadow-*
|
||||
src/runtime
|
||||
src/pixmaps
|
||||
src/LICENSE
|
||||
src/README.txt
|
||||
|
||||
# other files possibly created by tools
|
||||
src/cscope.out
|
||||
|
||||
# Linter/language server files
|
||||
/.cache/clangd/
|
||||
/.ccls-cache/
|
||||
/compile_commands.json
|
||||
.cache/clangd/
|
||||
.ccls-cache/
|
||||
compile_commands.json
|
||||
|
||||
@@ -79,7 +79,7 @@ can be translated:
|
||||
* Menus, see [runtime/lang/README.txt][2]
|
||||
* Vim tutor, see [runtime/tutor/README.txt][3]
|
||||
* Manual pages, see [runtime/doc/\*.1][4] for examples
|
||||
* Installer, see [nsis/lang/\*.nsi][5] for examples
|
||||
* Installer, see [nsis/lang/README.txt][5]
|
||||
|
||||
The help files can be translated and made available separately.
|
||||
See https://www.vim.org/translations.php for examples.
|
||||
@@ -103,7 +103,7 @@ mailing list. For other questions please use the [Vi Stack Exchange][8] website,
|
||||
[2]: https://github.com/vim/vim/blob/master/runtime/lang/README.txt
|
||||
[3]: https://github.com/vim/vim/blob/master/runtime/tutor/README.txt
|
||||
[4]: https://github.com/vim/vim/blob/master/runtime/doc/vim.1
|
||||
[5]: https://github.com/vim/vim/blob/master/nsis/lang/english.nsi
|
||||
[5]: https://github.com/vim/vim/blob/master/nsis/lang/README.txt
|
||||
[6]: https://github.com/vim/vim/discussions/13087
|
||||
[7]: https://github.com/vim/vim/blob/master/runtime/doc/develop.txt
|
||||
[8]: https://vi.stackexchange.com
|
||||
|
||||
48
Filelist
48
Filelist
@@ -52,6 +52,7 @@ SRC_ALL = \
|
||||
src/debugger.c \
|
||||
src/dict.c \
|
||||
src/diff.c \
|
||||
src/linematch.c \
|
||||
src/digraph.c \
|
||||
src/drawline.c \
|
||||
src/drawscreen.c \
|
||||
@@ -156,6 +157,7 @@ SRC_ALL = \
|
||||
src/textobject.c \
|
||||
src/textprop.c \
|
||||
src/time.c \
|
||||
src/tuple.c \
|
||||
src/typval.c \
|
||||
src/ui.c \
|
||||
src/undo.c \
|
||||
@@ -222,6 +224,7 @@ SRC_ALL = \
|
||||
src/testdir/samples/*.html \
|
||||
src/testdir/samples/*.txt \
|
||||
src/testdir/samples/*.vim \
|
||||
src/testdir/samples/poc.zip \
|
||||
src/testdir/samples/test000 \
|
||||
src/testdir/samples/test.zip \
|
||||
src/testdir/samples/test_undo.txt.undo \
|
||||
@@ -230,6 +233,8 @@ SRC_ALL = \
|
||||
src/testdir/silent.wav \
|
||||
src/testdir/popupbounce.vim \
|
||||
src/testdir/crash/* \
|
||||
src/testdir/ru_RU/LC_MESSAGES/Makefile \
|
||||
src/testdir/ru_RU/LC_MESSAGES/__PACKAGE__.po \
|
||||
src/testdir/ru_RU/LC_MESSAGES/__PACKAGE__.mo \
|
||||
src/proto.h \
|
||||
src/protodef.h \
|
||||
@@ -286,6 +291,7 @@ SRC_ALL = \
|
||||
src/proto/insexpand.pro \
|
||||
src/proto/job.pro \
|
||||
src/proto/json.pro \
|
||||
src/proto/linematch.pro \
|
||||
src/proto/list.pro \
|
||||
src/proto/locale.pro \
|
||||
src/proto/logfile.pro \
|
||||
@@ -334,6 +340,7 @@ SRC_ALL = \
|
||||
src/proto/textobject.pro \
|
||||
src/proto/textprop.pro \
|
||||
src/proto/time.pro \
|
||||
src/proto/tuple.pro \
|
||||
src/proto/typval.pro \
|
||||
src/proto/ui.pro \
|
||||
src/proto/undo.pro \
|
||||
@@ -607,6 +614,8 @@ SRC_DOS = \
|
||||
src/xxd/Make_mvc.mak \
|
||||
nsis/gvim.nsi \
|
||||
nsis/gvim_version.nsh \
|
||||
nsis/Makefile \
|
||||
nsis/Make_mvc.mak \
|
||||
nsis/README.txt \
|
||||
nsis/lang/*.nsi \
|
||||
nsis/lang/README.txt \
|
||||
@@ -708,8 +717,6 @@ RT_ALL = \
|
||||
README_VIM9.md \
|
||||
LICENSE \
|
||||
CONTRIBUTING.md \
|
||||
lang/LICENSE.itx \
|
||||
lang/README.itx \
|
||||
runtime/bugreport.vim \
|
||||
runtime/doc/*.awk \
|
||||
runtime/doc/*.pl \
|
||||
@@ -767,14 +774,16 @@ RT_ALL = \
|
||||
runtime/tools/[a-z]*[a-z0-9] \
|
||||
runtime/tutor/README.txt \
|
||||
runtime/tutor/tutor1 \
|
||||
runtime/tutor/tutor1.utf-8 \
|
||||
runtime/tutor/en/vim-01-beginner.tutor \
|
||||
runtime/tutor/en/vim-01-beginner.tutor.json \
|
||||
runtime/tutor/it/vim-01-beginner.tutor \
|
||||
runtime/tutor/it/vim-01-beginner.tutor.json \
|
||||
runtime/tutor/en/vim-02-beginner.tutor \
|
||||
runtime/tutor/en/vim-02-beginner.tutor.json \
|
||||
runtime/tutor/tutor.tutor \
|
||||
runtime/tutor/tutor.tutor.json \
|
||||
runtime/tutor/tutor.vim \
|
||||
runtime/tutor/tutor2 \
|
||||
runtime/tutor/tutor2.utf-8 \
|
||||
runtime/vimrc_example.vim \
|
||||
runtime/pack/dist/opt/cfilter/plugin/cfilter.vim \
|
||||
runtime/pack/dist/opt/comment/plugin/comment.vim \
|
||||
@@ -798,6 +807,7 @@ RT_ALL = \
|
||||
runtime/pack/dist/opt/editorconfig/plugin/editorconfig.vim \
|
||||
runtime/pack/dist/opt/helptoc/autoload/helptoc.vim \
|
||||
runtime/pack/dist/opt/helptoc/plugin/helptoc.vim \
|
||||
runtime/pack/dist/opt/hlyank/plugin/hlyank.vim \
|
||||
runtime/pack/dist/opt/justify/plugin/justify.vim \
|
||||
runtime/pack/dist/opt/matchit/plugin/matchit.vim \
|
||||
runtime/pack/dist/opt/matchit/doc/matchit.txt \
|
||||
@@ -807,6 +817,17 @@ RT_ALL = \
|
||||
runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim \
|
||||
runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim \
|
||||
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim \
|
||||
runtime/pack/dist/opt/netrw/LICENSE.txt \
|
||||
runtime/pack/dist/opt/netrw/README.md \
|
||||
runtime/pack/dist/opt/netrw/autoload/netrw.vim \
|
||||
runtime/pack/dist/opt/netrw/autoload/netrw/fs.vim \
|
||||
runtime/pack/dist/opt/netrw/autoload/netrw/os.vim \
|
||||
runtime/pack/dist/opt/netrw/autoload/netrw/msg.vim \
|
||||
runtime/pack/dist/opt/netrw/autoload/netrwSettings.vim \
|
||||
runtime/pack/dist/opt/netrw/autoload/netrw_gitignore.vim \
|
||||
runtime/pack/dist/opt/netrw/doc/netrw.txt \
|
||||
runtime/pack/dist/opt/netrw/plugin/netrwPlugin.vim \
|
||||
runtime/pack/dist/opt/netrw/syntax/netrw.vim
|
||||
|
||||
# Runtime files for all distributions without CR/LF translation.
|
||||
RT_ALL_BIN = \
|
||||
@@ -861,6 +882,7 @@ RT_SCRIPTS = \
|
||||
runtime/syntax/testdir/input/setup/*.* \
|
||||
runtime/syntax/testdir/dumps/*.dump \
|
||||
runtime/syntax/testdir/dumps/*.vim \
|
||||
runtime/syntax/testdir/tools/* \
|
||||
runtime/syntax/generator/Makefile \
|
||||
runtime/syntax/generator/README.md \
|
||||
runtime/syntax/generator/gen_syntax_vim.vim \
|
||||
@@ -1033,7 +1055,8 @@ IN_README_DIR = \
|
||||
|
||||
# Generic language files.
|
||||
LANG_GEN = \
|
||||
README.??x.txt \
|
||||
lang/README.*.txt \
|
||||
lang/LICENSE.*.txt \
|
||||
runtime/doc/*-da.1 \
|
||||
runtime/doc/*-da.UTF-8.1 \
|
||||
runtime/doc/*-de.1 \
|
||||
@@ -1049,7 +1072,6 @@ LANG_GEN = \
|
||||
runtime/doc/*-ru.UTF-8.1 \
|
||||
runtime/doc/*-tr.1 \
|
||||
runtime/doc/*-tr.UTF-8.1 \
|
||||
runtime/doc/uganda.??x \
|
||||
runtime/lang/README.txt \
|
||||
runtime/lang/Makefile \
|
||||
runtime/lang/Make_all.mak \
|
||||
@@ -1059,7 +1081,16 @@ LANG_GEN = \
|
||||
runtime/tutor/README.*.txt \
|
||||
runtime/tutor/Makefile \
|
||||
runtime/tutor/Make_all.mak \
|
||||
runtime/tutor/tutor1.utf-8 \
|
||||
runtime/tutor/it/vim-01-beginner.tutor \
|
||||
runtime/tutor/it/vim-01-beginner.tutor.json \
|
||||
runtime/tutor/ru/vim-01-beginner.tutor \
|
||||
runtime/tutor/ru/vim-01-beginner.tutor.json \
|
||||
runtime/tutor/ru/vim-02-beginner.tutor \
|
||||
runtime/tutor/ru/vim-02-beginner.tutor.json \
|
||||
runtime/tutor/sr/vim-01-beginner.tutor \
|
||||
runtime/tutor/sr/vim-01-beginner.tutor.json \
|
||||
runtime/tutor/sr/vim-02-beginner.tutor \
|
||||
runtime/tutor/sr/vim-02-beginner.tutor.json \
|
||||
runtime/tutor/tutor1.?? \
|
||||
runtime/tutor/tutor1.??.utf-8 \
|
||||
runtime/tutor/tutor1.??.euc \
|
||||
@@ -1072,7 +1103,6 @@ LANG_GEN = \
|
||||
runtime/tutor/tutor1.??_??.utf-8 \
|
||||
runtime/tutor/tutor1.bar \
|
||||
runtime/tutor/tutor1.bar.utf-8 \
|
||||
runtime/tutor/tutor2.utf-8 \
|
||||
runtime/tutor/tutor2.?? \
|
||||
runtime/tutor/tutor2.??.utf-8 \
|
||||
runtime/spell/README.txt \
|
||||
@@ -1133,6 +1163,8 @@ IGNORE = \
|
||||
.github/workflows/label.yml \
|
||||
SECURITY.md \
|
||||
ci/unlisted.make \
|
||||
ci/hlgroups.make \
|
||||
ci/hlgroups.ignore \
|
||||
src/libvterm/CODE-MAP \
|
||||
runtime/syntax/testdir/input/html_html \
|
||||
|
||||
|
||||
50
Makefile
50
Makefile
@@ -63,6 +63,7 @@ VIM_FOR_SYNTAXTEST = ../../src/vim
|
||||
|
||||
# (For local testing only with GNU Make.)
|
||||
VIM_SYNTAX_TEST_FILTER =
|
||||
VIM_SYNTAX_TEST_WAIT_TIME =
|
||||
|
||||
syntaxtest:
|
||||
cd runtime/syntax && \
|
||||
@@ -161,12 +162,12 @@ MINOR = 1
|
||||
# - See src/INSTALLpc.txt for installing the compiler and SDK.
|
||||
# - Set environment for Visual C++ 2015:
|
||||
# > cd src
|
||||
# > msvc2015.bat
|
||||
# > msvc-latest.bat
|
||||
# - Build the console binary:
|
||||
# > nmake -f Make_mvc.mak
|
||||
# > nmake.exe -f Make_mvc.mak
|
||||
# - Run the tests and check the output:
|
||||
# > nmake -f Make_mvc.mak testclean
|
||||
# > nmake -f Make_mvc.mak test
|
||||
# > nmake.exe -f Make_mvc.mak testclean
|
||||
# > nmake.exe -f Make_mvc.mak test
|
||||
# - Rename (using ../tools/rename.bat):
|
||||
# vim.exe to vimw32.exe
|
||||
# tee/tee.exe to teew32.exe
|
||||
@@ -176,10 +177,10 @@ MINOR = 1
|
||||
# uninstall.exe to uninstallw32.exe
|
||||
# Win32 GUI version build:
|
||||
# - > cd src
|
||||
# > nmake -f Make_mvc.mak GUI=yes
|
||||
# > nmake.exe -f Make_mvc.mak "GUI=yes"
|
||||
# - Run the tests and check the output:
|
||||
# > nmake -f Make_mvc.mak testclean
|
||||
# > nmake -f Make_mvc.mak testgvim
|
||||
# > nmake.exe -f Make_mvc.mak testclean
|
||||
# > nmake.exe -f Make_mvc.mak testgvim
|
||||
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
|
||||
# - Move gvim.pdb to here.
|
||||
# - Copy "GvimExt/gvimext.dll" to here.
|
||||
@@ -191,8 +192,8 @@ MINOR = 1
|
||||
# > cd src
|
||||
# > bigvim.bat
|
||||
# - Run the tests:
|
||||
# > nmake -f Make_mvc.mak testclean
|
||||
# > nmake -f Make_mvc.mak testgvim
|
||||
# > nmake.exe -f Make_mvc.mak testclean
|
||||
# > nmake.exe -f Make_mvc.mak testgvim
|
||||
# - check the output.
|
||||
# - Rename "gvim.exe" to "gvim_ole.exe".
|
||||
# - Rename gvim.pdb to "gvim_ole.pdb".
|
||||
@@ -216,9 +217,9 @@ MINOR = 1
|
||||
# - 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.
|
||||
# - go to ../nsis and do:
|
||||
# > unzip icons.zip
|
||||
# > makensis gvim.nsi (takes a few minutes).
|
||||
# ignore warning for libwinpthread-1.dll
|
||||
# > nmake.exe -f Make_mvc.mak all
|
||||
# (takes a few minutes).
|
||||
# See nsis/README.txt for details.
|
||||
# - Copy gvim##.exe to the dist directory.
|
||||
#
|
||||
# 64 bit builds (these are not in the normal distribution, the 32 bit build
|
||||
@@ -226,9 +227,9 @@ MINOR = 1
|
||||
# Like the console and GUI version, but first run vcvars64.bat or
|
||||
# "..\VC\vcvarsall.bat x86_amd64".
|
||||
# - Build the console version:
|
||||
# > nmake -f Make_mvc.mak
|
||||
# > nmake.exe -f Make_mvc.mak
|
||||
# - Build the GUI version:
|
||||
# > nmake -f Make_mvc.mak GUI=yes
|
||||
# > nmake.exe -f Make_mvc.mak "GUI=yes"
|
||||
# - Build the OLE version with interfaces:
|
||||
# > bigvim64.bat
|
||||
#
|
||||
@@ -266,8 +267,8 @@ dist:
|
||||
# Clean up some files to avoid they are included.
|
||||
# Copy README files to the top directory.
|
||||
prepare:
|
||||
if test -f runtime/doc/uganda.nsis.txt; then \
|
||||
rm runtime/doc/uganda.nsis.???; fi
|
||||
if test -f lang/LICENSE.nsis.txt; then \
|
||||
rm -f lang/LICENSE*.nsis.txt; fi
|
||||
for name in $(IN_README_DIR); do \
|
||||
cp READMEdir/"$$name" .; \
|
||||
done
|
||||
@@ -408,8 +409,7 @@ amisrc: dist prepare
|
||||
mv dist/vim$(VERSION)src.tar.gz dist/vim$(VERSION)src.tgz
|
||||
|
||||
# MS-DOS sources
|
||||
dossrc: dist dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt \
|
||||
nsis/gvim_version.nsh
|
||||
dossrc: dist dist/$(COMMENT_SRC) license nsis/gvim_version.nsh
|
||||
-rm -rf dist/vim$(VERSION)src.zip
|
||||
-rm -rf dist/vim
|
||||
mkdir dist/vim
|
||||
@@ -420,23 +420,19 @@ dossrc: dist dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt \
|
||||
$(SRC_DOS_BIN) \
|
||||
$(SRC_AMI_DOS) \
|
||||
$(SRC_DOS_UNIX) \
|
||||
runtime/doc/uganda.nsis.??? \
|
||||
lang/LICENSE.*.txt \
|
||||
lang/README.*.txt \
|
||||
nsis/gvim_version.nsh \
|
||||
| (cd dist/vim/$(VIMRTDIR); tar xf -)
|
||||
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
|
||||
rmdir dist/vim/$(VIMRTDIR)/runtime
|
||||
cd dist && zip -9 -rD -z vim$(VERSION)src.zip vim <$(COMMENT_SRC)
|
||||
|
||||
runtime/doc/uganda.nsis.txt: runtime/doc/uganda.???
|
||||
cd runtime/doc && $(MAKE) uganda.nsis.txt
|
||||
license:
|
||||
cd nsis && $(MAKE) -f Makefile $@
|
||||
|
||||
nsis/gvim_version.nsh: Makefile
|
||||
echo "# Generated from Makefile: define the version numbers" > $@
|
||||
echo "!ifndef __GVIM_VER__NSH__" >> $@
|
||||
echo "!define __GVIM_VER__NSH__" >> $@
|
||||
echo "!define VER_MAJOR $(MAJOR)" >> $@
|
||||
echo "!define VER_MINOR $(MINOR)" >> $@
|
||||
echo "!endif" >> $@
|
||||
cd nsis && $(MAKE) -f Makefile $(@F)
|
||||
|
||||
dosrt: dist dist/$(COMMENT_RT) dosrt_files
|
||||
-rm -rf dist/vim$(VERSION)rt.zip
|
||||
|
||||
66
ci/hlgroups.ignore
Normal file
66
ci/hlgroups.ignore
Normal file
@@ -0,0 +1,66 @@
|
||||
ColorColumn
|
||||
ComplMatchIns
|
||||
Conceal
|
||||
Cursor
|
||||
CursorColumn
|
||||
CursorIM
|
||||
CursorLine
|
||||
CursorLineNr
|
||||
debugBreakpoint
|
||||
debugPC
|
||||
DiffAdd
|
||||
DiffChange
|
||||
DiffDelete
|
||||
DiffText
|
||||
Directory
|
||||
ErrorMsg
|
||||
FoldColumn
|
||||
Folded
|
||||
Ignore
|
||||
IncSearch
|
||||
lCursor
|
||||
LineNr
|
||||
LineNrAbove
|
||||
LineNrBelow
|
||||
MatchParen
|
||||
Menu
|
||||
ModeMsg
|
||||
MoreMsg
|
||||
MsgArea
|
||||
NonText
|
||||
Normal
|
||||
Pmenu
|
||||
PmenuSbar
|
||||
PmenuSel
|
||||
PmenuThumb
|
||||
Question
|
||||
Scrollbar
|
||||
Search
|
||||
SignColumn
|
||||
SpecialKey
|
||||
SpellBad
|
||||
SpellCap
|
||||
SpellLocal
|
||||
SpellRare
|
||||
StatusLine
|
||||
StatusLineNC
|
||||
StatusLineTerm
|
||||
StatusLineTermNC
|
||||
TabLine
|
||||
TabLineFill
|
||||
TabLineSel
|
||||
Terminal
|
||||
Title
|
||||
TOhtmlProgress
|
||||
TOhtml-progress-color
|
||||
ToolbarButton
|
||||
ToolbarLine
|
||||
Tooltip
|
||||
User1
|
||||
User1..9
|
||||
User9
|
||||
VertSplit
|
||||
Visual
|
||||
VisualNOS
|
||||
WarningMsg
|
||||
WildMenu
|
||||
18
ci/hlgroups.make
Normal file
18
ci/hlgroups.make
Normal file
@@ -0,0 +1,18 @@
|
||||
# vim: ft=make
|
||||
SHELL = /bin/bash
|
||||
|
||||
# Default target to actually run the comparison:
|
||||
.PHONY: check
|
||||
.INTERMEDIATE: hlgroups deflinks hlgroups.stripped
|
||||
|
||||
check: hlgroups.stripped deflinks
|
||||
diff hlgroups.stripped deflinks
|
||||
|
||||
hlgroups:
|
||||
grep '\*hl-' ../runtime/doc/*txt | sed -E -e 's/.*:<?\s*//' -e 's/hl-//g' -e 's/\*//g' -e 's/ /\n/g' | sort > hlgroups
|
||||
|
||||
deflinks: ../src/highlight.c
|
||||
grep '"default link' $< | sed 's/.*default link\s*\(.*\)\s.*/\1/' | sort > deflinks
|
||||
|
||||
hlgroups.stripped: hlgroups.ignore hlgroups
|
||||
grep -v -x -F -f hlgroups.ignore hlgroups > hlgroups.stripped
|
||||
@@ -21,7 +21,7 @@ $(eval all_patterns := $(shell \
|
||||
p; \
|
||||
}'))
|
||||
|
||||
# In Makefile's `prepeare` target, all the IN_README_DIR files are moved from
|
||||
# In Makefile's `prepare` target, all the IN_README_DIR files are moved from
|
||||
# READMEdir to the root, so add those files in their Git-tracked location:
|
||||
all_patterns := $(all_patterns) \
|
||||
$(foreach readme, $(IN_README_DIR), READMEdir/$(readme))
|
||||
|
||||
81
lang/LICENSE.pt_br.txt
Normal file
81
lang/LICENSE.pt_br.txt
Normal file
@@ -0,0 +1,81 @@
|
||||
LICENÇA DO VIM
|
||||
|
||||
I) Não há restrições para distribuir cópias não modificadas do Vim, exceto
|
||||
que elas devem incluir este texto de licença. Você também pode distribuir
|
||||
partes não modificadas do Vim, igualmente irrestritas, exceto que elas
|
||||
devem incluir este texto de licença. Você também tem permissão para incluir
|
||||
executáveis que você fez a partir das fontes não modificadas do Vim, além
|
||||
de seus próprios exemplos de uso e scripts do Vim.
|
||||
|
||||
II) É permitido distribuir uma versão modificada (ou estendida) do Vim,
|
||||
incluindo executáveis e/ou código-fonte, quando as quatro
|
||||
condições a seguir forem atendidas:
|
||||
1) Este texto de licença deve ser incluído sem modificações.
|
||||
2) O Vim modificado deve ser distribuído de uma das cinco formas a seguir:
|
||||
a) Se você fizer alterações no Vim, deverá descrever claramente na
|
||||
distribuição como entrar em contato com você. Quando o mantenedor
|
||||
solicitar a você (de qualquer forma) uma cópia do Vim modificado que
|
||||
você distribuiu, você deverá disponibilizar suas alterações,
|
||||
incluindo o código-fonte, ao mantenedor sem taxa. O mantenedor
|
||||
reserva o direito de incluir suas alterações na versão oficial
|
||||
do Vim. O que o mantenedor fará com suas alterações e sob qual
|
||||
licença elas serão distribuídas é negociável. Se não houve negociação
|
||||
então esta licença, ou uma versão posterior, também se aplica às suas
|
||||
alterações. Os mantenedores atuais estão listados aqui:
|
||||
https://github.com/orgs/vim/people. Se isso mudar, será anunciado em
|
||||
lugares apropriados (provavelmente vim.sf.net, www.vim.org e/ou
|
||||
comp.editors). Quando for completamente impossível contatar o
|
||||
mantenedor, a obrigação de enviar a ele suas alterações cessa.
|
||||
Uma vez que o mantenedor tenha confirmado que ele recebeu suas
|
||||
alterações, elas não precisarão ser enviadas novamente.
|
||||
b) Se você recebeu um Vim modificado que foi distribuído como
|
||||
mencionado em a), você tem permissão para distribuí-lo sem
|
||||
modificações, como mencionado em I). Se você fizer alterações
|
||||
adicionais, o texto em a) se aplica a essas alterações.
|
||||
c) Forneça todas as alterações, incluindo o código-fonte, com cada cópia
|
||||
do Vim modificado que você distribuir. Isso pode ser feito na forma
|
||||
de um diff de contexto. Você pode escolher qual licença usar para o
|
||||
novo código que você adicionar. As alterações e sua licença não devem
|
||||
restringir outros de fazer suas próprias alterações na versão oficial
|
||||
do Vim.
|
||||
d) Quando você tem um Vim modificado que inclui alterações conforme
|
||||
mencionado em c), você pode distribuí-lo sem o código-fonte para as
|
||||
alterações se as três condições a seguir forem atendidas:
|
||||
- A licença que se aplica às alterações permite que você distribua
|
||||
as alterações para o mantenedor do Vim sem taxa ou restrição, e
|
||||
permite que o mantenedor do Vim inclua as alterações na
|
||||
versão oficial do Vim sem taxa ou restrição.
|
||||
- Você mantém as alterações por pelo menos três anos após a última
|
||||
distribuição do Vim modificado correspondente. Quando o mantenedor
|
||||
ou alguém para quem você distribuiu o Vim modificado solicitar a
|
||||
você (de qualquer forma) as alterações dentro deste período, você
|
||||
deve disponibilizá-las a ele.
|
||||
- Você descreve claramente na distribuição como entrar em contato
|
||||
com você. Estas informações de contato devem permanecer válidas por
|
||||
pelo menos três anos após a última distribuição do Vim modificado
|
||||
correspondente, ou pelo maior tempo possível.
|
||||
e) Quando a Licença Pública Geral GNU (GPL) se aplica às alterações,
|
||||
você pode distribuir o Vim modificado sob a GNU GPL versão 2 ou
|
||||
qualquer versão posterior.
|
||||
3) Uma mensagem deve ser adicionada, no mínimo na saída do comando
|
||||
":version" e na tela de introdução, de modo que o usuário do Vim
|
||||
modificado seja capaz de ver que ele foi modificado. Ao distribuir
|
||||
conforme mencionado em 2)e), só é necessário adicionar a mensagem
|
||||
na medida em que isso não entre em conflito com a licença usada para
|
||||
as alterações.
|
||||
4) As informações de contato conforme exigido em 2)a) e 2)d) não devem ser
|
||||
removidas ou alteradas, exceto que a própria pessoa pode fazer
|
||||
correções.
|
||||
|
||||
III) Se você distribuir uma versão modificada do Vim, encorajamos que use
|
||||
a licença do Vim para suas alterações e disponibilizá-las ao
|
||||
mantenedor, incluindo o código-fonte. A maneira preferida de fazer isso é
|
||||
por e-mail ou enviando os arquivos para um servidor e enviando a URL por
|
||||
e-mail. Se o número de alterações for pequeno (por exemplo, um Makefile
|
||||
modificado), enviar um diff de contexto por e-mail será suficiente.
|
||||
O endereço de e-mail a ser usado é <maintainer@vim.org>
|
||||
|
||||
IV) Não é permitido remover esta licença da distribuição das fontes do Vim,
|
||||
partes dela ou de uma versão modificada. Você pode usar esta licença
|
||||
para versões anteriores do Vim em vez da licença com a qual elas vieram,
|
||||
a seu critério.
|
||||
109
lang/LICENSE.ru.txt
Normal file
109
lang/LICENSE.ru.txt
Normal file
@@ -0,0 +1,109 @@
|
||||
ЛИЦЕНЗИЯ VIM
|
||||
|
||||
I) Неизменённые копии программы Vim могут распространяться без ограничения
|
||||
при условии включения данного текста лицензии. Распространение
|
||||
неизменённых копий отдельных частей программы Vim также возможно
|
||||
при соблюдении условия о включении данного текста лицензии. Подобным
|
||||
образом разрешается добавлять исполняемые файлы, скомпилированные
|
||||
из неизменённого исходного кода программы Vim, а также собственные
|
||||
примеры использования и командные файлы редактора Vim.
|
||||
|
||||
II) Изменённую (или дополненную) версию программы Vim, включающую
|
||||
исполняемые файлы и/или исходный код, допускается распространять
|
||||
при соблюдении следующих четырёх условий:
|
||||
1) Текст настоящей лицензии должен включаться в состав распространяемой
|
||||
версии программы Vim без изменений.
|
||||
2) Изменённая версия программы Vim должна распространяться одним
|
||||
из следующих пяти способов:
|
||||
a) При внесении изменений в программу Vim, в дистрибутиве должны
|
||||
быть явно указаны контактные данные лица, внёсшего эти изменения.
|
||||
Ответственному разработчику по его запросу (в любой форме) должна
|
||||
быть безвозмездно предоставлена копия распространяемой изменённой
|
||||
версии программы Vim, включая её исходный код. Ответственный
|
||||
разработчик оставляет за собой право включать сделанные изменения
|
||||
в официальную версию программы Vim. Конкретные действия
|
||||
ответственного разработчика, относительно переданных изменений,
|
||||
а также лицензионные условия, на основании которых будет
|
||||
осуществляться их распространение, могут быть дополнительно
|
||||
согласованы. Если согласование не проводилось, сделанные изменения
|
||||
будут распространяться на условиях настоящей лицензии или более
|
||||
поздней её версии. Лица, в данное время являющиеся ответственными
|
||||
за разработку, указаны в перечне, размещённом по адресу:
|
||||
https://github.com/orgs/vim/people. В случае изменения этой
|
||||
информации, актуальные данные будут опубликованы на
|
||||
соответствующих ресурсах (вероятнее всего по интернет‐адресам
|
||||
vim.sf.net, www.vim.org и/или comp.editors). В случае полной
|
||||
невозможности установить контакт с ответственным разработчиком,
|
||||
обязательства по отправке изменений утрачивают силу. После
|
||||
передачи подтверждения о получении изменений от ответственного
|
||||
разработчика, необходимость в повторной отправке копии изменённой
|
||||
программы Vim неприменима.
|
||||
b) Если лицом получена изменённая версия программа Vim,
|
||||
распространяющаяся на условиях, указанных в ч. II) п. 2) пп. а)
|
||||
допускается дальнейшее её распространение этим лицом без внесения
|
||||
изменений и согласно ч. I) настоящей лицензии. В случае внесения
|
||||
дополнительных изменений, на эти изменения будут распространяться
|
||||
условия, указанные в ч. II) п. 2) пп. a).
|
||||
c) Каждая копия распространяемой изменённой версии программы Vim
|
||||
должна включать информацию обо всех произведённых изменениях,
|
||||
включая исходный код. Эта информация может быть представлена
|
||||
в виде построчного сравнения файлов. Выбор лицензии, по условиям
|
||||
которой будет распространяться добавленный код, остаётся
|
||||
за автором этих изменений. Изменения и лицензия на эти изменения
|
||||
не должны запрещать другим лицам внесение своих собственных
|
||||
изменений в официальную версию программы Vim.
|
||||
d) Изменённая версия программы Vim, содержащая изменения в
|
||||
соответствии с ч. II) п. 2 пп. c), может распространяться без
|
||||
исходного кода для этих изменений, при соблюдении следующих трёх
|
||||
условий:
|
||||
- Лицензия, применяемая к внесённым изменениям, предоставляет
|
||||
ответственному разработчику программы Vim возможность
|
||||
безвозмездного и неограниченного распространения этих изменений,
|
||||
а также право на безвозмездное и неограниченное включение этих
|
||||
изменений в официальную версию программы Vim.
|
||||
- Изменения должны сохраняться не менее трёх лет со времени
|
||||
распространения соответствующей изменённой версии программы Vim.
|
||||
В течение этого периода по запросу ответственного разработчика
|
||||
или другого пользователя изменённой версии программы Vim
|
||||
(в любой форме) необходимо предоставить исходный код данных
|
||||
изменений.
|
||||
- В дистрибутиве изменённой версии программы Vim должны быть явно
|
||||
указаны контактные данные лица, внёсшего эти изменения.
|
||||
Контактные данные должны сохранять актуальность в течение
|
||||
не менее трёх лет со времени последнего распространения
|
||||
соответствующей изменённой версии программы Vim или как можно
|
||||
дольше.
|
||||
e) Если к изменениям, внесённым в программу Vim, применимы условия
|
||||
лицензии GNU General Public License (GNU GPL), допускается
|
||||
распространение изменённой версия программы Vim на условиях
|
||||
лицензии GNU GPL версии 2 или любой более поздней версии этой
|
||||
лицензии.
|
||||
3) Необходимо добавить соответствующую информацию, которая должна быть
|
||||
выведена в результате выполнения команды ":version" в программе Vim,
|
||||
а также на экране приветствия программы Vim, чтобы пользователь
|
||||
изменённой версии программы Vim имел возможность определить,
|
||||
что он пользуется изменённой версией. При распространении
|
||||
на условиях, указанных в ч. II) п. 2) пп. e) такую информацию
|
||||
требуется добавлять только в том случае, когда она не противоречит
|
||||
лицензии, распространяющейся на эти изменения.
|
||||
4) Контактная информация, которая указывается по требованию ч. II) п. 2)
|
||||
пп. a) и ч. II) п. 2) пп. d) не должна удаляться или изменяться никем
|
||||
другим, кроме лица, указавшего данную контактную информацию.
|
||||
|
||||
III) При распространении изменённой версии программы Vim рекомендуется
|
||||
пользоваться лицензией Vim для произведённых изменений и обеспечить
|
||||
доступ к этим изменениям ответственного разработчика, включая исходный
|
||||
код изменений. Предпочтительным способом предоставления доступа
|
||||
к произведённым изменениям является отправка этих изменений через
|
||||
электронную почту или размещение файлов на сервер с отправкой
|
||||
URL-адреса по электронной почте. Если количество изменений
|
||||
незначительно (например, изменения в файле Makefile), достаточно будет
|
||||
отправить через электронную почту файл построчного сравнения. Изменения
|
||||
или URL-адреса должны быть направлены на адрес электронной почты
|
||||
maintainer@vim.org
|
||||
|
||||
IV) Не допускается удаление настоящей лицензия из дистрибутива исходного
|
||||
кода программы Vim, его отдельных частей или изменённой версии.
|
||||
Допускается использование настоящей лицензию для предыдущих
|
||||
изменённых выпусков программы Vim, взамен тех лицензий, с которыми
|
||||
они распространялись.
|
||||
131
lang/README.pt_br.txt
Normal file
131
lang/README.pt_br.txt
Normal file
@@ -0,0 +1,131 @@
|
||||
README.txt para a versão 9.1 do Vim: Vi IMproved.
|
||||
|
||||
O QUE É VIM?
|
||||
|
||||
Vim é uma versão muito melhorada do bom e velho editor UNIX Vi. Muitos novos
|
||||
recursos foram adicionados: desfazer multinível, destaque de sintaxe, histórico
|
||||
de linha de comando, ajuda on-line, verificação ortográfica, completar
|
||||
nome de arquivo, operações de bloco, linguagem de script, etc. Há também uma
|
||||
interface gráfica (GUI) disponível. Ainda assim, a compatibilidade com Vi é
|
||||
mantida, aqueles que têm Vi "nos dedos" se sentirão em casa.
|
||||
Veja "runtime/doc/vi_diff.txt" para diferenças com Vi.
|
||||
|
||||
Este editor é muito útil para editar programas e outros arquivos de texto
|
||||
simples. Todos os comandos são fornecidos com caracteres normais do teclado,
|
||||
então aqueles que podem digitar com dez dedos podem trabalhar muito rápido.
|
||||
Além disso, as teclas de função podem ser mapeadas para comandos pelo usuário,
|
||||
e o mouse pode ser usado.
|
||||
|
||||
O Vim funciona em MS-Windows (7, 8, 10, 11), macOS, Haiku, VMS e quase todos
|
||||
os sabores do UNIX. A portabilidade para outros sistemas não deve ser difícil.
|
||||
Versões mais antigas do Vim rodam em MS-DOS, MS-Windows 95/98/Me/NT/2000/XP/Vista,
|
||||
Amiga DOS, Atari MiNT, BeOS, RISC OS e OS/2. Eles não são mais mantidos.
|
||||
|
||||
DISTRIBUIÇÃO
|
||||
|
||||
Você pode frequentemente usar seu gerenciador de pacotes favorito para
|
||||
instalar o Vim. No Mac e Linux, uma pequena versão do Vim é pré-instalada,
|
||||
você ainda precisa instalar o Vim se quiser mais recursos.
|
||||
|
||||
Existem distribuições separadas para Unix, PC, Amiga e alguns outros sistemas.
|
||||
Este arquivo README.txt vem com o arquivo de tempo de execução. Ele inclui a
|
||||
documentação, arquivos de sintaxe e outros arquivos que são usados em
|
||||
tempo de execução. Para executar o Vim, você deve obter um dos arquivos
|
||||
binários ou um arquivo fonte. Qual deles você precisa depende do sistema em
|
||||
que deseja executá-lo e se você deseja ou deve compilá-lo você mesmo.
|
||||
Verifique "https://www.vim.org/download.php" para uma visão geral das
|
||||
distribuições disponíveis atualmente.
|
||||
|
||||
Alguns lugares populares para obter o Vim mais recente:
|
||||
* Confira o repositório git do github: https://github.com/vim/vim.
|
||||
* Obtenha o código-fonte como um arquivo: https://github.com/vim/vim/tags.
|
||||
* Obtenha um executável do Windows do repositório vim-win32-installer:
|
||||
https://github.com/vim/vim-win32-installer/releases.
|
||||
|
||||
COMPILAR
|
||||
|
||||
Se você obteve uma distribuição binária, não precisa compilar o Vim. Se você
|
||||
obteve uma distribuição de origem, todo o material para compilar o Vim está no
|
||||
diretório "src". Veja src/INSTALL para instruções.
|
||||
|
||||
INSTALAÇÃO
|
||||
|
||||
Veja um desses arquivos para instruções específicas do sistema. No diretório
|
||||
READMEdir (no repositório) ou no diretório superior (se você descompactar um
|
||||
arquivo):
|
||||
|
||||
README_ami.txt Amiga
|
||||
README_unix.txt Unix
|
||||
README_dos.txt MS-DOS e MS-Windows
|
||||
README_mac.txt Macintosh
|
||||
README_haiku.txt Haiku
|
||||
README_vms.txt VMS
|
||||
|
||||
Existem outros arquivos README_*.txt, dependendo da distribuição que você usou.
|
||||
|
||||
DOCUMENTAÇÃO
|
||||
|
||||
O tutor do Vim é um curso de treinamento de uma hora para iniciantes.
|
||||
Frequentemente, ele pode ser iniciado como "vimtutor". Veja ":help tutor"
|
||||
para mais informações.
|
||||
|
||||
O melhor é usar ":help" no Vim. Se você ainda não tem um executável, leia
|
||||
"runtime/doc/help.txt". Ele contém direcionamentos para os outros arquivos
|
||||
de documentação. O Manual do Usuário é lido como um livro e é recomendado
|
||||
para aprender a usar o Vim. Veja ":help user-manual".
|
||||
|
||||
CÓPIA
|
||||
|
||||
O Vim é um Charityware. Você pode usá-lo e copiá-lo o quanto quiser, mas
|
||||
encorajamos que faça uma doação para ajudar órfãos em Uganda. Leia o arquivo
|
||||
"runtime/doc/uganda.txt" para detalhes (execute ":help uganda" dentro do Vim).
|
||||
|
||||
Resumo da licença: Não há restrições quanto ao uso ou distribuição de uma
|
||||
cópia não modificada do Vim. Partes do Vim também podem ser distribuídas, mas
|
||||
o texto da licença deve sempre ser incluído. Para versões modificadas, algumas
|
||||
restrições se aplicam. A licença é compatível com GPL, você pode compilar o Vim
|
||||
com bibliotecas GPL e distribuí-lo.
|
||||
|
||||
PATROCÍNIO
|
||||
|
||||
Corrigir bugs e adicionar novos recursos exige muito tempo e esforço.
|
||||
Para mostrar seu apreço pelo trabalho e motivar os desenvolvedores a continuar
|
||||
trabalhando no Vim, envie uma doação.
|
||||
|
||||
O dinheiro que você doou será usado principalmente para ajudar crianças em
|
||||
Uganda. Veja "runtime/doc/uganda.txt". Mas, ao mesmo tempo, as doações aumentam
|
||||
a motivação da equipe de desenvolvimento para continuar trabalhando no Vim!
|
||||
|
||||
Para as informações mais recentes sobre patrocínio, consulte o site do Vim:
|
||||
https://www.vim.org/sponsor/
|
||||
|
||||
CONTRIBUIÇÕES
|
||||
|
||||
Se você gostaria de ajudar a tornar o Vim melhor, veja o arquivo CONTRIBUTING.md.
|
||||
|
||||
INFORMAÇÕES
|
||||
|
||||
Se você estiver no macOS, pode usar o MacVim: https://macvim.org
|
||||
|
||||
As últimas notícias sobre o Vim podem ser encontradas na página inicial do Vim:
|
||||
https://www.vim.org/
|
||||
|
||||
Se você tiver problemas, dê uma olhada na documentação ou dicas do Vim:
|
||||
https://www.vim.org/docs.php
|
||||
https://vim.fandom.com/wiki/Vim_Tips_Wiki
|
||||
|
||||
Se você ainda tiver problemas ou quaisquer outras perguntas, use uma das listas
|
||||
de discussão para discuti-las com usuários e desenvolvedores do Vim:
|
||||
https://www.vim.org/maillist.php
|
||||
|
||||
Se nada mais funcionar, relate os bugs diretamente para a lista de discussão
|
||||
vim-dev:
|
||||
<vim-dev@vim.org>
|
||||
|
||||
AUTOR PRINCIPAL
|
||||
|
||||
A maior parte do Vim foi criada por Bram Moolenaar <Bram@vim.org>,
|
||||
":help Bram-Moolenaar"
|
||||
|
||||
Envie quaisquer outros comentários, patches, flores e sugestões para
|
||||
a lista de discussão vim-dev: <vim-dev@vim.org>
|
||||
@@ -1,4 +1,4 @@
|
||||
README.rux.txt для версии 9.1 программы Vim — Vi IMproved.
|
||||
README.ru.txt для версии 9.1 программы Vim — Vi IMproved.
|
||||
|
||||
|
||||
ЧТО ТАКОЕ РЕДАКТОР VIM?
|
||||
134
nsis/Make_mvc.mak
Normal file
134
nsis/Make_mvc.mak
Normal file
@@ -0,0 +1,134 @@
|
||||
#
|
||||
# Makefile for MS Windows for create self-installing exe of Vim.
|
||||
# 05/04/2024, Restorer restorer@mail2k.ru
|
||||
#
|
||||
|
||||
|
||||
#!INCLUDE .\Make_all.mak
|
||||
|
||||
.SUFFIXES :
|
||||
|
||||
!IFDEF PROGRAMW6432
|
||||
ProgFiles=%%PROGRAMFILES(x86)%%
|
||||
!ELSE
|
||||
ProgFiles=$(PROGRAMFILES)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF VIMSRC
|
||||
MKNSISFLAGS = /D"VIMSRC=$(VIMSRC)"
|
||||
!ENDIF
|
||||
|
||||
!IFDEF VIMRT
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /D"VIMRT=$(VIMRT)"
|
||||
!ENDIF
|
||||
|
||||
!IFDEF VIMTOOLS
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /D"VIMTOOLS=$(VIMTOOLS)"
|
||||
!ENDIF
|
||||
|
||||
!IFDEF GETTEXT
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /D"GETTEXT=$(GETTEXT)"
|
||||
!ENDIF
|
||||
|
||||
!IFDEF HAVE_UPX
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /DHAVE_UPX=$(HAVE_UPX)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF HAVE_NLS
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /DHAVE_NLS=$(HAVE_NLS)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF HAVE_MULTI_LANG
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /DHAVE_MULTI_LANG=$(HAVE_MULTI_LANG)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF WIN64
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /DWIN64=$(WIN64)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF INCLUDE_LIBGCC
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /DINCLUDE_LIBGCC=$(INCLUDE_LIBGCC)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF X
|
||||
XX = /X"$(X:;=" /X")"
|
||||
!ENDIF
|
||||
|
||||
# If necessary, correct the full path of the NSIS compiler in the next line.
|
||||
# Please do not enclose the path in quotation marks.
|
||||
MKNSIS = $(ProgFiles)\NSIS
|
||||
|
||||
PS = powershell.exe
|
||||
RM = del /f /q
|
||||
RD = rmdir /s /q
|
||||
|
||||
MKNSISFLAGS = /INPUTCHARSET UTF8 $(MKNSISFLAGS)
|
||||
PSFLAGS = -NoLogo -NoProfile -Command
|
||||
|
||||
# Read MAJOR and MINOR from version.h.
|
||||
!IF ![for /F "tokens=2,3" %G in ( \
|
||||
'findstr /rc:"VIM_VERSION_MINOR[ ^]*[0-9^]" \
|
||||
/rc:"VIM_VERSION_MAJOR[ ^]*[0-9^]" ..\src\version.h') do \
|
||||
@if "VIM_VERSION_MAJOR"=="%G" (echo MAJOR=%H>>_ver.tmp) \
|
||||
else echo MINOR=%H>>_ver.tmp]
|
||||
! INCLUDE .\_ver.tmp
|
||||
! IF [$(RM) .\_ver.tmp]
|
||||
! ENDIF
|
||||
!ENDIF
|
||||
|
||||
# Read PATCHLEVEL from version.c
|
||||
!IF ![for /F %G in ( \
|
||||
'findstr /nblc:"static int included_patches[^]" ..\src\version.c \
|
||||
^| (set /p "_t=" ^& set /a _t+=2 ^)') do \
|
||||
@cmd /q /c "for /F "skip=%G delims=, " %H in (..\src\version.c) do \
|
||||
(echo PATCH=%H>_patchlvl.tmp & exit /b)"]
|
||||
! INCLUDE .\_patchlvl.tmp
|
||||
! IF [$(RM) .\_patchlvl.tmp]
|
||||
! ENDIF
|
||||
!ENDIF
|
||||
!IF $(PATCH) < 10
|
||||
PATCH = 000$(PATCH)
|
||||
!ELSEIF $(PATCH) < 100
|
||||
PATCH = 00$(PATCH)
|
||||
!ELSEIF $(PATCH) < 1000
|
||||
PATCH = 0$(PATCH)
|
||||
!ENDIF
|
||||
|
||||
|
||||
all : makeinst
|
||||
|
||||
makeinst : prepare
|
||||
^"$(MKNSIS)\makensis.exe" $(MKNSISFLAGS) gvim.nsi $(XX)
|
||||
|
||||
prepare : unzipicons gvim_version.nsh license rename
|
||||
|
||||
unzipicons : icons.zip
|
||||
@ if exist %|fF\nul $(RD) %|fF
|
||||
@ $(PS) $(PSFLAGS) \
|
||||
Add-Type -AssemblyName 'System.IO.Compression.FileSystem'; \
|
||||
[System.IO.Compression.ZipFile]::ExtractToDirectory(\"$**\", \".\")
|
||||
|
||||
gvim_version.nsh : Make_mvc.mak
|
||||
@ 1> $@ echo:^# Generated from Makefile: define the version numbers
|
||||
@ 1>> $@ echo:^!ifndef __GVIM_VER__NSH__
|
||||
@ 1>> $@ echo:^!define __GVIM_VER__NSH__
|
||||
@ 1>> $@ echo:^!define VER_MAJOR $(MAJOR)
|
||||
@ 1>> $@ echo:^!define VER_MINOR $(MINOR)
|
||||
@ 1>> $@ echo:^!define PATCHLEVEL $(PATCH)
|
||||
@ 1>> $@ echo:^!endif
|
||||
|
||||
license : ..\lang\LICENSE.*.txt ..\LICENSE
|
||||
!@ $(PS) $(PSFLAGS) \
|
||||
Get-Content -Path '$**' -Encoding UTF8 ^| \
|
||||
Set-Content -Path '..\lang\$(**B).nsis.txt' -Enc Unicode -Force
|
||||
|
||||
rename :
|
||||
@ ..\tools\rename.bat "$(SRC)" "$(DST)" 1> nul
|
||||
|
||||
clean :
|
||||
@ if exist .\gvim_version.nsh $(RM) .\gvim_version.nsh
|
||||
@ if exist ..\lang\LICENSE*.nsis.txt $(RM) ..\lang\LICENSE*.nsis.txt
|
||||
@ if exist .\icons\nul $(RD) .\icons
|
||||
@ if exist .\gvim??.exe $(RM) .\gvim??.exe
|
||||
|
||||
# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0 ft=make:
|
||||
95
nsis/Makefile
Normal file
95
nsis/Makefile
Normal file
@@ -0,0 +1,95 @@
|
||||
#
|
||||
# Makefile for UNIX-like for create self-installing exe of Vim.
|
||||
# 15/12/2024, Restorer restorer@mail2k.ru
|
||||
#
|
||||
|
||||
|
||||
.SUFFIXES:
|
||||
.PHONY: all makeinst prepare rename clean
|
||||
|
||||
ifdef VIMSRC
|
||||
MKNSISFLAGS := -D"VIMSRC=$(VIMSRC)"
|
||||
endif
|
||||
|
||||
ifdef VIMRT
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -D"VIMRT=$(VIMRT)"
|
||||
endif
|
||||
|
||||
ifdef VIMTOOLS
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -D"VIMTOOLS=$(VIMTOOLS)"
|
||||
endif
|
||||
|
||||
ifdef GETTEXT
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -D"GETTEXT=$(GETTEXT)"
|
||||
endif
|
||||
|
||||
ifdef HAVE_UPX
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_UPX=$(HAVE_UPX)
|
||||
endif
|
||||
|
||||
ifdef HAVE_NLS
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_NLS=$(HAVE_NLS)
|
||||
endif
|
||||
|
||||
ifdef HAVE_MULTI_LANG
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_MULTI_LANG=$(HAVE_MULTI_LANG)
|
||||
endif
|
||||
|
||||
ifdef WIN64
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -DWIN64=$(WIN64)
|
||||
endif
|
||||
|
||||
ifdef INCLUDE_LIBGCC
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -DINCLUDE_LIBGCC=$(INCLUDE_LIBGCC)
|
||||
endif
|
||||
|
||||
ifdef X
|
||||
XX := -X"$(X:;=" -X")"
|
||||
endif
|
||||
|
||||
MAJOR != grep -E 'VIM_VERSION_MAJOR\s{2,}' ../src/version.h | \
|
||||
awk '{ printf "%d",$$3 }'
|
||||
MINOR != grep -E 'VIM_VERSION_MINOR\s{2,}' ../src/version.h | \
|
||||
awk '{ printf "%d",$$3 }'
|
||||
PATCH != awk '/number below this line/,/,/' ../src/version.c | \
|
||||
awk 'NR == 3 { printf "%04d",$$1 }' | sed -e 's/[ ,]//g'
|
||||
|
||||
MKNSISFLAGS := -INPUTCHARSET UTF8 $(MKNSISFLAGS)
|
||||
|
||||
all: makeinst
|
||||
|
||||
makeinst: prepare
|
||||
makensis $(MKNSISFLAGS) gvim.nsi $(XX)
|
||||
|
||||
prepare: unzipicons gvim_version.nsh license rename
|
||||
|
||||
unzipicons: icons.zip
|
||||
if test -d `basename $? .zip` ; then rm -rf `basename $? .zip` ; fi
|
||||
unzip $?
|
||||
|
||||
gvim_version.nsh: Makefile
|
||||
echo "# Generated from Makefile: define the version numbers" > $@
|
||||
echo "!ifndef __GVIM_VER__NSH__" >> $@
|
||||
echo "!define __GVIM_VER__NSH__" >> $@
|
||||
echo "!define VER_MAJOR $(MAJOR)" >> $@
|
||||
echo "!define VER_MINOR $(MINOR)" >> $@
|
||||
echo "!define PATCHLEVEL $(PATCH)" >> $@
|
||||
echo "!endif" >> $@
|
||||
|
||||
license: ../lang/LICENSE.*.txt ../LICENSE
|
||||
for lic in $? ; do \
|
||||
bn=`basename $$lic .txt` ; \
|
||||
awk 'sub("$$", "\r")' < $$lic | \
|
||||
iconv -f UTF-8 -t UTF-16 > ../lang/$$bn.nsis.txt ; \
|
||||
done
|
||||
|
||||
rename:
|
||||
../tools/rename.bat "$(SRC)" "$(DST)"
|
||||
|
||||
clean:
|
||||
if test -f gvim_version.nsh ; then rm -f gvim_version.nsh ; fi
|
||||
rm -f ../lang/LICENSE*.nsis.txt
|
||||
if test -d icons ; then rm -rf icons ; fi
|
||||
if test -f gvim??.exe ; then rm -f gvim??.exe ; fi
|
||||
|
||||
# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0 ft=make:
|
||||
@@ -3,22 +3,15 @@ Installation System (NSIS), available at http://nsis.sourceforge.net/
|
||||
|
||||
To build the installable .exe file:
|
||||
|
||||
1. Unpack three archives:
|
||||
PC sources
|
||||
PC runtime
|
||||
PC language files
|
||||
You can generate these from the Unix sources and runtime plus the extra
|
||||
archive (see the Makefile in the top directory).
|
||||
Preparatory stage
|
||||
|
||||
2. Go to the src directory and build:
|
||||
gvim.exe (the OLE version),
|
||||
vimrun.exe,
|
||||
install.exe,
|
||||
uninstall.exe,
|
||||
tee/tee.exe,
|
||||
xxd/xxd.exe
|
||||
1. Clone using the git tool the Vim repository or download its zip file
|
||||
available at:
|
||||
https://github.com/vim/vim
|
||||
|
||||
Then execute tools/rename.bat to rename the executables.
|
||||
2. Go to the "/src" directory and build the Vim editor, making sure to use the
|
||||
following variable values: "GUI=yes"; "OLE=yes"; "VIMDLL=yes". See
|
||||
INSTALLpc.txt and Make_mvc.mak for details.
|
||||
|
||||
3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
|
||||
archive). Both 64- and 32-bit versions are needed and should be placed
|
||||
@@ -32,8 +25,8 @@ To build the installable .exe file:
|
||||
https://www.mediafire.com/file/9edk4g3xvfgzby0/diff4Vim.zip/file
|
||||
When will you have "diff.exe" put it in the "../.." directory (above the
|
||||
"vim91" directory, it's the same for all Vim versions). However, you can
|
||||
specify another directory by passing /DVIMTOOLS=<dir> option to the
|
||||
"makensis.exe" program via the command line.
|
||||
specify a different directory by specifying the appropriate makefile value.
|
||||
How to do this is described below.
|
||||
|
||||
5. For the terminal window to work in Vim, the library winpty is required.
|
||||
You can get it at the following url:
|
||||
@@ -41,8 +34,8 @@ To build the installable .exe file:
|
||||
For the 32-bit version, rename "winpty.dll" from ia32/bin to "winpty32.dll",
|
||||
and for the 64-bit version — "winpty.dll" from x64/bin to "winpty64.dll".
|
||||
Put the renamed file and "winpty-agent.exe" in "../.." (above the "vim91"
|
||||
directory). However, you can specify another directory by passing
|
||||
/DVIMTOOLS=<dir> option to the "makensis.exe" program via the command line.
|
||||
directory). However, you can specify a different directory by specifying
|
||||
the appropriate makefile value. How to do this is described below.
|
||||
|
||||
6. To use stronger encryption, add the Sodium library. You can get it here:
|
||||
https://github.com/jedisct1/libsodium/releases/download/1.0.19-RELEASE/libsodium-1.0.19-msvc.zip
|
||||
@@ -52,12 +45,7 @@ To build the installable .exe file:
|
||||
"../.." directory (above the "vim91" directory, where "diff.exe" and
|
||||
"winpty{32|64}.dll").
|
||||
|
||||
7. On MS Windows do "nmake.exe -f Make_mvc.mak uganda.nsis.txt" in runtime/doc.
|
||||
On Unix-like system do "make runtime/doc/uganda.nsis.txt" in top directory
|
||||
or "make uganda.nsis.txt" in runtime/doc. The created files
|
||||
"uganda.nsis.???" will be automatically converted to DOS file format.
|
||||
|
||||
8. Get gettext and iconv DLLs from the following site:
|
||||
7. Get gettext and iconv DLLs from the following site:
|
||||
https://github.com/mlocati/gettext-iconv-windows/releases
|
||||
Both 64- and 32-bit versions are needed.
|
||||
Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
|
||||
@@ -74,35 +62,47 @@ To build the installable .exe file:
|
||||
libintl-8.dll
|
||||
libiconv-2.dll
|
||||
|
||||
The default <GETTEXT directory> is "..", however, you can specify another
|
||||
directory by passing /DGETTEXT=<dir> option to "makensis.exe" program via
|
||||
the command line.
|
||||
The default <GETTEXT directory> is "../..". However, you can specify a
|
||||
different directory by specifying the appropriate makefile value. How to do
|
||||
this is described below.
|
||||
|
||||
|
||||
Install NSIS if you didn't do that already.
|
||||
Download Unicode version the ShellExecAsUser plug-in for NSIS from:
|
||||
8. Install NSIS if you didn't do that already.
|
||||
Download Unicode version the ShellExecAsUser plug-in for NSIS from:
|
||||
https://nsis.sourceforge.io/ShellExecAsUser_plug-in
|
||||
and put ShellExecAsUser.dll to path\to\NSIS\Plugins\x86-unicode
|
||||
and put "ShellExecAsUser.dll" to path\to\NSIS\Plugins\x86-unicode
|
||||
|
||||
Installer assembly stage
|
||||
|
||||
Unpack the images:
|
||||
cd nsis
|
||||
unzip icons.zip or 7z x icons.zip (on Unix-like or MS Windows)
|
||||
WinRar.exe x icons.zip (on MS Windows)
|
||||
On MS Windows, open the Developer Command Prompt for VS and go to the
|
||||
"/nsis" directory and type the command
|
||||
nmake.exe -lf Make_mvc.mak [variables] all
|
||||
|
||||
Then build gvim.exe:
|
||||
cd nsis
|
||||
makensis.exe [options] gvim.nsi
|
||||
After the installer is created and you copy it to the desired location, run
|
||||
the following command in the "/nsis" directory
|
||||
nmake.exe -lf Make_mvc.mak clean
|
||||
|
||||
On UNIX-like systems, go to the "/nsis" directory and type the command
|
||||
make -f Makefile [variables] all
|
||||
|
||||
Options (not mandatory):
|
||||
/DVIMSRC=<dir> — directory where location of gvim_ole.exe, vimw32.exe,
|
||||
After the installer is created and you copy it to the desired location, run
|
||||
the following command in the "/nsis" directory
|
||||
make -f Makefile clean
|
||||
|
||||
Variables and their values available for building the installer (not mandatory):
|
||||
|
||||
"VIMSRC=<dir>" — directory where location of gvim_ole.exe, vimw32.exe,
|
||||
GvimExt/*, etc.
|
||||
/DVIMRT=<dir> — directory where location of runtime files
|
||||
/DVIMTOOLS=<dir> — directory where location of extra tools: diff.exe,
|
||||
winpty{32|64}.dll, winpty-agent.exe, libsodium.dll
|
||||
/DGETTEXT=<dir> — directory where location of gettext libraries
|
||||
/DHAVE_UPX=1 — additional compression of the installer. UPX program
|
||||
"VIMRT=<dir>" — directory where location of runtime files.
|
||||
"VIMTOOLS=<dir>" — directory where location of extra tools: diff.exe,
|
||||
winpty{32|64}.dll, winpty-agent.exe, libsodium.dll.
|
||||
"GETTEXT=<dir>" — directory where location of gettext libraries.
|
||||
"HAVE_UPX=1" — additional compression of the installer. UPX program
|
||||
must be installed.
|
||||
/DHAVE_NLS=0 — do not add native language support
|
||||
/DHAVE_MULTI_LANG=0 — to create an English-only the installer
|
||||
/DWIN64=1 — to create a 64-bit the installer
|
||||
"HAVE_NLS=0" — do not add native language support.
|
||||
"HAVE_MULTI_LANG=0" — to create an English-only the installer.
|
||||
"WIN64=1" — to create a 64-bit the installer.
|
||||
"X=<scriptcmd>" — executes scriptcmd in script. If multiple scriptcmd
|
||||
are specified, they are separated by a semicolon.
|
||||
Example "X=OutFile MyVim.exe;XPMode on"
|
||||
"MKNSIS=<dir>" — the directory where the "makensis.exe" program is
|
||||
located.
|
||||
|
||||
145
nsis/gvim.nsi
145
nsis/gvim.nsi
@@ -1,6 +1,6 @@
|
||||
# NSIS file to create a self-installing exe for Vim.
|
||||
# It requires NSIS version 3.0 or later.
|
||||
# Last Change: 2024 Mar 20
|
||||
# Last Change: 2025 Feb 24
|
||||
|
||||
Unicode true
|
||||
|
||||
@@ -14,19 +14,19 @@ Unicode true
|
||||
|
||||
# Location of runtime files
|
||||
!ifndef VIMRT
|
||||
!define VIMRT ".."
|
||||
!define VIMRT "..\runtime"
|
||||
!endif
|
||||
|
||||
# Location of extra tools: diff.exe, winpty{32|64}.dll, winpty-agent.exe, etc.
|
||||
!ifndef VIMTOOLS
|
||||
!define VIMTOOLS ..\..
|
||||
!define VIMTOOLS "..\.."
|
||||
!endif
|
||||
|
||||
# Location of gettext.
|
||||
# It must contain two directories: gettext32 and gettext64.
|
||||
# See README.txt for detail.
|
||||
!ifndef GETTEXT
|
||||
!define GETTEXT ${VIMRT}
|
||||
!define GETTEXT ${VIMTOOLS}
|
||||
!endif
|
||||
|
||||
# If you have UPX, use the switch /DHAVE_UPX=1 on the command line makensis.exe.
|
||||
@@ -74,6 +74,8 @@ Unicode true
|
||||
!include "nsDialogs.nsh"
|
||||
!include "Sections.nsh"
|
||||
!include "x64.nsh"
|
||||
!include "StrFunc.nsh"
|
||||
${StrRep}
|
||||
|
||||
# See https://nsis.sourceforge.io/LogicLib
|
||||
;FileExists is already part of LogicLib, but returns true for directories
|
||||
@@ -214,6 +216,7 @@ Page custom SetCustom ValidateCustom
|
||||
|
||||
# Include support for other languages:
|
||||
!if ${HAVE_MULTI_LANG}
|
||||
!include "lang\portuguesebr.nsi"
|
||||
!include "lang\danish.nsi"
|
||||
!include "lang\dutch.nsi"
|
||||
!include "lang\german.nsi"
|
||||
@@ -246,6 +249,9 @@ Var vim_nsd_mouse
|
||||
Var vim_compat_stat
|
||||
Var vim_keymap_stat
|
||||
Var vim_mouse_stat
|
||||
!if ${HAVE_NLS}
|
||||
Var lng_usr
|
||||
!endif
|
||||
|
||||
|
||||
# Reserve files
|
||||
@@ -423,6 +429,7 @@ Section "$(str_section_exe)" id_section_exe
|
||||
File /oname=xxd.exe ${VIMSRC}\xxdw32.exe
|
||||
File ..\vimtutor.bat
|
||||
File ..\README.txt
|
||||
File /oname=LICENSE.txt ..\LICENSE
|
||||
File ..\uninstall.txt
|
||||
File ${VIMRT}\*.vim
|
||||
|
||||
@@ -621,110 +628,23 @@ SectionGroupEnd
|
||||
Section "$(str_section_nls)" id_section_nls
|
||||
SectionIn 1 3
|
||||
|
||||
#; FIXME: When adding new translations, do not forget to make changes here.
|
||||
SetOutPath $0
|
||||
!if /FileExists ..\README.dax.txt
|
||||
${If} $Language = ${LANG_DANISH}
|
||||
File ..\README.dax.txt
|
||||
${EndIf}
|
||||
SetOutPath $INSTDIR
|
||||
!if /FileExists "..\lang\README.*.txt"
|
||||
File ..\lang\README.*.txt
|
||||
CopyFiles /SILENT /FILESONLY $INSTDIR\README.$lng_usr.txt \
|
||||
$INSTDIR\vim${VER_MAJOR}${VER_MINOR}\README.$lng_usr.txt
|
||||
Delete $INSTDIR\README.*.txt
|
||||
!endif
|
||||
!if /FileExists ..\README.nlx.txt
|
||||
${If} $Language = ${LANG_DUTCH}
|
||||
File ..\README.nlx.txt
|
||||
${EndIf}
|
||||
!if /FileExists "..\lang\LICENSE.??.txt"
|
||||
File ..\lang\LICENSE.??.txt
|
||||
!if /FileExists "..\lang\LICENSE.??_??.txt"
|
||||
File ..\lang\LICENSE.??_??.txt
|
||||
!endif
|
||||
!if /FileExists ..\README.dex.txt
|
||||
${If} $Language = ${LANG_GERMAN}
|
||||
File ..\README.dex.txt
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists ..\README.itx.txt
|
||||
${If} $Language = ${LANG_ITALIAN}
|
||||
File ..\README.itx.txt
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists ..\README.jax.txt
|
||||
${If} $Language = ${LANG_JAPANESE}
|
||||
File ..\README.jax.txt
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists ..\README.rux.txt
|
||||
${If} $Language = ${LANG_RUSSIAN}
|
||||
File ..\README.rux.txt
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists ..\README.srx.txt
|
||||
${If} $Language = ${LANG_SERBIAN}
|
||||
File ..\README.srx.txt
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists ..\README.cnx.txt
|
||||
${If} $Language = ${LANG_SIMPCHINESE}
|
||||
File ..\README.cnx.txt
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists ..\README.twx.txt
|
||||
${If} $Language = ${LANG_TRADCHINESE}
|
||||
File ..\README.twx.txt
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists ..\README.trx.txt
|
||||
${OrIf} $Language = ${LANG_TURKISH}
|
||||
File ..\README.trx.txt
|
||||
${EndIf}
|
||||
!endif
|
||||
#; FIXME: When adding new translations, do not forget to make changes here.
|
||||
SetOutPath $0\doc
|
||||
!if /FileExists "${VIMRT}\doc\uganda.dax"
|
||||
${If} $Language = ${LANG_DANISH}
|
||||
File ${VIMRT}\doc\uganda.dax
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\doc\uganda.nlx"
|
||||
${If} $Language = ${LANG_DUTCH}
|
||||
File ${VIMRT}\doc\uganda.nlx
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\doc\uganda.dex"
|
||||
${If} $Language = ${LANG_GERMAN}
|
||||
File ${VIMRT}\doc\uganda.dex
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\doc\uganda.itx"
|
||||
${If} $Language = ${LANG_ITALIAN}
|
||||
File ${VIMRT}\doc\uganda.itx
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\doc\uganda.jax"
|
||||
${If} $Language = ${LANG_JAPANESE}
|
||||
File ${VIMRT}\doc\uganda.jax
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\doc\uganda.rux"
|
||||
${If} $Language = ${LANG_RUSSIAN}
|
||||
File ${VIMRT}\doc\uganda.rux
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\doc\uganda.srx"
|
||||
${If} $Language = ${LANG_SERBIAN}
|
||||
File ${VIMRT}\doc\uganda.srx
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\doc\uganda.cnx"
|
||||
${If} $Language = ${LANG_SIMPCHINESE}
|
||||
File ${VIMRT}\doc\uganda.cnx
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\doc\uganda.twx"
|
||||
${If} $Language = ${LANG_TRADCHINESE}
|
||||
File ${VIMRT}\doc\uganda.twx
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\doc\uganda.trx"
|
||||
${If} $Language = ${LANG_TURKISH}
|
||||
File ${VIMRT}\doc\uganda.trx
|
||||
${EndIf}
|
||||
CopyFiles /SILENT /FILESONLY $INSTDIR\LICENSE.$lng_usr.txt \
|
||||
$INSTDIR\vim${VER_MAJOR}${VER_MINOR}\LICENSE.$lng_usr.txt
|
||||
Delete $INSTDIR\LICENSE.*.txt
|
||||
!endif
|
||||
|
||||
SetOutPath $0\lang
|
||||
File /r /x Makefile ${VIMRT}\lang\*.*
|
||||
SetOutPath $0
|
||||
@@ -883,6 +803,21 @@ Function .onInit
|
||||
!insertmacro MUI_LANGDLL_DISPLAY
|
||||
!endif
|
||||
|
||||
!if ${HAVE_NLS}
|
||||
ClearErrors
|
||||
System::Call 'kernel32::GetUserDefaultLocaleName(t.r19, *i${NSIS_MAX_STRLEN})'
|
||||
StrCmp $R9 "zh-cn" coincide 0
|
||||
StrCmp $R9 "zh-tw" coincide 0
|
||||
StrCmp $R9 "pt-br" 0 part
|
||||
coincide:
|
||||
System::Call 'User32::CharLower(t r19 r19)*i${NSIS_MAX_STRLEN}'
|
||||
${StrRep} $lng_usr "$R9" "-" "_"
|
||||
Goto done
|
||||
part:
|
||||
StrCpy $lng_usr $R9 2
|
||||
done:
|
||||
!endif
|
||||
|
||||
${If} $INSTDIR == ${DEFAULT_INSTDIR}
|
||||
# Check $VIM
|
||||
ReadEnvStr $3 "VIM"
|
||||
|
||||
@@ -3,4 +3,5 @@
|
||||
!define __GVIM_VER__NSH__
|
||||
!define VER_MAJOR 9
|
||||
!define VER_MINOR 1
|
||||
!define PATCHLEVEL 0
|
||||
!endif
|
||||
|
||||
@@ -18,17 +18,46 @@ allowable length of strings. For example:
|
||||
drop-down lists on the .vimrc page - 55 characters.
|
||||
Characters in this case mean characters of the English alphabet.
|
||||
|
||||
If you do not yet have a translated "uganda.txt" file and a main "README.txt"
|
||||
Once the message translation file is ready, it must be included in the
|
||||
"gvim.nsi" file.
|
||||
Find the line "# Include support for other languages:" in the file "gvim.nsi"
|
||||
and specify the name of the file with your translation below the line
|
||||
!if ${HAVE_MULTI_LANG}, similar to the entries already there. File names are
|
||||
specified in alphabetical order.
|
||||
|
||||
If you do not yet have a translated "LICENSE" file and/or a main "README.txt"
|
||||
file, set the following values:
|
||||
|
||||
for the license file
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
|
||||
for the readme.txt file
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
|
||||
Once you have the translations of these files, then set the values for these
|
||||
variables similarly to what is done in the other translation files.
|
||||
Also add the appropriate entries to the "gvim.nsi" file as done for other
|
||||
languages.
|
||||
Translation files should be located in the "lang" subdirectory of the root
|
||||
directory. The name of the files is as follows: "README.xx.txt", where xx is the
|
||||
language code according to ISO639.
|
||||
|
||||
|
||||
There are two ways to test the installer in different languages:
|
||||
|
||||
1. Find and uncomment the "!define MUI_LANGDLL_ALWAYSSHOW" line in the
|
||||
"gvim.nsi" file and rebuild the installer.
|
||||
Now every time you run it, you will see a dialog box with the possibility to
|
||||
select the language of the installer.
|
||||
|
||||
2. If the Vim editor is already installed in your system, delete the
|
||||
"Installer Language" parameter in the Windows registry under
|
||||
"HKEY_CURRENT_USER\Software\Vim".
|
||||
Or you can create a file "NoLangInstallerVim.reg" with the following content:
|
||||
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_CURRENT_USER\Software\Vim]
|
||||
"Installer Language"=-
|
||||
|
||||
and apply it by double-clicking on it.
|
||||
After these steps, when you start the installer, a window with the installer
|
||||
language selection will also be displayed.
|
||||
|
||||
@@ -19,15 +19,15 @@ LangString ^UninstallCaption ${LANG_DANISH} "$(^Name) Uninstall"
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_DANISH} "${VIMRT}\doc\uganda.nsis.dax"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_DANISH} "..\lang\LICENSE.da.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_DANISH} "README.dax.txt"
|
||||
#LangString vim_readme_file ${LANG_DANISH} "README.da.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
@@ -21,15 +21,15 @@ LangString ^UninstallCaption ${LANG_DUTCH} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_DUTCH} "${VIMRT}\doc\uganda.nsis.nlx"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_DUTCH} "..\lang\LICENSE.nl.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_DUTCH} "README.nlx.txt"
|
||||
#LangString vim_readme_file ${LANG_DUTCH} "README.nl.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
@@ -21,7 +21,7 @@ LangString ^UninstallCaption ${LANG_ENGLISH} \
|
||||
# License file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file ${LANG_ENGLISH} "${VIMRT}\doc\uganda.nsis.txt"
|
||||
LicenseLangString page_lic_file ${LANG_ENGLISH} "..\lang\LICENSE.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# README.txt file, which is opened after installation {{{1
|
||||
|
||||
@@ -21,15 +21,15 @@ LangString ^UninstallCaption ${LANG_GERMAN} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_GERMAN} "${VIMRT}\doc\uganda.nsis.dex"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_GERMAN} "..\lang\LICENSE.de.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_GERMAN} "README.dex.txt"
|
||||
#LangString vim_readme_file ${LANG_GERMAN} "README.de.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
@@ -21,15 +21,15 @@ LangString ^UninstallCaption ${LANG_GREEK} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_GREEK} "${VIMRT}\doc\uganda.nsis.elx"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_GREEK} "..\lang\LICENSE.el.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_GREEK} "README.elx.txt"
|
||||
#LangString vim_readme_file ${LANG_GREEK} "README.el.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
@@ -21,15 +21,13 @@ LangString ^UninstallCaption ${LANG_ITALIAN} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_ITALIAN} "${VIMRT}\doc\uganda.nsis.itx"
|
||||
LicenseLangString page_lic_file ${LANG_ITALIAN} "..\lang\LICENSE.it.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_ITALIAN} "README.itx.txt"
|
||||
LangString vim_readme_file ${LANG_ITALIAN} "README.it.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
@@ -31,15 +31,15 @@ LangString ^InstallBtn ${LANG_JAPANESE} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_JAPANESE} "${VIMRT}\doc\uganda.nsis.jax"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_JAPANESE} "..\lang\LICENSE.ja.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_JAPANESE} "README.jax.txt"
|
||||
#LangString vim_readme_file ${LANG_JAPANESE} "README.ja.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
291
nsis/lang/portuguesebr.nsi
Normal file
291
nsis/lang/portuguesebr.nsi
Normal file
@@ -0,0 +1,291 @@
|
||||
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
|
||||
#
|
||||
# portuguesebr.nsi: Brazilian Portuguese strings for gvim NSIS installer.
|
||||
#
|
||||
# Locale ID : 1046
|
||||
# Locale Name : pt-BR
|
||||
# fileencoding : UTF-8
|
||||
# Author : Rafael Fontenelle
|
||||
|
||||
!insertmacro MUI_LANGUAGE "PortugueseBR"
|
||||
|
||||
|
||||
# Overwrite the default translation.
|
||||
# These strings should be always English. Otherwise dosinst.c fails.
|
||||
LangString ^SetupCaption ${LANG_PORTUGUESEBR} \
|
||||
"Configuração do $(^Name)"
|
||||
LangString ^UninstallCaption ${LANG_PORTUGUESEBR} \
|
||||
"Desinstalação do $(^Name)"
|
||||
|
||||
##############################################################################
|
||||
# License file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file ${LANG_PORTUGUESEBR} "..\lang\LICENSE.pt_br.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file ${LANG_PORTUGUESEBR} "README.pt_br.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
##############################################################################
|
||||
|
||||
#LangString str_dest_folder ${LANG_PORTUGUESEBR} \
|
||||
# "Pasta de destino (Deve terminar com $\"vim$\")"
|
||||
|
||||
LangString str_show_readme ${LANG_PORTUGUESEBR} \
|
||||
"Mostrar o README ao concluir a instalação"
|
||||
|
||||
# Install types:
|
||||
LangString str_type_typical ${LANG_PORTUGUESEBR} \
|
||||
"Típica"
|
||||
|
||||
LangString str_type_minimal ${LANG_PORTUGUESEBR} \
|
||||
"Mínima"
|
||||
|
||||
LangString str_type_full ${LANG_PORTUGUESEBR} \
|
||||
"Completa"
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Section Titles & Description {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString str_section_old_ver ${LANG_PORTUGUESEBR} \
|
||||
"Desinstalar versões existentes"
|
||||
LangString str_desc_old_ver ${LANG_PORTUGUESEBR} \
|
||||
"Desinstala versões do Vim existentes no seu sistema."
|
||||
|
||||
LangString str_section_exe ${LANG_PORTUGUESEBR} \
|
||||
"Vim GUI e arquivos de runtime"
|
||||
LangString str_desc_exe ${LANG_PORTUGUESEBR} \
|
||||
"Executáveis e arquivos de runtime do Vim GUI. Este componente \
|
||||
é obrigatório."
|
||||
|
||||
LangString str_section_console ${LANG_PORTUGUESEBR} \
|
||||
"Programa de console do Vim"
|
||||
LangString str_desc_console ${LANG_PORTUGUESEBR} \
|
||||
"Versão de console do Vim (vim.exe)."
|
||||
|
||||
LangString str_section_batch ${LANG_PORTUGUESEBR} \
|
||||
"Criar arquivos .bat"
|
||||
LangString str_desc_batch ${LANG_PORTUGUESEBR} \
|
||||
"Cria arquivos .bat para variantes do Vim no diretório Windows para \
|
||||
usar na linha de comando."
|
||||
|
||||
LangString str_group_icons ${LANG_PORTUGUESEBR} \
|
||||
"Criar ícones para o Vim"
|
||||
LangString str_desc_icons ${LANG_PORTUGUESEBR} \
|
||||
"Cria ícones para Vim em vários locais para facilitar o acesso rápido."
|
||||
|
||||
LangString str_section_desktop ${LANG_PORTUGUESEBR} \
|
||||
"Na área de trabalho"
|
||||
LangString str_desc_desktop ${LANG_PORTUGUESEBR} \
|
||||
"Cria ícones para executáveis do gVim na área de trabalho."
|
||||
|
||||
LangString str_section_start_menu ${LANG_PORTUGUESEBR} \
|
||||
"Na pasta Programas do Menu Iniciar"
|
||||
LangString str_desc_start_menu ${LANG_PORTUGUESEBR} \
|
||||
"Adiciona Vim na pasta de programas do menu iniciar."
|
||||
|
||||
#LangString str_section_quick_launch ${LANG_PORTUGUESEBR} \
|
||||
# "Na barra de Inicialização Rápida"
|
||||
#LangString str_desc_quick_launch ${LANG_PORTUGUESEBR} \
|
||||
# "Adiciona um atalho para o Vim na barra de inicialização rápida."
|
||||
|
||||
LangString str_section_edit_with ${LANG_PORTUGUESEBR} \
|
||||
"Adicionar menu de contexto do Vim"
|
||||
LangString str_desc_edit_with ${LANG_PORTUGUESEBR} \
|
||||
"Adiciona o Vim à lista $\"Abrir com...$\" do menu de contexto."
|
||||
|
||||
#LangString str_section_edit_with32 ${LANG_PORTUGUESEBR} \
|
||||
# "Versão 32 bits"
|
||||
#LangString str_desc_edit_with32 ${LANG_PORTUGUESEBR} \
|
||||
# "Adiciona o Vim à lista $\"Abrir com...$\" do menu de contexto \
|
||||
# para aplicativos 32 bits."
|
||||
|
||||
#LangString str_section_edit_with64 ${LANG_PORTUGUESEBR} \
|
||||
# "Versão 64 bits"
|
||||
#LangString str_desc_edit_with64 ${LANG_PORTUGUESEBR} \
|
||||
# "Adiciona o Vim à lista $\"Abrir com...$\" do menu de contexto \
|
||||
# para aplicativos 64 bits."
|
||||
|
||||
LangString str_section_vim_rc ${LANG_PORTUGUESEBR} \
|
||||
"Criar configuração padrão"
|
||||
LangString str_desc_vim_rc ${LANG_PORTUGUESEBR} \
|
||||
"Cria um arquivo de configuração padrão (_vimrc) se não já existir."
|
||||
|
||||
LangString str_group_plugin ${LANG_PORTUGUESEBR} \
|
||||
"Criar diretórios de plugins"
|
||||
LangString str_desc_plugin ${LANG_PORTUGUESEBR} \
|
||||
"Cria diretórios de plugins. Diretórios de plugins permitem estender \
|
||||
o Vim adicionando um arquivo a um direótrio."
|
||||
|
||||
LangString str_section_plugin_home ${LANG_PORTUGUESEBR} \
|
||||
"Privados"
|
||||
LangString str_desc_plugin_home ${LANG_PORTUGUESEBR} \
|
||||
"Cria diretórios de plugins no diretório HOME."
|
||||
|
||||
LangString str_section_plugin_vim ${LANG_PORTUGUESEBR} \
|
||||
"Compartilhados"
|
||||
LangString str_desc_plugin_vim ${LANG_PORTUGUESEBR} \
|
||||
"Cria diretórios de plugins no diretório de instalação do Vim, \
|
||||
o qual é usado por todos os usuários do sistema."
|
||||
|
||||
LangString str_section_nls ${LANG_PORTUGUESEBR} \
|
||||
"Suporte ao idioma nativo"
|
||||
LangString str_desc_nls ${LANG_PORTUGUESEBR} \
|
||||
"Instala arquivos para suporte ao idioma nativo."
|
||||
|
||||
LangString str_unsection_register ${LANG_PORTUGUESEBR} \
|
||||
"Desregistrar Vim"
|
||||
LangString str_desc_unregister ${LANG_PORTUGUESEBR} \
|
||||
"Remove os registras do Vim do sistema."
|
||||
|
||||
LangString str_unsection_exe ${LANG_PORTUGUESEBR} \
|
||||
"Remover arquivos executáveis/runtime do Vim"
|
||||
LangString str_desc_rm_exe ${LANG_PORTUGUESEBR} \
|
||||
"Remove todos os arquivos executáveis e de runtime do Vim."
|
||||
|
||||
LangString str_ungroup_plugin ${LANG_PORTUGUESEBR} \
|
||||
"Remover diretórios de plugins"
|
||||
LangString str_desc_rm_plugin ${LANG_PORTUGUESEBR} \
|
||||
"Remove os diretórios de plugins se eles estiverem vazios."
|
||||
|
||||
LangString str_unsection_plugin_home ${LANG_PORTUGUESEBR} \
|
||||
"Privados"
|
||||
LangString str_desc_rm_plugin_home ${LANG_PORTUGUESEBR} \
|
||||
"Remove os diretórios de plugins do diretório HOME."
|
||||
|
||||
LangString str_unsection_plugin_vim ${LANG_PORTUGUESEBR} \
|
||||
"Compartilhados"
|
||||
LangString str_desc_rm_plugin_vim ${LANG_PORTUGUESEBR} \
|
||||
"Remove os diretórios de plugins do diretório de instalação do Vim."
|
||||
|
||||
LangString str_unsection_rootdir ${LANG_PORTUGUESEBR} \
|
||||
"Remover diretório raiz do Vim"
|
||||
LangString str_desc_rm_rootdir ${LANG_PORTUGUESEBR} \
|
||||
"Remove o diretório raiz do Vim. Ele contém seus \
|
||||
arquivos de configuração do Vim!"
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Messages {{{1
|
||||
##############################################################################
|
||||
|
||||
#LangString str_msg_too_many_ver ${LANG_PORTUGUESEBR} \
|
||||
# "Encontradas $vim_old_ver_count versões do Vim em seu sistema.$\r$\n\
|
||||
# Este instalador só consegue lidar com ${VIM_MAX_OLD_VER} versões\
|
||||
# no máximo.$\r$\n\
|
||||
# Por favor, remova algumas versões e comece novamente."
|
||||
|
||||
#LangString str_msg_invalid_root ${LANG_PORTUGUESEBR} \
|
||||
# "Caminho de instalação inválido: $vim_install_root!$\r$\n\
|
||||
# Ele deve terminar com $\"vim$\"."
|
||||
|
||||
#LangString str_msg_bin_mismatch ${LANG_PORTUGUESEBR} \
|
||||
# "Incompatibilidade de caminho de binários!$\r$\n$\r$\n\
|
||||
# Esperava que o caminho de binários fosse $\"$vim_bin_path$\",$\r$\n\
|
||||
# mas o sistema indica que o caminho de binários é $\"$INSTDIR$\"."
|
||||
|
||||
#LangString str_msg_vim_running ${LANG_PORTUGUESEBR} \
|
||||
# "Vim ainda está em execução em seu sistema.$\r$\n\
|
||||
# Por favor, feche todas as instâncias do Vim para poder continuar."
|
||||
|
||||
#LangString str_msg_register_ole ${LANG_PORTUGUESEBR} \
|
||||
# "Tentativa de registrar o Vim com OLE. \
|
||||
# Não há mensagem que indique se isso funciona ou não."
|
||||
|
||||
#LangString str_msg_unreg_ole ${LANG_PORTUGUESEBR} \
|
||||
# "Tentando desregistrar o Vim com OLE. \
|
||||
# Não há mensagem que indique se isso funciona ou não."
|
||||
|
||||
#LangString str_msg_rm_start ${LANG_PORTUGUESEBR} \
|
||||
# "Desinstalando a seguinte versão:"
|
||||
|
||||
#LangString str_msg_rm_fail ${LANG_PORTUGUESEBR} \
|
||||
# "Falha ao desinstalar a seguinte versão:"
|
||||
|
||||
#LangString str_msg_no_rm_key ${LANG_PORTUGUESEBR} \
|
||||
# "Não foi possível encontrar a chave de registro do desinstalador."
|
||||
|
||||
#LangString str_msg_no_rm_reg ${LANG_PORTUGUESEBR} \
|
||||
# "Não foi possível encontrar o desinstalador a partir do registro."
|
||||
|
||||
#LangString str_msg_no_rm_exe ${LANG_PORTUGUESEBR} \
|
||||
# "Não foi possível acessar o desinstalador."
|
||||
|
||||
#LangString str_msg_rm_copy_fail ${LANG_PORTUGUESEBR} \
|
||||
# "Falha ao copiar o desinstalador para um diretório temporário."
|
||||
|
||||
#LangString str_msg_rm_run_fail ${LANG_PORTUGUESEBR} \
|
||||
# "Falha ao executar o desinstalador."
|
||||
|
||||
#LangString str_msg_abort_install ${LANG_PORTUGUESEBR} \
|
||||
# "Instalador será interrompido."
|
||||
|
||||
LangString str_msg_install_fail ${LANG_PORTUGUESEBR} \
|
||||
"A instalação falhou. Mais sorte na próxima vez."
|
||||
|
||||
LangString str_msg_rm_exe_fail ${LANG_PORTUGUESEBR} \
|
||||
"Alguns arquivos em $0 não foram excluídos!$\r$\n\
|
||||
Você deve fazê-lo manualmente."
|
||||
|
||||
#LangString str_msg_rm_root_fail ${LANG_PORTUGUESEBR} \
|
||||
# "AVISO: Não foi possível remover $\"$vim_install_root$\", \
|
||||
# pois não está vazio!"
|
||||
|
||||
LangString str_msg_uninstalling ${LANG_PORTUGUESEBR} \
|
||||
"Desinstalando a versão antiga..."
|
||||
|
||||
LangString str_msg_registering ${LANG_PORTUGUESEBR} \
|
||||
"Registrando..."
|
||||
|
||||
LangString str_msg_unregistering ${LANG_PORTUGUESEBR} \
|
||||
"Desregistrando..."
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Dialog Box {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString str_vimrc_page_title ${LANG_PORTUGUESEBR} \
|
||||
"Escolher configurações do _vimrc"
|
||||
LangString str_vimrc_page_subtitle ${LANG_PORTUGUESEBR} \
|
||||
"Escolha as configurações para melhorias, teclado e mouse."
|
||||
|
||||
LangString str_msg_compat_title ${LANG_PORTUGUESEBR} \
|
||||
" Comportamento Vi / Vim "
|
||||
LangString str_msg_compat_desc ${LANG_PORTUGUESEBR} \
|
||||
"&Compatibilidade e melhorias"
|
||||
LangString str_msg_compat_vi ${LANG_PORTUGUESEBR} \
|
||||
"Compatível com Vi"
|
||||
LangString str_msg_compat_vim ${LANG_PORTUGUESEBR} \
|
||||
"Vim original"
|
||||
LangString str_msg_compat_defaults ${LANG_PORTUGUESEBR} \
|
||||
"Vim com algumas melhorias (carrega defaults.vim)"
|
||||
LangString str_msg_compat_all ${LANG_PORTUGUESEBR} \
|
||||
"Vim com todas as melhorias (carrega vimrc_example.vim) (Padrão)"
|
||||
|
||||
LangString str_msg_keymap_title ${LANG_PORTUGUESEBR} \
|
||||
" Mapeamentos "
|
||||
LangString str_msg_keymap_desc ${LANG_PORTUGUESEBR} \
|
||||
"&Remapear algumas teclas para o Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
|
||||
LangString str_msg_keymap_default ${LANG_PORTUGUESEBR} \
|
||||
"Não remapear teclas (Padrão)"
|
||||
LangString str_msg_keymap_windows ${LANG_PORTUGUESEBR} \
|
||||
"Remapear algumas teclas"
|
||||
|
||||
LangString str_msg_mouse_title ${LANG_PORTUGUESEBR} \
|
||||
" Mouse "
|
||||
LangString str_msg_mouse_desc ${LANG_PORTUGUESEBR} \
|
||||
"&Comportamento de botões direito e esquerdo"
|
||||
LangString str_msg_mouse_default ${LANG_PORTUGUESEBR} \
|
||||
"Direito: menu popup, Esquerdo: modo visual (Padrão)"
|
||||
LangString str_msg_mouse_windows ${LANG_PORTUGUESEBR} \
|
||||
"Direito: menu popup, Esquerdo: modo de seleção (Windows)"
|
||||
LangString str_msg_mouse_unix ${LANG_PORTUGUESEBR} \
|
||||
"Direito: estende seleção, Esquerdo: modo visual (Unix)"
|
||||
@@ -21,13 +21,13 @@ LangString ^UninstallCaption ${LANG_RUSSIAN} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file ${LANG_RUSSIAN} "${VIMRT}\doc\uganda.nsis.rux"
|
||||
LicenseLangString page_lic_file ${LANG_RUSSIAN} "..\lang\LICENSE.ru.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file ${LANG_RUSSIAN} "README.rux.txt"
|
||||
LangString vim_readme_file ${LANG_RUSSIAN} "README.ru.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
@@ -21,15 +21,15 @@ LangString ^UninstallCaption ${LANG_SERBIAN} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_SERBIAN} "${VIMRT}\doc\uganda.nsis.srx"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_SERBIAN} "..\lang\LICENSE.sr.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_SERBIAN} "README.srx.txt"
|
||||
#LangString vim_readme_file ${LANG_SERBIAN} "README.sr.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
@@ -22,16 +22,16 @@ LangString ^UninstallCaption ${LANG_SIMPCHINESE} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_SIMPCHINESE} \
|
||||
# "${VIMRT}\doc\uganda.nsis.cnx"
|
||||
# "..\lang\LICENSE.zh_cn.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_SIMPCHINESE} "README.cnx.txt"
|
||||
#LangString vim_readme_file ${LANG_SIMPCHINESE} "README.zh_cn.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
@@ -22,16 +22,16 @@ LangString ^UninstallCaption ${LANG_TRADCHINESE} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_TRADCHINESE} \
|
||||
# "${VIMRT}\doc\uganda.nsis.twx"
|
||||
# "..\lang\LICENSE.zh_tw.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_TRADCHINESE} "README.twx.txt"
|
||||
#LangString vim_readme_file ${LANG_TRADCHINESE} "README.zh_tw.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
@@ -20,15 +20,15 @@ LangString ^UninstallCaption ${LANG_TURKISH} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_TURKISH} "${VIMRT}\doc\uganda.nsis.trx"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_TURKISH} "..\lang\LICENSE.tr.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_TURKISH} "README.trx.txt"
|
||||
#LangString vim_readme_file ${LANG_TURKISH} "README.tr.txt"
|
||||
|
||||
##############################################################################
|
||||
|
||||
|
||||
23
runtime/autoload/dist/ft.vim
vendored
23
runtime/autoload/dist/ft.vim
vendored
@@ -3,7 +3,7 @@ vim9script
|
||||
# Vim functions for file type detection
|
||||
#
|
||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
# Last Change: 2024 May 23
|
||||
# Last Change: 2025 Jan 25
|
||||
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
# These functions are moved here from runtime/filetype.vim to make startup
|
||||
@@ -32,6 +32,10 @@ enddef
|
||||
# This function checks for the kind of assembly that is wanted by the user, or
|
||||
# can be detected from the first five lines of the file.
|
||||
export def FTasm()
|
||||
# tiasm uses `* commment`
|
||||
if join(getline(1, 10), "\n") =~ '\%(\%(^\|\n\)\*\|Texas Instruments Incorporated\)'
|
||||
setf tiasm
|
||||
endif
|
||||
# make sure b:asmsyntax exists
|
||||
if !exists("b:asmsyntax")
|
||||
b:asmsyntax = ""
|
||||
@@ -433,7 +437,7 @@ export def FThtml()
|
||||
|
||||
while n < 40 && n <= line("$")
|
||||
# Check for Angular
|
||||
if getline(n) =~ '@\(if\|for\|defer\|switch\)\|\*\(ngIf\|ngFor\|ngSwitch\|ngTemplateOutlet\)\|ng-template\|ng-content\|{{.*}}'
|
||||
if getline(n) =~ '@\(if\|for\|defer\|switch\)\|\*\(ngIf\|ngFor\|ngSwitch\|ngTemplateOutlet\)\|ng-template\|ng-content'
|
||||
setf htmlangular
|
||||
return
|
||||
endif
|
||||
@@ -1002,6 +1006,14 @@ export def SQL()
|
||||
endif
|
||||
enddef
|
||||
|
||||
export def FTsa()
|
||||
if join(getline(1, 4), "\n") =~# '\%(^\|\n\);'
|
||||
setf tiasm
|
||||
return
|
||||
endif
|
||||
setf sather
|
||||
enddef
|
||||
|
||||
# This function checks the first 25 lines of file extension "sc" to resolve
|
||||
# detection between scala and SuperCollider.
|
||||
# NOTE: We don't check for 'Class : Method', as this can easily be confused
|
||||
@@ -1372,7 +1384,7 @@ export def FTdsp()
|
||||
setf faust
|
||||
enddef
|
||||
|
||||
# Set the filetype of a *.v file to Verilog, V or Cog based on the first 200
|
||||
# Set the filetype of a *.v file to Verilog, V or Cog based on the first 500
|
||||
# lines.
|
||||
export def FTv()
|
||||
if did_filetype()
|
||||
@@ -1385,7 +1397,7 @@ export def FTv()
|
||||
endif
|
||||
|
||||
var in_comment = 0
|
||||
for lnum in range(1, min([line("$"), 200]))
|
||||
for lnum in range(1, min([line("$"), 500]))
|
||||
var line = getline(lnum)
|
||||
# Skip Verilog and V comments (lines and blocks).
|
||||
if line =~ '^\s*/\*'
|
||||
@@ -1417,7 +1429,8 @@ export def FTv()
|
||||
# Verilog: line ends with ';' followed by an optional variable number of
|
||||
# spaces and an optional start of a comment.
|
||||
# Example: " b <= a + 1; // Add 1".
|
||||
if line =~ ';\s*\(/[/*].*\)\?$'
|
||||
# Alternatively: a module is defined: " module MyModule ( input )"
|
||||
if line =~ ';\s*\(/[/*].*\)\?$' || line =~ '\C^\s*module\s\+\w\+\s*('
|
||||
setf verilog
|
||||
return
|
||||
endif
|
||||
|
||||
90
runtime/autoload/dist/man.vim
vendored
90
runtime/autoload/dist/man.vim
vendored
@@ -5,6 +5,8 @@
|
||||
" Autoload Split: Bram Moolenaar
|
||||
" Last Change: 2024 Jan 17 (make it work on AIX, see #13847)
|
||||
" 2024 Jul 06 (honor command modifiers, #15117)
|
||||
" 2025 Mar 05 (add :keepjumps, #16791)
|
||||
" 2025 Mar 09 (improve :Man completion for man-db, #16843)
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
@@ -34,6 +36,88 @@ endtry
|
||||
|
||||
unlet! uname_s
|
||||
|
||||
let s:man_db_pages_by_section = v:null
|
||||
func! s:ManDbPagesBySection() abort
|
||||
if s:man_db_pages_by_section isnot v:null
|
||||
return s:man_db_pages_by_section
|
||||
endif
|
||||
let s:man_db_pages_by_section = {}
|
||||
let list_command = 'apropos --long .'
|
||||
let unparsed_lines = []
|
||||
for line in systemlist(list_command)
|
||||
" Typical lines:
|
||||
" vim (1) - Vi IMproved, a programmer's text editor
|
||||
"
|
||||
" Unusual lines:
|
||||
" pgm_read_ T _ (3avr) - (unknown subject)
|
||||
"
|
||||
" Code that shows the line's format:
|
||||
" https://gitlab.com/man-db/man-db/-/blob/2607d203472efb036d888e9e7997724a41a53876/src/whatis.c#L409
|
||||
let match = matchlist(line, '^\(.\{-1,}\) (\(\S\+\)) ')
|
||||
if empty(match)
|
||||
call add(unparsed_lines, line)
|
||||
continue
|
||||
endif
|
||||
let [page, section] = match[1:2]
|
||||
if !has_key(s:man_db_pages_by_section, section)
|
||||
let s:man_db_pages_by_section[section] = []
|
||||
endif
|
||||
call add(s:man_db_pages_by_section[section], page)
|
||||
endfor
|
||||
if !empty(unparsed_lines)
|
||||
echomsg 'Unable to parse ' .. string(len(unparsed_lines)) .. ' lines ' ..
|
||||
\ 'from the output of `' .. list_command .. '`. Example lines:'
|
||||
for line in unparsed_lines[:9]
|
||||
echomsg line
|
||||
endfor
|
||||
endif
|
||||
return s:man_db_pages_by_section
|
||||
endfunc
|
||||
|
||||
func! dist#man#Reload() abort
|
||||
if g:ft_man_implementation ==# 'man-db'
|
||||
let s:man_db_pages_by_section = v:null
|
||||
call s:ManDbPagesBySection()
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func! s:StartsWithCaseInsensitive(haystack, needle) abort
|
||||
if empty(a:needle)
|
||||
return v:true
|
||||
endif
|
||||
return a:haystack[:len(a:needle)-1] ==? a:needle
|
||||
endfunc
|
||||
|
||||
func! dist#man#ManDbComplete(arg_lead, cmd_line, cursor_pos) abort
|
||||
let args = split(trim(a:cmd_line[: a:cursor_pos - 1], '', 1), '', v:true)
|
||||
let pages_by_section = s:ManDbPagesBySection()
|
||||
if len(args) > 2
|
||||
" Page in the section args[1]. At least on Debian testing as of
|
||||
" 2025-03-06, man seems to match sections case-insensitively and match any
|
||||
" prefix of the section. E.g., `man 3 sigprocmask` and `man 3PoSi
|
||||
" sigprocmask` with both load sigprocmask(3posix) even though the 3 in the
|
||||
" first command is also the name of a different section.
|
||||
let results = []
|
||||
for [section, pages] in items(pages_by_section)
|
||||
if s:StartsWithCaseInsensitive(section, args[1])
|
||||
call extend(results, pages)
|
||||
endif
|
||||
endfor
|
||||
else
|
||||
" Could be a section, or a page in any section. Add space after sections
|
||||
" since there has to be a second argument in that case.
|
||||
let results = flattennew(values(pages_by_section), 1)
|
||||
for section in keys(pages_by_section)
|
||||
call add(results, section .. ' ')
|
||||
endfor
|
||||
endif
|
||||
call sort(results)
|
||||
call uniq(results)
|
||||
call filter(results,
|
||||
\ {_, val -> s:StartsWithCaseInsensitive(val, a:arg_lead)})
|
||||
return results
|
||||
endfunc
|
||||
|
||||
func s:ParseIntoPageAndSection()
|
||||
" Accommodate a reference that terminates in a hyphen.
|
||||
"
|
||||
@@ -188,7 +272,7 @@ func dist#man#GetPage(cmdmods, ...)
|
||||
setl buftype=nofile noswapfile
|
||||
|
||||
setl fdc=0 ma nofen nonu nornu
|
||||
%delete _
|
||||
keepjumps %delete _
|
||||
let unsetwidth = 0
|
||||
if empty($MANWIDTH)
|
||||
let $MANWIDTH = winwidth(0)
|
||||
@@ -218,10 +302,10 @@ func dist#man#GetPage(cmdmods, ...)
|
||||
endif
|
||||
" Remove blank lines from top and bottom.
|
||||
while line('$') > 1 && getline(1) =~ '^\s*$'
|
||||
1delete _
|
||||
keepjumps 1delete _
|
||||
endwhile
|
||||
while line('$') > 1 && getline('$') =~ '^\s*$'
|
||||
$delete _
|
||||
keepjumps $delete _
|
||||
endwhile
|
||||
1
|
||||
setl ft=man nomod
|
||||
|
||||
5
runtime/autoload/dist/script.vim
vendored
5
runtime/autoload/dist/script.vim
vendored
@@ -4,7 +4,7 @@ vim9script
|
||||
# Invoked from "scripts.vim" in 'runtimepath'
|
||||
#
|
||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
# Last Change: 2023 Aug 10
|
||||
# Last Change: 2025 Jan 20
|
||||
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
export def DetectFiletype()
|
||||
@@ -133,6 +133,9 @@ export def Exe2filetype(name: string, line1: string): string
|
||||
elseif name =~ 'node\(js\)\=\>\|js\>' || name =~ 'rhino\>'
|
||||
return 'javascript'
|
||||
|
||||
elseif name =~# 'just'
|
||||
return 'just'
|
||||
|
||||
# BC calculator
|
||||
elseif name =~ '^bc\>'
|
||||
return 'bc'
|
||||
|
||||
128
runtime/autoload/dist/vim9.vim
vendored
128
runtime/autoload/dist/vim9.vim
vendored
@@ -2,19 +2,129 @@ vim9script
|
||||
|
||||
# Vim runtime support library
|
||||
#
|
||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
# Last Change: 2023 Oct 25
|
||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
# Last Change: 2025 Jan 29
|
||||
|
||||
export def IsSafeExecutable(filetype: string, executable: string): bool
|
||||
if empty(exepath(executable))
|
||||
return v:false
|
||||
if empty(exepath(executable))
|
||||
return v:false
|
||||
endif
|
||||
var cwd = getcwd()
|
||||
return get(g:, filetype .. '_exec', get(g:, 'plugin_exec', 0))
|
||||
&& (fnamemodify(exepath(executable), ':p:h') !=# cwd
|
||||
|| (split($PATH, has('win32') ? ';' : ':')->index(cwd) != -1
|
||||
&& cwd != '.'))
|
||||
enddef
|
||||
|
||||
def Redir(): string
|
||||
if get(g:, 'netrw_suppress_gx_mesg', true)
|
||||
if &srr =~# "%s"
|
||||
return printf(&srr, has("win32") ? "nul" : "/dev/null")
|
||||
elseif &srr =~# '>&\?$'
|
||||
return &srr .. (has("win32") ? "nul" : "/dev/null")
|
||||
else
|
||||
return &srr .. (has("win32") ? "> nul" : "> /dev/null")
|
||||
endif
|
||||
var cwd = getcwd()
|
||||
return get(g:, filetype .. '_exec', get(g:, 'plugin_exec', 0))
|
||||
&& (fnamemodify(exepath(executable), ':p:h') !=# cwd
|
||||
|| (split($PATH, has('win32') ? ';' : ':')->index(cwd) != -1
|
||||
&& cwd != '.'))
|
||||
endif
|
||||
return ''
|
||||
enddef
|
||||
|
||||
if has('unix')
|
||||
if has('win32unix')
|
||||
# Cygwin provides cygstart
|
||||
if executable('cygstart')
|
||||
export def Launch(args: string)
|
||||
execute $'silent ! cygstart --hide {args} {Redir()}' | redraw!
|
||||
enddef
|
||||
elseif !empty($MSYSTEM) && executable('start')
|
||||
# MSYS2/Git Bash comes by default without cygstart; see
|
||||
# https://www.msys2.org/wiki/How-does-MSYS2-differ-from-Cygwin
|
||||
# Instead it provides /usr/bin/start script running `cmd.exe //c start`
|
||||
# Adding "" //b` sets void title, hides cmd window and blocks path conversion
|
||||
# of /b to \b\ " by MSYS2; see https://www.msys2.org/docs/filesystem-paths/
|
||||
export def Launch(args: string)
|
||||
execute $'silent !start "" //b {args} {Redir()}' | redraw!
|
||||
enddef
|
||||
else
|
||||
# imitate /usr/bin/start script for other environments and hope for the best
|
||||
export def Launch(args: string)
|
||||
execute $'silent !cmd /c start "" /b {args} {Redir()}' | redraw!
|
||||
enddef
|
||||
endif
|
||||
elseif exists('$WSL_DISTRO_NAME') # use cmd.exe to start GUI apps in WSL
|
||||
export def Launch(args: string)
|
||||
const command = (args =~? '\v<\f+\.(exe|com|bat|cmd)>')
|
||||
? $'cmd.exe /c start /b {args} {Redir()}'
|
||||
: $'nohup {args} {Redir()} &'
|
||||
execute $'silent ! {command}' | redraw!
|
||||
enddef
|
||||
else
|
||||
export def Launch(args: string)
|
||||
const fork = has('gui_running') ? '' : '&'
|
||||
execute $':silent ! nohup {args} {Redir()} {fork}' | redraw!
|
||||
enddef
|
||||
endif
|
||||
elseif has('win32')
|
||||
export def Launch(args: string)
|
||||
const shell = (&shell =~? '\<cmd\.exe\>') ? '' : 'cmd.exe /c'
|
||||
const quotes = empty(shell) ? '' : '""'
|
||||
execute $'silent ! {shell} start {quotes} /b {args} {Redir()}' | redraw!
|
||||
enddef
|
||||
else
|
||||
export def Launch(dummy: string)
|
||||
echom 'No common launcher found'
|
||||
enddef
|
||||
endif
|
||||
|
||||
var os_viewer = null_string
|
||||
# Git Bash
|
||||
if has('win32unix')
|
||||
# (cyg)start suffices
|
||||
os_viewer = ''
|
||||
# Windows / WSL
|
||||
elseif executable('explorer.exe')
|
||||
os_viewer = 'explorer.exe'
|
||||
# Linux / BSD
|
||||
elseif executable('xdg-open')
|
||||
os_viewer = 'xdg-open'
|
||||
# MacOS
|
||||
elseif executable('open')
|
||||
os_viewer = 'open'
|
||||
endif
|
||||
|
||||
def Viewer(): string
|
||||
# g:Openprg could be a string of program + its arguments, test if first
|
||||
# argument is executable
|
||||
var user_viewer = get(g:, "Openprg", get(g:, "netrw_browsex_viewer", ""))
|
||||
|
||||
# Take care of an off-by-one check for "for" too
|
||||
if executable(trim(user_viewer))
|
||||
return user_viewer
|
||||
endif
|
||||
|
||||
var args = split(user_viewer, '\s\+\zs')
|
||||
var viewer = get(args, 0, '')
|
||||
|
||||
for arg in args[1 :]
|
||||
if executable(trim(viewer))
|
||||
return user_viewer
|
||||
endif
|
||||
|
||||
viewer ..= arg
|
||||
endfor
|
||||
|
||||
if os_viewer == null
|
||||
echoerr "No program to open this path found. See :help Open for more information."
|
||||
endif
|
||||
|
||||
return os_viewer
|
||||
enddef
|
||||
|
||||
export def Open(file: string)
|
||||
Launch($"{Viewer()} {shellescape(file, 1)}")
|
||||
enddef
|
||||
|
||||
# Uncomment this line to check for compilation errors early
|
||||
# defcompile
|
||||
|
||||
# vim: ts=8 sts=2 sw=2 et
|
||||
|
||||
21
runtime/autoload/dist/vimindent.vim
vendored
21
runtime/autoload/dist/vimindent.vim
vendored
@@ -2,11 +2,12 @@ vim9script
|
||||
|
||||
# Language: Vim script
|
||||
# Maintainer: github user lacygoill
|
||||
# Last Change: 2024 Nov 08
|
||||
# Last Change: 2024 Dec 26
|
||||
#
|
||||
# Includes changes from The Vim Project:
|
||||
# - 2024 Feb 09: Fix indent after literal Dict (A. Radev via #13966)
|
||||
# - 2024 Nov 08: Fix indent after :silent! function (D. Kearns via #16009)
|
||||
# - 2024 Dec 26: Fix indent for enums (Jim Zhou via #16293)
|
||||
|
||||
# NOTE: Whenever you change the code, make sure the tests are still passing:
|
||||
#
|
||||
@@ -172,6 +173,7 @@ const MODIFIERS: dict<string> = {
|
||||
def: ['export', 'static'],
|
||||
class: ['export', 'abstract', 'export abstract'],
|
||||
interface: ['export'],
|
||||
enum: ['export'],
|
||||
}
|
||||
# ...
|
||||
# class: ['export', 'abstract', 'export abstract'],
|
||||
@@ -634,6 +636,7 @@ def Offset( # {{{2
|
||||
elseif !line_A.isfirst
|
||||
&& (line_B->EndsWithLineContinuation()
|
||||
|| line_A.text =~ LINE_CONTINUATION_AT_SOL)
|
||||
&& !(line_B->EndsWithComma() && line_A.lnum->IsInside('EnumBlock'))
|
||||
return shiftwidth()
|
||||
endif
|
||||
|
||||
@@ -1051,6 +1054,22 @@ def ContinuesBelowBracketBlock( # {{{3
|
||||
enddef
|
||||
|
||||
def IsInside(lnum: number, syntax: string): bool # {{{3
|
||||
if syntax == 'EnumBlock'
|
||||
var cur_pos = getpos('.')
|
||||
cursor(lnum, 1)
|
||||
var enum_pos = search('^\C\s*\%(export\s\)\=\s*enum\s\+\S\+', 'bnW')
|
||||
var endenum_pos = search('^\C\s*endenum\>', 'bnW')
|
||||
setpos('.', cur_pos)
|
||||
|
||||
if enum_pos == 0 && endenum_pos == 0
|
||||
return false
|
||||
endif
|
||||
if (enum_pos > 0 && (endenum_pos == 0 || enum_pos > endenum_pos))
|
||||
return true
|
||||
endif
|
||||
return false
|
||||
endif
|
||||
|
||||
if !exists('b:vimindent')
|
||||
|| !b:vimindent->has_key($'is_{syntax}')
|
||||
return false
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
" autoloading search path fix
|
||||
" substitution of hardcoded commands with global variables
|
||||
" 2024 Nov 12 by Vim Project: fix problems on Windows (#16036)
|
||||
" 2025 Feb 28 by Vim Project: add support for bzip3 (#16755)
|
||||
" }}}
|
||||
"
|
||||
" GetLatestVimScripts: 642 1 :AutoInstall: getscript.vim
|
||||
@@ -100,6 +101,10 @@ if !exists("g:GetLatestVimScripts_bunzip2")
|
||||
let g:GetLatestVimScripts_bunzip2= "bunzip2"
|
||||
endif
|
||||
|
||||
if !exists("g:GetLatestVimScripts_bunzip3")
|
||||
let g:GetLatestVimScripts_bunzip3= "bunzip3"
|
||||
endif
|
||||
|
||||
if !exists("g:GetLatestVimScripts_gunzip")
|
||||
let g:GetLatestVimScripts_gunzip= "gunzip"
|
||||
endif
|
||||
@@ -565,73 +570,55 @@ fun! s:GetOneScript(...)
|
||||
" --------------------------------------------------------------------------
|
||||
" call Decho("checking if plugin requested autoinstall: doautoinstall=".doautoinstall)
|
||||
if doautoinstall
|
||||
" call Decho(" ")
|
||||
" call Decho("Autoinstall: getcwd<".getcwd()."> filereadable(".sname.")=".filereadable(sname))
|
||||
if filereadable(sname)
|
||||
" call Decho("<".sname."> is readable")
|
||||
" call Decho("exe silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall))
|
||||
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall)
|
||||
let curdir = fnameescape(substitute(getcwd(),'\','/','ge'))
|
||||
let installdir= curdir."/Installed"
|
||||
if !isdirectory(installdir)
|
||||
call mkdir(installdir)
|
||||
endif
|
||||
" call Decho("curdir<".curdir."> installdir<".installdir.">")
|
||||
" call Decho("exe cd ".fnameescape(s:autoinstall))
|
||||
exe "cd ".fnameescape(s:autoinstall)
|
||||
|
||||
" determine target directory for moves
|
||||
let firstdir= substitute(&rtp,',.*$','','')
|
||||
let pname = substitute(sname,'\..*','.vim','')
|
||||
" call Decho("determine tgtdir: is <".firstdir.'/AsNeeded/'.pname." readable?")
|
||||
if filereadable(firstdir.'/AsNeeded/'.pname)
|
||||
let tgtdir= "AsNeeded"
|
||||
else
|
||||
let tgtdir= "plugin"
|
||||
endif
|
||||
" call Decho("tgtdir<".tgtdir."> pname<".pname.">")
|
||||
|
||||
|
||||
" decompress
|
||||
if sname =~ '\.bz2$'
|
||||
" call Decho("decompress: attempt to bunzip2 ".sname)
|
||||
exe "sil !".g:GetLatestVimScripts_bunzip2." ".shellescape(sname)
|
||||
let sname= substitute(sname,'\.bz2$','','')
|
||||
" call Decho("decompress: new sname<".sname."> after bunzip2")
|
||||
elseif sname =~ '\.bz3$'
|
||||
exe "sil !".g:GetLatestVimScripts_bunzip3." ".shellescape(sname)
|
||||
let sname= substitute(sname,'\.bz3$','','')
|
||||
elseif sname =~ '\.gz$'
|
||||
" call Decho("decompress: attempt to gunzip ".sname)
|
||||
exe "sil !".g:GetLatestVimScripts_gunzip." ".shellescape(sname)
|
||||
let sname= substitute(sname,'\.gz$','','')
|
||||
" call Decho("decompress: new sname<".sname."> after gunzip")
|
||||
elseif sname =~ '\.xz$'
|
||||
" call Decho("decompress: attempt to unxz ".sname)
|
||||
exe "sil !".g:GetLatestVimScripts_unxz." ".shellescape(sname)
|
||||
let sname= substitute(sname,'\.xz$','','')
|
||||
" call Decho("decompress: new sname<".sname."> after unxz")
|
||||
else
|
||||
" call Decho("no decompression needed")
|
||||
endif
|
||||
|
||||
|
||||
" distribute archive(.zip, .tar, .vba, .vmb, ...) contents
|
||||
if sname =~ '\.zip$'
|
||||
" call Decho("dearchive: attempt to unzip ".sname)
|
||||
exe "silent !".g:GetLatestVimScripts_unzip." -o ".shellescape(sname)
|
||||
elseif sname =~ '\.tar$'
|
||||
" call Decho("dearchive: attempt to untar ".sname)
|
||||
exe "silent !tar -xvf ".shellescape(sname)
|
||||
elseif sname =~ '\.tgz$'
|
||||
" call Decho("dearchive: attempt to untar+gunzip ".sname)
|
||||
exe "silent !tar -zxvf ".shellescape(sname)
|
||||
elseif sname =~ '\.taz$'
|
||||
" call Decho("dearchive: attempt to untar+uncompress ".sname)
|
||||
exe "silent !tar -Zxvf ".shellescape(sname)
|
||||
elseif sname =~ '\.tbz$'
|
||||
" call Decho("dearchive: attempt to untar+bunzip2 ".sname)
|
||||
exe "silent !tar -jxvf ".shellescape(sname)
|
||||
elseif sname =~ '\.txz$'
|
||||
" call Decho("dearchive: attempt to untar+xz ".sname)
|
||||
exe "silent !tar -Jxvf ".shellescape(sname)
|
||||
elseif sname =~ '\.vba$\|\.vmb$'
|
||||
" call Decho("dearchive: attempt to handle a vimball: ".sname)
|
||||
silent 1split
|
||||
if exists("g:vimball_home")
|
||||
let oldvimballhome= g:vimball_home
|
||||
@@ -648,25 +635,21 @@ fun! s:GetOneScript(...)
|
||||
else
|
||||
" call Decho("no dearchiving needed")
|
||||
endif
|
||||
|
||||
|
||||
" ---------------------------------------------
|
||||
" move plugin to plugin/ or AsNeeded/ directory
|
||||
" ---------------------------------------------
|
||||
if sname =~ '.vim$'
|
||||
" call Decho("dearchive: attempt to simply move ".sname." to ".tgtdir)
|
||||
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".tgtdir
|
||||
else
|
||||
" call Decho("dearchive: move <".sname."> to installdir<".installdir.">")
|
||||
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".installdir
|
||||
endif
|
||||
if tgtdir != "plugin"
|
||||
" call Decho("exe silent !".g:GetLatestVimScripts_mv." ".shellescape("plugin/".pname)." ".tgtdir)
|
||||
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape("plugin/".pname)." ".tgtdir
|
||||
endif
|
||||
|
||||
|
||||
" helptags step
|
||||
let docdir= substitute(&rtp,',.*','','e')."/doc"
|
||||
" call Decho("helptags: docdir<".docdir.">")
|
||||
exe "helptags ".fnameescape(docdir)
|
||||
exe "cd ".fnameescape(curdir)
|
||||
endif
|
||||
@@ -681,13 +664,8 @@ fun! s:GetOneScript(...)
|
||||
|
||||
" update the data in the <GetLatestVimScripts.dat> file
|
||||
call setline(line("."),modline)
|
||||
" call Decho("update data in ".expand("%")."#".line(".").": modline<".modline.">")
|
||||
" else " Decho
|
||||
" call Decho("[latestsrcid=".latestsrcid."] <= [srcid=".srcid."], no need to update")
|
||||
endif
|
||||
|
||||
" call Dredir("BUFFER TEST (GetOneScript)","ls!")
|
||||
" call Dret("GetOneScript")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,249 +0,0 @@
|
||||
" netrwSettings.vim: makes netrw settings simpler
|
||||
" Date: Nov 15, 2021
|
||||
" Maintainer: This runtime file is looking for a new maintainer.
|
||||
" Former Maintainer: Charles E Campbell
|
||||
" Version: 18
|
||||
" Last Change:
|
||||
" 2024 May 08 by Vim Project: cleanup legacy Win9X checks
|
||||
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
" netrwSettings.vim is provided *as is* and comes with no
|
||||
" warranty of any kind, either expressed or implied. By using
|
||||
" this plugin, you agree that in no event will the copyright
|
||||
" holder be liable for any damages resulting from the use
|
||||
" of this software.
|
||||
"
|
||||
" Mat 4:23 (WEB) Jesus went about in all Galilee, teaching in their {{{1
|
||||
" synagogues, preaching the gospel of the kingdom, and healing
|
||||
" every disease and every sickness among the people.
|
||||
" Load Once: {{{1
|
||||
if exists("g:loaded_netrwSettings") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwSettings = "v18"
|
||||
if v:version < 700
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrwSettings needs vim 7.0"
|
||||
echohl Normal
|
||||
finish
|
||||
endif
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwSettings: {{{1
|
||||
fun! netrwSettings#NetrwSettings()
|
||||
" this call is here largely just to insure that netrw has been loaded
|
||||
call netrw#WinPath("")
|
||||
if !exists("g:loaded_netrw")
|
||||
echohl WarningMsg | echomsg "***sorry*** netrw needs to be loaded prior to using NetrwSettings" | echohl None
|
||||
return
|
||||
endif
|
||||
|
||||
above wincmd s
|
||||
enew
|
||||
setlocal noswapfile bh=wipe
|
||||
set ft=vim
|
||||
file Netrw\ Settings
|
||||
|
||||
" these variables have the following default effects when they don't
|
||||
" exist (ie. have not been set by the user in his/her .vimrc)
|
||||
if !exists("g:netrw_liststyle")
|
||||
let g:netrw_liststyle= 0
|
||||
let g:netrw_list_cmd= "ssh HOSTNAME ls -FLa"
|
||||
endif
|
||||
if !exists("g:netrw_silent")
|
||||
let g:netrw_silent= 0
|
||||
endif
|
||||
if !exists("g:netrw_use_nt_rcp")
|
||||
let g:netrw_use_nt_rcp= 0
|
||||
endif
|
||||
if !exists("g:netrw_ftp")
|
||||
let g:netrw_ftp= 0
|
||||
endif
|
||||
if !exists("g:netrw_ignorenetrc")
|
||||
let g:netrw_ignorenetrc= 0
|
||||
endif
|
||||
|
||||
put ='+ ---------------------------------------------'
|
||||
put ='+ NetrwSettings: by Charles E. Campbell'
|
||||
put ='+ Press <F1> with cursor atop any line for help'
|
||||
put ='+ ---------------------------------------------'
|
||||
let s:netrw_settings_stop= line(".")
|
||||
|
||||
put =''
|
||||
put ='+ Netrw Protocol Commands'
|
||||
put = 'let g:netrw_dav_cmd = '.g:netrw_dav_cmd
|
||||
put = 'let g:netrw_fetch_cmd = '.g:netrw_fetch_cmd
|
||||
put = 'let g:netrw_ftp_cmd = '.g:netrw_ftp_cmd
|
||||
put = 'let g:netrw_http_cmd = '.g:netrw_http_cmd
|
||||
put = 'let g:netrw_rcp_cmd = '.g:netrw_rcp_cmd
|
||||
put = 'let g:netrw_rsync_cmd = '.g:netrw_rsync_cmd
|
||||
put = 'let g:netrw_scp_cmd = '.g:netrw_scp_cmd
|
||||
put = 'let g:netrw_sftp_cmd = '.g:netrw_sftp_cmd
|
||||
put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
|
||||
let s:netrw_protocol_stop= line(".")
|
||||
put = ''
|
||||
|
||||
put ='+Netrw Transfer Control'
|
||||
put = 'let g:netrw_cygwin = '.g:netrw_cygwin
|
||||
put = 'let g:netrw_ftp = '.g:netrw_ftp
|
||||
put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode
|
||||
put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc
|
||||
put = 'let g:netrw_sshport = '.g:netrw_sshport
|
||||
put = 'let g:netrw_silent = '.g:netrw_silent
|
||||
put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp
|
||||
let s:netrw_xfer_stop= line(".")
|
||||
put =''
|
||||
put ='+ Netrw Messages'
|
||||
put ='let g:netrw_use_errorwindow = '.g:netrw_use_errorwindow
|
||||
|
||||
put = ''
|
||||
put ='+ Netrw Browser Control'
|
||||
if exists("g:netrw_altfile")
|
||||
put = 'let g:netrw_altfile = '.g:netrw_altfile
|
||||
else
|
||||
put = 'let g:netrw_altfile = 0'
|
||||
endif
|
||||
put = 'let g:netrw_alto = '.g:netrw_alto
|
||||
put = 'let g:netrw_altv = '.g:netrw_altv
|
||||
put = 'let g:netrw_banner = '.g:netrw_banner
|
||||
if exists("g:netrw_bannerbackslash")
|
||||
put = 'let g:netrw_bannerbackslash = '.g:netrw_bannerbackslash
|
||||
else
|
||||
put = '\" let g:netrw_bannerbackslash = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_browse_split = '.g:netrw_browse_split
|
||||
if exists("g:netrw_browsex_viewer")
|
||||
put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
|
||||
else
|
||||
put = '\" let g:netrw_browsex_viewer = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_compress = '.g:netrw_compress
|
||||
if exists("g:Netrw_corehandler")
|
||||
put = 'let g:Netrw_corehandler = '.g:Netrw_corehandler
|
||||
else
|
||||
put = '\" let g:Netrw_corehandler = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_ctags = '.g:netrw_ctags
|
||||
put = 'let g:netrw_cursor = '.g:netrw_cursor
|
||||
let decompressline= line("$")
|
||||
put = 'let g:netrw_decompress = '.string(g:netrw_decompress)
|
||||
if exists("g:netrw_dynamic_maxfilenamelen")
|
||||
put = 'let g:netrw_dynamic_maxfilenamelen='.g:netrw_dynamic_maxfilenamelen
|
||||
else
|
||||
put = '\" let g:netrw_dynamic_maxfilenamelen= (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
|
||||
put = 'let g:netrw_errorlvl = '.g:netrw_errorlvl
|
||||
put = 'let g:netrw_fastbrowse = '.g:netrw_fastbrowse
|
||||
let fnameescline= line("$")
|
||||
put = 'let g:netrw_fname_escape = '.string(g:netrw_fname_escape)
|
||||
put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject
|
||||
put = 'let g:netrw_ftp_list_cmd = '.g:netrw_ftp_list_cmd
|
||||
put = 'let g:netrw_ftp_sizelist_cmd = '.g:netrw_ftp_sizelist_cmd
|
||||
put = 'let g:netrw_ftp_timelist_cmd = '.g:netrw_ftp_timelist_cmd
|
||||
let globescline= line("$")
|
||||
put = 'let g:netrw_glob_escape = '.string(g:netrw_glob_escape)
|
||||
put = 'let g:netrw_hide = '.g:netrw_hide
|
||||
if exists("g:netrw_home")
|
||||
put = 'let g:netrw_home = '.g:netrw_home
|
||||
else
|
||||
put = '\" let g:netrw_home = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_keepdir = '.g:netrw_keepdir
|
||||
put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd
|
||||
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
|
||||
put = 'let g:netrw_liststyle = '.g:netrw_liststyle
|
||||
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
|
||||
put = 'let g:netrw_localcopycmdopt = '.g:netrw_localcopycmdopt
|
||||
put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir
|
||||
put = 'let g:netrw_localmkdiropt = '.g:netrw_localmkdiropt
|
||||
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
|
||||
put = 'let g:netrw_localmovecmdopt = '.g:netrw_localmovecmdopt
|
||||
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
|
||||
put = 'let g:netrw_menu = '.g:netrw_menu
|
||||
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps
|
||||
put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd
|
||||
if exists("g:netrw_nobeval")
|
||||
put = 'let g:netrw_nobeval = '.g:netrw_nobeval
|
||||
else
|
||||
put = '\" let g:netrw_nobeval = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_remote_mkdir = '.g:netrw_remote_mkdir
|
||||
put = 'let g:netrw_preview = '.g:netrw_preview
|
||||
put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd
|
||||
put = 'let g:netrw_retmap = '.g:netrw_retmap
|
||||
put = 'let g:netrw_rm_cmd = '.g:netrw_rm_cmd
|
||||
put = 'let g:netrw_rmdir_cmd = '.g:netrw_rmdir_cmd
|
||||
put = 'let g:netrw_rmf_cmd = '.g:netrw_rmf_cmd
|
||||
put = 'let g:netrw_sort_by = '.g:netrw_sort_by
|
||||
put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction
|
||||
put = 'let g:netrw_sort_options = '.g:netrw_sort_options
|
||||
put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence
|
||||
put = 'let g:netrw_servername = '.g:netrw_servername
|
||||
put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax
|
||||
put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
|
||||
put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
|
||||
put = 'let g:netrw_scpport = '.g:netrw_scpport
|
||||
put = 'let g:netrw_sepchr = '.g:netrw_sepchr
|
||||
put = 'let g:netrw_sshport = '.g:netrw_sshport
|
||||
put = 'let g:netrw_timefmt = '.g:netrw_timefmt
|
||||
let tmpfileescline= line("$")
|
||||
put ='let g:netrw_tmpfile_escape...'
|
||||
put = 'let g:netrw_use_noswf = '.g:netrw_use_noswf
|
||||
put = 'let g:netrw_xstrlen = '.g:netrw_xstrlen
|
||||
put = 'let g:netrw_winsize = '.g:netrw_winsize
|
||||
|
||||
put =''
|
||||
put ='+ For help, place cursor on line and press <F1>'
|
||||
|
||||
1d
|
||||
silent %s/^+/"/e
|
||||
res 99
|
||||
silent %s/= \([^0-9].*\)$/= '\1'/e
|
||||
silent %s/= $/= ''/e
|
||||
1
|
||||
|
||||
call setline(decompressline,"let g:netrw_decompress = ".substitute(string(g:netrw_decompress),"^'\\(.*\\)'$",'\1',''))
|
||||
call setline(fnameescline, "let g:netrw_fname_escape = '".escape(g:netrw_fname_escape,"'")."'")
|
||||
call setline(globescline, "let g:netrw_glob_escape = '".escape(g:netrw_glob_escape,"'")."'")
|
||||
call setline(tmpfileescline,"let g:netrw_tmpfile_escape = '".escape(g:netrw_tmpfile_escape,"'")."'")
|
||||
|
||||
set nomod
|
||||
|
||||
nmap <buffer> <silent> <F1> :call NetrwSettingHelp()<cr>
|
||||
nnoremap <buffer> <silent> <leftmouse> <leftmouse>:call NetrwSettingHelp()<cr>
|
||||
let tmpfile= tempname()
|
||||
exe 'au BufWriteCmd Netrw\ Settings silent w! '.tmpfile.'|so '.tmpfile.'|call delete("'.tmpfile.'")|set nomod'
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwSettingHelp: {{{2
|
||||
fun! NetrwSettingHelp()
|
||||
" call Dfunc("NetrwSettingHelp()")
|
||||
let curline = getline(".")
|
||||
if curline =~ '='
|
||||
let varhelp = substitute(curline,'^\s*let ','','e')
|
||||
let varhelp = substitute(varhelp,'\s*=.*$','','e')
|
||||
" call Decho("trying help ".varhelp)
|
||||
try
|
||||
exe "he ".varhelp
|
||||
catch /^Vim\%((\a\+)\)\=:E149/
|
||||
echo "***sorry*** no help available for <".varhelp.">"
|
||||
endtry
|
||||
elseif line(".") < s:netrw_settings_stop
|
||||
he netrw-settings
|
||||
elseif line(".") < s:netrw_protocol_stop
|
||||
he netrw-externapp
|
||||
elseif line(".") < s:netrw_xfer_stop
|
||||
he netrw-variables
|
||||
else
|
||||
he netrw-browse-var
|
||||
endif
|
||||
" call Dret("NetrwSettingHelp")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Modelines: {{{1
|
||||
" vim:ts=8 fdm=marker
|
||||
@@ -1,10 +1,19 @@
|
||||
" tar.vim: Handles browsing tarfiles
|
||||
" AUTOLOAD PORTION
|
||||
" Date: Nov 11, 2024
|
||||
" tar.vim: Handles browsing tarfiles - AUTOLOAD PORTION
|
||||
" Date: Mar 01, 2025
|
||||
" Version: 32b (with modifications from the Vim Project)
|
||||
" Maintainer: This runtime file is looking for a new maintainer.
|
||||
" Former Maintainer: Charles E Campbell
|
||||
" License: Vim License (see vim's :help license)
|
||||
" Last Change:
|
||||
" 2024 Jan 08 by Vim Project: fix a few problems (#138331, #12637, #8109)
|
||||
" 2024 Feb 19 by Vim Project: announce adoption
|
||||
" 2024 Nov 11 by Vim Project: support permissions (#7379)
|
||||
" 2025 Feb 06 by Vim Project: add support for lz4 (#16591)
|
||||
" 2025 Feb 28 by Vim Project: add support for bzip3 (#16755)
|
||||
" 2025 Mar 01 by Vim Project: fix syntax error in tar#Read()
|
||||
" 2025 Mar 02 by Vim Project: escape the filename before using :read
|
||||
" 2025 Mar 02 by Vim Project: determine the compression using readblob()
|
||||
" instead of shelling out to file(1)
|
||||
"
|
||||
" Contains many ideas from Michael Toren's <tar.vim>
|
||||
"
|
||||
@@ -17,7 +26,6 @@
|
||||
" By using this plugin, you agree that in no event will the
|
||||
" copyright holder be liable for any damages resulting from
|
||||
" the use of this software.
|
||||
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
" ---------------------------------------------------------------------
|
||||
" Load Once: {{{1
|
||||
if &cp || exists("g:loaded_tar")
|
||||
@@ -32,8 +40,6 @@ if v:version < 702
|
||||
endif
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
"DechoTabOn
|
||||
"call Decho("loading autoload/tar.vim")
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Default Settings: {{{1
|
||||
@@ -96,7 +102,6 @@ if !exists("g:tar_shq")
|
||||
else
|
||||
let g:tar_shq= "'"
|
||||
endif
|
||||
" call Decho("g:tar_shq<".g:tar_shq.">")
|
||||
endif
|
||||
|
||||
" ----------------
|
||||
@@ -106,29 +111,23 @@ endif
|
||||
" ---------------------------------------------------------------------
|
||||
" tar#Browse: {{{2
|
||||
fun! tar#Browse(tarfile)
|
||||
" call Dfunc("tar#Browse(tarfile<".a:tarfile.">)")
|
||||
let repkeep= &report
|
||||
set report=10
|
||||
|
||||
" sanity checks
|
||||
if !executable(g:tar_cmd)
|
||||
redraw!
|
||||
" call Decho('***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system')
|
||||
echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system'
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Browse")
|
||||
return
|
||||
endif
|
||||
if !filereadable(a:tarfile)
|
||||
" call Decho('a:tarfile<'.a:tarfile.'> not filereadable')
|
||||
if a:tarfile !~# '^\a\+://'
|
||||
" if it's an url, don't complain, let url-handlers such as vim do its thing
|
||||
redraw!
|
||||
" call Decho("***error*** (tar#Browse) File not readable<".a:tarfile.">")
|
||||
echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None
|
||||
endif
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Browse : file<".a:tarfile."> not readable")
|
||||
return
|
||||
endif
|
||||
if &ma != 1
|
||||
@@ -144,7 +143,6 @@ fun! tar#Browse(tarfile)
|
||||
set ft=tar
|
||||
|
||||
" give header
|
||||
" call Decho("printing header")
|
||||
let lastline= line("$")
|
||||
call setline(lastline+1,'" tar.vim version '.g:loaded_tar)
|
||||
call setline(lastline+2,'" Browsing tarfile '.a:tarfile)
|
||||
@@ -161,52 +159,50 @@ fun! tar#Browse(tarfile)
|
||||
let curlast= line("$")
|
||||
|
||||
if tarfile =~# '\.\(gz\)$'
|
||||
" call Decho("1: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
|
||||
elseif tarfile =~# '\.\(tgz\)$' || tarfile =~# '\.\(tbz\)$' || tarfile =~# '\.\(txz\)$' || tarfile =~# '\.\(tzst\)$'
|
||||
if has("unix") && executable("file")
|
||||
let filekind= system("file ".shellescape(tarfile,1))
|
||||
else
|
||||
let filekind= ""
|
||||
endif
|
||||
elseif tarfile =~# '\.\(tgz\)$' || tarfile =~# '\.\(tbz\)$' || tarfile =~# '\.\(txz\)$' ||
|
||||
\ tarfile =~# '\.\(tzst\)$' || tarfile =~# '\.\(tlz4\)$'
|
||||
let header= s:Header(tarfile)
|
||||
|
||||
if filekind =~ "bzip2"
|
||||
if header =~? 'bzip2'
|
||||
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
elseif filekind =~ "XZ"
|
||||
elseif header =~? 'bzip3'
|
||||
exe "sil! r! bzip3 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
elseif header =~? 'xz'
|
||||
exe "sil! r! xz -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
elseif filekind =~ "Zstandard"
|
||||
elseif header =~? 'zstd'
|
||||
exe "sil! r! zstd --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
else
|
||||
elseif header =~? 'lz4'
|
||||
exe "sil! r! lz4 --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
elseif header =~? 'gzip'
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
endif
|
||||
|
||||
elseif tarfile =~# '\.lrp'
|
||||
" call Decho("2: exe silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ")
|
||||
exe "sil! r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
elseif tarfile =~# '\.\(bz2\|tbz\|tb2\)$'
|
||||
" call Decho("3: exe silent r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
|
||||
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
elseif tarfile =~# '\.\(bz3\|tb3\)$'
|
||||
exe "sil! r! bzip3 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
elseif tarfile =~# '\.\(lzma\|tlz\)$'
|
||||
" call Decho("3: exe silent r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
|
||||
exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
elseif tarfile =~# '\.\(xz\|txz\)$'
|
||||
" call Decho("3: exe silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
|
||||
exe "sil! r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
elseif tarfile =~# '\.\(zst\|tzst\)$'
|
||||
exe "sil! r! zstd --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
elseif tarfile =~# '\.\(lz4\|tlz4\)$'
|
||||
exe "sil! r! lz4 --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
else
|
||||
if tarfile =~ '^\s*-'
|
||||
" A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
|
||||
let tarfile = substitute(tarfile, '-', './-', '')
|
||||
endif
|
||||
" call Decho("4: exe silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,0))
|
||||
exe "sil! r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,1)
|
||||
endif
|
||||
if v:shell_error != 0
|
||||
redraw!
|
||||
echohl WarningMsg | echo "***warning*** (tar#Browse) please check your g:tar_browseoptions<".g:tar_browseoptions.">"
|
||||
" call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
|
||||
return
|
||||
endif
|
||||
"
|
||||
@@ -237,29 +233,24 @@ fun! tar#Browse(tarfile)
|
||||
endif
|
||||
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Browse : b:tarfile<".b:tarfile.">")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" TarBrowseSelect: {{{2
|
||||
fun! s:TarBrowseSelect()
|
||||
" call Dfunc("TarBrowseSelect() b:tarfile<".b:tarfile."> curfile<".expand("%").">")
|
||||
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
|
||||
|
||||
@@ -283,19 +274,19 @@ fun! s:TarBrowseSelect()
|
||||
exe 'com! -buffer -nargs=? -complete=file TarDiff :call tar#Diff(<q-args>,"'.fnameescape(fname).'")'
|
||||
|
||||
let &report= repkeep
|
||||
" call Dret("TarBrowseSelect : s:tblfile_".winnr()."<".s:tblfile_{winnr()}.">")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" tar#Read: {{{2
|
||||
fun! tar#Read(fname,mode)
|
||||
" call Dfunc("tar#Read(fname<".a:fname.">,mode=".a:mode.")")
|
||||
let repkeep= &report
|
||||
set report=10
|
||||
let tarfile = substitute(a:fname,'tarfile:\(.\{-}\)::.*$','\1','')
|
||||
let fname = substitute(a:fname,'tarfile:.\{-}::\(.*\)$','\1','')
|
||||
" be careful not to execute special crafted files
|
||||
let escape_file = fname->fnameescape()
|
||||
|
||||
" changing the directory to the temporary earlier to allow tar to extract the file with permissions intact
|
||||
" changing the directory to the temporary earlier to allow tar to extract the file with permissions intact
|
||||
if !exists("*mkdir")
|
||||
redraw!
|
||||
echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None
|
||||
@@ -333,12 +324,13 @@ fun! tar#Read(fname,mode)
|
||||
" assuming cygwin
|
||||
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
|
||||
endif
|
||||
" call Decho("tarfile<".tarfile.">")
|
||||
" call Decho("fname<".fname.">")
|
||||
|
||||
if fname =~ '\.bz2$' && executable("bzcat")
|
||||
let decmp= "|bzcat"
|
||||
let doro = 1
|
||||
elseif fname =~ '\.bz3$' && executable("bz3cat")
|
||||
let decmp= "|bz3cat"
|
||||
let doro = 1
|
||||
elseif fname =~ '\.t\=gz$' && executable("zcat")
|
||||
let decmp= "|zcat"
|
||||
let doro = 1
|
||||
@@ -351,10 +343,13 @@ fun! tar#Read(fname,mode)
|
||||
elseif fname =~ '\.zst$' && executable("zstdcat")
|
||||
let decmp= "|zstdcat"
|
||||
let doro = 1
|
||||
elseif fname =~ '\.lz4$' && executable("lz4cat")
|
||||
let decmp= "|lz4cat"
|
||||
let doro = 1
|
||||
else
|
||||
let decmp=""
|
||||
let doro = 0
|
||||
if fname =~ '\.bz2$\|\.gz$\|\.lzma$\|\.xz$\|\.zip$\|\.Z$'
|
||||
if fname =~ '\.bz2$\|\.bz3$\|\.gz$\|\.lzma$\|\.xz$\|\.zip$\|\.Z$'
|
||||
setlocal bin
|
||||
endif
|
||||
endif
|
||||
@@ -367,47 +362,51 @@ fun! tar#Read(fname,mode)
|
||||
|
||||
if tarfile =~# '\.bz2$'
|
||||
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
exe "read ".escape_file
|
||||
elseif tarfile =~# '\.bz3$'
|
||||
exe "sil! r! bzip3 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".escape_file
|
||||
elseif tarfile =~# '\.\(gz\)$'
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
exe "read ".escape_file
|
||||
elseif tarfile =~# '\(\.tgz\|\.tbz\|\.txz\)'
|
||||
if has("unix") && executable("file")
|
||||
let filekind= system("file ".shellescape(tarfile,1))
|
||||
else
|
||||
let filekind= ""
|
||||
endif
|
||||
if filekind =~ "bzip2"
|
||||
let filekind= s:Header(tarfile)
|
||||
if filekind =~? "bzip2"
|
||||
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
elseif filekind =~ "XZ"
|
||||
exe "read ".escape_file
|
||||
elseif filekind =~ "bzip3"
|
||||
exe "sil! r! bzip3 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".escape_file
|
||||
elseif filekind =~? "xz"
|
||||
exe "sil! r! xz -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
elseif filekind =~ "Zstandard"
|
||||
exe "read ".escape_file
|
||||
elseif filekind =~? "zstd"
|
||||
exe "sil! r! zstd --decompress --stdout -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
else
|
||||
exe "read ".escape_file
|
||||
elseif filekind =~? "gzip"
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
exe "read ".escape_file
|
||||
endif
|
||||
|
||||
elseif tarfile =~# '\.lrp$'
|
||||
exe "sil! r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
exe "read ".escape_file
|
||||
elseif tarfile =~# '\.lzma$'
|
||||
exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
exe "read ".escape_file
|
||||
elseif tarfile =~# '\.\(xz\|txz\)$'
|
||||
exe "sil! r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
exe "read ".escape_file
|
||||
elseif tarfile =~# '\.\(lz4\|tlz4\)$'
|
||||
exe "sil! r! lz4 --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".escape_file
|
||||
else
|
||||
if tarfile =~ '^\s*-'
|
||||
" A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
|
||||
let tarfile = substitute(tarfile, '-', './-', '')
|
||||
endif
|
||||
" call Decho("8: exe silent r! ".g:tar_cmd." -".g:tar_readoptions.tar_secure.shellescape(tarfile,1)." ".shellescape(fname,1).decmp)
|
||||
exe "silent r! ".g:tar_cmd." -".g:tar_readoptions.shellescape(tarfile,1)." ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
exe "read ".escape_file
|
||||
endif
|
||||
|
||||
redraw!
|
||||
@@ -432,16 +431,13 @@ if v:shell_error != 0
|
||||
set nomod
|
||||
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Read : b:tarfile<".b:tarfile.">")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" tar#Write: {{{2
|
||||
fun! tar#Write(fname)
|
||||
" call Dfunc("tar#Write(fname<".a:fname.">) b:tarfile<".b:tarfile."> tblfile_".winnr()."<".s:tblfile_{winnr()}.">")
|
||||
let repkeep= &report
|
||||
set report=10
|
||||
|
||||
" temporary buffer variable workaround because too fucking tired. but it works now
|
||||
let curdir= b:curdir
|
||||
let tmpdir= b:tmpdir
|
||||
@@ -449,16 +445,13 @@ fun! tar#Write(fname)
|
||||
if !exists("g:tar_secure") && a:fname =~ '^\s*-\|\s\+-'
|
||||
redraw!
|
||||
echohl WarningMsg | echo '***warning*** (tar#Write) rejecting tarfile member<'.a:fname.'> because of embedded "-"'
|
||||
" call Dret('tar#Write : rejecting tarfile member<'.fname.'> because of embedded "-"')
|
||||
return
|
||||
endif
|
||||
|
||||
" sanity checks
|
||||
if !executable(g:tar_cmd)
|
||||
redraw!
|
||||
" call Decho('***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system')
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Write")
|
||||
return
|
||||
endif
|
||||
|
||||
@@ -470,43 +463,43 @@ fun! tar#Write(fname)
|
||||
call system("bzip2 -d -- ".shellescape(tarfile,0))
|
||||
let tarfile = substitute(tarfile,'\.bz2','','e')
|
||||
let compress= "bzip2 -- ".shellescape(tarfile,0)
|
||||
" call Decho("compress<".compress.">")
|
||||
elseif tarfile =~# '\.bz3'
|
||||
call system("bzip3 -d -- ".shellescape(tarfile,0))
|
||||
let tarfile = substitute(tarfile,'\.bz3','','e')
|
||||
let compress= "bzip3 -- ".shellescape(tarfile,0)
|
||||
elseif tarfile =~# '\.gz'
|
||||
call system("gzip -d -- ".shellescape(tarfile,0))
|
||||
let tarfile = substitute(tarfile,'\.gz','','e')
|
||||
let compress= "gzip -- ".shellescape(tarfile,0)
|
||||
" call Decho("compress<".compress.">")
|
||||
elseif tarfile =~# '\.tgz'
|
||||
call system("gzip -d -- ".shellescape(tarfile,0))
|
||||
let tarfile = substitute(tarfile,'\.tgz','.tar','e')
|
||||
let compress= "gzip -- ".shellescape(tarfile,0)
|
||||
let tgz = 1
|
||||
" call Decho("compress<".compress.">")
|
||||
elseif tarfile =~# '\.xz'
|
||||
call system("xz -d -- ".shellescape(tarfile,0))
|
||||
let tarfile = substitute(tarfile,'\.xz','','e')
|
||||
let compress= "xz -- ".shellescape(tarfile,0)
|
||||
" call Decho("compress<".compress.">")
|
||||
elseif tarfile =~# '\.zst'
|
||||
call system("zstd --decompress --rm -- ".shellescape(tarfile,0))
|
||||
let tarfile = substitute(tarfile,'\.zst','','e')
|
||||
let compress= "zstd --rm -- ".shellescape(tarfile,0)
|
||||
elseif tarfile =~# '\.lz4'
|
||||
call system("lz4 --decompress --rm -- ".shellescape(tarfile,0))
|
||||
let tarfile = substitute(tarfile,'\.lz4','','e')
|
||||
let compress= "lz4 --rm -- ".shellescape(tarfile,0)
|
||||
elseif tarfile =~# '\.lzma'
|
||||
call system("lzma -d -- ".shellescape(tarfile,0))
|
||||
let tarfile = substitute(tarfile,'\.lzma','','e')
|
||||
let compress= "lzma -- ".shellescape(tarfile,0)
|
||||
" call Decho("compress<".compress.">")
|
||||
endif
|
||||
" call Decho("tarfile<".tarfile.">")
|
||||
" Note: no support for name.tar.tbz/.txz/.tgz/.tlz4/.tzst
|
||||
|
||||
if v:shell_error != 0
|
||||
redraw!
|
||||
" call Decho("***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname)
|
||||
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
|
||||
else
|
||||
|
||||
" call Decho("tarfile<".tarfile."> fname<".fname.">")
|
||||
|
||||
if fname =~ '/'
|
||||
let dirpath = substitute(fname,'/[^/]\+$','','e')
|
||||
if has("win32unix") && executable("cygpath")
|
||||
@@ -521,7 +514,6 @@ fun! tar#Write(fname)
|
||||
" A file name starting with a dash may be taken as an option. Prepend ./ to avoid that.
|
||||
let tarfile = substitute(tarfile, '-', './-', '')
|
||||
endif
|
||||
" call Decho("tarfile<".tarfile."> fname<".fname.">")
|
||||
|
||||
if exists("g:tar_secure")
|
||||
let tar_secure= " -- "
|
||||
@@ -534,26 +526,20 @@ fun! tar#Write(fname)
|
||||
endif
|
||||
|
||||
" delete old file from tarfile
|
||||
" call Decho("system(".g:tar_cmd." ".g:tar_delfile." ".shellescape(tarfile,0)." -- ".shellescape(fname,0).")")
|
||||
call system(g:tar_cmd." ".g:tar_delfile." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
|
||||
if v:shell_error != 0
|
||||
redraw!
|
||||
" call Decho("***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname))
|
||||
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
|
||||
else
|
||||
|
||||
" update tarfile with new file
|
||||
" call Decho(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
|
||||
redraw!
|
||||
" call Decho("***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname))
|
||||
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
|
||||
elseif exists("compress")
|
||||
" call Decho("call system(".compress.")")
|
||||
call system(compress)
|
||||
if exists("tgz")
|
||||
" call Decho("rename(".tarfile.".gz,".substitute(tarfile,'\.tar$','.tgz','e').")")
|
||||
call rename(tarfile.".gz",substitute(tarfile,'\.tar$','.tgz','e'))
|
||||
endif
|
||||
endif
|
||||
@@ -561,7 +547,6 @@ fun! tar#Write(fname)
|
||||
|
||||
" support writing tarfiles across a network
|
||||
if s:tblfile_{winnr()} =~ '^\a\+://'
|
||||
" call Decho("handle writing <".tarfile."> across network to <".s:tblfile_{winnr()}.">")
|
||||
let tblfile= s:tblfile_{winnr()}
|
||||
1split|noswapfile enew
|
||||
let binkeep= &l:binary
|
||||
@@ -583,13 +568,11 @@ fun! tar#Write(fname)
|
||||
setlocal nomod
|
||||
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Write")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" tar#Diff: {{{2
|
||||
fun! tar#Diff(userfname,fname)
|
||||
" call Dfunc("tar#Diff(userfname<".a:userfname."> fname<".a:fname.")")
|
||||
let fname= a:fname
|
||||
if a:userfname != ""
|
||||
let fname= a:userfname
|
||||
@@ -607,133 +590,135 @@ fun! tar#Diff(userfname,fname)
|
||||
redraw!
|
||||
echo "***warning*** unable to read file<".fname.">"
|
||||
endif
|
||||
" call Dret("tar#Diff")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" tar#Extract: extract a file from a (possibly compressed) tar archive {{{2
|
||||
fun! tar#Extract()
|
||||
" call Dfunc("tar#Extract()")
|
||||
|
||||
let repkeep= &report
|
||||
set report=10
|
||||
let fname= getline(".")
|
||||
" call Decho("fname<".fname.">")
|
||||
|
||||
if !exists("g:tar_secure") && fname =~ '^\s*-\|\s\+-'
|
||||
redraw!
|
||||
echohl WarningMsg | echo '***warning*** (tar#BrowseSelect) rejecting tarfile member<'.fname.'> because of embedded "-"'
|
||||
" call Dret('tar#BrowseSelect : rejecting tarfile member<'.fname.'> because of embedded "-"')
|
||||
return
|
||||
endif
|
||||
|
||||
" sanity check
|
||||
if fname =~ '^"'
|
||||
let &report= repkeep
|
||||
" call Dret("TarBrowseSelect")
|
||||
return
|
||||
endif
|
||||
|
||||
let tarball = expand("%")
|
||||
" call Decho("tarball<".tarball.">")
|
||||
let tarbase = substitute(tarball,'\..*$','','')
|
||||
" call Decho("tarbase<".tarbase.">")
|
||||
|
||||
let extractcmd= netrw#WinPath(g:tar_extractcmd)
|
||||
if filereadable(tarbase.".tar")
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tar ".shellescape(fname).")")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tar ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tar ".fname.": failed!" | echohl NONE
|
||||
" call Decho("***error*** ".extractcmd." ".tarbase.".tar ".fname.": failed!")
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
elseif filereadable(tarbase.".tgz")
|
||||
let extractcmd= substitute(extractcmd,"-","-z","")
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tgz ".shellescape(fname).")")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tgz ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tgz ".fname.": failed!" | echohl NONE
|
||||
" call Decho("***error*** ".extractcmd."t ".tarbase.".tgz ".fname.": failed!")
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
elseif filereadable(tarbase.".tar.gz")
|
||||
let extractcmd= substitute(extractcmd,"-","-z","")
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tar.gz ".shellescape(fname).")")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tar.gz ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tar.gz ".fname.": failed!" | echohl NONE
|
||||
" call Decho("***error*** ".extractcmd." ".tarbase.".tar.gz ".fname.": failed!")
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
elseif filereadable(tarbase.".tbz")
|
||||
let extractcmd= substitute(extractcmd,"-","-j","")
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tbz ".shellescape(fname).")")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tbz ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd."j ".tarbase.".tbz ".fname.": failed!" | echohl NONE
|
||||
" call Decho("***error*** ".extractcmd."j ".tarbase.".tbz ".fname.": failed!")
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
elseif filereadable(tarbase.".tar.bz2")
|
||||
let extractcmd= substitute(extractcmd,"-","-j","")
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tar.bz2 ".shellescape(fname).")")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tar.bz2 ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd."j ".tarbase.".tar.bz2 ".fname.": failed!" | echohl NONE
|
||||
" call Decho("***error*** ".extractcmd."j ".tarbase.".tar.bz2 ".fname.": failed!")
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
elseif filereadable(tarbase.".tar.bz3")
|
||||
let extractcmd= substitute(extractcmd,"-","-j","")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tar.bz3 ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd."j ".tarbase.".tar.bz3 ".fname.": failed!" | echohl NONE
|
||||
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
|
||||
|
||||
elseif filereadable(tarbase.".tzst")
|
||||
let extractcmd= substitute(extractcmd,"-","--zstd","")
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tzst ".shellescape(fname).")")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tzst ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tzst ".fname.": failed!" | echohl NONE
|
||||
" call Decho("***error*** ".extractcmd." ".tarbase.".tzst ".fname.": failed!")
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
elseif filereadable(tarbase.".tar.zst")
|
||||
let extractcmd= substitute(extractcmd,"-","--zstd","")
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tar.zst ".shellescape(fname).")")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tar.zst ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tar.zst ".fname.": failed!" | echohl NONE
|
||||
" call Decho("***error*** ".extractcmd." ".tarbase.".tar.zst ".fname.": failed!")
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
elseif filereadable(tarbase.".tlz4")
|
||||
let extractcmd= substitute(extractcmd,"-","-I lz4","")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tlz4 ".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tlz4 ".fname.": failed!" | echohl NONE
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
|
||||
elseif filereadable(tarbase.".tar.lz4")
|
||||
let extractcmd= substitute(extractcmd,"-","-I lz4","")
|
||||
call system(extractcmd." ".shellescape(tarbase).".tar.lz4".shellescape(fname))
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tar.lz4 ".fname.": failed!" | echohl NONE
|
||||
else
|
||||
echo "***note*** successfully extracted ".fname
|
||||
endif
|
||||
@@ -741,14 +726,11 @@ fun! tar#Extract()
|
||||
|
||||
" restore option
|
||||
let &report= repkeep
|
||||
|
||||
" call Dret("tar#Extract")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:Rmdir: {{{2
|
||||
fun! s:Rmdir(fname)
|
||||
" call Dfunc("Rmdir(fname<".a:fname.">)")
|
||||
if has("unix")
|
||||
call system("/bin/rm -rf -- ".shellescape(a:fname,0))
|
||||
elseif has("win32") || has("win95") || has("win64") || has("win16")
|
||||
@@ -758,44 +740,55 @@ fun! s:Rmdir(fname)
|
||||
call system("del /S ".shellescape(a:fname,0))
|
||||
endif
|
||||
endif
|
||||
" call Dret("Rmdir")
|
||||
endfun
|
||||
|
||||
" s:FileHeader: {{{2
|
||||
fun! s:Header(fname)
|
||||
let header= readblob(a:fname, 0, 6)
|
||||
if header[0:2] == str2blob(['BZh']) " bzip2 header
|
||||
return "bzip2"
|
||||
elseif header[0:2] == str2blob(['BZ3']) " bzip3 header
|
||||
return "bzip3"
|
||||
elseif header == str2blob(["\3757zXZ\n"]) " xz header
|
||||
return "xz"
|
||||
elseif header[0:3] == str2blob(["\x28\xB5\x2F\xFD"]) " zstd header
|
||||
return "zstd"
|
||||
elseif header[0:3] == str2blob(["\004\"M\030"]) " lz4 header
|
||||
return "lz4"
|
||||
elseif (header[0:1] == str2blob(["\037\235"]) ||
|
||||
\ header[0:1] == str2blob(["\037\213"]) ||
|
||||
\ header[0:1] == str2blob(["\037\236"]) ||
|
||||
\ header[0:1] == str2blob(["\037\240"]) ||
|
||||
\ header[0:1] == str2blob(["\037\036"]))
|
||||
return "gzip"
|
||||
endif
|
||||
return "unknown"
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" tar#Vimuntar: installs a tarball in the user's .vim / vimfiles directory {{{2
|
||||
fun! tar#Vimuntar(...)
|
||||
" call Dfunc("tar#Vimuntar() a:0=".a:0." a:1<".(exists("a:1")? a:1 : "-n/a-").">")
|
||||
let tarball = expand("%")
|
||||
" call Decho("tarball<".tarball.">")
|
||||
let tarbase = substitute(tarball,'\..*$','','')
|
||||
" call Decho("tarbase<".tarbase.">")
|
||||
let tarhome = expand("%:p")
|
||||
if has("win32") || has("win95") || has("win64") || has("win16")
|
||||
let tarhome= substitute(tarhome,'\\','/','g')
|
||||
endif
|
||||
let tarhome= substitute(tarhome,'/[^/]*$','','')
|
||||
" call Decho("tarhome<".tarhome.">")
|
||||
let tartail = expand("%:t")
|
||||
" call Decho("tartail<".tartail.">")
|
||||
let curdir = getcwd()
|
||||
" call Decho("curdir <".curdir.">")
|
||||
" set up vimhome
|
||||
if a:0 > 0 && a:1 != ""
|
||||
let vimhome= a:1
|
||||
else
|
||||
let vimhome= vimball#VimballHome()
|
||||
endif
|
||||
" call Decho("vimhome<".vimhome.">")
|
||||
|
||||
" call Decho("curdir<".curdir."> vimhome<".vimhome.">")
|
||||
if simplify(curdir) != simplify(vimhome)
|
||||
" copy (possibly compressed) tarball to .vim/vimfiles
|
||||
" call Decho(netrw#WinPath(g:tar_copycmd)." ".shellescape(tartail)." ".shellescape(vimhome))
|
||||
call system(netrw#WinPath(g:tar_copycmd)." ".shellescape(tartail)." ".shellescape(vimhome))
|
||||
" call Decho("exe cd ".fnameescape(vimhome))
|
||||
exe "cd ".fnameescape(vimhome)
|
||||
endif
|
||||
" call Decho("getcwd<".getcwd().">")
|
||||
|
||||
" if necessary, decompress the tarball; then, extract it
|
||||
if tartail =~ '\.tgz'
|
||||
@@ -807,24 +800,19 @@ fun! tar#Vimuntar(...)
|
||||
echoerr "unable to decompress<".tartail."> on this system"
|
||||
if simplify(curdir) != simplify(tarhome)
|
||||
" remove decompressed tarball, restore directory
|
||||
" call Decho("delete(".tartail.".tar)")
|
||||
call delete(tartail.".tar")
|
||||
" call Decho("exe cd ".fnameescape(curdir))
|
||||
exe "cd ".fnameescape(curdir)
|
||||
endif
|
||||
" call Dret("tar#Vimuntar")
|
||||
return
|
||||
endif
|
||||
else
|
||||
call vimball#Decompress(tartail,0)
|
||||
endif
|
||||
let extractcmd= netrw#WinPath(g:tar_extractcmd)
|
||||
" call Decho("system(".extractcmd." ".shellescape(tarbase.".tar").")")
|
||||
call system(extractcmd." ".shellescape(tarbase.".tar"))
|
||||
|
||||
" set up help
|
||||
if filereadable("doc/".tarbase.".txt")
|
||||
" call Decho("exe helptags ".getcwd()."/doc")
|
||||
exe "helptags ".getcwd()."/doc"
|
||||
endif
|
||||
|
||||
@@ -833,8 +821,6 @@ fun! tar#Vimuntar(...)
|
||||
call delete(vimhome."/".tarbase.".tar")
|
||||
exe "cd ".fnameescape(curdir)
|
||||
endif
|
||||
|
||||
" call Dret("tar#Vimuntar")
|
||||
endfun
|
||||
|
||||
" =====================================================================
|
||||
|
||||
@@ -2,8 +2,10 @@
|
||||
" Maintainer: This runtime file is looking for a new maintainer.
|
||||
" Original Author: Charles E. Campbell
|
||||
" Date: Apr 11, 2016
|
||||
" Version: 37
|
||||
" Version: 37 (with modifications from the Vim Project)
|
||||
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
|
||||
" Last Change:
|
||||
" 2025 Feb 28 by Vim Project: add support for bzip3 (#16755)
|
||||
" Copyright: (c) 2004-2011 by Charles E. Campbell
|
||||
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt
|
||||
" (see |copyright|) except use "Vimball" instead of "Vim".
|
||||
@@ -530,6 +532,26 @@ fun! vimball#Decompress(fname,...)
|
||||
exe "e ".escape(fname,' \')
|
||||
if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif
|
||||
|
||||
elseif expand("%") =~ '.*\.bz3' && executable("bunzip3")
|
||||
" handle *.bz3 with bunzip3
|
||||
silent exe "!bunzip3 ".shellescape(a:fname)
|
||||
if v:shell_error != 0
|
||||
call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) bunzip3 may have failed with <".a:fname.">")
|
||||
endif
|
||||
let fname= substitute(a:fname,'\.bz3$','','')
|
||||
exe "e ".escape(fname,' \')
|
||||
if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif
|
||||
|
||||
elseif expand("%") =~ '.*\.bz3' && executable("bzip3")
|
||||
" handle *.bz3 with bzip3 -d
|
||||
silent exe "!bzip3 -d ".shellescape(a:fname)
|
||||
if v:shell_error != 0
|
||||
call vimball#ShowMesg(s:WARNING,'(vimball#Decompress) "bzip3 -d" may have failed with <'.a:fname.">")
|
||||
endif
|
||||
let fname= substitute(a:fname,'\.bz3$','','')
|
||||
exe "e ".escape(fname,' \')
|
||||
if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif
|
||||
|
||||
elseif expand("%") =~ '.*\.zip' && executable("unzip")
|
||||
" handle *.zip with unzip
|
||||
silent exe "!unzip ".shellescape(a:fname)
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
" 2024 Aug 05 by Vim Project: clean-up and make it work with shellslash on Windows
|
||||
" 2024 Aug 18 by Vim Project: correctly handle special globbing chars
|
||||
" 2024 Aug 21 by Vim Project: simplify condition to detect MS-Windows
|
||||
" 2025 Mar 11 by Vim Project: handle filenames with leading '-' correctly
|
||||
" License: Vim License (see vim's :help license)
|
||||
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
@@ -343,6 +344,11 @@ fun! zip#Extract()
|
||||
return
|
||||
endif
|
||||
let target = fname->substitute('\[', '[[]', 'g')
|
||||
" unzip 6.0 does not support -- to denote end-of-arguments
|
||||
" unzip 6.1 (2010) apparently supports, it, but hasn't been released
|
||||
" so the workaround is to use glob '[-]' so that it won't be considered an argument
|
||||
" else, it would be possible to use 'unzip -o <file.zip> '-d/tmp' to extract the whole archive
|
||||
let target = target->substitute('^-', '[&]', '')
|
||||
if &shell =~ 'cmd' && has("win32")
|
||||
let target = target
|
||||
\ ->substitute('[?*]', '[&]', 'g')
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -77,6 +77,7 @@ hi Type guifg=#ffa500 guibg=NONE gui=bold cterm=NONE
|
||||
hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Label guifg=#ffd700 guibg=NONE gui=NONE cterm=NONE
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Debug Special
|
||||
hi! link Added String
|
||||
hi! link Removed WarningMsg
|
||||
@@ -189,6 +190,7 @@ if s:t_Co >= 256
|
||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Label ctermfg=220 ctermbg=NONE cterm=NONE
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Debug Special
|
||||
hi! link Added String
|
||||
hi! link Removed WarningMsg
|
||||
@@ -304,6 +306,7 @@ if s:t_Co >= 16
|
||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Label ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Debug Special
|
||||
hi! link Added String
|
||||
hi! link Removed WarningMsg
|
||||
@@ -418,6 +421,7 @@ if s:t_Co >= 8
|
||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Label ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Debug Special
|
||||
hi! link Added String
|
||||
hi! link Removed WarningMsg
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original author Bohdan Vlasyuk <bohdan@vstu.edu.ua>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -19,6 +19,7 @@ if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#8b0000', '#90f020', '#ffa500', '#00008b', '#8b008b', '#008b8b', '#c0c0c0', '#808080', '#ffa0a0', '#90f020', '#ffff60', '#0030ff', '#ff00ff', '#90fff0', '#ffffff']
|
||||
endif
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link CursorColumn CursorLine
|
||||
hi! link CursorIM Cursor
|
||||
hi! link EndOfBuffer NonText
|
||||
@@ -129,6 +130,7 @@ hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
|
||||
|
||||
if s:t_Co >= 256
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link CursorColumn CursorLine
|
||||
hi! link CursorIM Cursor
|
||||
hi! link EndOfBuffer NonText
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer David Schweikert <david@schweikert.ch>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -19,6 +19,7 @@ if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#ffffff', '#0000ff', '#00cd00', '#cd00cd', '#008b8b', '#0000ff', '#ff1493', '#bcbcbc', '#ee0000', '#0000ff', '#00cd00', '#cd00cd', '#008b8b', '#0000ff', '#ff1493', '#000000']
|
||||
endif
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link CurSearch Search
|
||||
@@ -95,6 +96,7 @@ hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
|
||||
|
||||
if s:t_Co >= 256
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link CurSearch Search
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Hans Fugal <hans@fugal.net>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -27,6 +27,7 @@ hi! link CursorLineSign CursorLine
|
||||
hi! link EndOfBuffer NonText
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal guifg=#ffffff guibg=#333333 gui=NONE cterm=NONE
|
||||
hi StatusLine guifg=#333333 guibg=#c2bfa5 gui=NONE cterm=NONE
|
||||
hi StatusLineNC guifg=#7f7f8c guibg=#c2bfa5 gui=NONE cterm=NONE
|
||||
@@ -103,6 +104,7 @@ if s:t_Co >= 256
|
||||
hi! link EndOfBuffer NonText
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal ctermfg=231 ctermbg=236 cterm=NONE
|
||||
hi StatusLine ctermfg=236 ctermbg=144 cterm=NONE
|
||||
hi StatusLineNC ctermfg=242 ctermbg=144 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -19,6 +19,7 @@ if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0087ff', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||
endif
|
||||
hi! link VertSplit StatusLineNC
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link TabLineFill TabLine
|
||||
@@ -129,6 +130,7 @@ hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
|
||||
|
||||
if s:t_Co >= 256
|
||||
hi! link VertSplit StatusLineNC
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link TabLineFill TabLine
|
||||
@@ -242,6 +244,7 @@ endif
|
||||
|
||||
if s:t_Co >= 16
|
||||
hi! link VertSplit StatusLineNC
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link TabLineFill TabLine
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -22,6 +22,7 @@ hi! link Terminal Normal
|
||||
hi! link StatuslineTerm Statusline
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link javaScriptFunction Statement
|
||||
hi! link javaScriptIdentifier Statement
|
||||
hi! link sqlKeyword Statement
|
||||
@@ -117,6 +118,7 @@ if s:t_Co >= 256
|
||||
hi! link StatuslineTerm Statusline
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link javaScriptFunction Statement
|
||||
hi! link javaScriptIdentifier Statement
|
||||
hi! link sqlKeyword Statement
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Shian Lee.
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -81,6 +81,7 @@ hi Conceal guifg=#6c6c6c guibg=NONE gui=NONE cterm=NONE
|
||||
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Title guifg=#ff00ff guibg=NONE gui=bold cterm=bold
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link CurSearch Search
|
||||
@@ -157,6 +158,7 @@ if s:t_Co >= 256
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Title ctermfg=201 ctermbg=NONE cterm=bold
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link CurSearch Search
|
||||
@@ -236,6 +238,7 @@ if s:t_Co >= 16
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Title ctermfg=magenta ctermbg=NONE cterm=bold
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link CurSearch Search
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
" Website: https://www.github.com/vim/colorschemes
|
||||
" License: Vim License (see `:help license`)
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -92,6 +92,7 @@ hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link MessageWindow PMenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
if &background ==# 'dark'
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#af5f5f', '#5faf5f', '#af875f', '#5f87af', '#d787d7', '#5fafaf', '#c6c6c6', '#767676', '#ff5f5f', '#5fd75f', '#ffd787', '#5fafff', '#ff87ff', '#5fd7d7', '#ffffff']
|
||||
@@ -360,6 +361,7 @@ if s:t_Co >= 256
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link MessageWindow PMenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
if &background ==# 'dark'
|
||||
hi Normal ctermfg=251 ctermbg=16 cterm=NONE
|
||||
hi Statusline ctermfg=251 ctermbg=16 cterm=bold,reverse
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Bram Moolenaar <Bram@vim.org>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -28,6 +28,7 @@ hi! link StatuslineTerm Statusline
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal guifg=#000000 guibg=#e4e4e4 gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#0000ff guibg=#cccccc gui=bold cterm=bold
|
||||
hi Folded guifg=#00008b guibg=#d3d3d3 gui=NONE cterm=NONE
|
||||
@@ -102,6 +103,7 @@ if s:t_Co >= 256
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal ctermfg=16 ctermbg=254 cterm=NONE
|
||||
hi EndOfBuffer ctermfg=21 ctermbg=252 cterm=bold
|
||||
hi Folded ctermfg=18 ctermbg=252 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>.
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -28,6 +28,7 @@ hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Added Constant
|
||||
hi Normal guifg=#87ff87 guibg=#000000 gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#0000ff guibg=#000000 gui=NONE cterm=NONE
|
||||
@@ -103,6 +104,7 @@ if s:t_Co >= 256
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Added Constant
|
||||
hi Normal ctermfg=120 ctermbg=16 cterm=NONE
|
||||
hi EndOfBuffer ctermfg=21 ctermbg=16 cterm=NONE
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Original maintainerRon Aaron <ron@ronware.org>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -25,6 +25,7 @@ hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
|
||||
hi Comment guifg=#808080 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Constant guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
|
||||
@@ -100,6 +101,7 @@ if s:t_Co >= 256
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal ctermfg=231 ctermbg=16 cterm=NONE
|
||||
hi Comment ctermfg=244 ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=51 ctermbg=NONE cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -26,6 +26,7 @@ hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal guifg=#000000 guibg=#ffdab9 gui=NONE cterm=NONE
|
||||
hi Folded guifg=#000000 guibg=#e3c1a5 gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#f5c195 gui=NONE cterm=NONE
|
||||
@@ -100,6 +101,7 @@ if s:t_Co >= 256
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal ctermfg=16 ctermbg=223 cterm=NONE
|
||||
hi Folded ctermfg=16 ctermbg=252 cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=180 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Maxence Weynans <neutaaaaan@gmail.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Vim License (see `:help license`)`
|
||||
" Last Change: 2024 Aug 05
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -21,6 +21,7 @@ hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Boolean Constant
|
||||
hi! link Character Constant
|
||||
hi! link Conditional Statement
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Maxim Kim <habamax@gmail.com>, ported from gruvbox8 of Lifepillar <lifepillar@lifepillar.me>
|
||||
" Website: https://www.github.com/vim/colorschemes
|
||||
" License: Vim License (see `:help license`)
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -21,6 +21,7 @@ hi! link Tag Special
|
||||
hi! link lCursor Cursor
|
||||
hi! link MessageWindow PMenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link CurSearch IncSearch
|
||||
hi! link Terminal Normal
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer is Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -30,6 +30,7 @@ hi! link Tag Special
|
||||
hi! link Operator Statement
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi Folded guifg=#00008b guibg=#dadada gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#dadada gui=NONE cterm=NONE
|
||||
@@ -110,6 +111,7 @@ if s:t_Co >= 256
|
||||
hi! link Operator Statement
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal ctermfg=16 ctermbg=231 cterm=NONE
|
||||
hi Folded ctermfg=18 ctermbg=253 cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=253 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Ralph Amissah <ralph@amissah.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -26,6 +26,7 @@ hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal guifg=#ffffff guibg=#262626 gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#5f87d7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi StatusLine guifg=#000000 guibg=#afaf87 gui=NONE cterm=NONE
|
||||
@@ -105,6 +106,7 @@ if s:t_Co >= 256
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal ctermfg=231 ctermbg=235 cterm=NONE
|
||||
hi EndOfBuffer ctermfg=68 ctermbg=NONE cterm=NONE
|
||||
hi StatusLine ctermfg=16 ctermbg=144 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Maxence Weynans <neutaaaaan@gmail.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Vim License (see `:help license`)`
|
||||
" Last Change: 2024 Aug 05
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -20,6 +20,7 @@ hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Boolean Constant
|
||||
hi! link Character Constant
|
||||
hi! link Conditional Statement
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Thorsten Maerz <info@netztorte.de>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -28,6 +28,7 @@ hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal guifg=#cccccc guibg=#000000 gui=NONE cterm=NONE
|
||||
hi Comment guifg=#80a0ff guibg=NONE gui=NONE cterm=NONE
|
||||
hi Constant guifg=#ffa0a0 guibg=NONE gui=NONE cterm=NONE
|
||||
@@ -103,6 +104,7 @@ if s:t_Co >= 256
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal ctermfg=251 ctermbg=16 cterm=NONE
|
||||
hi Comment ctermfg=111 ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=217 ctermbg=NONE cterm=NONE
|
||||
|
||||
521
runtime/colors/unokai.vim
Normal file
521
runtime/colors/unokai.vim
Normal file
@@ -0,0 +1,521 @@
|
||||
" Name: unokai
|
||||
" Description: Color scheme similar to Monokai originally created by Wimer Hazenberg for TextMate
|
||||
" Author: k-37 <60838818+k-37@users.noreply.github.com>
|
||||
" Maintainer: k-37 <60838818+k-37@users.noreply.github.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Vim License (see `:help license`)
|
||||
" Last Change: 2024 Dec 15
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
set background=dark
|
||||
|
||||
hi clear
|
||||
let g:colors_name = 'unokai'
|
||||
|
||||
let s:t_Co = has('gui_running') ? -1 : (&t_Co ?? 0)
|
||||
let s:italics = has('gui_running') || (&t_ZH != '' && &t_ZH != '[7m' && !has('win32'))
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#282923', '#c61e5c', '#81af24', '#fd971f', '#51aebe', '#ae81ff', '#80beb5', '#bababa', '#74705d', '#f92672', '#a6e22e', '#e6db74', '#66d9ef', '#fd5ff0', '#a1efe4', '#f8f8f2']
|
||||
endif
|
||||
hi! link CursorLineFold FoldColumn
|
||||
hi! link CursorLineSign SignColumn
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link Terminal Normal
|
||||
hi! link Delimiter PreProc
|
||||
hi! link Operator PreProc
|
||||
hi! link StorageClass PreProc
|
||||
hi! link Structure PreProc
|
||||
hi! link Define Identifier
|
||||
hi! link Label String
|
||||
hi! link markdownCode Comment
|
||||
hi! link markdownCodeBlock markdownCode
|
||||
hi! link markdownCodeDelimiter markdownCode
|
||||
hi Normal guifg=#f8f8f2 guibg=#282923 gui=NONE cterm=NONE
|
||||
hi StatusLine guifg=#282923 guibg=#bababa gui=NONE cterm=NONE
|
||||
hi StatusLineNC guifg=#282923 guibg=#74705d gui=NONE cterm=NONE
|
||||
hi VertSplit guifg=#74705d guibg=#74705d gui=NONE cterm=NONE
|
||||
hi TabLine guifg=#282923 guibg=#74705d gui=NONE cterm=NONE
|
||||
hi TabLineFill guifg=#282923 guibg=#74705d gui=NONE cterm=NONE
|
||||
hi TabLineSel guifg=#282923 guibg=#bababa gui=bold cterm=bold
|
||||
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ToolbarButton guifg=#74705d guibg=#f8f8f2 gui=bold,reverse cterm=bold,reverse
|
||||
hi QuickFixLine guifg=#282923 guibg=#51aebe gui=NONE cterm=NONE
|
||||
hi CursorLineNr guifg=#dadada guibg=NONE gui=bold cterm=bold
|
||||
hi LineNr guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
|
||||
hi LineNrAbove guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
|
||||
hi LineNrBelow guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
|
||||
hi NonText guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
|
||||
hi SpecialKey guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
|
||||
hi FoldColumn guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
|
||||
hi Visual guifg=#a1efe4 guibg=#282923 gui=reverse cterm=reverse
|
||||
hi VisualNOS guifg=#282923 guibg=#80beb5 gui=NONE cterm=NONE
|
||||
hi Pmenu guifg=NONE guibg=#585858 gui=NONE cterm=NONE
|
||||
hi PmenuThumb guifg=NONE guibg=#74705d gui=NONE cterm=NONE
|
||||
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi PmenuSel guifg=NONE guibg=#8a8a8a gui=NONE cterm=NONE
|
||||
hi PmenuKind guifg=#80beb5 guibg=#585858 gui=NONE cterm=NONE
|
||||
hi PmenuKindSel guifg=#80beb5 guibg=#8a8a8a gui=NONE cterm=NONE
|
||||
hi PmenuExtra guifg=#bababa guibg=#585858 gui=NONE cterm=NONE
|
||||
hi PmenuExtraSel guifg=#bababa guibg=#8a8a8a gui=NONE cterm=NONE
|
||||
hi PmenuMatch guifg=#ffaf5f guibg=#585858 gui=NONE cterm=NONE
|
||||
hi PmenuMatchSel guifg=#ffaf5f guibg=#8a8a8a gui=NONE cterm=NONE
|
||||
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Error guifg=#f92672 guibg=#000000 gui=reverse cterm=reverse
|
||||
hi ErrorMsg guifg=#f92672 guibg=#000000 gui=reverse cterm=reverse
|
||||
hi ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi MoreMsg guifg=#81af24 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Question guifg=#e6db74 guibg=NONE gui=NONE cterm=NONE
|
||||
hi WarningMsg guifg=#f92672 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Todo guifg=#dadada guibg=NONE gui=bold cterm=bold
|
||||
hi MatchParen guifg=#fd971f guibg=NONE gui=bold cterm=bold
|
||||
hi Search guifg=#66d9ef guibg=#282923 gui=reverse cterm=reverse
|
||||
hi IncSearch guifg=#ffaf5f guibg=#282923 gui=reverse cterm=reverse
|
||||
hi CurSearch guifg=#ffaf5f guibg=#282923 gui=reverse cterm=reverse
|
||||
hi WildMenu guifg=#282923 guibg=#e6db74 gui=bold cterm=bold
|
||||
hi debugPC guifg=#282923 guibg=#51aebe gui=NONE cterm=NONE
|
||||
hi debugBreakpoint guifg=#282923 guibg=#f92672 gui=NONE cterm=NONE
|
||||
hi Cursor guifg=#000000 guibg=#dadada gui=NONE cterm=NONE
|
||||
hi lCursor guifg=#282923 guibg=#5fff00 gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#3a392f gui=NONE cterm=NONE
|
||||
hi CursorColumn guifg=NONE guibg=#3a392f gui=NONE cterm=NONE
|
||||
hi Folded guifg=#bababa guibg=#414141 gui=NONE cterm=NONE
|
||||
hi ColorColumn guifg=NONE guibg=#585858 gui=NONE cterm=NONE
|
||||
hi SpellBad guifg=NONE guibg=NONE guisp=#d75f5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi SpellCap guifg=NONE guibg=NONE guisp=#ffaf5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi SpellLocal guifg=NONE guibg=NONE guisp=#5fd75f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi SpellRare guifg=NONE guibg=NONE guisp=#fd5ff0 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Constant guifg=#ae81ff guibg=NONE gui=NONE cterm=NONE
|
||||
hi Type guifg=#fd971f guibg=NONE gui=bold cterm=bold
|
||||
hi Character guifg=#a6e22e guibg=NONE gui=NONE cterm=NONE
|
||||
hi Comment guifg=#74705d guibg=NONE gui=NONE cterm=NONE
|
||||
hi String guifg=#e6db74 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Function guifg=#a6e22e guibg=NONE gui=NONE cterm=NONE
|
||||
hi Identifier guifg=#66d9ef guibg=NONE gui=NONE cterm=NONE
|
||||
hi PreProc guifg=#f92672 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Special guifg=#80beb5 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Statement guifg=#f92672 guibg=NONE gui=bold cterm=bold
|
||||
hi Underlined guifg=#66d9ef guibg=NONE gui=underline cterm=underline
|
||||
hi Title guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Debug guifg=#80beb5 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Directory guifg=#a1efe4 guibg=NONE gui=bold cterm=bold
|
||||
hi Conceal guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
|
||||
hi DiffAdd guifg=#5faf5f guibg=NONE gui=reverse cterm=reverse
|
||||
hi DiffChange guifg=#5f87af guibg=NONE gui=reverse cterm=reverse
|
||||
hi DiffText guifg=#af87af guibg=NONE gui=reverse cterm=reverse
|
||||
hi DiffDelete guifg=#af5f5f guibg=NONE gui=reverse cterm=reverse
|
||||
hi Added guifg=#5fd75f guibg=NONE gui=NONE cterm=NONE
|
||||
hi Changed guifg=#ffaf5f guibg=NONE gui=NONE cterm=NONE
|
||||
hi Removed guifg=#d75f5f guibg=NONE gui=NONE cterm=NONE
|
||||
hi htmlBold guifg=#f8f8f2 guibg=NONE gui=bold cterm=bold
|
||||
hi htmlItalic guifg=#f8f8f2 guibg=NONE gui=italic cterm=italic
|
||||
hi markdownHeadingDelimiter guifg=#f8f8f2 guibg=NONE gui=NONE cterm=NONE
|
||||
hi markdownH1Delimiter guifg=#f92672 guibg=NONE gui=NONE cterm=NONE
|
||||
hi markdownH2Delimiter guifg=#e6db74 guibg=NONE gui=NONE cterm=NONE
|
||||
hi markdownH4Delimiter guifg=#66d9ef guibg=NONE gui=NONE cterm=NONE
|
||||
hi markdownH6Delimiter guifg=#a6e22e guibg=NONE gui=NONE cterm=NONE
|
||||
hi markdownH3Delimiter guifg=#fd971f guibg=NONE gui=NONE cterm=NONE
|
||||
hi markdownH5Delimiter guifg=#51aebe guibg=NONE gui=NONE cterm=NONE
|
||||
if !s:italics
|
||||
hi htmlItalic gui=NONE cterm=NONE
|
||||
endif
|
||||
|
||||
if s:t_Co >= 256
|
||||
hi! link CursorLineFold FoldColumn
|
||||
hi! link CursorLineSign SignColumn
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link Terminal Normal
|
||||
hi! link Delimiter PreProc
|
||||
hi! link Operator PreProc
|
||||
hi! link StorageClass PreProc
|
||||
hi! link Structure PreProc
|
||||
hi! link Define Identifier
|
||||
hi! link Label String
|
||||
hi! link markdownCode Comment
|
||||
hi! link markdownCodeBlock markdownCode
|
||||
hi! link markdownCodeDelimiter markdownCode
|
||||
hi Normal ctermfg=255 ctermbg=235 cterm=NONE
|
||||
hi StatusLine ctermfg=235 ctermbg=250 cterm=NONE
|
||||
hi StatusLineNC ctermfg=235 ctermbg=244 cterm=NONE
|
||||
hi VertSplit ctermfg=244 ctermbg=244 cterm=NONE
|
||||
hi TabLine ctermfg=235 ctermbg=244 cterm=NONE
|
||||
hi TabLineFill ctermfg=235 ctermbg=244 cterm=NONE
|
||||
hi TabLineSel ctermfg=235 ctermbg=250 cterm=bold
|
||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ToolbarButton ctermfg=244 ctermbg=255 cterm=bold,reverse
|
||||
hi QuickFixLine ctermfg=235 ctermbg=141 cterm=NONE
|
||||
hi CursorLineNr ctermfg=253 ctermbg=NONE cterm=bold
|
||||
hi LineNr ctermfg=245 ctermbg=NONE cterm=NONE
|
||||
hi LineNrAbove ctermfg=245 ctermbg=NONE cterm=NONE
|
||||
hi LineNrBelow ctermfg=245 ctermbg=NONE cterm=NONE
|
||||
hi NonText ctermfg=245 ctermbg=NONE cterm=NONE
|
||||
hi EndOfBuffer ctermfg=245 ctermbg=NONE cterm=NONE
|
||||
hi SpecialKey ctermfg=245 ctermbg=NONE cterm=NONE
|
||||
hi FoldColumn ctermfg=245 ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=116 ctermbg=235 cterm=reverse
|
||||
hi VisualNOS ctermfg=235 ctermbg=73 cterm=NONE
|
||||
hi Pmenu ctermfg=NONE ctermbg=240 cterm=NONE
|
||||
hi PmenuThumb ctermfg=NONE ctermbg=244 cterm=NONE
|
||||
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi PmenuSel ctermfg=NONE ctermbg=245 cterm=NONE
|
||||
hi PmenuKind ctermfg=73 ctermbg=240 cterm=NONE
|
||||
hi PmenuKindSel ctermfg=73 ctermbg=245 cterm=NONE
|
||||
hi PmenuExtra ctermfg=250 ctermbg=240 cterm=NONE
|
||||
hi PmenuExtraSel ctermfg=250 ctermbg=245 cterm=NONE
|
||||
hi PmenuMatch ctermfg=215 ctermbg=240 cterm=NONE
|
||||
hi PmenuMatchSel ctermfg=215 ctermbg=245 cterm=NONE
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Error ctermfg=197 ctermbg=16 cterm=reverse
|
||||
hi ErrorMsg ctermfg=197 ctermbg=16 cterm=reverse
|
||||
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi MoreMsg ctermfg=106 ctermbg=NONE cterm=NONE
|
||||
hi Question ctermfg=185 ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=197 ctermbg=NONE cterm=NONE
|
||||
hi Todo ctermfg=253 ctermbg=NONE cterm=bold
|
||||
hi MatchParen ctermfg=208 ctermbg=NONE cterm=bold
|
||||
hi Search ctermfg=81 ctermbg=235 cterm=reverse
|
||||
hi IncSearch ctermfg=215 ctermbg=235 cterm=reverse
|
||||
hi CurSearch ctermfg=215 ctermbg=235 cterm=reverse
|
||||
hi WildMenu ctermfg=235 ctermbg=185 cterm=bold
|
||||
hi debugPC ctermfg=235 ctermbg=73 cterm=NONE
|
||||
hi debugBreakpoint ctermfg=235 ctermbg=197 cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=237 cterm=NONE
|
||||
hi CursorColumn ctermfg=NONE ctermbg=237 cterm=NONE
|
||||
hi Folded ctermfg=250 ctermbg=238 cterm=NONE
|
||||
hi ColorColumn ctermfg=NONE ctermbg=240 cterm=NONE
|
||||
hi SpellBad ctermfg=167 ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=215 ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=77 ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=207 ctermbg=NONE cterm=underline
|
||||
hi Constant ctermfg=141 ctermbg=NONE cterm=NONE
|
||||
hi Type ctermfg=208 ctermbg=NONE cterm=bold
|
||||
hi Character ctermfg=112 ctermbg=NONE cterm=NONE
|
||||
hi Comment ctermfg=244 ctermbg=NONE cterm=NONE
|
||||
hi String ctermfg=185 ctermbg=NONE cterm=NONE
|
||||
hi Function ctermfg=112 ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=81 ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=197 ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=73 ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=197 ctermbg=NONE cterm=bold
|
||||
hi Underlined ctermfg=81 ctermbg=NONE cterm=underline
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Debug ctermfg=73 ctermbg=NONE cterm=NONE
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Directory ctermfg=116 ctermbg=NONE cterm=bold
|
||||
hi Conceal ctermfg=245 ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd ctermfg=71 ctermbg=NONE cterm=reverse
|
||||
hi DiffChange ctermfg=67 ctermbg=NONE cterm=reverse
|
||||
hi DiffText ctermfg=139 ctermbg=NONE cterm=reverse
|
||||
hi DiffDelete ctermfg=131 ctermbg=NONE cterm=reverse
|
||||
hi Added ctermfg=77 ctermbg=NONE cterm=NONE
|
||||
hi Changed ctermfg=215 ctermbg=NONE cterm=NONE
|
||||
hi Removed ctermfg=167 ctermbg=NONE cterm=NONE
|
||||
hi htmlBold ctermfg=255 ctermbg=NONE cterm=bold
|
||||
hi htmlItalic ctermfg=255 ctermbg=NONE cterm=underline
|
||||
hi markdownHeadingDelimiter ctermfg=255 ctermbg=NONE cterm=NONE
|
||||
hi markdownH1Delimiter ctermfg=197 ctermbg=NONE cterm=NONE
|
||||
hi markdownH2Delimiter ctermfg=185 ctermbg=NONE cterm=NONE
|
||||
hi markdownH4Delimiter ctermfg=81 ctermbg=NONE cterm=NONE
|
||||
hi markdownH6Delimiter ctermfg=112 ctermbg=NONE cterm=NONE
|
||||
hi markdownH3Delimiter ctermfg=208 ctermbg=NONE cterm=NONE
|
||||
hi markdownH5Delimiter ctermfg=73 ctermbg=NONE cterm=NONE
|
||||
unlet s:t_Co s:italics
|
||||
finish
|
||||
endif
|
||||
|
||||
if s:t_Co >= 16
|
||||
hi Normal ctermfg=white ctermbg=black cterm=NONE
|
||||
hi StatusLine ctermfg=black ctermbg=gray cterm=NONE
|
||||
hi StatusLineNC ctermfg=black ctermbg=darkgray cterm=NONE
|
||||
hi VertSplit ctermfg=darkgray ctermbg=darkgray cterm=NONE
|
||||
hi TabLine ctermfg=black ctermbg=darkgray cterm=NONE
|
||||
hi TabLineFill ctermfg=black ctermbg=darkgray cterm=NONE
|
||||
hi TabLineSel ctermfg=black ctermbg=gray cterm=bold
|
||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ToolbarButton ctermfg=darkgray ctermbg=white cterm=bold,reverse
|
||||
hi QuickFixLine ctermfg=black ctermbg=darkmagenta cterm=NONE
|
||||
hi CursorLineNr ctermfg=white ctermbg=NONE cterm=bold
|
||||
hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi LineNrAbove ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi LineNrBelow ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi FoldColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=cyan ctermbg=black cterm=reverse
|
||||
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||
hi Pmenu ctermfg=black ctermbg=gray cterm=NONE
|
||||
hi PmenuThumb ctermfg=gray ctermbg=black cterm=NONE
|
||||
hi PmenuSbar ctermfg=NONE ctermbg=gray cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi PmenuKind ctermfg=darkred ctermbg=gray cterm=NONE
|
||||
hi PmenuKindSel ctermfg=darkred ctermbg=darkyellow cterm=NONE
|
||||
hi PmenuExtra ctermfg=darkgray ctermbg=gray cterm=NONE
|
||||
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi PmenuMatch ctermfg=black ctermbg=gray cterm=bold
|
||||
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Error ctermfg=red ctermbg=black cterm=reverse
|
||||
hi ErrorMsg ctermfg=red ctermbg=black cterm=reverse
|
||||
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi Question ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
||||
hi Todo ctermfg=white ctermbg=NONE cterm=bold
|
||||
hi MatchParen ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||
hi Search ctermfg=blue ctermbg=black cterm=reverse
|
||||
hi IncSearch ctermfg=red ctermbg=black cterm=reverse
|
||||
hi CurSearch ctermfg=red ctermbg=black cterm=reverse
|
||||
hi WildMenu ctermfg=black ctermbg=yellow cterm=bold
|
||||
hi debugPC ctermfg=black ctermbg=darkblue cterm=NONE
|
||||
hi debugBreakpoint ctermfg=black ctermbg=red cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi CursorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi Folded ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=darkyellow ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=darkgreen ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
|
||||
hi Constant ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||
hi Type ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||
hi Character ctermfg=green ctermbg=NONE cterm=NONE
|
||||
hi Comment ctermfg=darkgray ctermbg=NONE cterm=NONE
|
||||
hi String ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi Function ctermfg=green ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=blue ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=red ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=red ctermbg=NONE cterm=bold
|
||||
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Debug ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Directory ctermfg=cyan ctermbg=NONE cterm=bold
|
||||
hi Conceal ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd ctermfg=darkgreen ctermbg=NONE cterm=reverse
|
||||
hi DiffChange ctermfg=darkblue ctermbg=NONE cterm=reverse
|
||||
hi DiffText ctermfg=darkmagenta ctermbg=NONE cterm=reverse
|
||||
hi DiffDelete ctermfg=darkred ctermbg=NONE cterm=reverse
|
||||
hi Added ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi Changed ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi htmlBold ctermfg=white ctermbg=NONE cterm=bold
|
||||
hi htmlItalic ctermfg=white ctermbg=NONE cterm=underline
|
||||
hi markdownHeadingDelimiter ctermfg=white ctermbg=NONE cterm=NONE
|
||||
hi markdownH1Delimiter ctermfg=red ctermbg=NONE cterm=NONE
|
||||
hi markdownH2Delimiter ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi markdownH4Delimiter ctermfg=blue ctermbg=NONE cterm=NONE
|
||||
hi markdownH6Delimiter ctermfg=green ctermbg=NONE cterm=NONE
|
||||
hi markdownH3Delimiter ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi markdownH5Delimiter ctermfg=darkblue ctermbg=NONE cterm=NONE
|
||||
unlet s:t_Co s:italics
|
||||
finish
|
||||
endif
|
||||
|
||||
if s:t_Co >= 8
|
||||
hi Normal ctermfg=gray ctermbg=black cterm=NONE
|
||||
hi StatusLine ctermfg=gray ctermbg=black cterm=bold,reverse
|
||||
hi StatusLineNC ctermfg=gray ctermbg=black cterm=reverse
|
||||
hi VertSplit ctermfg=gray ctermbg=gray cterm=NONE
|
||||
hi TabLine ctermfg=black ctermbg=gray cterm=NONE
|
||||
hi TabLineFill ctermfg=gray ctermbg=gray cterm=NONE
|
||||
hi TabLineSel ctermfg=black ctermbg=gray cterm=bold
|
||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ToolbarButton ctermfg=gray ctermbg=black cterm=reverse
|
||||
hi QuickFixLine ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi CursorLineNr ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||
hi LineNr ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi LineNrAbove ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi LineNrBelow ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi NonText ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi EndOfBuffer ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi SpecialKey ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi FoldColumn ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi Visual ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||
hi Pmenu ctermfg=black ctermbg=gray cterm=NONE
|
||||
hi PmenuThumb ctermfg=gray ctermbg=black cterm=NONE
|
||||
hi PmenuSbar ctermfg=NONE ctermbg=gray cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi PmenuKind ctermfg=darkred ctermbg=gray cterm=NONE
|
||||
hi PmenuKindSel ctermfg=darkred ctermbg=darkyellow cterm=NONE
|
||||
hi PmenuExtra ctermfg=black ctermbg=gray cterm=NONE
|
||||
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi PmenuMatch ctermfg=black ctermbg=gray cterm=bold
|
||||
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Error ctermfg=darkred ctermbg=gray cterm=bold,reverse
|
||||
hi ErrorMsg ctermfg=darkred ctermbg=gray cterm=bold,reverse
|
||||
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi Question ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi Todo ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi MatchParen ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||
hi Search ctermfg=black ctermbg=darkblue cterm=NONE
|
||||
hi IncSearch ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi CurSearch ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi debugPC ctermfg=black ctermbg=darkblue cterm=NONE
|
||||
hi debugBreakpoint ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi CursorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi Folded ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi SpellBad ctermfg=darkred ctermbg=gray cterm=reverse
|
||||
hi SpellCap ctermfg=darkblue ctermbg=gray cterm=reverse
|
||||
hi SpellLocal ctermfg=darkgreen ctermbg=black cterm=reverse
|
||||
hi SpellRare ctermfg=darkmagenta ctermbg=gray cterm=reverse
|
||||
hi Constant ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||
hi Type ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||
hi Character ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi Comment ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi String ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||
hi Function ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=darkblue ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=darkcyan ctermbg=NONE cterm=bold
|
||||
hi Statement ctermfg=darkred ctermbg=NONE cterm=bold
|
||||
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Debug ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
|
||||
hi Conceal ctermfg=gray ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd ctermfg=darkgreen ctermbg=NONE cterm=reverse
|
||||
hi DiffChange ctermfg=darkblue ctermbg=NONE cterm=reverse
|
||||
hi DiffText ctermfg=darkmagenta ctermbg=NONE cterm=reverse
|
||||
hi DiffDelete ctermfg=darkred ctermbg=NONE cterm=reverse
|
||||
hi Added ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi Changed ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi htmlBold ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi htmlItalic ctermfg=gray ctermbg=NONE cterm=underline
|
||||
hi markdownHeadingDelimiter ctermfg=gray ctermbg=NONE cterm=NONE
|
||||
hi markdownH1Delimiter ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi markdownH2Delimiter ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi markdownH4Delimiter ctermfg=darkblue ctermbg=NONE cterm=NONE
|
||||
hi markdownH6Delimiter ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi markdownH3Delimiter ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi markdownH5Delimiter ctermfg=darkblue ctermbg=NONE cterm=NONE
|
||||
unlet s:t_Co s:italics
|
||||
finish
|
||||
endif
|
||||
|
||||
if s:t_Co >= 0
|
||||
hi Normal term=NONE
|
||||
hi ColorColumn term=reverse
|
||||
hi Conceal term=NONE
|
||||
hi Cursor term=reverse
|
||||
hi CursorColumn term=NONE
|
||||
hi CursorLine term=underline
|
||||
hi CursorLineNr term=bold
|
||||
hi DiffAdd term=reverse
|
||||
hi DiffChange term=NONE
|
||||
hi DiffDelete term=reverse
|
||||
hi DiffText term=reverse
|
||||
hi Directory term=NONE
|
||||
hi EndOfBuffer term=NONE
|
||||
hi ErrorMsg term=bold,reverse
|
||||
hi FoldColumn term=NONE
|
||||
hi Folded term=NONE
|
||||
hi IncSearch term=bold,reverse,underline
|
||||
hi LineNr term=NONE
|
||||
hi MatchParen term=bold,underline
|
||||
hi ModeMsg term=bold
|
||||
hi MoreMsg term=NONE
|
||||
hi NonText term=NONE
|
||||
hi Pmenu term=reverse
|
||||
hi PmenuSbar term=reverse
|
||||
hi PmenuSel term=bold
|
||||
hi PmenuThumb term=NONE
|
||||
hi Question term=standout
|
||||
hi Search term=reverse
|
||||
hi SignColumn term=reverse
|
||||
hi SpecialKey term=bold
|
||||
hi SpellBad term=underline
|
||||
hi SpellCap term=underline
|
||||
hi SpellLocal term=underline
|
||||
hi SpellRare term=underline
|
||||
hi StatusLine term=bold,reverse
|
||||
hi StatusLineNC term=bold,underline
|
||||
hi TabLine term=bold,underline
|
||||
hi TabLineFill term=NONE
|
||||
hi Terminal term=NONE
|
||||
hi TabLineSel term=bold,reverse
|
||||
hi Title term=NONE
|
||||
hi VertSplit term=NONE
|
||||
hi Visual term=reverse
|
||||
hi VisualNOS term=NONE
|
||||
hi WarningMsg term=standout
|
||||
hi WildMenu term=bold
|
||||
hi CursorIM term=NONE
|
||||
hi ToolbarLine term=reverse
|
||||
hi ToolbarButton term=bold,reverse
|
||||
hi CurSearch term=reverse
|
||||
hi CursorLineFold term=underline
|
||||
hi CursorLineSign term=underline
|
||||
hi Comment term=bold
|
||||
hi Constant term=NONE
|
||||
hi Error term=bold,reverse
|
||||
hi Identifier term=NONE
|
||||
hi Ignore term=NONE
|
||||
hi PreProc term=NONE
|
||||
hi Special term=NONE
|
||||
hi Statement term=NONE
|
||||
hi Todo term=bold,reverse
|
||||
hi Type term=NONE
|
||||
hi Underlined term=underline
|
||||
unlet s:t_Co s:italics
|
||||
finish
|
||||
endif
|
||||
|
||||
" Background: dark
|
||||
" Color: color00 #282923 235 black
|
||||
" Color: color08 #74705d 244 darkgray
|
||||
" Color: color01 #c61e5c 125 darkred
|
||||
" Color: color09 #f92672 197 red
|
||||
" Color: color02 #81af24 106 darkgreen
|
||||
" Color: color10 #a6e22e 112 green
|
||||
" Color: color03 #fd971f 208 darkyellow
|
||||
" Color: color11 #e6db74 185 yellow
|
||||
" Color: color04 #51aebe 73 darkblue
|
||||
" Color: color12 #66d9ef 81 blue
|
||||
" Color: color05 #ae81ff 141 darkmagenta
|
||||
" Color: color13 #fd5ff0 207 magenta
|
||||
" Color: color06 #80beb5 73 darkcyan
|
||||
" Color: color14 #a1efe4 116 cyan
|
||||
" Color: color07 #bababa 250 gray
|
||||
" Color: color15 #f8f8f2 255 white
|
||||
" Color: colorLine #3a392f 237 darkgrey
|
||||
" Color: colorB #585858 240 darkgrey
|
||||
" Color: colorF #414141 238 darkgrey
|
||||
" Color: colorNonT #8a8a8a 245 darkgrey
|
||||
" Color: colorC #ffaf5f 215 red
|
||||
" Color: colorlC #5fff00 82 green
|
||||
" Color: colorV #1f3f5f 109 cyan
|
||||
" Color: colorMP #fd971f 208 darkyellow
|
||||
" Color: diffAdd #5faf5f 71 darkgreen
|
||||
" Color: diffDelete #af5f5f 131 darkred
|
||||
" Color: diffChange #5f87af 67 darkblue
|
||||
" Color: diffText #af87af 139 darkmagenta
|
||||
" Color: black #000000 16 black
|
||||
" Color: white #dadada 253 white
|
||||
" Color: Added #5fd75f 77 darkgreen
|
||||
" Color: Changed #ffaf5f 215 darkyellow
|
||||
" Color: Removed #d75f5f 167 darkred
|
||||
" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
|
||||
" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
|
||||
" vim: et ts=8 sw=2 sts=2
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -20,6 +20,7 @@ hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link MessageWindow PMenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link CurSearch IncSearch
|
||||
if &background ==# 'dark'
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
@@ -185,6 +186,7 @@ if s:t_Co >= 256
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link MessageWindow PMenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link CurSearch IncSearch
|
||||
if &background ==# 'dark'
|
||||
hi Normal ctermfg=252 ctermbg=16 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -91,6 +91,7 @@ hi! link TabLineFill StatusLineNC
|
||||
hi! link TabLineSel StatusLine
|
||||
hi! link Terminal Normal
|
||||
hi! link lCursor Cursor
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Boolean Constant
|
||||
hi! link Character Constant
|
||||
hi! link Conditional Statement
|
||||
@@ -196,6 +197,7 @@ if s:t_Co >= 256
|
||||
hi! link TabLineSel StatusLine
|
||||
hi! link Terminal Normal
|
||||
hi! link lCursor Cursor
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Boolean Constant
|
||||
hi! link Character Constant
|
||||
hi! link Conditional Statement
|
||||
@@ -304,6 +306,7 @@ if s:t_Co >= 16
|
||||
hi! link TabLineSel StatusLine
|
||||
hi! link Terminal Normal
|
||||
hi! link lCursor Cursor
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Boolean Constant
|
||||
hi! link Character Constant
|
||||
hi! link Conditional Statement
|
||||
@@ -412,6 +415,7 @@ if s:t_Co >= 8
|
||||
hi! link TabLineSel StatusLine
|
||||
hi! link Terminal Normal
|
||||
hi! link lCursor Cursor
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Boolean Constant
|
||||
hi! link Character Constant
|
||||
hi! link Conditional Statement
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -26,6 +26,7 @@ hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi Folded guifg=#00008b guibg=#d3d3d3 gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#e5e5e5 gui=NONE cterm=NONE
|
||||
@@ -101,6 +102,7 @@ if s:t_Co >= 256
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal ctermfg=16 ctermbg=231 cterm=NONE
|
||||
hi Folded ctermfg=18 ctermbg=252 cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=254 cterm=NONE
|
||||
|
||||
12
runtime/compiler/bash.vim
Normal file
12
runtime/compiler/bash.vim
Normal file
@@ -0,0 +1,12 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Bash Syntax Checker
|
||||
" Maintainer: @konfekt
|
||||
" Last Change: 2024 Dec 27
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "bash"
|
||||
|
||||
CompilerSet makeprg=bash\ -n
|
||||
CompilerSet errorformat=%f:\ line\ %l:\ %m
|
||||
@@ -6,6 +6,7 @@ vim9script
|
||||
# Contributors: Enno Nagel
|
||||
# Last Change: 2024 Mar 29
|
||||
# 2024 Apr 03 by The Vim Project (removed :CompilerSet definition)
|
||||
# 2025 Mar 11 by The Vim Project (add comment for Dispatch)
|
||||
|
||||
if exists("g:current_compiler")
|
||||
finish
|
||||
@@ -15,6 +16,7 @@ import autoload '../autoload/context.vim'
|
||||
|
||||
g:current_compiler = 'context'
|
||||
|
||||
# CompilerSet makeprg=context
|
||||
if get(b:, 'context_ignore_makefile', get(g:, 'context_ignore_makefile', 0)) ||
|
||||
(!filereadable('Makefile') && !filereadable('makefile'))
|
||||
var makeprg = join(context.ConTeXtCmd(shellescape(expand('%:p:t'))), ' ')
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
" Compiler: Java Development Kit Compiler
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2024 Nov 19 (enable local javac_makeprg_params)
|
||||
" 2025 Mar 11 (add comment for Dispatch)
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -11,6 +12,7 @@ let current_compiler = "javac"
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=javac
|
||||
execute $'CompilerSet makeprg=javac\ {escape(get(b:, 'javac_makeprg_params', get(g:, 'javac_makeprg_params', '')), ' \|"')}'
|
||||
|
||||
CompilerSet errorformat=%E%f:%l:\ error:\ %m,
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
" 2024 Apr 03 by the Vim Project (removed :CompilerSet definition)
|
||||
" 2024 Apr 05 by the Vim Project (avoid leaving behind g:makeprg)
|
||||
" 2024 Nov 19 by the Vim Project (properly escape makeprg setting)
|
||||
" 2025 Mar 11 by the Vim Project (add comment for Dispatch)
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -50,6 +51,8 @@ let s:makeprg = g:ps1_makeprg_cmd .. ' %:p:S'
|
||||
" + CategoryInfo : ObjectNotFound: (Write-Ouput:String) [], CommandNotFoundException
|
||||
" + FullyQualifiedErrorId : CommandNotFoundException
|
||||
|
||||
" CompilerSet makeprg=pwsh
|
||||
" CompilerSet makeprg=powershell
|
||||
execute 'CompilerSet makeprg=' .. escape(s:makeprg, ' \|"')
|
||||
|
||||
" Showing error in context with underlining.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Spotbugs (Java static checker; needs javac compiled classes)
|
||||
" Maintainer: @konfekt and @zzzyxwvut
|
||||
" Last Change: 2024 Dec 14
|
||||
" Maintainers: @konfekt and @zzzyxwvut
|
||||
" Last Change: 2024 Dec 20
|
||||
|
||||
if exists('g:current_compiler') || bufname() !~# '\.java\=$' || wordcount().chars < 9
|
||||
finish
|
||||
|
||||
21
runtime/compiler/svelte-check.vim
Normal file
21
runtime/compiler/svelte-check.vim
Normal file
@@ -0,0 +1,21 @@
|
||||
" Vim compiler file
|
||||
" Compiler: svelte-check
|
||||
" Maintainer: @Konfekt
|
||||
" Last Change: 2025 Feb 27
|
||||
|
||||
if exists("current_compiler") | finish | endif
|
||||
let current_compiler = "svelte-check"
|
||||
|
||||
CompilerSet makeprg=npx\ svelte-check\ --output\ machine
|
||||
CompilerSet errorformat=%*\\d\ %t%*\\a\ \"%f\"\ %l:%c\ \"%m\",
|
||||
CompilerSet errorformat+=%-G%*\\d\ START\ %.%#,
|
||||
CompilerSet errorformat+=%-G%*\\d\ COMPLETED\ %.%#,
|
||||
CompilerSet errorformat+=%-G%.%#
|
||||
|
||||
" " Fall-back for versions of svelte-check that don't support --output machine
|
||||
" " before May 2020 https://github.com/sveltejs/language-tools/commit/9f7a90379d287a41621a5e78af5b010a8ab810c3
|
||||
" " which is before the first production release 1.1.31 of Svelte-Check
|
||||
" CompilerSet makeprg=npx\ svelte-check
|
||||
" CompilerSet errorformat=%A%f:%l:%c,
|
||||
" CompilerSet errorformat+=%C%t%*\\a\\:\ %m,
|
||||
" CompilerSet errorformat+=%-G%.%#,
|
||||
@@ -6,6 +6,7 @@
|
||||
" 2024 Apr 03 by the Vim Project (removed :CompilerSet definition)
|
||||
" 2024 Apr 05 by the Vim Project (avoid leaving behind g:makeprg)
|
||||
" 2024 Nov 19 by the Vim Project (properly escape makeprg setting)
|
||||
" 2025 Mar 11 by the Vim Project (add comment for Dispatch)
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -28,6 +29,7 @@ if exists('b:tex_ignore_makefile') || exists('g:tex_ignore_makefile') ||
|
||||
let current_compiler = "latex"
|
||||
endif
|
||||
let s:makeprg=current_compiler .. ' -interaction=nonstopmode'
|
||||
" CompilerSet makeprg=latex
|
||||
execute 'CompilerSet makeprg=' .. escape(s:makeprg, ' \|"')
|
||||
else
|
||||
let current_compiler = 'make'
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
" Compiler: TypeScript Compiler
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2024 Apr 03
|
||||
" 2025 Mar 11 by The Vim Project (add comment for Dispatch, add tsc_makeprg variable)
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -11,9 +12,9 @@ let current_compiler = "tsc"
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=tsc
|
||||
" CompilerSet makeprg=npx\ tsc
|
||||
|
||||
CompilerSet makeprg=tsc
|
||||
execute $'CompilerSet makeprg={escape(get(b:, 'tsc_makeprg', get(g:, 'tsc_makeprg', 'tsc')), ' \|"')}'
|
||||
CompilerSet errorformat=%f\ %#(%l\\,%c):\ %trror\ TS%n:\ %m,
|
||||
\%trror\ TS%n:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
" Language: Typst
|
||||
" Previous Maintainer: Gregory Anders
|
||||
" Maintainer: Luca Saccarola <github.e41mv@aleeas.com>
|
||||
" Based On: https://github.com/kaarmu/typst.vim
|
||||
" Last Change: 2024 Dec 09
|
||||
" Based on: https://github.com/kaarmu/typst.vim
|
||||
" 2025 Mar 11 by the Vim Project (add comment for Dispatch)
|
||||
|
||||
if exists('current_compiler')
|
||||
finish
|
||||
@@ -13,4 +14,5 @@ let current_compiler = get(g:, 'typst_cmd', 'typst')
|
||||
" With `--diagnostic-format` we can use the default errorformat
|
||||
let s:makeprg = [current_compiler, 'compile', '--diagnostic-format', 'short', '%:S']
|
||||
|
||||
" CompilerSet makeprg=typst
|
||||
execute 'CompilerSet makeprg=' . join(s:makeprg, '\ ')
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
# Correct the following line for the where executable file vim is installed.
|
||||
# Please do not put the path in quotes.
|
||||
VIMPROG = D:\Programs\Vim\vim91\vim.exe
|
||||
VIMPROG = ..\..\src\vim.exe
|
||||
|
||||
# Correct the following line for the directory where iconv installed.
|
||||
# Please do not put the path in quotes.
|
||||
@@ -54,7 +54,7 @@ tags : doctags $(DOCS)
|
||||
doctags.exe $(DOCS) | sort /L C /O tags
|
||||
$(PS) $(PSFLAGS) \
|
||||
(Get-Content -Raw tags ^| Get-Unique ^| %%{$$_ -replace \"`r\", \"\"}) \
|
||||
^| New-Item -Path . -Force -ItemType file -Name tags
|
||||
^| New-Item -Path . -Name tags -ItemType file -Force
|
||||
|
||||
doctags : doctags.c
|
||||
$(CC) doctags.c
|
||||
@@ -65,15 +65,6 @@ doctags : doctags.c
|
||||
vimtags : $(DOCS)
|
||||
@"$(VIMPROG)" --clean -esX -V1 -u doctags.vim
|
||||
|
||||
|
||||
uganda.nsis.txt : uganda.???
|
||||
! $(PS) $(PSFLAGS) (Get-Content $? -Encoding UTF8 \
|
||||
^| %%{$$_ -replace '[\t\s]*\*.*\*', '' -replace 'vim:tw=\d\d:.*', ''}) \
|
||||
^| Set-Content \"$(@B)$$((Get-Item $?).Extension)\" -Encoding Unicode
|
||||
! $(PS) $(PSFLAGS)\
|
||||
(Get-Content $(@B)$$((Get-Item $?).Extension) -Raw).Trim() -replace '(\r\n){3,}', '$$1$$1' \
|
||||
^| Set-Content \"$(@B)$$((Get-Item $?).Extension)\" -Encoding Unicode
|
||||
|
||||
# TODO:
|
||||
#html: noerrors tags $(HTMLS)
|
||||
# if exist errors.log (more errors.log)
|
||||
@@ -108,8 +99,8 @@ test_urls :
|
||||
"$(VIMPROG)" --clean -S test_urls.vim
|
||||
|
||||
clean :
|
||||
$(RM) doctags.exe doctags.obj
|
||||
$(RM) *.html vim-stylesheet.css
|
||||
- $(RM) doctags.exe doctags.obj
|
||||
- $(RM) *.html vim-stylesheet.css
|
||||
|
||||
|
||||
arabic.txt :
|
||||
|
||||
@@ -49,16 +49,6 @@ vimtutor.man: vimtutor.1
|
||||
xxd.man: xxd.1
|
||||
nroff -man $? | sed -e s/.//g > $@
|
||||
|
||||
uganda.nsis.txt : uganda.???
|
||||
for dpn in $?; do \
|
||||
trg=$@; \
|
||||
sed -e 's/[ ]*\*.*\*//g' -e 's/vim:tw=[[:digit:]][[:digit:]]:.*//' \
|
||||
$${dpn} | uniq > $${trg%txt}$${dpn##*.}; \
|
||||
done
|
||||
# This files needs to be in dos fileformat for NSIS.
|
||||
$(VIMPROG) -e -X -u NONE --cmd "set notitle noicon nocp noml viminfo=" \
|
||||
-c "argdo write ++ff=dos" -c "qa" uganda.nsis.???
|
||||
|
||||
# Awk version of .txt to .html conversion.
|
||||
html: noerrors tags $(HTMLS)
|
||||
@if test -f errors.log; then more errors.log; fi
|
||||
@@ -151,6 +141,9 @@ os_risc.txt:
|
||||
os_win32.txt:
|
||||
touch $@
|
||||
|
||||
pi_netrw.txt: ../pack/dist/opt/netrw/doc/netrw.txt
|
||||
cp ../pack/dist/opt/netrw/doc/netrw.txt $@
|
||||
|
||||
vietnamese.txt:
|
||||
touch $@
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 9.1. Last change: 2024 Dec 04
|
||||
*autocmd.txt* For Vim version 9.1. Last change: 2025 Mar 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -387,6 +387,7 @@ Name triggered by ~
|
||||
|TabNew| after creating a new tab page
|
||||
|WinClosed| after closing a window
|
||||
|TabClosed| after closing a tab page
|
||||
|TabClosedPre| before closing a tab page
|
||||
|WinEnter| after entering another window
|
||||
|WinLeave| before leaving a window
|
||||
|TabEnter| after entering another tab page
|
||||
@@ -603,6 +604,8 @@ CmdUndefined When a user command is used but it isn't
|
||||
when it's used. The pattern is matched
|
||||
against the command name. Both <amatch> and
|
||||
<afile> are set to the name of the command.
|
||||
This is triggered even when inside an
|
||||
autocommand defined without |autocmd-nested|.
|
||||
NOTE: Autocompletion won't work until the
|
||||
command is defined. An alternative is to
|
||||
always define the user command and have it
|
||||
@@ -934,7 +937,9 @@ FuncUndefined When a user function is used but it isn't
|
||||
when it's used. The pattern is matched
|
||||
against the function name. Both <amatch> and
|
||||
<afile> are set to the name of the function.
|
||||
Not triggered when compiling a |Vim9|
|
||||
This is triggered even when inside an
|
||||
autocommand defined without |autocmd-nested|,
|
||||
but not triggered when compiling a |Vim9|
|
||||
function.
|
||||
NOTE: When writing Vim scripts a better
|
||||
alternative is to use an autoloaded function.
|
||||
@@ -1228,6 +1233,10 @@ Syntax When the 'syntax' option has been set. The
|
||||
See |:syn-on|.
|
||||
*TabClosed*
|
||||
TabClosed After closing a tab page.
|
||||
*TabClosedPre*
|
||||
TabClosedPre Before closing a tab page. The window layout
|
||||
is locked, thus opening and closing of windows
|
||||
is prohibited.
|
||||
*TabEnter*
|
||||
TabEnter Just after entering a tab page. |tab-page|
|
||||
After triggering the WinEnter and before
|
||||
@@ -1342,6 +1351,10 @@ TextYankPost After text has been yanked or deleted in the
|
||||
called recursively.
|
||||
It is not allowed to change the buffer text,
|
||||
see |textlock|. *E1064*
|
||||
Also triggered indirectly when Vim tries to
|
||||
become owner of the Visual selection because
|
||||
of setting "autoselect" for 'guioptions' or
|
||||
'clipboard'.
|
||||
{only when compiled with the +eval feature}
|
||||
|
||||
*User*
|
||||
@@ -1992,6 +2005,9 @@ To disable autocommands for some time use the 'eventignore' option. Note that
|
||||
this may cause unexpected behavior, make sure you restore 'eventignore'
|
||||
afterwards, using a |:try| block with |:finally|.
|
||||
|
||||
To disable autocmds indefinitely in a specific window use the 'eventignorewin'
|
||||
option. This can only be used to ignore window and buffer related events.
|
||||
|
||||
*:noautocmd* *:noa*
|
||||
To disable autocommands for just one command use the ":noautocmd" command
|
||||
modifier. This will set 'eventignore' to "all" for the duration of the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*builtin.txt* For Vim version 9.1. Last change: 2024 Dec 03
|
||||
*builtin.txt* For Vim version 9.1. Last change: 2025 Mar 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -67,9 +67,12 @@ autocmd_get([{opts}]) List return a list of autocmds
|
||||
balloon_gettext() String current text in the balloon
|
||||
balloon_show({expr}) none show {expr} inside the balloon
|
||||
balloon_split({msg}) List split {msg} as used for a balloon
|
||||
base64_decode({string}) Blob base64 decode {string} characters
|
||||
base64_encode({blob}) String base64 encode the bytes in {blob}
|
||||
bindtextdomain({package}, {path})
|
||||
Bool bind text domain to specified path
|
||||
blob2list({blob}) List convert {blob} into a list of numbers
|
||||
blob2str({blob} [, {options}]) List convert {blob} into a list of strings
|
||||
browse({save}, {title}, {initdir}, {default})
|
||||
String put up a file requester
|
||||
browsedir({title}, {initdir}) String put up a directory requester
|
||||
@@ -204,7 +207,7 @@ foldclosedend({lnum}) Number last line of fold at {lnum} if closed
|
||||
foldlevel({lnum}) Number fold level at {lnum}
|
||||
foldtext() String line displayed for closed fold
|
||||
foldtextresult({lnum}) String text for closed fold at {lnum}
|
||||
foreach({expr1}, {expr2}) List/Dict/Blob/String
|
||||
foreach({expr1}, {expr2}) List/Tuple/Dict/Blob/String
|
||||
for each item in {expr1} call {expr2}
|
||||
foreground() Number bring the Vim window to the foreground
|
||||
fullcommand({name} [, {vim9}]) String get full command from {name}
|
||||
@@ -225,12 +228,12 @@ getbufvar({buf}, {varname} [, {def}])
|
||||
getcellpixels() List get character cell pixel size
|
||||
getcellwidths() List get character cell width overrides
|
||||
getchangelist([{buf}]) List list of change list items
|
||||
getchar([{expr}]) Number or String
|
||||
getchar([{expr} [, {opts}]]) Number or String
|
||||
get one character from the user
|
||||
getcharmod() Number modifiers for the last typed character
|
||||
getcharpos({expr}) List position of cursor, mark, etc.
|
||||
getcharsearch() Dict last character search
|
||||
getcharstr([{expr}]) String get one character from the user
|
||||
getcharstr([{expr} [, {opts}]]) String get one character from the user
|
||||
getcmdcomplpat() String return the completion pattern of the
|
||||
current command-line completion
|
||||
getcmdcompltype() String return the type of the current
|
||||
@@ -277,6 +280,7 @@ getregionpos({pos1}, {pos2} [, {opts}])
|
||||
List get a list of positions for a region
|
||||
getregtype([{regname}]) String type of a register
|
||||
getscriptinfo([{opts}]) List list of sourced scripts
|
||||
getstacktrace() List get current stack trace of Vim scripts
|
||||
gettabinfo([{expr}]) List list of tab pages
|
||||
gettabvar({nr}, {varname} [, {def}])
|
||||
any variable {varname} in tab {nr} or {def}
|
||||
@@ -344,7 +348,7 @@ job_start({command} [, {options}])
|
||||
Job start a job
|
||||
job_status({job}) String get the status of {job}
|
||||
job_stop({job} [, {how}]) Number stop {job}
|
||||
join({list} [, {sep}]) String join {list} items into one String
|
||||
join({expr} [, {sep}]) String join items in {expr} into one String
|
||||
js_decode({string}) any decode JS style JSON
|
||||
js_encode({expr}) String encode JS style JSON
|
||||
json_decode({string}) any decode JSON
|
||||
@@ -360,6 +364,7 @@ line2byte({lnum}) Number byte count of line {lnum}
|
||||
lispindent({lnum}) Number Lisp indent for line {lnum}
|
||||
list2blob({list}) Blob turn {list} of numbers into a Blob
|
||||
list2str({list} [, {utf8}]) String turn {list} of numbers into a String
|
||||
list2tuple({list}) Tuple turn {list} of items into a tuple
|
||||
listener_add({callback} [, {buf}])
|
||||
Number add a callback to listen to changes
|
||||
listener_flush([{buf}]) none invoke listener callbacks
|
||||
@@ -412,6 +417,8 @@ mkdir({name} [, {flags} [, {prot}]])
|
||||
mode([{expr}]) String current editing mode
|
||||
mzeval({expr}) any evaluate |MzScheme| expression
|
||||
nextnonblank({lnum}) Number line nr of non-blank line >= {lnum}
|
||||
ngettext({single}, {plural}, {number}[, {domain}])
|
||||
String translate text based on {number}
|
||||
nr2char({expr} [, {utf8}]) String single char with ASCII/UTF-8 value {expr}
|
||||
or({expr}, {expr}) Number bitwise OR
|
||||
pathshorten({expr} [, {len}]) String shorten directory names in a path
|
||||
@@ -505,10 +512,10 @@ remove({blob}, {idx} [, {end}]) Number/Blob
|
||||
remove bytes {idx}-{end} from {blob}
|
||||
remove({dict}, {key}) any remove entry {key} from {dict}
|
||||
rename({from}, {to}) Number rename (move) file from {from} to {to}
|
||||
repeat({expr}, {count}) List/Blob/String
|
||||
repeat({expr}, {count}) List/Tuple/Blob/String
|
||||
repeat {expr} {count} times
|
||||
resolve({filename}) String get filename a shortcut points to
|
||||
reverse({obj}) List/Blob/String
|
||||
reverse({obj}) List/Tuple/Blob/String
|
||||
reverse {obj}
|
||||
round({expr}) Float round off {expr}
|
||||
rubyeval({expr}) any evaluate |Ruby| expression
|
||||
@@ -606,6 +613,7 @@ split({expr} [, {pat} [, {keepempty}]])
|
||||
sqrt({expr}) Float square root of {expr}
|
||||
srand([{expr}]) List get seed for |rand()|
|
||||
state([{what}]) String current state of Vim
|
||||
str2blob({list} [, {options}]) Blob convert list of strings into a Blob
|
||||
str2float({expr} [, {quoted}]) Float convert String to Float
|
||||
str2list({expr} [, {utf8}]) List convert each character of {expr} to
|
||||
ASCII/UTF-8 value
|
||||
@@ -706,6 +714,7 @@ test_null_job() Job null value for testing
|
||||
test_null_list() List null value for testing
|
||||
test_null_partial() Funcref null value for testing
|
||||
test_null_string() String null value for testing
|
||||
test_null_tuple() Tuple null value for testing
|
||||
test_option_not_set({name}) none reset flag indicating option was set
|
||||
test_override({expr}, {val}) none test with Vim internal overrides
|
||||
test_refcount({expr}) Number get the reference count of {expr}
|
||||
@@ -727,6 +736,7 @@ tr({src}, {fromstr}, {tostr}) String translate chars of {src} in {fromstr}
|
||||
trim({text} [, {mask} [, {dir}]])
|
||||
String trim characters in {mask} from {text}
|
||||
trunc({expr}) Float truncate Float {expr}
|
||||
tuple2list({tuple}) List turn {tuple} of items into a list
|
||||
type({expr}) Number type of value {expr}
|
||||
typename({expr}) String representation of the type of {expr}
|
||||
undofile({name}) String undo file name for {name}
|
||||
@@ -1225,6 +1235,43 @@ balloon_split({msg}) *balloon_split()*
|
||||
|
||||
Return type: list<any> or list<string>
|
||||
|
||||
base64_decode({string}) *base64_decode()*
|
||||
Return a Blob containing the bytes decoded from the base64
|
||||
encoded characters in {string}.
|
||||
|
||||
The {string} argument should contain only base64-encoded
|
||||
characters and should have a length that is a multiple of 4.
|
||||
|
||||
Returns an empty blob on error.
|
||||
|
||||
Examples: >
|
||||
" Write the decoded contents to a binary file
|
||||
call writefile(base64_decode(s), 'tools.bmp')
|
||||
" Decode a base64-encoded string
|
||||
echo blob2str(base64_decode(encodedstr))
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
GetEncodedString()->base64_decode()
|
||||
<
|
||||
Return type: |Blob|
|
||||
|
||||
|
||||
base64_encode({blob}) *base64_encode()*
|
||||
Return a base64-encoded String representing the bytes in
|
||||
{blob}. The base64 alphabet defined in RFC 4648 is used.
|
||||
|
||||
Examples: >
|
||||
" Encode the contents of a binary file
|
||||
echo base64_encode(readblob('somefile.bin'))
|
||||
" Encode a string
|
||||
echo base64_encode(str2blob([somestr]))
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
GetBinaryData()->base64_encode()
|
||||
<
|
||||
Return type: |String|
|
||||
|
||||
|
||||
bindtextdomain({package}, {path}) *bindtextdomain()*
|
||||
Bind a specific {package} to a {path} so that the
|
||||
|gettext()| function can be used to get language-specific
|
||||
@@ -1249,6 +1296,48 @@ blob2list({blob}) *blob2list()*
|
||||
<
|
||||
Return type: list<any> or list<number>
|
||||
|
||||
|
||||
blob2str({blob} [, {options}]) *blob2str()*
|
||||
Return a List of Strings in the current 'encoding' by
|
||||
converting the bytes in {blob} into characters.
|
||||
|
||||
Each <NL> byte in the blob is interpreted as the end of a
|
||||
string and a new list item is added. Each <NUL> byte in the
|
||||
blob is converted into a <NL> character.
|
||||
|
||||
If {options} is not supplied, the current 'encoding' value is
|
||||
used to decode the bytes in {blob}.
|
||||
|
||||
The argument {options} is a |Dict| and supports the following
|
||||
items:
|
||||
encoding Decode the bytes in {blob} using this
|
||||
encoding. The value is a |String|. See
|
||||
|encoding-names| for the supported values
|
||||
(plus the special value "none").
|
||||
*E1515* *E1516*
|
||||
When current 'encoding' is "utf-8", an error is given and an
|
||||
empty List is returned if an invalid byte sequence is
|
||||
encountered in {blob}. To suppress this validation and get
|
||||
potentially invalid string, set "encoding" in {options} to
|
||||
"none".
|
||||
|
||||
Returns an empty List if blob is empty.
|
||||
|
||||
See also |str2blob()|
|
||||
|
||||
Examples: >
|
||||
blob2str(0z6162) returns ['ab']
|
||||
blob2str(0zC2ABC2BB) returns ['«»']
|
||||
blob2str(0z610A62) returns ['a', 'b']
|
||||
blob2str(0z610062) returns ['a\nb']
|
||||
blob2str(0zABBB, {'encoding': 'latin1'}) returns ['«»']
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
GetBlob()->blob2str()
|
||||
<
|
||||
Return type: list<string>
|
||||
|
||||
|
||||
*browse()*
|
||||
browse({save}, {title}, {initdir}, {default})
|
||||
Put up a file requester. This only works when "has("browse")"
|
||||
@@ -1857,16 +1946,22 @@ complete_info([{what}]) *complete_info()*
|
||||
See |complete_info_mode| for the values.
|
||||
pum_visible |TRUE| if popup menu is visible.
|
||||
See |pumvisible()|.
|
||||
items List of completion matches. Each item is a
|
||||
dictionary containing the entries "word",
|
||||
items List of all completion candidates. Each item
|
||||
is a dictionary containing the entries "word",
|
||||
"abbr", "menu", "kind", "info" and "user_data".
|
||||
See |complete-items|.
|
||||
matches Same as "items", but only returns items that
|
||||
are matching current query. If both "matches"
|
||||
and "items" are in "what", the returned list
|
||||
will still be named "items", but each item
|
||||
will have an additional "match" field.
|
||||
selected Selected item index. First index is zero.
|
||||
Index is -1 if no item is selected (showing
|
||||
typed text only, or the last completion after
|
||||
no item is selected when using the <Up> or
|
||||
<Down> keys)
|
||||
inserted Inserted string. [NOT IMPLEMENTED YET]
|
||||
completed Return a dictionary containing the entries of
|
||||
the currently selected index item.
|
||||
|
||||
*complete_info_mode*
|
||||
mode values are:
|
||||
@@ -1981,7 +2076,8 @@ copy({expr}) *copy()*
|
||||
that the original |List| can be changed without changing the
|
||||
copy, and vice versa. But the items are identical, thus
|
||||
changing an item changes the contents of both |Lists|.
|
||||
A |Dictionary| is copied in a similar way as a |List|.
|
||||
A |Tuple| or |Dictionary| is copied in a similar way as a
|
||||
|List|.
|
||||
Also see |deepcopy()|.
|
||||
Can also be used as a |method|: >
|
||||
mylist->copy()
|
||||
@@ -2024,10 +2120,10 @@ cosh({expr}) *cosh()*
|
||||
|
||||
count({comp}, {expr} [, {ic} [, {start}]]) *count()* *E706*
|
||||
Return the number of times an item with value {expr} appears
|
||||
in |String|, |List| or |Dictionary| {comp}.
|
||||
in |String|, |List|, |Tuple| or |Dictionary| {comp}.
|
||||
|
||||
If {start} is given then start with the item with this index.
|
||||
{start} can only be used with a |List|.
|
||||
{start} can only be used with a |List| or a |Tuple|.
|
||||
|
||||
When {ic} is given and it's |TRUE| then case is ignored.
|
||||
|
||||
@@ -2147,7 +2243,8 @@ deepcopy({expr} [, {noref}]) *deepcopy()* *E698*
|
||||
|Dictionary|, a copy for it is made, recursively. Thus
|
||||
changing an item in the copy does not change the contents of
|
||||
the original |List|.
|
||||
A |Dictionary| is copied in a similar way as a |List|.
|
||||
A |Tuple| or |Dictionary| is copied in a similar way as a
|
||||
|List|.
|
||||
|
||||
When {noref} is omitted or zero a contained |List| or
|
||||
|Dictionary| is only copied once. All references point to
|
||||
@@ -2455,8 +2552,8 @@ echoraw({string}) *echoraw()*
|
||||
|
||||
empty({expr}) *empty()*
|
||||
Return the Number 1 if {expr} is empty, zero otherwise.
|
||||
- A |List| or |Dictionary| is empty when it does not have any
|
||||
items.
|
||||
- A |List|, |Tuple| or |Dictionary| is empty when it does
|
||||
not have any items.
|
||||
- A |String| is empty when its length is zero.
|
||||
- A |Number| and |Float| are empty when their value is zero.
|
||||
- |v:false|, |v:none| and |v:null| are empty, |v:true| is not.
|
||||
@@ -2920,7 +3017,8 @@ extend({expr1}, {expr2} [, {expr3}]) *extend()*
|
||||
When {expr3} is omitted then "force" is assumed.
|
||||
|
||||
{expr1} is changed when {expr2} is not empty. If necessary
|
||||
make a copy of {expr1} first.
|
||||
make a copy of {expr1} first or use |extendnew()| to return a
|
||||
new List/Dictionary.
|
||||
{expr2} remains unchanged.
|
||||
When {expr1} is locked and {expr2} is not empty the operation
|
||||
fails.
|
||||
@@ -3382,8 +3480,9 @@ foldtextresult({lnum}) *foldtextresult()*
|
||||
Return type: |String|
|
||||
|
||||
|
||||
foreach({expr1}, {expr2}) *foreach()*
|
||||
{expr1} must be a |List|, |String|, |Blob| or |Dictionary|.
|
||||
foreach({expr1}, {expr2}) *foreach()* *E1525*
|
||||
{expr1} must be a |List|, |Tuple|, |String|, |Blob| or
|
||||
|Dictionary|.
|
||||
For each item in {expr1} execute {expr2}. {expr1} is not
|
||||
modified; its values may be, as with |:lockvar| 1. |E741|
|
||||
See |map()| and |filter()| to modify {expr1}.
|
||||
@@ -3392,10 +3491,10 @@ foreach({expr1}, {expr2}) *foreach()*
|
||||
|
||||
If {expr2} is a |string|, inside {expr2} |v:val| has the value
|
||||
of the current item. For a |Dictionary| |v:key| has the key
|
||||
of the current item and for a |List| |v:key| has the index of
|
||||
the current item. For a |Blob| |v:key| has the index of the
|
||||
current byte. For a |String| |v:key| has the index of the
|
||||
current character.
|
||||
of the current item and for a |List| or a |Tuple| |v:key| has
|
||||
the index of the current item. For a |Blob| |v:key| has the
|
||||
index of the current byte. For a |String| |v:key| has the
|
||||
index of the current character.
|
||||
Examples: >
|
||||
call foreach(mylist, 'used[v:val] = true')
|
||||
< This records the items that are in the {expr1} list.
|
||||
@@ -3421,8 +3520,8 @@ foreach({expr1}, {expr2}) *foreach()*
|
||||
Can also be used as a |method|: >
|
||||
mylist->foreach(expr2)
|
||||
<
|
||||
Return type: |String|, |Blob| list<{type}> or dict<{type}>
|
||||
depending on {expr1}
|
||||
Return type: |String|, |Blob|, list<{type}>, tuple<{type}> or
|
||||
dict<{type}> depending on {expr1}
|
||||
|
||||
*foreground()*
|
||||
foreground() Move the Vim window to the foreground. Useful when sent from
|
||||
@@ -3595,6 +3694,15 @@ get({list}, {idx} [, {default}]) *get()* *get()-list*
|
||||
<
|
||||
Return type: any, depending on {list}
|
||||
|
||||
get({tuple}, {idx} [, {default}]) *get()-tuple*
|
||||
Get item {idx} from |Tuple| {tuple}. When this item is not
|
||||
available return {default}. Return zero when {default} is
|
||||
omitted.
|
||||
Preferably used as a |method|: >
|
||||
mytuple->get(idx)
|
||||
<
|
||||
Return type: any, depending on {tuple}
|
||||
|
||||
get({blob}, {idx} [, {default}]) *get()-blob*
|
||||
Get byte {idx} from |Blob| {blob}. When this byte is not
|
||||
available return {default}. Return -1 when {default} is
|
||||
@@ -3832,14 +3940,16 @@ getchangelist([{buf}]) *getchangelist()*
|
||||
Return type: list<any>
|
||||
|
||||
|
||||
getchar([{expr}]) *getchar()*
|
||||
getchar([{expr} [, {opts}]]) *getchar()*
|
||||
Get a single character from the user or input stream.
|
||||
If {expr} is omitted, wait until a character is available.
|
||||
If {expr} is omitted or is -1, wait until a character is
|
||||
available.
|
||||
If {expr} is 0, only get a character when one is available.
|
||||
Return zero otherwise.
|
||||
If {expr} is 1, only check if a character is available, it is
|
||||
not consumed. Return zero if no character available.
|
||||
If you prefer always getting a string use |getcharstr()|.
|
||||
If you prefer always getting a string use |getcharstr()|, or
|
||||
specify |FALSE| as "number" in {opts}.
|
||||
|
||||
Without {expr} and when {expr} is 0 a whole character or
|
||||
special key is returned. If it is a single character, the
|
||||
@@ -3849,7 +3959,8 @@ getchar([{expr}]) *getchar()*
|
||||
starting with 0x80 (decimal: 128). This is the same value as
|
||||
the String "\<Key>", e.g., "\<Left>". The returned value is
|
||||
also a String when a modifier (shift, control, alt) was used
|
||||
that is not included in the character.
|
||||
that is not included in the character. |keytrans()| can also
|
||||
be used to convert a returned String into a readable form.
|
||||
|
||||
When {expr} is 0 and Esc is typed, there will be a short delay
|
||||
while Vim waits to see if this is the start of an escape
|
||||
@@ -3861,6 +3972,31 @@ getchar([{expr}]) *getchar()*
|
||||
|
||||
Use getcharmod() to obtain any additional modifiers.
|
||||
|
||||
The optional argument {opts} is a Dict and supports the
|
||||
following items:
|
||||
|
||||
cursor A String specifying cursor behavior
|
||||
when waiting for a character.
|
||||
"hide": hide the cursor.
|
||||
"keep": keep current cursor unchanged.
|
||||
"msg": move cursor to message area.
|
||||
(default: "msg")
|
||||
|
||||
number If |TRUE|, return a Number when getting
|
||||
a single character.
|
||||
If |FALSE|, the return value is always
|
||||
converted to a String, and an empty
|
||||
String (instead of 0) is returned when
|
||||
no character is available.
|
||||
(default: |TRUE|)
|
||||
|
||||
simplify If |TRUE|, include modifiers in the
|
||||
character if possible. E.g., return
|
||||
the same value for CTRL-I and <Tab>.
|
||||
If |FALSE|, don't include modifiers in
|
||||
the character.
|
||||
(default: |TRUE|)
|
||||
|
||||
When the user clicks a mouse button, the mouse event will be
|
||||
returned. The position can then be found in |v:mouse_col|,
|
||||
|v:mouse_lnum|, |v:mouse_winid| and |v:mouse_win|.
|
||||
@@ -3976,17 +4112,9 @@ getcharsearch() *getcharsearch()*
|
||||
Return type: dict<any>
|
||||
|
||||
|
||||
getcharstr([{expr}]) *getcharstr()*
|
||||
Get a single character from the user or input stream as a
|
||||
string.
|
||||
If {expr} is omitted, wait until a character is available.
|
||||
If {expr} is 0 or false, only get a character when one is
|
||||
available. Return an empty string otherwise.
|
||||
If {expr} is 1 or true, only check if a character is
|
||||
available, it is not consumed. Return an empty string
|
||||
if no character is available.
|
||||
Otherwise this works like |getchar()|, except that a number
|
||||
result is converted to a string.
|
||||
getcharstr([{expr} [, {opts}]]) *getcharstr()*
|
||||
The same as |getchar()|, except that this always returns a
|
||||
String, and "number" isn't allowed in {opts}.
|
||||
|
||||
Return type: |String|
|
||||
|
||||
@@ -4887,6 +5015,8 @@ getregionpos({pos1}, {pos2} [, {opts}]) *getregionpos()*
|
||||
Can also be used as a |method|: >
|
||||
getpos('.')->getregionpos(getpos("'a"))
|
||||
<
|
||||
For an example, see the highlight-yank plugin |52.6|
|
||||
|
||||
Return type: list<list<list<number>>>
|
||||
|
||||
|
||||
@@ -4953,6 +5083,21 @@ getscriptinfo([{opts}]) *getscriptinfo()*
|
||||
Return type: list<dict<any>>
|
||||
|
||||
|
||||
getstacktrace() *getstacktrace()*
|
||||
Returns the current stack trace of Vim scripts.
|
||||
Stack trace is a |List|, of which each item is a |Dictionary|
|
||||
with the following items:
|
||||
funcref The funcref if the stack is at a function,
|
||||
otherwise this item is omitted.
|
||||
event The string of the event description if the
|
||||
stack is at an autocmd event, otherwise this
|
||||
item is omitted.
|
||||
lnum The line number in the script on the stack.
|
||||
filepath The file path of the script on the stack.
|
||||
|
||||
Return type: list<dict<any>>
|
||||
|
||||
|
||||
gettabinfo([{tabnr}]) *gettabinfo()*
|
||||
If {tabnr} is not specified, then information about all the
|
||||
tab pages is returned as a |List|. Each List item is a
|
||||
@@ -5691,8 +5836,8 @@ id({item}) *id()*
|
||||
< prevents {item} from being garbage collected and provides a
|
||||
way to get the {item} from the `id`.
|
||||
|
||||
{item} may be a List, Dictionary, Object, Job, Channel or
|
||||
Blob. If the item is not a permitted type, or it is a null
|
||||
{item} may be a List, Tuple, Dictionary, Object, Job, Channel
|
||||
or Blob. If the item is not a permitted type, or it is a null
|
||||
value, then an empty String is returned.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
@@ -5719,12 +5864,12 @@ index({object}, {expr} [, {start} [, {ic}]]) *index()*
|
||||
Find {expr} in {object} and return its index. See
|
||||
|indexof()| for using a lambda to select the item.
|
||||
|
||||
If {object} is a |List| return the lowest index where the item
|
||||
has a value equal to {expr}. There is no automatic
|
||||
conversion, so the String "4" is different from the Number 4.
|
||||
And the number 4 is different from the Float 4.0. The value
|
||||
of 'ignorecase' is not used here, case matters as indicated by
|
||||
the {ic} argument.
|
||||
If {object} is a |List| or a |Tuple| return the lowest index
|
||||
where the item has a value equal to {expr}. There is no
|
||||
automatic conversion, so the String "4" is different from the
|
||||
Number 4. And the number 4 is different from the Float 4.0.
|
||||
The value of 'ignorecase' is not used here, case matters as
|
||||
indicated by the {ic} argument.
|
||||
|
||||
If {object} is |Blob| return the lowest index where the byte
|
||||
value is equal to {expr}.
|
||||
@@ -5748,11 +5893,11 @@ index({object}, {expr} [, {start} [, {ic}]]) *index()*
|
||||
|
||||
indexof({object}, {expr} [, {opts}]) *indexof()*
|
||||
Returns the index of an item in {object} where {expr} is
|
||||
v:true. {object} must be a |List| or a |Blob|.
|
||||
v:true. {object} must be a |List|, a |Tuple| or a |Blob|.
|
||||
|
||||
If {object} is a |List|, evaluate {expr} for each item in the
|
||||
List until the expression is v:true and return the index of
|
||||
this item.
|
||||
If {object} is a |List| or a |Tuple|, evaluate {expr} for each
|
||||
item in the List or Tuple until the expression is v:true
|
||||
and return the index of this item.
|
||||
|
||||
If {object} is a |Blob| evaluate {expr} for each byte in the
|
||||
Blob until the expression is v:true and return the index of
|
||||
@@ -5760,11 +5905,11 @@ indexof({object}, {expr} [, {opts}]) *indexof()*
|
||||
|
||||
{expr} must be a |string| or |Funcref|.
|
||||
|
||||
If {expr} is a |string|: If {object} is a |List|, inside
|
||||
{expr} |v:key| has the index of the current List item and
|
||||
|v:val| has the value of the item. If {object} is a |Blob|,
|
||||
inside {expr} |v:key| has the index of the current byte and
|
||||
|v:val| has the byte value.
|
||||
If {expr} is a |string|: If {object} is a |List| or a |Tuple|,
|
||||
inside {expr} |v:key| has the index of the current List or
|
||||
Tuple item and |v:val| has the value of the item. If {object}
|
||||
is a |Blob|, inside {expr} |v:key| has the index of the
|
||||
current byte and |v:val| has the byte value.
|
||||
|
||||
If {expr} is a |Funcref| it must take two arguments:
|
||||
1. the key or the index of the current item.
|
||||
@@ -6074,9 +6219,9 @@ items({dict}) *items()*
|
||||
echo key .. ': ' .. value
|
||||
endfor
|
||||
<
|
||||
A List or a String argument is also supported. In these
|
||||
cases, items() returns a List with the index and the value at
|
||||
the index.
|
||||
A |List|, a |Tuple| or a |String| argument is also supported.
|
||||
In these cases, items() returns a List with the index and the
|
||||
value at the index.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
mydict->items()
|
||||
@@ -6087,16 +6232,17 @@ items({dict}) *items()*
|
||||
job_ functions are documented here: |job-functions-details|
|
||||
|
||||
|
||||
join({list} [, {sep}]) *join()*
|
||||
Join the items in {list} together into one String.
|
||||
join({expr} [, {sep}]) *join()*
|
||||
Join the items in {expr} together into one String. {expr} can
|
||||
be a |List| or a |Tuple|.
|
||||
When {sep} is specified it is put in between the items. If
|
||||
{sep} is omitted a single space is used.
|
||||
Note that {sep} is not added at the end. You might want to
|
||||
add it there too: >
|
||||
let lines = join(mylist, "\n") .. "\n"
|
||||
< String items are used as-is. |Lists| and |Dictionaries| are
|
||||
converted into a string like with |string()|.
|
||||
The opposite function is |split()|.
|
||||
< String items are used as-is. |Lists|, |Tuples| and
|
||||
|Dictionaries| are converted into a string like with
|
||||
|string()|. The opposite function is |split()|.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
mylist->join()
|
||||
@@ -6190,6 +6336,8 @@ json_encode({expr}) *json_encode()*
|
||||
|Funcref| not possible, error
|
||||
|List| as an array (possibly null); when
|
||||
used recursively: []
|
||||
|Tuple| as an array (possibly null); when
|
||||
used recursively: []
|
||||
|Dict| as an object (possibly null); when
|
||||
used recursively: {}
|
||||
|Blob| as an array of the individual bytes
|
||||
@@ -6238,6 +6386,8 @@ len({expr}) *len()* *E701*
|
||||
used, as with |strlen()|.
|
||||
When {expr} is a |List| the number of items in the |List| is
|
||||
returned.
|
||||
When {expr} is a |Tuple| the number of items in the |Tuple| is
|
||||
returned.
|
||||
When {expr} is a |Blob| the number of bytes is returned.
|
||||
When {expr} is a |Dictionary| the number of entries in the
|
||||
|Dictionary| is returned.
|
||||
@@ -6419,6 +6569,25 @@ list2str({list} [, {utf8}]) *list2str()*
|
||||
Return type: |String|
|
||||
|
||||
|
||||
list2tuple({list}) *list2tuple()*
|
||||
Create a Tuple from a shallow copy of the list items.
|
||||
Examples: >
|
||||
list2tuple([1, 2, 3]) returns (1, 2, 3)
|
||||
< |tuple2list()| does the opposite.
|
||||
|
||||
This function doesn't recursively convert all the List items
|
||||
in {list} to a Tuple. Note that the items are identical
|
||||
between the list and the tuple, changing an item changes the
|
||||
contents of both the tuple and the list.
|
||||
|
||||
Returns an empty tuple on error.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetList()->list2tuple()
|
||||
<
|
||||
Return type: tuple<{type}> (depending on the given |List|)
|
||||
|
||||
|
||||
listener_add({callback} [, {buf}]) *listener_add()*
|
||||
Add a callback function that will be invoked when changes have
|
||||
been made to buffer {buf}.
|
||||
@@ -7149,6 +7318,9 @@ matchfuzzy({list}, {str} [, {dict}]) *matchfuzzy()*
|
||||
given sequence.
|
||||
limit Maximum number of matches in {list} to be
|
||||
returned. Zero means no limit.
|
||||
camelcase Use enhanced camel case scoring making results
|
||||
better suited for completion related to
|
||||
programming languages. Defaults to v:true.
|
||||
|
||||
If {list} is a list of dictionaries, then the optional {dict}
|
||||
argument supports the following additional items:
|
||||
@@ -7331,11 +7503,12 @@ max({expr}) *max()*
|
||||
Return the maximum value of all items in {expr}. Example: >
|
||||
echo max([apples, pears, oranges])
|
||||
|
||||
< {expr} can be a |List| or a |Dictionary|. For a Dictionary,
|
||||
it returns the maximum of all values in the Dictionary.
|
||||
If {expr} is neither a List nor a Dictionary, or one of the
|
||||
items in {expr} cannot be used as a Number this results in
|
||||
an error. An empty |List| or |Dictionary| results in zero.
|
||||
< {expr} can be a |List|, a |Tuple| or a |Dictionary|. For a
|
||||
Dictionary, it returns the maximum of all values in the
|
||||
Dictionary. If {expr} is neither a List nor a Tuple nor a
|
||||
Dictionary, or one of the items in {expr} cannot be used as a
|
||||
Number this results in an error. An empty |List|, |Tuple|
|
||||
or |Dictionary| results in zero.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
mylist->max()
|
||||
@@ -7422,11 +7595,12 @@ min({expr}) *min()*
|
||||
Return the minimum value of all items in {expr}. Example: >
|
||||
echo min([apples, pears, oranges])
|
||||
|
||||
< {expr} can be a |List| or a |Dictionary|. For a Dictionary,
|
||||
it returns the minimum of all values in the Dictionary.
|
||||
If {expr} is neither a List nor a Dictionary, or one of the
|
||||
items in {expr} cannot be used as a Number this results in
|
||||
an error. An empty |List| or |Dictionary| results in zero.
|
||||
< {expr} can be a |List|, a |Tuple| or a |Dictionary|. For a
|
||||
Dictionary, it returns the minimum of all values in the
|
||||
Dictionary. If {expr} is neither a List nor a Tuple nor a
|
||||
Dictionary, or one of the items in {expr} cannot be used as a
|
||||
Number this results in an error. An empty |List|, |Tuple| or
|
||||
|Dictionary| results in zero.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
mylist->min()
|
||||
@@ -7461,9 +7635,8 @@ mkdir({name} [, {flags} [, {prot}]]) *mkdir()* *E739*
|
||||
If {prot} is given it is used to set the protection bits of
|
||||
the new directory. The default is 0o755 (rwxr-xr-x: r/w for
|
||||
the user, readable for others). Use 0o700 to make it
|
||||
unreadable for others. This is only used for the last part of
|
||||
{name}. Thus if you create /tmp/foo/bar then /tmp/foo will be
|
||||
created with 0o755.
|
||||
unreadable for others. This is used for the newly created
|
||||
directories. Note: umask is applied to {prot} (on Unix).
|
||||
Example: >
|
||||
:call mkdir($HOME .. "/tmp/foo/bar", "p", 0o700)
|
||||
|
||||
@@ -7588,6 +7761,20 @@ nextnonblank({lnum}) *nextnonblank()*
|
||||
Return type: |Number|
|
||||
|
||||
|
||||
ngettext({single}, {plural}, {number}[, {domain}) *ngettext()*
|
||||
Return a string that contains the correct value for a
|
||||
message based on the rules for plural form(s) in
|
||||
a language. Examples: >
|
||||
ngettext("File", "Files", 2) # returns "Files"
|
||||
<
|
||||
Can be used as a |method|: >
|
||||
1->ngettext("File", "Files") # returns "File"
|
||||
<
|
||||
See |gettext()| for information on the domain parameter.
|
||||
|
||||
Return type: |String|
|
||||
|
||||
|
||||
nr2char({expr} [, {utf8}]) *nr2char()*
|
||||
Return a string with a single character, which has the number
|
||||
value {expr}. Examples: >
|
||||
@@ -8436,8 +8623,8 @@ readfile({fname} [, {type} [, {max}]])
|
||||
|
||||
reduce({object}, {func} [, {initial}]) *reduce()* *E998*
|
||||
{func} is called for every item in {object}, which can be a
|
||||
|String|, |List| or a |Blob|. {func} is called with two
|
||||
arguments: the result so far and current item. After
|
||||
|String|, |List|, |Tuple| or a |Blob|. {func} is called with
|
||||
two arguments: the result so far and current item. After
|
||||
processing all items the result is returned. *E1132*
|
||||
|
||||
{initial} is the initial result. When omitted, the first item
|
||||
@@ -8758,16 +8945,16 @@ repeat({expr}, {count}) *repeat()*
|
||||
result. Example: >
|
||||
:let separator = repeat('-', 80)
|
||||
< When {count} is zero or negative the result is empty.
|
||||
When {expr} is a |List| or a |Blob| the result is {expr}
|
||||
concatenated {count} times. Example: >
|
||||
When {expr} is a |List|, a |Tuple| or a |Blob| the result is
|
||||
{expr} concatenated {count} times. Example: >
|
||||
:let longlist = repeat(['a', 'b'], 3)
|
||||
< Results in ['a', 'b', 'a', 'b', 'a', 'b'].
|
||||
|
||||
Can also be used as a |method|: >
|
||||
mylist->repeat(count)
|
||||
<
|
||||
Return type: |String|, |Blob| or list<{type}> depending on
|
||||
{expr}
|
||||
Return type: |String|, |Blob|, list<{type}> or tuple<{type}>
|
||||
depending on {expr}
|
||||
|
||||
|
||||
resolve({filename}) *resolve()* *E655*
|
||||
@@ -8794,18 +8981,19 @@ resolve({filename}) *resolve()* *E655*
|
||||
|
||||
reverse({object}) *reverse()*
|
||||
Reverse the order of items in {object}. {object} can be a
|
||||
|List|, a |Blob| or a |String|. For a List and a Blob the
|
||||
items are reversed in-place and {object} is returned.
|
||||
|List|, a |Tuple|, a |Blob| or a |String|. For a List and a
|
||||
Blob the items are reversed in-place and {object} is returned.
|
||||
For a Tuple, a new Tuple is returned.
|
||||
For a String a new String is returned.
|
||||
Returns zero if {object} is not a List, Blob or a String.
|
||||
If you want a List or Blob to remain unmodified make a copy
|
||||
first: >
|
||||
Returns zero if {object} is not a List, Tuple, Blob or a
|
||||
String. If you want a List or Blob to remain unmodified make
|
||||
a copy first: >
|
||||
:let revlist = reverse(copy(mylist))
|
||||
< Can also be used as a |method|: >
|
||||
mylist->reverse()
|
||||
<
|
||||
Return type: |String|, |Blob| or list<{type}> depending on
|
||||
{object}
|
||||
Return type: |String|, |Blob|, list<{type}> or tuple<{type}>
|
||||
depending on {object}
|
||||
|
||||
|
||||
round({expr}) *round()*
|
||||
@@ -8978,7 +9166,7 @@ search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
|
||||
's' Set the ' mark at the previous location of the cursor
|
||||
'w' Wrap around the end of the file
|
||||
'W' don't Wrap around the end of the file
|
||||
'z' start searching at the cursor column instead of zero
|
||||
'z' start searching at the cursor column instead of Zero
|
||||
If neither 'w' or 'W' is given, the 'wrapscan' option applies.
|
||||
|
||||
If the 's' flag is supplied, the ' mark is set, only if the
|
||||
@@ -10158,7 +10346,7 @@ slice({expr}, {start} [, {end}]) *slice()*
|
||||
Can also be used as a |method|: >
|
||||
GetList()->slice(offset)
|
||||
<
|
||||
Return type: list<{type}>
|
||||
Return type: list<{type}> or tuple<{type}>
|
||||
|
||||
|
||||
sort({list} [, {how} [, {dict}]]) *sort()* *E702*
|
||||
@@ -10496,6 +10684,44 @@ state([{what}]) *state()*
|
||||
Return type: |String|
|
||||
|
||||
|
||||
str2blob({list} [, {options}]) *str2blob()*
|
||||
Return a Blob by converting the characters in the List of
|
||||
strings in {list} into bytes.
|
||||
|
||||
A <NL> byte is added to the blob after each list item. A
|
||||
newline character in the string is translated into a <NUL>
|
||||
byte in the blob.
|
||||
|
||||
If {options} is not supplied, the current 'encoding' value is
|
||||
used to convert the characters into bytes.
|
||||
|
||||
The argument {options} is a |Dict| and supports the following
|
||||
items:
|
||||
encoding Convert the characters using this encoding
|
||||
before making the Blob.
|
||||
The value is a |String|. See |encoding-names|
|
||||
for the supported values.
|
||||
|
||||
An error is given and an empty blob is returned if the
|
||||
character encoding fails.
|
||||
|
||||
Returns an empty Blob if {list} is empty.
|
||||
|
||||
See also |blob2str()|
|
||||
|
||||
Examples: >
|
||||
str2blob(["ab"]) returns 0z6162
|
||||
str2blob(["«»"]) returns 0zC2ABC2BB
|
||||
str2blob(["a\nb"]) returns 0z610062
|
||||
str2blob(["a","b"]) returns 0z610A62
|
||||
str2blob(["«»"], {'encoding': 'latin1'}) returns 0zABBB
|
||||
str2blob(readfile('myfile.txt'))
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
GetListOfStrings()->str2blob()
|
||||
<
|
||||
Return type: |Blob|
|
||||
|
||||
str2float({string} [, {quoted}]) *str2float()*
|
||||
Convert String {string} to a Float. This mostly works the
|
||||
same as when using a floating point number in an expression,
|
||||
@@ -10732,15 +10958,16 @@ string({expr}) *string()*
|
||||
Funcref function('name')
|
||||
Blob 0z00112233.44556677.8899
|
||||
List [item, item]
|
||||
Tuple (item, item)
|
||||
Dictionary {key: value, key: value}
|
||||
Class class SomeName
|
||||
Object object of SomeName {lnum: 1, col: 3}
|
||||
Enum enum EnumName
|
||||
EnumValue enum name.value {name: str, ordinal: nr}
|
||||
|
||||
When a |List| or |Dictionary| has a recursive reference it is
|
||||
replaced by "[...]" or "{...}". Using eval() on the result
|
||||
will then fail.
|
||||
When a |List|, |Tuple| or |Dictionary| has a recursive
|
||||
reference it is replaced by "[...]" or "(...)" or "{...}".
|
||||
Using eval() on the result will then fail.
|
||||
|
||||
For an object, invokes the string() method to get a textual
|
||||
representation of the object. If the method is not present,
|
||||
@@ -11694,6 +11921,25 @@ trunc({expr}) *trunc()*
|
||||
Return type: |Float|
|
||||
|
||||
|
||||
tuple2list({list}) *tuple2list()*
|
||||
Create a List from a shallow copy of the tuple items.
|
||||
Examples: >
|
||||
tuple2list((1, 2, 3)) returns [1, 2, 3]
|
||||
< |list2tuple()| does the opposite.
|
||||
|
||||
This function doesn't recursively convert all the Tuple items
|
||||
in {tuple} to a List. Note that the items are identical
|
||||
between the list and the tuple, changing an item changes the
|
||||
contents of both the tuple and the list.
|
||||
|
||||
Returns an empty list on error.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetTuple()->tuple2list()
|
||||
<
|
||||
Return type: list<{type}> (depending on the given |Tuple|)
|
||||
|
||||
|
||||
*type()*
|
||||
type({expr}) The result is a Number representing the type of {expr}.
|
||||
Instead of using the number directly, it is better to use the
|
||||
@@ -11714,6 +11960,7 @@ type({expr}) The result is a Number representing the type of {expr}.
|
||||
Typealias: 14 |v:t_typealias|
|
||||
Enum: 15 |v:t_enum|
|
||||
EnumValue: 16 |v:t_enumvalue|
|
||||
Tuple: 17 |v:t_tuple|
|
||||
For backward compatibility, this method can be used: >
|
||||
:if type(myvar) == type(0)
|
||||
:if type(myvar) == type("")
|
||||
@@ -12579,6 +12826,7 @@ gui_win32s idem, and Win32s system being used (Windows 3.1)
|
||||
haiku Haiku version of Vim.
|
||||
hangul_input Compiled with Hangul input support. |hangul|
|
||||
hpux HP-UX version of Vim.
|
||||
hurd GNU/Hurd version of Vim
|
||||
iconv Can use iconv() for conversion.
|
||||
insert_expand Compiled with support for CTRL-X expansion commands in
|
||||
Insert mode. (always true)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 9.1. Last change: 2024 Dec 15
|
||||
*change.txt* For Vim version 9.1. Last change: 2025 Mar 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1149,6 +1149,11 @@ inside of strings can change! Also see 'softtabstop' option. >
|
||||
:[line]pu[t]! [x] Put the text [from register x] before [line] (default
|
||||
current line).
|
||||
|
||||
*:ip* *:iput*
|
||||
:[line]ip[ut] [x] like |:put|, but adjust indent to the current line
|
||||
|
||||
:[line]ip[ut]! [x] like |:put|!, but adjust indent to the current line
|
||||
|
||||
["x]]p or *]p* *]<MiddleMouse>*
|
||||
["x]]<MiddleMouse> Like "p", but adjust the indent to the current line.
|
||||
Using the mouse only works when 'mouse' contains 'n'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 9.1. Last change: 2024 Oct 05
|
||||
*cmdline.txt* For Vim version 9.1. Last change: 2025 Mar 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -88,6 +88,10 @@ CTRL-SHIFT-V *c_CTRL-SHIFT-V* *c_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.
|
||||
In the GUI the |key-notation| is inserted without simplifying.
|
||||
Note: When CTRL-SHIFT-V is intercepted by your system (e.g.,
|
||||
to paste text) you can often use CTRL-SHIFT-Q instead.
|
||||
However, in some terminals (e.g. GNOME Terminal), CTRL-SHIFT-Q
|
||||
quits the terminal without confirmation.
|
||||
|
||||
*c_<Left>* *c_Left*
|
||||
<Left> cursor left. See 'wildmenu' for behavior during wildmenu
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 9.1. Last change: 2024 Nov 11
|
||||
*develop.txt* For Vim version 9.1. Last change: 2024 Dec 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -191,6 +191,12 @@ The basic steps to make changes to the code:
|
||||
For any non-trivial change, please always create a pull request on github,
|
||||
since this triggers the test suite.
|
||||
|
||||
*style-clang-format*
|
||||
sound.c and sign.c can be (semi-) automatically formated using the
|
||||
`clang-format` formatter according to the distributed .clang-format file.
|
||||
Other source files do not yet correspond to the .clang-format file. This may
|
||||
change in the future and they may be reformatted as well.
|
||||
|
||||
|
||||
C COMPILER *style-compiler* *ANSI-C* *C89* *C99*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*digraph.txt* For Vim version 9.1. Last change: 2023 Oct 20
|
||||
*digraph.txt* For Vim version 9.1. Last change: 2025 Feb 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -125,8 +125,8 @@ see them.
|
||||
|
||||
On most systems Vim uses the same digraphs. They work for the Unicode and
|
||||
ISO-8859-1 character sets. These default digraphs are taken from the RFC1345
|
||||
mnemonics. To make it easy to remember the mnemonic, the second character has
|
||||
a standard meaning:
|
||||
mnemonics (with some additions). To make it easy to remember the mnemonic,
|
||||
the second character has a standard meaning:
|
||||
|
||||
char name char meaning ~
|
||||
Exclamation mark ! Grave
|
||||
@@ -1075,6 +1075,7 @@ char digraph hex dec official name ~
|
||||
≅ ?= 2245 8773 APPROXIMATELY EQUAL TO
|
||||
≈ ?2 2248 8776 ALMOST EQUAL TO
|
||||
≌ =? 224C 8780 ALL EQUAL TO
|
||||
≐ .= 2250 8784 APPROACHES THE LIMIT
|
||||
≓ HI 2253 8787 IMAGE OF OR APPROXIMATELY EQUAL TO
|
||||
≠ != 2260 8800 NOT EQUAL TO
|
||||
≡ =3 2261 8801 IDENTICAL TO
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 9.1. Last change: 2024 Nov 02
|
||||
*eval.txt* For Vim version 9.1. Last change: 2025 Mar 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -21,9 +21,10 @@ a remark is given.
|
||||
1.1 Variable types
|
||||
1.2 Function references |Funcref|
|
||||
1.3 Lists |Lists|
|
||||
1.4 Dictionaries |Dictionaries|
|
||||
1.5 Blobs |Blobs|
|
||||
1.6 More about variables |more-variables|
|
||||
1.4 Tuples |Tuples|
|
||||
1.5 Dictionaries |Dictionaries|
|
||||
1.6 Blobs |Blobs|
|
||||
1.7 More about variables |more-variables|
|
||||
2. Expression syntax |expression-syntax|
|
||||
3. Internal variable |internal-variables|
|
||||
4. Builtin Functions |functions|
|
||||
@@ -46,8 +47,8 @@ Profiling is documented at |profiling|.
|
||||
|
||||
1.1 Variable types ~
|
||||
*E712* *E896* *E897* *E899* *E1098*
|
||||
*E1107* *E1135* *E1138*
|
||||
There are ten types of variables:
|
||||
*E1107* *E1135* *E1138* *E1523*
|
||||
There are eleven types of variables:
|
||||
|
||||
*Number* *Integer*
|
||||
Number A 32 or 64 bit signed number. |expr-number|
|
||||
@@ -63,6 +64,10 @@ String A NUL terminated string of 8-bit unsigned characters (bytes).
|
||||
List An ordered sequence of items, see |List| for details.
|
||||
Example: [1, 2, ['a', 'b']]
|
||||
|
||||
Tuple An ordered immutable sequence of items, see |Tuple| for
|
||||
details.
|
||||
Example: (1, 2, ('a', 'b'))
|
||||
|
||||
Dictionary An associative, unordered array: Each entry has a key and a
|
||||
value. |Dictionary|
|
||||
Examples:
|
||||
@@ -165,16 +170,17 @@ A List, Dictionary or Float is not a Number or String, thus evaluate to FALSE.
|
||||
|
||||
*E611* *E745* *E728* *E703* *E729* *E730* *E731* *E908* *E910*
|
||||
*E913* *E974* *E975* *E976* *E1319* *E1320* *E1321* *E1322*
|
||||
*E1323* *E1324*
|
||||
|List|, |Dictionary|, |Funcref|, |Job|, |Channel|, |Blob|, |Class| and
|
||||
|object| types are not automatically converted.
|
||||
*E1323* *E1324* *E1520* *E1522*
|
||||
|List|, |Tuple|, |Dictionary|, |Funcref|, |Job|, |Channel|, |Blob|, |Class|
|
||||
and |object| types are not automatically converted.
|
||||
|
||||
*E805* *E806* *E808*
|
||||
When mixing Number and Float the Number is converted to Float. Otherwise
|
||||
there is no automatic conversion of Float. You can use str2float() for String
|
||||
to Float, printf() for Float to String and float2nr() for Float to Number.
|
||||
|
||||
*E362* *E891* *E892* *E893* *E894* *E907* *E911* *E914*
|
||||
*E362* *E891* *E892* *E893* *E894*
|
||||
*E907* *E911* *E914* *E1521*
|
||||
When expecting a Float a Number can also be used, but nothing else.
|
||||
|
||||
*no-type-checking*
|
||||
@@ -267,9 +273,9 @@ position in the sequence.
|
||||
|
||||
List creation ~
|
||||
*E696* *E697*
|
||||
A List is created with a comma-separated list of items in square brackets.
|
||||
A List is created with a comma-separated sequence of items in square brackets.
|
||||
Examples: >
|
||||
:let mylist = [1, two, 3, "four"]
|
||||
:let mylist = [1, "two", 3, "four"]
|
||||
:let emptylist = []
|
||||
|
||||
An item can be any expression. Using a List for an item creates a
|
||||
@@ -327,13 +333,13 @@ similar to -1. >
|
||||
:let otherlist = mylist[:] " make a copy of the List
|
||||
|
||||
Notice that the last index is inclusive. If you prefer using an exclusive
|
||||
index use the |slice()| method.
|
||||
index use the |slice()| function.
|
||||
|
||||
If the first index is beyond the last item of the List or the second item is
|
||||
If the first index is beyond the last item of the List or the last index is
|
||||
before the first item, the result is an empty list. There is no error
|
||||
message.
|
||||
|
||||
If the second index is equal to or greater than the length of the list the
|
||||
If the last index is equal to or greater than the length of the list the
|
||||
length minus one is used: >
|
||||
:let mylist = [0, 1, 2, 3]
|
||||
:echo mylist[2:8] " result: [2, 3]
|
||||
@@ -463,8 +469,8 @@ Changing the order of items in a list: >
|
||||
|
||||
For loop ~
|
||||
|
||||
The |:for| loop executes commands for each item in a List, String or Blob.
|
||||
A variable is set to each item in sequence. Example with a List: >
|
||||
The |:for| loop executes commands for each item in a List, Tuple, String or
|
||||
Blob. A variable is set to each item in sequence. Example with a List: >
|
||||
:for item in mylist
|
||||
: call Doit(item)
|
||||
:endfor
|
||||
@@ -497,6 +503,8 @@ It is also possible to put remaining items in a List variable: >
|
||||
: endif
|
||||
:endfor
|
||||
|
||||
For a Tuple one tuple item at a time is used.
|
||||
|
||||
For a Blob one byte at a time is used.
|
||||
|
||||
For a String one character, including any composing characters, is used as a
|
||||
@@ -527,8 +535,206 @@ Don't forget that a combination of features can make things simple. For
|
||||
example, to add up all the numbers in a list: >
|
||||
:exe 'let sum = ' .. join(nrlist, '+')
|
||||
|
||||
1.4 Tuples ~
|
||||
*tuple* *Tuple* *Tuples*
|
||||
*E1532* *E1533*
|
||||
A Tuple is an ordered sequence of items. An item can be of any type. Items
|
||||
can be accessed by their index number. A Tuple is immutable.
|
||||
|
||||
1.4 Dictionaries ~
|
||||
A Tuple uses less memory compared to a List and provides O(1) lookup time.
|
||||
|
||||
Tuple creation ~
|
||||
*E1526* *E1527*
|
||||
A Tuple is created with a comma-separated sequence of items in parentheses.
|
||||
Examples: >
|
||||
:let mytuple = (1, "two", 3, "four")
|
||||
:let tuple = (5,)
|
||||
:let emptytuple = ()
|
||||
|
||||
An item can be any expression. If there is only one item in the tuple, then
|
||||
the item must be followed by a comma.
|
||||
|
||||
Using a Tuple for an item creates a Tuple of Tuples: >
|
||||
:let nesttuple = ((11, 12), (21, 22), (31, 32))
|
||||
|
||||
|
||||
Tuple index ~
|
||||
*tuple-index* *E1519*
|
||||
An item in the Tuple can be accessed by putting the index in square brackets
|
||||
after the Tuple. Indexes are zero-based, thus the first item has index zero.
|
||||
>
|
||||
:let item = mytuple[0] " get the first item: 1
|
||||
:let item = mytuple[2] " get the third item: 3
|
||||
|
||||
When the resulting item is a tuple this can be repeated: >
|
||||
:let item = nesttuple[0][1] " get the first tuple, second item: 12
|
||||
<
|
||||
A negative index is counted from the end. Index -1 refers to the last item in
|
||||
the Tuple, -2 to the last but one item, etc. >
|
||||
:let last = mytuple[-1] " get the last item: "four"
|
||||
|
||||
To avoid an error for an invalid index use the |get()| function. When an item
|
||||
is not available it returns zero or the default value you specify: >
|
||||
:echo get(mytuple, idx)
|
||||
:echo get(mytuple, idx, "NONE")
|
||||
|
||||
|
||||
Tuple concatenation ~
|
||||
*tuple-concatenation*
|
||||
Two tuples can be concatenated with the "+" operator: >
|
||||
:let longtuple = mytuple + (5, 6)
|
||||
:let longtuple = (5, 6) + mytuple
|
||||
To prepend or append an item, turn it into a tuple by putting () around it.
|
||||
The item must be followed by a comma.
|
||||
|
||||
*E1540*
|
||||
Two variadic tuples with same item type can be concatenated but with different
|
||||
item types cannot be concatenated. Examples: >
|
||||
var a: tuple<...list<number>> = (1, 2)
|
||||
var b: tuple<...list<string>> = ('a', 'b')
|
||||
echo a + b # not allowed
|
||||
|
||||
var a: tuple<number, number> = (1, 2)
|
||||
var b: tuple<...list<string>> = ('a', 'b')
|
||||
echo a + b # allowed
|
||||
|
||||
var a: tuple<...list<number>> = (1, 2)
|
||||
var b: tuple<number, number> = (3, 4)
|
||||
echo a + b # not allowed
|
||||
|
||||
var a: tuple<...list<number>> = (1, 2)
|
||||
var b: tuple<number, ...list<number>> = (3, 4)
|
||||
echo a + b # not allowed
|
||||
<
|
||||
Note that a tuple is immutable and items cannot be added or removed from a
|
||||
tuple.
|
||||
|
||||
|
||||
Subtuple ~
|
||||
*subtuple*
|
||||
A part of the Tuple can be obtained by specifying the first and last index,
|
||||
separated by a colon in square brackets: >
|
||||
:let shorttuple = mytuple[2:-1] " get Tuple (3, "four")
|
||||
|
||||
Omitting the first index is similar to zero. Omitting the last index is
|
||||
similar to -1. >
|
||||
:let endtuple = mytuple[2:] " from item 2 to the end: (3, "four")
|
||||
:let shorttuple = mytuple[2:2] " Tuple with one item: (3,)
|
||||
:let othertuple = mytuple[:] " make a copy of the Tuple
|
||||
|
||||
Notice that the last index is inclusive. If you prefer using an exclusive
|
||||
index, use the |slice()| function.
|
||||
|
||||
If the first index is beyond the last item of the Tuple or the last index is
|
||||
before the first item, the result is an empty tuple. There is no error
|
||||
message.
|
||||
|
||||
If the last index is equal to or greater than the length of the tuple, the
|
||||
length minus one is used: >
|
||||
:let mytuple = (0, 1, 2, 3)
|
||||
:echo mytuple[2:8] " result: (2, 3)
|
||||
|
||||
NOTE: mytuple[s:e] means using the variable "s:e" as index. Watch out for
|
||||
using a single letter variable before the ":". Insert a space when needed:
|
||||
mytuple[s : e].
|
||||
|
||||
|
||||
Tuple identity ~
|
||||
*tuple-identity*
|
||||
When variable "aa" is a tuple and you assign it to another variable "bb", both
|
||||
variables refer to the same tuple: >
|
||||
:let aa = (1, 2, 3)
|
||||
:let bb = aa
|
||||
<
|
||||
|
||||
Making a copy of a tuple is done with the |copy()| function. Using [:] also
|
||||
works, as explained above. This creates a shallow copy of the tuple: For
|
||||
example, changing a list item in the tuple will also change the item in the
|
||||
copied tuple: >
|
||||
:let aa = ([1, 'a'], 2, 3)
|
||||
:let bb = copy(aa)
|
||||
:let aa[0][1] = 'aaa'
|
||||
:echo aa
|
||||
< ([1, aaa], 2, 3) >
|
||||
:echo bb
|
||||
< ([1, aaa], 2, 3)
|
||||
|
||||
To make a completely independent tuple, use |deepcopy()|. This also makes a
|
||||
copy of the values in the tuple, recursively. Up to a hundred levels deep.
|
||||
|
||||
The operator "is" can be used to check if two variables refer to the same
|
||||
Tuple. "isnot" does the opposite. In contrast, "==" compares if two tuples
|
||||
have the same value. >
|
||||
:let atuple = (1, 2, 3)
|
||||
:let btuple = (1, 2, 3)
|
||||
:echo atuple is btuple
|
||||
< 0 >
|
||||
:echo atuple == btuple
|
||||
< 1
|
||||
|
||||
Note about comparing tuples: Two tuples are considered equal if they have the
|
||||
same length and all items compare equal, as with using "==". There is one
|
||||
exception: When comparing a number with a string they are considered
|
||||
different. There is no automatic type conversion, as with using "==" on
|
||||
variables. Example: >
|
||||
echo 4 == "4"
|
||||
< 1 >
|
||||
echo (4,) == ("4",)
|
||||
< 0
|
||||
|
||||
Thus comparing Tuples is more strict than comparing numbers and strings. You
|
||||
can compare simple values this way too by putting them in a tuple: >
|
||||
|
||||
:let a = 5
|
||||
:let b = "5"
|
||||
:echo a == b
|
||||
< 1 >
|
||||
:echo (a,) == (b,)
|
||||
< 0
|
||||
|
||||
|
||||
Tuple unpack ~
|
||||
|
||||
To unpack the items in a tuple to individual variables, put the variables in
|
||||
square brackets, like list items: >
|
||||
:let [var1, var2] = mytuple
|
||||
|
||||
When the number of variables does not match the number of items in the tuple
|
||||
this produces an error. To handle any extra items from the tuple, append ";"
|
||||
and a variable name (which will then be of type tuple): >
|
||||
:let [var1, var2; rest] = mytuple
|
||||
|
||||
This works like: >
|
||||
:let var1 = mytuple[0]
|
||||
:let var2 = mytuple[1]
|
||||
:let rest = mytuple[2:]
|
||||
|
||||
Except that there is no error if there are only two items. "rest" will be an
|
||||
empty tuple then.
|
||||
|
||||
|
||||
Tuple functions ~
|
||||
*E1536*
|
||||
Functions that are useful with a Tuple: >
|
||||
:let xs = count(tuple, 'x') " count number of 'x's in tuple
|
||||
:if empty(tuple) " check if tuple is empty
|
||||
:let i = index(tuple, 'x') " index of first 'x' in tuple
|
||||
:let l = items(tuple) " list of items in a tuple
|
||||
:let string = join(tuple, ', ') " create string from tuple items
|
||||
:let l = len(tuple) " number of items in tuple
|
||||
:let big = max(tuple) " maximum value in tuple
|
||||
:let small = min(tuple) " minimum value in tuple
|
||||
:let r = repeat(tuple, n) " repeat a tuple n times
|
||||
:let r = reverse(tuple) " reverse a tuple
|
||||
:let s = slice(tuple, n1, n2) " slice a tuple
|
||||
:let s = string(tuple) " String representation of tuple
|
||||
:let l = tuple2list(tuple) " convert a tuple to list
|
||||
:let t = list2tuple(list) " convert a list to tuple
|
||||
<
|
||||
*E1524*
|
||||
A tuple cannot be used with the |map()|, |mapnew()| and |filter()| functions.
|
||||
|
||||
1.5 Dictionaries ~
|
||||
*dict* *Dict* *Dictionaries* *Dictionary*
|
||||
A Dictionary is an associative array: Each entry has a key and a value. The
|
||||
entry can be located with the key. The entries are stored without a specific
|
||||
@@ -537,10 +743,10 @@ ordering.
|
||||
|
||||
Dictionary creation ~
|
||||
*E720* *E721* *E722* *E723*
|
||||
A Dictionary is created with a comma-separated list of entries in curly
|
||||
A Dictionary is created with a comma-separated sequence of entries in curly
|
||||
braces. Each entry has a key and a value, separated by a colon. Each key can
|
||||
only appear once. Examples: >
|
||||
:let mydict = {1: 'one', 2: 'two', 3: 'three'}
|
||||
:let mydict = {'one': 1, 'two': 2, 'three': 3}
|
||||
:let emptydict = {}
|
||||
< *E713* *E716* *E717*
|
||||
A key is always a String. You can use a Number, it will be converted to a
|
||||
@@ -570,8 +776,11 @@ An extra comma after the last entry is ignored.
|
||||
Accessing entries ~
|
||||
|
||||
The normal way to access an entry is by putting the key in square brackets: >
|
||||
:let mydict = {'one': 1, 'two': 2, 'three': 3}
|
||||
:let val = mydict["one"]
|
||||
:let mydict["four"] = 4
|
||||
:let val = mydict.one
|
||||
:let mydict.four = 4
|
||||
|
||||
You can add new entries to an existing Dictionary this way, unlike Lists.
|
||||
|
||||
@@ -709,7 +918,7 @@ Functions that can be used with a Dictionary: >
|
||||
:call map(dict, '">> " .. v:val') " prepend ">> " to each item
|
||||
|
||||
|
||||
1.5 Blobs ~
|
||||
1.6 Blobs ~
|
||||
*blob* *Blob* *Blobs* *E978*
|
||||
A Blob is a binary object. It can be used to read an image from a file and
|
||||
send it over a channel, for example.
|
||||
@@ -797,7 +1006,7 @@ length minus one is used: >
|
||||
|
||||
|
||||
Blob modification ~
|
||||
*blob-modification* *E1182* *E1184*
|
||||
*blob-modification* *E1184*
|
||||
To change a specific byte of a blob use |:let| this way: >
|
||||
:let blob[4] = 0x44
|
||||
|
||||
@@ -856,7 +1065,7 @@ Making a copy of a Blob is done with the |copy()| function. Using [:] also
|
||||
works, as explained above.
|
||||
|
||||
|
||||
1.6 More about variables ~
|
||||
1.7 More about variables ~
|
||||
*more-variables*
|
||||
If you need to know the type of a variable or expression, use the |type()|
|
||||
function.
|
||||
@@ -907,16 +1116,18 @@ Expression syntax summary, from least to most significant:
|
||||
etc. As above, append ? for ignoring case, # for
|
||||
matching case
|
||||
|
||||
expr5 is expr5 same |List|, |Dictionary| or |Blob| instance
|
||||
expr5 isnot expr5 different |List|, |Dictionary| or |Blob|
|
||||
expr5 is expr5 same |List|, |Tuple|, |Dictionary| or |Blob|
|
||||
instance
|
||||
expr5 isnot expr5 different |List|, |Tuple|, |Dictionary| or
|
||||
|Blob| instance
|
||||
|
||||
|expr5| expr6
|
||||
expr6 << expr6 bitwise left shift
|
||||
expr6 >> expr6 bitwise right shift
|
||||
|
||||
|expr6| expr7
|
||||
expr7 + expr7 ... number addition, list or blob concatenation
|
||||
expr7 + expr7 ... number addition, list or tuple or blob
|
||||
concatenation
|
||||
expr7 - expr7 ... number subtraction
|
||||
expr7 . expr7 ... string concatenation
|
||||
expr7 .. expr7 ... string concatenation
|
||||
@@ -935,8 +1146,10 @@ Expression syntax summary, from least to most significant:
|
||||
+ expr9 unary plus
|
||||
|
||||
|expr10| expr11
|
||||
expr10[expr1] byte of a String or item of a |List|
|
||||
expr10[expr1] byte of a String or item of a |List| or
|
||||
|Tuple|
|
||||
expr10[expr1 : expr1] substring of a String or sublist of a |List|
|
||||
or a slice of a |Tuple|
|
||||
expr10.name entry in a |Dictionary|
|
||||
expr10(expr1, ...) function call with |Funcref| variable
|
||||
expr10->name(expr1, ...) |method| call
|
||||
@@ -945,6 +1158,7 @@ Expression syntax summary, from least to most significant:
|
||||
"string" string constant, backslash is special
|
||||
'string' string constant, ' is doubled
|
||||
[expr1, ...] |List|
|
||||
(expr1, ...) |Tuple|
|
||||
{expr1: expr1, ...} |Dictionary|
|
||||
#{key: expr1, ...} legacy |Dictionary|
|
||||
&option option value
|
||||
@@ -1101,10 +1315,11 @@ Examples:
|
||||
"abc" == "Abc" evaluates to 1 if 'ignorecase' is set, 0 otherwise
|
||||
NOTE: In |Vim9| script 'ignorecase' is not used.
|
||||
|
||||
*E691* *E692*
|
||||
*E691* *E692* *E1517* *E1518*
|
||||
A |List| can only be compared with a |List| and only "equal", "not equal",
|
||||
"is" and "isnot" can be used. This compares the values of the list,
|
||||
recursively. Ignoring case means case is ignored when comparing item values.
|
||||
Same applies for a |Tuple|.
|
||||
|
||||
*E735* *E736*
|
||||
A |Dictionary| can only be compared with a |Dictionary| and only "equal", "not
|
||||
@@ -1124,12 +1339,13 @@ Dictionary and arguments, use |get()| to get the function name: >
|
||||
if get(Part1, 'name') == get(Part2, 'name')
|
||||
" Part1 and Part2 refer to the same function
|
||||
< *E1037*
|
||||
Using "is" or "isnot" with a |List|, |Dictionary| or |Blob| checks whether
|
||||
the expressions are referring to the same |List|, |Dictionary| or |Blob|
|
||||
instance. A copy of a |List| is different from the original |List|. When
|
||||
using "is" without a |List|, |Dictionary| or |Blob|, it is equivalent to
|
||||
using "equal", using "isnot" equivalent to using "not equal". Except that
|
||||
a different type means the values are different: >
|
||||
Using "is" or "isnot" with a |List|, |Tuple|, |Dictionary| or |Blob| checks
|
||||
whether the expressions are referring to the same |List|, |Tuple|,
|
||||
|Dictionary| or |Blob| instance. A copy of a |List| or |Tuple| is different
|
||||
from the original |List| or |Tuple|. When using "is" without a |List|,
|
||||
|Tuple|, |Dictionary| or |Blob|, it is equivalent to using "equal", using
|
||||
"isnot" is equivalent to using "not equal". Except that a different type
|
||||
means the values are different: >
|
||||
echo 4 == '4'
|
||||
1
|
||||
echo 4 is '4'
|
||||
@@ -1147,7 +1363,7 @@ that: >
|
||||
because 'x' converted to a Number is zero. However: >
|
||||
echo [0] == ['x']
|
||||
0
|
||||
Inside a List or Dictionary this conversion is not used.
|
||||
Inside a List or Tuple or Dictionary this conversion is not used.
|
||||
|
||||
In |Vim9| script the types must match.
|
||||
|
||||
@@ -1191,13 +1407,14 @@ topmost bit (sometimes called the sign bit) is cleared. If the right operand
|
||||
|
||||
expr6 and expr7 *expr6* *expr7* *E1036* *E1051*
|
||||
---------------
|
||||
expr7 + expr7 Number addition, |List| or |Blob| concatenation *expr-+*
|
||||
*expr-+*
|
||||
expr7 + expr7 Number addition, |List| or |Tuple| or |Blob| concatenation
|
||||
expr7 - expr7 Number subtraction *expr--*
|
||||
expr7 . expr7 String concatenation *expr-.*
|
||||
expr7 .. expr7 String concatenation *expr-..*
|
||||
|
||||
For |Lists| only "+" is possible and then both expr7 must be a list. The
|
||||
result is a new list with the two lists Concatenated.
|
||||
result is a new list with the two lists concatenated. Same for a |Tuple|.
|
||||
|
||||
For String concatenation ".." is preferred, since "." is ambiguous, it is also
|
||||
used for |Dict| member access and floating point numbers.
|
||||
@@ -1295,7 +1512,8 @@ in any order. E.g., these are all possible:
|
||||
expr10->(expr1, ...)[expr1]
|
||||
Evaluation is always from left to right.
|
||||
|
||||
expr10[expr1] item of String or |List| *expr-[]* *E111*
|
||||
*expr-[]* *E111*
|
||||
expr10[expr1] item of String or |List| or |Tuple|
|
||||
*E909* *subscript* *E1062*
|
||||
In legacy Vim script:
|
||||
If expr10 is a Number or String this results in a String that contains the
|
||||
@@ -1328,6 +1546,8 @@ Generally, if a |List| index is equal to or higher than the length of the
|
||||
|List|, or more negative than the length of the |List|, this results in an
|
||||
error.
|
||||
|
||||
A |Tuple| index is similar to a |List| index as explained above.
|
||||
|
||||
|
||||
expr10[expr1a : expr1b] substring or |sublist| *expr-[:]* *substring*
|
||||
|
||||
@@ -1369,6 +1589,7 @@ just above. Also see |sublist| below. Examples: >
|
||||
:let l = mylist[:3] " first four items
|
||||
:let l = mylist[4:4] " List with one item
|
||||
:let l = mylist[:] " shallow copy of a List
|
||||
A |Tuple| slice is similar to a |List| slice.
|
||||
|
||||
If expr10 is a |Blob| this results in a new |Blob| with the bytes in the
|
||||
indexes expr1a and expr1b, inclusive. Examples: >
|
||||
@@ -1953,7 +2174,8 @@ variables for each buffer. Use local buffer variables instead |b:var|.
|
||||
|
||||
PREDEFINED VIM VARIABLES *vim-variable* *v:var* *v:*
|
||||
*E963* *E1063*
|
||||
Some variables can be set by the user, but the type cannot be changed.
|
||||
Most variables are read-only, when a variable can be set by the user, it will
|
||||
be mentioned at the variable description below. The type cannot be changed.
|
||||
|
||||
*v:argv* *argv-variable*
|
||||
v:argv The command line arguments Vim was invoked with. This is a
|
||||
@@ -2080,7 +2302,7 @@ v:colornames A dictionary that maps color names to hex color strings. These
|
||||
|
||||
You can make changes to that file, but make sure to add new
|
||||
keys instead of updating existing ones, otherwise Vim will skip
|
||||
loading the file (thinking is hasn't been changed).
|
||||
loading the file (thinking it hasn't been changed).
|
||||
|
||||
*v:completed_item* *completed_item-variable*
|
||||
v:completed_item
|
||||
@@ -2172,7 +2394,8 @@ v:event Dictionary containing information about the current
|
||||
<
|
||||
*v:exception* *exception-variable*
|
||||
v:exception The value of the exception most recently caught and not
|
||||
finished. See also |v:throwpoint| and |throw-variables|.
|
||||
finished. See also |v:stacktrace|, |v:throwpoint|, and
|
||||
|throw-variables|.
|
||||
Example: >
|
||||
:try
|
||||
: throw "oops"
|
||||
@@ -2548,6 +2771,12 @@ v:sizeofpointer Number of bytes in a pointer. Depends on how Vim was compiled.
|
||||
This is only useful for deciding whether a test will give the
|
||||
expected result.
|
||||
|
||||
*v:stacktrace* *stacktrace-variable*
|
||||
v:stacktrace The stack trace of the exception most recently caught and
|
||||
not finished. Refer to |getstacktrace()| for the structure of
|
||||
stack trace. See also |v:exception|, |v:throwpoint|, and
|
||||
|throw-variables|.
|
||||
|
||||
*v:statusmsg* *statusmsg-variable*
|
||||
v:statusmsg Last given status message. It's allowed to set this variable.
|
||||
|
||||
@@ -2607,6 +2836,8 @@ v:t_typealias Value of |typealias| type. Read-only. See: |type()|
|
||||
v:t_enum Value of |enum| type. Read-only. See: |type()|
|
||||
*v:t_enumvalue* *t_enumvalue-variable*
|
||||
v:t_enumvalue Value of |enumvalue| type. Read-only. See: |type()|
|
||||
*v:t_tuple* *t_tuple-variable*
|
||||
v:t_tuple Value of |Tuple| type. Read-only. See: |type()|
|
||||
|
||||
*v:termresponse* *termresponse-variable*
|
||||
v:termresponse The escape sequence returned by the terminal for the |t_RV|
|
||||
@@ -2676,7 +2907,7 @@ v:this_session Full filename of the last loaded or saved session file. See
|
||||
*v:throwpoint* *throwpoint-variable*
|
||||
v:throwpoint The point where the exception most recently caught and not
|
||||
finished was thrown. Not set when commands are typed. See
|
||||
also |v:exception| and |throw-variables|.
|
||||
also |v:exception|, |v:stacktrace|, and |throw-variables|.
|
||||
Example: >
|
||||
:try
|
||||
: throw "oops"
|
||||
@@ -2926,13 +3157,13 @@ declarations and assignments do not use a command. |vim9-declaration|
|
||||
:let &g:{option-name} -= {expr1}
|
||||
Like above, but only set the global value of an option
|
||||
(if there is one). Works like |:setglobal|.
|
||||
*E1093*
|
||||
*E1093* *E1537* *E1538* *E1535*
|
||||
:let [{name1}, {name2}, ...] = {expr1} *:let-unpack* *E687* *E688*
|
||||
{expr1} must evaluate to a |List|. The first item in
|
||||
the list is assigned to {name1}, the second item to
|
||||
{name2}, etc.
|
||||
{expr1} must evaluate to a |List| or a |Tuple|. The
|
||||
first item in the list or tuple is assigned to
|
||||
{name1}, the second item to {name2}, etc.
|
||||
The number of names must match the number of items in
|
||||
the |List|.
|
||||
the |List| or |Tuple|.
|
||||
Each name can be one of the items of the ":let"
|
||||
command as mentioned above.
|
||||
Example: >
|
||||
@@ -2949,16 +3180,22 @@ declarations and assignments do not use a command. |vim9-declaration|
|
||||
:let [{name1}, {name2}, ...] .= {expr1}
|
||||
:let [{name1}, {name2}, ...] += {expr1}
|
||||
:let [{name1}, {name2}, ...] -= {expr1}
|
||||
Like above, but append/add/subtract the value for each
|
||||
|List| item.
|
||||
:let [{name1}, {name2}, ...] *= {expr1}
|
||||
:let [{name1}, {name2}, ...] /= {expr1}
|
||||
:let [{name1}, {name2}, ...] %= {expr1}
|
||||
Like above, but append, add, subtract, multiply,
|
||||
divide, or modulo the value for each |List| or |Tuple|
|
||||
item.
|
||||
|
||||
:let [{name}, ..., ; {lastname}] = {expr1} *E452*
|
||||
Like |:let-unpack| above, but the |List| may have more
|
||||
items than there are names. A list of the remaining
|
||||
items is assigned to {lastname}. If there are no
|
||||
remaining items {lastname} is set to an empty list.
|
||||
Like |:let-unpack| above, but the |List| or |Tuple|
|
||||
may have more items than there are names. A list or a
|
||||
tuple of the remaining items is assigned to
|
||||
{lastname}. If there are no remaining items,
|
||||
{lastname} is set to an empty list or tuple.
|
||||
Example: >
|
||||
:let [a, b; rest] = ["aval", "bval", 3, 4]
|
||||
:let [a, b; rest] = ("aval", "bval", 3, 4)
|
||||
<
|
||||
:let [{name}, ..., ; {lastname}] .= {expr1}
|
||||
:let [{name}, ..., ; {lastname}] += {expr1}
|
||||
@@ -3153,23 +3390,26 @@ text...
|
||||
get an error message: "E940: Cannot lock or unlock
|
||||
variable {name}".
|
||||
|
||||
[depth] is relevant when locking a |List| or
|
||||
|Dictionary|. It specifies how deep the locking goes:
|
||||
[depth] is relevant when locking a |List|, a |Tuple|
|
||||
or a |Dictionary|. It specifies how deep the locking
|
||||
goes:
|
||||
0 Lock the variable {name} but not its
|
||||
value.
|
||||
1 Lock the |List| or |Dictionary| itself,
|
||||
cannot add or remove items, but can
|
||||
still change their values.
|
||||
1 Lock the |List| or |Tuple| or
|
||||
|Dictionary| itself, cannot add or
|
||||
remove items, but can still change
|
||||
their values.
|
||||
2 Also lock the values, cannot change
|
||||
the items. If an item is a |List| or
|
||||
|Dictionary|, cannot add or remove
|
||||
items, but can still change the
|
||||
|Tuple| or |Dictionary|, cannot add or
|
||||
remove items, but can still change the
|
||||
values.
|
||||
3 Like 2 but for the |List| /
|
||||
|Dictionary| in the |List| /
|
||||
3 Like 2 but for the |List| / |Tuple| /
|
||||
|Dictionary| in the |List| / |Tuple| /
|
||||
|Dictionary|, one level deeper.
|
||||
The default [depth] is 2, thus when {name} is a |List|
|
||||
or |Dictionary| the values cannot be changed.
|
||||
The default [depth] is 2, thus when {name} is a
|
||||
|List|, a |Tuple| or a |Dictionary| the values cannot
|
||||
be changed.
|
||||
|
||||
Example with [depth] 0: >
|
||||
let mylist = [1, 2, 3]
|
||||
@@ -3274,7 +3514,7 @@ text...
|
||||
:endfo[r] *:endfo* *:endfor*
|
||||
Repeat the commands between `:for` and `:endfor` for
|
||||
each item in {object}. {object} can be a |List|,
|
||||
a |Blob| or a |String|. *E1177*
|
||||
a |Tuple|, a |Blob| or a |String|. *E1177*
|
||||
|
||||
Variable {var} is set to the value of each item.
|
||||
In |Vim9| script the loop variable must not have been
|
||||
@@ -3856,7 +4096,8 @@ in the variable |v:exception|: >
|
||||
: echo "Number thrown. Value is" v:exception
|
||||
|
||||
You may also be interested where an exception was thrown. This is stored in
|
||||
|v:throwpoint|. Note that "v:exception" and "v:throwpoint" are valid for the
|
||||
|v:throwpoint|. And you can obtain the stack trace from |v:stacktrace|.
|
||||
Note that "v:exception", "v:stacktrace" and "v:throwpoint" are valid for the
|
||||
exception most recently caught as long it is not finished.
|
||||
Example: >
|
||||
|
||||
@@ -4898,5 +5139,52 @@ executable. It takes the following arguments:
|
||||
filetype string
|
||||
executable string
|
||||
|
||||
*dist#vim9#Open()* *:Open*
|
||||
*g:Openprg* *gx*
|
||||
dist#vim9#Open(file: string) ~
|
||||
|
||||
Opens `path` with the system default handler (macOS `open`, Windows
|
||||
`explorer.exe`, Linux `xdg-open`, …). If the variable |g:Openprg| exists the
|
||||
string specified in the variable is used instead.
|
||||
|
||||
This function is by default called using the gx mapping. In visual mode
|
||||
tries to open the visually selected text.
|
||||
|
||||
Associated setting variables:
|
||||
`g:gx_word`: control how gx picks up the text under the cursor. Uses
|
||||
`g:netrw_gx` as a fallback for backward compatibility.
|
||||
(default: `<cfile>`)
|
||||
|
||||
`g:nogx`: disables the gx mapping. Uses `g:netrw_nogx` as a fallback for
|
||||
backward compatibility. (default: `unset`)
|
||||
|
||||
|
||||
NOTE: Escaping of the path is automatically applied.
|
||||
|
||||
Usage: >vim
|
||||
:call dist#vim9#Open(<path>)
|
||||
:Open <path>
|
||||
<
|
||||
|
||||
*dist#vim9#Launch()* *:Launch*
|
||||
dist#vim9#Launch(file: string) ~
|
||||
|
||||
Launches <args> with the appropriate system programs. Intended for launching
|
||||
GUI programs within Vim.
|
||||
|
||||
NOTE: escaping of <args> is left to the user
|
||||
|
||||
Examples: >vim
|
||||
vim9script
|
||||
|
||||
import autoload 'dist/vim9.vim'
|
||||
# Execute 'makeprg' into another xterm window
|
||||
vim9.Launch('xterm ' .. expandcmd(&makeprg))
|
||||
<
|
||||
|
||||
Usage: >vim
|
||||
:call dist#vim9#Launch(<args>)
|
||||
:Launch <app> <args>.
|
||||
<
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*filetype.txt* For Vim version 9.1. Last change: 2024 Dec 04
|
||||
*filetype.txt* For Vim version 9.1. Last change: 2025 Mar 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -640,6 +640,25 @@ One command, :DiffGitCached, is provided to show a diff of the current commit
|
||||
in the preview window. It is equivalent to calling "git diff --cached" plus
|
||||
any arguments given to the command.
|
||||
|
||||
GIT REBASE *ft-gitrebase-plugin*
|
||||
|
||||
The gitrebase filetype defines the following buffer-local commands, to help
|
||||
with interactive `git rebase`: >
|
||||
|
||||
:Drop " to discard this commit
|
||||
:Edit " to stop for editing this commit
|
||||
:Fixup " to squash (but discard the message) into the previous one
|
||||
:Pick " to pick this commit (the cursor is on)
|
||||
:Reword " to pick this commit, but change the commit message
|
||||
:Squash " to squash this commit into the previous one
|
||||
|
||||
In addition, the following command can be used to cycle between the different
|
||||
possibilities: >
|
||||
|
||||
:Cycle " to cycle between the previous commands
|
||||
<
|
||||
The `:Cycle` command is also mapped to the CTRL-A and CTRL-X keys.
|
||||
For details, see `git-rebase --help`.
|
||||
|
||||
GO *ft-go-plugin*
|
||||
|
||||
@@ -744,12 +763,21 @@ Add following lines to $HOME/.vim/ftplugin/json.vim: >
|
||||
import autoload 'dist/json.vim'
|
||||
setl formatexpr=json.FormatExpr()
|
||||
|
||||
LUA *ft-lua-plugin*
|
||||
LUA *ft-lua-plugin* *g:lua_folding*
|
||||
|
||||
You can enable folding of Lua functions using |fold-expr| by: >
|
||||
|
||||
let g:lua_folding = 1
|
||||
< *g:lua_version* *g:lua_subversion*
|
||||
Lua filetype's 'includeexpr' and |ft-lua-syntax| highlighting use the global
|
||||
variables "g:lua_version" and "g:lua_subversion" to determine the version of
|
||||
Lua to use (5.3 is the default)
|
||||
|
||||
For example, to use Lua 5.1, set the variables like this: >
|
||||
|
||||
let g:lua_version = 5
|
||||
let g:lua_subversion = 1
|
||||
<
|
||||
MAIL *ft-mail-plugin*
|
||||
|
||||
Options:
|
||||
@@ -762,12 +790,12 @@ Options:
|
||||
You can also format quoted text with |gq|.
|
||||
|
||||
Local mappings:
|
||||
<LocalLeader>q or \\MailQuote
|
||||
<LocalLeader>q or \MailQuote
|
||||
Quotes the text selected in Visual mode, or from the cursor position
|
||||
to the end of the file in Normal mode. This means "> " is inserted in
|
||||
each line.
|
||||
|
||||
MAN *ft-man-plugin* *:Man* *man.vim*
|
||||
MAN *ft-man-plugin* *:Man* *:ManReload* *man.vim*
|
||||
|
||||
This plugin displays a manual page in a nice way. See |find-manpage| in the
|
||||
user manual for more information.
|
||||
@@ -784,6 +812,8 @@ Commands:
|
||||
Man {name} Display the manual page for {name} in a window.
|
||||
Man {number} {name}
|
||||
Display the manual page for {name} in a section {number}.
|
||||
ManReload Reload the cache of available man pages used for |:Man| argument
|
||||
completion.
|
||||
|
||||
Global mapping:
|
||||
<Leader>K Displays the manual page for the word under the cursor.
|
||||
@@ -814,6 +844,14 @@ desired folding style instead. For example: >
|
||||
If you would like :Man {number} {name} to behave like man {number} {name} by
|
||||
not running man {name} if no page is found, then use this: >
|
||||
let g:ft_man_no_sect_fallback = 1
|
||||
<
|
||||
*g:ft_man_implementation*
|
||||
The completion for the :Man command tries to guess which implementation of man
|
||||
the system has. If it guesses wrong, you can set g:ft_man_implementation to
|
||||
one of these values:
|
||||
'man-db' https://man-db.nongnu.org/
|
||||
'' Unknown, fall back to completing shell commands
|
||||
instead of man pages.
|
||||
|
||||
You may also want to set 'keywordprg' to make the |K| command open a manual
|
||||
page in a Vim window: >
|
||||
@@ -865,6 +903,12 @@ the PDF. The following are treated as tags:
|
||||
|
||||
These maps can be disabled with >
|
||||
:let g:no_pdf_maps = 1
|
||||
|
||||
PLSQL *ft-plsql-plugin*
|
||||
|
||||
To enable syntax folding in PL/SQL filetypes, set the following variable: >
|
||||
|
||||
:let g:plsql_fold = 1
|
||||
<
|
||||
|
||||
PYTHON *ft-python-plugin* *PEP8*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*helphelp.txt* For Vim version 9.1. Last change: 2024 Dec 15
|
||||
*helphelp.txt* For Vim version 9.1. Last change: 2025 Jan 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -247,10 +247,10 @@ command: >
|
||||
(requires write permission there): >
|
||||
:helptags $VIMRUNTIME/doc
|
||||
<
|
||||
*:HelpToc* *help-TOC* *help-toc-install*
|
||||
*:HelpToc* *help-TOC* *help-toc-install* *package-helptoc*
|
||||
|
||||
If you want to access an interactive table of contents, from any position in
|
||||
the file, you can use the helptoc plugin. Load the plugin with: >
|
||||
the file, you can use the helptoc plugin. Load the plugin with: >vim
|
||||
|
||||
packadd helptoc
|
||||
|
||||
@@ -433,17 +433,31 @@ To quote a block of ex-commands verbatim, place a greater than (>) character
|
||||
at the end of the line before the block and a less than (<) character as the
|
||||
first non-blank on a line following the block. Any line starting in column 1
|
||||
also implicitly stops the block of ex-commands before it. E.g. >
|
||||
function Example_Func()
|
||||
echo "Example"
|
||||
endfunction
|
||||
function Example_Func()
|
||||
echo "Example"
|
||||
endfunction
|
||||
<
|
||||
It's possible to add Vim syntax highlighting support to code examples. This
|
||||
can be done by adding "vim" after the greater than (>) character (">vim").
|
||||
E.g: >vim
|
||||
function Example_Func()
|
||||
echo "Example"
|
||||
endfunction
|
||||
To enable syntax highlighting for a block of code, place a language name
|
||||
annotation (e.g. "vim") after a greater than (>) character. E.g. >vim
|
||||
function Example_Func()
|
||||
echo "Example"
|
||||
endfunction
|
||||
<
|
||||
*g:help_example_languages*
|
||||
By default, help files only support Vim script highlighting. If you need
|
||||
syntax highlighting for other languages, add to your |vimrc|: >
|
||||
:let g:help_example_languages = { "vim": "vim", "sh": "bash" }
|
||||
The key represents the annotation marker name, and the value is the 'syntax'
|
||||
name.
|
||||
|
||||
Note: If you do not include "vim" in "g:help_example_languages", its syntax
|
||||
highlighting will not be enabled. If you set "g:help_example_languages" to an
|
||||
empty value, syntax highlighting for embedded languages will be disabled.
|
||||
|
||||
Further note: Including arbitrary syntax languages into help files may not
|
||||
always work perfectly, if the included 'syntax' script does not account for
|
||||
such an import.
|
||||
*help-notation*
|
||||
The following are highlighted differently in a Vim help file:
|
||||
- a special key name expressed either in <> notation as in <PageDown>, or
|
||||
as a Ctrl character as in CTRL-X
|
||||
@@ -460,15 +474,15 @@ You can find the details in $VIMRUNTIME/syntax/help.vim
|
||||
GENDER NEUTRAL LANGUAGE
|
||||
|
||||
*gender-neutral* *inclusion*
|
||||
Vim is for everybody, no matter race, gender or anything. For new or updated
|
||||
help text, gender neutral language is recommended. Some of the help text is
|
||||
many years old and there is no need to change it. We do not make any
|
||||
Vim is for everybody, no matter race, gender or anything. For new or updated
|
||||
help text, gender neutral language is recommended. Some of the help text is
|
||||
many years old and there is no need to change it. We do not make any
|
||||
assumptions about the gender of the user, no matter how the text is phrased.
|
||||
The goal is that the reader understands how Vim works, the exact wording is
|
||||
secondary.
|
||||
|
||||
Many online technical style guides include sections about gender neutral
|
||||
language. Here are a few: >
|
||||
language. Here are a few: >
|
||||
|
||||
https://developers.google.com/style/pronouns
|
||||
https://techwhirl.com/gender-neutral-technical-writing/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 9.1. Last change: 2024 Dec 15
|
||||
*index.txt* For Vim version 9.1. Last change: 2025 Mar 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -803,8 +803,6 @@ tag char note action in Normal mode ~
|
||||
|gu| gu{motion} 2 make Nmove text lowercase
|
||||
|gv| gv reselect the previous Visual area
|
||||
|gw| gw{motion} 2 format Nmove text and keep cursor
|
||||
|netrw-gx| gx execute application for file name under the
|
||||
cursor (only with |netrw| plugin)
|
||||
|g@| g@{motion} call 'operatorfunc'
|
||||
|g~| g~{motion} 2 swap case for Nmove text
|
||||
|g<Down>| g<Down> 1 same as "gj"
|
||||
@@ -1185,6 +1183,7 @@ tag command action ~
|
||||
|:abbreviate| :ab[breviate] enter abbreviation
|
||||
|:abclear| :abc[lear] remove all abbreviations
|
||||
|:aboveleft| :abo[veleft] make split window appear left or above
|
||||
|:abstract| :abstract declare a Vim9 abstract class
|
||||
|:all| :al[l] open a window for each file in the argument
|
||||
list
|
||||
|:amenu| :am[enu] enter new menu item for all modes
|
||||
@@ -1224,7 +1223,7 @@ tag command action ~
|
||||
|:breakdel| :breakd[el] delete a debugger breakpoint
|
||||
|:breaklist| :breakl[ist] list debugger breakpoints
|
||||
|:browse| :bro[wse] use file selection dialog
|
||||
|:bufdo| :bufdo execute command in each listed buffer
|
||||
|:bufdo| :bufd[o] execute command in each listed buffer
|
||||
|:buffers| :buffers list all files in the buffer list
|
||||
|:bunload| :bun[load] unload a specific buffer
|
||||
|:bwipeout| :bw[ipeout] really delete a buffer
|
||||
@@ -1240,7 +1239,7 @@ tag command action ~
|
||||
|:cafter| :caf[ter] go to error after current cursor
|
||||
|:call| :cal[l] call a function
|
||||
|:catch| :cat[ch] part of a :try command
|
||||
|:cbefore| :cbef[ore] go to error before current cursor
|
||||
|:cbefore| :cbe[fore] go to error before current cursor
|
||||
|:cbelow| :cbel[ow] go to error below current line
|
||||
|:cbottom| :cbo[ttom] scroll to the bottom of the quickfix window
|
||||
|:cbuffer| :cb[uffer] parse error messages and jump to first error
|
||||
@@ -1261,7 +1260,7 @@ tag command action ~
|
||||
|:checkpath| :che[ckpath] list included files
|
||||
|:checktime| :checkt[ime] check timestamp of loaded buffers
|
||||
|:chistory| :chi[story] list the error lists
|
||||
|:class| :class start of a class specification
|
||||
|:class| :class start of a class declaration
|
||||
|:clast| :cla[st] go to the specified error, default last one
|
||||
|:clearjumps| :cle[arjumps] clear the jump list
|
||||
|:clist| :cl[ist] list all errors
|
||||
@@ -1300,7 +1299,7 @@ tag command action ~
|
||||
|: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
|
||||
|:defer| :defer call function when current function is done
|
||||
|:defer| :defe[r] call function when current function is done
|
||||
|:delcommand| :delc[ommand] delete user-defined command
|
||||
|:delfunction| :delf[unction] delete a user function
|
||||
|:delmarks| :delm[arks] delete marks
|
||||
@@ -1310,7 +1309,7 @@ tag command action ~
|
||||
|:diffpatch| :diffp[atch] apply a patch and show differences
|
||||
|:diffput| :diffpu[t] remove differences in other buffer
|
||||
|:diffsplit| :diffs[plit] show differences with another file
|
||||
|:diffthis| :diffthis make current window a diff window
|
||||
|:diffthis| :difft[his] make current window a diff window
|
||||
|:digraphs| :dig[raphs] show or enter digraphs
|
||||
|:display| :di[splay] display registers
|
||||
|:disassemble| :disa[ssemble] disassemble Vim9 user function
|
||||
@@ -1336,14 +1335,17 @@ tag command action ~
|
||||
|:else| :el[se] part of an :if command
|
||||
|:elseif| :elsei[f] part of an :if command
|
||||
|:emenu| :em[enu] execute a menu by name
|
||||
|:endclass| :endclass end of a class specification
|
||||
|:endclass| :endclass end of a class declaration
|
||||
|:enddef| :enddef end of a user function started with :def
|
||||
|:endenum| :endenum end of an enum declaration
|
||||
|:endif| :en[dif] end previous :if
|
||||
|:endinterface| :endinterface end of an interface declaration
|
||||
|:endfor| :endfo[r] end previous :for
|
||||
|:endfunction| :endf[unction] end of a user function started with :function
|
||||
|:endtry| :endt[ry] end previous :try
|
||||
|:endwhile| :endw[hile] end previous :while
|
||||
|:enew| :ene[w] edit a new, unnamed buffer
|
||||
|:enum| :enum start of an enum declaration
|
||||
|:eval| :ev[al] evaluate an expression and discard the result
|
||||
|:ex| :ex same as ":edit"
|
||||
|:execute| :exe[cute] execute result of expressions
|
||||
@@ -1397,6 +1399,9 @@ tag command action ~
|
||||
|:inoreabbrev| :inorea[bbrev] like ":noreabbrev" but for Insert mode
|
||||
|:inoremenu| :inoreme[nu] like ":noremenu" but for Insert mode
|
||||
|:intro| :int[ro] print the introductory message
|
||||
|:interface| :interface start of an interface declaration
|
||||
|:iput| :ip[ut] like |:put|, but adjust the indent to the
|
||||
current line
|
||||
|:isearch| :is[earch] list one line where identifier matches
|
||||
|:isplit| :isp[lit] split window and jump to definition of
|
||||
identifier
|
||||
@@ -1421,7 +1426,7 @@ tag command action ~
|
||||
|:last| :la[st] go to the last file in the argument list
|
||||
|:language| :lan[guage] set the language (locale)
|
||||
|:later| :lat[er] go to newer change, redo
|
||||
|:lbefore| :lbef[ore] go to location before current cursor
|
||||
|:lbefore| :lbe[fore] go to location before current cursor
|
||||
|:lbelow| :lbel[ow] go to location below current line
|
||||
|:lbottom| :lbo[ttom] scroll to the bottom of the location window
|
||||
|:lbuffer| :lb[uffer] parse locations and jump to first location
|
||||
@@ -1461,7 +1466,7 @@ tag command action ~
|
||||
|:lockmarks| :loc[kmarks] following command keeps marks where they are
|
||||
|:lockvar| :lockv[ar] lock variables
|
||||
|:lolder| :lol[der] go to older location list
|
||||
|:lopen| :lope[n] open location window
|
||||
|:lopen| :lop[en] open location window
|
||||
|:lprevious| :lp[revious] go to previous location
|
||||
|:lpfile| :lpf[ile] go to last location in previous file
|
||||
|:lrewind| :lr[ewind] go to the specified location, default first one
|
||||
@@ -1496,7 +1501,7 @@ tag command action ~
|
||||
|:mzfile| :mzf[ile] execute MzScheme script file
|
||||
|:nbclose| :nbc[lose] close the current Netbeans session
|
||||
|:nbkey| :nb[key] pass a key to Netbeans
|
||||
|:nbstart| :nbs[art] start a new Netbeans session
|
||||
|:nbstart| :nbs[tart] start a new Netbeans session
|
||||
|:next| :n[ext] go to next file in the argument list
|
||||
|:new| :new create a new empty window
|
||||
|:nmap| :nm[ap] like ":map" but for Normal mode
|
||||
@@ -1682,7 +1687,7 @@ tag command action ~
|
||||
|:tNext| :tN[ext] jump to previous matching tag
|
||||
|:tabNext| :tabN[ext] go to previous tab page
|
||||
|:tabclose| :tabc[lose] close current tab page
|
||||
|:tabdo| :tabdo execute command in each tab page
|
||||
|:tabdo| :tabd[o] execute command in each tab page
|
||||
|:tabedit| :tabe[dit] edit a file in a new tab page
|
||||
|:tabfind| :tabf[ind] find file in 'path', edit it in a new tab page
|
||||
|:tabfirst| :tabfir[st] go to first tab page
|
||||
@@ -1706,6 +1711,8 @@ tag command action ~
|
||||
|:terminal| :ter[minal] open a terminal window
|
||||
|:tfirst| :tf[irst] jump to first matching tag
|
||||
|:throw| :th[row] throw an exception
|
||||
|:this| :this prefix for an object member during
|
||||
initialization (e.g. on |new()|)
|
||||
|:tjump| :tj[ump] like ":tselect", but jump directly when there
|
||||
is only one match
|
||||
|:tlast| :tl[ast] jump to last matching tag
|
||||
@@ -1724,6 +1731,7 @@ tag command action ~
|
||||
|:tselect| :ts[elect] list matching tags and select one
|
||||
|:tunmap| :tunma[p] like ":unmap" but for Terminal-Job mode
|
||||
|:tunmenu| :tu[nmenu] remove menu tooltip
|
||||
|:type| :type create a type alias
|
||||
|:undo| :u[ndo] undo last change(s)
|
||||
|:undojoin| :undoj[oin] join next change with previous undo block
|
||||
|:undolist| :undol[ist] list leafs of the undo tree
|
||||
@@ -1757,7 +1765,7 @@ tag command action ~
|
||||
|:vsplit| :vs[plit] split current window vertically
|
||||
|:vunmap| :vu[nmap] like ":unmap" but for Visual+Select mode
|
||||
|:vunmenu| :vunme[nu] remove menu for Visual+Select mode
|
||||
|:windo| :windo execute command in each window
|
||||
|:windo| :wind[o] execute command in each window
|
||||
|:write| :w[rite] write to a file
|
||||
|:wNext| :wN[ext] write to a file and go to previous file in
|
||||
argument list
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 9.1. Last change: 2024 Oct 08
|
||||
*insert.txt* For Vim version 9.1. Last change: 2025 Mar 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -222,6 +222,10 @@ CTRL-Q Same as CTRL-V.
|
||||
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.
|
||||
Note: When CTRL-SHIFT-V is intercepted by your system (e.g.,
|
||||
to paste text) you can often use CTRL-SHIFT-Q instead.
|
||||
However, in some terminals (e.g. GNOME Terminal), CTRL-SHIFT-Q
|
||||
quits the terminal without confirmation.
|
||||
|
||||
CTRL-X Enter CTRL-X mode. This is a sub-mode where commands can
|
||||
be given to complete words or scroll the window. See
|
||||
@@ -657,6 +661,11 @@ CTRL-N (next), and CTRL-P (previous).
|
||||
To get the current completion information, |complete_info()| can be used.
|
||||
Also see the 'infercase' option if you want to adjust the case of the match.
|
||||
|
||||
When inserting a selected candidate word from the |popup-menu|, the part of
|
||||
the candidate word that does not match the query is highlighted using
|
||||
|hl-ComplMatchIns|. If fuzzy is enabled in 'completeopt', highlighting will
|
||||
not be applied.
|
||||
|
||||
*complete_CTRL-E*
|
||||
When completion is active you can use CTRL-E to stop it and go back to the
|
||||
originally typed text. The CTRL-E will not be inserted.
|
||||
@@ -1195,6 +1204,7 @@ items:
|
||||
|hl-PmenuKind| highlight group, allowing for the
|
||||
customization of ctermfg and guifg properties for the
|
||||
completion kind
|
||||
match See "matches" in |complete_info()|.
|
||||
|
||||
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
|
||||
@@ -2090,7 +2100,7 @@ the cursor is, or below the specified line. To insert text above the first
|
||||
line use the command ":0r {name}".
|
||||
|
||||
After the ":read" command, the cursor is left on the first non-blank in the
|
||||
first new line. Unless in Ex mode, then the cursor is left on the last new
|
||||
first new line. If in Ex mode, then the cursor is left on the last new
|
||||
line (sorry, this is Vi compatible).
|
||||
|
||||
If a file name is given with ":r", it becomes the alternate file. This can be
|
||||
|
||||
@@ -125,7 +125,7 @@ Note that when using ":" any motion becomes characterwise exclusive.
|
||||
*inclusive-motion-selection-exclusive*
|
||||
When 'selection' is "exclusive", |Visual| mode is active and an inclusive
|
||||
motion has been used, the cursor position will be adjusted by another
|
||||
character to the right, so that the visual selection includes the expected
|
||||
character to the right, so that the Visual selection includes the expected
|
||||
text and can be acted upon.
|
||||
|
||||
*forced-motion*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 9.1. Last change: 2024 Dec 14
|
||||
*options.txt* For Vim version 9.1. Last change: 2025 Mar 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1033,7 +1033,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
When the |t_RB| option is set, Vim will use it to request the background
|
||||
color from the terminal. If the returned RGB value is dark/light and
|
||||
'background' is not dark/light, 'background' will be set and the
|
||||
screen is redrawn. This may have side effects, make t_BG empty in
|
||||
screen is redrawn. This may have side effects, make |t_RB| empty in
|
||||
your .vimrc if you suspect this problem. The response to |t_RB| can
|
||||
be found in |v:termrbgresp|.
|
||||
|
||||
@@ -2104,13 +2104,35 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'completefuzzycollect'* *'cfc'*
|
||||
'completefuzzycollect' 'cfc' string (default: empty)
|
||||
global
|
||||
A comma-separated list of strings to enable fuzzy collection for
|
||||
specific |ins-completion| modes, affecting how matches are gathered
|
||||
during completion. For specified modes, fuzzy matching is used to
|
||||
find completion candidates instead of the standard prefix-based
|
||||
matching. This option can contain the following values:
|
||||
|
||||
keyword keywords in the current file |i_CTRL-X_CTRL-N|
|
||||
keywords with flags ".", "w", |i_CTRL-N| |i_CTRL-P|
|
||||
"b", "u", "U" and "k{dict}" in 'complete'
|
||||
keywords in 'dictionary' |i_CTRL-X_CTRL-K|
|
||||
|
||||
files file names |i_CTRL-X_CTRL-F|
|
||||
|
||||
whole_line whole lines |i_CTRL-X_CTRL-L|
|
||||
|
||||
When using the 'completeopt' "longest" option value, fuzzy collection
|
||||
can identify the longest common string among the best fuzzy matches
|
||||
and insert it automatically.
|
||||
|
||||
*'completeitemalign'* *'cia'*
|
||||
'completeitemalign' 'cia' string (default: "abbr,kind,menu")
|
||||
global
|
||||
A comma-separated list of |complete-items| that controls the alignment
|
||||
and display order of items in the popup menu during Insert mode
|
||||
completion. The supported values are abbr, kind, and menu. These
|
||||
options allow to customize how the completion items are shown in the
|
||||
A comma-separated list of strings that controls the alignment and
|
||||
display order of items in the popup menu during Insert mode
|
||||
completion. The supported values are "abbr", "kind", and "menu".
|
||||
These values allow customizing how |complete-items| are shown in the
|
||||
popup menu. Note: must always contain those three values in any
|
||||
order.
|
||||
|
||||
@@ -2120,6 +2142,22 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
A comma-separated list of options for Insert mode completion
|
||||
|ins-completion|. The supported values are:
|
||||
|
||||
fuzzy Enable |fuzzy-matching| for completion candidates. This
|
||||
allows for more flexible and intuitive matching, where
|
||||
characters can be skipped and matches can be found even
|
||||
if the exact sequence is not typed. Note: This option
|
||||
does not affect the collection of candidate list, it only
|
||||
controls how completion candidates are reduced from the
|
||||
list of alternatives. If you want to use |fuzzy-matching|
|
||||
to gather more alternatives for your candidate list,
|
||||
see |'completefuzzycollect'|.
|
||||
|
||||
longest Only insert the longest common text of the matches. If
|
||||
the menu is displayed you can use CTRL-L to add more
|
||||
characters. Whether case is ignored depends on the kind
|
||||
of completion. For buffer text the 'ignorecase' option is
|
||||
used.
|
||||
|
||||
menu Use a popup menu to show the possible completions. The
|
||||
menu is only shown when there is more than one match and
|
||||
sufficient colors are available. |ins-completion-menu|
|
||||
@@ -2128,15 +2166,17 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Useful when there is additional information about the
|
||||
match, e.g., what file it comes from.
|
||||
|
||||
longest Only insert the longest common text of the matches. If
|
||||
the menu is displayed you can use CTRL-L to add more
|
||||
characters. Whether case is ignored depends on the kind
|
||||
of completion. For buffer text the 'ignorecase' option is
|
||||
used.
|
||||
noinsert Do not insert any text for a match until the user selects
|
||||
a match from the menu. Only works in combination with
|
||||
"menu" or "menuone". No effect if "longest" is present.
|
||||
|
||||
preview Show extra information about the currently selected
|
||||
completion in the preview window. Only works in
|
||||
combination with "menu" or "menuone".
|
||||
noselect Same as "noinsert", except that no menu item is
|
||||
pre-selected. If both "noinsert" and "noselect" are
|
||||
present, "noselect" has precedence.
|
||||
|
||||
nosort Disable sorting of completion candidates based on fuzzy
|
||||
scores when "fuzzy" is enabled. Candidates will appear
|
||||
in their original order.
|
||||
|
||||
popup Show extra information about the currently selected
|
||||
completion in a popup window. Only works in combination
|
||||
@@ -2151,18 +2191,15 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
See the example at |complete-popuphidden|.
|
||||
{only works when compiled with the |+textprop| feature}
|
||||
|
||||
noinsert Do not insert any text for a match until the user selects
|
||||
a match from the menu. Only works in combination with
|
||||
"menu" or "menuone". No effect if "longest" is present.
|
||||
preinsert
|
||||
Preinsert the portion of the first candidate word that is
|
||||
not part of the current completion leader and using the
|
||||
|hl-ComplMatchIns| highlight group. In order for it to
|
||||
work, "fuzzy" must not be set and "menuone" must be set.
|
||||
|
||||
noselect Same as "noinsert", except that no menu item is
|
||||
pre-selected. If both "noinsert" and "noselect" are
|
||||
present, "noselect" has precedence.
|
||||
|
||||
fuzzy Enable |fuzzy-matching| for completion candidates. This
|
||||
allows for more flexible and intuitive matching, where
|
||||
characters can be skipped and matches can be found even
|
||||
if the exact sequence is not typed.
|
||||
preview Show extra information about the currently selected
|
||||
completion in the preview window. Only works in
|
||||
combination with "menu" or "menuone".
|
||||
|
||||
*'completepopup'* *'cpp'*
|
||||
'completepopup' 'cpp' string (default empty)
|
||||
@@ -2880,11 +2917,20 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Option settings for diff mode. It can consist of the following items.
|
||||
All are optional. Items must be separated by a comma.
|
||||
|
||||
filler Show filler lines, to keep the text
|
||||
synchronized with a window that has inserted
|
||||
lines at the same position. Mostly useful
|
||||
when windows are side-by-side and 'scrollbind'
|
||||
is set.
|
||||
algorithm:{text} Use the specified diff algorithm with the
|
||||
internal diff engine. Currently supported
|
||||
algorithms are:
|
||||
myers the default algorithm
|
||||
minimal spend extra time to generate the
|
||||
smallest possible diff
|
||||
patience patience diff algorithm
|
||||
histogram histogram diff algorithm
|
||||
|
||||
closeoff When a window is closed where 'diff' is set
|
||||
and there is only one window remaining in the
|
||||
same tab page with 'diff' set, execute
|
||||
`:diffoff` in that window. This undoes a
|
||||
`:diffsplit` command.
|
||||
|
||||
context:{n} Use a context of {n} lines between a change
|
||||
and a fold that contains unchanged lines.
|
||||
@@ -2895,6 +2941,23 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
value (999999) to disable folding completely.
|
||||
See |fold-diff|.
|
||||
|
||||
filler Show filler lines, to keep the text
|
||||
synchronized with a window that has inserted
|
||||
lines at the same position. Mostly useful
|
||||
when windows are side-by-side and 'scrollbind'
|
||||
is set.
|
||||
|
||||
foldcolumn:{n} Set the 'foldcolumn' option to {n} when
|
||||
starting diff mode. Without this 2 is used.
|
||||
|
||||
followwrap Follow the 'wrap' option and leave as it is.
|
||||
|
||||
horizontal Start diff mode with horizontal splits (unless
|
||||
explicitly specified otherwise).
|
||||
|
||||
hiddenoff Do not use diff mode for a buffer when it
|
||||
becomes hidden.
|
||||
|
||||
iblank Ignore changes where lines are all blank. Adds
|
||||
the "-B" flag to the "diff" command if
|
||||
'diffexpr' is empty. Check the documentation
|
||||
@@ -2908,6 +2971,17 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
are considered the same. Adds the "-i" flag
|
||||
to the "diff" command if 'diffexpr' is empty.
|
||||
|
||||
indent-heuristic
|
||||
Use the indent heuristic for the internal
|
||||
diff library.
|
||||
|
||||
internal Use the internal diff library. This is
|
||||
ignored when 'diffexpr' is set. *E960*
|
||||
When running out of memory when writing a
|
||||
buffer this item will be ignored for diffs
|
||||
involving that buffer. Set the 'verbose'
|
||||
option to see when this happens.
|
||||
|
||||
iwhite Ignore changes in amount of white space. Adds
|
||||
the "-b" flag to the "diff" command if
|
||||
'diffexpr' is empty. Check the documentation
|
||||
@@ -2927,46 +3001,19 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
of the "diff" command for what this does
|
||||
exactly.
|
||||
|
||||
horizontal Start diff mode with horizontal splits (unless
|
||||
explicitly specified otherwise).
|
||||
linematch:{n} Align and mark changes between the most
|
||||
similar lines between the buffers. When the
|
||||
total number of lines in the diff hunk exceeds
|
||||
{n}, the lines will not be aligned because for
|
||||
very large diff hunks there will be a
|
||||
noticeable lag. A reasonable setting is
|
||||
"linematch:60", as this will enable alignment
|
||||
for a 2 buffer diff hunk of 30 lines each,
|
||||
or a 3 buffer diff hunk of 20 lines each.
|
||||
|
||||
vertical Start diff mode with vertical splits (unless
|
||||
explicitly specified otherwise).
|
||||
|
||||
closeoff When a window is closed where 'diff' is set
|
||||
and there is only one window remaining in the
|
||||
same tab page with 'diff' set, execute
|
||||
`:diffoff` in that window. This undoes a
|
||||
`:diffsplit` command.
|
||||
|
||||
hiddenoff Do not use diff mode for a buffer when it
|
||||
becomes hidden.
|
||||
|
||||
foldcolumn:{n} Set the 'foldcolumn' option to {n} when
|
||||
starting diff mode. Without this 2 is used.
|
||||
|
||||
followwrap Follow the 'wrap' option and leave as it is.
|
||||
|
||||
internal Use the internal diff library. This is
|
||||
ignored when 'diffexpr' is set. *E960*
|
||||
When running out of memory when writing a
|
||||
buffer this item will be ignored for diffs
|
||||
involving that buffer. Set the 'verbose'
|
||||
option to see when this happens.
|
||||
|
||||
indent-heuristic
|
||||
Use the indent heuristic for the internal
|
||||
diff library.
|
||||
|
||||
algorithm:{text} Use the specified diff algorithm with the
|
||||
internal diff engine. Currently supported
|
||||
algorithms are:
|
||||
myers the default algorithm
|
||||
minimal spend extra time to generate the
|
||||
smallest possible diff
|
||||
patience patience diff algorithm
|
||||
histogram histogram diff algorithm
|
||||
|
||||
Examples: >
|
||||
:set diffopt=internal,filler,context:4
|
||||
:set diffopt=
|
||||
@@ -3263,6 +3310,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Otherwise this is a comma-separated list of event names. Example: >
|
||||
:set ei=WinEnter,WinLeave
|
||||
<
|
||||
*'eventignorewin'* *'eiw'*
|
||||
'eventignorewin' 'eiw' string (default "")
|
||||
window-local
|
||||
Similar to 'eventignore' but applies to a particular window and its
|
||||
buffers, for which window and buffer related autocommands can be
|
||||
ignored indefinitely without affecting the global 'eventignore'.
|
||||
|
||||
*'expandtab'* *'et'* *'noexpandtab'* *'noet'*
|
||||
'expandtab' 'et' boolean (default off)
|
||||
local to buffer
|
||||
@@ -4348,7 +4402,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
#:TabLineSel,_:TabLineFill,!:CursorColumn,
|
||||
.:CursorLine,o:ColorColumn,q:QuickFixLine,
|
||||
z:StatusLineTerm,Z:StatusLineTermNC,
|
||||
g:MsgArea")
|
||||
g:MsgArea,h:ComplMatchIns")
|
||||
global
|
||||
This option can be used to set highlighting mode for various
|
||||
occasions. It is a comma-separated list of character pairs. The
|
||||
@@ -4368,6 +4422,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|hl-MoreMsg| m |more-prompt|
|
||||
|hl-ModeMsg| M Mode (e.g., "-- INSERT --")
|
||||
|hl-MsgArea| g |Command-line| and message area
|
||||
|hl-ComplMatchIns| h matched text of currently inserted completion
|
||||
|hl-LineNr| n line number for ":number" and ":#" commands, and
|
||||
when 'number' or 'relativenumber' option is set.
|
||||
|hl-LineNrAbove| a line number above the cursor for when the
|
||||
@@ -5072,11 +5127,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
a pattern that is matched against the 'term' option, a colon and the
|
||||
protocol name to be used. To illustrate this, the default value would
|
||||
be set with: >
|
||||
set keyprotocol=kitty:kitty,foot:kitty,wezterm:kitty,xterm:mok2
|
||||
set keyprotocol=kitty:kitty,foot:kitty,ghostty:kitty,wezterm:kitty
|
||||
set keyprotocol+=xterm:mok2
|
||||
|
||||
< This means that when 'term' contains "kitty, "foot" or "wezterm"
|
||||
somewhere then the "kitty" protocol is used. When 'term' contains
|
||||
"xterm" somewhere, then the "mok2" protocol is used.
|
||||
< This means that when 'term' contains "kitty, "foot", "ghostty" or
|
||||
"wezterm" somewhere, then the "kitty" protocol is used. When 'term'
|
||||
contains "xterm" somewhere, then the "mok2" protocol is used.
|
||||
|
||||
The first match is used, thus if you want to have "kitty" use the
|
||||
kitty protocol, but "badkitty" not, then you should match "badkitty"
|
||||
@@ -8478,7 +8534,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
< You need to do this when your system has no locale support for UTF-8.
|
||||
|
||||
*'termguicolors'* *'tgc'* *'notermguicolors'* *'notgc'* *E954*
|
||||
'termguicolors' 'tgc' boolean (default off)
|
||||
'termguicolors' 'tgc' boolean (default off unless Vim detects that it runs
|
||||
in a capable terminal)
|
||||
global
|
||||
{not available when compiled without the
|
||||
|+termguicolors| feature}
|
||||
@@ -9536,7 +9593,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
"lastused" When completing buffer names and more than one buffer
|
||||
matches, sort buffers by time last used (other than
|
||||
the current buffer).
|
||||
When there is only a single match, it is fully completed in all cases.
|
||||
"noselect" Do not pre-select first menu item and start 'wildmenu'
|
||||
if it is enabled.
|
||||
When there is only a single match, it is fully completed in all cases
|
||||
except when "noselect" is present.
|
||||
|
||||
Examples of useful colon-separated values:
|
||||
"longest:full" Like "longest", but also start 'wildmenu' if it is
|
||||
@@ -9559,7 +9619,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
:set wildmode=list,full
|
||||
< List all matches without completing, then each full match >
|
||||
:set wildmode=longest,list
|
||||
< Complete longest common string, then list alternatives.
|
||||
< Complete longest common string, then list alternatives >
|
||||
:set wildmode=noselect:full
|
||||
< Display 'wildmenu' without completing, then each full match >
|
||||
:set wildmode=noselect:lastused,full
|
||||
< Same as above, but sort buffers by time last used.
|
||||
More info here: |cmdline-completion|.
|
||||
|
||||
*'wildoptions'* *'wop'*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_dos.txt* For Vim version 9.1. Last change: 2024 Sep 24
|
||||
*os_dos.txt* For Vim version 9.1. Last change: 2024 Dec 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -292,9 +292,9 @@ should be:
|
||||
'shellquote' "
|
||||
'shellxquote' "
|
||||
|
||||
For Dos 16 bit this starts the shell as:
|
||||
For Dos 16 bit this starts the shell as: >
|
||||
<shell> -c "command name" >file
|
||||
For Win32 as:
|
||||
For Win32 as: >
|
||||
<shell> -c "command name >file"
|
||||
For DOS 32 bit, DJGPP does this internally somehow.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 9.1. Last change: 2024 Nov 09
|
||||
*pattern.txt* For Vim version 9.1. Last change: 2025 Mar 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -141,6 +141,7 @@ CTRL-C Interrupt current (search) command. Use CTRL-Break on
|
||||
help users who use "vim file | grep word" and don't
|
||||
know how to get out (blindly typing :qa<CR> would
|
||||
work).
|
||||
If a popup is open, the active popup will be closed.
|
||||
|
||||
*:noh* *:nohlsearch*
|
||||
:noh[lsearch] Stop the highlighting for the 'hlsearch' option. It
|
||||
@@ -1504,6 +1505,7 @@ criteria:
|
||||
- Matches at a camel case character (e.g. Case in CamelCase)
|
||||
- Matches after a path separator or a hyphen.
|
||||
- The number of unmatched characters in a string.
|
||||
- A full/exact match is preferred.
|
||||
The matching string with the highest score is returned first.
|
||||
|
||||
For example, when you search for the "get pat" string using fuzzy matching, it
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_getscript.txt* For Vim version 9.1. Last change: 2024 Oct 05
|
||||
*pi_getscript.txt* For Vim version 9.1. Last change: 2025 Mar 15
|
||||
>
|
||||
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell
|
||||
<
|
||||
@@ -348,38 +348,43 @@ after/syntax/c.vim contained in it to overwrite a user's c.vim.
|
||||
Doesn't override vimball installation.
|
||||
>
|
||||
g:GetLatestVimScripts_scriptaddr
|
||||
< default='https://www.vim.org/scripts/script.php?script_id='
|
||||
< default='https://www.vim.org/scripts/script.php?script_id='
|
||||
Override this if your system needs
|
||||
... ='http://vim.sourceforge.net/script.php?script_id='
|
||||
>
|
||||
g:GetLatestVimScripts_downloadaddr
|
||||
< default='https://www.vim.org/scripts/download_script.php?src_id='
|
||||
< default='https://www.vim.org/scripts/download_script.php?src_id='
|
||||
Override this if your system needs
|
||||
... ='http://vim.sourceforge.net/scripts/download_script.php?src_id='
|
||||
>
|
||||
g:GetLatestVimScripts_bunzip2
|
||||
< default= bunzip2
|
||||
< default= bunzip2
|
||||
This variable holds the name of the command to decompress .bz2
|
||||
files
|
||||
>
|
||||
g:GetLatestVimScripts_bunzip3
|
||||
< default= bunzip3
|
||||
This variable holds the name of the command to decompress .bz3
|
||||
files
|
||||
>
|
||||
g:GetLatestVimScripts_gunzip
|
||||
< default= gunzip
|
||||
< default= gunzip
|
||||
This variable holds the name of the command to decompress .gz
|
||||
files
|
||||
>
|
||||
g:GetLatestVimScripts_unxz
|
||||
< default= unxz
|
||||
< default= unxz
|
||||
This variable holds the name of the command to decompress .xz
|
||||
files
|
||||
>
|
||||
g:GetLatestVimScripts_unzip
|
||||
< default= unzip
|
||||
< default= unzip
|
||||
This variable holds the name of the command to decompress .zip
|
||||
files
|
||||
|
||||
Note: The variables associated with decompression commands help workaround
|
||||
crossplatform issues. For example, on Windows is possible to delegate this
|
||||
calls into `wsl` by doing: >
|
||||
crossplatform issues. For example, on Windows is possible to delegate
|
||||
this calls into `wsl` by doing: >
|
||||
|
||||
let g:GetLatestVimScripts_bunzip2= "wsl -e bunzip2"
|
||||
let g:GetLatestVimScripts_gunzip= "wsl -e gunzip"
|
||||
@@ -409,6 +414,8 @@ The AutoInstall process will:
|
||||
Windows: $HOME\vimfiles
|
||||
if the downloaded file ends with ".bz2"
|
||||
bunzip2 it
|
||||
else if the downloaded file ends with ".bz3"
|
||||
bunzip3 it
|
||||
else if the downloaded file ends with ".gz"
|
||||
gunzip it
|
||||
if the resulting file ends with ".zip"
|
||||
@@ -422,6 +429,7 @@ The AutoInstall process will:
|
||||
==============================================================================
|
||||
9. GetLatestVimScripts History *getscript-history* *glvs-hist* {{{1
|
||||
|
||||
v38 Feb 25, 2025 : * handles additional decompression option for .bzip3 files.
|
||||
v37 Sep 23, 2024 : * Support for the new vimball's .vmb extension (old .vba
|
||||
extension conflicted with visual basic).
|
||||
* Support for |glvs-autoinstall| in ftplugins and packages.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_gzip.txt* For Vim version 9.1. Last change: 2023 Nov 14
|
||||
*pi_gzip.txt* For Vim version 9.1. Last change: 2025 Mar 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -28,12 +28,14 @@ The plugin installs autocommands to intercept reading and writing of files
|
||||
with these extensions:
|
||||
|
||||
extension compression ~
|
||||
*.Z compress (Lempel-Ziv)
|
||||
*.gz gzip
|
||||
*.bz2 bzip2
|
||||
*.bz3 bzip3
|
||||
*.gz gzip
|
||||
*.lz lzip
|
||||
*.lz4 lz4
|
||||
*.lzma lzma
|
||||
*.xz xz
|
||||
*.lz lzip
|
||||
*.Z compress (Lempel-Ziv)
|
||||
*.zst zstd
|
||||
|
||||
That's actually the only thing you need to know. There are no options.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_netrw.txt* For Vim version 9.1. Last change: 2024 Nov 23
|
||||
*netrw.txt*
|
||||
|
||||
------------------------------------------------
|
||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||
@@ -7,7 +7,7 @@ Original Author: Charles E. Campbell
|
||||
|
||||
Copyright: Copyright (C) 2017 Charles E Campbell *netrw-copyright*
|
||||
The VIM LICENSE applies to the files in this package, including
|
||||
netrw.vim, pi_netrw.txt, netrwSettings.vim, and
|
||||
netrw.vim, netrw.txt, netrwSettings.vim, and
|
||||
syntax/netrw.vim. Like anything else that's free, netrw.vim and its
|
||||
associated files are provided *as is* and comes with no warranty of
|
||||
any kind, either expressed or implied. No guarantees of
|
||||
@@ -59,7 +59,6 @@ Copyright: Copyright (C) 2017 Charles E Campbell *netrw-copyright*
|
||||
Changing local-only File Permission.................|netrw-gp|
|
||||
Changing To A Predecessor Directory.................|netrw-u|
|
||||
Changing To A Successor Directory...................|netrw-U|
|
||||
Customizing Browsing With A Special Handler.........|netrw-x|
|
||||
Deleting Bookmarks..................................|netrw-mB|
|
||||
Deleting Files Or Directories.......................|netrw-D|
|
||||
Directory Exploring Commands........................|netrw-explore|
|
||||
@@ -110,10 +109,7 @@ Copyright: Copyright (C) 2017 Charles E Campbell *netrw-copyright*
|
||||
Selecting Sorting Style.............................|netrw-s|
|
||||
Setting Editing Window..............................|netrw-C|
|
||||
10. Problems and Fixes....................................|netrw-problems|
|
||||
11. Debugging Netrw Itself................................|netrw-debug|
|
||||
12. History...............................................|netrw-history|
|
||||
13. Todo..................................................|netrw-todo|
|
||||
14. Credits...............................................|netrw-credits|
|
||||
11. Credits...............................................|netrw-credits|
|
||||
|
||||
==============================================================================
|
||||
2. Starting With Netrw *netrw-start* {{{1
|
||||
@@ -406,9 +402,6 @@ settings are described below, in |netrw-browser-options|, and in
|
||||
*g:netrw_menu* =0 disable netrw's menu
|
||||
=1 (default) netrw's menu enabled
|
||||
|
||||
*g:netrw_nogx* if this variable exists, then the "gx" map will not
|
||||
be available (see |netrw-gx|)
|
||||
|
||||
*g:netrw_uid* (ftp) user-id, retained on a per-vim-session basis
|
||||
*s:netrw_passwd* (ftp) password, retained on a per-vim-session basis
|
||||
|
||||
@@ -1116,7 +1109,7 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
U Change to subsequently-visited directory |netrw-U|
|
||||
v Enter the file/directory under the cursor in a new |netrw-v|
|
||||
browser window. A vertical split is used.
|
||||
x View file with an associated program |netrw-x|
|
||||
x View file with an associated program |:Open|
|
||||
X Execute filename under cursor via |system()| |netrw-X|
|
||||
|
||||
% Open a new file in netrw's current directory |netrw-%|
|
||||
@@ -1143,7 +1136,6 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
|
||||
*netrw-quickcom* *netrw-quickcoms*
|
||||
QUICK REFERENCE: COMMANDS *netrw-explore-cmds* *netrw-browse-cmds* {{{2
|
||||
:NetrwClean[!]............................................|netrw-clean|
|
||||
:NetrwSettings............................................|netrw-settings|
|
||||
:Ntree....................................................|netrw-ntree|
|
||||
:Explore[!] [dir] Explore directory of current file......|netrw-explore|
|
||||
@@ -1455,120 +1447,6 @@ With a "dirname", the specified directory name is used.
|
||||
The "gn" map will take the word below the cursor and use that for
|
||||
changing the top of the tree listing.
|
||||
|
||||
|
||||
NETRW CLEAN *netrw-clean* *:NetrwClean* {{{2
|
||||
|
||||
With :NetrwClean one may easily remove netrw from one's home directory;
|
||||
more precisely, from the first directory on your |'runtimepath'|.
|
||||
|
||||
With :NetrwClean!, netrw will attempt to remove netrw from all directories on
|
||||
your |'runtimepath'|. Of course, you have to have write/delete permissions
|
||||
correct to do this.
|
||||
|
||||
With either form of the command, netrw will first ask for confirmation
|
||||
that the removal is in fact what you want to do. If netrw doesn't have
|
||||
permission to remove a file, it will issue an error message.
|
||||
|
||||
CUSTOMIZING BROWSING WITH A SPECIAL HANDLER *netrw-x* *netrw-handler* {{{2
|
||||
|
||||
Certain files, such as html, gif, jpeg, (word/office) doc, etc, files, are
|
||||
best seen with a special handler (ie. a tool provided with your computer's
|
||||
operating system). Netrw allows one to invoke such special handlers by:
|
||||
|
||||
* hitting gx with the cursor atop the file path or alternatively x
|
||||
in a netrw buffer; the former can be disabled by defining the
|
||||
|g:netrw_nogx| variable
|
||||
* when in command line, typing :Open <path>, see |:Open| below.
|
||||
|
||||
One may also use visual mode (see |visual-start|) to select the text that the
|
||||
special handler will use. Normally gx checks for a close-by URL or file name
|
||||
to pick up the text under the cursor; one may change what |expand()| uses via the
|
||||
|g:netrw_gx| variable (options include "<cword>", "<cWORD>"). Note that
|
||||
expand("<cfile>") depends on the |'isfname'| setting. Alternatively, one may
|
||||
select the text to be used by gx by making a visual selection (see
|
||||
|visual-block|) and then pressing gx.
|
||||
|
||||
The selection function can be adapted for each filetype by adding a function
|
||||
`Netrw_get_URL_<filetype>`, where <filetype> is given by the 'filetype'.
|
||||
The function should return the URL or file name to be used by gx, and will
|
||||
fall back to the default behavior if it returns an empty string.
|
||||
For example, special handlers for links Markdown and HTML are
|
||||
|
||||
" make gx work on concealed links regardless of exact cursor position: >
|
||||
|
||||
function Netrw_get_URL_markdown()
|
||||
" markdown URL such as [link text](http://ya.ru 'yandex search')
|
||||
try
|
||||
let save_view = winsaveview()
|
||||
if searchpair('\[.\{-}\](', '', ')\zs', 'cbW', '', line('.')) > 0
|
||||
return matchstr(getline('.')[col('.')-1:],
|
||||
\ '\[.\{-}\](\zs' .. g:netrw_regex_url .. '\ze\(\s\+.\{-}\)\?)')
|
||||
endif
|
||||
return ''
|
||||
finally
|
||||
call winrestview(save_view)
|
||||
endtry
|
||||
endfunction
|
||||
|
||||
function Netrw_get_URL_html()
|
||||
" HTML URL such as <a href='http://www.python.org'>Python is here</a>
|
||||
" <a href="http://www.python.org"/>
|
||||
try
|
||||
let save_view = winsaveview()
|
||||
if searchpair('<a\s\+href=', '', '\%(</a>\|/>\)\zs', 'cbW', '', line('.')) > 0
|
||||
return matchstr(getline('.')[col('.') - 1 : ],
|
||||
\ 'href=["'.."'"..']\?\zs\S\{-}\ze["'.."'"..']\?/\?>')
|
||||
endif
|
||||
return ''
|
||||
finally
|
||||
call winrestview(save_view)
|
||||
endtry
|
||||
endfunction
|
||||
<
|
||||
Other than a file path, the text under the cursor may be a URL. Netrw uses
|
||||
by default the following regular expression to determine if the text under the
|
||||
cursor is a URL:
|
||||
>
|
||||
:let g:netrw_regex_url = '\%(\%(http\|ftp\|irc\)s\?\|file\)://\S\{-}'
|
||||
<
|
||||
Associated setting variables:
|
||||
|g:netrw_gx| control how gx picks up the text under the cursor
|
||||
|g:netrw_nogx| prevent gx map while editing
|
||||
|g:netrw_suppress_gx_mesg| controls gx's suppression of browser messages
|
||||
|
||||
OPENING FILES AND LAUNCHING APPS *netrw-gx* *:Open* *:Launch* {{{2
|
||||
|
||||
Netrw determines which special handler by the following method:
|
||||
|
||||
* if |g:netrw_browsex_viewer| exists, then it will be used to attempt to
|
||||
view files.
|
||||
If the viewer you wish to use does not support handling of a remote URL
|
||||
directory, set |g:netrw_browsex_support_remote| to 0.
|
||||
* otherwise:
|
||||
|
||||
* for Windows : explorer.exe is used
|
||||
* for Mac OS X : open is used.
|
||||
* for Linux : xdg-open is used.
|
||||
|
||||
To open a path (or URL) <path> by the appropriate handler, type >
|
||||
|
||||
:Open <path>
|
||||
<
|
||||
No escaping, neither for the shell nor for Vim's command-line, is needed.
|
||||
|
||||
To launch a specific application <app> <args>, often <args> being <path> >
|
||||
|
||||
:Launch <app> <args>.
|
||||
|
||||
Since <args> can be arbitrarily complex, in particular contain many file
|
||||
paths, the escaping is left to the user.
|
||||
|
||||
If you disabled the netrw plugin by setting g:loaded_netrwPlugin (see
|
||||
|netrw-noload|), then you can use >
|
||||
|
||||
:call netrw#Launch('<app> <args>')
|
||||
:call netrw#Open('<path>')
|
||||
<
|
||||
*netrw-curdir*
|
||||
DELETING BOOKMARKS *netrw-mB* {{{2
|
||||
|
||||
@@ -2588,14 +2466,6 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
|netrw-C| |netrw-cr|
|
||||
|netrw-ctrl-r|
|
||||
|
||||
*g:netrw_browsex_viewer* specify user's preference for a viewer: >
|
||||
"kfmclient exec"
|
||||
"gnome-open"
|
||||
<
|
||||
*g:netrw_browsex_support_remote*
|
||||
specify if the specified viewer supports a
|
||||
remote URL. (see |netrw-handler|).
|
||||
|
||||
*g:netrw_chgperm* Unix/Linux: "chmod PERM FILENAME"
|
||||
Windows: "cacls FILENAME /e /p PERM"
|
||||
Used to change access permission for a file.
|
||||
@@ -2618,11 +2488,11 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
|
||||
*g:Netrw_corehandler* Allows one to specify something additional
|
||||
to do when handling <core> files via netrw's
|
||||
browser's "x" command (see |netrw-x|). If
|
||||
present, g:Netrw_corehandler specifies
|
||||
either one or more function references
|
||||
(see |Funcref|). (the capital g:Netrw...
|
||||
is required its holding a function reference)
|
||||
browser's "x" command. If present,
|
||||
g:Netrw_corehandler specifies either one or
|
||||
more function references (see |Funcref|).
|
||||
(the capital g:Netrw... is required its
|
||||
holding a function reference)
|
||||
|
||||
|
||||
*g:netrw_ctags* ="ctags"
|
||||
@@ -2772,11 +2642,6 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
These characters in directory names are
|
||||
escaped before applying glob()
|
||||
|
||||
*g:netrw_gx* ="<cfile>"
|
||||
This option controls how gx (|netrw-gx|) picks
|
||||
up the text under the cursor. See |expand()|
|
||||
for possibilities.
|
||||
|
||||
*g:netrw_hide* Controlled by the "a" map (see |netrw-a|)
|
||||
=0 : show all
|
||||
=1 : show not-hidden files
|
||||
@@ -3033,14 +2898,6 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
such as listing, file removal, etc.
|
||||
default: ssh
|
||||
|
||||
*g:netrw_suppress_gx_mesg* =1 : browsers sometimes produce messages
|
||||
which are normally unwanted intermixed
|
||||
with the page.
|
||||
However, when using links, for example,
|
||||
those messages are what the browser produces.
|
||||
By setting this option to 0, netrw will not
|
||||
suppress browser messages.
|
||||
|
||||
*g:netrw_tmpfile_escape* =' &;'
|
||||
escape() is applied to all temporary files
|
||||
to escape these characters.
|
||||
@@ -3414,7 +3271,6 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
||||
10. Problems and Fixes *netrw-problems* {{{1
|
||||
|
||||
(This section is likely to grow as I get feedback)
|
||||
(also see |netrw-debug|)
|
||||
*netrw-p1*
|
||||
P1. I use Windows, and my network browsing with ftp doesn't sort by {{{2
|
||||
time or size! -or- The remote system is a Windows server; why
|
||||
@@ -3779,606 +3635,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
||||
|
||||
|
||||
==============================================================================
|
||||
11. Debugging Netrw Itself *netrw-debug* {{{1
|
||||
|
||||
Step 1: check that the problem you've encountered hasn't already been resolved
|
||||
by obtaining a copy of the latest (often developmental) netrw at:
|
||||
|
||||
http://www.drchip.org/astronaut/vim/index.html#NETRW
|
||||
|
||||
The <netrw.vim> script is typically installed on systems as something like:
|
||||
>
|
||||
/usr/local/share/vim/vim8x/plugin/netrwPlugin.vim
|
||||
/usr/local/share/vim/vim8x/autoload/netrw.vim
|
||||
(see output of :echo &rtp)
|
||||
<
|
||||
which is loaded automatically at startup (assuming :set nocp). If you
|
||||
installed a new netrw, then it will be located at >
|
||||
|
||||
$HOME/.vim/plugin/netrwPlugin.vim
|
||||
$HOME/.vim/autoload/netrw.vim
|
||||
<
|
||||
Step 2: assuming that you've installed the latest version of netrw,
|
||||
check that your problem is really due to netrw. Create a file
|
||||
called netrw.vimrc with the following contents: >
|
||||
|
||||
set nocp
|
||||
so $HOME/.vim/plugin/netrwPlugin.vim
|
||||
<
|
||||
Then run netrw as follows: >
|
||||
|
||||
vim -u netrw.vimrc --noplugins -i NONE [some path here]
|
||||
<
|
||||
Perform whatever netrw commands you need to, and check that the problem is
|
||||
still present. This procedure sidesteps any issues due to personal .vimrc
|
||||
settings, .viminfo file, and other plugins. If the problem does not appear,
|
||||
then you need to determine which setting in your .vimrc is causing the
|
||||
conflict with netrw or which plugin(s) is/are involved.
|
||||
|
||||
Step 3: If the problem still is present, then get a debugging trace from
|
||||
netrw:
|
||||
|
||||
1. Get the <Decho.vim> script, available as:
|
||||
|
||||
http://www.drchip.org/astronaut/vim/index.html#DECHO
|
||||
or
|
||||
http://vim.sourceforge.net/scripts/script.php?script_id=120
|
||||
|
||||
Decho.vim is provided as a "vimball"; see |vimball-intro|. You
|
||||
should edit the Decho.vba.gz file and source it in: >
|
||||
|
||||
vim Decho.vba.gz
|
||||
:so %
|
||||
:q
|
||||
<
|
||||
2. To turn on debug tracing in netrw, then edit the <netrw.vim>
|
||||
file by typing: >
|
||||
|
||||
vim netrw.vim
|
||||
:DechoOn
|
||||
:wq
|
||||
<
|
||||
To restore to normal non-debugging behavior, re-edit <netrw.vim>
|
||||
and type >
|
||||
|
||||
vim netrw.vim
|
||||
:DechoOff
|
||||
:wq
|
||||
<
|
||||
This command, provided by <Decho.vim>, will comment out all
|
||||
Decho-debugging statements (Dfunc(), Dret(), Decho(), Dredir()).
|
||||
|
||||
3. Then bring up vim and attempt to evoke the problem by doing a
|
||||
transfer or doing some browsing. A set of messages should appear
|
||||
concerning the steps that <netrw.vim> took in attempting to
|
||||
read/write your file over the network in a separate tab or
|
||||
server vim window.
|
||||
|
||||
Change the netrw.vimrc file to include the Decho plugin: >
|
||||
|
||||
set nocp
|
||||
so $HOME/.vim/plugin/Decho.vim
|
||||
so $HOME/.vim/plugin/netrwPlugin.vim
|
||||
<
|
||||
You should continue to run vim with >
|
||||
|
||||
vim -u netrw.vimrc --noplugins -i NONE [some path here]
|
||||
<
|
||||
to avoid entanglements with options and other plugins.
|
||||
|
||||
To save the file: under linux, the output will be in a separate
|
||||
remote server window; in it, just save the file with >
|
||||
|
||||
:w! DBG
|
||||
|
||||
< Under a vim that doesn't support clientserver, your debugging
|
||||
output will appear in another tab: >
|
||||
|
||||
:tabnext
|
||||
:set bt=
|
||||
:w! DBG
|
||||
<
|
||||
Furthermore, it'd be helpful if you would type >
|
||||
|
||||
:Dsep <command>
|
||||
|
||||
< where <command> is the command you're about to type next,
|
||||
thereby making it easier to associate which part of the
|
||||
debugging trace is due to which command.
|
||||
|
||||
For bug reports, please see |bugs|.
|
||||
==============================================================================
|
||||
12. History *netrw-history* {{{1
|
||||
|
||||
v172: Sep 02, 2021 * (Bram Moolenaar) Changed "l:go" to "go"
|
||||
* (Bram Moolenaar) no need for "b" in
|
||||
netrw-safe guioptions
|
||||
Nov 15, 2021 * removed netrw_localrm and netrw_localrmdir
|
||||
references
|
||||
Aug 18, 2022 * (Miguel Barro) improving compatibility with
|
||||
powershell
|
||||
v171: Oct 09, 2020 * included code in s:NetrwOptionsSafe()
|
||||
to allow |'bh'| to be set to delete when
|
||||
rather than hide when g:netrw_fastbrowse
|
||||
was zero.
|
||||
* Installed |g:netrw_clipboard| setting
|
||||
* Installed option bypass for |'guioptions'|
|
||||
a/A settings
|
||||
* Changed popup_beval() to |popup_atcursor()|
|
||||
in netrw#ErrorMsg (lacygoill). Apparently
|
||||
popup_beval doesn't reliably close the
|
||||
popup when the mouse is moved.
|
||||
* VimEnter() now using win_execute to examine
|
||||
buffers for an attempt to open a directory.
|
||||
Avoids issues with popups/terminal from
|
||||
command line. (lacygoill)
|
||||
Jun 28, 2021 * (zeertzjq) provided a patch for use of
|
||||
xmap,xno instead of vmap,vno in
|
||||
netrwPlugin.vim. Avoids entanglement with
|
||||
select mode.
|
||||
Jul 14, 2021 * Fixed problem addressed by tst976; opening
|
||||
a file using tree mode, going up a
|
||||
directory, and opening a file there was
|
||||
opening the file in the wrong directory.
|
||||
Jul 28, 2021 * (Ingo Karkat) provided a patch fixing an
|
||||
E488 error with netrwPlugin.vim
|
||||
(occurred for vim versions < 8.02)
|
||||
v170: Mar 11, 2020 * (reported by Reiner Herrmann) netrw+tree
|
||||
would not hide with the ^\..* pattern
|
||||
correctly.
|
||||
* (Marcin Szamotulski) NetrwOptionRestore
|
||||
did not restore options correctly that
|
||||
had a single quote in the option string.
|
||||
Apr 13, 2020 * implemented error handling via popup
|
||||
windows (see |popup_beval()|)
|
||||
Apr 30, 2020 * (reported by Manatsu Takahashi) while
|
||||
using Lexplore, a modified file could
|
||||
be overwritten. Sol'n: will not overwrite,
|
||||
but will emit an |E37| (although one cannot
|
||||
add an ! to override)
|
||||
Jun 07, 2020 * (reported by Jo Totland) repeatedly invoking
|
||||
:Lexplore and quitting it left unused
|
||||
hidden buffers. Netrw will now set netrw
|
||||
buffers created by :Lexplore to |'bh'|=wipe.
|
||||
v169: Dec 20, 2019 * (reported by amkarthik) that netrw's x
|
||||
(|netrw-x|) would throw an error when
|
||||
attempting to open a local directory.
|
||||
v168: Dec 12, 2019 * scp timeout error message not reported,
|
||||
hopefully now fixed (Shane Xb Qian)
|
||||
v167: Nov 29, 2019 * netrw does a save&restore on @* and @+.
|
||||
That causes problems with the clipboard.
|
||||
Now restores occurs only if @* or @+ have
|
||||
been changed.
|
||||
* netrw will change @* or @+ less often.
|
||||
Never if I happen to have caught all the
|
||||
operations that modify the unnamed
|
||||
register (which also writes @*).
|
||||
* Modified hiding behavior so that "s"
|
||||
will not ignore hiding.
|
||||
v166: Nov 06, 2019 * Removed a space from a nmap for "-"
|
||||
* Numerous debugging statement changes
|
||||
v163: Dec 05, 2017 * (Cristi Balan) reported that a setting ('sel')
|
||||
was left changed
|
||||
* (Holger Mitschke) reported a problem with
|
||||
saving and restoring history. Fixed.
|
||||
* Hopefully I fixed a nasty bug that caused a
|
||||
file rename to wipe out a buffer that it
|
||||
should not have wiped out.
|
||||
* (Holger Mitschke) amended this help file
|
||||
with additional |g:netrw_special_syntax|
|
||||
items
|
||||
* Prioritized wget over curl for
|
||||
g:netrw_http_cmd
|
||||
v162: Sep 19, 2016 * (haya14busa) pointed out two syntax errors
|
||||
with a patch; these are now fixed.
|
||||
Oct 26, 2016 * I started using mate-terminal and found that
|
||||
x and gx (|netrw-x| and |netrw-gx|) were no
|
||||
longer working. Fixed (using atril when
|
||||
$DESKTOP_SESSION is "mate").
|
||||
Nov 04, 2016 * (Martin Vuille) pointed out that @+ was
|
||||
being restored with keepregstar rather than
|
||||
keepregplus.
|
||||
Nov 09, 2016 * Broke apart the command from the options,
|
||||
mostly for Windows. Introduced new netrw
|
||||
settings: |g:netrw_localcopycmdopt|
|
||||
|g:netrw_localcopydircmdopt|
|
||||
|g:netrw_localmkdiropt|
|
||||
|g:netrw_localmovecmdopt|
|
||||
Nov 21, 2016 * (mattn) provided a patch for preview; swapped
|
||||
winwidth() with winheight()
|
||||
Nov 22, 2016 * (glacambre) reported that files containing
|
||||
spaces weren't being obtained properly via
|
||||
scp. Fix: apparently using single quotes
|
||||
such as with 'file name' wasn't enough; the
|
||||
spaces inside the quotes also had to be
|
||||
escaped (ie. 'file\ name').
|
||||
* Also fixed obtain (|netrw-O|) to be able to
|
||||
obtain files with spaces in their names
|
||||
Dec 20, 2016 * (xc1427) Reported that using "I" (|netrw-I|)
|
||||
when atop "Hiding" in the banner also caused
|
||||
the active-banner hiding control to occur
|
||||
Jan 03, 2017 * (Enno Nagel) reported that attempting to
|
||||
apply netrw to a directory that was without
|
||||
read permission caused a syntax error.
|
||||
Jan 13, 2017 * (Ingo Karkat) provided a patch which makes
|
||||
using netrw#Call() better. Now returns
|
||||
value of internal routines return, for example.
|
||||
Jan 13, 2017 * (Ingo Karkat) changed netrw#FileUrlRead to
|
||||
use |:edit| instead of |:read|. I also
|
||||
changed the routine name to netrw#FileUrlEdit.
|
||||
Jan 16, 2017 * (Sayem) reported a problem where :Lexplore
|
||||
could generate a new listing buffer and
|
||||
window instead of toggling the netrw display.
|
||||
Unfortunately, the directions for eliciting
|
||||
the problem weren't complete, so I may or
|
||||
may not have fixed that issue.
|
||||
Feb 06, 2017 * Implemented cb and cB. Changed "c" to "cd".
|
||||
(see |netrw-cb|, |netrw-cB|, and |netrw-cd|)
|
||||
Mar 21, 2017 * previously, netrw would specify (safe) settings
|
||||
even when the setting was already safe for
|
||||
netrw. Netrw now attempts to leave such
|
||||
already-netrw-safe settings alone.
|
||||
(affects s:NetrwOptionRestore() and
|
||||
s:NetrwSafeOptions(); also introduced
|
||||
s:NetrwRestoreSetting())
|
||||
Jun 26, 2017 * (Christian Brabandt) provided a patch to
|
||||
allow curl to follow redirects (ie. -L
|
||||
option)
|
||||
Jun 26, 2017 * (Callum Howard) reported a problem with
|
||||
:Lexpore not removing the Lexplore window
|
||||
after a change-directory
|
||||
Aug 30, 2017 * (Ingo Karkat) one cannot switch to the
|
||||
previously edited file (e.g. with CTRL-^)
|
||||
after editing a file:// URL. Patch to
|
||||
have a "keepalt" included.
|
||||
Oct 17, 2017 * (Adam Faryna) reported that gn (|netrw-gn|)
|
||||
did not work on directories in the current
|
||||
tree
|
||||
v157: Apr 20, 2016 * (Nicola) had set up a "nmap <expr> ..." with
|
||||
a function that returned a 0 while silently
|
||||
invoking a shell command. The shell command
|
||||
activated a ShellCmdPost event which in turn
|
||||
called s:LocalBrowseRefresh(). That looks
|
||||
over all netrw buffers for changes needing
|
||||
refreshes. However, inside a |:map-<expr>|,
|
||||
tab and window changes are disallowed. Fixed.
|
||||
(affects netrw's s:LocalBrowseRefresh())
|
||||
* g:netrw_localrmdir not used any more, but
|
||||
the relevant patch that causes |delete()| to
|
||||
take over was #1107 (not #1109).
|
||||
* |expand()| is now used on |g:netrw_home|;
|
||||
consequently, g:netrw_home may now use
|
||||
environment variables
|
||||
* s:NetrwLeftmouse and s:NetrwCLeftmouse will
|
||||
return without doing anything if invoked
|
||||
when inside a non-netrw window
|
||||
Jun 15, 2016 * gx now calls netrw#GX() which returns
|
||||
the word under the cursor. The new
|
||||
wrinkle: if one is in a netrw buffer,
|
||||
then netrw's s:NetrwGetWord().
|
||||
Jun 22, 2016 * Netrw was executing all its associated
|
||||
Filetype commands silently; I'm going
|
||||
to try doing that "noisily" and see if
|
||||
folks have a problem with that.
|
||||
Aug 12, 2016 * Changed order of tool selection for
|
||||
handling http://... viewing.
|
||||
(Nikolay Aleksandrovich Pavlov)
|
||||
Aug 21, 2016 * Included hiding/showing/all for tree
|
||||
listings
|
||||
* Fixed refresh (^L) for tree listings
|
||||
v156: Feb 18, 2016 * Changed =~ to =~# where appropriate
|
||||
Feb 23, 2016 * s:ComposePath(base,subdir) now uses
|
||||
fnameescape() on the base portion
|
||||
Mar 01, 2016 * (gt_macki) reported where :Explore would
|
||||
make file unlisted. Fixed (tst943)
|
||||
Apr 04, 2016 * (reported by John Little) netrw normally
|
||||
suppresses browser messages, but sometimes
|
||||
those "messages" are what is wanted.
|
||||
See |g:netrw_suppress_gx_mesg|
|
||||
Apr 06, 2016 * (reported by Carlos Pita) deleting a remote
|
||||
file was giving an error message. Fixed.
|
||||
Apr 08, 2016 * (Charles Cooper) had a problem with an
|
||||
undefined b:netrw_curdir. He also provided
|
||||
a fix.
|
||||
Apr 20, 2016 * Changed s:NetrwGetBuffer(); now uses
|
||||
dictionaries. Also fixed the "No Name"
|
||||
buffer problem.
|
||||
v155: Oct 29, 2015 * (Timur Fayzrakhmanov) reported that netrw's
|
||||
mapping of ctrl-l was not allowing refresh of
|
||||
other windows when it was done in a netrw
|
||||
window.
|
||||
Nov 05, 2015 * Improved s:TreeSqueezeDir() to use search()
|
||||
instead of a loop
|
||||
* NetrwBrowse() will return line to
|
||||
w:netrw_bannercnt if cursor ended up in
|
||||
banner
|
||||
Nov 16, 2015 * Added a <Plug>NetrwTreeSqueeze (|netrw-s-cr|)
|
||||
Nov 17, 2015 * Commented out imaps -- perhaps someone can
|
||||
tell me how they're useful and should be
|
||||
retained?
|
||||
Nov 20, 2015 * Added |netrw-ma| and |netrw-mA| support
|
||||
Nov 20, 2015 * gx (|netrw-gx|) on a URL downloaded the
|
||||
file in addition to simply bringing up the
|
||||
URL in a browser. Fixed.
|
||||
Nov 23, 2015 * Added |g:netrw_sizestyle| support
|
||||
Nov 27, 2015 * Inserted a lot of <c-u>s into various netrw
|
||||
maps.
|
||||
Jan 05, 2016 * |netrw-qL| implemented to mark files based
|
||||
upon |location-list|s; similar to |netrw-qF|.
|
||||
Jan 19, 2016 * using - call delete(directoryname,"d") -
|
||||
instead of using g:netrw_localrmdir if
|
||||
v7.4 + patch#1107 is available
|
||||
Jan 28, 2016 * changed to using |winsaveview()| and
|
||||
|winrestview()|
|
||||
Jan 28, 2016 * s:NetrwTreePath() now does a save and
|
||||
restore of view
|
||||
Feb 08, 2016 * Fixed a tree-listing problem with remote
|
||||
directories
|
||||
v154: Feb 26, 2015 * (Yuri Kanivetsky) reported a situation where
|
||||
a file was not treated properly as a file
|
||||
due to g:netrw_keepdir == 1
|
||||
Mar 25, 2015 * (requested by Ben Friz) one may now sort by
|
||||
extension
|
||||
Mar 28, 2015 * (requested by Matt Brooks) netrw has a lot
|
||||
of buffer-local mappings; however, some
|
||||
plugins (such as vim-surround) set up
|
||||
conflicting mappings that cause vim to wait.
|
||||
The "<nowait>" modifier has been included
|
||||
with most of netrw's mappings to avoid that
|
||||
delay.
|
||||
Jun 26, 2015 * |netrw-gn| mapping implemented
|
||||
* :Ntree NotADir resulted in having
|
||||
the tree listing expand in the error messages
|
||||
window. Fixed.
|
||||
Jun 29, 2015 * Attempting to delete a file remotely caused
|
||||
an error with "keepsol" mentioned; fixed.
|
||||
Jul 08, 2015 * Several changes to keep the |:jumps| table
|
||||
correct when working with
|
||||
|g:netrw_fastbrowse| set to 2
|
||||
* wide listing with accented characters fixed
|
||||
(using %-S instead of %-s with a |printf()|
|
||||
Jul 13, 2015 * (Daniel Hahler) CheckIfKde() could be true
|
||||
but kfmclient not installed. Changed order
|
||||
in netrw#BrowseX(): checks if kde and
|
||||
kfmclient, then will use xdg-open on a unix
|
||||
system (if xdg-open is executable)
|
||||
Aug 11, 2015 * (McDonnell) tree listing mode wouldn't
|
||||
select a file in a open subdirectory.
|
||||
* (McDonnell) when multiple subdirectories
|
||||
were concurrently open in tree listing
|
||||
mode, a ctrl-L wouldn't refresh properly.
|
||||
* The netrw:target menu showed duplicate
|
||||
entries
|
||||
Oct 13, 2015 * (mattn) provided an exception to handle
|
||||
windows with shellslash set but no shell
|
||||
Oct 23, 2015 * if g:netrw_usetab and <c-tab> now used
|
||||
to control whether NetrwShrink is used
|
||||
(see |netrw-c-tab|)
|
||||
v153: May 13, 2014 * added another |g:netrw_ffkeep| usage {{{2
|
||||
May 14, 2014 * changed s:PerformListing() so that it
|
||||
always sets ft=netrw for netrw buffers
|
||||
(ie. even when syntax highlighting is
|
||||
off, not available, etc)
|
||||
May 16, 2014 * introduced the |netrw-ctrl-r| functionality
|
||||
May 17, 2014 * introduced the |netrw-:NetrwMB| functionality
|
||||
* mb and mB (|netrw-mb|, |netrw-mB|) will
|
||||
add/remove marked files from bookmark list
|
||||
May 20, 2014 * (Enno Nagel) reported that :Lex <dirname>
|
||||
wasn't working. Fixed.
|
||||
May 26, 2014 * restored test to prevent leftmouse window
|
||||
resizing from causing refresh.
|
||||
(see s:NetrwLeftmouse())
|
||||
* fixed problem where a refresh caused cursor
|
||||
to go just under the banner instead of
|
||||
staying put
|
||||
May 28, 2014 * (László Bimba) provided a patch for opening
|
||||
the |:Lexplore| window 100% high, optionally
|
||||
on the right, and will work with remote
|
||||
files.
|
||||
May 29, 2014 * implemented :NetrwC (see |netrw-:NetrwC|)
|
||||
Jun 01, 2014 * Removed some "silent"s from commands used
|
||||
to implemented scp://... and pscp://...
|
||||
directory listing. Permits request for
|
||||
password to appear.
|
||||
Jun 05, 2014 * (Enno Nagel) reported that user maps "/"
|
||||
caused problems with "b" and "w", which
|
||||
are mapped (for wide listings only) to
|
||||
skip over files rather than just words.
|
||||
Jun 10, 2014 * |g:netrw_gx| introduced to allow users to
|
||||
override default "<cfile>" with the gx
|
||||
(|netrw-gx|) map
|
||||
Jun 11, 2014 * gx (|netrw-gx|), with |'autowrite'| set,
|
||||
will write modified files. s:NetrwBrowseX()
|
||||
will now save, turn off, and restore the
|
||||
|'autowrite'| setting.
|
||||
Jun 13, 2014 * added visual map for gx use
|
||||
Jun 15, 2014 * (Enno Nagel) reported that with having hls
|
||||
set and wide listing style in use, that the
|
||||
b and w maps caused unwanted highlighting.
|
||||
Jul 05, 2014 * |netrw-mv| and |netrw-mX| commands included
|
||||
Jul 09, 2014 * |g:netrw_keepj| included, allowing optional
|
||||
keepj
|
||||
Jul 09, 2014 * fixing bugs due to previous update
|
||||
Jul 21, 2014 * (Bruno Sutic) provided an updated
|
||||
netrw_gitignore.vim
|
||||
Jul 30, 2014 * (Yavuz Yetim) reported that editing two
|
||||
remote files of the same name caused the
|
||||
second instance to have a "temporary"
|
||||
name. Fixed: now they use the same buffer.
|
||||
Sep 18, 2014 * (Yasuhiro Matsumoto) provided a patch which
|
||||
allows scp and windows local paths to work.
|
||||
Oct 07, 2014 * gx (see |netrw-gx|) when atop a directory,
|
||||
will now do |gf| instead
|
||||
Nov 06, 2014 * For cygwin: cygstart will be available for
|
||||
netrw#BrowseX() to use if its executable.
|
||||
Nov 07, 2014 * Began support for file://... urls. Will use
|
||||
|g:netrw_file_cmd| (typically elinks or links)
|
||||
Dec 02, 2014 * began work on having mc (|netrw-mc|) copy
|
||||
directories. Works for linux machines,
|
||||
cygwin+vim, but not for windows+gvim.
|
||||
Dec 02, 2014 * in tree mode, netrw was not opening
|
||||
directories via symbolic links.
|
||||
Dec 02, 2014 * added resolved link information to
|
||||
thin and tree modes
|
||||
Dec 30, 2014 * (issue#231) |:ls| was not showing
|
||||
remote-file buffers reliably. Fixed.
|
||||
v152: Apr 08, 2014 * uses the |'noswapfile'| option (requires {{{2
|
||||
vim 7.4 with patch 213)
|
||||
* (Enno Nagel) turn |'rnu'| off in netrw
|
||||
buffers.
|
||||
* (Quinn Strahl) suggested that netrw
|
||||
allow regular window splitting to occur,
|
||||
thereby allowing |'equalalways'| to take
|
||||
effect.
|
||||
* (qingtian zhao) normally, netrw will
|
||||
save and restore the |'fileformat'|;
|
||||
however, sometimes that isn't wanted
|
||||
Apr 14, 2014 * whenever netrw marks a buffer as ro,
|
||||
it will also mark it as nomod.
|
||||
Apr 16, 2014 * sftp protocol now supported by
|
||||
netrw#Obtain(); this means that one
|
||||
may use "mc" to copy a remote file
|
||||
to a local file using sftp, and that
|
||||
the |netrw-O| command can obtain remote
|
||||
files via sftp.
|
||||
* added [count]C support (see |netrw-C|)
|
||||
Apr 18, 2014 * when |g:netrw_chgwin| is one more than
|
||||
the last window, then vertically split
|
||||
the last window and use it as the
|
||||
chgwin window.
|
||||
May 09, 2014 * SavePosn was "saving filename under cursor"
|
||||
from a non-netrw window when using :Rex.
|
||||
v151: Jan 22, 2014 * extended :Rexplore to return to buffer {{{2
|
||||
prior to Explore or editing a directory
|
||||
* (Ken Takata) netrw gave error when
|
||||
clipboard was disabled. Sol'n: Placed
|
||||
several if has("clipboard") tests in.
|
||||
* Fixed ftp://X@Y@Z// problem; X@Y now
|
||||
part of user id, and only Z is part of
|
||||
hostname.
|
||||
* (A Loumiotis) reported that completion
|
||||
using a directory name containing spaces
|
||||
did not work. Fixed with a retry in
|
||||
netrw#Explore() which removes the
|
||||
backslashes vim inserted.
|
||||
Feb 26, 2014 * :Rexplore now records the current file
|
||||
using w:netrw_rexfile when returning via
|
||||
|:Rexplore|
|
||||
Mar 08, 2014 * (David Kotchan) provided some patches
|
||||
allowing netrw to work properly with
|
||||
windows shares.
|
||||
* Multiple one-liner help messages available
|
||||
by pressing <cr> while atop the "Quick
|
||||
Help" line
|
||||
* worked on ShellCmdPost, FocusGained event
|
||||
handling.
|
||||
* |:Lexplore| path: will be used to update
|
||||
a left-side netrw browsing directory.
|
||||
Mar 12, 2014 * |netrw-s-cr|: use <s-cr> to close
|
||||
tree directory implemented
|
||||
Mar 13, 2014 * (Tony Mechylynck) reported that using
|
||||
the browser with ftp on a directory,
|
||||
and selecting a gzipped txt file, that
|
||||
an E19 occurred (which was issued by
|
||||
gzip.vim). Fixed.
|
||||
Mar 14, 2014 * Implemented :MF and :MT (see |netrw-:MF|
|
||||
and |netrw-:MT|, respectively)
|
||||
Mar 17, 2014 * |:Ntree| [dir] wasn't working properly; fixed
|
||||
Mar 18, 2014 * Changed all uses of set to setl
|
||||
Mar 18, 2014 * Commented the netrw_btkeep line in
|
||||
s:NetrwOptionSave(); the effect is that
|
||||
netrw buffers will remain as |'bt'|=nofile.
|
||||
This should prevent swapfiles being created
|
||||
for netrw buffers.
|
||||
Mar 20, 2014 * Changed all uses of lcd to use s:NetrwLcd()
|
||||
instead. Consistent error handling results
|
||||
and it also handles Window's shares
|
||||
* Fixed |netrw-d| command when applied with ftp
|
||||
* https: support included for netrw#NetRead()
|
||||
v150: Jul 12, 2013 * removed a "keepalt" to allow ":e #" to {{{2
|
||||
return to the netrw directory listing
|
||||
Jul 13, 2013 * (Jonas Diemer) suggested changing
|
||||
a <cWORD> to <cfile>.
|
||||
Jul 21, 2013 * (Yuri Kanivetsky) reported that netrw's
|
||||
use of mkdir did not produce directories
|
||||
following the user's umask.
|
||||
Aug 27, 2013 * introduced |g:netrw_altfile| option
|
||||
Sep 05, 2013 * s:Strlen() now uses |strdisplaywidth()|
|
||||
when available, by default
|
||||
Sep 12, 2013 * (Selyano Baldo) reported that netrw wasn't
|
||||
opening some directories properly from the
|
||||
command line.
|
||||
Nov 09, 2013 * |:Lexplore| introduced
|
||||
* (Ondrej Platek) reported an issue with
|
||||
netrw's trees (P15). Fixed.
|
||||
* (Jorge Solis) reported that "t" in
|
||||
tree mode caused netrw to forget its
|
||||
line position.
|
||||
Dec 05, 2013 * Added <s-leftmouse> file marking
|
||||
(see |netrw-mf|)
|
||||
Dec 05, 2013 * (Yasuhiro Matsumoto) Explore should use
|
||||
strlen() instead s:Strlen() when handling
|
||||
multibyte chars with strpart()
|
||||
(ie. strpart() is byte oriented, not
|
||||
display-width oriented).
|
||||
Dec 09, 2013 * (Ken Takata) Provided a patch; File sizes
|
||||
and a portion of timestamps were wrongly
|
||||
highlighted with the directory color when
|
||||
setting `:let g:netrw_liststyle=1` on Windows.
|
||||
* (Paul Domaskis) noted that sometimes
|
||||
cursorline was activating in non-netrw
|
||||
windows. All but one setting of cursorline
|
||||
was done via setl; there was one that was
|
||||
overlooked. Fixed.
|
||||
Dec 24, 2013 * (esquifit) asked that netrw allow the
|
||||
/cygdrive prefix be a user-alterable
|
||||
parameter.
|
||||
Jan 02, 2014 * Fixed a problem with netrw-based ballon
|
||||
evaluation (ie. netrw#NetrwBaloonHelp()
|
||||
not having been loaded error messages)
|
||||
Jan 03, 2014 * Fixed a problem with tree listings
|
||||
* New command installed: |:Ntree|
|
||||
Jan 06, 2014 * (Ivan Brennan) reported a problem with
|
||||
|netrw-P|. Fixed.
|
||||
Jan 06, 2014 * Fixed a problem with |netrw-P| when the
|
||||
modified file was to be abandoned.
|
||||
Jan 15, 2014 * (Matteo Cavalleri) reported that when the
|
||||
banner is suppressed and tree listing is
|
||||
used, a blank line was left at the top of
|
||||
the display. Fixed.
|
||||
Jan 20, 2014 * (Gideon Go) reported that, in tree listing
|
||||
style, with a previous window open, that
|
||||
the wrong directory was being used to open
|
||||
a file. Fixed. (P21)
|
||||
v149: Apr 18, 2013 * in wide listing format, now have maps for {{{2
|
||||
w and b to move to next/previous file
|
||||
Apr 26, 2013 * one may now copy files in the same
|
||||
directory; netrw will issue requests for
|
||||
what names the files should be copied under
|
||||
Apr 29, 2013 * Trying Benzinger's problem again. Seems
|
||||
that commenting out the BufEnter and
|
||||
installing VimEnter (only) works. Weird
|
||||
problem! (tree listing, vim -O Dir1 Dir2)
|
||||
May 01, 2013 * :Explore ftp://... wasn't working. Fixed.
|
||||
May 02, 2013 * introduced |g:netrw_bannerbackslash| as
|
||||
requested by Paul Domaskis.
|
||||
Jul 03, 2013 * Explore now avoids splitting when a buffer
|
||||
will be hidden.
|
||||
v148: Apr 16, 2013 * changed Netrw's Style menu to allow direct {{{2
|
||||
choice of listing style, hiding style, and
|
||||
sorting style
|
||||
|
||||
==============================================================================
|
||||
13. Todo *netrw-todo* {{{1
|
||||
|
||||
07/29/09 : banner :|g:netrw_banner| can be used to suppress the
|
||||
suppression banner. This feature is new and experimental,
|
||||
so its in the process of being debugged.
|
||||
09/04/09 : "gp" : See if it can be made to work for remote systems.
|
||||
: See if it can be made to work with marked files.
|
||||
|
||||
==============================================================================
|
||||
14. Credits *netrw-credits* {{{1
|
||||
11. Credits *netrw-credits* {{{1
|
||||
|
||||
Vim editor by Bram Moolenaar (Thanks, Bram!)
|
||||
dav support by C Campbell
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*popup.txt* For Vim version 9.1. Last change: 2024 Jun 16
|
||||
*popup.txt* For Vim version 9.1. Last change: 2025 Feb 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -257,8 +257,8 @@ popup_clear([{force}])
|
||||
|
||||
|
||||
popup_close({id} [, {result}]) *popup_close()*
|
||||
Close popup {id}. The window and the associated buffer will
|
||||
be deleted.
|
||||
Close popup {id}. The window will be deleted. The associated
|
||||
buffer will be deleted, if the popup created a new buffer.
|
||||
|
||||
If the popup has a callback it will be called just before the
|
||||
popup window is deleted. If the optional {result} is present
|
||||
@@ -504,7 +504,7 @@ popup_menu({what}, {options}) *popup_menu()*
|
||||
\ mapping: 0,
|
||||
\ })
|
||||
< The current line is highlighted with a match using
|
||||
"PopupSelected", or "PmenuSel" if that is not defined.
|
||||
|hl-PopupSelected| which is linked to "PmenuSel" by default.
|
||||
|
||||
Use {options} to change the properties. Should at least set
|
||||
"callback" to a function that handles the selected item.
|
||||
@@ -559,7 +559,7 @@ popup_notification({what}, {options}) *popup_notification()*
|
||||
\ close: 'click',
|
||||
\ padding: [0,1,0,1],
|
||||
\ })
|
||||
< The PopupNotification highlight group is used instead of
|
||||
< The |hl-PopupNotification| highlight group is used instead of
|
||||
WarningMsg if it is defined.
|
||||
|
||||
Without the |+timers| feature the popup will not disappear
|
||||
@@ -705,7 +705,6 @@ The second argument of |popup_create()| is a dictionary with options:
|
||||
present. Use zero to reset.
|
||||
fixed When FALSE (the default), and:
|
||||
- "pos" is "botleft" or "topleft", and
|
||||
- "wrap" is off, and
|
||||
- the popup would be truncated at the right edge of
|
||||
the screen, then
|
||||
the popup is moved to the left so as to fit the
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user