mirror of
https://github.com/zoriya/vim.git
synced 2025-12-23 15:45:15 +00:00
Compare commits
788 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
44d1f89c24 | ||
|
|
4c93aff20f | ||
|
|
5703310e64 | ||
|
|
6a05807092 | ||
|
|
d8fe6d34bb | ||
|
|
ec3637cbaf | ||
|
|
44a4d947bb | ||
|
|
679d66c2d2 | ||
|
|
848faddb87 | ||
|
|
06011e1a55 | ||
|
|
6970e1e36a | ||
|
|
f10911e5db | ||
|
|
62aec93bfd | ||
|
|
135e15251e | ||
|
|
d5cec1f1f0 | ||
|
|
f12b7815f6 | ||
|
|
37f47958b8 | ||
|
|
4dc0dd8699 | ||
|
|
97c554d514 | ||
|
|
24714a1916 | ||
|
|
585ee07cfe | ||
|
|
a0c4e2f2d7 | ||
|
|
06f15416bb | ||
|
|
e96eea7b6a | ||
|
|
652dee4486 | ||
|
|
14cbf77845 | ||
|
|
57ff2b7068 | ||
|
|
fb55207ed1 | ||
|
|
420fabcd4f | ||
|
|
fb80862e49 | ||
|
|
ddd815ba2a | ||
|
|
bd8168c770 | ||
|
|
fbf4f1ca15 | ||
|
|
166788c657 | ||
|
|
37cf413e3e | ||
|
|
b3d83980d2 | ||
|
|
a4bc2dd7cc | ||
|
|
98cd30383a | ||
|
|
35c807df1f | ||
|
|
94373c48e7 | ||
|
|
745b938a48 | ||
|
|
b0ad2d92fd | ||
|
|
e939f5ebba | ||
|
|
fc4c44836a | ||
|
|
70c43d84be | ||
|
|
1080c48ec8 | ||
|
|
1a804528ab | ||
|
|
47d1666d60 | ||
|
|
a827bf3ea8 | ||
|
|
250155ae31 | ||
|
|
44db8213d3 | ||
|
|
806d037671 | ||
|
|
8d02ce1ed7 | ||
|
|
06b77229ca | ||
|
|
dc5490e2cb | ||
|
|
85b6747abc | ||
|
|
76687d2717 | ||
|
|
1450112eef | ||
|
|
3a8ad5918b | ||
|
|
a6c09a7c20 | ||
|
|
3e93a2b075 | ||
|
|
dff97e65eb | ||
|
|
50e0525445 | ||
|
|
fe6fb267e6 | ||
|
|
4663435074 | ||
|
|
7924a17791 | ||
|
|
502d8ae3e8 | ||
|
|
acc4b5648b | ||
|
|
8e4af851fd | ||
|
|
7e765a39b7 | ||
|
|
c351dc1e0c | ||
|
|
058ee7c569 | ||
|
|
2a7aa83458 | ||
|
|
428058ab32 | ||
|
|
79a6e25b79 | ||
|
|
abe628e1bd | ||
|
|
f4e88f2152 | ||
|
|
7ef4a2fe37 | ||
|
|
e15ebeffb3 | ||
|
|
206919191f | ||
|
|
d1c58999c8 | ||
|
|
6f4754b9f7 | ||
|
|
bcfa11b7df | ||
|
|
ff5cbe8133 | ||
|
|
36c2add7f8 | ||
|
|
28e60cc088 | ||
|
|
47bcc5f4c8 | ||
|
|
3ba685eeef | ||
|
|
39b8944539 | ||
|
|
7b29f6a394 | ||
|
|
5600a709f4 | ||
|
|
9530b580a7 | ||
|
|
0bfa84916d | ||
|
|
b697dc295d | ||
|
|
3d8e25a6d2 | ||
|
|
0bd663a380 | ||
|
|
19e69a6330 | ||
|
|
e70dd11ef4 | ||
|
|
6517f14165 | ||
|
|
f0e7e6365e | ||
|
|
b7057bdd09 | ||
|
|
45f9cfbdc7 | ||
|
|
e6a4200ff4 | ||
|
|
dd5893be34 | ||
|
|
e615db0604 | ||
|
|
05386ca1d4 | ||
|
|
6f0ddbf00d | ||
|
|
2017d6f3b1 | ||
|
|
9c7cae66bc | ||
|
|
21f0d6cbca | ||
|
|
4ede01f188 | ||
|
|
92000e2e71 | ||
|
|
14b8d6ac6b | ||
|
|
ae1bd87fe8 | ||
|
|
726f7f91fd | ||
|
|
7e93577a95 | ||
|
|
05b2761548 | ||
|
|
4ac893f321 | ||
|
|
fc6ccebea6 | ||
|
|
57df9e8a9f | ||
|
|
8aa0e6c60d | ||
|
|
ca34db3bde | ||
|
|
f61c89d2e6 | ||
|
|
bed34f0a8a | ||
|
|
f67c717e34 | ||
|
|
937610bc9f | ||
|
|
1a8825d7a3 | ||
|
|
b0b2b73dca | ||
|
|
b4868eddd9 | ||
|
|
17dd519633 | ||
|
|
a9528b39a6 | ||
|
|
94075b2b0e | ||
|
|
ef7aadbe36 | ||
|
|
d02dce2bb5 | ||
|
|
fd218c8a36 | ||
|
|
6079da7cfb | ||
|
|
113b8dc111 | ||
|
|
840f16202e | ||
|
|
1836d61578 | ||
|
|
cbbc48f64b | ||
|
|
31dcc8de46 | ||
|
|
1247126956 | ||
|
|
64283d5e1f | ||
|
|
78f60322f7 | ||
|
|
afa76e1cf2 | ||
|
|
b3d9ceed2b | ||
|
|
6389baa669 | ||
|
|
15d1635e50 | ||
|
|
3f3597be3f | ||
|
|
262898ae43 | ||
|
|
9f8c304c8a | ||
|
|
e8741a73e2 | ||
|
|
0023f82a76 | ||
|
|
47036b6bd7 | ||
|
|
c73499351a | ||
|
|
c665dabdf4 | ||
|
|
c84287d6d8 | ||
|
|
dc98776f89 | ||
|
|
d9b74a2a41 | ||
|
|
d648c01f2f | ||
|
|
8f9956994d | ||
|
|
fd31be29b8 | ||
|
|
c81e9bf4f0 | ||
|
|
f6ebc82004 | ||
|
|
a9725221ac | ||
|
|
fa1a457059 | ||
|
|
b5988e3656 | ||
|
|
bfac409d0b | ||
|
|
38ecd97226 | ||
|
|
857c8bb1bb | ||
|
|
d4e2f50901 | ||
|
|
04b871da80 | ||
|
|
e32c3c462c | ||
|
|
069613c9e8 | ||
|
|
f60a63485e | ||
|
|
1050476ead | ||
|
|
e3ce17a3ca | ||
|
|
e1833bfd01 | ||
|
|
c53b467473 | ||
|
|
ece07639f4 | ||
|
|
0f112052ac | ||
|
|
26ebf1f036 | ||
|
|
7bfa6d698e | ||
|
|
c0a1d370fa | ||
|
|
3e4fa3d7d3 | ||
|
|
d9d2fd0aa3 | ||
|
|
c43e6235c7 | ||
|
|
130f65d46b | ||
|
|
0e3e7ba05f | ||
|
|
3049fcf0a1 | ||
|
|
4050305bfd | ||
|
|
a00e622a29 | ||
|
|
33b25d1317 | ||
|
|
ced2b38a56 | ||
|
|
8d9e470aa9 | ||
|
|
71930f174d | ||
|
|
78a70533c3 | ||
|
|
de05bb2573 | ||
|
|
54598066ca | ||
|
|
d041f4208b | ||
|
|
53c296112e | ||
|
|
f5d639a8af | ||
|
|
5d9826973d | ||
|
|
f479cac084 | ||
|
|
f111cdfae6 | ||
|
|
17d36cbcd3 | ||
|
|
3cf21b3051 | ||
|
|
2284f6cca3 | ||
|
|
b8822442d7 | ||
|
|
0bbca540f7 | ||
|
|
0d47ad4027 | ||
|
|
d6f27c66cc | ||
|
|
19db9e6ba7 | ||
|
|
762838218f | ||
|
|
160aa86a9d | ||
|
|
6990b78f25 | ||
|
|
5e6b9882fe | ||
|
|
577bd85d55 | ||
|
|
fe2ef0b2cd | ||
|
|
ee63031b57 | ||
|
|
b06cfcf5a3 | ||
|
|
dc4451df61 | ||
|
|
5f25c38550 | ||
|
|
c14f667626 | ||
|
|
f85a424c83 | ||
|
|
2f0936cb9a | ||
|
|
b2810f123c | ||
|
|
782b43d894 | ||
|
|
7c24dfddc2 | ||
|
|
04935fb17e | ||
|
|
1433672568 | ||
|
|
aa9b3cacd5 | ||
|
|
9f1a39a5d1 | ||
|
|
67ffb41786 | ||
|
|
748b308eeb | ||
|
|
370791465e | ||
|
|
d844862bce | ||
|
|
48d0ac775c | ||
|
|
62a099cc6d | ||
|
|
a4c96252b1 | ||
|
|
e12406526a | ||
|
|
d1f34e64f0 | ||
|
|
71f21938bc | ||
|
|
b2d85e3784 | ||
|
|
cb1956d6f2 | ||
|
|
2b04d5f1ef | ||
|
|
e664a32701 | ||
|
|
834d41853e | ||
|
|
32884ad753 | ||
|
|
a909c48bec | ||
|
|
11de43d2d4 | ||
|
|
2ef01d929d | ||
|
|
84c62d59a3 | ||
|
|
d5f400c607 | ||
|
|
18f4740f04 | ||
|
|
a33737b6d8 | ||
|
|
58493cfae2 | ||
|
|
269dc63618 | ||
|
|
c689f8c3d9 | ||
|
|
e60b3c47d7 | ||
|
|
d82a47dd04 | ||
|
|
bb8cac56d9 | ||
|
|
9d00e4a814 | ||
|
|
d3a117814d | ||
|
|
677658ae49 | ||
|
|
8e7d9db32b | ||
|
|
c653e4a2bd | ||
|
|
a6f7929e62 | ||
|
|
548911ee14 | ||
|
|
d88be5be80 | ||
|
|
6cac77016b | ||
|
|
d94fbfc74a | ||
|
|
fcd1635a46 | ||
|
|
c024ed9233 | ||
|
|
48824e952f | ||
|
|
10d6f18b2f | ||
|
|
078a46161e | ||
|
|
9acf2d8be9 | ||
|
|
ad8f248585 | ||
|
|
c88e977862 | ||
|
|
0e2508d9e6 | ||
|
|
114dbda785 | ||
|
|
5c75eed758 | ||
|
|
e982586f8e | ||
|
|
475d9521ba | ||
|
|
1d423ef75f | ||
|
|
b09feaa86e | ||
|
|
ac78dd4a35 | ||
|
|
3d0da09bb2 | ||
|
|
eaaac014a0 | ||
|
|
8bfa0eb863 | ||
|
|
2b4ecc2c31 | ||
|
|
b3bd1d39e6 | ||
|
|
a6feb163f0 | ||
|
|
6b1a99dfe3 | ||
|
|
9a846fbaa5 | ||
|
|
b34689010a | ||
|
|
cbadefe25a | ||
|
|
1f4a3457a3 | ||
|
|
0f7a5e758c | ||
|
|
3a846e6bca | ||
|
|
0699b040e6 | ||
|
|
74409f6279 | ||
|
|
56200eed62 | ||
|
|
e70cec9760 | ||
|
|
460ae5dfca | ||
|
|
b37a65e4bf | ||
|
|
b79ee0c299 | ||
|
|
654b729c4c | ||
|
|
096ca73dac | ||
|
|
d0819d11ec | ||
|
|
436b5adc97 | ||
|
|
f1474d801b | ||
|
|
6d0570117a | ||
|
|
ef089f50f9 | ||
|
|
1a9922243a | ||
|
|
4b1478093e | ||
|
|
eb822a280c | ||
|
|
9a015111a5 | ||
|
|
6ad84ab3e4 | ||
|
|
1fa3de1ce8 | ||
|
|
04fb916684 | ||
|
|
d293981d2b | ||
|
|
94f3192b03 | ||
|
|
4c13e5e676 | ||
|
|
cfe3af284a | ||
|
|
f38aad85cf | ||
|
|
1c67f3a977 | ||
|
|
13789bf103 | ||
|
|
5d2e007ccb | ||
|
|
491669701c | ||
|
|
8e7cc6b920 | ||
|
|
ab16ad33ba | ||
|
|
94fb8274ca | ||
|
|
5a664fe57f | ||
|
|
ba26367fea | ||
|
|
edc6f10390 | ||
|
|
ccc1644f95 | ||
|
|
5d20fbf2e7 | ||
|
|
5ea5f37372 | ||
|
|
3d0abad5bf | ||
|
|
264d3ddac0 | ||
|
|
febb78fa17 | ||
|
|
c97f9a55bd | ||
|
|
10c75c4a09 | ||
|
|
11ceb7d949 | ||
|
|
8c697e3698 | ||
|
|
92f246e4f9 | ||
|
|
06f6095623 | ||
|
|
7473a84cf9 | ||
|
|
4bf1006cae | ||
|
|
8bb3fe4d4d | ||
|
|
d9da86e94e | ||
|
|
90c317f224 | ||
|
|
8b6256f6ec | ||
|
|
be4e223ead | ||
|
|
a4d131d110 | ||
|
|
1cae5a0a03 | ||
|
|
8dac2acd6a | ||
|
|
4b28ba3245 | ||
|
|
af4a61a85d | ||
|
|
5da36052a4 | ||
|
|
bf7ff61af4 | ||
|
|
ef8f04b1d1 | ||
|
|
23018f2d4b | ||
|
|
bbdd3fb804 | ||
|
|
27708e6c7b | ||
|
|
c553a21e18 | ||
|
|
1f318c6eac | ||
|
|
c88ac94a0b | ||
|
|
7319981f21 | ||
|
|
71c41255f6 | ||
|
|
9c23f9bb5f | ||
|
|
71eb3ad579 | ||
|
|
8bb65f230d | ||
|
|
ec86520f94 | ||
|
|
fb9dcb080b | ||
|
|
1802405d71 | ||
|
|
db8e5c21b9 | ||
|
|
ae1068afde | ||
|
|
223d0a6bc8 | ||
|
|
5cd647935d | ||
|
|
35cfd793aa | ||
|
|
7f4a628efe | ||
|
|
d787e40fdb | ||
|
|
e7f4abd38b | ||
|
|
73a024209c | ||
|
|
806da5176e | ||
|
|
b6db146762 | ||
|
|
679140c56b | ||
|
|
6f98371532 | ||
|
|
5937c7505f | ||
|
|
fa3b72348d | ||
|
|
d3f00f54bf | ||
|
|
6073f13f55 | ||
|
|
70a120b72b | ||
|
|
51e64b2789 | ||
|
|
310091d20f | ||
|
|
28fbbeac70 | ||
|
|
f2f0bddf30 | ||
|
|
b4168fd917 | ||
|
|
a80aad7174 | ||
|
|
82b3b4c6cf | ||
|
|
080182216e | ||
|
|
f973eeb491 | ||
|
|
1aeccdb464 | ||
|
|
fa46ead31a | ||
|
|
1b5f7a6202 | ||
|
|
d92813a598 | ||
|
|
59618fed4c | ||
|
|
0d807107b6 | ||
|
|
6f79e614b2 | ||
|
|
8d95d7091d | ||
|
|
dab17a0689 | ||
|
|
39713d3acb | ||
|
|
dc7c366f3a | ||
|
|
a99fb23842 | ||
|
|
003312b1d2 | ||
|
|
2f9f4ccfc8 | ||
|
|
fea43e44c0 | ||
|
|
bc404bfb32 | ||
|
|
86b3ab4fa0 | ||
|
|
700e6b1662 | ||
|
|
f47c5a8e2d | ||
|
|
265f811f5a | ||
|
|
2de5371a75 | ||
|
|
389b72196e | ||
|
|
0ccb5842f5 | ||
|
|
605ec91e5a | ||
|
|
60618c8f1a | ||
|
|
0dc4d8eaec | ||
|
|
44a8977de4 | ||
|
|
647ab4cede | ||
|
|
422085f1c8 | ||
|
|
71b7685092 | ||
|
|
ddc80aff57 | ||
|
|
354b23a9f8 | ||
|
|
db1a410b61 | ||
|
|
d2ff705af3 | ||
|
|
02929a372e | ||
|
|
259f443a93 | ||
|
|
deda6441e4 | ||
|
|
c3f91c0648 | ||
|
|
994a0a298b | ||
|
|
23e72369ff | ||
|
|
e124204c4f | ||
|
|
94c785d235 | ||
|
|
8103527da7 | ||
|
|
f79cbf6512 | ||
|
|
b15cf44c1d | ||
|
|
52797bae17 | ||
|
|
0e6adf8a29 | ||
|
|
6df0f2759d | ||
|
|
6ecf58b0d7 | ||
|
|
2d877599ee | ||
|
|
19569ca6d8 | ||
|
|
8ee6028de3 | ||
|
|
427f065a88 | ||
|
|
c479ce032f | ||
|
|
f87dac04c3 | ||
|
|
1821d1498c | ||
|
|
ce7eada12e | ||
|
|
cfabad9bcf | ||
|
|
a5d78d1f11 | ||
|
|
57bc2333b1 | ||
|
|
7c0fb80030 | ||
|
|
b334137acf | ||
|
|
7509ad8b0f | ||
|
|
919c12c19a | ||
|
|
f8a79fc346 | ||
|
|
c2958585f6 | ||
|
|
8176be1598 | ||
|
|
6206877c51 | ||
|
|
829c8e87e2 | ||
|
|
0407d27034 | ||
|
|
3194e5bf87 | ||
|
|
6840a0ffe8 | ||
|
|
80d60910ff | ||
|
|
3b309f11db | ||
|
|
1e78deb077 | ||
|
|
851f86b951 | ||
|
|
739f13a55b | ||
|
|
33b968dc60 | ||
|
|
ef082e12df | ||
|
|
04ef1fb13d | ||
|
|
d2439e0443 | ||
|
|
3bb79dc191 | ||
|
|
fa9a8e0fd1 | ||
|
|
6ae8fae869 | ||
|
|
6e371ecb27 | ||
|
|
9a4ec5a626 | ||
|
|
4e30b5c3bc | ||
|
|
4f16e9de98 | ||
|
|
48c0196378 | ||
|
|
7b1463bca3 | ||
|
|
2ef9156b42 | ||
|
|
052ff291d7 | ||
|
|
a416861c64 | ||
|
|
29f3a45915 | ||
|
|
205f29c3e9 | ||
|
|
9537e37b11 | ||
|
|
1daedc8381 | ||
|
|
f8e9eb8e17 | ||
|
|
9fffef9f35 | ||
|
|
b711814cb6 | ||
|
|
8a7374f8c4 | ||
|
|
ff39a650b2 | ||
|
|
dd297bc11d | ||
|
|
dee78e1ce8 | ||
|
|
4c8c634365 | ||
|
|
95b2dd0c00 | ||
|
|
e8a92b6166 | ||
|
|
c4ec338fb8 | ||
|
|
dcb53be441 | ||
|
|
d0fb907253 | ||
|
|
e50507126f | ||
|
|
56150da687 | ||
|
|
a48d4e44a2 | ||
|
|
48873aebc0 | ||
|
|
78a61068cf | ||
|
|
2172bff364 | ||
|
|
f7f7aaf8aa | ||
|
|
4dc24eb5ad | ||
|
|
92c33eb273 | ||
|
|
ecabb51107 | ||
|
|
3e55a973b5 | ||
|
|
2336c376d5 | ||
|
|
8603be338a | ||
|
|
6409553b6e | ||
|
|
40bcec1bac | ||
|
|
4700398e38 | ||
|
|
12f3c1b77f | ||
|
|
e5710a02cb | ||
|
|
0bac5fc5e1 | ||
|
|
c7d5fc8622 | ||
|
|
f661cee847 | ||
|
|
f645ee47c8 | ||
|
|
5e18ccc60b | ||
|
|
f589fd3e10 | ||
|
|
e031fe90cf | ||
|
|
c7269f8627 | ||
|
|
dea4a61637 | ||
|
|
23bdef2571 | ||
|
|
8dea145e39 | ||
|
|
853a7692d1 | ||
|
|
7645da568c | ||
|
|
01a4dcbcee | ||
|
|
b579f6ebbf | ||
|
|
cd2f8f0e00 | ||
|
|
15a24f0898 | ||
|
|
800b01b0c8 | ||
|
|
6f42cb6e51 | ||
|
|
04b7b4bf7f | ||
|
|
c14b57c079 | ||
|
|
c903695be5 | ||
|
|
8658c759f0 | ||
|
|
021ef351c2 | ||
|
|
acdc911e4e | ||
|
|
5e86964bf4 | ||
|
|
9ac38129b6 | ||
|
|
69c76171f1 | ||
|
|
f8bc0ce267 | ||
|
|
3569c0de67 | ||
|
|
db9ff9ab5d | ||
|
|
e4eed8c6db | ||
|
|
f0e496a85a | ||
|
|
7e5503c17a | ||
|
|
0b226f60be | ||
|
|
05e59e3a9f | ||
|
|
56a8ffdb6e | ||
|
|
3d2e031d4f | ||
|
|
fad2742d53 | ||
|
|
69535d8a0a | ||
|
|
90770b746e | ||
|
|
42eba04522 | ||
|
|
eba3b7f664 | ||
|
|
ab36e6ae7b | ||
|
|
53ba95e4f0 | ||
|
|
98cb90ef86 | ||
|
|
c750d91a07 | ||
|
|
6b839ac775 | ||
|
|
651fca85c7 | ||
|
|
0c359af5c0 | ||
|
|
0b74d00693 | ||
|
|
7f2c341664 | ||
|
|
5c1ec439f0 | ||
|
|
af377e34b0 | ||
|
|
293eb9ba46 | ||
|
|
38453528c3 | ||
|
|
f566666e88 | ||
|
|
06bffe836c | ||
|
|
3ccb579516 | ||
|
|
2e0f3ecb70 | ||
|
|
59f4f9505a | ||
|
|
3d14c0f2b9 | ||
|
|
c07f11e42f | ||
|
|
e9b0b40b79 | ||
|
|
279d733dfb | ||
|
|
6304be625c | ||
|
|
7824fc80f6 | ||
|
|
bfc5786a61 | ||
|
|
d1d8a595bd | ||
|
|
7329cfab36 | ||
|
|
85be8563fe | ||
|
|
4d07253a48 | ||
|
|
309ce25189 | ||
|
|
ba8c92687d | ||
|
|
96e7a5928e | ||
|
|
0bd8d05638 | ||
|
|
71b36206be | ||
|
|
34c20ff85b | ||
|
|
8af87bd6b1 | ||
|
|
bd228fd097 | ||
|
|
bb277fd89f | ||
|
|
510d8e6056 | ||
|
|
7da341560e | ||
|
|
19916a8c89 | ||
|
|
e413ea04b7 | ||
|
|
1f2453fec6 | ||
|
|
cf1e0239ce | ||
|
|
8bc07e800c | ||
|
|
9b0e82f35e | ||
|
|
03725c5795 | ||
|
|
48608b4a4b | ||
|
|
112bed0cbe | ||
|
|
65259b5c6a | ||
|
|
cc9d725bbb | ||
|
|
ee93e327ba | ||
|
|
b771b6b5fe | ||
|
|
e021662f39 | ||
|
|
04b568b38f | ||
|
|
3b3755fe19 | ||
|
|
7a53f29c03 | ||
|
|
4671e88d7d | ||
|
|
ce59b9f292 | ||
|
|
c449271f4e | ||
|
|
7d5b8becc3 | ||
|
|
2228cd72cf | ||
|
|
a3f83feb63 | ||
|
|
73448a27a8 | ||
|
|
581f41adb3 | ||
|
|
88a4205f1c | ||
|
|
eea32afdb8 | ||
|
|
7f0c4b418e | ||
|
|
4785fe02bb | ||
|
|
923dce2b07 | ||
|
|
2c23670300 | ||
|
|
3c19b50500 | ||
|
|
d604d78e7b | ||
|
|
a755fdbe80 | ||
|
|
9cd9385db7 | ||
|
|
c8a9fe541d | ||
|
|
d85fccdfed | ||
|
|
a119812437 | ||
|
|
87fd0924e2 | ||
|
|
cdf5fdb294 | ||
|
|
b8e642f7ac | ||
|
|
2de9b7c7c8 | ||
|
|
3ad695328f | ||
|
|
8b8d829faf | ||
|
|
64be6aa3a5 | ||
|
|
1d69ef410a | ||
|
|
b3a29558ee | ||
|
|
777175b0df | ||
|
|
851c7a699a | ||
|
|
0526815c15 | ||
|
|
3cad470385 | ||
|
|
818ff25cd1 | ||
|
|
6555500bcf | ||
|
|
e015d99abb | ||
|
|
64066b9acd | ||
|
|
615ddd5342 | ||
|
|
a062006b9d | ||
|
|
3075a45592 | ||
|
|
125ffd21f9 | ||
|
|
9459b8d461 | ||
|
|
d3682c5f28 | ||
|
|
519cc559b0 | ||
|
|
728104da6c | ||
|
|
2a16dc6613 | ||
|
|
c143fa0778 | ||
|
|
b1b163efd7 | ||
|
|
1be7e21583 | ||
|
|
fa53722367 | ||
|
|
314b773abb | ||
|
|
782b4bbc16 | ||
|
|
0818ab82e7 | ||
|
|
36968af155 | ||
|
|
733b124a90 | ||
|
|
0d5a12ea04 | ||
|
|
786e05beb5 | ||
|
|
7f13b24ab6 | ||
|
|
6a950a6007 | ||
|
|
23beefed73 | ||
|
|
a0fca17251 | ||
|
|
5300be620c | ||
|
|
606efc7df4 | ||
|
|
0a15c7676b | ||
|
|
326e7da609 | ||
|
|
8813739673 | ||
|
|
58ef8a31d7 | ||
|
|
0c71114aed | ||
|
|
113cb513f7 | ||
|
|
15d9890eee | ||
|
|
0b5b06cb47 | ||
|
|
aaec1d4fb1 | ||
|
|
4b2c804767 | ||
|
|
b32aa8a6a1 | ||
|
|
d1a8d658e1 | ||
|
|
0f0044125c | ||
|
|
a63780b977 | ||
|
|
e551ccfb93 | ||
|
|
8a1962d135 | ||
|
|
69b3072d98 | ||
|
|
7a33ebfc5b | ||
|
|
e2f66064d1 | ||
|
|
ec6e63079d | ||
|
|
fd916d654d | ||
|
|
8753c1dd2c | ||
|
|
9cd063e319 | ||
|
|
44db603f69 | ||
|
|
2446ec9b56 | ||
|
|
777e7c21b7 | ||
|
|
2a52196b78 | ||
|
|
e30d10253f | ||
|
|
3c5904d2a5 | ||
|
|
844fb64a60 | ||
|
|
ee56f3f119 | ||
|
|
079ba76ae7 | ||
|
|
06ca48a40f | ||
|
|
5fe07d2e08 | ||
|
|
841c225b9e | ||
|
|
25def2c8b8 | ||
|
|
a2ffb43520 | ||
|
|
5a5c111e79 | ||
|
|
47810464aa | ||
|
|
94e7d345c1 | ||
|
|
ae38a9db77 | ||
|
|
b811de5d49 | ||
|
|
d68a004485 | ||
|
|
1d30fde3c9 | ||
|
|
09f7723d5a | ||
|
|
94358a1e6e | ||
|
|
051a40c8d9 | ||
|
|
8b0e62c93b | ||
|
|
c5935a859e | ||
|
|
731fba1081 | ||
|
|
f47ebf1e1a | ||
|
|
604e207e27 | ||
|
|
d43d8e28db | ||
|
|
75c30e96cf | ||
|
|
ad6b90c33c | ||
|
|
9b0b844d25 | ||
|
|
944eeb44fb | ||
|
|
375c35a63f | ||
|
|
e08aee60ab | ||
|
|
39c47c3104 | ||
|
|
21c1a0c2f1 | ||
|
|
34a364877f | ||
|
|
f4d8b76d30 | ||
|
|
9d4b8caf9e | ||
|
|
40bd5a1540 | ||
|
|
d4c4bfa007 | ||
|
|
4eeedc09fe | ||
|
|
c89c91cafd | ||
|
|
93ff6720fe | ||
|
|
abdcfd1c83 | ||
|
|
160e994d76 | ||
|
|
2286304cdb | ||
|
|
28b6a3bef6 | ||
|
|
f08b0eb869 | ||
|
|
db3b44640d | ||
|
|
7b5f45be21 | ||
|
|
def69dffb3 | ||
|
|
eaa006dae3 | ||
|
|
a2cff1dbc9 | ||
|
|
accf4ed352 | ||
|
|
a06758dd38 | ||
|
|
0a7984af56 | ||
|
|
340dd0fbe4 | ||
|
|
051a8a375f | ||
|
|
75aa92a162 | ||
|
|
c0abac67d7 | ||
|
|
3be69bf539 | ||
|
|
7f32092b91 | ||
|
|
7b82926892 | ||
|
|
fff10d9a76 | ||
|
|
e519eb41c1 |
24
.github/CODEOWNERS
vendored
24
.github/CODEOWNERS
vendored
@@ -9,6 +9,7 @@
|
||||
# So if a pull request only touches javascript files, only these owners
|
||||
# will be requested to review.
|
||||
|
||||
runtime/autoload/freebasic.vim @dkearns
|
||||
runtime/autoload/getscript.vim @cecamp
|
||||
runtime/autoload/netrw.vim @cecamp
|
||||
runtime/autoload/netrwFileHandlers.vim @cecamp
|
||||
@@ -73,6 +74,8 @@ runtime/ftplugin/awk.vim @dkearns
|
||||
runtime/ftplugin/basic.vim @dkearns
|
||||
runtime/ftplugin/bst.vim @tpope
|
||||
runtime/ftplugin/cfg.vim @chrisbra
|
||||
runtime/ftplugin/clojure.vim @axvr
|
||||
runtime/ftplugin/csh.vim @dkearns
|
||||
runtime/ftplugin/css.vim @dkearns
|
||||
runtime/ftplugin/cucumber.vim @tpope
|
||||
runtime/ftplugin/eiffel.vim @dkearns
|
||||
@@ -87,10 +90,13 @@ runtime/ftplugin/gitsendemail.vim @tpope
|
||||
runtime/ftplugin/gprof.vim @dpelle
|
||||
runtime/ftplugin/haml.vim @tpope
|
||||
runtime/ftplugin/hgcommit.vim @k-takata
|
||||
runtime/ftplugin/i3config.vim @hiqua
|
||||
runtime/ftplugin/indent.vim @dkearns
|
||||
runtime/ftplugin/javascript.vim @dkearns
|
||||
runtime/ftplugin/javascriptreact.vim @dkearns
|
||||
runtime/ftplugin/kconfig.vim @chrisbra
|
||||
runtime/ftplugin/liquid.vim @tpope
|
||||
runtime/ftplugin/lua.vim @dkearns
|
||||
runtime/ftplugin/m3build.vim @dkearns
|
||||
runtime/ftplugin/m3quake.vim @dkearns
|
||||
runtime/ftplugin/markdown.vim @tpope
|
||||
@@ -106,19 +112,26 @@ runtime/ftplugin/pbtxt.vim @lakshayg
|
||||
runtime/ftplugin/pdf.vim @tpope
|
||||
runtime/ftplugin/ps1.vim @heaths
|
||||
runtime/ftplugin/ps1xml.vim @heaths
|
||||
runtime/ftplugin/qb64.vim @dkearns
|
||||
runtime/ftplugin/routeros.vim @zainin
|
||||
runtime/ftplugin/ruby.vim @tpope @dkearns
|
||||
runtime/ftplugin/sass.vim @tpope
|
||||
runtime/ftplugin/scss.vim @tpope
|
||||
runtime/ftplugin/solution.vim @dkearns
|
||||
runtime/ftplugin/spec.vim @ignatenkobrain
|
||||
runtime/ftplugin/systemverilog.vim @Kocha
|
||||
runtime/ftplugin/tcsh.vim @dkearns
|
||||
runtime/ftplugin/tidy.vim @dkearns
|
||||
runtime/ftplugin/tmux.vim @ericpruitt
|
||||
runtime/ftplugin/toml.vim @averms
|
||||
runtime/ftplugin/typescript.vim @dkearns
|
||||
runtime/ftplugin/typescriptreact.vim @dkearns
|
||||
runtime/ftplugin/xml.vim @chrisbra
|
||||
runtime/ftplugin/zsh.vim @chrisbra
|
||||
runtime/indent/basic.vim @dkearns
|
||||
runtime/indent/bst.vim @tpope
|
||||
runtime/indent/cdl.vim @dkearns
|
||||
runtime/indent/clojure.vim @axvr
|
||||
runtime/indent/config.vim @dkearns
|
||||
runtime/indent/css.vim @dkearns
|
||||
runtime/indent/cucumber.vim @tpope
|
||||
@@ -130,6 +143,7 @@ runtime/indent/elm.vim @andys8
|
||||
runtime/indent/eruby.vim @tpope @dkearns
|
||||
runtime/indent/eterm.vim @dkearns
|
||||
runtime/indent/framescript.vim @dkearns
|
||||
runtime/indent/freebasic.vim @dkearns
|
||||
runtime/indent/gitconfig.vim @tpope
|
||||
runtime/indent/haml.vim @tpope
|
||||
runtime/indent/idlang.vim @dkearns
|
||||
@@ -144,6 +158,7 @@ runtime/indent/occam.vim @dkearns
|
||||
runtime/indent/postscr.vim @dkearns
|
||||
runtime/indent/prolog.vim @dkearns
|
||||
runtime/indent/ps1.vim @heaths
|
||||
runtime/indent/qb64.vim @dkearns
|
||||
runtime/indent/readline.vim @dkearns
|
||||
runtime/indent/ruby.vim @AndrewRadev @dkearns
|
||||
runtime/indent/sass.vim @tpope
|
||||
@@ -151,6 +166,7 @@ runtime/indent/scss.vim @tpope
|
||||
runtime/indent/sh.vim @chrisbra
|
||||
runtime/indent/systemverilog.vim @Kocha
|
||||
runtime/indent/tcl.vim @dkearns
|
||||
runtime/indent/tcsh.vim @dkearns
|
||||
runtime/indent/teraterm.vim @k-takata
|
||||
runtime/indent/xml.vim @chrisbra
|
||||
runtime/indent/zsh.vim @chrisbra
|
||||
@@ -165,6 +181,7 @@ runtime/plugin/vimballPlugin.vim @cecamp
|
||||
runtime/plugin/zipPlugin.vim @cecamp
|
||||
runtime/syntax/aidl.vim @dpelle
|
||||
runtime/syntax/amiga.vim @cecamp
|
||||
runtime/syntax/arduino.vim @johshoff
|
||||
runtime/syntax/asm.vim @dkearns
|
||||
runtime/syntax/asmh8300.vim @dkearns
|
||||
runtime/syntax/asterisk.vim @jaunis
|
||||
@@ -174,6 +191,7 @@ runtime/syntax/bst.vim @tpope
|
||||
runtime/syntax/cabal.vim @coot
|
||||
runtime/syntax/cabalconfig.vim @coot
|
||||
runtime/syntax/cabalproject.vim @coot
|
||||
runtime/syntax/clojure.vim @axvr
|
||||
runtime/syntax/cs.vim @nickspoons
|
||||
runtime/syntax/csh.vim @cecamp
|
||||
runtime/syntax/cucumber.vim @tpope
|
||||
@@ -197,6 +215,8 @@ runtime/syntax/groff.vim @jmarshall
|
||||
runtime/syntax/haml.vim @tpope
|
||||
runtime/syntax/haskell.vim @coot
|
||||
runtime/syntax/hgcommit.vim @k-takata
|
||||
runtime/syntax/i3config.vim @hiqua
|
||||
runtime/syntax/indent.vim @dkearns
|
||||
runtime/syntax/kconfig.vim @chrisbra
|
||||
runtime/syntax/less.vim @genoma
|
||||
runtime/syntax/lex.vim @cecamp
|
||||
@@ -224,7 +244,9 @@ runtime/syntax/prolog.vim @XVilka
|
||||
runtime/syntax/ps1.vim @heaths
|
||||
runtime/syntax/ps1xml.vim @heaths
|
||||
runtime/syntax/psl.vim @danielkho
|
||||
runtime/syntax/qb64.vim @dkearns
|
||||
runtime/syntax/rc.vim @chrisbra
|
||||
runtime/syntax/routeros.vim @zainin
|
||||
runtime/syntax/rpcgen.vim @cecamp
|
||||
runtime/syntax/ruby.vim @dkearns
|
||||
runtime/syntax/sass.vim @tpope
|
||||
@@ -238,10 +260,12 @@ runtime/syntax/sshdconfig.vim @Jakuje
|
||||
runtime/syntax/sudoers.vim @e-kwsm
|
||||
runtime/syntax/systemverilog.vim @Kocha
|
||||
runtime/syntax/tags.vim @cecamp
|
||||
runtime/syntax/tcsh.vim @dkearns
|
||||
runtime/syntax/teraterm.vim @k-takata
|
||||
runtime/syntax/tex.vim @cecamp
|
||||
runtime/syntax/tidy.vim @dkearns
|
||||
runtime/syntax/tmux.vim @ericpruitt
|
||||
runtime/syntax/toml.vim @averms
|
||||
runtime/syntax/vim.vim @cecamp
|
||||
runtime/syntax/wget.vim @dkearns
|
||||
runtime/syntax/xbl.vim @dkearns
|
||||
|
||||
26
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
26
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -8,6 +8,11 @@ body:
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for reporting issues of Vim!
|
||||
|
||||
If you want to report a security issue, instead of reporting it here
|
||||
you can alternatively disclose it on
|
||||
[huntr.dev](https://huntr.dev/bounties/disclose/?utm_campaign=vim%2Fvim&utm_medium=social&utm_source=github&target=https%3A%2F%2Fgithub.com%2Fvim%2Fvim).
|
||||
They have rewards in the form of money, swag and CVEs.
|
||||
|
||||
To make it easier for us to help you please enter detailed information below.
|
||||
- type: textarea
|
||||
@@ -26,18 +31,23 @@ body:
|
||||
placeholder: A clear and concise description of what you expected to happen.
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
attributes:
|
||||
label: Operating system
|
||||
description: >
|
||||
Your operating system name, version and desktop environment.
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
attributes:
|
||||
label: Version of Vim
|
||||
description: >
|
||||
The name of your development environment, version. [e.g. GNOME Terminal (v0.0.0000)]
|
||||
Including patch level, use ":version" to see it [e.g. 8.2.1234]
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Environment
|
||||
description: >
|
||||
OS [e.g. Ubuntu 21.10], terminal [e.g. GNOME Terminal 3.38.1], value of $TERM, shell [e.g. bash 5.1.8]; anything that might matter
|
||||
placeholder: |
|
||||
Operating system:
|
||||
Terminal:
|
||||
Value of $TERM:
|
||||
Shell:
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
|
||||
140
.github/workflows/ci.yml
vendored
140
.github/workflows/ci.yml
vendored
@@ -5,6 +5,13 @@ on:
|
||||
branches: ['**']
|
||||
pull_request:
|
||||
|
||||
# Cancels all previous workflow runs for pull requests that have not completed.
|
||||
concurrency:
|
||||
# The concurrency group contains the workflow name and the branch name for
|
||||
# pull requests or the commit hash for any other events.
|
||||
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
linux:
|
||||
runs-on: ubuntu-18.04
|
||||
@@ -57,34 +64,41 @@ jobs:
|
||||
|
||||
- name: Install packages
|
||||
run: |
|
||||
sudo apt update && sudo apt install -y \
|
||||
autoconf \
|
||||
lcov \
|
||||
PKGS=( \
|
||||
gettext \
|
||||
libcanberra-dev \
|
||||
libperl-dev \
|
||||
python-dev \
|
||||
python3-dev \
|
||||
liblua5.3-dev \
|
||||
lua5.3 \
|
||||
ruby-dev \
|
||||
tcl-dev \
|
||||
cscope \
|
||||
libgtk2.0-dev \
|
||||
desktop-file-utils \
|
||||
libtool-bin \
|
||||
libsodium-dev
|
||||
)
|
||||
if ${{ matrix.features == 'huge' }}; then
|
||||
PKGS+=( \
|
||||
autoconf \
|
||||
lcov \
|
||||
libcanberra-dev \
|
||||
libperl-dev \
|
||||
python-dev \
|
||||
python3-dev \
|
||||
liblua5.3-dev \
|
||||
lua5.3 \
|
||||
ruby-dev \
|
||||
tcl-dev \
|
||||
cscope \
|
||||
libsodium-dev \
|
||||
)
|
||||
fi
|
||||
sudo apt update && sudo apt install -y "${PKGS[@]}"
|
||||
|
||||
- name: Install clang-11
|
||||
- name: Install clang-13
|
||||
if: matrix.compiler == 'clang'
|
||||
run: |
|
||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||
. /etc/lsb-release
|
||||
sudo add-apt-repository -y "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-11 main"
|
||||
sudo apt-get install -y clang-11 llvm-11
|
||||
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 100
|
||||
sudo update-alternatives --set clang /usr/bin/clang-11
|
||||
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-11 100
|
||||
sudo add-apt-repository -y "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-13 main"
|
||||
sudo apt-get install -y clang-13 llvm-13
|
||||
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-13 100
|
||||
sudo update-alternatives --set clang /usr/bin/clang-13
|
||||
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-13 100
|
||||
sudo update-alternatives --install /usr/bin/asan_symbolize asan_symbolize /usr/bin/asan_symbolize-13 100
|
||||
|
||||
- name: Set up environment
|
||||
run: |
|
||||
@@ -112,7 +126,6 @@ jobs:
|
||||
;;
|
||||
esac
|
||||
|
||||
CFLAGS=""
|
||||
if ${{ matrix.coverage == true }}; then
|
||||
CFLAGS="$CFLAGS --coverage -DUSE_GCOV_FLUSH"
|
||||
echo "LDFLAGS=--coverage"
|
||||
@@ -188,6 +201,10 @@ jobs:
|
||||
# Append various warning flags to CFLAGS.
|
||||
sed -i -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
|
||||
sed -i -f ci/config.mk.${CC}.sed ${SRCDIR}/auto/config.mk
|
||||
if [[ ${CC} = clang ]]; then
|
||||
# Suppress some warnings produced by clang 12 and later.
|
||||
sed -i -f ci/config.mk.clang-12.sed ${SRCDIR}/auto/config.mk
|
||||
fi
|
||||
|
||||
- name: Build
|
||||
if: (!contains(matrix.extra, 'unittests'))
|
||||
@@ -207,51 +224,57 @@ jobs:
|
||||
do_test() { sg audio "sg $(id -gn) '$*'"; }
|
||||
do_test make ${SHADOWOPT} ${TEST}
|
||||
|
||||
# - name: Coveralls
|
||||
# if: matrix.coverage && success() && github.event_name != 'pull_request'
|
||||
# env:
|
||||
# COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
||||
# COVERALLS_PARALLEL: true
|
||||
# TRAVIS_JOB_ID: ${{ github.run_id }}
|
||||
# run: |
|
||||
# sudo apt-get install -y python3-setuptools python3-wheel
|
||||
# sudo -H pip3 install pip -U
|
||||
# # needed for https support for coveralls building cffi only works with gcc, not with clang
|
||||
# CC=gcc pip3 install --user cpp-coveralls pyopenssl ndg-httpsclient pyasn1
|
||||
# ~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8
|
||||
# - name: Coveralls
|
||||
# if: matrix.coverage && success() && github.event_name != 'pull_request'
|
||||
# env:
|
||||
# COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
||||
# COVERALLS_PARALLEL: true
|
||||
# TRAVIS_JOB_ID: ${{ github.run_id }}
|
||||
# run: |
|
||||
# sudo apt-get install -y python3-setuptools python3-wheel
|
||||
# sudo -H pip3 install pip -U
|
||||
# # needed for https support for coveralls building cffi only works with gcc, not with clang
|
||||
# CC=gcc pip3 install --user cpp-coveralls pyopenssl ndg-httpsclient pyasn1
|
||||
# ~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8
|
||||
|
||||
- name: Codecov
|
||||
- name: Generate gcov files
|
||||
if: matrix.coverage && success()
|
||||
run: |
|
||||
cd "${SRCDIR}"
|
||||
bash <(curl -s https://codecov.io/bash) -F "${{ matrix.features }}-${{ matrix.compiler }}-${{ matrix.extra }}"
|
||||
find . -type f -name '*.gcno' -exec gcov -pb {} + || true
|
||||
|
||||
- name: Codecov
|
||||
if: matrix.coverage && success()
|
||||
uses: codecov/codecov-action@v2
|
||||
with:
|
||||
flags: ${{ matrix.features }}-${{ matrix.compiler }}-${{ matrix.extra }}
|
||||
|
||||
- name: ASan logs
|
||||
if: contains(matrix.extra, 'asan') && !cancelled()
|
||||
run: |
|
||||
for f in $(grep -lR '#[[:digit:]]* *0x[[:digit:]a-fA-F]*' "${LOG_DIR}"); do
|
||||
asan_symbolize-11 -l "$f"
|
||||
asan_symbolize -l "$f"
|
||||
false # in order to fail a job
|
||||
done
|
||||
|
||||
# coveralls:
|
||||
# runs-on: ubuntu-18.04
|
||||
# coveralls:
|
||||
# runs-on: ubuntu-18.04
|
||||
#
|
||||
# needs: linux
|
||||
# if: always() && github.event_name != 'pull_request'
|
||||
# needs: linux
|
||||
# if: always() && github.event_name != 'pull_request'
|
||||
#
|
||||
# steps:
|
||||
# - name: Parallel finished
|
||||
# env:
|
||||
# COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
||||
# run: |
|
||||
# curl -k "https://coveralls.io/webhook?repo_token=${COVERALLS_REPO_TOKEN}" -d "payload[build_num]=${GITHUB_RUN_ID}&payload[status]=done"
|
||||
# steps:
|
||||
# - name: Parallel finished
|
||||
# env:
|
||||
# COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
||||
# run: |
|
||||
# curl -k "https://coveralls.io/webhook?repo_token=${COVERALLS_REPO_TOKEN}" -d "payload[build_num]=${GITHUB_RUN_ID}&payload[status]=done"
|
||||
|
||||
macos:
|
||||
runs-on: macos-latest
|
||||
|
||||
env:
|
||||
CC: ${{ matrix.compiler }}
|
||||
CC: clang
|
||||
TEST: test
|
||||
SRCDIR: ./src
|
||||
LEAK_CFLAGS: -DEXITFREE
|
||||
@@ -260,13 +283,13 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
features: [tiny, huge]
|
||||
compiler: [clang, gcc]
|
||||
features: [tiny, normal, huge]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install packages
|
||||
if: matrix.features == 'huge'
|
||||
env:
|
||||
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||
run: |
|
||||
@@ -282,6 +305,8 @@ jobs:
|
||||
echo "TEST=testtiny"
|
||||
echo "CONFOPT=--disable-gui"
|
||||
;;
|
||||
normal)
|
||||
;;
|
||||
huge)
|
||||
echo "CONFOPT=--enable-perlinterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||
;;
|
||||
@@ -296,6 +321,10 @@ jobs:
|
||||
sed -i.bak -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
|
||||
# On macOS, the entity of gcc is clang.
|
||||
sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
|
||||
# Suppress some warnings produced by clang 12 and later.
|
||||
if clang --version | grep -qs 'Apple clang version \(1[3-9]\|[2-9]\)\.'; then
|
||||
sed -i.bak -f ci/config.mk.clang-12.sed ${SRCDIR}/auto/config.mk
|
||||
fi
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
@@ -443,17 +472,15 @@ jobs:
|
||||
run: |
|
||||
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
||||
cd src
|
||||
:: Filter out the progress bar from the build log
|
||||
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
|
||||
if "${{ matrix.features }}"=="HUGE" (
|
||||
nmake -nologo -f Make_mvc2.mak ^
|
||||
nmake -nologo -f Make_mvc.mak ^
|
||||
FEATURES=${{ matrix.features }} ^
|
||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes ^
|
||||
DYNAMIC_LUA=yes LUA=%LUA_DIR% ^
|
||||
DYNAMIC_PYTHON=yes PYTHON=%PYTHON_DIR% ^
|
||||
DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR%
|
||||
) else (
|
||||
nmake -nologo -f Make_mvc2.mak ^
|
||||
nmake -nologo -f Make_mvc.mak ^
|
||||
FEATURES=${{ matrix.features }} ^
|
||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes
|
||||
)
|
||||
@@ -503,16 +530,18 @@ jobs:
|
||||
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
||||
cd src
|
||||
echo.
|
||||
echo %COL_GREEN%vim version:%COL_RESET%
|
||||
echo ::group::%COL_GREEN%Vim version:%COL_RESET%
|
||||
.\vim --version || exit 1
|
||||
echo ::endgroup::
|
||||
|
||||
echo %COL_GREEN%Start testing vim in background.%COL_RESET%
|
||||
start cmd /c "cd ..\src2\testdir & nmake -nologo -f Make_dos.mak VIMPROG=..\..\src\vim > nul & echo done>done.txt"
|
||||
|
||||
echo %COL_GREEN%Test gvim:%COL_RESET%
|
||||
echo ::group::%COL_GREEN%Test gvim:%COL_RESET%
|
||||
cd testdir
|
||||
nmake -nologo -f Make_dos.mak VIMPROG=..\gvim || exit 1
|
||||
cd ..
|
||||
echo ::endgroup::
|
||||
|
||||
echo %COL_GREEN%Wait for vim tests to finish.%COL_RESET%
|
||||
cd ..\src2\testdir
|
||||
@@ -525,10 +554,11 @@ jobs:
|
||||
set timeout=1
|
||||
:exitloop
|
||||
|
||||
echo %COL_GREEN%Test results of vim:%COL_RESET%
|
||||
echo ::group::%COL_GREEN%Test results of vim:%COL_RESET%
|
||||
if exist messages type messages
|
||||
nmake -nologo -f Make_dos.mak report VIMPROG=..\..\src\vim || exit 1
|
||||
if "%timeout%"=="1" (
|
||||
echo %COL_RED%Timed out.%COL_RESET%
|
||||
exit 1
|
||||
)
|
||||
echo ::endgroup::
|
||||
|
||||
7
.github/workflows/codeql-analysis.yml
vendored
7
.github/workflows/codeql-analysis.yml
vendored
@@ -14,6 +14,13 @@ on:
|
||||
schedule:
|
||||
- cron: '0 18 * * 1'
|
||||
|
||||
# Cancels all previous workflow runs for pull requests that have not completed.
|
||||
concurrency:
|
||||
# The concurrency group contains the workflow name and the branch name for
|
||||
# pull requests or the commit hash for any other events.
|
||||
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
|
||||
20
Filelist
20
Filelist
@@ -7,6 +7,8 @@ SRC_ALL = \
|
||||
.coveralls.yml \
|
||||
.gitattributes \
|
||||
.github/CODEOWNERS \
|
||||
.github/ISSUE_TEMPLATE/bug_report.yml \
|
||||
.github/ISSUE_TEMPLATE/feature_request.md \
|
||||
.github/workflows/ci.yml \
|
||||
.github/workflows/codeql-analysis.yml \
|
||||
.github/workflows/coverity.yml \
|
||||
@@ -111,6 +113,7 @@ SRC_ALL = \
|
||||
src/nbdebug.h \
|
||||
src/netbeans.c \
|
||||
src/normal.c \
|
||||
src/nv_cmdidxs.h \
|
||||
src/ops.c \
|
||||
src/option.c \
|
||||
src/option.h \
|
||||
@@ -142,7 +145,7 @@ SRC_ALL = \
|
||||
src/tag.c \
|
||||
src/term.c \
|
||||
src/terminal.c \
|
||||
src/term.h \
|
||||
src/termdefs.h \
|
||||
src/termlib.c \
|
||||
src/testing.c \
|
||||
src/textformat.c \
|
||||
@@ -158,8 +161,11 @@ SRC_ALL = \
|
||||
src/version.h \
|
||||
src/vim.h \
|
||||
src/vim9.h \
|
||||
src/vim9cmds.c \
|
||||
src/vim9compile.c \
|
||||
src/vim9execute.c \
|
||||
src/vim9expr.c \
|
||||
src/vim9instr.c \
|
||||
src/vim9script.c \
|
||||
src/vim9type.c \
|
||||
src/viminfo.c \
|
||||
@@ -317,8 +323,11 @@ SRC_ALL = \
|
||||
src/proto/usercmd.pro \
|
||||
src/proto/userfunc.pro \
|
||||
src/proto/version.pro \
|
||||
src/proto/vim9cmds.pro \
|
||||
src/proto/vim9compile.pro \
|
||||
src/proto/vim9execute.pro \
|
||||
src/proto/vim9expr.pro \
|
||||
src/proto/vim9instr.pro \
|
||||
src/proto/vim9script.pro \
|
||||
src/proto/vim9type.pro \
|
||||
src/proto/viminfo.pro \
|
||||
@@ -376,6 +385,7 @@ SRC_ALL = \
|
||||
src/libvterm/t/30state_pen.test \
|
||||
src/libvterm/t/31state_rep.test \
|
||||
src/libvterm/t/32state_flow.test \
|
||||
src/libvterm/t/40state_selection.test \
|
||||
src/libvterm/t/60screen_ascii.test \
|
||||
src/libvterm/t/61screen_unicode.test \
|
||||
src/libvterm/t/62screen_damage.test \
|
||||
@@ -434,6 +444,7 @@ SRC_UNIX = \
|
||||
src/configure \
|
||||
src/configure.ac \
|
||||
src/create_cmdidxs.vim \
|
||||
src/create_nvcmdidxs.vim \
|
||||
src/gui_at_fs.c \
|
||||
src/gui_at_sb.c \
|
||||
src/gui_at_sb.h \
|
||||
@@ -488,7 +499,6 @@ SRC_UNIX = \
|
||||
SRC_DOS_UNIX = \
|
||||
src/gui_xim.c \
|
||||
src/if_cscope.c \
|
||||
src/if_cscope.h \
|
||||
src/if_lua.c \
|
||||
src/if_mzsch.c \
|
||||
src/if_mzsch.h \
|
||||
@@ -535,18 +545,14 @@ SRC_DOS = \
|
||||
tools/rename.bat \
|
||||
src/bigvim.bat \
|
||||
src/bigvim64.bat \
|
||||
src/msvcsetup.bat \
|
||||
src/msvc2008.bat \
|
||||
src/msvc2010.bat \
|
||||
src/msvc2015.bat \
|
||||
src/msys32.bat \
|
||||
src/msys64.bat \
|
||||
src/dimm.idl \
|
||||
src/dlldata.c \
|
||||
src/dosinst.c \
|
||||
src/dosinst.h \
|
||||
src/glbl_ime.cpp \
|
||||
src/glbl_ime.h \
|
||||
src/gui_dwrite.cpp \
|
||||
src/gui_dwrite.h \
|
||||
src/gui_w32.c \
|
||||
@@ -798,6 +804,7 @@ RT_SCRIPTS = \
|
||||
runtime/autoload/xml/*.vim \
|
||||
runtime/colors/*.vim \
|
||||
runtime/colors/README.txt \
|
||||
runtime/colors/lists/*.vim \
|
||||
runtime/colors/tools/*.vim \
|
||||
runtime/compiler/*.vim \
|
||||
runtime/compiler/README.txt \
|
||||
@@ -850,7 +857,6 @@ RT_AMI_DOS = \
|
||||
# DOS runtime (also in the extra archive)
|
||||
RT_DOS = \
|
||||
README_dos.txt \
|
||||
runtime/rgb.txt \
|
||||
vimtutor.bat \
|
||||
|
||||
# DOS runtime without CR-LF translation (also in the extra archive)
|
||||
|
||||
@@ -26,7 +26,6 @@ src/os_win32.* Files for the Win32 port.
|
||||
src/gui_w32.* Files for the Win32 GUI.
|
||||
src/gui_w48.* Files for the Win32 and Win16 GUI.
|
||||
src/Make_mvc.mak MS Visual C++ makefile for the Win32 GUI.
|
||||
runtime/rgb.txt File with color definitions for the Win32 GUI.
|
||||
|
||||
src/if_ole.* OLE automation interface, for MS Windows 95 and NT.
|
||||
|
||||
|
||||
@@ -5,11 +5,9 @@ setlocal ENABLEDELAYEDEXPANSION
|
||||
cd %APPVEYOR_BUILD_FOLDER%
|
||||
|
||||
cd src
|
||||
:: Filter out the progress bar from the build log
|
||||
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
|
||||
|
||||
echo "Building MSVC 64bit console Version"
|
||||
nmake -f Make_mvc2.mak CPU=AMD64 ^
|
||||
nmake -f Make_mvc.mak CPU=AMD64 ^
|
||||
OLE=no GUI=no IME=yes ICONV=yes DEBUG=no ^
|
||||
FEATURES=%FEATURE%
|
||||
if not exist vim.exe (
|
||||
@@ -21,13 +19,13 @@ if not exist vim.exe (
|
||||
:: GUI needs to be last, so that testing works
|
||||
echo "Building MSVC 64bit GUI Version"
|
||||
if "%FEATURE%" == "HUGE" (
|
||||
nmake -f Make_mvc2.mak CPU=AMD64 ^
|
||||
nmake -f Make_mvc.mak CPU=AMD64 ^
|
||||
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no POSTSCRIPT=yes ^
|
||||
PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 ^
|
||||
PYTHON3_VER=35 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python35-x64 ^
|
||||
FEATURES=%FEATURE%
|
||||
) ELSE (
|
||||
nmake -f Make_mvc2.mak CPU=AMD64 ^
|
||||
nmake -f Make_mvc.mak CPU=AMD64 ^
|
||||
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no ^
|
||||
FEATURES=%FEATURE%
|
||||
)
|
||||
|
||||
3
ci/config.mk.clang-12.sed
Normal file
3
ci/config.mk.clang-12.sed
Normal file
@@ -0,0 +1,3 @@
|
||||
# Clang 12 (or Apple clang 13) and later makes a warning '-Wcompound-token-split-by-macro' enable by default.
|
||||
/^PERL_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=compound-token-split-by-macro/
|
||||
/^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=compound-token-split-by-macro/
|
||||
@@ -1,2 +1,2 @@
|
||||
/^CFLAGS[[:blank:]]*=/s/$/ -Wno-error=missing-field-initializers/
|
||||
/^RUBY_CFLAGS[[:blank:]]*=/s/$/ -Wno-error=unknown-attributes -Wno-error=ignored-attributes/
|
||||
/^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unknown-attributes -Wno-error=ignored-attributes/
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
/^CFLAGS[[:blank:]]*=/s/$/ -Wall -Wextra -Wshadow -Werror/
|
||||
/^PERL_CFLAGS[[:blank:]]*=/s/$/ -Wno-error=unused-function/
|
||||
/^PERL_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-function/
|
||||
/^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-parameter/
|
||||
|
||||
@@ -357,7 +357,6 @@ Section "$(str_section_exe)" id_section_exe
|
||||
File ..\README.txt
|
||||
File ..\uninstall.txt
|
||||
File ${VIMRT}\*.vim
|
||||
File ${VIMRT}\rgb.txt
|
||||
|
||||
File ${VIMTOOLS}\diff.exe
|
||||
File ${VIMTOOLS}\winpty${BIT}.dll
|
||||
@@ -367,6 +366,8 @@ Section "$(str_section_exe)" id_section_exe
|
||||
File ${VIMRT}\colors\*.*
|
||||
SetOutPath $0\colors\tools
|
||||
File ${VIMRT}\colors\tools\*.*
|
||||
SetOutPath $0\colors\lists
|
||||
File ${VIMRT}\colors\lists\*.*
|
||||
|
||||
SetOutPath $0\compiler
|
||||
File ${VIMRT}\compiler\*.*
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
98
runtime/autoload/dist/ft.vim
vendored
98
runtime/autoload/dist/ft.vim
vendored
@@ -1,7 +1,7 @@
|
||||
" Vim functions for file type detection
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2020 Aug 17
|
||||
" Last Change: 2022 Jan 28
|
||||
|
||||
" These functions are moved here from runtime/filetype.vim to make startup
|
||||
" faster.
|
||||
@@ -67,13 +67,29 @@ func dist#ft#FTasmsyntax()
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" Check if one of the first five lines contains "VB_Name". In that case it is
|
||||
" probably a Visual Basic file. Otherwise it's assumed to be "alt" filetype.
|
||||
func dist#ft#FTVB(alt)
|
||||
if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'VB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)'
|
||||
func dist#ft#FTbas()
|
||||
if exists("g:filetype_bas")
|
||||
exe "setf " . g:filetype_bas
|
||||
return
|
||||
endif
|
||||
|
||||
" most frequent FreeBASIC-specific keywords in distro files
|
||||
let fb_keywords = '\c^\s*\%(extern\|var\|enum\|private\|scope\|union\|byref\|operator\|constructor\|delete\|namespace\|public\|property\|with\|destructor\|using\)\>\%(\s*[:=(]\)\@!'
|
||||
let fb_preproc = '\c^\s*\%(#\a\+\|option\s\+\%(byval\|dynamic\|escape\|\%(no\)\=gosub\|nokeyword\|private\|static\)\>\)'
|
||||
let fb_comment = "^\\s*/'"
|
||||
" OPTION EXPLICIT, without the leading underscore, is common to many dialects
|
||||
let qb64_preproc = '\c^\s*\%($\a\+\|option\s\+\%(_explicit\|_\=explicitarray\)\>\)'
|
||||
|
||||
let lines = getline(1, min([line("$"), 100]))
|
||||
|
||||
if match(lines, fb_preproc) > -1 || match(lines, fb_comment) > -1 || match(lines, fb_keywords) > -1
|
||||
setf freebasic
|
||||
elseif match(lines, qb64_preproc) > -1
|
||||
setf qb64
|
||||
elseif match(lines, '\cVB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)') > -1
|
||||
setf vb
|
||||
else
|
||||
exe "setf " . a:alt
|
||||
setf basic
|
||||
endif
|
||||
endfunc
|
||||
|
||||
@@ -219,6 +235,23 @@ func dist#ft#FTe()
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" Distinguish between Forth and F#.
|
||||
" Provided by Doug Kearns.
|
||||
func dist#ft#FTfs()
|
||||
if exists("g:filetype_fs")
|
||||
exe "setf " . g:filetype_fs
|
||||
else
|
||||
let line = getline(nextnonblank(1))
|
||||
" comments and colon definitions
|
||||
if line =~ '^\s*\.\=( ' || line =~ '^\s*\\G\= ' || line =~ '^\\$'
|
||||
\ || line =~ '^\s*: \S'
|
||||
setf forth
|
||||
else
|
||||
setf fsharp
|
||||
endif
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" Distinguish between HTML, XHTML and Django
|
||||
func dist#ft#FThtml()
|
||||
let n = 1
|
||||
@@ -272,6 +305,8 @@ func dist#ft#FTm()
|
||||
" excluding end(for|function|if|switch|while) common to Murphi
|
||||
let octave_block_terminators = '\<end\%(_try_catch\|classdef\|enumeration\|events\|methods\|parfor\|properties\)\>'
|
||||
|
||||
let objc_preprocessor = '^\s*#\s*\%(import\|include\|define\|if\|ifn\=def\|undef\|line\|error\|pragma\)\>'
|
||||
|
||||
let n = 1
|
||||
let saw_comment = 0 " Whether we've seen a multiline comment leader.
|
||||
while n < 100
|
||||
@@ -282,7 +317,7 @@ func dist#ft#FTm()
|
||||
" anything more definitive.
|
||||
let saw_comment = 1
|
||||
endif
|
||||
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|//\)'
|
||||
if line =~ '^\s*//' || line =~ '^\s*@import\>' || line =~ objc_preprocessor
|
||||
setf objc
|
||||
return
|
||||
endif
|
||||
@@ -792,6 +827,55 @@ func dist#ft#Redif()
|
||||
endwhile
|
||||
endfunc
|
||||
|
||||
" This function is called for all files under */debian/patches/*, make sure not
|
||||
" to non-dep3patch files, such as README and other text files.
|
||||
func dist#ft#Dep3patch()
|
||||
if expand('%:t') ==# 'series'
|
||||
return
|
||||
endif
|
||||
|
||||
for ln in getline(1, 100)
|
||||
if ln =~# '^\%(Description\|Subject\|Origin\|Bug\|Forwarded\|Author\|From\|Reviewed-by\|Acked-by\|Last-Updated\|Applied-Upstream\):'
|
||||
setf dep3patch
|
||||
return
|
||||
elseif ln =~# '^---'
|
||||
" end of headers found. stop processing
|
||||
return
|
||||
endif
|
||||
endfor
|
||||
endfunc
|
||||
|
||||
" This function checks the first 15 lines for appearance of 'FoamFile'
|
||||
" and then 'object' in a following line.
|
||||
" In that case, it's probably an OpenFOAM file
|
||||
func dist#ft#FTfoam()
|
||||
let ffile = 0
|
||||
let lnum = 1
|
||||
while lnum <= 15
|
||||
if getline(lnum) =~# '^FoamFile'
|
||||
let ffile = 1
|
||||
elseif ffile == 1 && getline(lnum) =~# '^\s*object'
|
||||
setf foam
|
||||
return
|
||||
endif
|
||||
let lnum = lnum + 1
|
||||
endwhile
|
||||
endfunc
|
||||
|
||||
" Determine if a *.tf file is TF mud client or terraform
|
||||
func dist#ft#FTtf()
|
||||
let numberOfLines = line('$')
|
||||
for i in range(1, numberOfLines)
|
||||
let currentLine = trim(getline(i))
|
||||
let firstCharacter = currentLine[0]
|
||||
if firstCharacter !=? ";" && firstCharacter !=? "/" && firstCharacter !=? ""
|
||||
setf terraform
|
||||
return
|
||||
endif
|
||||
endfor
|
||||
setf tf
|
||||
endfunc
|
||||
|
||||
|
||||
" Restore 'cpoptions'
|
||||
let &cpo = s:cpo_save
|
||||
|
||||
41
runtime/autoload/freebasic.vim
Normal file
41
runtime/autoload/freebasic.vim
Normal file
@@ -0,0 +1,41 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: FreeBASIC
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2021 Mar 16
|
||||
|
||||
" Dialects can be one of fb, qb, fblite, or deprecated
|
||||
" Precedence is forcelang > #lang > lang
|
||||
function! freebasic#GetDialect() abort
|
||||
if exists("g:freebasic_forcelang")
|
||||
return g:freebasic_forcelang
|
||||
endif
|
||||
|
||||
if exists("g:freebasic_lang")
|
||||
let dialect = g:freebasic_lang
|
||||
else
|
||||
let dialect = "fb"
|
||||
endif
|
||||
|
||||
" override with #lang directive or metacommand
|
||||
|
||||
let skip = "has('syntax_items') && synIDattr(synID(line('.'), col('.'), 1), 'name') =~ 'Comment$'"
|
||||
let pat = '\c^\s*\%(#\s*lang\s\+\|''\s*$lang\s*:\s*\)"\([^"]*\)"'
|
||||
|
||||
let save_cursor = getcurpos()
|
||||
call cursor(1, 1)
|
||||
let lnum = search(pat, 'n', '', '', skip)
|
||||
call setpos('.', save_cursor)
|
||||
|
||||
if lnum
|
||||
let word = matchlist(getline(lnum), pat)[1]
|
||||
if word =~? '\%(fb\|deprecated\|fblite\|qb\)'
|
||||
let dialect = word
|
||||
else
|
||||
echomsg "freebasic#GetDialect: Invalid lang, found '" .. word .. "' at line " .. lnum .. " " .. getline(lnum)
|
||||
endif
|
||||
endif
|
||||
|
||||
return dialect
|
||||
endfunction
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:
|
||||
@@ -1,7 +1,7 @@
|
||||
" zip.vim: Handles browsing zipfiles
|
||||
" AUTOLOAD PORTION
|
||||
" Date: Jan 07, 2020
|
||||
" Version: 31
|
||||
" Date: Nov 08, 2021
|
||||
" Version: 32
|
||||
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" License: Vim License (see vim's :help license)
|
||||
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
|
||||
@@ -20,7 +20,7 @@
|
||||
if &cp || exists("g:loaded_zip")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_zip= "v31"
|
||||
let g:loaded_zip= "v32"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of zip needs vim 7.2 or later"
|
||||
@@ -115,7 +115,13 @@ fun! zip#Browse(zipfile)
|
||||
setlocal bufhidden=hide
|
||||
setlocal nobuflisted
|
||||
setlocal nowrap
|
||||
set ft=tar
|
||||
|
||||
" Oct 12, 2021: need to re-use Bram's syntax/tar.vim.
|
||||
" Setting the filetype to zip doesn't do anything (currently),
|
||||
" but it is perhaps less confusing to curious perusers who do
|
||||
" a :echo &ft
|
||||
setf zip
|
||||
run! syntax/tar.vim
|
||||
|
||||
" give header
|
||||
call append(0, ['" zip.vim version '.g:loaded_zip,
|
||||
@@ -187,8 +193,8 @@ fun! s:ZipBrowseSelect()
|
||||
wincmd _
|
||||
endif
|
||||
let s:zipfile_{winnr()}= curfile
|
||||
" call Decho("exe e ".fnameescape("zipfile:".zipfile.'::'.fname))
|
||||
exe "noswapfile e ".fnameescape("zipfile:".zipfile.'::'.fname)
|
||||
" call Decho("exe e ".fnameescape("zipfile://".zipfile.'::'.fname))
|
||||
exe "noswapfile e ".fnameescape("zipfile://".zipfile.'::'.fname)
|
||||
filetype detect
|
||||
|
||||
let &report= repkeep
|
||||
@@ -203,11 +209,11 @@ fun! zip#Read(fname,mode)
|
||||
set report=10
|
||||
|
||||
if has("unix")
|
||||
let zipfile = substitute(a:fname,'zipfile:\(.\{-}\)::[^\\].*$','\1','')
|
||||
let fname = substitute(a:fname,'zipfile:.\{-}::\([^\\].*\)$','\1','')
|
||||
let zipfile = substitute(a:fname,'zipfile://\(.\{-}\)::[^\\].*$','\1','')
|
||||
let fname = substitute(a:fname,'zipfile://.\{-}::\([^\\].*\)$','\1','')
|
||||
else
|
||||
let zipfile = substitute(a:fname,'^.\{-}zipfile:\(.\{-}\)::[^\\].*$','\1','')
|
||||
let fname = substitute(a:fname,'^.\{-}zipfile:.\{-}::\([^\\].*\)$','\1','')
|
||||
let zipfile = substitute(a:fname,'^.\{-}zipfile://\(.\{-}\)::[^\\].*$','\1','')
|
||||
let fname = substitute(a:fname,'^.\{-}zipfile://.\{-}::\([^\\].*\)$','\1','')
|
||||
let fname = substitute(fname, '[', '[[]', 'g')
|
||||
endif
|
||||
" call Decho("zipfile<".zipfile.">")
|
||||
@@ -224,7 +230,7 @@ fun! zip#Read(fname,mode)
|
||||
|
||||
" the following code does much the same thing as
|
||||
" exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1)
|
||||
" but allows zipfile:... entries in quickfix lists
|
||||
" but allows zipfile://... entries in quickfix lists
|
||||
let temp = tempname()
|
||||
" call Decho("using temp file<".temp.">")
|
||||
let fn = expand('%:p')
|
||||
@@ -296,11 +302,11 @@ fun! zip#Write(fname)
|
||||
" call Decho("current directory now: ".getcwd())
|
||||
|
||||
if has("unix")
|
||||
let zipfile = substitute(a:fname,'zipfile:\(.\{-}\)::[^\\].*$','\1','')
|
||||
let fname = substitute(a:fname,'zipfile:.\{-}::\([^\\].*\)$','\1','')
|
||||
let zipfile = substitute(a:fname,'zipfile://\(.\{-}\)::[^\\].*$','\1','')
|
||||
let fname = substitute(a:fname,'zipfile://.\{-}::\([^\\].*\)$','\1','')
|
||||
else
|
||||
let zipfile = substitute(a:fname,'^.\{-}zipfile:\(.\{-}\)::[^\\].*$','\1','')
|
||||
let fname = substitute(a:fname,'^.\{-}zipfile:.\{-}::\([^\\].*\)$','\1','')
|
||||
let zipfile = substitute(a:fname,'^.\{-}zipfile://\(.\{-}\)::[^\\].*$','\1','')
|
||||
let fname = substitute(a:fname,'^.\{-}zipfile://.\{-}::\([^\\].*\)$','\1','')
|
||||
endif
|
||||
" call Decho("zipfile<".zipfile.">")
|
||||
" call Decho("fname <".fname.">")
|
||||
|
||||
@@ -87,4 +87,5 @@ please check the following items:
|
||||
- In the GUI, is it easy to find the cursor, also in a file with lots of
|
||||
syntax highlighting?
|
||||
- Do not use hard coded escape sequences, these will not work in other
|
||||
terminals. Always use color names or #RRGGBB for the GUI.
|
||||
terminals. Always use color names or #RRGGBB for the GUI. See v:colornames
|
||||
for details on how to define your own color names.
|
||||
|
||||
166
runtime/colors/lists/csscolors.vim
Normal file
166
runtime/colors/lists/csscolors.vim
Normal file
@@ -0,0 +1,166 @@
|
||||
" Maintainer: Drew Vogel <dvogel@sidejump.org>
|
||||
" Last Change: 2021 Jul 25
|
||||
|
||||
" Similar in spirit to rgb.txt, this plugin establishes a human-friendly name
|
||||
" for every color listed in the CSS standard:
|
||||
"
|
||||
" https://www.w3.org/TR/css-color-3/
|
||||
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
call extend(v:colornames, {
|
||||
\ 'css_black': '#000000',
|
||||
\ 'css_silver': '#c0c0c0',
|
||||
\ 'css_gray': '#808080',
|
||||
\ 'css_white': '#FFFFFF',
|
||||
\ 'css_maroon': '#800000',
|
||||
\ 'css_red': '#FF0000',
|
||||
\ 'css_purple': '#800080',
|
||||
\ 'css_fuchsia': '#FF00FF',
|
||||
\ 'css_green': '#008000',
|
||||
\ 'css_lime': '#00FF00',
|
||||
\ 'css_olive': '#808000',
|
||||
\ 'css_yellow': '#FFFF00',
|
||||
\ 'css_navy': '#000080',
|
||||
\ 'css_blue': '#0000FF',
|
||||
\ 'css_teal': '#008080',
|
||||
\ 'css_aqua': '#00FFFF',
|
||||
\
|
||||
\ 'css_aliceblue': '#f0f8ff',
|
||||
\ 'css_antiquewhite': '#faebd7',
|
||||
\ 'css_aquamarine': '#7fffd4',
|
||||
\ 'css_azure': '#f0ffff',
|
||||
\ 'css_beige': '#f5f5dc',
|
||||
\ 'css_bisque': '#ffe4c4',
|
||||
\ 'css_blanchedalmond': '#ffebcd',
|
||||
\ 'css_blueviolet': '#8a2be2',
|
||||
\ 'css_brown': '#a52a2a',
|
||||
\ 'css_burlywood': '#deb887',
|
||||
\ 'css_cadetblue': '#5f9ea0',
|
||||
\ 'css_chartreuse': '#7fff00',
|
||||
\ 'css_chocolate': '#d2691e',
|
||||
\ 'css_coral': '#ff7f50',
|
||||
\ 'css_cornflowerblue': '#6495ed',
|
||||
\ 'css_cornsilk': '#fff8dc',
|
||||
\ 'css_crimson': '#dc143c',
|
||||
\ 'css_cyan': '#00ffff',
|
||||
\ 'css_darkblue': '#00008b',
|
||||
\ 'css_darkcyan': '#008b8b',
|
||||
\ 'css_darkgoldenrod': '#b8860b',
|
||||
\ 'css_darkgray': '#a9a9a9',
|
||||
\ 'css_darkgreen': '#006400',
|
||||
\ 'css_darkgrey': '#a9a9a9',
|
||||
\ 'css_darkkhaki': '#bdb76b',
|
||||
\ 'css_darkmagenta': '#8b008b',
|
||||
\ 'css_darkolivegreen': '#556b2f',
|
||||
\ 'css_darkorange': '#ff8c00',
|
||||
\ 'css_darkorchid': '#9932cc',
|
||||
\ 'css_darkred': '#8b0000',
|
||||
\ 'css_darksalmon': '#e9967a',
|
||||
\ 'css_darkseagreen': '#8fbc8f',
|
||||
\ 'css_darkslateblue': '#483d8b',
|
||||
\ 'css_darkslategray': '#2f4f4f',
|
||||
\ 'css_darkslategrey': '#2f4f4f',
|
||||
\ 'css_darkturquoise': '#00ced1',
|
||||
\ 'css_darkviolet': '#9400d3',
|
||||
\ 'css_deeppink': '#ff1493',
|
||||
\ 'css_deepskyblue': '#00bfff',
|
||||
\ 'css_dimgray': '#696969',
|
||||
\ 'css_dimgrey': '#696969',
|
||||
\ 'css_dodgerblue': '#1e90ff',
|
||||
\ 'css_firebrick': '#b22222',
|
||||
\ 'css_floralwhite': '#fffaf0',
|
||||
\ 'css_forestgreen': '#228b22',
|
||||
\ 'css_gainsboro': '#dcdcdc',
|
||||
\ 'css_ghostwhite': '#f8f8ff',
|
||||
\ 'css_gold': '#ffd700',
|
||||
\ 'css_goldenrod': '#daa520',
|
||||
\ 'css_greenyellow': '#adff2f',
|
||||
\ 'css_grey': '#808080',
|
||||
\ 'css_honeydew': '#f0fff0',
|
||||
\ 'css_hotpink': '#ff69b4',
|
||||
\ 'css_indianred': '#cd5c5c',
|
||||
\ 'css_indigo': '#4b0082',
|
||||
\ 'css_ivory': '#fffff0',
|
||||
\ 'css_khaki': '#f0e68c',
|
||||
\ 'css_lavender': '#e6e6fa',
|
||||
\ 'css_lavenderblush': '#fff0f5',
|
||||
\ 'css_lawngreen': '#7cfc00',
|
||||
\ 'css_lemonchiffon': '#fffacd',
|
||||
\ 'css_lightblue': '#add8e6',
|
||||
\ 'css_lightcoral': '#f08080',
|
||||
\ 'css_lightcyan': '#e0ffff',
|
||||
\ 'css_lightgoldenrodyellow': '#fafad2',
|
||||
\ 'css_lightgray': '#d3d3d3',
|
||||
\ 'css_lightgreen': '#90ee90',
|
||||
\ 'css_lightgrey': '#d3d3d3',
|
||||
\ 'css_lightpink': '#ffb6c1',
|
||||
\ 'css_lightsalmon': '#ffa07a',
|
||||
\ 'css_lightseagreen': '#20b2aa',
|
||||
\ 'css_lightskyblue': '#87cefa',
|
||||
\ 'css_lightslategray': '#778899',
|
||||
\ 'css_lightslategrey': '#778899',
|
||||
\ 'css_lightsteelblue': '#b0c4de',
|
||||
\ 'css_lightyellow': '#ffffe0',
|
||||
\ 'css_limegreen': '#32cd32',
|
||||
\ 'css_linen': '#faf0e6',
|
||||
\ 'css_magenta': '#ff00ff',
|
||||
\ 'css_mediumaquamarine': '#66cdaa',
|
||||
\ 'css_mediumblue': '#0000cd',
|
||||
\ 'css_mediumorchid': '#ba55d3',
|
||||
\ 'css_mediumpurple': '#9370db',
|
||||
\ 'css_mediumseagreen': '#3cb371',
|
||||
\ 'css_mediumslateblue': '#7b68ee',
|
||||
\ 'css_mediumspringgreen': '#00fa9a',
|
||||
\ 'css_mediumturquoise': '#48d1cc',
|
||||
\ 'css_mediumvioletred': '#c71585',
|
||||
\ 'css_midnightblue': '#191970',
|
||||
\ 'css_mintcream': '#f5fffa',
|
||||
\ 'css_mistyrose': '#ffe4e1',
|
||||
\ 'css_moccasin': '#ffe4b5',
|
||||
\ 'css_navajowhite': '#ffdead',
|
||||
\ 'css_oldlace': '#fdf5e6',
|
||||
\ 'css_olivedrab': '#6b8e23',
|
||||
\ 'css_orange': '#ffa500',
|
||||
\ 'css_orangered': '#ff4500',
|
||||
\ 'css_orchid': '#da70d6',
|
||||
\ 'css_palegoldenrod': '#eee8aa',
|
||||
\ 'css_palegreen': '#98fb98',
|
||||
\ 'css_paleturquoise': '#afeeee',
|
||||
\ 'css_palevioletred': '#db7093',
|
||||
\ 'css_papayawhip': '#ffefd5',
|
||||
\ 'css_peachpuff': '#ffdab9',
|
||||
\ 'css_peru': '#cd853f',
|
||||
\ 'css_pink': '#ffc0cb',
|
||||
\ 'css_plum': '#dda0dd',
|
||||
\ 'css_powderblue': '#b0e0e6',
|
||||
\ 'css_rosybrown': '#bc8f8f',
|
||||
\ 'css_royalblue': '#4169e1',
|
||||
\ 'css_saddlebrown': '#8b4513',
|
||||
\ 'css_salmon': '#fa8072',
|
||||
\ 'css_sandybrown': '#f4a460',
|
||||
\ 'css_seagreen': '#2e8b57',
|
||||
\ 'css_seashell': '#fff5ee',
|
||||
\ 'css_sienna': '#a0522d',
|
||||
\ 'css_skyblue': '#87ceeb',
|
||||
\ 'css_slateblue': '#6a5acd',
|
||||
\ 'css_slategray': '#708090',
|
||||
\ 'css_slategrey': '#708090',
|
||||
\ 'css_snow': '#fffafa',
|
||||
\ 'css_springgreen': '#00ff7f',
|
||||
\ 'css_steelblue': '#4682b4',
|
||||
\ 'css_tan': '#d2b48c',
|
||||
\ 'css_thistle': '#d8bfd8',
|
||||
\ 'css_tomato': '#ff6347',
|
||||
\ 'css_turquoise': '#40e0d0',
|
||||
\ 'css_violet': '#ee82ee',
|
||||
\ 'css_wheat': '#f5deb3',
|
||||
\ 'css_whitesmoke': '#f5f5f5',
|
||||
\ 'css_yellowgreen': '#9acd32',
|
||||
\ }, 'keep')
|
||||
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
"vim: sw=4
|
||||
801
runtime/colors/lists/default.vim
Normal file
801
runtime/colors/lists/default.vim
Normal file
@@ -0,0 +1,801 @@
|
||||
" Maintainer: Drew Vogel <dvogel@sidejump.org>
|
||||
" Last Change: 2021 Jul 25
|
||||
"
|
||||
" Replaced rgb.txt as the source of de facto standard color names. This is
|
||||
" sourced each time the colorscheme command is run. It is also sourced each
|
||||
" time the highlight command fails to recognize a gui color. You can override
|
||||
" these colors by introducing a new colors/lists/default.vim file earlier in
|
||||
" the runtimepath.
|
||||
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
call extend(v:colornames, {
|
||||
\ 'snow': '#fffafa',
|
||||
\ 'ghost white': '#f8f8ff',
|
||||
\ 'ghostwhite': '#f8f8ff',
|
||||
\ 'white smoke': '#f5f5f5',
|
||||
\ 'whitesmoke': '#f5f5f5',
|
||||
\ 'gainsboro': '#dcdcdc',
|
||||
\ 'floral white': '#fffaf0',
|
||||
\ 'floralwhite': '#fffaf0',
|
||||
\ 'old lace': '#fdf5e6',
|
||||
\ 'oldlace': '#fdf5e6',
|
||||
\ 'linen': '#faf0e6',
|
||||
\ 'antique white': '#faebd7',
|
||||
\ 'antiquewhite': '#faebd7',
|
||||
\ 'papaya whip': '#ffefd5',
|
||||
\ 'papayawhip': '#ffefd5',
|
||||
\ 'blanched almond': '#ffebcd',
|
||||
\ 'blanchedalmond': '#ffebcd',
|
||||
\ 'bisque': '#ffe4c4',
|
||||
\ 'peach puff': '#ffdab9',
|
||||
\ 'peachpuff': '#ffdab9',
|
||||
\ 'navajo white': '#ffdead',
|
||||
\ 'navajowhite': '#ffdead',
|
||||
\ 'moccasin': '#ffe4b5',
|
||||
\ 'cornsilk': '#fff8dc',
|
||||
\ 'ivory': '#fffff0',
|
||||
\ 'lemon chiffon': '#fffacd',
|
||||
\ 'lemonchiffon': '#fffacd',
|
||||
\ 'seashell': '#fff5ee',
|
||||
\ 'honeydew': '#f0fff0',
|
||||
\ 'mint cream': '#f5fffa',
|
||||
\ 'mintcream': '#f5fffa',
|
||||
\ 'azure': '#f0ffff',
|
||||
\ 'alice blue': '#f0f8ff',
|
||||
\ 'aliceblue': '#f0f8ff',
|
||||
\ 'lavender': '#e6e6fa',
|
||||
\ 'lavender blush': '#fff0f5',
|
||||
\ 'lavenderblush': '#fff0f5',
|
||||
\ 'misty rose': '#ffe4e1',
|
||||
\ 'mistyrose': '#ffe4e1',
|
||||
\ 'white': '#ffffff',
|
||||
\ 'black': '#000000',
|
||||
\ 'dark slate gray': '#2f4f4f',
|
||||
\ 'darkslategray': '#2f4f4f',
|
||||
\ 'dark slate grey': '#2f4f4f',
|
||||
\ 'darkslategrey': '#2f4f4f',
|
||||
\ 'dim gray': '#696969',
|
||||
\ 'dimgray': '#696969',
|
||||
\ 'dim grey': '#696969',
|
||||
\ 'dimgrey': '#696969',
|
||||
\ 'slate gray': '#708090',
|
||||
\ 'slategray': '#708090',
|
||||
\ 'slate grey': '#708090',
|
||||
\ 'slategrey': '#708090',
|
||||
\ 'light slate gray': '#778899',
|
||||
\ 'lightslategray': '#778899',
|
||||
\ 'light slate grey': '#778899',
|
||||
\ 'lightslategrey': '#778899',
|
||||
\ 'gray': '#bebebe',
|
||||
\ 'grey': '#bebebe',
|
||||
\ 'x11 gray': '#bebebe',
|
||||
\ 'x11gray': '#bebebe',
|
||||
\ 'x11 grey': '#bebebe',
|
||||
\ 'x11grey': '#bebebe',
|
||||
\ 'web gray': '#808080',
|
||||
\ 'webgray': '#808080',
|
||||
\ 'web grey': '#808080',
|
||||
\ 'webgrey': '#808080',
|
||||
\ 'light grey': '#d3d3d3',
|
||||
\ 'lightgrey': '#d3d3d3',
|
||||
\ 'light gray': '#d3d3d3',
|
||||
\ 'lightgray': '#d3d3d3',
|
||||
\ 'midnight blue': '#191970',
|
||||
\ 'midnightblue': '#191970',
|
||||
\ 'navy': '#000080',
|
||||
\ 'navy blue': '#000080',
|
||||
\ 'navyblue': '#000080',
|
||||
\ 'cornflower blue': '#6495ed',
|
||||
\ 'cornflowerblue': '#6495ed',
|
||||
\ 'dark slate blue': '#483d8b',
|
||||
\ 'darkslateblue': '#483d8b',
|
||||
\ 'slate blue': '#6a5acd',
|
||||
\ 'slateblue': '#6a5acd',
|
||||
\ 'medium slate blue': '#7b68ee',
|
||||
\ 'mediumslateblue': '#7b68ee',
|
||||
\ 'light slate blue': '#8470ff',
|
||||
\ 'lightslateblue': '#8470ff',
|
||||
\ 'medium blue': '#0000cd',
|
||||
\ 'mediumblue': '#0000cd',
|
||||
\ 'royal blue': '#4169e1',
|
||||
\ 'royalblue': '#4169e1',
|
||||
\ 'blue': '#0000ff',
|
||||
\ 'dodger blue': '#1e90ff',
|
||||
\ 'dodgerblue': '#1e90ff',
|
||||
\ 'deep sky blue': '#00bfff',
|
||||
\ 'deepskyblue': '#00bfff',
|
||||
\ 'sky blue': '#87ceeb',
|
||||
\ 'skyblue': '#87ceeb',
|
||||
\ 'light sky blue': '#87cefa',
|
||||
\ 'lightskyblue': '#87cefa',
|
||||
\ 'steel blue': '#4682b4',
|
||||
\ 'steelblue': '#4682b4',
|
||||
\ 'light steel blue': '#b0c4de',
|
||||
\ 'lightsteelblue': '#b0c4de',
|
||||
\ 'light blue': '#add8e6',
|
||||
\ 'lightblue': '#add8e6',
|
||||
\ 'powder blue': '#b0e0e6',
|
||||
\ 'powderblue': '#b0e0e6',
|
||||
\ 'pale turquoise': '#afeeee',
|
||||
\ 'paleturquoise': '#afeeee',
|
||||
\ 'dark turquoise': '#00ced1',
|
||||
\ 'darkturquoise': '#00ced1',
|
||||
\ 'medium turquoise': '#48d1cc',
|
||||
\ 'mediumturquoise': '#48d1cc',
|
||||
\ 'turquoise': '#40e0d0',
|
||||
\ 'cyan': '#00ffff',
|
||||
\ 'aqua': '#00ffff',
|
||||
\ 'light cyan': '#e0ffff',
|
||||
\ 'lightcyan': '#e0ffff',
|
||||
\ 'cadet blue': '#5f9ea0',
|
||||
\ 'cadetblue': '#5f9ea0',
|
||||
\ 'medium aquamarine': '#66cdaa',
|
||||
\ 'mediumaquamarine': '#66cdaa',
|
||||
\ 'aquamarine': '#7fffd4',
|
||||
\ 'dark green': '#006400',
|
||||
\ 'darkgreen': '#006400',
|
||||
\ 'dark olive green': '#556b2f',
|
||||
\ 'darkolivegreen': '#556b2f',
|
||||
\ 'dark sea green': '#8fbc8f',
|
||||
\ 'darkseagreen': '#8fbc8f',
|
||||
\ 'sea green': '#2e8b57',
|
||||
\ 'seagreen': '#2e8b57',
|
||||
\ 'medium sea green': '#3cb371',
|
||||
\ 'mediumseagreen': '#3cb371',
|
||||
\ 'light sea green': '#20b2aa',
|
||||
\ 'lightseagreen': '#20b2aa',
|
||||
\ 'pale green': '#98fb98',
|
||||
\ 'palegreen': '#98fb98',
|
||||
\ 'spring green': '#00ff7f',
|
||||
\ 'springgreen': '#00ff7f',
|
||||
\ 'lawn green': '#7cfc00',
|
||||
\ 'lawngreen': '#7cfc00',
|
||||
\ 'green': '#00ff00',
|
||||
\ 'lime': '#00ff00',
|
||||
\ 'x11 green': '#00ff00',
|
||||
\ 'x11green': '#00ff00',
|
||||
\ 'web green': '#008000',
|
||||
\ 'webgreen': '#008000',
|
||||
\ 'chartreuse': '#7fff00',
|
||||
\ 'medium spring green': '#00fa9a',
|
||||
\ 'mediumspringgreen': '#00fa9a',
|
||||
\ 'green yellow': '#adff2f',
|
||||
\ 'greenyellow': '#adff2f',
|
||||
\ 'lime green': '#32cd32',
|
||||
\ 'limegreen': '#32cd32',
|
||||
\ 'yellow green': '#9acd32',
|
||||
\ 'yellowgreen': '#9acd32',
|
||||
\ 'forest green': '#228b22',
|
||||
\ 'forestgreen': '#228b22',
|
||||
\ 'olive drab': '#6b8e23',
|
||||
\ 'olivedrab': '#6b8e23',
|
||||
\ 'dark khaki': '#bdb76b',
|
||||
\ 'darkkhaki': '#bdb76b',
|
||||
\ 'khaki': '#f0e68c',
|
||||
\ 'pale goldenrod': '#eee8aa',
|
||||
\ 'palegoldenrod': '#eee8aa',
|
||||
\ 'light goldenrod yellow': '#fafad2',
|
||||
\ 'lightgoldenrodyellow': '#fafad2',
|
||||
\ 'light yellow': '#ffffe0',
|
||||
\ 'lightyellow': '#ffffe0',
|
||||
\ 'yellow': '#ffff00',
|
||||
\ 'gold': '#ffd700',
|
||||
\ 'light goldenrod': '#eedd82',
|
||||
\ 'lightgoldenrod': '#eedd82',
|
||||
\ 'goldenrod': '#daa520',
|
||||
\ 'dark goldenrod': '#b8860b',
|
||||
\ 'darkgoldenrod': '#b8860b',
|
||||
\ 'rosy brown': '#bc8f8f',
|
||||
\ 'rosybrown': '#bc8f8f',
|
||||
\ 'indian red': '#cd5c5c',
|
||||
\ 'indianred': '#cd5c5c',
|
||||
\ 'saddle brown': '#8b4513',
|
||||
\ 'saddlebrown': '#8b4513',
|
||||
\ 'sienna': '#a0522d',
|
||||
\ 'peru': '#cd853f',
|
||||
\ 'burlywood': '#deb887',
|
||||
\ 'beige': '#f5f5dc',
|
||||
\ 'wheat': '#f5deb3',
|
||||
\ 'sandy brown': '#f4a460',
|
||||
\ 'sandybrown': '#f4a460',
|
||||
\ 'tan': '#d2b48c',
|
||||
\ 'chocolate': '#d2691e',
|
||||
\ 'firebrick': '#b22222',
|
||||
\ 'brown': '#a52a2a',
|
||||
\ 'dark salmon': '#e9967a',
|
||||
\ 'darksalmon': '#e9967a',
|
||||
\ 'salmon': '#fa8072',
|
||||
\ 'light salmon': '#ffa07a',
|
||||
\ 'lightsalmon': '#ffa07a',
|
||||
\ 'orange': '#ffa500',
|
||||
\ 'dark orange': '#ff8c00',
|
||||
\ 'darkorange': '#ff8c00',
|
||||
\ 'coral': '#ff7f50',
|
||||
\ 'light coral': '#f08080',
|
||||
\ 'lightcoral': '#f08080',
|
||||
\ 'tomato': '#ff6347',
|
||||
\ 'orange red': '#ff4500',
|
||||
\ 'orangered': '#ff4500',
|
||||
\ 'red': '#ff0000',
|
||||
\ 'hot pink': '#ff69b4',
|
||||
\ 'hotpink': '#ff69b4',
|
||||
\ 'deep pink': '#ff1493',
|
||||
\ 'deeppink': '#ff1493',
|
||||
\ 'pink': '#ffc0cb',
|
||||
\ 'light pink': '#ffb6c1',
|
||||
\ 'lightpink': '#ffb6c1',
|
||||
\ 'pale violet red': '#db7093',
|
||||
\ 'palevioletred': '#db7093',
|
||||
\ 'maroon': '#b03060',
|
||||
\ 'x11 maroon': '#b03060',
|
||||
\ 'x11maroon': '#b03060',
|
||||
\ 'web maroon': '#800000',
|
||||
\ 'webmaroon': '#800000',
|
||||
\ 'medium violet red': '#c71585',
|
||||
\ 'mediumvioletred': '#c71585',
|
||||
\ 'violet red': '#d02090',
|
||||
\ 'violetred': '#d02090',
|
||||
\ 'magenta': '#ff00ff',
|
||||
\ 'fuchsia': '#ff00ff',
|
||||
\ 'violet': '#ee82ee',
|
||||
\ 'plum': '#dda0dd',
|
||||
\ 'orchid': '#da70d6',
|
||||
\ 'medium orchid': '#ba55d3',
|
||||
\ 'mediumorchid': '#ba55d3',
|
||||
\ 'dark orchid': '#9932cc',
|
||||
\ 'darkorchid': '#9932cc',
|
||||
\ 'dark violet': '#9400d3',
|
||||
\ 'darkviolet': '#9400d3',
|
||||
\ 'blue violet': '#8a2be2',
|
||||
\ 'blueviolet': '#8a2be2',
|
||||
\ 'purple': '#a020f0',
|
||||
\ 'x11 purple': '#a020f0',
|
||||
\ 'x11purple': '#a020f0',
|
||||
\ 'web purple': '#800080',
|
||||
\ 'webpurple': '#800080',
|
||||
\ 'medium purple': '#9370db',
|
||||
\ 'mediumpurple': '#9370db',
|
||||
\ 'thistle': '#d8bfd8',
|
||||
\ 'snow1': '#fffafa',
|
||||
\ 'snow2': '#eee9e9',
|
||||
\ 'snow3': '#cdc9c9',
|
||||
\ 'snow4': '#8b8989',
|
||||
\ 'seashell1': '#fff5ee',
|
||||
\ 'seashell2': '#eee5de',
|
||||
\ 'seashell3': '#cdc5bf',
|
||||
\ 'seashell4': '#8b8682',
|
||||
\ 'antiquewhite1': '#ffefdb',
|
||||
\ 'antiquewhite2': '#eedfcc',
|
||||
\ 'antiquewhite3': '#cdc0b0',
|
||||
\ 'antiquewhite4': '#8b8378',
|
||||
\ 'bisque1': '#ffe4c4',
|
||||
\ 'bisque2': '#eed5b7',
|
||||
\ 'bisque3': '#cdb79e',
|
||||
\ 'bisque4': '#8b7d6b',
|
||||
\ 'peachpuff1': '#ffdab9',
|
||||
\ 'peachpuff2': '#eecbad',
|
||||
\ 'peachpuff3': '#cdaf95',
|
||||
\ 'peachpuff4': '#8b7765',
|
||||
\ 'navajowhite1': '#ffdead',
|
||||
\ 'navajowhite2': '#eecfa1',
|
||||
\ 'navajowhite3': '#cdb38b',
|
||||
\ 'navajowhite4': '#8b795e',
|
||||
\ 'lemonchiffon1': '#fffacd',
|
||||
\ 'lemonchiffon2': '#eee9bf',
|
||||
\ 'lemonchiffon3': '#cdc9a5',
|
||||
\ 'lemonchiffon4': '#8b8970',
|
||||
\ 'cornsilk1': '#fff8dc',
|
||||
\ 'cornsilk2': '#eee8cd',
|
||||
\ 'cornsilk3': '#cdc8b1',
|
||||
\ 'cornsilk4': '#8b8878',
|
||||
\ 'ivory1': '#fffff0',
|
||||
\ 'ivory2': '#eeeee0',
|
||||
\ 'ivory3': '#cdcdc1',
|
||||
\ 'ivory4': '#8b8b83',
|
||||
\ 'honeydew1': '#f0fff0',
|
||||
\ 'honeydew2': '#e0eee0',
|
||||
\ 'honeydew3': '#c1cdc1',
|
||||
\ 'honeydew4': '#838b83',
|
||||
\ 'lavenderblush1': '#fff0f5',
|
||||
\ 'lavenderblush2': '#eee0e5',
|
||||
\ 'lavenderblush3': '#cdc1c5',
|
||||
\ 'lavenderblush4': '#8b8386',
|
||||
\ 'mistyrose1': '#ffe4e1',
|
||||
\ 'mistyrose2': '#eed5d2',
|
||||
\ 'mistyrose3': '#cdb7b5',
|
||||
\ 'mistyrose4': '#8b7d7b',
|
||||
\ 'azure1': '#f0ffff',
|
||||
\ 'azure2': '#e0eeee',
|
||||
\ 'azure3': '#c1cdcd',
|
||||
\ 'azure4': '#838b8b',
|
||||
\ 'slateblue1': '#836fff',
|
||||
\ 'slateblue2': '#7a67ee',
|
||||
\ 'slateblue3': '#6959cd',
|
||||
\ 'slateblue4': '#473c8b',
|
||||
\ 'royalblue1': '#4876ff',
|
||||
\ 'royalblue2': '#436eee',
|
||||
\ 'royalblue3': '#3a5fcd',
|
||||
\ 'royalblue4': '#27408b',
|
||||
\ 'blue1': '#0000ff',
|
||||
\ 'blue2': '#0000ee',
|
||||
\ 'blue3': '#0000cd',
|
||||
\ 'blue4': '#00008b',
|
||||
\ 'dodgerblue1': '#1e90ff',
|
||||
\ 'dodgerblue2': '#1c86ee',
|
||||
\ 'dodgerblue3': '#1874cd',
|
||||
\ 'dodgerblue4': '#104e8b',
|
||||
\ 'steelblue1': '#63b8ff',
|
||||
\ 'steelblue2': '#5cacee',
|
||||
\ 'steelblue3': '#4f94cd',
|
||||
\ 'steelblue4': '#36648b',
|
||||
\ 'deepskyblue1': '#00bfff',
|
||||
\ 'deepskyblue2': '#00b2ee',
|
||||
\ 'deepskyblue3': '#009acd',
|
||||
\ 'deepskyblue4': '#00688b',
|
||||
\ 'skyblue1': '#87ceff',
|
||||
\ 'skyblue2': '#7ec0ee',
|
||||
\ 'skyblue3': '#6ca6cd',
|
||||
\ 'skyblue4': '#4a708b',
|
||||
\ 'lightskyblue1': '#b0e2ff',
|
||||
\ 'lightskyblue2': '#a4d3ee',
|
||||
\ 'lightskyblue3': '#8db6cd',
|
||||
\ 'lightskyblue4': '#607b8b',
|
||||
\ 'slategray1': '#c6e2ff',
|
||||
\ 'slategray2': '#b9d3ee',
|
||||
\ 'slategray3': '#9fb6cd',
|
||||
\ 'slategray4': '#6c7b8b',
|
||||
\ 'lightsteelblue1': '#cae1ff',
|
||||
\ 'lightsteelblue2': '#bcd2ee',
|
||||
\ 'lightsteelblue3': '#a2b5cd',
|
||||
\ 'lightsteelblue4': '#6e7b8b',
|
||||
\ 'lightblue1': '#bfefff',
|
||||
\ 'lightblue2': '#b2dfee',
|
||||
\ 'lightblue3': '#9ac0cd',
|
||||
\ 'lightblue4': '#68838b',
|
||||
\ 'lightcyan1': '#e0ffff',
|
||||
\ 'lightcyan2': '#d1eeee',
|
||||
\ 'lightcyan3': '#b4cdcd',
|
||||
\ 'lightcyan4': '#7a8b8b',
|
||||
\ 'paleturquoise1': '#bbffff',
|
||||
\ 'paleturquoise2': '#aeeeee',
|
||||
\ 'paleturquoise3': '#96cdcd',
|
||||
\ 'paleturquoise4': '#668b8b',
|
||||
\ 'cadetblue1': '#98f5ff',
|
||||
\ 'cadetblue2': '#8ee5ee',
|
||||
\ 'cadetblue3': '#7ac5cd',
|
||||
\ 'cadetblue4': '#53868b',
|
||||
\ 'turquoise1': '#00f5ff',
|
||||
\ 'turquoise2': '#00e5ee',
|
||||
\ 'turquoise3': '#00c5cd',
|
||||
\ 'turquoise4': '#00868b',
|
||||
\ 'cyan1': '#00ffff',
|
||||
\ 'cyan2': '#00eeee',
|
||||
\ 'cyan3': '#00cdcd',
|
||||
\ 'cyan4': '#008b8b',
|
||||
\ 'darkslategray1': '#97ffff',
|
||||
\ 'darkslategray2': '#8deeee',
|
||||
\ 'darkslategray3': '#79cdcd',
|
||||
\ 'darkslategray4': '#528b8b',
|
||||
\ 'aquamarine1': '#7fffd4',
|
||||
\ 'aquamarine2': '#76eec6',
|
||||
\ 'aquamarine3': '#66cdaa',
|
||||
\ 'aquamarine4': '#458b74',
|
||||
\ 'darkseagreen1': '#c1ffc1',
|
||||
\ 'darkseagreen2': '#b4eeb4',
|
||||
\ 'darkseagreen3': '#9bcd9b',
|
||||
\ 'darkseagreen4': '#698b69',
|
||||
\ 'seagreen1': '#54ff9f',
|
||||
\ 'seagreen2': '#4eee94',
|
||||
\ 'seagreen3': '#43cd80',
|
||||
\ 'seagreen4': '#2e8b57',
|
||||
\ 'palegreen1': '#9aff9a',
|
||||
\ 'palegreen2': '#90ee90',
|
||||
\ 'palegreen3': '#7ccd7c',
|
||||
\ 'palegreen4': '#548b54',
|
||||
\ 'springgreen1': '#00ff7f',
|
||||
\ 'springgreen2': '#00ee76',
|
||||
\ 'springgreen3': '#00cd66',
|
||||
\ 'springgreen4': '#008b45',
|
||||
\ 'green1': '#00ff00',
|
||||
\ 'green2': '#00ee00',
|
||||
\ 'green3': '#00cd00',
|
||||
\ 'green4': '#008b00',
|
||||
\ 'chartreuse1': '#7fff00',
|
||||
\ 'chartreuse2': '#76ee00',
|
||||
\ 'chartreuse3': '#66cd00',
|
||||
\ 'chartreuse4': '#458b00',
|
||||
\ 'olivedrab1': '#c0ff3e',
|
||||
\ 'olivedrab2': '#b3ee3a',
|
||||
\ 'olivedrab3': '#9acd32',
|
||||
\ 'olivedrab4': '#698b22',
|
||||
\ 'darkolivegreen1': '#caff70',
|
||||
\ 'darkolivegreen2': '#bcee68',
|
||||
\ 'darkolivegreen3': '#a2cd5a',
|
||||
\ 'darkolivegreen4': '#6e8b3d',
|
||||
\ 'khaki1': '#fff68f',
|
||||
\ 'khaki2': '#eee685',
|
||||
\ 'khaki3': '#cdc673',
|
||||
\ 'khaki4': '#8b864e',
|
||||
\ 'lightgoldenrod1': '#ffec8b',
|
||||
\ 'lightgoldenrod2': '#eedc82',
|
||||
\ 'lightgoldenrod3': '#cdbe70',
|
||||
\ 'lightgoldenrod4': '#8b814c',
|
||||
\ 'lightyellow1': '#ffffe0',
|
||||
\ 'lightyellow2': '#eeeed1',
|
||||
\ 'lightyellow3': '#cdcdb4',
|
||||
\ 'lightyellow4': '#8b8b7a',
|
||||
\ 'yellow1': '#ffff00',
|
||||
\ 'yellow2': '#eeee00',
|
||||
\ 'yellow3': '#cdcd00',
|
||||
\ 'yellow4': '#8b8b00',
|
||||
\ 'gold1': '#ffd700',
|
||||
\ 'gold2': '#eec900',
|
||||
\ 'gold3': '#cdad00',
|
||||
\ 'gold4': '#8b7500',
|
||||
\ 'goldenrod1': '#ffc125',
|
||||
\ 'goldenrod2': '#eeb422',
|
||||
\ 'goldenrod3': '#cd9b1d',
|
||||
\ 'goldenrod4': '#8b6914',
|
||||
\ 'darkgoldenrod1': '#ffb90f',
|
||||
\ 'darkgoldenrod2': '#eead0e',
|
||||
\ 'darkgoldenrod3': '#cd950c',
|
||||
\ 'darkgoldenrod4': '#8b6508',
|
||||
\ 'rosybrown1': '#ffc1c1',
|
||||
\ 'rosybrown2': '#eeb4b4',
|
||||
\ 'rosybrown3': '#cd9b9b',
|
||||
\ 'rosybrown4': '#8b6969',
|
||||
\ 'indianred1': '#ff6a6a',
|
||||
\ 'indianred2': '#ee6363',
|
||||
\ 'indianred3': '#cd5555',
|
||||
\ 'indianred4': '#8b3a3a',
|
||||
\ 'sienna1': '#ff8247',
|
||||
\ 'sienna2': '#ee7942',
|
||||
\ 'sienna3': '#cd6839',
|
||||
\ 'sienna4': '#8b4726',
|
||||
\ 'burlywood1': '#ffd39b',
|
||||
\ 'burlywood2': '#eec591',
|
||||
\ 'burlywood3': '#cdaa7d',
|
||||
\ 'burlywood4': '#8b7355',
|
||||
\ 'wheat1': '#ffe7ba',
|
||||
\ 'wheat2': '#eed8ae',
|
||||
\ 'wheat3': '#cdba96',
|
||||
\ 'wheat4': '#8b7e66',
|
||||
\ 'tan1': '#ffa54f',
|
||||
\ 'tan2': '#ee9a49',
|
||||
\ 'tan3': '#cd853f',
|
||||
\ 'tan4': '#8b5a2b',
|
||||
\ 'chocolate1': '#ff7f24',
|
||||
\ 'chocolate2': '#ee7621',
|
||||
\ 'chocolate3': '#cd661d',
|
||||
\ 'chocolate4': '#8b4513',
|
||||
\ 'firebrick1': '#ff3030',
|
||||
\ 'firebrick2': '#ee2c2c',
|
||||
\ 'firebrick3': '#cd2626',
|
||||
\ 'firebrick4': '#8b1a1a',
|
||||
\ 'brown1': '#ff4040',
|
||||
\ 'brown2': '#ee3b3b',
|
||||
\ 'brown3': '#cd3333',
|
||||
\ 'brown4': '#8b2323',
|
||||
\ 'salmon1': '#ff8c69',
|
||||
\ 'salmon2': '#ee8262',
|
||||
\ 'salmon3': '#cd7054',
|
||||
\ 'salmon4': '#8b4c39',
|
||||
\ 'lightsalmon1': '#ffa07a',
|
||||
\ 'lightsalmon2': '#ee9572',
|
||||
\ 'lightsalmon3': '#cd8162',
|
||||
\ 'lightsalmon4': '#8b5742',
|
||||
\ 'orange1': '#ffa500',
|
||||
\ 'orange2': '#ee9a00',
|
||||
\ 'orange3': '#cd8500',
|
||||
\ 'orange4': '#8b5a00',
|
||||
\ 'darkorange1': '#ff7f00',
|
||||
\ 'darkorange2': '#ee7600',
|
||||
\ 'darkorange3': '#cd6600',
|
||||
\ 'darkorange4': '#8b4500',
|
||||
\ 'coral1': '#ff7256',
|
||||
\ 'coral2': '#ee6a50',
|
||||
\ 'coral3': '#cd5b45',
|
||||
\ 'coral4': '#8b3e2f',
|
||||
\ 'tomato1': '#ff6347',
|
||||
\ 'tomato2': '#ee5c42',
|
||||
\ 'tomato3': '#cd4f39',
|
||||
\ 'tomato4': '#8b3626',
|
||||
\ 'orangered1': '#ff4500',
|
||||
\ 'orangered2': '#ee4000',
|
||||
\ 'orangered3': '#cd3700',
|
||||
\ 'orangered4': '#8b2500',
|
||||
\ 'red1': '#ff0000',
|
||||
\ 'red2': '#ee0000',
|
||||
\ 'red3': '#cd0000',
|
||||
\ 'red4': '#8b0000',
|
||||
\ 'deeppink1': '#ff1493',
|
||||
\ 'deeppink2': '#ee1289',
|
||||
\ 'deeppink3': '#cd1076',
|
||||
\ 'deeppink4': '#8b0a50',
|
||||
\ 'hotpink1': '#ff6eb4',
|
||||
\ 'hotpink2': '#ee6aa7',
|
||||
\ 'hotpink3': '#cd6090',
|
||||
\ 'hotpink4': '#8b3a62',
|
||||
\ 'pink1': '#ffb5c5',
|
||||
\ 'pink2': '#eea9b8',
|
||||
\ 'pink3': '#cd919e',
|
||||
\ 'pink4': '#8b636c',
|
||||
\ 'lightpink1': '#ffaeb9',
|
||||
\ 'lightpink2': '#eea2ad',
|
||||
\ 'lightpink3': '#cd8c95',
|
||||
\ 'lightpink4': '#8b5f65',
|
||||
\ 'palevioletred1': '#ff82ab',
|
||||
\ 'palevioletred2': '#ee799f',
|
||||
\ 'palevioletred3': '#cd6889',
|
||||
\ 'palevioletred4': '#8b475d',
|
||||
\ 'maroon1': '#ff34b3',
|
||||
\ 'maroon2': '#ee30a7',
|
||||
\ 'maroon3': '#cd2990',
|
||||
\ 'maroon4': '#8b1c62',
|
||||
\ 'violetred1': '#ff3e96',
|
||||
\ 'violetred2': '#ee3a8c',
|
||||
\ 'violetred3': '#cd3278',
|
||||
\ 'violetred4': '#8b2252',
|
||||
\ 'magenta1': '#ff00ff',
|
||||
\ 'magenta2': '#ee00ee',
|
||||
\ 'magenta3': '#cd00cd',
|
||||
\ 'magenta4': '#8b008b',
|
||||
\ 'orchid1': '#ff83fa',
|
||||
\ 'orchid2': '#ee7ae9',
|
||||
\ 'orchid3': '#cd69c9',
|
||||
\ 'orchid4': '#8b4789',
|
||||
\ 'plum1': '#ffbbff',
|
||||
\ 'plum2': '#eeaeee',
|
||||
\ 'plum3': '#cd96cd',
|
||||
\ 'plum4': '#8b668b',
|
||||
\ 'mediumorchid1': '#e066ff',
|
||||
\ 'mediumorchid2': '#d15fee',
|
||||
\ 'mediumorchid3': '#b452cd',
|
||||
\ 'mediumorchid4': '#7a378b',
|
||||
\ 'darkorchid1': '#bf3eff',
|
||||
\ 'darkorchid2': '#b23aee',
|
||||
\ 'darkorchid3': '#9a32cd',
|
||||
\ 'darkorchid4': '#68228b',
|
||||
\ 'purple1': '#9b30ff',
|
||||
\ 'purple2': '#912cee',
|
||||
\ 'purple3': '#7d26cd',
|
||||
\ 'purple4': '#551a8b',
|
||||
\ 'mediumpurple1': '#ab82ff',
|
||||
\ 'mediumpurple2': '#9f79ee',
|
||||
\ 'mediumpurple3': '#8968cd',
|
||||
\ 'mediumpurple4': '#5d478b',
|
||||
\ 'thistle1': '#ffe1ff',
|
||||
\ 'thistle2': '#eed2ee',
|
||||
\ 'thistle3': '#cdb5cd',
|
||||
\ 'thistle4': '#8b7b8b',
|
||||
\ 'gray0': '#000000',
|
||||
\ 'grey0': '#000000',
|
||||
\ 'gray1': '#030303',
|
||||
\ 'grey1': '#030303',
|
||||
\ 'gray2': '#050505',
|
||||
\ 'grey2': '#050505',
|
||||
\ 'gray3': '#080808',
|
||||
\ 'grey3': '#080808',
|
||||
\ 'gray4': '#0a0a0a',
|
||||
\ 'grey4': '#0a0a0a',
|
||||
\ 'gray5': '#0d0d0d',
|
||||
\ 'grey5': '#0d0d0d',
|
||||
\ 'gray6': '#0f0f0f',
|
||||
\ 'grey6': '#0f0f0f',
|
||||
\ 'gray7': '#121212',
|
||||
\ 'grey7': '#121212',
|
||||
\ 'gray8': '#141414',
|
||||
\ 'grey8': '#141414',
|
||||
\ 'gray9': '#171717',
|
||||
\ 'grey9': '#171717',
|
||||
\ 'gray10': '#1a1a1a',
|
||||
\ 'grey10': '#1a1a1a',
|
||||
\ 'gray11': '#1c1c1c',
|
||||
\ 'grey11': '#1c1c1c',
|
||||
\ 'gray12': '#1f1f1f',
|
||||
\ 'grey12': '#1f1f1f',
|
||||
\ 'gray13': '#212121',
|
||||
\ 'grey13': '#212121',
|
||||
\ 'gray14': '#242424',
|
||||
\ 'grey14': '#242424',
|
||||
\ 'gray15': '#262626',
|
||||
\ 'grey15': '#262626',
|
||||
\ 'gray16': '#292929',
|
||||
\ 'grey16': '#292929',
|
||||
\ 'gray17': '#2b2b2b',
|
||||
\ 'grey17': '#2b2b2b',
|
||||
\ 'gray18': '#2e2e2e',
|
||||
\ 'grey18': '#2e2e2e',
|
||||
\ 'gray19': '#303030',
|
||||
\ 'grey19': '#303030',
|
||||
\ 'gray20': '#333333',
|
||||
\ 'grey20': '#333333',
|
||||
\ 'gray21': '#363636',
|
||||
\ 'grey21': '#363636',
|
||||
\ 'gray22': '#383838',
|
||||
\ 'grey22': '#383838',
|
||||
\ 'gray23': '#3b3b3b',
|
||||
\ 'grey23': '#3b3b3b',
|
||||
\ 'gray24': '#3d3d3d',
|
||||
\ 'grey24': '#3d3d3d',
|
||||
\ 'gray25': '#404040',
|
||||
\ 'grey25': '#404040',
|
||||
\ 'gray26': '#424242',
|
||||
\ 'grey26': '#424242',
|
||||
\ 'gray27': '#454545',
|
||||
\ 'grey27': '#454545',
|
||||
\ 'gray28': '#474747',
|
||||
\ 'grey28': '#474747',
|
||||
\ 'gray29': '#4a4a4a',
|
||||
\ 'grey29': '#4a4a4a',
|
||||
\ 'gray30': '#4d4d4d',
|
||||
\ 'grey30': '#4d4d4d',
|
||||
\ 'gray31': '#4f4f4f',
|
||||
\ 'grey31': '#4f4f4f',
|
||||
\ 'gray32': '#525252',
|
||||
\ 'grey32': '#525252',
|
||||
\ 'gray33': '#545454',
|
||||
\ 'grey33': '#545454',
|
||||
\ 'gray34': '#575757',
|
||||
\ 'grey34': '#575757',
|
||||
\ 'gray35': '#595959',
|
||||
\ 'grey35': '#595959',
|
||||
\ 'gray36': '#5c5c5c',
|
||||
\ 'grey36': '#5c5c5c',
|
||||
\ 'gray37': '#5e5e5e',
|
||||
\ 'grey37': '#5e5e5e',
|
||||
\ 'gray38': '#616161',
|
||||
\ 'grey38': '#616161',
|
||||
\ 'gray39': '#636363',
|
||||
\ 'grey39': '#636363',
|
||||
\ 'gray40': '#666666',
|
||||
\ 'grey40': '#666666',
|
||||
\ 'gray41': '#696969',
|
||||
\ 'grey41': '#696969',
|
||||
\ 'gray42': '#6b6b6b',
|
||||
\ 'grey42': '#6b6b6b',
|
||||
\ 'gray43': '#6e6e6e',
|
||||
\ 'grey43': '#6e6e6e',
|
||||
\ 'gray44': '#707070',
|
||||
\ 'grey44': '#707070',
|
||||
\ 'gray45': '#737373',
|
||||
\ 'grey45': '#737373',
|
||||
\ 'gray46': '#757575',
|
||||
\ 'grey46': '#757575',
|
||||
\ 'gray47': '#787878',
|
||||
\ 'grey47': '#787878',
|
||||
\ 'gray48': '#7a7a7a',
|
||||
\ 'grey48': '#7a7a7a',
|
||||
\ 'gray49': '#7d7d7d',
|
||||
\ 'grey49': '#7d7d7d',
|
||||
\ 'gray50': '#7f7f7f',
|
||||
\ 'grey50': '#7f7f7f',
|
||||
\ 'gray51': '#828282',
|
||||
\ 'grey51': '#828282',
|
||||
\ 'gray52': '#858585',
|
||||
\ 'grey52': '#858585',
|
||||
\ 'gray53': '#878787',
|
||||
\ 'grey53': '#878787',
|
||||
\ 'gray54': '#8a8a8a',
|
||||
\ 'grey54': '#8a8a8a',
|
||||
\ 'gray55': '#8c8c8c',
|
||||
\ 'grey55': '#8c8c8c',
|
||||
\ 'gray56': '#8f8f8f',
|
||||
\ 'grey56': '#8f8f8f',
|
||||
\ 'gray57': '#919191',
|
||||
\ 'grey57': '#919191',
|
||||
\ 'gray58': '#949494',
|
||||
\ 'grey58': '#949494',
|
||||
\ 'gray59': '#969696',
|
||||
\ 'grey59': '#969696',
|
||||
\ 'gray60': '#999999',
|
||||
\ 'grey60': '#999999',
|
||||
\ 'gray61': '#9c9c9c',
|
||||
\ 'grey61': '#9c9c9c',
|
||||
\ 'gray62': '#9e9e9e',
|
||||
\ 'grey62': '#9e9e9e',
|
||||
\ 'gray63': '#a1a1a1',
|
||||
\ 'grey63': '#a1a1a1',
|
||||
\ 'gray64': '#a3a3a3',
|
||||
\ 'grey64': '#a3a3a3',
|
||||
\ 'gray65': '#a6a6a6',
|
||||
\ 'grey65': '#a6a6a6',
|
||||
\ 'gray66': '#a8a8a8',
|
||||
\ 'grey66': '#a8a8a8',
|
||||
\ 'gray67': '#ababab',
|
||||
\ 'grey67': '#ababab',
|
||||
\ 'gray68': '#adadad',
|
||||
\ 'grey68': '#adadad',
|
||||
\ 'gray69': '#b0b0b0',
|
||||
\ 'grey69': '#b0b0b0',
|
||||
\ 'gray70': '#b3b3b3',
|
||||
\ 'grey70': '#b3b3b3',
|
||||
\ 'gray71': '#b5b5b5',
|
||||
\ 'grey71': '#b5b5b5',
|
||||
\ 'gray72': '#b8b8b8',
|
||||
\ 'grey72': '#b8b8b8',
|
||||
\ 'gray73': '#bababa',
|
||||
\ 'grey73': '#bababa',
|
||||
\ 'gray74': '#bdbdbd',
|
||||
\ 'grey74': '#bdbdbd',
|
||||
\ 'gray75': '#bfbfbf',
|
||||
\ 'grey75': '#bfbfbf',
|
||||
\ 'gray76': '#c2c2c2',
|
||||
\ 'grey76': '#c2c2c2',
|
||||
\ 'gray77': '#c4c4c4',
|
||||
\ 'grey77': '#c4c4c4',
|
||||
\ 'gray78': '#c7c7c7',
|
||||
\ 'grey78': '#c7c7c7',
|
||||
\ 'gray79': '#c9c9c9',
|
||||
\ 'grey79': '#c9c9c9',
|
||||
\ 'gray80': '#cccccc',
|
||||
\ 'grey80': '#cccccc',
|
||||
\ 'gray81': '#cfcfcf',
|
||||
\ 'grey81': '#cfcfcf',
|
||||
\ 'gray82': '#d1d1d1',
|
||||
\ 'grey82': '#d1d1d1',
|
||||
\ 'gray83': '#d4d4d4',
|
||||
\ 'grey83': '#d4d4d4',
|
||||
\ 'gray84': '#d6d6d6',
|
||||
\ 'grey84': '#d6d6d6',
|
||||
\ 'gray85': '#d9d9d9',
|
||||
\ 'grey85': '#d9d9d9',
|
||||
\ 'gray86': '#dbdbdb',
|
||||
\ 'grey86': '#dbdbdb',
|
||||
\ 'gray87': '#dedede',
|
||||
\ 'grey87': '#dedede',
|
||||
\ 'gray88': '#e0e0e0',
|
||||
\ 'grey88': '#e0e0e0',
|
||||
\ 'gray89': '#e3e3e3',
|
||||
\ 'grey89': '#e3e3e3',
|
||||
\ 'gray90': '#e5e5e5',
|
||||
\ 'grey90': '#e5e5e5',
|
||||
\ 'gray91': '#e8e8e8',
|
||||
\ 'grey91': '#e8e8e8',
|
||||
\ 'gray92': '#ebebeb',
|
||||
\ 'grey92': '#ebebeb',
|
||||
\ 'gray93': '#ededed',
|
||||
\ 'grey93': '#ededed',
|
||||
\ 'gray94': '#f0f0f0',
|
||||
\ 'grey94': '#f0f0f0',
|
||||
\ 'gray95': '#f2f2f2',
|
||||
\ 'grey95': '#f2f2f2',
|
||||
\ 'gray96': '#f5f5f5',
|
||||
\ 'grey96': '#f5f5f5',
|
||||
\ 'gray97': '#f7f7f7',
|
||||
\ 'grey97': '#f7f7f7',
|
||||
\ 'gray98': '#fafafa',
|
||||
\ 'grey98': '#fafafa',
|
||||
\ 'gray99': '#fcfcfc',
|
||||
\ 'grey99': '#fcfcfc',
|
||||
\ 'gray100': '#ffffff',
|
||||
\ 'grey100': '#ffffff',
|
||||
\ 'dark grey': '#a9a9a9',
|
||||
\ 'darkgrey': '#a9a9a9',
|
||||
\ 'dark gray': '#a9a9a9',
|
||||
\ 'darkgray': '#a9a9a9',
|
||||
\ 'dark blue': '#00008b',
|
||||
\ 'darkblue': '#00008b',
|
||||
\ 'dark cyan': '#008b8b',
|
||||
\ 'darkcyan': '#008b8b',
|
||||
\ 'dark magenta': '#8b008b',
|
||||
\ 'darkmagenta': '#8b008b',
|
||||
\ 'dark red': '#8b0000',
|
||||
\ 'darkred': '#8b0000',
|
||||
\ 'light green': '#90ee90',
|
||||
\ 'lightgreen': '#90ee90',
|
||||
\ 'crimson': '#dc143c',
|
||||
\ 'indigo': '#4b0082',
|
||||
\ 'olive': '#808000',
|
||||
\ 'rebecca purple': '#663399',
|
||||
\ 'rebeccapurple': '#663399',
|
||||
\ 'silver': '#c0c0c0',
|
||||
\ 'teal': '#008080'
|
||||
\ }, 'keep')
|
||||
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
"vim: sw=4
|
||||
@@ -226,7 +226,13 @@ fu! Result(err)
|
||||
endif
|
||||
endfu
|
||||
|
||||
call Test_check_colors()
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
try
|
||||
call Test_check_colors()
|
||||
catch
|
||||
echohl ErrorMsg
|
||||
echomsg v:exception
|
||||
echohl NONE
|
||||
finally
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
endtry
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" The default vimrc file.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last change: 2020 Sep 30
|
||||
" Last change: 2021 Nov 17
|
||||
"
|
||||
" This is loaded if no vimrc file was found.
|
||||
" Except when Vim is run with "-u NONE" or "-C".
|
||||
@@ -96,7 +96,7 @@ if 1
|
||||
filetype plugin indent on
|
||||
|
||||
" Put these in an autocmd group, so that you can revert them with:
|
||||
" ":augroup vimStartup | au! | augroup END"
|
||||
" ":augroup vimStartup | exe 'au!' | augroup END"
|
||||
augroup vimStartup
|
||||
au!
|
||||
|
||||
@@ -111,6 +111,18 @@ if 1
|
||||
|
||||
augroup END
|
||||
|
||||
" Quite a few people accidentally type "q:" instead of ":q" and get confused
|
||||
" by the command line window. Give a hint about how to get out.
|
||||
" If you don't like this you can put this in your vimrc:
|
||||
" ":augroup vimHints | exe 'au!' | augroup END"
|
||||
augroup vimHints
|
||||
au!
|
||||
autocmd CmdwinEnter *
|
||||
\ echohl Todo |
|
||||
\ echo 'You discovered the command-line window! You can close it with ":q".' |
|
||||
\ echohl None
|
||||
augroup END
|
||||
|
||||
endif
|
||||
|
||||
" Switch syntax highlighting on when the terminal has colors or when using the
|
||||
|
||||
@@ -16,6 +16,7 @@ include ../../src/auto/config.mk
|
||||
DOCS = \
|
||||
arabic.txt \
|
||||
autocmd.txt \
|
||||
builtin.txt \
|
||||
change.txt \
|
||||
channel.txt \
|
||||
cmdline.txt \
|
||||
@@ -161,6 +162,7 @@ DOCS = \
|
||||
HTMLS = \
|
||||
arabic.html \
|
||||
autocmd.html \
|
||||
builtin.html \
|
||||
change.html \
|
||||
channel.html \
|
||||
cmdline.html \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2021 Oct 04
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2022 Jan 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -51,10 +51,10 @@ effects. Be careful not to destroy your text.
|
||||
2. Defining autocommands *autocmd-define*
|
||||
|
||||
*:au* *:autocmd*
|
||||
:au[tocmd] [group] {event} {pat} [++once] [++nested] {cmd}
|
||||
:au[tocmd] [group] {event} {aupat} [++once] [++nested] {cmd}
|
||||
Add {cmd} to the list of commands that Vim will
|
||||
execute automatically on {event} for a file matching
|
||||
{pat} |autocmd-patterns|.
|
||||
{aupat} |autocmd-patterns|.
|
||||
Here {event} cannot be "*". *E1155*
|
||||
Note: A quote character is seen as argument to the
|
||||
:autocmd and won't start a comment.
|
||||
@@ -83,7 +83,7 @@ triggered.
|
||||
}
|
||||
|
||||
Note: The ":autocmd" command can only be followed by another command when the
|
||||
'|' appears before {cmd}. This works: >
|
||||
'|' appears where the pattern is expected. This works: >
|
||||
:augroup mine | au! BufRead | augroup END
|
||||
But this sees "augroup" as part of the defined command: >
|
||||
:augroup mine | au! BufRead * | augroup END
|
||||
@@ -145,19 +145,19 @@ prompt. When one command outputs two messages this can happen anyway.
|
||||
==============================================================================
|
||||
3. Removing autocommands *autocmd-remove*
|
||||
|
||||
:au[tocmd]! [group] {event} {pat} [++once] [++nested] {cmd}
|
||||
:au[tocmd]! [group] {event} {aupat} [++once] [++nested] {cmd}
|
||||
Remove all autocommands associated with {event} and
|
||||
{pat}, and add the command {cmd}.
|
||||
{aupat}, and add the command {cmd}.
|
||||
See |autocmd-once| for [++once].
|
||||
See |autocmd-nested| for [++nested].
|
||||
|
||||
:au[tocmd]! [group] {event} {pat}
|
||||
:au[tocmd]! [group] {event} {aupat}
|
||||
Remove all autocommands associated with {event} and
|
||||
{pat}.
|
||||
{aupat}.
|
||||
|
||||
:au[tocmd]! [group] * {pat}
|
||||
Remove all autocommands associated with {pat} for all
|
||||
events.
|
||||
:au[tocmd]! [group] * {aupat}
|
||||
Remove all autocommands associated with {aupat} for
|
||||
all events.
|
||||
|
||||
:au[tocmd]! [group] {event}
|
||||
Remove ALL autocommands for {event}.
|
||||
@@ -177,12 +177,12 @@ with ":augroup"); otherwise, Vim uses the group defined with [group].
|
||||
==============================================================================
|
||||
4. Listing autocommands *autocmd-list*
|
||||
|
||||
:au[tocmd] [group] {event} {pat}
|
||||
:au[tocmd] [group] {event} {aupat}
|
||||
Show the autocommands associated with {event} and
|
||||
{pat}.
|
||||
{aupat}.
|
||||
|
||||
:au[tocmd] [group] * {pat}
|
||||
Show the autocommands associated with {pat} for all
|
||||
:au[tocmd] [group] * {aupat}
|
||||
Show the autocommands associated with {aupat} for all
|
||||
events.
|
||||
|
||||
:au[tocmd] [group] {event}
|
||||
@@ -348,6 +348,7 @@ Name triggered by ~
|
||||
|
||||
|WinNew| after creating a new window
|
||||
|TabNew| after creating a new tab page
|
||||
|WinClosed| after closing a window
|
||||
|TabClosed| after closing a tab page
|
||||
|WinEnter| after entering another window
|
||||
|WinLeave| before leaving a window
|
||||
@@ -708,7 +709,7 @@ EncodingChanged Fires off after the 'encoding' option has been
|
||||
*FileAppendCmd*
|
||||
FileAppendCmd Before appending to a file. Should do the
|
||||
appending to the file. Use the '[ and ']
|
||||
marks for the range of lines.|Cmd-event|
|
||||
marks for the range of lines. |Cmd-event|
|
||||
*FileAppendPost*
|
||||
FileAppendPost After appending to a file.
|
||||
*FileAppendPre*
|
||||
@@ -836,7 +837,7 @@ FilterReadPre Before reading a file from a filter command.
|
||||
*FilterWritePost*
|
||||
FilterWritePost After writing a file for a filter command or
|
||||
making a diff with an external diff (see
|
||||
DiffUpdated for internal diff).
|
||||
|DiffUpdated| for internal diff).
|
||||
Vim checks the pattern against the name of
|
||||
the current buffer as with FilterWritePre.
|
||||
Not triggered when 'shelltemp' is off.
|
||||
@@ -930,18 +931,23 @@ MenuPopup Just before showing the popup menu (under the
|
||||
*ModeChanged*
|
||||
ModeChanged After changing the mode. The pattern is
|
||||
matched against `'old_mode:new_mode'`, for
|
||||
example match against `i:*` to simulate
|
||||
|InsertLeave|.
|
||||
example match against `*:c*` to simulate
|
||||
|CmdlineEnter|.
|
||||
The following values of |v:event| are set:
|
||||
old_mode The mode before it changed.
|
||||
new_mode The new mode as also returned
|
||||
by |mode()|.
|
||||
by |mode()| called with a
|
||||
non-zero argument.
|
||||
When ModeChanged is triggered, old_mode will
|
||||
have the value of new_mode when the event was
|
||||
last triggered.
|
||||
This will be triggered on every minor mode
|
||||
change.
|
||||
Usage example to use relative line numbers
|
||||
when entering Visual mode: >
|
||||
:autocmd ModeChanged *:v set relativenumber
|
||||
:au ModeChanged [vV\x16]*:* let &l:rnu = mode() =~# '^[vV\x16]'
|
||||
:au ModeChanged *:[vV\x16]* let &l:rnu = mode() =~# '^[vV\x16]'
|
||||
:au WinEnter,WinLeave * let &l:rnu = mode() =~# '^[vV\x16]'
|
||||
< *OptionSet*
|
||||
OptionSet After setting an option. The pattern is
|
||||
matched against the long option name.
|
||||
@@ -1195,9 +1201,9 @@ TextYankPost After text has been yanked or deleted in the
|
||||
register, as a list of lines,
|
||||
like with: >
|
||||
getreg(r, 1, 1)
|
||||
< regname Name of the |register| or
|
||||
empty string for the unnamed
|
||||
register.
|
||||
< regname Name of the register or empty
|
||||
string for the unnamed
|
||||
register, see |registers|.
|
||||
regtype Type of the register, see
|
||||
|getregtype()|.
|
||||
visual True if the operation is
|
||||
@@ -1205,7 +1211,7 @@ TextYankPost After text has been yanked or deleted in the
|
||||
Not triggered when |quote_| is used nor when
|
||||
called recursively.
|
||||
It is not allowed to change the buffer text,
|
||||
see |textlock|.
|
||||
see |textlock|. *E1064*
|
||||
{only when compiled with the +eval feature}
|
||||
|
||||
*User*
|
||||
@@ -1273,8 +1279,14 @@ VimResume When the Vim instance is resumed after being
|
||||
:autocmd VimResume * checktime
|
||||
< *VimSuspend*
|
||||
VimSuspend When the Vim instance is suspended. Only when
|
||||
CTRL-Z was typed inside Vim, not when the
|
||||
SIGSTOP or SIGTSTP signal was sent to Vim.
|
||||
CTRL-Z was typed inside Vim, or when the SIGTSTP
|
||||
signal was sent to Vim, but not for SIGSTOP.
|
||||
*WinClosed*
|
||||
WinClosed After closing a window. The pattern is
|
||||
matched against the |window-ID|. Both
|
||||
<amatch> and <afile> are set to the
|
||||
|window-ID|. Non-recursive (event cannot
|
||||
trigger itself).
|
||||
*WinEnter*
|
||||
WinEnter After entering another window. Not done for
|
||||
the first window, when Vim has just started.
|
||||
@@ -1299,16 +1311,16 @@ WinNew When a new window was created. Not done for
|
||||
Before a WinEnter event.
|
||||
|
||||
==============================================================================
|
||||
6. Patterns *autocmd-patterns* *{pat}*
|
||||
6. Patterns *autocmd-patterns* *{aupat}*
|
||||
|
||||
The {pat} argument can be a comma separated list. This works as if the
|
||||
command was given with each pattern separately. Thus this command: >
|
||||
The {aupat} argument of `:autocmd` can be a comma separated list. This works as
|
||||
if the command was given with each pattern separately. Thus this command: >
|
||||
:autocmd BufRead *.txt,*.info set et
|
||||
Is equivalent to: >
|
||||
:autocmd BufRead *.txt set et
|
||||
:autocmd BufRead *.info set et
|
||||
|
||||
The file pattern {pat} is tested for a match against the file name in one of
|
||||
The file pattern {aupat} is tested for a match against the file name in one of
|
||||
two ways:
|
||||
1. When there is no '/' in the pattern, Vim checks for a match against only
|
||||
the tail part of the file name (without its leading directory path).
|
||||
|
||||
10176
runtime/doc/builtin.txt
Normal file
10176
runtime/doc/builtin.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 8.2. Last change: 2021 Jun 23
|
||||
*change.txt* For Vim version 8.2. Last change: 2022 Jan 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -259,6 +259,9 @@ Or use "caw" (see |aw|).
|
||||
line.
|
||||
Adding [!] toggles 'autoindent' for the time this
|
||||
command is executed.
|
||||
This command is not supported in |Vim9| script,
|
||||
because it is too easily confused with a variable
|
||||
name.
|
||||
|
||||
==============================================================================
|
||||
3. Simple changes *simple-change*
|
||||
@@ -1173,10 +1176,13 @@ register. With blockwise selection it also depends on the size of the block
|
||||
and whether the corners are on an existing character. (Implementation detail:
|
||||
it actually works by first putting the register after the selection and then
|
||||
deleting the selection.)
|
||||
The previously selected text is put in the unnamed register. If you want to
|
||||
put the same text into a Visual selection several times you need to use
|
||||
With 'p' the previously selected text is put in the unnamed register. This is
|
||||
useful if you want to put that text somewhere else. But you cannot repeat the
|
||||
same change.
|
||||
With 'P' the unnamed register is not changed, you can repeat the same change.
|
||||
But the deleted text cannot be used. If you do need it you can use 'p' with
|
||||
another register. E.g., yank the text to copy, Visually select the text to
|
||||
replace and use "0p . You can repeat this as many times as you like, the
|
||||
replace and use "0p . You can repeat this as many times as you like, and the
|
||||
unnamed register will be changed each time.
|
||||
|
||||
When you use a blockwise Visual mode command and yank only a single line into
|
||||
@@ -1184,9 +1190,6 @@ a register, a paste on a visual selected area will paste that single line on
|
||||
each of the selected lines (thus replacing the blockwise selected region by a
|
||||
block of the pasted line).
|
||||
|
||||
Use |zP|/|zp| to paste a blockwise yanked register without appending trailing
|
||||
spaces.
|
||||
|
||||
*blockwise-register*
|
||||
If you use a blockwise Visual mode command to get the text into the register,
|
||||
the block of text will be inserted before ("P") or after ("p") the cursor
|
||||
@@ -1197,6 +1200,9 @@ this happen. However, if the width of the block is not a multiple of a <Tab>
|
||||
width and the text after the inserted block contains <Tab>s, that text may be
|
||||
misaligned.
|
||||
|
||||
Use |zP|/|zp| to paste a blockwise yanked register without appending trailing
|
||||
spaces.
|
||||
|
||||
Note that after a characterwise yank command, Vim leaves the cursor on the
|
||||
first yanked character that is closest to the start of the buffer. This means
|
||||
that "yl" doesn't move the cursor, but "yh" moves the cursor one character
|
||||
@@ -1374,6 +1380,9 @@ The next three commands always work on whole lines.
|
||||
|
||||
*:t*
|
||||
:t Synonym for copy.
|
||||
This command is not supported in |Vim9| script,
|
||||
because it is too easily confused with a variable
|
||||
name.
|
||||
|
||||
:[range]m[ove] {address} *:m* *:mo* *:move* *E134*
|
||||
Move the lines given by [range] to below the line
|
||||
@@ -1671,7 +1680,8 @@ r Automatically insert the current comment leader after hitting
|
||||
<Enter> in Insert mode.
|
||||
*fo-o*
|
||||
o Automatically insert the current comment leader after hitting 'o' or
|
||||
'O' in Normal mode.
|
||||
'O' in Normal mode. In case comment is unwanted in a specific place
|
||||
use CTRL-U to quickly delete it. |i_CTRL-U|
|
||||
*fo-q*
|
||||
q Allow formatting of comments with "gq".
|
||||
Note that formatting will not change blank lines or lines containing
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*channel.txt* For Vim version 8.2. Last change: 2020 Oct 17
|
||||
*channel.txt* For Vim version 8.2. Last change: 2021 Nov 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -101,7 +101,7 @@ Instead of giving a callback with every send call, it can also be specified
|
||||
when opening the channel: >
|
||||
call ch_close(channel)
|
||||
let channel = ch_open('localhost:8765', {'callback': "MyHandler"})
|
||||
call ch_sendexpr(channel, 'hello!')
|
||||
call ch_sendexpr(channel, 'hello channel!')
|
||||
|
||||
When trying out channels it's useful to see what is going on. You can tell
|
||||
Vim to write lines in log file: >
|
||||
@@ -132,8 +132,9 @@ When using an IPv6 address, enclose it within square brackets. E.g.,
|
||||
"raw" - Use raw messages
|
||||
*channel-callback* *E921*
|
||||
"callback" A function that is called when a message is received that is
|
||||
not handled otherwise. It gets two arguments: the channel
|
||||
and the received message. Example: >
|
||||
not handled otherwise (e.g. a JSON message with ID zero). It
|
||||
gets two arguments: the channel and the received message.
|
||||
Example: >
|
||||
func Handle(channel, msg)
|
||||
echo 'Received: ' . a:msg
|
||||
endfunc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2021 Aug 06
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2022 Jan 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -705,6 +705,15 @@ Some Ex commands accept a line range in front of them. This is noted as
|
||||
|
||||
The basics are explained in section |10.3| of the user manual.
|
||||
|
||||
In |Vim9| script a range needs to be prefixed with a colon to avoid ambiguity
|
||||
with continuation lines. For example, "+" can be used for a range but is also
|
||||
a continuation of an expression: >
|
||||
var result = start
|
||||
+ print
|
||||
If the "+" is a range then it must be prefixed with a colon: >
|
||||
var result = start
|
||||
:+ print
|
||||
<
|
||||
*:,* *:;*
|
||||
When separated with ';' the cursor position will be set to that line
|
||||
before interpreting the next line specifier. This doesn't happen for ','.
|
||||
@@ -739,7 +748,8 @@ Line numbers may be specified with: *:range* *{address}*
|
||||
|
||||
Each may be followed (several times) by '+' or '-' and an optional number.
|
||||
This number is added or subtracted from the preceding line number. If the
|
||||
number is omitted, 1 is used.
|
||||
number is omitted, 1 is used. If there is nothing before the '+' or '-' then
|
||||
the current line is used.
|
||||
|
||||
The "/" and "?" after {pattern} are required to separate the pattern from
|
||||
anything that follows.
|
||||
@@ -769,7 +779,7 @@ Some commands allow for a count after the command. This count is used as the
|
||||
number of lines to be used, starting with the line given in the last line
|
||||
specifier (the default is the cursor line). The commands that accept a count
|
||||
are the ones that use a range but do not have a file name argument (because
|
||||
a file name can also be a number).
|
||||
a file name can also be a number). The count cannot be negative.
|
||||
|
||||
Examples: >
|
||||
:s/x/X/g 5 substitute 'x' by 'X' in the current line and four
|
||||
@@ -803,7 +813,7 @@ three lines: >
|
||||
3:d<CR> is translated into: .,.+2d<CR>
|
||||
<
|
||||
|
||||
Visual Mode and Range
|
||||
Visual Mode and Range
|
||||
*v_:*
|
||||
{Visual}: Starts a command-line with the Visual selected lines as a
|
||||
range. The code `:'<,'>` is used for this range, which makes
|
||||
@@ -919,15 +929,19 @@ Note: these are typed literally, they are not special keys!
|
||||
*:<amatch>* *<amatch>*
|
||||
<amatch> When executing autocommands, is replaced with the match for
|
||||
which this autocommand was executed. *E497*
|
||||
It differs from <afile> only when the file name isn't used
|
||||
to match with (for FileType, Syntax and SpellFileMissing
|
||||
It differs from <afile> when the file name isn't used to
|
||||
match with (for FileType, Syntax and SpellFileMissing
|
||||
events).
|
||||
When the match is with a file name, it is expanded to the
|
||||
full path.
|
||||
*:<sfile>* *<sfile>*
|
||||
<sfile> When executing a ":source" command, is replaced with the
|
||||
file name of the sourced file. *E498*
|
||||
When executing a function, is replaced with the call stack,
|
||||
as with <stack> (this is for backwards compatibility, using
|
||||
<stack> is preferred).
|
||||
When executing a legacy function, is replaced with the call
|
||||
stack, as with <stack> (this is for backwards
|
||||
compatibility, using <stack> is preferred).
|
||||
In Vim9 script using <sfile> in a function gives error
|
||||
*E1245* .
|
||||
Note that filename-modifiers are useless when <sfile> is
|
||||
not used inside a script.
|
||||
*:<stack>* *<stack>*
|
||||
@@ -936,6 +950,7 @@ Note: these are typed literally, they are not special keys!
|
||||
and "script {file-name}[{lnum}]" for a script line, and
|
||||
".." in between items. E.g.:
|
||||
"function {function-name1}[{lnum}]..{function-name2}[{lnum}]"
|
||||
If there is no call stack you get error *E489* .
|
||||
*:<slnum>* *<slnum>*
|
||||
<slnum> When executing a ":source" command, is replaced with the
|
||||
line number. *E842*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*diff.txt* For Vim version 8.2. Last change: 2021 May 24
|
||||
*diff.txt* For Vim version 8.2. Last change: 2022 Jan 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -335,8 +335,9 @@ After setting this variable, reload the syntax script: >
|
||||
|
||||
FINDING THE DIFFERENCES *diff-diffexpr*
|
||||
|
||||
The 'diffexpr' option can be set to use something else than the standard
|
||||
"diff" program to compare two files and find the differences. *E959*
|
||||
The 'diffexpr' option can be set to use something else than the internal diff
|
||||
support or the standard "diff" program to compare two files and find the
|
||||
differences. *E959*
|
||||
|
||||
When 'diffexpr' is empty, Vim uses this command to find the differences
|
||||
between file1 and file2: >
|
||||
@@ -369,7 +370,7 @@ format mentioned. These variables are set to the file names used:
|
||||
|
||||
v:fname_in original file
|
||||
v:fname_new new version of the same file
|
||||
v:fname_out resulting diff file
|
||||
v:fname_out where to write the resulting diff file
|
||||
|
||||
Additionally, 'diffexpr' should take care of "icase" and "iwhite" in the
|
||||
'diffopt' option. 'diffexpr' cannot change the value of 'lines' and
|
||||
@@ -398,6 +399,13 @@ mode, so that a CTRL-Z doesn't end the text on DOS.
|
||||
The `redraw!` command may not be needed, depending on whether executing a
|
||||
shell command shows something on the display or not.
|
||||
|
||||
If the 'diffexpr' expression starts with s: or |<SID>|, then it is replaced
|
||||
with the script ID (|local-function|). Example: >
|
||||
set diffexpr=s:MyDiffExpr()
|
||||
set diffexpr=<SID>SomeDiffExpr()
|
||||
Otherwise, the expression is evaluated in the context of the script where the
|
||||
option was set, thus script-local items are available.
|
||||
|
||||
*E810* *E97*
|
||||
Vim will do a test if the diff output looks alright. If it doesn't, you will
|
||||
get an error message. Possible causes:
|
||||
@@ -449,4 +457,12 @@ evaluating 'patchexpr'. This hopefully avoids that files in the current
|
||||
directory are accidentally patched. Vim will also delete files starting with
|
||||
v:fname_in and ending in ".rej" and ".orig".
|
||||
|
||||
If the 'patchexpr' expression starts with s: or |<SID>|, then it is replaced
|
||||
with the script ID (|local-function|). Example: >
|
||||
set patchexpr=s:MyPatchExpr()
|
||||
set patchexpr=<SID>SomePatchExpr()
|
||||
Otherwise, the expression is evaluated in the context of the script where the
|
||||
option was set, thus script-local items are available.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -351,8 +351,8 @@ $ DO 0x24 36 DOLLAR SIGN
|
||||
þ th 0xfe 254 LATIN SMALL LETTER THORN (Icelandic)
|
||||
ÿ y: 0xff 255 LATIN SMALL LETTER Y WITH DIAERESIS
|
||||
|
||||
If your Vim is compiled with |multibyte| support and you are using a multibyte
|
||||
'encoding', Vim provides this enhanced set of additional digraphs:
|
||||
If you are using a |multibyte| 'encoding', Vim provides this enhanced set of
|
||||
additional digraphs:
|
||||
|
||||
*digraph-table-mbyte*
|
||||
char digraph hex dec official name ~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 8.2. Last change: 2021 Oct 04
|
||||
*editing.txt* For Vim version 8.2. Last change: 2022 Jan 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -433,7 +433,7 @@ This also works for most other systems, with the restriction that the
|
||||
backticks must be around the whole item. It is not possible to have text
|
||||
directly before the first or just after the last backtick.
|
||||
|
||||
*`=*
|
||||
*`=* *E1083*
|
||||
You can have the backticks expanded as a Vim expression, instead of as an
|
||||
external command, by putting an equal sign right after the first backtick,
|
||||
e.g.: >
|
||||
@@ -650,12 +650,19 @@ list of the current window.
|
||||
And after the last one:
|
||||
:+2argadd y a b c x y
|
||||
There is no check for duplicates, it is possible to
|
||||
add a file to the argument list twice.
|
||||
The currently edited file is not changed.
|
||||
add a file to the argument list twice. You can use
|
||||
|:argdedupe| to fix it afterwards: >
|
||||
:argadd *.txt | argdedupe
|
||||
< The currently edited file is not changed.
|
||||
Note: you can also use this method: >
|
||||
:args ## x
|
||||
< This will add the "x" item and sort the new list.
|
||||
|
||||
:argded[upe] *:argded* *:argdedupe*
|
||||
Remove duplicate filenames from the argument list.
|
||||
If your current file is a duplicate, your current file
|
||||
will change to the original file index.
|
||||
|
||||
:argd[elete] {pattern} .. *:argd* *:argdelete* *E480* *E610*
|
||||
Delete files from the argument list that match the
|
||||
{pattern}s. {pattern} is used like a file pattern,
|
||||
@@ -883,7 +890,7 @@ Note: When the 'write' option is off, you are not able to write any file.
|
||||
|
||||
*:w* *:write*
|
||||
*E502* *E503* *E504* *E505*
|
||||
*E512* *E514* *E667* *E796* *E949*
|
||||
*E512* *E514* *E667* *E949*
|
||||
:w[rite] [++opt] Write the whole buffer to the current file. This is
|
||||
the normal way to save changes to a file. It fails
|
||||
when the 'readonly' option is set or when there is
|
||||
@@ -1140,6 +1147,9 @@ The names can be in upper- or lowercase.
|
||||
made.
|
||||
When 'hidden' is set and there are more windows, the
|
||||
current buffer becomes hidden, after writing the file.
|
||||
This command is not supported in |Vim9| script,
|
||||
because it is too easily confused with a variable
|
||||
name.
|
||||
|
||||
*:exi* *:exit*
|
||||
:[range]exi[t][!] [++opt] [file]
|
||||
@@ -1298,11 +1308,12 @@ Changing directory fails when the current buffer is modified, the '.' flag is
|
||||
present in 'cpoptions' and "!" is not used in the command.
|
||||
|
||||
*:cd* *E747* *E472*
|
||||
:cd[!] On non-Unix systems: Print the current directory
|
||||
name. On Unix systems: Change the current directory
|
||||
to the home directory. Use |:pwd| to print the
|
||||
current directory on all systems.
|
||||
On Unix systems: clear any window-local directory.
|
||||
:cd[!] On non-Unix systems when 'cdhome' is off: Print the
|
||||
current directory name.
|
||||
Otherwise: Change the current directory to the home
|
||||
directory. Clear any window-local directory.
|
||||
Use |:pwd| to print the current directory on all
|
||||
systems.
|
||||
|
||||
:cd[!] {path} Change the current directory to {path}.
|
||||
If {path} is relative, it is searched for in the
|
||||
@@ -1329,26 +1340,26 @@ present in 'cpoptions' and "!" is not used in the command.
|
||||
other tabs and for windows in the current tab that
|
||||
have their own window-local directory.
|
||||
|
||||
*:tch* *:tchdir*
|
||||
:tch[dir][!] Same as |:tcd|.
|
||||
|
||||
*:tcd-*
|
||||
:tc[d][!] - Change to the previous current directory, before the
|
||||
last ":tcd {path}" command.
|
||||
|
||||
*:tch* *:tchdir*
|
||||
:tch[dir][!] Same as |:tcd|.
|
||||
|
||||
*:lc* *:lcd*
|
||||
:lc[d][!] {path} Like |:cd|, but only set the current directory when
|
||||
the cursor is in the current window. The current
|
||||
directory for other windows is not changed, switching
|
||||
to another window will stop using {path}.
|
||||
|
||||
*:lch* *:lchdir*
|
||||
:lch[dir][!] Same as |:lcd|.
|
||||
|
||||
*:lcd-*
|
||||
:lcd[!] - Change to the previous current directory, before the
|
||||
last ":lcd {path}" command.
|
||||
|
||||
*:lch* *:lchdir*
|
||||
:lch[dir][!] Same as |:lcd|.
|
||||
|
||||
*:pw* *:pwd* *E187*
|
||||
:pw[d] Print the current directory name.
|
||||
Also see |getcwd()|.
|
||||
@@ -1375,14 +1386,15 @@ change anything for the current directory.
|
||||
When a |:lcd| command has been used for a window, the specified directory
|
||||
becomes the current directory for that window. Windows where the |:lcd|
|
||||
command has not been used stick to the global or tab-local current directory.
|
||||
When jumping to another window the current directory will become the last
|
||||
When jumping to another window the current directory is changed to the last
|
||||
specified local current directory. If none was specified, the global or
|
||||
tab-local current directory is used.
|
||||
tab-local current directory is used. When creating a new window it inherits
|
||||
the local directory of the current window.
|
||||
|
||||
When a |:tcd| command has been used for a tab page, the specified directory
|
||||
becomes the current directory for the current tab page and the current window.
|
||||
The current directory of other tab pages is not affected. When jumping to
|
||||
another tab page, the current directory will become the last specified local
|
||||
another tab page, the current directory is changed to the last specified local
|
||||
directory for that tab page. If the current tab has no local current directory
|
||||
the global current directory is used.
|
||||
|
||||
@@ -1676,6 +1688,11 @@ It is also possible that you modified the file yourself, from another edit
|
||||
session or with another command (e.g., a filter command). Then you will know
|
||||
which version of the file you want to keep.
|
||||
|
||||
The accuracy of the time check depends on the filesystem. On Unix it is
|
||||
usually sub-second. With old file sytems and on MS-Windows it is normally one
|
||||
second. Use has('nanotime') check if sub-second time stamp checks are
|
||||
available.
|
||||
|
||||
There is one situation where you get the message while there is nothing wrong:
|
||||
On a Win32 system on the day daylight saving time starts. There is something
|
||||
in the Win32 libraries that confuses Vim about the hour time difference. The
|
||||
@@ -1754,7 +1771,7 @@ There are three different types of searching:
|
||||
/u/user_x/work/include
|
||||
/u/user_x/include
|
||||
|
||||
< Note: If your 'path' setting includes an non-existing directory, Vim will
|
||||
< Note: If your 'path' setting includes a non-existing directory, Vim will
|
||||
skip the non-existing directory, but continues searching in the parent of
|
||||
the non-existing directory if upwards searching is used. E.g. when
|
||||
searching "../include" and that doesn't exist, and upward searching is
|
||||
|
||||
10411
runtime/doc/eval.txt
10411
runtime/doc/eval.txt
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
*filetype.txt* For Vim version 8.2. Last change: 2021 Sep 22
|
||||
*filetype.txt* For Vim version 8.2. Last change: 2022 Jan 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -133,24 +133,26 @@ shell script: "#!/bin/csh".
|
||||
argument was used.
|
||||
|
||||
*filetype-overrule*
|
||||
When the same extension is used for two filetypes, Vim tries to guess what
|
||||
kind of file it is. This doesn't always work. A number of global variables
|
||||
can be used to overrule the filetype used for certain extensions:
|
||||
When the same extension is used for multiple filetypes, Vim tries to guess
|
||||
what kind of file it is. This doesn't always work. A number of global
|
||||
variables can be used to overrule the filetype used for certain extensions:
|
||||
|
||||
file name variable ~
|
||||
*.asa g:filetype_asa |ft-aspvbs-syntax| |ft-aspperl-syntax|
|
||||
*.asp g:filetype_asp |ft-aspvbs-syntax| |ft-aspperl-syntax|
|
||||
*.asm g:asmsyntax |ft-asm-syntax|
|
||||
*.prg g:filetype_prg
|
||||
*.pl g:filetype_pl
|
||||
*.inc g:filetype_inc
|
||||
*.w g:filetype_w |ft-cweb-syntax|
|
||||
*.asp g:filetype_asp |ft-aspvbs-syntax| |ft-aspperl-syntax|
|
||||
*.bas g:filetype_bas |ft-basic-syntax|
|
||||
*.fs g:filetype_fs |ft-forth-syntax|
|
||||
*.i g:filetype_i |ft-progress-syntax|
|
||||
*.inc g:filetype_inc
|
||||
*.m g:filetype_m |ft-mathematica-syntax|
|
||||
*.p g:filetype_p |ft-pascal-syntax|
|
||||
*.pl g:filetype_pl
|
||||
*.pp g:filetype_pp |ft-pascal-syntax|
|
||||
*.prg g:filetype_prg
|
||||
*.sh g:bash_is_sh |ft-sh-syntax|
|
||||
*.tex g:tex_flavor |ft-tex-plugin|
|
||||
*.w g:filetype_w |ft-cweb-syntax|
|
||||
|
||||
*filetype-ignore*
|
||||
To avoid that certain files are being inspected, the g:ft_ignore_pat variable
|
||||
@@ -357,12 +359,12 @@ define yourself. There are a few ways to avoid this:
|
||||
You need to define your own mapping before the plugin is loaded (before
|
||||
editing a file of that type). The plugin will then skip installing the
|
||||
default mapping.
|
||||
*no_mail_maps*
|
||||
*no_mail_maps* *g:no_mail_maps*
|
||||
3. Disable defining mappings for a specific filetype by setting a variable,
|
||||
which contains the name of the filetype. For the "mail" filetype this
|
||||
would be: >
|
||||
:let no_mail_maps = 1
|
||||
< *no_plugin_maps*
|
||||
< *no_plugin_maps* *g:no_plugin_maps*
|
||||
4. Disable defining mappings for all filetypes by setting a variable: >
|
||||
:let no_plugin_maps = 1
|
||||
<
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*fold.txt* For Vim version 8.2. Last change: 2021 Jul 13
|
||||
*fold.txt* For Vim version 8.2. Last change: 2022 Jan 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -121,6 +121,11 @@ method can be very slow!
|
||||
Try to avoid the "=", "a" and "s" return values, since Vim often has to search
|
||||
backwards for a line for which the fold level is defined. This can be slow.
|
||||
|
||||
If the 'foldexpr' expression starts with s: or |<SID>|, then it is replaced
|
||||
with the script ID (|local-function|). Examples: >
|
||||
set foldexpr=s:MyFoldExpr()
|
||||
set foldexpr=<SID>SomeFoldExpr()
|
||||
<
|
||||
An example of using "a1" and "s1": For a multi-line C comment, a line
|
||||
containing "/*" would return "a1" to start a fold, and a line containing "*/"
|
||||
would return "s1" to end the fold after that line: >
|
||||
@@ -506,7 +511,10 @@ Note the use of backslashes to avoid some characters to be interpreted by the
|
||||
:endfunction
|
||||
|
||||
Evaluating 'foldtext' is done in the |sandbox|. The current window is set to
|
||||
the window that displays the line. Errors are ignored.
|
||||
the window that displays the line. The context is set to the script where the
|
||||
option was last set.
|
||||
|
||||
Errors are ignored. For debugging set the 'debug' option to "throw".
|
||||
|
||||
The default value is |foldtext()|. This returns a reasonable text for most
|
||||
types of folding. If you don't like it, you can specify your own 'foldtext'
|
||||
@@ -524,6 +532,11 @@ The resulting line is truncated to fit in the window, it never wraps.
|
||||
When there is room after the text, it is filled with the character specified
|
||||
by 'fillchars'.
|
||||
|
||||
If the 'foldtext' expression starts with s: or |<SID>|, then it is replaced
|
||||
with the script ID (|local-function|). Examples: >
|
||||
set foldtext=s:MyFoldText()
|
||||
set foldtext=<SID>SomeFoldText()
|
||||
<
|
||||
Note that backslashes need to be used for characters that the ":set" command
|
||||
handles differently: Space, backslash and double-quote. |option-backslash|
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui_w32.txt* For Vim version 8.2. Last change: 2021 Apr 05
|
||||
*gui_w32.txt* For Vim version 8.2. Last change: 2021 Oct 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -323,20 +323,10 @@ These extra colors are also available:
|
||||
Gray, Grey, LightYellow, SeaGreen, Orange, Purple, SlateBlue, Violet,
|
||||
|
||||
*rgb.txt*
|
||||
Additionally, colors defined by a "rgb.txt" file can be used. This file is
|
||||
well known from X11. A few lines from it: >
|
||||
|
||||
255 218 185 peach puff
|
||||
205 133 63 peru
|
||||
255 181 197 pink
|
||||
|
||||
This shows the layout of the file: First the R, G and B value as a decimal
|
||||
number, followed by the name of the color. The four fields are separated by
|
||||
spaces.
|
||||
|
||||
You can get an rgb.txt file from any X11 distribution. It is located in a
|
||||
directory like "/usr/X11R6/lib/X11/". For Vim it must be located in the
|
||||
$VIMRUNTIME directory. Thus the file can be found with "$VIMRUNTIME/rgb.txt".
|
||||
Additionally, colors defined by a default color list can be used. For more
|
||||
info see |:colorscheme|. These colors used to be defined in
|
||||
$VIMRUNTIME/rgb.txt, now they are in |v:colornames| which is initialized from
|
||||
$VIMRUNTIME/colors/lists/default.vim.
|
||||
|
||||
==============================================================================
|
||||
*gui-w32-dialogs* *dialog*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*help.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
*help.txt* For Vim version 8.2. Last change: 2021 Dec 27
|
||||
|
||||
VIM - main help file
|
||||
k
|
||||
@@ -88,6 +88,7 @@ Tuning Vim ~
|
||||
|usr_43.txt| Using filetypes
|
||||
|usr_44.txt| Your own syntax highlighted
|
||||
|usr_45.txt| Select your language
|
||||
|usr_46.txt| Write plugins using Vim9 script
|
||||
|
||||
Making Vim Run ~
|
||||
|usr_90.txt| Installing Vim
|
||||
@@ -135,6 +136,7 @@ Advanced editing ~
|
||||
|diff.txt| working with two to eight versions of the same file
|
||||
|autocmd.txt| automatically executing commands on an event
|
||||
|eval.txt| expression evaluation, conditional commands
|
||||
|builtin.txt| builtin functions
|
||||
|channel.txt| Jobs, Channels, inter-process communication
|
||||
|fold.txt| hide (fold) ranges of lines
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*helphelp.txt* For Vim version 8.2. Last change: 2020 Dec 29
|
||||
*helphelp.txt* For Vim version 8.2. Last change: 2022 Jan 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -163,7 +163,7 @@ If you would like to open the help in the current window, see this tip:
|
||||
|
||||
The initial height of the help window can be set with the 'helpheight' option
|
||||
(default 20).
|
||||
|
||||
*help-buffer-options*
|
||||
When the help buffer is created, several local options are set to make sure
|
||||
the help text is displayed as it was intended:
|
||||
'iskeyword' nearly all ASCII chars except ' ', '*', '"' and '|'
|
||||
@@ -224,7 +224,7 @@ command: >
|
||||
dialog. {only when compiled with |+GUI_GTK|}
|
||||
|
||||
*:helpt* *:helptags*
|
||||
*E154* *E150* *E151* *E152* *E153* *E670*
|
||||
*E150* *E151* *E152* *E153* *E154* *E670*
|
||||
:helpt[ags] [++t] {dir}
|
||||
Generate the help tags file(s) for directory {dir}.
|
||||
When {dir} is ALL then all "doc" directories in
|
||||
@@ -323,21 +323,25 @@ Hints for translators:
|
||||
3. Writing help files *help-writing*
|
||||
|
||||
For ease of use, a Vim help file for a plugin should follow the format of the
|
||||
standard Vim help files. If you are writing a new help file it's best to copy
|
||||
one of the existing files and use it as a template.
|
||||
standard Vim help files, except for the first line. If you are writing a new
|
||||
help file it's best to copy one of the existing files and use it as a
|
||||
template.
|
||||
|
||||
The first line in a help file should have the following format:
|
||||
|
||||
*helpfile_name.txt* For Vim version 7.3 Last change: 2010 June 4
|
||||
*plugin_name.txt* {short description of the plugin}
|
||||
|
||||
The first field is a link to the help file name. The second field describes
|
||||
the applicable Vim version. The last field specifies the last modification
|
||||
date of the file. Each field is separated by a tab.
|
||||
The first field is a help tag where ":help plugin_name" will jump to. The
|
||||
remainder of the line, after a Tab, describes the plugin purpose in a short
|
||||
way. This will show up in the "LOCAL ADDITIONS" section of the main help
|
||||
file. Check there that it shows up properly: |local-additions|.
|
||||
|
||||
If you want to add a version number or last modification date, put it in the
|
||||
second line, right aligned.
|
||||
|
||||
At the bottom of the help file, place a Vim modeline to set the 'textwidth'
|
||||
and 'tabstop' options and the 'filetype' to "help". Never set a global option
|
||||
in such a modeline, that can have consequences undesired by whoever reads that
|
||||
help.
|
||||
in such a modeline, that can have undesired consequences.
|
||||
|
||||
|
||||
TAGS
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_cscop.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||
*if_cscop.txt* For Vim version 8.2. Last change: 2022 Jan 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Andy Kahn
|
||||
@@ -89,7 +89,7 @@ suggested use.)
|
||||
==============================================================================
|
||||
2. Cscope related commands *cscope-commands*
|
||||
|
||||
*:cscope* *:cs* *:scs* *:scscope* *E259* *E262* *E561* *E560*
|
||||
*:cscope* *:cs* *:scs* *:scscope* *E259* *E262* *E560* *E561*
|
||||
All cscope commands are accessed through suboptions to the cscope commands.
|
||||
`:cscope` or `:cs` is the main command
|
||||
`:scscope` or `:scs` does the same and splits the window
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_perl.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
*if_perl.txt* For Vim version 8.2. Last change: 2022 Jan 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Sven Verdoolaege
|
||||
@@ -103,8 +103,7 @@ Here are some things you can try: >
|
||||
:perldo $_ = reverse($_);1
|
||||
:perl VIM::Msg("hello")
|
||||
:perl $line = $curbuf->Get(42)
|
||||
<
|
||||
*E299*
|
||||
< *E299*
|
||||
Executing Perl commands in the |sandbox| is limited. ":perldo" will not be
|
||||
possible at all. ":perl" will be evaluated in the Safe environment, if
|
||||
possible.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
*if_pyth.txt* For Vim version 8.2. Last change: 2021 Nov 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -63,6 +63,11 @@ To see what version of Python you have: >
|
||||
|
||||
There is no need to import sys, it's done by default.
|
||||
|
||||
*python-environment*
|
||||
Environment variables set in Vim are not always available in Python. This
|
||||
depends on how Vim and Python were build. Also see
|
||||
https://docs.python.org/3/library/os.html#os.environ
|
||||
|
||||
Note: Python is very sensitive to the indenting. Make sure the "class" line
|
||||
and "EOF" do not have any indent.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_tcl.txt* For Vim version 8.2. Last change: 2021 May 27
|
||||
*if_tcl.txt* For Vim version 8.2. Last change: 2022 Jan 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Ingo Wilken
|
||||
@@ -16,9 +16,9 @@ The Tcl Interface to Vim *tcl* *Tcl* *TCL*
|
||||
8. Examples |tcl-examples|
|
||||
9. Dynamic loading |tcl-dynamic|
|
||||
|
||||
*E280*
|
||||
{only available when Vim was compiled with the |+tcl| feature}
|
||||
|
||||
*E280*
|
||||
WARNING: There are probably still some bugs. Please send bug reports,
|
||||
comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
|
||||
|
||||
|
||||
@@ -608,26 +608,25 @@ CLOJURE *ft-clojure-indent* *clojure-indent*
|
||||
Clojure indentation differs somewhat from traditional Lisps, due in part to
|
||||
the use of square and curly brackets, and otherwise by community convention.
|
||||
These conventions are not universally followed, so the Clojure indent script
|
||||
offers a few configurable options, listed below.
|
||||
offers a few configuration options.
|
||||
|
||||
(If the current Vim does not include |searchpairpos()|, the indent script falls
|
||||
back to normal 'lisp' indenting, and the following options are ignored.)
|
||||
|
||||
If the current vim does not include searchpairpos(), the indent script falls
|
||||
back to normal 'lisp' indenting, and the following options are ignored.
|
||||
|
||||
*g:clojure_maxlines*
|
||||
|
||||
Set maximum scan distance of searchpairpos(). Larger values trade performance
|
||||
for correctness when dealing with very long forms. A value of 0 will scan
|
||||
without limits.
|
||||
>
|
||||
" Default
|
||||
let g:clojure_maxlines = 100
|
||||
<
|
||||
Sets maximum scan distance of `searchpairpos()`. Larger values trade
|
||||
performance for correctness when dealing with very long forms. A value of
|
||||
0 will scan without limits. The default is 300.
|
||||
|
||||
|
||||
*g:clojure_fuzzy_indent*
|
||||
*g:clojure_fuzzy_indent_patterns*
|
||||
*g:clojure_fuzzy_indent_blacklist*
|
||||
|
||||
The 'lispwords' option is a list of comma-separated words that mark special
|
||||
forms whose subforms must be indented with two spaces.
|
||||
forms whose subforms should be indented with two spaces.
|
||||
|
||||
For example:
|
||||
>
|
||||
@@ -645,15 +644,11 @@ the fuzzy indent feature:
|
||||
let g:clojure_fuzzy_indent_patterns = ['^with', '^def', '^let']
|
||||
let g:clojure_fuzzy_indent_blacklist =
|
||||
\ ['-fn$', '\v^with-%(meta|out-str|loading-context)$']
|
||||
|
||||
" Legacy comma-delimited string version; the list format above is
|
||||
" recommended. Note that patterns are implicitly anchored with ^ and $
|
||||
let g:clojure_fuzzy_indent_patterns = 'with.*,def.*,let.*'
|
||||
<
|
||||
|g:clojure_fuzzy_indent_patterns| and |g:clojure_fuzzy_indent_blacklist| are
|
||||
|Lists| of patterns that will be matched against the unquoted, unqualified
|
||||
symbol at the head of a list. This means that a pattern like "^foo" will match
|
||||
all these candidates: "foobar", "my.ns/foobar", and "#'foobar".
|
||||
lists of patterns that will be matched against the unqualified symbol at the
|
||||
head of a list. This means that a pattern like `"^foo"` will match all these
|
||||
candidates: `foobar`, `my.ns/foobar`, and `#'foobar`.
|
||||
|
||||
Each candidate word is tested for special treatment in this order:
|
||||
|
||||
@@ -664,20 +659,22 @@ Each candidate word is tested for special treatment in this order:
|
||||
|g:clojure_fuzzy_indent_patterns|
|
||||
4. Return false and indent normally otherwise
|
||||
|
||||
|
||||
*g:clojure_special_indent_words*
|
||||
|
||||
Some forms in Clojure are indented so that every subform is indented only two
|
||||
spaces, regardless of 'lispwords'. If you have a custom construct that should
|
||||
be indented in this idiosyncratic fashion, you can add your symbols to the
|
||||
default list below.
|
||||
Some forms in Clojure are indented such that every subform is indented by only
|
||||
two spaces, regardless of 'lispwords'. If you have a custom construct that
|
||||
should be indented in this idiosyncratic fashion, you can add your symbols to
|
||||
the default list below.
|
||||
>
|
||||
" Default
|
||||
let g:clojure_special_indent_words =
|
||||
\ 'deftype,defrecord,reify,proxy,extend-type,extend-protocol,letfn'
|
||||
<
|
||||
|
||||
*g:clojure_align_multiline_strings*
|
||||
|
||||
Align subsequent lines in multiline strings to the column after the opening
|
||||
Align subsequent lines in multi-line strings to the column after the opening
|
||||
quote, instead of the same column.
|
||||
|
||||
For example:
|
||||
@@ -694,11 +691,7 @@ For example:
|
||||
enim ad minim veniam, quis nostrud exercitation ullamco laboris
|
||||
nisi ut aliquip ex ea commodo consequat.")
|
||||
<
|
||||
This option is off by default.
|
||||
>
|
||||
" Default
|
||||
let g:clojure_align_multiline_strings = 0
|
||||
<
|
||||
|
||||
*g:clojure_align_subforms*
|
||||
|
||||
By default, parenthesized compound forms that look like function calls and
|
||||
@@ -709,18 +702,14 @@ two spaces relative to the opening paren:
|
||||
bar
|
||||
baz)
|
||||
<
|
||||
Setting this option changes this behavior so that all subforms are aligned to
|
||||
the same column, emulating the default behavior of clojure-mode.el:
|
||||
Setting this option to `1` changes this behaviour so that all subforms are
|
||||
aligned to the same column, emulating the default behaviour of
|
||||
clojure-mode.el:
|
||||
>
|
||||
(foo
|
||||
bar
|
||||
baz)
|
||||
<
|
||||
This option is off by default.
|
||||
>
|
||||
" Default
|
||||
let g:clojure_align_subforms = 0
|
||||
<
|
||||
|
||||
FORTRAN *ft-fortran-indent*
|
||||
|
||||
@@ -890,7 +879,7 @@ For example, with N = 1, this will give:
|
||||
*PHP_outdentphpescape*
|
||||
To indent PHP escape tags as the surrounding non-PHP code (only affects the
|
||||
PHP escape tags): >
|
||||
:let g:PHP_outdentphpescape = 0
|
||||
:let g:PHP_outdentphpescape = 0
|
||||
-------------
|
||||
|
||||
*PHP_removeCRwhenUnix*
|
||||
@@ -1217,7 +1206,7 @@ comments will be indented according to the correctly indented code.
|
||||
|
||||
|
||||
VIM *ft-vim-indent*
|
||||
|
||||
*g:vim_indent_cont*
|
||||
For indenting Vim scripts there is one variable that specifies the amount of
|
||||
indent for a continuation line, a line that starts with a backslash: >
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 8.2. Last change: 2021 Aug 31
|
||||
*index.txt* For Vim version 8.2. Last change: 2022 Jan 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -937,7 +937,9 @@ tag command note action in Visual mode ~
|
||||
before the highlighted area
|
||||
|v_J| J 2 join the highlighted lines
|
||||
|v_K| K run 'keywordprg' on the highlighted area
|
||||
|v_O| O Move horizontally to other corner of area.
|
||||
|v_O| O move horizontally to other corner of area
|
||||
|v_P| P replace highlighted area with register
|
||||
contents; unnamed register is unchanged
|
||||
Q does not start Ex mode
|
||||
|v_R| R 2 delete the highlighted lines and start
|
||||
insert
|
||||
@@ -1000,6 +1002,8 @@ tag command note action in Visual mode ~
|
||||
|v_i{| i{ same as iB
|
||||
|v_i}| i} same as iB
|
||||
|v_o| o move cursor to other corner of area
|
||||
|v_p| p replace highlighted area with register
|
||||
contents; deleted text in unnamed register
|
||||
|v_r| r 2 replace highlighted area with a character
|
||||
|v_s| s 2 delete highlighted area and start insert
|
||||
|v_u| u 2 make highlighted area lowercase
|
||||
@@ -1166,6 +1170,7 @@ tag command action ~
|
||||
be remapped
|
||||
|:args| :ar[gs] print the argument list
|
||||
|:argadd| :arga[dd] add items to the argument list
|
||||
:argdedupe :argdedupe remove duplicates from the argument list
|
||||
|:argdelete| :argd[elete] delete items from the argument list
|
||||
|:argedit| :arge[dit] add item to the argument list and edit it
|
||||
|:argdo| :argdo do a command on all items in the argument list
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 8.2. Last change: 2021 Aug 31
|
||||
*insert.txt* For Vim version 8.2. Last change: 2021 Dec 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -84,6 +84,8 @@ CTRL-U Delete all entered characters before the cursor in the current
|
||||
line. If there are no newly entered characters and
|
||||
'backspace' is not empty, delete all characters before the
|
||||
cursor in the current line.
|
||||
If C-indenting is enabled the indent will be adjusted if the
|
||||
line becomes blank.
|
||||
See |i_backspacing| about joining lines.
|
||||
*i_CTRL-I* *i_<Tab>* *i_Tab*
|
||||
<Tab> or CTRL-I Insert a tab. If the 'expandtab' option is on, the
|
||||
@@ -824,6 +826,9 @@ CTRL-X CTRL-K Search the files given with the 'dictionary' option
|
||||
CTRL-P Search backwards for next matching keyword. This
|
||||
keyword replaces the previous matching keyword.
|
||||
|
||||
|
||||
Completing words in 'thesaurus' *compl-thesaurus*
|
||||
|
||||
*i_CTRL-X_CTRL-T*
|
||||
CTRL-X CTRL-T Works as CTRL-X CTRL-K, but in a special way. It uses
|
||||
the 'thesaurus' option instead of 'dictionary'. If a
|
||||
@@ -832,16 +837,6 @@ CTRL-X CTRL-T Works as CTRL-X CTRL-K, but in a special way. It uses
|
||||
matches, even though they don't complete the word.
|
||||
Thus a word can be completely replaced.
|
||||
|
||||
For an example, imagine the 'thesaurus' file has a
|
||||
line like this: >
|
||||
angry furious mad enraged
|
||||
< Placing the cursor after the letters "ang" and typing
|
||||
CTRL-X CTRL-T would complete the word "angry";
|
||||
subsequent presses would change the word to "furious",
|
||||
"mad" etc.
|
||||
Other uses include translation between two languages,
|
||||
or grouping API functions by keyword.
|
||||
|
||||
CTRL-T or
|
||||
CTRL-N Search forward for next matching keyword. This
|
||||
keyword replaces the previous matching keyword.
|
||||
@@ -849,6 +844,57 @@ CTRL-X CTRL-T Works as CTRL-X CTRL-K, but in a special way. It uses
|
||||
CTRL-P Search backwards for next matching keyword. This
|
||||
keyword replaces the previous matching keyword.
|
||||
|
||||
In the file used by the 'thesaurus' option each line in the file should
|
||||
contain words with similar meaning, separated by non-keyword characters (white
|
||||
space is preferred). Maximum line length is 510 bytes.
|
||||
|
||||
For an example, imagine the 'thesaurus' file has a line like this: >
|
||||
angry furious mad enraged
|
||||
Placing the cursor after the letters "ang" and typing CTRL-X CTRL-T would
|
||||
complete the word "angry"; subsequent presses would change the word to
|
||||
"furious", "mad" etc.
|
||||
|
||||
Other uses include translation between two languages, or grouping API
|
||||
functions by keyword.
|
||||
|
||||
An English word list was added to this github issue:
|
||||
https://github.com/vim/vim/issues/629#issuecomment-443293282
|
||||
Unpack thesaurus_pkg.zip, put the thesaurus.txt file somewhere, e.g.
|
||||
~/.vim/thesaurus/english.txt, and the 'thesaurus' option to this file name.
|
||||
|
||||
|
||||
Completing keywords with 'thesaurusfunc' *compl-thesaurusfunc*
|
||||
|
||||
If the 'thesaurusfunc' option is set, then the user specified function is
|
||||
invoked to get the list of completion matches and the 'thesaurus' option is
|
||||
not used. See |complete-functions| for an explanation of how the function is
|
||||
invoked and what it should return.
|
||||
|
||||
Here is an example that uses the "aiksaurus" command (provided by Magnus
|
||||
Groß): >
|
||||
|
||||
func Thesaur(findstart, base)
|
||||
if a:findstart
|
||||
return searchpos('\<', 'bnW', line('.'))[1] - 1
|
||||
endif
|
||||
let res = []
|
||||
let h = ''
|
||||
for l in systemlist('aiksaurus '.shellescape(a:base))
|
||||
if l[:3] == '=== '
|
||||
let h = '('.substitute(l[4:], ' =*$', ')', '')
|
||||
elseif l ==# 'Alphabetically similar known words are: '
|
||||
let h = "\U0001f52e"
|
||||
elseif l[0] =~ '\a' || (h ==# "\U0001f52e" && l[0] ==# "\t")
|
||||
call extend(res, map(split(substitute(l, '^\t', '', ''), ', '), {_, val -> {'word': val, 'menu': h}}))
|
||||
endif
|
||||
endfor
|
||||
return res
|
||||
endfunc
|
||||
|
||||
if exists('+thesaurusfunc')
|
||||
set thesaurusfunc=Thesaur
|
||||
endif
|
||||
|
||||
|
||||
Completing keywords in the current and included files *compl-keyword*
|
||||
|
||||
@@ -1052,7 +1098,7 @@ CTRL-X CTRL-Z Stop completion without changing the text.
|
||||
|
||||
FUNCTIONS FOR FINDING COMPLETIONS *complete-functions*
|
||||
|
||||
This applies to 'completefunc' and 'omnifunc'.
|
||||
This applies to 'completefunc', 'thesaurusfunc' and 'omnifunc'.
|
||||
|
||||
The function is called in two different ways:
|
||||
- First the function is called to find the start of the text to be completed.
|
||||
@@ -1901,6 +1947,9 @@ When 'autoindent' is on, the indent for a new line is obtained from the
|
||||
previous line. When 'smartindent' or 'cindent' is on, the indent for a line
|
||||
is automatically adjusted for C programs.
|
||||
|
||||
'formatoptions' can be set to copy the comment leader when opening a new
|
||||
line.
|
||||
|
||||
'textwidth' can be set to the maximum width for a line. When a line becomes
|
||||
too long when appending characters a line break is automatically inserted.
|
||||
|
||||
@@ -1914,6 +1963,9 @@ too long when appending characters a line break is automatically inserted.
|
||||
inserted after the current line.
|
||||
Adding [!] toggles 'autoindent' for the time this
|
||||
command is executed.
|
||||
This command is not supported in |Vim9| script,
|
||||
because it is too easily confused with a variable
|
||||
name.
|
||||
|
||||
*:i* *:in* *:insert*
|
||||
:{range}i[nsert][!] Insert several lines of text above the specified
|
||||
@@ -1921,6 +1973,9 @@ too long when appending characters a line break is automatically inserted.
|
||||
inserted before the current line.
|
||||
Adding [!] toggles 'autoindent' for the time this
|
||||
command is executed.
|
||||
This command is not supported in |Vim9| script,
|
||||
because it is too easily confused with a variable
|
||||
name.
|
||||
|
||||
These two commands will keep on asking for lines, until you type a line
|
||||
containing only a ".". Watch out for lines starting with a backslash, see
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 8.2. Last change: 2021 Sep 12
|
||||
*map.txt* For Vim version 8.2. Last change: 2022 Jan 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
Key mapping, abbreviations and user-defined commands.
|
||||
|
||||
This subject is introduced in sections |05.3|, |24.7| and |40.1| of the user
|
||||
This subject is introduced in sections |05.4|, |24.7| and |40.1| of the user
|
||||
manual.
|
||||
|
||||
1. Key mapping |key-mapping|
|
||||
@@ -61,6 +61,8 @@ modes.
|
||||
where the map command applies. The result, including
|
||||
{rhs}, is then further scanned for mappings. This
|
||||
allows for nested and recursive use of mappings.
|
||||
Note: Trailing spaces are included in the {rhs},
|
||||
because space is a valid Normal mode command.
|
||||
|
||||
*:nore* *:norem*
|
||||
:no[remap] {lhs} {rhs} |mapmode-nvo| *:no* *:noremap* *:nor*
|
||||
@@ -94,6 +96,8 @@ modes.
|
||||
Remove the mapping of {lhs} for the modes where the
|
||||
map command applies. The mapping may remain defined
|
||||
for other modes where it applies.
|
||||
It also works when {lhs} matches the {rhs} of a
|
||||
mapping. This is for when an abbreviation applied.
|
||||
Note: Trailing spaces are included in the {lhs}. This
|
||||
unmap does NOT work: >
|
||||
:map @@ foo
|
||||
@@ -168,7 +172,7 @@ type "a", then "bar" will get inserted.
|
||||
"<unique>" can be used in any order. They must appear right after the
|
||||
command, before any other arguments.
|
||||
|
||||
*:map-local* *:map-<buffer>* *E224* *E225*
|
||||
*:map-local* *:map-<buffer>* *:map-buffer* *E224* *E225*
|
||||
If the first argument to one of these commands is "<buffer>" the mapping will
|
||||
be effective in the current buffer only. Example: >
|
||||
:map <buffer> ,w /[.,;]<CR>
|
||||
@@ -227,7 +231,7 @@ Note: ":map <script>" and ":noremap <script>" do the same thing. The
|
||||
"<script>" overrules the command name. Using ":noremap <script>" is
|
||||
preferred, because it's clearer that remapping is (mostly) disabled.
|
||||
|
||||
*:map-<unique>* *E226* *E227*
|
||||
*:map-<unique>* *:map-unique* *E226* *E227*
|
||||
If the first argument to one of these commands is "<unique>" and it is used to
|
||||
define a new mapping or abbreviation, the command will fail if the mapping or
|
||||
abbreviation already exists. Example: >
|
||||
@@ -266,7 +270,7 @@ input. Example: >
|
||||
endfunc
|
||||
nnoremap <expr> <F3> <SID>OpenPopup()
|
||||
|
||||
Also, keep in mind that the expression may be evaluated when looking for
|
||||
Keep in mind that the expression may be evaluated when looking for
|
||||
typeahead, before the previous command has been executed. For example: >
|
||||
func StoreColumn()
|
||||
let g:column = col('.')
|
||||
@@ -280,6 +284,10 @@ This can be solved by inserting <Ignore> before the character that is
|
||||
expression-mapped: >
|
||||
nmap ! f!<Ignore>x
|
||||
|
||||
When defining a mapping in a |Vim9| script, the expression will be evaluated
|
||||
in the context of that script. This means that script-local items can be
|
||||
accessed in the expression.
|
||||
|
||||
Be very careful about side effects! The expression is evaluated while
|
||||
obtaining characters, you may very well make the command dysfunctional.
|
||||
For this reason the following is blocked:
|
||||
@@ -338,24 +346,42 @@ Example of using <Cmd> halfway Insert mode: >
|
||||
Unlike <expr> mappings, there are no special restrictions on the <Cmd>
|
||||
command: it is executed as if an (unrestricted) |autocommand| was invoked.
|
||||
|
||||
*<ScriptCmd>*
|
||||
<ScriptCmd> is like <Cmd> but sets the context to the script the mapping was
|
||||
defined in, for the duration of the command execution. This is especially
|
||||
useful for |Vim9| script. It also works to access an import, which is useful
|
||||
in a plugin using an autoload script: >
|
||||
vim9script
|
||||
import autoload 'implementation.vim' as impl
|
||||
nnoremap <F4> <ScriptCmd>impl.DoTheWork()<CR>
|
||||
|
||||
No matter where <F4> is typed, the "impl" import will be found in the script
|
||||
context of where the mapping was defined. And since it's an autoload import,
|
||||
the "implementation.vim" script will only be loaded once <F4> is typed, not
|
||||
when the mapping is defined.
|
||||
|
||||
Note:
|
||||
- Because <Cmd> avoids mode-changes it does not trigger |CmdlineEnter| and
|
||||
|CmdlineLeave| events, because no user interaction is expected.
|
||||
- Because <Cmd> and <ScriptCmd> avoid mode-changes it does not trigger
|
||||
|CmdlineEnter| and |CmdlineLeave| events, because no user interaction is
|
||||
expected.
|
||||
- For the same reason, |keycodes| like <C-R><C-W> are interpreted as plain,
|
||||
unmapped keys.
|
||||
- The command is not echo'ed, no need for <silent>.
|
||||
- The {rhs} is not subject to abbreviations nor to other mappings, even if the
|
||||
mapping is recursive.
|
||||
- In Visual mode you can use `line('v')` and `col('v')` to get one end of the
|
||||
Visual area, the cursor is at the other end.
|
||||
- In Select mode, |:map| and |:vmap| command mappings are executed in
|
||||
Visual mode. Use |:smap| to handle Select mode differently.
|
||||
|
||||
*E1135* *E1136*
|
||||
<Cmd> commands must terminate, that is, they must be followed by <CR> in the
|
||||
{rhs} of the mapping definition. |Command-line| mode is never entered.
|
||||
*E1255* *E1136*
|
||||
<Cmd> and <ScriptCmd> commands must terminate, that is, they must be followed
|
||||
by <CR> in the {rhs} of the mapping definition. |Command-line| mode is never
|
||||
entered.
|
||||
|
||||
*E1137*
|
||||
<Cmd> commands can have only normal characters and cannot contain special
|
||||
characters like function keys.
|
||||
<Cmd> and <ScriptCmd> commands can have only normal characters and cannot
|
||||
contain special characters like function keys.
|
||||
|
||||
|
||||
1.3 MAPPING AND MODES *:map-modes*
|
||||
@@ -955,8 +981,7 @@ g@{motion} Call the function set by the 'operatorfunc' option.
|
||||
"line" {motion} was |linewise|
|
||||
"char" {motion} was |characterwise|
|
||||
"block" {motion} was |blockwise-visual|
|
||||
Although "block" would rarely appear, since it can
|
||||
only result from Visual mode where "g@" is not useful.
|
||||
The type can be forced, see |forced-motion|.
|
||||
{not available when compiled without the |+eval|
|
||||
feature}
|
||||
|
||||
@@ -967,28 +992,56 @@ Here is an example that counts the number of spaces with <F4>: >
|
||||
" doubling <F4> works on a line
|
||||
nnoremap <expr> <F4><F4> CountSpaces() .. '_'
|
||||
|
||||
function CountSpaces(type = '') abort
|
||||
function CountSpaces(context = {}, type = '') abort
|
||||
if a:type == ''
|
||||
set opfunc=CountSpaces
|
||||
let context = #{
|
||||
\ dot_command: v:false,
|
||||
\ extend_block: '',
|
||||
\ virtualedit: [&l:virtualedit, &g:virtualedit],
|
||||
\ }
|
||||
let &operatorfunc = function('CountSpaces', [context])
|
||||
set virtualedit=block
|
||||
return 'g@'
|
||||
endif
|
||||
endif
|
||||
|
||||
let sel_save = &selection
|
||||
let reg_save = getreginfo('"')
|
||||
let cb_save = &clipboard
|
||||
let visual_marks_save = [getpos("'<"), getpos("'>")]
|
||||
let save = #{
|
||||
\ clipboard: &clipboard,
|
||||
\ selection: &selection,
|
||||
\ virtualedit: [&l:virtualedit, &g:virtualedit],
|
||||
\ register: getreginfo('"'),
|
||||
\ visual_marks: [getpos("'<"), getpos("'>")],
|
||||
\ }
|
||||
|
||||
try
|
||||
set clipboard= selection=inclusive
|
||||
let commands = #{line: "'[V']y", char: "`[v`]y", block: "`[\<c-v>`]y"}
|
||||
silent exe 'noautocmd keepjumps normal! ' .. get(commands, a:type, '')
|
||||
echom getreg('"')->count(' ')
|
||||
set clipboard= selection=inclusive virtualedit=
|
||||
let commands = #{
|
||||
\ line: "'[V']",
|
||||
\ char: "`[v`]",
|
||||
\ block: "`[\<C-V>`]",
|
||||
\ }[a:type]
|
||||
let [_, _, col, off] = getpos("']")
|
||||
if off != 0
|
||||
let vcol = getline("'[")->strpart(0, col + off)->strdisplaywidth()
|
||||
if vcol >= [line("'["), '$']->virtcol() - 1
|
||||
let a:context.extend_block = '$'
|
||||
else
|
||||
let a:context.extend_block = vcol .. '|'
|
||||
endif
|
||||
endif
|
||||
if a:context.extend_block != ''
|
||||
let commands ..= 'oO' .. a:context.extend_block
|
||||
endif
|
||||
let commands ..= 'y'
|
||||
execute 'silent noautocmd keepjumps normal! ' .. commands
|
||||
echomsg getreg('"')->count(' ')
|
||||
finally
|
||||
call setreg('"', reg_save)
|
||||
call setpos("'<", visual_marks_save[0])
|
||||
call setpos("'>", visual_marks_save[1])
|
||||
let &clipboard = cb_save
|
||||
let &selection = sel_save
|
||||
call setreg('"', save.register)
|
||||
call setpos("'<", save.visual_marks[0])
|
||||
call setpos("'>", save.visual_marks[1])
|
||||
let &clipboard = save.clipboard
|
||||
let &selection = save.selection
|
||||
let [&l:virtualedit, &g:virtualedit] = get(a:context.dot_command ? save : a:context, 'virtualedit')
|
||||
let a:context.dot_command = v:true
|
||||
endtry
|
||||
endfunction
|
||||
|
||||
@@ -1004,6 +1057,20 @@ Also note that the 'clipboard' option is temporarily emptied to avoid
|
||||
clobbering the `"*` or `"+` registers, if its value contains the item `unnamed`
|
||||
or `unnamedplus`.
|
||||
|
||||
The `mode()` function will return the state as it will be after applying the
|
||||
operator.
|
||||
|
||||
Here is an example for using a lambda function to create a normal-mode
|
||||
operator to add quotes around text in the current line: >
|
||||
|
||||
nnoremap <F4> <Cmd>let &opfunc='{t ->
|
||||
\ getline(".")
|
||||
\ ->split("\\zs")
|
||||
\ ->insert("\"", col("'']"))
|
||||
\ ->insert("\"", col("''[") - 1)
|
||||
\ ->join("")
|
||||
\ ->setline(".")}'<CR>g@
|
||||
|
||||
==============================================================================
|
||||
2. Abbreviations *abbreviations* *Abbreviations*
|
||||
|
||||
@@ -1344,7 +1411,7 @@ scripts.
|
||||
|
||||
*:command-verbose*
|
||||
When 'verbose' is non-zero, listing a command will also display where it was
|
||||
last defined. Example: >
|
||||
last defined and any completion argument. Example: >
|
||||
|
||||
:verbose command TOhtml
|
||||
< Name Args Range Complete Definition ~
|
||||
@@ -1463,6 +1530,8 @@ completion can be enabled:
|
||||
-complete=custom,{func} custom completion, defined via {func}
|
||||
-complete=customlist,{func} custom completion, defined via {func}
|
||||
|
||||
If you specify completion while there is nothing to complete (-nargs=0, the
|
||||
default) then you get error *E1208* .
|
||||
Note: That some completion methods might expand environment variables.
|
||||
|
||||
|
||||
@@ -1557,6 +1626,7 @@ Possible values are (second column is the short name used in listing):
|
||||
Special cases ~
|
||||
*:command-bang* *:command-bar*
|
||||
*:command-register* *:command-buffer*
|
||||
*:command-keepscript*
|
||||
There are some special cases as well:
|
||||
|
||||
-bang The command can take a ! modifier (like :q or :w)
|
||||
@@ -1566,6 +1636,9 @@ There are some special cases as well:
|
||||
-register The first argument to the command can be an optional
|
||||
register name (like :del, :put, :yank).
|
||||
-buffer The command will only be available in the current buffer.
|
||||
-keepscript Do not use the location of where the user command was
|
||||
defined for verbose messages, use the location of where
|
||||
the user command was invoked.
|
||||
|
||||
In the cases of the -count and -register attributes, if the optional argument
|
||||
is supplied, it is removed from the argument list and is available to the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mbyte.txt* For Vim version 8.2. Last change: 2021 Oct 04
|
||||
*mbyte.txt* For Vim version 8.2. Last change: 2022 Jan 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -862,8 +862,8 @@ Use the RPM or port for your system.
|
||||
window specific to the input method.
|
||||
|
||||
|
||||
USING XIM *multibyte-input* *E284* *E286* *E287* *E288*
|
||||
*E285* *E289*
|
||||
USING XIM *multibyte-input* *E284* *E285* *E286* *E287*
|
||||
*E288* *E289*
|
||||
|
||||
Note that Display and Input are independent. It is possible to see your
|
||||
language even though you have no input method for it. But when your Display
|
||||
@@ -955,32 +955,11 @@ replace mode.
|
||||
The options 'iminsert', 'imsearch' and 'imcmdline' can be used to choose
|
||||
the different input methods or disable them temporarily.
|
||||
|
||||
WHAT IS IME
|
||||
IME is a part of East asian version Windows. That helps you to input
|
||||
multibyte character. English and other language version Windows does not
|
||||
have any IME. (Also there is no need usually.) But there is one that
|
||||
called Microsoft Global IME. Global IME is a part of Internet Explorer
|
||||
4.0 or above. You can get more information about Global IME, at below
|
||||
URL.
|
||||
|
||||
WHAT IS GLOBAL IME *global-ime*
|
||||
Global IME makes capability to input Chinese, Japanese, and Korean text
|
||||
into Vim buffer on any language version of Windows 98, Windows 95, and
|
||||
Windows NT 4.0.
|
||||
On Windows 2000 and XP it should work as well (without downloading). On
|
||||
Windows 2000 Professional, Global IME is built in, and the Input Locales
|
||||
can be added through Control Panel/Regional Options/Input Locales.
|
||||
Please see below URL for detail of Global IME. You can also find various
|
||||
language version of Global IME at same place.
|
||||
|
||||
- Global IME detailed information.
|
||||
http://search.microsoft.com/results.aspx?q=global+ime
|
||||
|
||||
- Active Input Method Manager (Global IME)
|
||||
On Windows 9x and Windows NT 4.0 there was *global-ime* , but this is no
|
||||
longer supported. You can still find documentation for Active Input Method
|
||||
Manager (Global IME) here:
|
||||
http://msdn.microsoft.com/en-us/library/aa741221(v=VS.85).aspx
|
||||
|
||||
Support for Global IME is an experimental feature.
|
||||
|
||||
NOTE: For IME to work you must make sure the input locales of your language
|
||||
are added to your system. The exact location of this depends on the version
|
||||
of Windows you use. For example, on my Windows 2000 box:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 8.2. Last change: 2021 Jul 31
|
||||
*message.txt* For Vim version 8.2. Last change: 2022 Jan 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -29,8 +29,7 @@ depends on the 'shortmess' option.
|
||||
Clear messages, keeping only the {count} most
|
||||
recent ones.
|
||||
|
||||
The number of remembered messages is fixed at 20 for the tiny version and 200
|
||||
for other versions.
|
||||
The number of remembered messages is fixed at 200.
|
||||
|
||||
*g<*
|
||||
The "g<" command can be used to see the last page of previous command output.
|
||||
@@ -47,13 +46,13 @@ maintains the messages or the translations. You can use this to contact the
|
||||
maintainer when you spot a mistake.
|
||||
|
||||
If you want to find help on a specific (error) message, use the ID at the
|
||||
start of the message. For example, to get help on the message: >
|
||||
start of the message. For example, to get help on the message:
|
||||
|
||||
E72: Close error on swap file
|
||||
E72: Close error on swap file ~
|
||||
|
||||
or (translated): >
|
||||
or (translated):
|
||||
|
||||
E72: Errore durante chiusura swap file
|
||||
E72: Errore durante chiusura swap file ~
|
||||
|
||||
Use: >
|
||||
|
||||
@@ -63,6 +62,8 @@ If you are lazy, it also works without the shift key: >
|
||||
|
||||
:help e72
|
||||
|
||||
The number in this ID has no meaning.
|
||||
|
||||
==============================================================================
|
||||
2. Error messages *error-messages* *errors*
|
||||
|
||||
@@ -77,111 +78,116 @@ See `:messages` above.
|
||||
LIST OF MESSAGES
|
||||
*E222* *E228* *E232* *E293* *E298* *E304* *E317*
|
||||
*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
|
||||
*E323* *E341* *E473* *E570* *E685* *E292* >
|
||||
Add to read buffer
|
||||
makemap: Illegal mode
|
||||
Cannot create BalloonEval with both message and callback
|
||||
Hangul automata ERROR
|
||||
block was not locked
|
||||
Didn't get block nr {N}?
|
||||
ml_upd_block0(): Didn't get block 0??
|
||||
pointer block id wrong {N}
|
||||
Updated too many blocks?
|
||||
get_varp ERROR
|
||||
u_undo: line numbers wrong
|
||||
undo list corrupt
|
||||
undo line missing
|
||||
ml_get: cannot find line {N}
|
||||
cannot find line {N}
|
||||
line number out of range: {N} past the end
|
||||
line count wrong in block {N}
|
||||
Internal error
|
||||
Internal error: {function}
|
||||
fatal error in cs_manage_matches
|
||||
Invalid count for del_bytes(): {N}
|
||||
*E323* *E341* *E473* *E570* *E685* *E292*
|
||||
Add to read buffer ~
|
||||
makemap: Illegal mode ~
|
||||
Cannot create BalloonEval with both message and callback ~
|
||||
block was not locked ~
|
||||
Didn't get block nr {N}? ~
|
||||
ml_upd_block0(): Didn't get block 0?? ~
|
||||
pointer block id wrong {N} ~
|
||||
Updated too many blocks? ~
|
||||
get_varp ERROR ~
|
||||
u_undo: line numbers wrong ~
|
||||
undo list corrupt ~
|
||||
undo line missing ~
|
||||
ml_get: cannot find line {N} in buffer {nr} {name} ~
|
||||
line number out of range: {N} past the end ~
|
||||
line count wrong in block {N} ~
|
||||
Internal error: lalloc(0, ) ~
|
||||
Internal error: {function} ~
|
||||
Internal error in regexp ~
|
||||
fatal error in cs_manage_matches ~
|
||||
Invalid count for del_bytes(): {N} ~
|
||||
|
||||
This is an internal error. If you can reproduce it, please send in a bug
|
||||
report. |bugs|
|
||||
|
||||
>
|
||||
ATTENTION
|
||||
Found a swap file by the name ...
|
||||
|
||||
ATTENTION ~
|
||||
Found a swap file by the name ... ~
|
||||
|
||||
See |ATTENTION|.
|
||||
|
||||
*E92* >
|
||||
Buffer {N} not found
|
||||
*E92*
|
||||
Buffer {N} not found ~
|
||||
|
||||
The buffer you requested does not exist. This can also happen when you have
|
||||
wiped out a buffer which contains a mark or is referenced in another way.
|
||||
|:bwipeout|
|
||||
|
||||
*E95* >
|
||||
Buffer with this name already exists
|
||||
*E95*
|
||||
Buffer with this name already exists ~
|
||||
|
||||
You cannot have two buffers with the same name.
|
||||
You cannot have two buffers with exactly the same name. This includes the
|
||||
path leading to the file.
|
||||
|
||||
*E72* >
|
||||
Close error on swap file
|
||||
*E72*
|
||||
Close error on swap file ~
|
||||
|
||||
The |swap-file|, that is used to keep a copy of the edited text, could not be
|
||||
closed properly. Mostly harmless.
|
||||
|
||||
*E169* >
|
||||
Command too recursive
|
||||
*E169*
|
||||
Command too recursive ~
|
||||
|
||||
This happens when an Ex command executes an Ex command that executes an Ex
|
||||
command, etc. The limit is 200 or the value of 'maxfuncdepth', whatever is
|
||||
larger. When it's more there probably is an endless loop. Probably a
|
||||
|:execute| or |:source| command is involved.
|
||||
|
||||
*E254* >
|
||||
Cannot allocate color {name}
|
||||
*E254*
|
||||
Cannot allocate color {name} ~
|
||||
|
||||
The color name {name} is unknown. See |gui-colors| for a list of colors that
|
||||
are available on most systems.
|
||||
|
||||
*E458* >
|
||||
Cannot allocate colormap entry, some colors may be incorrect
|
||||
*E1244*
|
||||
Bad color string: {str} ~
|
||||
|
||||
The provided color did not conform to the pattern #rrggbb
|
||||
|
||||
*E458*
|
||||
Cannot allocate colormap entry, some colors may be incorrect ~
|
||||
|
||||
This means that there are not enough colors available for Vim. It will still
|
||||
run, but some of the colors will not appear in the specified color. Try
|
||||
stopping other applications that use many colors, or start them after starting
|
||||
gvim.
|
||||
Browsers are known to consume a lot of colors. You can avoid this with
|
||||
netscape by telling it to use its own colormap: >
|
||||
netscape -install
|
||||
Or tell it to limit to a certain number of colors (64 should work well): >
|
||||
netscape -ncols 64
|
||||
This can also be done with a line in your Xdefaults file: >
|
||||
Netscape*installColormap: Yes
|
||||
or >
|
||||
Netscape*maxImageColors: 64
|
||||
<
|
||||
*E79* >
|
||||
Cannot expand wildcards
|
||||
netscape by telling it to use its own colormap:
|
||||
netscape -install ~
|
||||
Or tell it to limit to a certain number of colors (64 should work well):
|
||||
netscape -ncols 64 ~
|
||||
This can also be done with a line in your Xdefaults file:
|
||||
Netscape*installColormap: Yes ~
|
||||
or
|
||||
Netscape*maxImageColors: 64 ~
|
||||
|
||||
*E79*
|
||||
Cannot expand wildcards ~
|
||||
|
||||
A filename contains a strange combination of characters, which causes Vim to
|
||||
attempt expanding wildcards but this fails. This does NOT mean that no
|
||||
matching file names could be found, but that the pattern was illegal.
|
||||
|
||||
*E459* >
|
||||
Cannot go back to previous directory
|
||||
*E459*
|
||||
Cannot go back to previous directory ~
|
||||
|
||||
While expanding a file name, Vim failed to go back to the previously used
|
||||
directory. All file names being used may be invalid now! You need to have
|
||||
execute permission on the current directory.
|
||||
|
||||
*E190* *E212* >
|
||||
Cannot open "{filename}" for writing
|
||||
Can't open file for writing
|
||||
*E190* *E212*
|
||||
Cannot open "{filename}" for writing ~
|
||||
Can't open file for writing ~
|
||||
|
||||
For some reason the file you are writing to cannot be created or overwritten.
|
||||
The reason could be that you do not have permission to write in the directory
|
||||
or the file name is not valid.
|
||||
|
||||
*E166* >
|
||||
Can't open linked file for writing
|
||||
*E166*
|
||||
Can't open linked file for writing ~
|
||||
|
||||
You are trying to write to a file which can't be overwritten, and the file is
|
||||
a link (either a hard link or a symbolic link). Writing might still be
|
||||
@@ -192,20 +198,20 @@ place. If you really want to write the file under this name, you have to
|
||||
manually delete the link or the file, or change the permissions so that Vim
|
||||
can overwrite.
|
||||
|
||||
*E46* >
|
||||
Cannot change read-only variable "{name}"
|
||||
*E46*
|
||||
Cannot change read-only variable "{name}" ~
|
||||
|
||||
You are trying to assign a value to an argument of a function |a:var| or a Vim
|
||||
internal variable |v:var| which is read-only.
|
||||
|
||||
*E90* >
|
||||
Cannot unload last buffer
|
||||
*E90*
|
||||
Cannot unload last buffer ~
|
||||
|
||||
Vim always requires one buffer to be loaded, otherwise there would be nothing
|
||||
to display in the window.
|
||||
|
||||
*E40* >
|
||||
Can't open errorfile <filename>
|
||||
*E40*
|
||||
Can't open errorfile <filename> ~
|
||||
|
||||
When using the ":make" or ":grep" commands: The file used to save the error
|
||||
messages or grep output cannot be opened. This can have several causes:
|
||||
@@ -217,8 +223,8 @@ messages or grep output cannot be opened. This can have several causes:
|
||||
- The 'grepprg' or 'makeprg' could not be executed. This cannot always be
|
||||
detected (especially on MS-Windows). Check your $PATH.
|
||||
|
||||
>
|
||||
Can't open file C:\TEMP\VIoD243.TMP
|
||||
|
||||
Can't open file C:\TEMP\VIoD243.TMP ~
|
||||
|
||||
On MS-Windows, this message appears when the output of an external command was
|
||||
to be read, but the command didn't run successfully. This can be caused by
|
||||
@@ -226,21 +232,21 @@ many things. Check the 'shell', 'shellquote', 'shellxquote', 'shellslash' and
|
||||
related options. It might also be that the external command was not found,
|
||||
there is no different error message for that.
|
||||
|
||||
*E12* >
|
||||
Command not allowed from exrc/vimrc in current dir or tag search
|
||||
*E12*
|
||||
Command not allowed from exrc/vimrc in current dir or tag search ~
|
||||
|
||||
Some commands are not allowed for security reasons. These commands mostly
|
||||
come from a .exrc or .vimrc file in the current directory, or from a tags
|
||||
file. Also see 'secure'.
|
||||
|
||||
*E74* >
|
||||
Command too complex
|
||||
*E74*
|
||||
Command too complex ~
|
||||
|
||||
A mapping resulted in a very long command string. Could be caused by a
|
||||
mapping that indirectly calls itself.
|
||||
|
||||
>
|
||||
CONVERSION ERROR
|
||||
|
||||
CONVERSION ERROR ~
|
||||
|
||||
When writing a file and the text "CONVERSION ERROR" appears, this means that
|
||||
some bits were lost when converting text from the internally used UTF-8 to the
|
||||
@@ -252,51 +258,51 @@ If there is a backup file, when 'writebackup' or 'backup' is set, it will not
|
||||
be deleted, so you can move it back into place if you want to discard the
|
||||
changes.
|
||||
|
||||
*E302* >
|
||||
Could not rename swap file
|
||||
*E302*
|
||||
Could not rename swap file ~
|
||||
|
||||
When the file name changes, Vim tries to rename the |swap-file| as well.
|
||||
This failed and the old swap file is now still used. Mostly harmless.
|
||||
|
||||
*E43* *E44* >
|
||||
Damaged match string
|
||||
Corrupted regexp program
|
||||
*E43* *E44*
|
||||
Damaged match string ~
|
||||
Corrupted regexp program ~
|
||||
|
||||
Something inside Vim went wrong and resulted in a corrupted regexp. If you
|
||||
know how to reproduce this problem, please report it. |bugs|
|
||||
|
||||
*E208* *E209* *E210* >
|
||||
Error writing to "{filename}"
|
||||
Error closing "{filename}"
|
||||
Error reading "{filename}"
|
||||
*E208* *E209* *E210*
|
||||
Error writing to "{filename}" ~
|
||||
Error closing "{filename}" ~
|
||||
Error reading "{filename}" ~
|
||||
|
||||
This occurs when Vim is trying to rename a file, but a simple change of file
|
||||
name doesn't work. Then the file will be copied, but somehow this failed.
|
||||
The result may be that both the original file and the destination file exist
|
||||
and the destination file may be incomplete.
|
||||
|
||||
>
|
||||
Vim: Error reading input, exiting...
|
||||
|
||||
Vim: Error reading input, exiting... ~
|
||||
|
||||
This occurs when Vim cannot read typed characters while input is required.
|
||||
Vim got stuck, the only thing it can do is exit. This can happen when both
|
||||
stdin and stderr are redirected and executing a script that doesn't exit Vim.
|
||||
|
||||
*E47* >
|
||||
Error while reading errorfile
|
||||
*E47*
|
||||
Error while reading errorfile ~
|
||||
|
||||
Reading the error file was not possible. This is NOT caused by an error
|
||||
message that was not recognized.
|
||||
|
||||
*E80* >
|
||||
Error while writing
|
||||
*E80*
|
||||
Error while writing ~
|
||||
|
||||
Writing a file was not completed successfully. The file is probably
|
||||
incomplete.
|
||||
|
||||
*E13* *E189* >
|
||||
File exists (add ! to override)
|
||||
"{filename}" exists (add ! to override)
|
||||
*E13* *E189*
|
||||
File exists (add ! to override) ~
|
||||
"{filename}" exists (add ! to override) ~
|
||||
|
||||
You are protected from accidentally overwriting a file. When you want to
|
||||
write anyway, use the same command, but add a "!" just after the command.
|
||||
@@ -305,8 +311,8 @@ Example: >
|
||||
changes to: >
|
||||
:w! /tmp/test
|
||||
<
|
||||
*E768* >
|
||||
Swap file exists: {filename} (:silent! overrides)
|
||||
*E768*
|
||||
Swap file exists: {filename} (:silent! overrides) ~
|
||||
|
||||
You are protected from overwriting a file that is being edited by Vim. This
|
||||
happens when you use ":w! filename" and a swapfile is found.
|
||||
@@ -318,115 +324,115 @@ happens when you use ":w! filename" and a swapfile is found.
|
||||
< The special command is needed, since you already added the ! for overwriting
|
||||
an existing file.
|
||||
|
||||
*E139* >
|
||||
File is loaded in another buffer
|
||||
*E139*
|
||||
File is loaded in another buffer ~
|
||||
|
||||
You are trying to write a file under a name which is also used in another
|
||||
buffer. This would result in two versions of the same file.
|
||||
|
||||
*E142* >
|
||||
File not written: Writing is disabled by 'write' option
|
||||
*E142*
|
||||
File not written: Writing is disabled by 'write' option ~
|
||||
|
||||
The 'write' option is off. This makes all commands that try to write a file
|
||||
generate this message. This could be caused by a |-m| commandline argument.
|
||||
You can switch the 'write' option on with ":set write".
|
||||
|
||||
*E25* >
|
||||
GUI cannot be used: Not enabled at compile time
|
||||
*E25*
|
||||
GUI cannot be used: Not enabled at compile time ~
|
||||
|
||||
You are running a version of Vim that doesn't include the GUI code. Therefore
|
||||
"gvim" and ":gui" don't work.
|
||||
|
||||
*E49* >
|
||||
Invalid scroll size
|
||||
*E49*
|
||||
Invalid scroll size ~
|
||||
|
||||
This is caused by setting an invalid value for the 'scroll', 'scrolljump' or
|
||||
'scrolloff' options.
|
||||
|
||||
*E17* >
|
||||
"{filename}" is a directory
|
||||
*E17*
|
||||
"{filename}" is a directory ~
|
||||
|
||||
You tried to write a file with the name of a directory. This is not possible.
|
||||
You probably need to append a file name.
|
||||
|
||||
*E19* >
|
||||
Mark has invalid line number
|
||||
*E19*
|
||||
Mark has invalid line number ~
|
||||
|
||||
You are using a mark that has a line number that doesn't exist. This can
|
||||
happen when you have a mark in another file, and some other program has
|
||||
deleted lines from it.
|
||||
|
||||
*E219* *E220* >
|
||||
Missing {.
|
||||
Missing }.
|
||||
*E219* *E220*
|
||||
Missing {. ~
|
||||
Missing }. ~
|
||||
|
||||
Using a {} construct in a file name, but there is a { without a matching } or
|
||||
the other way around. It should be used like this: {foo,bar}. This matches
|
||||
"foo" and "bar".
|
||||
|
||||
*E315* >
|
||||
ml_get: invalid lnum: {number}
|
||||
*E315*
|
||||
ml_get: invalid lnum: {number} ~
|
||||
|
||||
This is an internal Vim error. Please try to find out how it can be
|
||||
reproduced, and submit a bug report |bugreport.vim|.
|
||||
|
||||
*E173* >
|
||||
{number} more files to edit
|
||||
*E173*
|
||||
{number} more files to edit ~
|
||||
|
||||
You are trying to exit, while the last item in the argument list has not been
|
||||
edited. This protects you from accidentally exiting when you still have more
|
||||
files to work on. See |argument-list|. If you do want to exit, just do it
|
||||
again and it will work.
|
||||
|
||||
*E23* *E194* >
|
||||
No alternate file
|
||||
No alternate file name to substitute for '#'
|
||||
*E23* *E194*
|
||||
No alternate file ~
|
||||
No alternate file name to substitute for '#' ~
|
||||
|
||||
The alternate file is not defined yet. See |alternate-file|.
|
||||
|
||||
*E32* >
|
||||
No file name
|
||||
*E32*
|
||||
No file name ~
|
||||
|
||||
The current buffer has no name. To write it, use ":w fname". Or give the
|
||||
buffer a name with ":file fname".
|
||||
|
||||
*E141* >
|
||||
No file name for buffer {number}
|
||||
*E141*
|
||||
No file name for buffer {number} ~
|
||||
|
||||
One of the buffers that was changed does not have a file name. Therefore it
|
||||
cannot be written. You need to give the buffer a file name: >
|
||||
:buffer {number}
|
||||
:file {filename}
|
||||
<
|
||||
*E33* >
|
||||
No previous substitute regular expression
|
||||
*E33*
|
||||
No previous substitute regular expression ~
|
||||
|
||||
When using the '~' character in a pattern, it is replaced with the previously
|
||||
used pattern in a ":substitute" command. This fails when no such command has
|
||||
been used yet. See |/~|. This also happens when using ":s/pat/%/", where the
|
||||
"%" stands for the previous substitute string.
|
||||
|
||||
*E35* >
|
||||
No previous regular expression
|
||||
*E35*
|
||||
No previous regular expression ~
|
||||
|
||||
When using an empty search pattern, the previous search pattern is used. But
|
||||
that is not possible if there was no previous search.
|
||||
|
||||
*E24* >
|
||||
No such abbreviation
|
||||
*E24*
|
||||
No such abbreviation ~
|
||||
|
||||
You have used an ":unabbreviate" command with an argument which is not an
|
||||
existing abbreviation. All variations of this command give the same message:
|
||||
":cunabbrev", ":iunabbrev", etc. Check for trailing white space.
|
||||
|
||||
>
|
||||
/dev/dsp: No such file or directory
|
||||
|
||||
/dev/dsp: No such file or directory ~
|
||||
|
||||
Only given for GTK GUI with Gnome support. Gnome tries to use the audio
|
||||
device and it isn't present. You can ignore this error.
|
||||
|
||||
*E31* >
|
||||
No such mapping
|
||||
*E31*
|
||||
No such mapping ~
|
||||
|
||||
You have used an ":unmap" command with an argument which is not an existing
|
||||
mapping. All variations of this command give the same message: ":cunmap",
|
||||
@@ -435,9 +441,9 @@ mapping. All variations of this command give the same message: ":cunmap",
|
||||
- If the mapping is buffer-local you need to use ":unmap <buffer>".
|
||||
|:map-<buffer>|
|
||||
|
||||
*E37* *E89* >
|
||||
No write since last change (add ! to override)
|
||||
No write since last change for buffer {N} (add ! to override)
|
||||
*E37* *E89*
|
||||
No write since last change (add ! to override) ~
|
||||
No write since last change for buffer {N} (add ! to override) ~
|
||||
|
||||
You are trying to |abandon| a file that has changes. Vim protects you from
|
||||
losing your work. You can either write the changed file with ":w", or, if you
|
||||
@@ -447,8 +453,8 @@ adding a '!' character just after the command you used. Example: >
|
||||
changes to: >
|
||||
:e! other_file
|
||||
<
|
||||
*E162* >
|
||||
No write since last change for buffer "{name}"
|
||||
*E162*
|
||||
No write since last change for buffer "{name}" ~
|
||||
|
||||
This appears when you try to exit Vim while some buffers are changed. You
|
||||
will either have to write the changed buffer (with |:w|), or use a command to
|
||||
@@ -456,23 +462,23 @@ abandon the buffer forcefully, e.g., with ":qa!". Careful, make sure you
|
||||
don't throw away changes you really want to keep. You might have forgotten
|
||||
about a buffer, especially when 'hidden' is set.
|
||||
|
||||
>
|
||||
[No write since last change]
|
||||
|
||||
[No write since last change] ~
|
||||
|
||||
This appears when executing a shell command while at least one buffer was
|
||||
changed. To avoid the message reset the 'warn' option.
|
||||
|
||||
*E38* >
|
||||
Null argument
|
||||
*E38*
|
||||
Null argument ~
|
||||
|
||||
Something inside Vim went wrong and resulted in a NULL pointer. If you know
|
||||
how to reproduce this problem, please report it. |bugs|
|
||||
|
||||
*E41* *E82* *E83* *E342* >
|
||||
Out of memory!
|
||||
Out of memory! (allocating {number} bytes)
|
||||
Cannot allocate any buffer, exiting...
|
||||
Cannot allocate buffer, using other one...
|
||||
*E41* *E82* *E83* *E342*
|
||||
Out of memory! ~
|
||||
Out of memory! (allocating {number} bytes) ~
|
||||
Cannot allocate any buffer, exiting... ~
|
||||
Cannot allocate buffer, using other one... ~
|
||||
|
||||
Oh, oh. You must have been doing something complicated, or some other program
|
||||
is consuming your memory. Be careful! Vim is not completely prepared for an
|
||||
@@ -490,16 +496,16 @@ in memory, you can reduce that with these options:
|
||||
helps for a change that affects all lines.
|
||||
- 'undoreload' Set to zero to disable.
|
||||
|
||||
*E339* >
|
||||
Pattern too long
|
||||
*E339*
|
||||
Pattern too long ~
|
||||
|
||||
This happens on systems with 16 bit ints: The compiled regexp pattern is
|
||||
longer than about 65000 characters. Try using a shorter pattern.
|
||||
It also happens when the offset of a rule doesn't fit in the space available.
|
||||
Try simplifying the pattern.
|
||||
|
||||
*E45* >
|
||||
'readonly' option is set (add ! to override)
|
||||
*E45*
|
||||
'readonly' option is set (add ! to override) ~
|
||||
|
||||
You are trying to write a file that was marked as read-only. To write the
|
||||
file anyway, either reset the 'readonly' option, or add a '!' character just
|
||||
@@ -508,18 +514,18 @@ after the command you used. Example: >
|
||||
changes to: >
|
||||
:w!
|
||||
<
|
||||
*E294* *E295* *E301* >
|
||||
Read error in swap file
|
||||
Seek error in swap file read
|
||||
Oops, lost the swap file!!!
|
||||
*E294* *E295* *E301*
|
||||
Read error in swap file ~
|
||||
Seek error in swap file read ~
|
||||
Oops, lost the swap file!!! ~
|
||||
|
||||
Vim tried to read text from the |swap-file|, but something went wrong. The
|
||||
text in the related buffer may now be corrupted! Check carefully before you
|
||||
write a buffer. You may want to write it in another file and check for
|
||||
differences.
|
||||
|
||||
*E192* >
|
||||
Recursive use of :normal too deep
|
||||
*E192*
|
||||
Recursive use of :normal too deep ~
|
||||
|
||||
You are using a ":normal" command, whose argument again uses a ":normal"
|
||||
command in a recursive way. This is restricted to 'maxmapdepth' levels. This
|
||||
@@ -527,16 +533,16 @@ example illustrates how to get this message: >
|
||||
:map gq :normal gq<CR>
|
||||
If you type "gq", it will execute this mapping, which will call "gq" again.
|
||||
|
||||
*E22* >
|
||||
Scripts nested too deep
|
||||
*E22*
|
||||
Scripts nested too deep ~
|
||||
|
||||
Scripts can be read with the "-s" command-line argument and with the ":source"
|
||||
command. The script can then again read another script. This can continue
|
||||
for about 14 levels. When more nesting is done, Vim assumes that there is a
|
||||
recursive loop somewhere and stops with this error message.
|
||||
Scripts can be read with the "-s" command-line argument and with the
|
||||
`:source!` command. The script can then again read another script. This can
|
||||
continue for about 14 levels. When more nesting is done, Vim assumes that
|
||||
there is a recursive loop and stops with this error message.
|
||||
|
||||
*E319* >
|
||||
Sorry, the command is not available in this version
|
||||
*E319*
|
||||
Sorry, the command is not available in this version ~
|
||||
|
||||
You have used a command that is not present in the version of Vim you are
|
||||
using. When compiling Vim, many different features can be enabled or
|
||||
@@ -544,8 +550,8 @@ disabled. This depends on how big Vim has chosen to be and the operating
|
||||
system. See |+feature-list| for when which feature is available. The
|
||||
|:version| command shows which feature Vim was compiled with.
|
||||
|
||||
*E300* >
|
||||
Swap file already exists (symlink attack?)
|
||||
*E300*
|
||||
Swap file already exists (symlink attack?) ~
|
||||
|
||||
This message appears when Vim is trying to open a swap file and finds it
|
||||
already exists or finds a symbolic link in its place. This shouldn't happen,
|
||||
@@ -554,8 +560,8 @@ opened the same file at exactly the same moment (very unlikely) or someone is
|
||||
attempting a symlink attack (could happen when editing a file in /tmp or when
|
||||
'directory' starts with "/tmp", which is a bad choice).
|
||||
|
||||
*E432* >
|
||||
Tags file not sorted: {file name}
|
||||
*E432*
|
||||
Tags file not sorted: {file name} ~
|
||||
|
||||
Vim (and Vi) expect tags files to be sorted in ASCII order. Binary searching
|
||||
can then be used, which is a lot faster than a linear search. If your tags
|
||||
@@ -564,21 +570,21 @@ This message is only given when Vim detects a problem when searching for a
|
||||
tag. Sometimes this message is not given, even though the tags file is not
|
||||
properly sorted.
|
||||
|
||||
*E424* >
|
||||
Too many different highlighting attributes in use
|
||||
*E424*
|
||||
Too many different highlighting attributes in use ~
|
||||
|
||||
Vim can only handle about 223 different kinds of highlighting. If you run
|
||||
into this limit, you have used too many |:highlight| commands with different
|
||||
arguments. A ":highlight link" is not counted.
|
||||
|
||||
*E77* >
|
||||
Too many file names
|
||||
*E77*
|
||||
Too many file names ~
|
||||
|
||||
When expanding file names, more than one match was found. Only one match is
|
||||
allowed for the command that was used.
|
||||
|
||||
*E303* >
|
||||
Unable to open swap file for "{filename}", recovery impossible
|
||||
*E303*
|
||||
Unable to open swap file for "{filename}", recovery impossible ~
|
||||
|
||||
Vim was not able to create a swap file. You can still edit the file, but if
|
||||
Vim unexpectedly exits the changes will be lost. And Vim may consume a lot of
|
||||
@@ -586,25 +592,25 @@ memory when editing a big file. You may want to change the 'directory' option
|
||||
to avoid this error. This error is not given when 'directory' is empty. See
|
||||
|swap-file|.
|
||||
|
||||
*E140* >
|
||||
Use ! to write partial buffer
|
||||
*E140*
|
||||
Use ! to write partial buffer ~
|
||||
|
||||
When using a range to write part of a buffer, it is unusual to overwrite the
|
||||
original file. It is probably a mistake (e.g., when Visual mode was active
|
||||
when using ":w"), therefore Vim requires using a ! after the command, e.g.:
|
||||
":3,10w!".
|
||||
>
|
||||
|
||||
Warning: Cannot convert string "<Key>Escape,_Key_Cancel" to type
|
||||
VirtualBinding
|
||||
|
||||
Warning: Cannot convert string "<Key>Escape,_Key_Cancel" to type ~
|
||||
VirtualBinding ~
|
||||
|
||||
Messages like this appear when starting up. This is not a Vim problem, your
|
||||
X11 configuration is wrong. You can find a hint on how to solve this here:
|
||||
http://groups.yahoo.com/group/solarisonintel/message/12179.
|
||||
[this URL is no longer valid]
|
||||
|
||||
*W10* >
|
||||
Warning: Changing a readonly file
|
||||
*W10*
|
||||
Warning: Changing a readonly file ~
|
||||
|
||||
The file is read-only and you are making a change to it anyway. You can use
|
||||
the |FileChangedRO| autocommand event to avoid this message (the autocommand
|
||||
@@ -612,15 +618,15 @@ must reset the 'readonly' option). See 'modifiable' to completely disallow
|
||||
making changes to a file.
|
||||
This message is only given for the first change after 'readonly' has been set.
|
||||
|
||||
*W13* >
|
||||
Warning: File "{filename}" has been created after editing started
|
||||
*W13*
|
||||
Warning: File "{filename}" has been created after editing started ~
|
||||
|
||||
You are editing a file in Vim when it didn't exist, but it does exist now.
|
||||
You will have to decide if you want to keep the version in Vim or the newly
|
||||
created file. This message is not given when 'buftype' is not empty.
|
||||
|
||||
*W11* >
|
||||
Warning: File "{filename}" has changed since editing started
|
||||
*W11*
|
||||
Warning: File "{filename}" has changed since editing started ~
|
||||
|
||||
The file which you have started editing has got another timestamp and the
|
||||
contents changed (more precisely: When reading the file again with the current
|
||||
@@ -643,15 +649,15 @@ starts. It can be fixed in one of these ways:
|
||||
If you get W11 all the time, you may need to disable "Acronis Active
|
||||
Protection" or register Vim as a trusted service/application.
|
||||
|
||||
*W12* >
|
||||
Warning: File "{filename}" has changed and the buffer was changed in Vim as well
|
||||
*W12*
|
||||
Warning: File "{filename}" has changed and the buffer was changed in Vim as well ~
|
||||
|
||||
Like the above, and the buffer for the file was changed in this Vim as well.
|
||||
You will have to decide if you want to keep the version in this Vim or the one
|
||||
on disk. This message is not given when 'buftype' is not empty.
|
||||
|
||||
*W16* >
|
||||
Warning: Mode of file "{filename}" has changed since editing started
|
||||
*W16*
|
||||
Warning: Mode of file "{filename}" has changed since editing started ~
|
||||
|
||||
When the timestamp for a buffer was changed and the contents are still the
|
||||
same but the mode (permissions) have changed. This usually occurs when
|
||||
@@ -659,37 +665,37 @@ checking out a file from a version control system, which causes the read-only
|
||||
bit to be reset. It should be safe to reload the file. Set 'autoread' to
|
||||
automatically reload the file.
|
||||
|
||||
*E211* >
|
||||
File "{filename}" no longer available
|
||||
*E211*
|
||||
File "{filename}" no longer available ~
|
||||
|
||||
The file which you have started editing has disappeared, or is no longer
|
||||
accessible. Make sure you write the buffer somewhere to avoid losing
|
||||
changes. This message is not given when 'buftype' is not empty.
|
||||
|
||||
*W14* >
|
||||
Warning: List of file names overflow
|
||||
*W14*
|
||||
Warning: List of file names overflow ~
|
||||
|
||||
You must be using an awful lot of buffers. It's now possible that two buffers
|
||||
have the same number, which causes various problems. You might want to exit
|
||||
Vim and restart it.
|
||||
|
||||
*E931* >
|
||||
Buffer cannot be registered
|
||||
*E931*
|
||||
Buffer cannot be registered ~
|
||||
|
||||
Out of memory or a duplicate buffer number. May happen after W14. Looking up
|
||||
a buffer will not always work, better restart Vim.
|
||||
|
||||
*E296* *E297* >
|
||||
Seek error in swap file write
|
||||
Write error in swap file
|
||||
*E296* *E297*
|
||||
Seek error in swap file write ~
|
||||
Write error in swap file ~
|
||||
|
||||
This mostly happens when the disk is full. Vim could not write text into the
|
||||
|swap-file|. It's not directly harmful, but when Vim unexpectedly exits some
|
||||
text may be lost without recovery being possible. Vim might run out of memory
|
||||
when this problem persists.
|
||||
|
||||
*connection-refused* >
|
||||
Xlib: connection to "<machine-name:0.0" refused by server
|
||||
*connection-refused*
|
||||
Xlib: connection to "<machine-name:0.0" refused by server ~
|
||||
|
||||
This happens when Vim tries to connect to the X server, but the X server does
|
||||
not allow a connection. The connection to the X server is needed to be able
|
||||
@@ -697,54 +703,56 @@ to restore the title and for the xterm clipboard support. Unfortunately this
|
||||
error message cannot be avoided, except by disabling the |+xterm_clipboard|
|
||||
and |+X11| features.
|
||||
|
||||
*E10* >
|
||||
\\ should be followed by /, ? or &
|
||||
*E10*
|
||||
\\ should be followed by /, ? or & ~
|
||||
|
||||
A command line started with a backslash or the range of a command contained a
|
||||
backslash in a wrong place. This is often caused by command-line continuation
|
||||
being disabled. Remove the 'C' flag from the 'cpoptions' option to enable it.
|
||||
Or use ":set nocp".
|
||||
|
||||
*E471* >
|
||||
Argument required
|
||||
*E471*
|
||||
Argument required ~
|
||||
|
||||
This happens when an Ex command with mandatory argument(s) was executed, but
|
||||
no argument has been specified.
|
||||
|
||||
*E474* *E475* *E983* >
|
||||
Invalid argument
|
||||
Invalid argument: {arg}
|
||||
Duplicate argument: {arg}
|
||||
*E474* *E475* *E983*
|
||||
Invalid argument ~
|
||||
Invalid argument: {arg} ~
|
||||
Duplicate argument: {arg} ~
|
||||
|
||||
An Ex command or function has been executed, but an invalid argument has been
|
||||
specified.
|
||||
|
||||
*E488* >
|
||||
Trailing characters
|
||||
*E488*
|
||||
Trailing characters ~
|
||||
Trailing characters: {text} ~
|
||||
|
||||
An argument has been added to an Ex command that does not permit one.
|
||||
Or the argument has invalid characters and has not been recognized.
|
||||
|
||||
*E477* *E478* >
|
||||
No ! allowed
|
||||
Don't panic!
|
||||
*E477* *E478*
|
||||
No ! allowed ~
|
||||
Don't panic! ~
|
||||
|
||||
You have added a "!" after an Ex command that doesn't permit one.
|
||||
|
||||
*E481* >
|
||||
No range allowed
|
||||
*E481*
|
||||
No range allowed ~
|
||||
|
||||
A range was specified for an Ex command that doesn't permit one. See
|
||||
|cmdline-ranges|.
|
||||
|
||||
*E482* *E483* >
|
||||
Can't create file {filename}
|
||||
Can't get temp file name
|
||||
*E482* *E483*
|
||||
Can't create file {filename} ~
|
||||
Can't get temp file name ~
|
||||
|
||||
Vim cannot create a temporary file.
|
||||
|
||||
*E484* *E485* >
|
||||
Can't open file {filename}
|
||||
Can't read file {filename}
|
||||
*E484* *E485*
|
||||
Can't open file {filename} ~
|
||||
Can't read file {filename} ~
|
||||
|
||||
Vim cannot read a temporary file. Especially on Windows, this can be caused
|
||||
by wrong escaping of special characters for cmd.exe; the approach was
|
||||
@@ -752,8 +760,8 @@ changed with patch 7.3.443. Try using |shellescape()| for all shell arguments
|
||||
given to |system()|, or explicitly add escaping with ^. Also see
|
||||
'shellxquote' and 'shellxescape'.
|
||||
|
||||
*E464* >
|
||||
Ambiguous use of user-defined command
|
||||
*E464*
|
||||
Ambiguous use of user-defined command ~
|
||||
|
||||
There are two user-defined commands with a common name prefix, and you used
|
||||
Command-line completion to execute one of them. |user-cmd-ambiguous|
|
||||
@@ -762,23 +770,22 @@ Example: >
|
||||
:command MyCommand2 echo "two"
|
||||
:MyCommand
|
||||
<
|
||||
*E492* >
|
||||
Not an editor command
|
||||
*E492*
|
||||
Not an editor command ~
|
||||
|
||||
You tried to execute a command that is neither an Ex command nor
|
||||
a user-defined command.
|
||||
|
||||
*E943* >
|
||||
Command table needs to be updated, run 'make cmdidxs'
|
||||
*E943*
|
||||
Command table needs to be updated, run 'make cmdidxs' ~
|
||||
|
||||
This can only happen when changing the source code, when adding a command in
|
||||
src/ex_cmds.h. The lookup table then needs to be updated, by running: >
|
||||
make cmdidxs
|
||||
<
|
||||
*E928* *E889* *E839* >
|
||||
E928: String required
|
||||
E889: Number required
|
||||
E839: Bool required
|
||||
*E928* *E889*
|
||||
E928: String required ~
|
||||
E889: Number required ~
|
||||
|
||||
These happen when a value or expression is used that does not have the
|
||||
expected type.
|
||||
@@ -791,7 +798,7 @@ This is an (incomplete) overview of various messages that Vim gives:
|
||||
*hit-enter* *press-enter* *hit-return*
|
||||
*press-return* *hit-enter-prompt*
|
||||
|
||||
Press ENTER or type command to continue
|
||||
Press ENTER or type command to continue ~
|
||||
|
||||
This message is given when there is something on the screen for you to read,
|
||||
and the screen is about to be redrawn:
|
||||
@@ -835,9 +842,9 @@ Also see 'mouse'. The hit-enter message is highlighted with the |hl-Question|
|
||||
group.
|
||||
|
||||
|
||||
*more-prompt* *pager* >
|
||||
-- More --
|
||||
-- More -- SPACE/d/j: screen/page/line down, b/u/k: up, q: quit
|
||||
*more-prompt* *pager*
|
||||
-- More -- ~
|
||||
-- More -- SPACE/d/j: screen/page/line down, b/u/k: up, q: quit ~
|
||||
|
||||
This message is given when the screen is filled with messages. It is only
|
||||
given when the 'more' option is on. It is highlighted with the |hl-MoreMsg|
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 8.2. Last change: 2021 Jun 13
|
||||
*motion.txt* For Vim version 8.2. Last change: 2021 Dec 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -386,6 +386,8 @@ w [count] words forward. |exclusive| motion.
|
||||
|
||||
<C-Right> or *<C-Right>* *W*
|
||||
W [count] WORDS forward. |exclusive| motion.
|
||||
If <C-Right> does not work, check out
|
||||
|arrow_modifiers|.
|
||||
|
||||
*e*
|
||||
e Forward to the end of word [count] |inclusive|.
|
||||
@@ -400,6 +402,8 @@ b [count] words backward. |exclusive| motion.
|
||||
|
||||
<C-Left> or *<C-Left>* *B*
|
||||
B [count] WORDS backward. |exclusive| motion.
|
||||
If <C-Left> does not work, check out
|
||||
|arrow_modifiers|.
|
||||
|
||||
*ge*
|
||||
ge Backward to the end of word [count] |inclusive|.
|
||||
@@ -784,6 +788,9 @@ m< or m> Set the |'<| or |'>| mark. Useful to change what the
|
||||
*:k*
|
||||
:[range]k{a-zA-Z'} Same as :mark, but the space before the mark name can
|
||||
be omitted.
|
||||
This command is not supported in |Vim9| script,
|
||||
because it is too easily confused with a variable
|
||||
name.
|
||||
|
||||
*'* *'a* *`* *`a*
|
||||
'{a-z} `{a-z} Jump to the mark {a-z} in the current buffer.
|
||||
@@ -1034,12 +1041,10 @@ commands that start editing a new file.
|
||||
*CTRL-O*
|
||||
CTRL-O Go to [count] Older cursor position in jump list
|
||||
(not a motion command).
|
||||
{not available without the |+jumplist| feature}
|
||||
|
||||
<Tab> or *CTRL-I* *<Tab>*
|
||||
CTRL-I Go to [count] newer cursor position in jump list
|
||||
(not a motion command).
|
||||
{not available without the |+jumplist| feature}
|
||||
|
||||
NOTE: In the GUI and in a terminal supporting
|
||||
|modifyOtherKeys|, CTRL-I can be mapped separately
|
||||
@@ -1049,18 +1054,15 @@ CTRL-I Go to [count] newer cursor position in jump list
|
||||
|
||||
*:ju* *:jumps*
|
||||
:ju[mps] Print the jump list (not a motion command).
|
||||
{not available without the |+jumplist| feature}
|
||||
|
||||
*:cle* *:clearjumps*
|
||||
:cle[arjumps] Clear the jump list of the current window.
|
||||
{not available without the |+jumplist| feature}
|
||||
|
||||
*jumplist*
|
||||
Jumps are remembered in a jump list. With the CTRL-O and CTRL-I command you
|
||||
can go to cursor positions before older jumps, and back again. Thus you can
|
||||
move up and down the list. There is a separate jump list for each window.
|
||||
The maximum number of entries is fixed at 100.
|
||||
{not available without the |+jumplist| feature}
|
||||
|
||||
For example, after three jump commands you have this jump list:
|
||||
|
||||
@@ -1137,13 +1139,11 @@ g; Go to [count] older position in change list.
|
||||
positions go to the oldest change.
|
||||
If there is no older change an error message is given.
|
||||
(not a motion command)
|
||||
{not available without the |+jumplist| feature}
|
||||
|
||||
*g,* *E663*
|
||||
g, Go to [count] newer cursor position in change list.
|
||||
Just like |g;| but in the opposite direction.
|
||||
(not a motion command)
|
||||
{not available without the |+jumplist| feature}
|
||||
|
||||
When using a count you jump as far back or forward as possible. Thus you can
|
||||
use "999g;" to go to the first change for which the position is still
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.2. Last change: 2021 Sep 21
|
||||
*options.txt* For Vim version 8.2. Last change: 2022 Jan 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -35,6 +35,8 @@ achieve special effects. These options come in three forms:
|
||||
internally and can't be changed. Changing the terminal
|
||||
codes in the GUI is not useful either...
|
||||
|
||||
:se[t]! termcap Idem, but don't use multiple columns.
|
||||
|
||||
*E518* *E519*
|
||||
:se[t] {option}? Show value of {option}.
|
||||
|
||||
@@ -168,7 +170,7 @@ When a key code is not set, it's like it does not exist. Trying to get its
|
||||
value will result in an error: >
|
||||
:set t_kb=
|
||||
:set t_kb
|
||||
E846: Key code not set: t_kb
|
||||
< E846: Key code not set: t_kb ~
|
||||
|
||||
The t_xx options cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
@@ -367,10 +369,34 @@ value to the local value, it doesn't switch back to using the global value
|
||||
This will make the local value of 'path' empty, so that the global value is
|
||||
used. Thus it does the same as: >
|
||||
:setlocal path=
|
||||
Note: In the future more global options can be made global-local. Using
|
||||
Note: In the future more global options can be made |global-local|. Using
|
||||
":setlocal" on a global option might work differently then.
|
||||
|
||||
|
||||
*option-value-function*
|
||||
Some options ('completefunc', 'imactivatefunc', 'imstatusfunc', 'omnifunc',
|
||||
'operatorfunc', 'quickfixtextfunc', 'tagfunc' and 'thesaurusfunc') are set to
|
||||
a function name or a function reference or a lambda function. When using a
|
||||
lambda it will be converted to the name, e.g. "<lambda>123". Examples:
|
||||
>
|
||||
set opfunc=MyOpFunc
|
||||
set opfunc=function('MyOpFunc')
|
||||
set opfunc=funcref('MyOpFunc')
|
||||
set opfunc={a\ ->\ MyOpFunc(a)}
|
||||
" set using a funcref variable
|
||||
let Fn = function('MyTagFunc')
|
||||
let &tagfunc = Fn
|
||||
" set using a lambda expression
|
||||
let &tagfunc = {t -> MyTagFunc(t)}
|
||||
" set using a variable with lambda expression
|
||||
let L = {a, b, c -> MyTagFunc(a, b , c)}
|
||||
let &tagfunc = L
|
||||
|
||||
In Vim9 script, in a compiled function, you can use a lambda, but a
|
||||
closured does not work, because the function will be called without the
|
||||
context of where it was defined.
|
||||
|
||||
|
||||
Setting the filetype
|
||||
|
||||
:setf[iletype] [FALLBACK] {filetype} *:setf* *:setfiletype*
|
||||
@@ -717,7 +743,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
"double": Use twice the width of ASCII characters.
|
||||
*E834* *E835*
|
||||
The value "double" cannot be used if 'listchars' or 'fillchars'
|
||||
contains a character that would be double width.
|
||||
contains a character that would be double width. These errors may
|
||||
also be given when calling setcellwidths().
|
||||
|
||||
The values are overruled for characters specified with
|
||||
|setcellwidths()|.
|
||||
@@ -849,9 +876,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'autowrite' 'aw' boolean (default off)
|
||||
global
|
||||
Write the contents of the file, if it has been modified, on each
|
||||
:next, :rewind, :last, :first, :previous, :stop, :suspend, :tag, :!,
|
||||
:make, CTRL-] and CTRL-^ command; and when a :buffer, CTRL-O, CTRL-I,
|
||||
'{A-Z0-9}, or `{A-Z0-9} command takes one to another file.
|
||||
`:next`, `:rewind`, `:last`, `:first`, `:previous`, `:stop`,
|
||||
`:suspend`, `:tag`, `:!`, `:make`, CTRL-] and CTRL-^ command; and when
|
||||
a `:buffer`, CTRL-O, CTRL-I, '{A-Z0-9}, or `{A-Z0-9} command takes one
|
||||
to another file.
|
||||
A buffer is not written if it becomes hidden, e.g. when 'bufhidden' is
|
||||
set to "hide" and `:next` is used.
|
||||
Note that for some commands the 'autowrite' option is not used, see
|
||||
'autowriteall' for that.
|
||||
Some buffers will not be written, specifically when 'buftype' is
|
||||
@@ -1195,6 +1225,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Vim does not try to send a message to an external debugger (Netbeans
|
||||
or Sun Workshop).
|
||||
|
||||
If the expression starts with s: or |<SID>|, then it is replaced with
|
||||
the script ID (|local-function|). Example: >
|
||||
set bexpr=s:MyBalloonExpr()
|
||||
set bexpr=<SID>SomeBalloonExpr()
|
||||
< Otherwise, the expression is evaluated in the context of the script
|
||||
where the option was set, thus script-local items are available.
|
||||
|
||||
The expression will be evaluated in the |sandbox| when set from a
|
||||
modeline, see |sandbox-option|.
|
||||
This option cannot be set in a modeline when 'modelineexpr' is off.
|
||||
@@ -1335,6 +1372,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
text should normally be narrower. This prevents
|
||||
text indented almost to the right window border
|
||||
occupying lot of vertical space when broken.
|
||||
(default: 20)
|
||||
shift:{n} After applying 'breakindent', the wrapped line's
|
||||
beginning will be shifted by the given number of
|
||||
characters. It permits dynamic French paragraph
|
||||
@@ -1419,6 +1457,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Also see |win_gettype()|, which returns the type of the window.
|
||||
|
||||
Be careful with changing this option, it can have many side effects!
|
||||
One such effect is that Vim will not check the timestamp of the file,
|
||||
if the file is changed by another program this will not be noticed.
|
||||
|
||||
A "quickfix" buffer is only used for the error list and the location
|
||||
list. This value is set by the |:cwindow| and |:lwindow| commands and
|
||||
@@ -1461,6 +1501,15 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
case mapping, the current locale is not effective.
|
||||
This probably only matters for Turkish.
|
||||
|
||||
*'cdhome'* *'cdh'*
|
||||
'cdhome' 'cdh' boolean (default: off)
|
||||
global
|
||||
When on, |:cd|, |:tcd| and |:lcd| without an argument changes the
|
||||
current working directory to the |$HOME| directory like in Unix.
|
||||
When off, those commands just print the current directory name.
|
||||
On Unix this option has no effect.
|
||||
NOTE: This option is reset when 'compatible' is set.
|
||||
|
||||
*'cdpath'* *'cd'* *E344* *E346*
|
||||
'cdpath' 'cd' string (default: equivalent to $CDPATH or ",,")
|
||||
global
|
||||
@@ -1509,8 +1558,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
preferred, because it is much faster.
|
||||
'charconvert' is not used when reading stdin |--|, because there is no
|
||||
file to convert from. You will have to save the text in a file first.
|
||||
The expression must return zero or an empty string for success,
|
||||
non-zero for failure.
|
||||
The expression must return zero, false or an empty string for success,
|
||||
non-zero or true for failure.
|
||||
The possible encoding names encountered are in 'encoding'.
|
||||
Additionally, names given in 'fileencodings' and 'fileencoding' are
|
||||
used.
|
||||
@@ -1534,9 +1583,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Note that v:fname_in and v:fname_out will never be the same.
|
||||
Note that v:charconvert_from and v:charconvert_to may be different
|
||||
from 'encoding'. Vim internally uses UTF-8 instead of UCS-2 or UCS-4.
|
||||
|
||||
Encryption is not done by Vim when using 'charconvert'. If you want
|
||||
to encrypt the file after conversion, 'charconvert' should take care
|
||||
of this.
|
||||
|
||||
If the 'charconvert' expression starts with s: or |<SID>|, then it is
|
||||
replaced with the script ID (|local-function|). Example: >
|
||||
set charconvert=s:MyConvert()
|
||||
set charconvert=<SID>SomeConvert()
|
||||
< Otherwise the expression is evaluated in the context of the script
|
||||
where the option was set, thus script-local items are available.
|
||||
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
@@ -1802,6 +1860,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'balloonexpr' + "" text to show in evaluation balloon
|
||||
'breakindent' + off don't indent when wrapping lines
|
||||
'cedit' - {unchanged} {set vim default only on resetting 'cp'}
|
||||
'cdhome' + off ":cd" don't chdir to home on non-Unix
|
||||
'cindent' + off no C code indentation
|
||||
'compatible' - {unchanged} {set vim default only on resetting 'cp'}
|
||||
'copyindent' + off don't copy indent structure
|
||||
@@ -1917,7 +1976,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
This option specifies a function to be used for Insert mode completion
|
||||
with CTRL-X CTRL-U. |i_CTRL-X_CTRL-U|
|
||||
See |complete-functions| for an explanation of how the function is
|
||||
invoked and what it should return.
|
||||
invoked and what it should return. The value can be the name of a
|
||||
function, a |lambda| or a |Funcref|. See |option-value-function| for
|
||||
more information.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
@@ -2084,8 +2145,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Commas can be added for readability.
|
||||
To avoid problems with flags that are added in the future, use the
|
||||
"+=" and "-=" feature of ":set" |add-option-flags|.
|
||||
|
||||
NOTE: This option is set to the Vi default value when 'compatible' is
|
||||
set and to the Vim default value when 'compatible' is reset.
|
||||
|
||||
NOTE: In a |Vim9| script, when `vim9script` is encountered, the value
|
||||
is saved, 'cpoptions' is set to the Vim default, and the saved value
|
||||
is restored at the end of the script. Changes to the value of
|
||||
'cpoptions' will be applied to the saved value, but keep in mind that
|
||||
removing a flag that is not present when 'cpoptions' is changed has no
|
||||
effect. In the |.vimrc| file the value is not restored, thus using
|
||||
`vim9script` in the |.vimrc| file results in using the Vim default.
|
||||
|
||||
NOTE: This option is set to the POSIX default value at startup when
|
||||
the Vi default value would be used and the $VIM_POSIX environment
|
||||
variable exists |posix|. This means Vim tries to behave like the
|
||||
@@ -2410,7 +2481,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
xchacha20 XChaCha20 Cipher with Poly1305 Message Authentication
|
||||
Code. Medium strong till strong encryption.
|
||||
Encryption is provided by the libsodium library, it
|
||||
requires Vim to be built with |+sodium|
|
||||
requires Vim to be built with |+sodium|.
|
||||
It adds a seed and a message authentication code (MAC)
|
||||
to the file. This needs at least a Vim 8.2.3022 to
|
||||
read the encrypted file.
|
||||
@@ -3379,7 +3450,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not available when compiled without the |+folding|
|
||||
or |+eval| features}
|
||||
The expression used for when 'foldmethod' is "expr". It is evaluated
|
||||
for each line to obtain its fold level. See |fold-expr|.
|
||||
for each line to obtain its fold level. The context is set to the
|
||||
script where 'foldexpr' was set, script-local items can be accessed.
|
||||
See |fold-expr| for the usage.
|
||||
|
||||
The expression will be evaluated in the |sandbox| if set from a
|
||||
modeline, see |sandbox-option|.
|
||||
@@ -3513,7 +3586,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not available when compiled without the |+folding|
|
||||
feature}
|
||||
An expression which is used to specify the text displayed for a closed
|
||||
fold. See |fold-foldtext|.
|
||||
fold. The context is set to the script where 'foldexpr' was set,
|
||||
script-local items can be accessed. See |fold-foldtext| for the
|
||||
usage.
|
||||
|
||||
The expression will be evaluated in the |sandbox| if set from a
|
||||
modeline, see |sandbox-option|.
|
||||
@@ -3552,6 +3627,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
When the expression evaluates to non-zero Vim will fall back to using
|
||||
the internal format mechanism.
|
||||
|
||||
If the expression starts with s: or |<SID>|, then it is replaced with
|
||||
the script ID (|local-function|). Example: >
|
||||
set formatexpr=s:MyFormatExpr()
|
||||
set formatexpr=<SID>SomeFormatExpr()
|
||||
< Otherwise, the expression is evaluated in the context of the script
|
||||
where the option was set, thus script-local items are available.
|
||||
|
||||
The expression will be evaluated in the |sandbox| when set from a
|
||||
modeline, see |sandbox-option|. That stops the option from working,
|
||||
since changing the buffer text is not allowed.
|
||||
@@ -3610,8 +3692,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
systems without an fsync() implementation, this variable is always
|
||||
off.
|
||||
Also see 'swapsync' for controlling fsync() on swap files.
|
||||
'fsync' also applies to |writefile()|, unless a flag is used to
|
||||
overrule it.
|
||||
'fsync' also applies to |writefile()| (unless a flag is used to
|
||||
overrule it) and when writing undo files (see |undo-persistence|).
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
@@ -3790,6 +3872,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
screen. Set it to a negative value to allow windows taller than the
|
||||
screen.
|
||||
|
||||
*'guiligatures'* *'gli'* *E1243*
|
||||
'guiligatures' 'gli' string (default "")
|
||||
global
|
||||
{only for GTK GUI}
|
||||
List of ASCII characters that, when combined together, can create more
|
||||
complex shapes. Each character must be a printable ASCII character
|
||||
with a value in the 32-127 range.
|
||||
Example: >
|
||||
:set guiligatures=!\"#$%&()*+-./:<=>?@[]^_{\|~
|
||||
< Changing this option updates screen output immediately. Set it to an
|
||||
empty string to disable ligatures.
|
||||
|
||||
*'guioptions'* *'go'*
|
||||
'guioptions' 'go' string (default "egmrLtT" (MS-Windows,
|
||||
"t" is removed in |defaults.vim|),
|
||||
@@ -4164,8 +4258,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'icon'* *'noicon'*
|
||||
'icon' boolean (default off, on when title can be restored)
|
||||
global
|
||||
{not available when compiled without the |+title|
|
||||
feature}
|
||||
When on, the icon text of the window will be set to the value of
|
||||
'iconstring' (if it is not empty), or to the name of the file
|
||||
currently being edited. Only the last part of the name is used.
|
||||
@@ -4182,8 +4274,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'iconstring'*
|
||||
'iconstring' string (default "")
|
||||
global
|
||||
{not available when compiled without the |+title|
|
||||
feature}
|
||||
When this option is not empty, it will be used for the icon text of
|
||||
the window. This happens only when the 'icon' option is on.
|
||||
Only works if the terminal supports setting window icon text
|
||||
@@ -4210,7 +4300,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'imactivatefunc' 'imaf' string (default "")
|
||||
global
|
||||
This option specifies a function that will be called to
|
||||
activate or deactivate the Input Method.
|
||||
activate or deactivate the Input Method. The value can be the name of
|
||||
a function, a |lambda| or a |Funcref|. See |option-value-function| for
|
||||
more information.
|
||||
It is not used in the MS-Windows GUI version.
|
||||
The expression will be evaluated in the |sandbox| when set from a
|
||||
modeline, see |sandbox-option|.
|
||||
@@ -4320,6 +4412,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global
|
||||
This option specifies a function that is called to obtain the status
|
||||
of Input Method. It must return a positive number when IME is active.
|
||||
The value can be the name of a function, a |lambda| or a |Funcref|.
|
||||
See |option-value-function| for more information.
|
||||
It is not used in the MS-Windows GUI version.
|
||||
|
||||
Example: >
|
||||
@@ -4382,6 +4476,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
found. Allows doing "gf" on the name after an 'include' statement.
|
||||
Also used for |<cfile>|.
|
||||
|
||||
If the expression starts with s: or |<SID>|, then it is replaced with
|
||||
the script ID (|local-function|). Example: >
|
||||
set includeexpr=s:MyIncludeExpr(v:fname)
|
||||
set includeexpr=<SID>SomeIncludeExpr(v:fname)
|
||||
< Otherwise, the expression is evaluated in the context of the script
|
||||
where the option was set, thus script-local items are available.
|
||||
|
||||
The expression will be evaluated in the |sandbox| when set from a
|
||||
modeline, see |sandbox-option|.
|
||||
This option cannot be set in a modeline when 'modelineexpr' is off.
|
||||
@@ -4455,6 +4556,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
The expression is evaluated with |v:lnum| set to the line number for
|
||||
which the indent is to be computed. The cursor is also in this line
|
||||
when the expression is evaluated (but it may be moved around).
|
||||
|
||||
If the expression starts with s: or |<SID>|, then it is replaced with
|
||||
the script ID (|local-function|). Example: >
|
||||
set indentexpr=s:MyIndentExpr()
|
||||
set indentexpr=<SID>SomeIndentExpr()
|
||||
< Otherwise, the expression is evaluated in the context of the script
|
||||
where the option was set, thus script-local items are available.
|
||||
|
||||
The expression must return the number of spaces worth of indent. It
|
||||
can return "-1" to keep the current indent (this means 'autoindent' is
|
||||
used for the indent).
|
||||
@@ -4893,9 +5002,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'list'* *'nolist'*
|
||||
'list' boolean (default off)
|
||||
local to window
|
||||
List mode: Show tabs as CTRL-I is displayed, display $ after end of
|
||||
line. Useful to see the difference between tabs and spaces and for
|
||||
trailing blanks. Further changed by the 'listchars' option.
|
||||
List mode: By default show tabs as CTRL-I is displayed, display $
|
||||
after end of line. Useful to see the difference between tabs and
|
||||
spaces and for trailing blanks. Further changed by the 'listchars'
|
||||
option.
|
||||
|
||||
The cursor is displayed at the start of the space a Tab character
|
||||
occupies, not at the end as usual in Normal mode. To get this cursor
|
||||
@@ -4978,6 +5088,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
be used when 'encoding' is "utf-8", otherwise only printable
|
||||
characters are allowed. All characters must be single width.
|
||||
|
||||
Each character can be specified as hex: >
|
||||
set listchars=eol:\\x24
|
||||
set listchars=eol:\\u21b5
|
||||
set listchars=eol:\\U000021b5
|
||||
< Note that a double backslash is used. The number of hex characters
|
||||
must be exactly 2 for \\x, 4 for \\u and 8 for \\U.
|
||||
|
||||
Examples: >
|
||||
:set lcs=tab:>-,trail:-
|
||||
:set lcs=tab:>-,eol:<,nbsp:%
|
||||
@@ -5537,8 +5654,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
number.
|
||||
When a long, wrapped line doesn't start with the first character, '-'
|
||||
characters are put before the number.
|
||||
See |hl-LineNr| and |hl-CursorLineNr| for the highlighting used for
|
||||
the number.
|
||||
For highlighting see |hl-LineNr|, and |hl-CursorLineNr|, and the
|
||||
|:sign-define| "numhl" argument.
|
||||
*number_relativenumber*
|
||||
The 'relativenumber' option changes the displayed number to be
|
||||
relative to the cursor. Together with 'number' there are these
|
||||
@@ -5578,7 +5695,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
This option specifies a function to be used for Insert mode omni
|
||||
completion with CTRL-X CTRL-O. |i_CTRL-X_CTRL-O|
|
||||
See |complete-functions| for an explanation of how the function is
|
||||
invoked and what it should return.
|
||||
invoked and what it should return. The value can be the name of a
|
||||
function, a |lambda| or a |Funcref|. See |option-value-function| for
|
||||
more information.
|
||||
This option is usually set by a filetype plugin:
|
||||
|:filetype-plugin-on|
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
@@ -5588,7 +5707,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'opendevice'* *'odev'* *'noopendevice'* *'noodev'*
|
||||
'opendevice' 'odev' boolean (default off)
|
||||
global
|
||||
{only for MS-Windows}
|
||||
{only for MS-Windows} *E796*
|
||||
Enable reading and writing from devices. This may get Vim stuck on a
|
||||
device that can be opened but doesn't actually do the I/O. Therefore
|
||||
it is off by default.
|
||||
@@ -5600,7 +5719,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'operatorfunc' 'opfunc' string (default: empty)
|
||||
global
|
||||
This option specifies a function to be called by the |g@| operator.
|
||||
See |:map-operator| for more info and an example.
|
||||
See |:map-operator| for more info and an example. The value can be
|
||||
the name of a function, a |lambda| or a |Funcref|. See
|
||||
|option-value-function| for more information.
|
||||
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
@@ -6000,8 +6121,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
customize the information displayed in the quickfix or location window
|
||||
for each entry in the corresponding quickfix or location list. See
|
||||
|quickfix-window-function| for an explanation of how to write the
|
||||
function and an example. The value can be the name of a function or a
|
||||
lambda.
|
||||
function and an example. The value can be the name of a function, a
|
||||
|lambda| or a |Funcref|. See |option-value-function| for more
|
||||
information.
|
||||
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
@@ -6585,6 +6707,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Don't include both "curdir" and "sesdir".
|
||||
When neither "curdir" nor "sesdir" is included, file names are stored
|
||||
with absolute paths.
|
||||
If you leave out "options" many things won't work well after restoring
|
||||
the session.
|
||||
"slash" and "unix" are useful on Windows when sharing session files
|
||||
with Unix. The Unix version of Vim cannot source dos format scripts,
|
||||
but the Windows version of Vim can source unix format scripts.
|
||||
@@ -7248,6 +7372,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
suggestions is never more than the value of 'lines'
|
||||
minus two.
|
||||
|
||||
timeout:{millisec} Limit the time searching for suggestions to
|
||||
{millisec} milli seconds. Applies to the following
|
||||
methods. When omitted the limit is 5000. When
|
||||
negative there is no limit. {only works when built
|
||||
with the +reltime feature}
|
||||
|
||||
file:{filename} Read file {filename}, which must have two columns,
|
||||
separated by a slash. The first column contains the
|
||||
bad word, the second column the suggested good word.
|
||||
@@ -7406,13 +7536,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
return value of expr contains % items they will get expanded.
|
||||
The expression can contain the } character, the end of
|
||||
expression is denoted by %}.
|
||||
The For example: >
|
||||
For example: >
|
||||
func! Stl_filename() abort
|
||||
return "%t"
|
||||
endfunc
|
||||
< `stl=%{Stl_filename()}` results in `"%t"`
|
||||
`stl=%{%Stl_filename()%}` results in `"Name of current file"`
|
||||
} - End of `{%` expression
|
||||
%} - End of `{%` expression
|
||||
( - Start of item group. Can be used for setting the width and
|
||||
alignment of a section. Must be followed by %) somewhere.
|
||||
) - End of item group. No width fields allowed.
|
||||
@@ -7656,10 +7786,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'tabstop' 'ts' number (default 8)
|
||||
local to buffer
|
||||
Number of spaces that a <Tab> in the file counts for. Also see
|
||||
|:retab| command, and 'softtabstop' option.
|
||||
the |:retab| command, and the 'softtabstop' option.
|
||||
|
||||
Note: Setting 'tabstop' to any other value than 8 can make your file
|
||||
appear wrong in many places (e.g., when printing it).
|
||||
appear wrong in many places, e.g., when printing it.
|
||||
The value must be more than 0 and less than 10000.
|
||||
|
||||
There are four main ways to use tabs in Vim:
|
||||
1. Always keep 'tabstop' at 8, set 'softtabstop' and 'shiftwidth' to 4
|
||||
@@ -7755,7 +7886,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
This option specifies a function to be used to perform tag searches.
|
||||
The function gets the tag pattern and should return a List of matching
|
||||
tags. See |tag-function| for an explanation of how to write the
|
||||
function and an example.
|
||||
function and an example. The value can be the name of a function, a
|
||||
|lambda| or a |Funcref|. See |option-value-function| for more
|
||||
information.
|
||||
|
||||
*'taglength'* *'tl'*
|
||||
'taglength' 'tl' number (default 0)
|
||||
@@ -7918,6 +8051,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Number of scrollback lines to keep. When going over this limit the
|
||||
first 10% of the scrollback lines are deleted. This is just to reduce
|
||||
the memory usage. See |Terminal-Normal|.
|
||||
Also used as a limit for text sent to the terminal in one write,
|
||||
multiplied by the number of columns times 3 (average number of bytes
|
||||
per cell).
|
||||
|
||||
*'termwinsize'* *'tws'*
|
||||
'termwinsize' 'tws' string (default "")
|
||||
@@ -8008,25 +8144,32 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'thesaurus' 'tsr' string (default "")
|
||||
global or local to buffer |global-local|
|
||||
List of file names, separated by commas, that are used to lookup words
|
||||
for thesaurus completion commands |i_CTRL-X_CTRL-T|.
|
||||
for thesaurus completion commands |i_CTRL-X_CTRL-T|. See
|
||||
|compl-thesaurus|.
|
||||
|
||||
Each line in the file should contain words with similar meaning,
|
||||
separated by non-keyword characters (white space is preferred).
|
||||
Maximum line length is 510 bytes.
|
||||
|
||||
An English word list was added to this github issue:
|
||||
https://github.com/vim/vim/issues/629#issuecomment-443293282
|
||||
Unpack thesaurus_pkg.zip, put the thesaurus.txt file somewhere, e.g.
|
||||
~/.vim/thesaurus/english.txt, and the 'thesaurus' option to this file
|
||||
name.
|
||||
This option is not used if 'thesaurusfunc' is set, either for the
|
||||
buffer or globally.
|
||||
|
||||
To include a comma in a file name precede it with a backslash. Spaces
|
||||
after a comma are ignored, otherwise spaces are included in the file
|
||||
name. See |option-backslash| about using backslashes.
|
||||
The use of |:set+=| and |:set-=| is preferred when adding or removing
|
||||
directories from the list. This avoids problems when a future version
|
||||
uses another default.
|
||||
Backticks cannot be used in this option for security reasons.
|
||||
name. See |option-backslash| about using backslashes. The use of
|
||||
|:set+=| and |:set-=| is preferred when adding or removing directories
|
||||
from the list. This avoids problems when a future version uses
|
||||
another default. Backticks cannot be used in this option for security
|
||||
reasons.
|
||||
|
||||
*'thesaurusfunc'* *'tsrfu'*
|
||||
'thesaurusfunc' 'tsrfu' string (default: empty)
|
||||
global or local to buffer |global-local|
|
||||
{not available when compiled without the |+eval|
|
||||
feature}
|
||||
This option specifies a function to be used for thesaurus completion
|
||||
with CTRL-X CTRL-T. |i_CTRL-X_CTRL-T| See |compl-thesaurusfunc|.
|
||||
The value can be the name of a function, a |lambda| or a |Funcref|.
|
||||
See |option-value-function| for more information.
|
||||
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'tildeop'* *'top'* *'notildeop'* *'notop'*
|
||||
'tildeop' 'top' boolean (default off)
|
||||
@@ -8094,8 +8237,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'title'* *'notitle'*
|
||||
'title' boolean (default off, on when title can be restored)
|
||||
global
|
||||
{not available when compiled without the |+title|
|
||||
feature}
|
||||
When on, the title of the window will be set to the value of
|
||||
'titlestring' (if it is not empty), or to:
|
||||
filename [+=-] (path) - VIM
|
||||
@@ -8129,8 +8270,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'titlelen'*
|
||||
'titlelen' number (default 85)
|
||||
global
|
||||
{not available when compiled without the |+title|
|
||||
feature}
|
||||
Gives the percentage of 'columns' to use for the length of the window
|
||||
title. When the title is longer, only the end of the path name is
|
||||
shown. A '<' character before the path name is used to indicate this.
|
||||
@@ -8144,8 +8283,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'titleold'*
|
||||
'titleold' string (default "Thanks for flying Vim")
|
||||
global
|
||||
{only available when compiled with the |+title|
|
||||
feature}
|
||||
This option will be used for the window title when exiting Vim if the
|
||||
original title cannot be restored. Only happens if 'title' is on or
|
||||
'titlestring' is not empty.
|
||||
@@ -8154,8 +8291,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'titlestring'*
|
||||
'titlestring' string (default "")
|
||||
global
|
||||
{not available when compiled without the |+title|
|
||||
feature}
|
||||
When this option is not empty, it will be used for the title of the
|
||||
window. This happens only when the 'title' option is on.
|
||||
Only works if the terminal supports setting window titles (currently
|
||||
@@ -9133,4 +9268,16 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
screen. When non-zero, characters are sent to the terminal one by
|
||||
one. For debugging purposes.
|
||||
|
||||
*'xtermcodes'* *'noxtermcodes'*
|
||||
'xtermcodes' boolean (default on)
|
||||
global
|
||||
When detecting xterm patchlevel 141 or higher with the termresponse
|
||||
mechanism and this option is set, Vim will request the actual terminal
|
||||
key codes and number of colors from the terminal. This takes care of
|
||||
various configuration options of the terminal that cannot be obtained
|
||||
from the termlib/terminfo entry, see |xterm-codes|.
|
||||
A side effect may be that t_Co changes and Vim will redraw the
|
||||
display.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -342,12 +342,12 @@ PowerShell Execution Policy settings.
|
||||
See |option-backslash| about including spaces in 'shellcmdflag' when using
|
||||
multiple flags.
|
||||
|
||||
The 'shellpipe' and 'shellredir' option values re-encode the UTF-16le output
|
||||
The 'shellpipe' and 'shellredir' option values re-encode the UTF-16LE output
|
||||
from PowerShell Desktop to your currently configured console codepage. The
|
||||
output can be forced into a different encoding by changing "default" to one of
|
||||
the following:
|
||||
|
||||
unicode - UTF-16le (default output from PowerShell 5.1)
|
||||
unicode - UTF-16LE (default output from PowerShell 5.1)
|
||||
bigendianunicode - UTF-16
|
||||
utf8 - UTF-8
|
||||
utf7 - UTF-7 (no BOM)
|
||||
@@ -356,7 +356,7 @@ the following:
|
||||
default - System's active code page (typically ANSI)
|
||||
oem - System's current OEM code page
|
||||
|
||||
Note The abovce multi-byte Unicode encodings include a leading BOM unless
|
||||
Note The above multi-byte Unicode encodings include a leading BOM unless
|
||||
otherwise indicated.
|
||||
|
||||
By default PowerShell Core's output is UTF-8 encoded without a BOM. If you
|
||||
@@ -365,10 +365,10 @@ want to force the output of PowerShell Core into a different encoding then set
|
||||
encoding is one of the following:
|
||||
|
||||
ascii - 7-bit ASCII character set
|
||||
bigendianunicode - UTF-16be
|
||||
bigendianutf32 - UTF-32be
|
||||
bigendianunicode - UTF-16BE
|
||||
bigendianutf32 - UTF-32BE
|
||||
oem - System's current OEM code page
|
||||
unicode - UTF-16le
|
||||
unicode - UTF-16LE
|
||||
utf7 - UTF-7
|
||||
utf8 - UTF-8
|
||||
utf8BOM - UTF-8, with BOM
|
||||
|
||||
@@ -194,9 +194,8 @@ $VIM/macros/swapmous.vim for an example. |gui-mouse-mapping|
|
||||
|
||||
11. Color names *haiku-colors*
|
||||
|
||||
Vim has a number of color names built-in. Additional names are read from the
|
||||
file $VIMRUNTIME/rgb.txt, if present. This file is basically the color
|
||||
database from X. Names used from this file are cached for efficiency.
|
||||
Vim has a number of color names built-in. Additional names can be defined in
|
||||
|v:colornames|. See |:colorscheme| for details.
|
||||
|
||||
|
||||
12. GUI Toolbar Images *haiku-toolbar-images*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 8.2. Last change: 2021 Jul 16
|
||||
*pattern.txt* For Vim version 8.2. Last change: 2022 Jan 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -315,7 +315,7 @@ the pattern.
|
||||
==============================================================================
|
||||
2. The definition of a pattern *search-pattern* *pattern* *[pattern]*
|
||||
*regular-expression* *regexp* *Pattern*
|
||||
*E76* *E383* *E476*
|
||||
*E383* *E476*
|
||||
|
||||
For starters, read chapter 27 of the user manual |usr_27.txt|.
|
||||
|
||||
@@ -929,10 +929,10 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
\%23l Matches in a specific line.
|
||||
\%<23l Matches above a specific line (lower line number).
|
||||
\%>23l Matches below a specific line (higher line number).
|
||||
\%.l Matches at the cursor line.
|
||||
\%<.l Matches above the cursor line.
|
||||
\%>.l Matches below the cursor line.
|
||||
These three can be used to match specific lines in a buffer. The "23"
|
||||
\%.l Matches at the cursor line.
|
||||
\%<.l Matches above the cursor line.
|
||||
\%>.l Matches below the cursor line.
|
||||
These six can be used to match specific lines in a buffer. The "23"
|
||||
can be any line number. The first line is 1.
|
||||
WARNING: When inserting or deleting lines Vim does not automatically
|
||||
update the matches. This means Syntax highlighting quickly becomes
|
||||
@@ -950,19 +950,18 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
\%23c Matches in a specific column.
|
||||
\%<23c Matches before a specific column.
|
||||
\%>23c Matches after a specific column.
|
||||
\%.c Matches at the cursor column.
|
||||
\%<.c Matches before the cursor column.
|
||||
\%>.c Matches after the cursor column.
|
||||
These three can be used to match specific columns in a buffer or
|
||||
string. The "23" can be any column number. The first column is 1.
|
||||
Actually, the column is the byte number (thus it's not exactly right
|
||||
for multibyte characters).
|
||||
\%.c Matches at the cursor column.
|
||||
\%<.c Matches before the cursor column.
|
||||
\%>.c Matches after the cursor column.
|
||||
These six can be used to match specific columns in a buffer or string.
|
||||
The "23" can be any column number. The first column is 1. Actually,
|
||||
the column is the byte number (thus it's not exactly right for
|
||||
multibyte characters).
|
||||
WARNING: When inserting or deleting text Vim does not automatically
|
||||
update the matches. This means Syntax highlighting quickly becomes
|
||||
wrong. Also when referring to the cursor position (".") and
|
||||
the cursor moves the display isn't updated for this change. An update
|
||||
is done when using the |CTRL-L| command (the whole screen is updated).
|
||||
|
||||
Example, to highlight the column where the cursor currently is: >
|
||||
:exe '/\%' . col(".") . 'c'
|
||||
< Alternatively use: >
|
||||
@@ -977,11 +976,11 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
\%23v Matches in a specific virtual column.
|
||||
\%<23v Matches before a specific virtual column.
|
||||
\%>23v Matches after a specific virtual column.
|
||||
\%.v Matches at the current virtual column.
|
||||
\%<.v Matches before the current virtual column.
|
||||
\%>.v Matches after the current virtual column.
|
||||
These three can be used to match specific virtual columns in a buffer
|
||||
or string. When not matching with a buffer in a window, the option
|
||||
\%.v Matches at the current virtual column.
|
||||
\%<.v Matches before the current virtual column.
|
||||
\%>.v Matches after the current virtual column.
|
||||
These six can be used to match specific virtual columns in a buffer or
|
||||
string. When not matching with a buffer in a window, the option
|
||||
values of the current window are used (e.g., 'tabstop').
|
||||
The "23" can be any column number. The first column is 1.
|
||||
Note that some virtual column positions will never match, because they
|
||||
@@ -1012,7 +1011,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
/.*\%17v
|
||||
< Column 17 is highlighted by 'hlsearch' because there is another match
|
||||
where ".*" matches zero characters.
|
||||
<
|
||||
|
||||
|
||||
Character classes:
|
||||
\i identifier character (see 'isident' option) */\i*
|
||||
@@ -1071,6 +1070,8 @@ match ASCII characters, as indicated by the range.
|
||||
|
||||
\(\) A pattern enclosed by escaped parentheses. */\(* */\(\)* */\)*
|
||||
E.g., "\(^a\)" matches 'a' at the start of a line.
|
||||
There can only be ten of these. You can use "\%(" to add more, but
|
||||
not counting it as a sub-expression.
|
||||
*E51* *E54* *E55* *E872* *E873*
|
||||
|
||||
\1 Matches the same string that was matched by */\1* *E65*
|
||||
@@ -1093,7 +1094,7 @@ x A single character, with no special meaning, matches itself
|
||||
\x A backslash followed by a single character, with no special meaning,
|
||||
is reserved for future expansions
|
||||
|
||||
[] (with 'nomagic': \[]) */[]* */\[]* */\_[]* */collection*
|
||||
[] (with 'nomagic': \[]) */[]* */\[]* */\_[]* */collection* *E76*
|
||||
\_[]
|
||||
A collection. This is a sequence of characters enclosed in square
|
||||
brackets. It matches any single character in the collection.
|
||||
@@ -1489,5 +1490,4 @@ the matching positions and the fuzzy match scores.
|
||||
The "f" flag of `:vimgrep` enables fuzzy matching.
|
||||
|
||||
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_zip.txt* For Vim version 8.2. Last change: 2020 Jan 07
|
||||
*pi_zip.txt* For Vim version 8.2. Last change: 2021 Nov 08
|
||||
|
||||
+====================+
|
||||
| Zip File Interface |
|
||||
@@ -102,6 +102,9 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
|
||||
|
||||
==============================================================================
|
||||
4. History *zip-history* {{{1
|
||||
v32 Oct 22, 2021 * to avoid an issue with a vim 8.2 patch, zipfile: has
|
||||
been changed to zipfile:// . This often shows up
|
||||
as zipfile:/// with zipped files that are root-based.
|
||||
v29 Apr 02, 2017 * (Klartext) reported that an encrypted zip file could
|
||||
opened but the swapfile held unencrypted contents.
|
||||
The solution is to edit the contents of a zip file
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*popup.txt* For Vim version 8.2. Last change: 2021 Aug 15
|
||||
*popup.txt* For Vim version 8.2. Last change: 2022 Jan 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -54,7 +54,7 @@ A popup window has a window-ID like other windows, but behaves differently.
|
||||
The size can be up to the whole Vim window and it overlaps other windows.
|
||||
Popup windows can also overlap each other. The "zindex" property specifies
|
||||
what goes on top of what.
|
||||
|
||||
*E366*
|
||||
The popup window contains a buffer, and that buffer is always associated with
|
||||
the popup window. The window cannot be in Normal, Visual or Insert mode, it
|
||||
does not get keyboard focus. You can use functions like `setbufline()` to
|
||||
@@ -262,7 +262,7 @@ popup_close({id} [, {result}]) *popup_close()*
|
||||
|
||||
|
||||
popup_create({what}, {options}) *popup_create()*
|
||||
Open a popup window showing {what}, which is either:
|
||||
Open a popup window showing {what}, which is either: *E450*
|
||||
- a buffer number
|
||||
- a string
|
||||
- a list of strings
|
||||
@@ -681,6 +681,9 @@ The second argument of |popup_create()| is a dictionary with options:
|
||||
popup does not have a border. As soon as dragging
|
||||
starts and "pos" is "center" it is changed to
|
||||
"topleft".
|
||||
dragall TRUE to allow the popup to be dragged from every
|
||||
position. Makes it very difficult to select text in
|
||||
the popup.
|
||||
resize TRUE to allow the popup to be resized with the mouse
|
||||
by grabbing at the bottom right corner. Has no effect
|
||||
if the popup does not have a border.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*print.txt* For Vim version 8.2. Last change: 2021 Oct 04
|
||||
*print.txt* For Vim version 8.2. Last change: 2022 Jan 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -174,6 +174,13 @@ an error message. In that case Vim will delete the file. In the default
|
||||
value for non-MS-Windows a trick is used: Adding "v:shell_error" will result
|
||||
in a non-zero number when the system() call fails.
|
||||
|
||||
If the expression starts with s: or |<SID>|, then it is replaced with the
|
||||
script ID (|local-function|). Example: >
|
||||
set printexpr=s:MyPrintFile()
|
||||
set printexpr=<SID>SomePrintFile()
|
||||
Otherwise, the expression is evaluated in the context of the script where the
|
||||
option was set, thus script-local items are available.
|
||||
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for security
|
||||
reasons.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 8.2. Last change: 2021 May 22
|
||||
*quickfix.txt* For Vim version 8.2. Last change: 2022 Jan 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -244,7 +244,7 @@ processing a quickfix or location list command, it will be aborted.
|
||||
[!] is not used. It works like ":qall!" |:qall|,
|
||||
except that Vim returns a non-zero exit code.
|
||||
|
||||
*:cf* *:cfile*
|
||||
*:cf* *:cfi* *:cfile*
|
||||
:cf[ile][!] [errorfile] Read the error file and jump to the first error.
|
||||
This is done automatically when Vim is started with
|
||||
the -q option. You can use this command when you
|
||||
@@ -856,9 +856,9 @@ lists. They set one of the existing error lists as the current one.
|
||||
*:chistory* *:chi*
|
||||
:[count]chi[story] Show the list of error lists. The current list is
|
||||
marked with ">". The output looks like:
|
||||
error list 1 of 3; 43 errors ~
|
||||
> error list 2 of 3; 0 errors ~
|
||||
error list 3 of 3; 15 errors ~
|
||||
error list 1 of 3; 43 errors :make ~
|
||||
> error list 2 of 3; 0 errors :helpgrep tag ~
|
||||
error list 3 of 3; 15 errors :grep ex_help *.c ~
|
||||
|
||||
When [count] is given, then the count'th quickfix
|
||||
list is made the current list. Example: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 8.2. Last change: 2021 Mar 29
|
||||
*quickref.txt* For Vim version 8.2. Last change: 2021 Dec 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -635,6 +635,7 @@ Short explanation of each option: *option-list*
|
||||
'buflisted' 'bl' whether the buffer shows up in the buffer list
|
||||
'buftype' 'bt' special type of buffer
|
||||
'casemap' 'cmp' specifies how case of letters is changed
|
||||
'cdhome' 'cdh' change directory to the home directory by ":cd"
|
||||
'cdpath' 'cd' list of directories searched with ":cd"
|
||||
'cedit' key used to open the command-line window
|
||||
'charconvert' 'ccv' expression for character encoding conversion
|
||||
@@ -732,6 +733,7 @@ Short explanation of each option: *option-list*
|
||||
'guifontset' 'gfs' GUI: Names of multibyte fonts to be used
|
||||
'guifontwide' 'gfw' list of font names for double-wide characters
|
||||
'guiheadroom' 'ghr' GUI: pixels room for window decorations
|
||||
'guiligatures' 'gli' GTK GUI: ASCII characters that can form shapes
|
||||
'guioptions' 'go' GUI: Which components and options are used
|
||||
'guipty' GUI: try to use a pseudo-tty for ":!" commands
|
||||
'guitablabel' 'gtl' GUI: custom label for a tab page
|
||||
@@ -948,6 +950,7 @@ Short explanation of each option: *option-list*
|
||||
'textmode' 'tx' obsolete, use 'fileformat'
|
||||
'textwidth' 'tw' maximum width of text that is being inserted
|
||||
'thesaurus' 'tsr' list of thesaurus files for keyword completion
|
||||
'thesaurusfunc' 'tsrfu' function to be used for thesaurus completion
|
||||
'tildeop' 'top' tilde command "~" behaves like an operator
|
||||
'timeout' 'to' time out on mappings and key codes
|
||||
'timeoutlen' 'tm' time out time in milliseconds
|
||||
@@ -1007,6 +1010,7 @@ Short explanation of each option: *option-list*
|
||||
'writeany' 'wa' write to file with no need for "!" override
|
||||
'writebackup' 'wb' make a backup before overwriting a file
|
||||
'writedelay' 'wd' delay this many msec for each char (for debug)
|
||||
'xtermcodes' request terminal codes from an xterm
|
||||
------------------------------------------------------------------------------
|
||||
*Q_ur* Undo/Redo commands
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*remote.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||
*remote.txt* For Vim version 8.2. Last change: 2021 Dec 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -143,7 +143,7 @@ You can not put options there!
|
||||
FUNCTIONS
|
||||
*E240* *E573*
|
||||
There are a number of Vim functions for scripting the command server. See
|
||||
the description in |eval.txt| or use CTRL-] on the function name to jump to
|
||||
the description in |builtin.txt| or use CTRL-] on the function name to jump to
|
||||
the full explanation.
|
||||
|
||||
synopsis explanation ~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*repeat.txt* For Vim version 8.2. Last change: 2021 Sep 09
|
||||
*repeat.txt* For Vim version 8.2. Last change: 2022 Jan 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -354,7 +354,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
<
|
||||
|
||||
:scriptv[ersion] {version} *:scriptv* *:scriptversion*
|
||||
*E999* *E984*
|
||||
*E999* *E984* *E1040*
|
||||
Specify the version of Vim for the lines that follow
|
||||
in the same file. Only applies at the toplevel of
|
||||
sourced scripts, not inside functions.
|
||||
@@ -367,8 +367,8 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
|
||||
:vim9s[cript] [noclear] *:vim9s* *:vim9script*
|
||||
Marks a script file as containing |Vim9-script|
|
||||
commands. Also see |vim9-namespace|.
|
||||
Must be the first command in the file.
|
||||
commands. Also see |vim9-namespace|. *E1038*
|
||||
Must be the first command in the file. *E1039*
|
||||
For [noclear] see |vim9-reload|.
|
||||
Without the |+eval| feature this changes the syntax
|
||||
for some commands.
|
||||
@@ -377,8 +377,11 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
|
||||
*:scr* *:scriptnames*
|
||||
:scr[iptnames] List all sourced script names, in the order they were
|
||||
first sourced. The number is used for the script ID
|
||||
|<SID>|.
|
||||
first encountered. The number is used for the script
|
||||
ID |<SID>|.
|
||||
For a script that was used with `import autoload` but
|
||||
was not actually sourced yet an "A" is shown after the
|
||||
script ID.
|
||||
{not available when compiled without the |+eval|
|
||||
feature}
|
||||
|
||||
@@ -495,6 +498,9 @@ space at the end of a line is hard to see and may be accidentally deleted. >
|
||||
\ "very long regexp"
|
||||
\ keepend
|
||||
|
||||
In |Vim9| script the backslash can often be omitted, but not always.
|
||||
See |vim9-line-continuation|.
|
||||
|
||||
There is a problem with the ":append" and ":insert" commands: >
|
||||
:1append
|
||||
\asdf
|
||||
@@ -792,6 +798,10 @@ won't be very helpful.
|
||||
|
||||
There is a separate command-line history for debug mode.
|
||||
|
||||
NOTE: In Vim9 script, if a command is written at the script level and
|
||||
continues on the next line, not using the old way with a backslash for line
|
||||
continuation, only the first line is printed before the debugging prompt.
|
||||
|
||||
The line number for a function line is relative to the start of the function.
|
||||
If you have trouble figuring out where you are, edit the file that defines
|
||||
the function in another Vim, search for the start of the function and do
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*sign.txt* For Vim version 8.2. Last change: 2021 Mar 07
|
||||
*sign.txt* For Vim version 8.2. Last change: 2021 Dec 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur
|
||||
@@ -53,6 +53,8 @@ The color of the column is set with the SignColumn highlight group
|
||||
|
||||
:highlight SignColumn guibg=darkgrey
|
||||
<
|
||||
If 'cursorline' is enabled, then the CursorLineSign highlight group is used
|
||||
|hl-CursorLineSign|.
|
||||
*sign-identifier*
|
||||
Each placed sign is identified by a number called the sign identifier. This
|
||||
identifier is used to jump to the sign or to remove the sign. The identifier
|
||||
@@ -138,6 +140,11 @@ See |sign_define()| for the equivalent Vim script function.
|
||||
Highlighting group used for the whole line the sign is placed
|
||||
in. Most useful is defining a background color.
|
||||
|
||||
numhl={group}
|
||||
Highlighting group used for the line number on the line where
|
||||
the sign is placed. Overrides |hl-LineNr|, |hl-LineNrAbove|,
|
||||
|hl-LineNrBelow|, and |hl-CursorLineNr|.
|
||||
|
||||
text={text} *E239*
|
||||
Define the text that is displayed when there is no icon or the
|
||||
GUI is not being used. Only printable characters are allowed
|
||||
@@ -146,6 +153,10 @@ See |sign_define()| for the equivalent Vim script function.
|
||||
texthl={group}
|
||||
Highlighting group used for the text item.
|
||||
|
||||
culhl={group}
|
||||
Highlighting group used for the text item when the cursor is
|
||||
on the same line as the sign and 'cursorline' is enabled.
|
||||
|
||||
Example: >
|
||||
:sign define MySign text=>> texthl=Search linehl=DiffText
|
||||
<
|
||||
@@ -390,9 +401,14 @@ sign_define({list})
|
||||
icon full path to the bitmap file for the sign.
|
||||
linehl highlight group used for the whole line the
|
||||
sign is placed in.
|
||||
numhl highlight group used for the line number where
|
||||
the sign is placed.
|
||||
text text that is displayed when there is no icon
|
||||
or the GUI is not being used.
|
||||
texthl highlight group used for the text item
|
||||
culhl highlight group used for the text item when
|
||||
the cursor is on the same line as the sign and
|
||||
'cursorline' is enabled.
|
||||
|
||||
If the sign named {name} already exists, then the attributes
|
||||
of the sign are updated.
|
||||
@@ -432,11 +448,18 @@ sign_getdefined([{name}]) *sign_getdefined()*
|
||||
following entries:
|
||||
icon full path to the bitmap file of the sign
|
||||
linehl highlight group used for the whole line the
|
||||
sign is placed in.
|
||||
sign is placed in; not present if not set
|
||||
name name of the sign
|
||||
numhl highlight group used for the line number where
|
||||
the sign is placed; not present if not set
|
||||
text text that is displayed when there is no icon
|
||||
or the GUI is not being used.
|
||||
texthl highlight group used for the text item
|
||||
texthl highlight group used for the text item; not
|
||||
present if not set
|
||||
culhl highlight group used for the text item when
|
||||
the cursor is on the same line as the sign and
|
||||
'cursorline' is enabled; not present if not
|
||||
set
|
||||
|
||||
Returns an empty List if there are no signs and when {name} is
|
||||
not found.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*starting.txt* For Vim version 8.2. Last change: 2021 May 08
|
||||
*starting.txt* For Vim version 8.2. Last change: 2022 Jan 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -268,8 +268,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
started if possible.
|
||||
|
||||
*-e*
|
||||
-e Start Vim in Ex mode |Q|. Only makes a difference when the
|
||||
executable is not called "ex".
|
||||
-e Start Vim in Ex mode, see |Ex-mode|. Only makes a difference
|
||||
when the executable is not called "ex".
|
||||
|
||||
*-E*
|
||||
-E Start Vim in improved Ex mode |gQ|. Only makes a difference
|
||||
@@ -560,6 +560,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
":source!". When the "scriptout" file already exists, new
|
||||
characters are appended. See also |complex-repeat|.
|
||||
{scriptout} cannot start with a digit.
|
||||
If you want to record what is typed in a human readable for
|
||||
you can use |ch_logfile()|, It adds "raw key input" lines.
|
||||
|
||||
*-W*
|
||||
-W {scriptout} Like -w, but do not append, overwrite an existing file.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 8.2. Last change: 2021 Aug 16
|
||||
*syntax.txt* For Vim version 8.2. Last change: 2021 Nov 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -956,12 +956,16 @@ the options 'foldminlines' and 'foldnestmax' in |.vimrc| or use |:setlocal| in
|
||||
|
||||
BASIC *basic.vim* *vb.vim* *ft-basic-syntax* *ft-vb-syntax*
|
||||
|
||||
Both Visual Basic and "normal" basic use the extension ".bas". To detect
|
||||
Both Visual Basic and "normal" BASIC use the extension ".bas". To detect
|
||||
which one should be used, Vim checks for the string "VB_Name" in the first
|
||||
five lines of the file. If it is not found, filetype will be "basic",
|
||||
otherwise "vb". Files with the ".frm" extension will always be seen as Visual
|
||||
Basic.
|
||||
|
||||
If the automatic detection doesn't work for you or you only edit, for
|
||||
example, FreeBASIC files, use this in your startup vimrc: >
|
||||
:let filetype_bas = "freebasic"
|
||||
|
||||
|
||||
C *c.vim* *ft-c-syntax*
|
||||
|
||||
@@ -1081,33 +1085,47 @@ This works immediately.
|
||||
|
||||
CLOJURE *ft-clojure-syntax*
|
||||
|
||||
The default syntax groups can be augmented through the
|
||||
*g:clojure_syntax_keywords* and *b:clojure_syntax_keywords* variables. The
|
||||
value should be a |Dictionary| of syntax group names to a |List| of custom
|
||||
identifiers:
|
||||
*g:clojure_syntax_keywords*
|
||||
|
||||
Syntax highlighting of public vars in "clojure.core" is provided by default,
|
||||
but additional symbols can be highlighted by adding them to the
|
||||
|g:clojure_syntax_keywords| variable. The value should be a |Dictionary| of
|
||||
syntax group names, each containing a |List| of identifiers.
|
||||
>
|
||||
let g:clojure_syntax_keywords = {
|
||||
\ 'clojureMacro': ["defproject", "defcustom"],
|
||||
\ 'clojureFunc': ["string/join", "string/replace"]
|
||||
\ 'clojureMacro': ["defproject", "defcustom"],
|
||||
\ 'clojureFunc': ["string/join", "string/replace"]
|
||||
\ }
|
||||
<
|
||||
Refer to the Clojure syntax script for valid syntax group names.
|
||||
|
||||
If the |buffer-variable| *b:clojure_syntax_without_core_keywords* is set, only
|
||||
language constants and special forms are matched.
|
||||
There is also *b:clojure_syntax_keywords* which is a buffer-local variant of
|
||||
this variable intended for use by plugin authors to highlight symbols
|
||||
dynamically.
|
||||
|
||||
Setting *g:clojure_fold* enables folding Clojure code via the syntax engine.
|
||||
Any list, vector, or map that extends over more than one line can be folded
|
||||
using the standard Vim |fold-commands|.
|
||||
By setting the *b:clojure_syntax_without_core_keywords* variable, vars from
|
||||
"clojure.core" will not be highlighted by default. This is useful for
|
||||
namespaces that have set `(:refer-clojure :only [])`
|
||||
|
||||
Please note that this option does not work with scripts that redefine the
|
||||
bracket syntax regions, such as rainbow-parentheses plugins.
|
||||
|
||||
This option is off by default.
|
||||
*g:clojure_fold*
|
||||
|
||||
Setting |g:clojure_fold| to `1` will enable the folding of Clojure code. Any
|
||||
list, vector or map that extends over more than one line can be folded using
|
||||
the standard Vim |fold-commands|.
|
||||
|
||||
|
||||
*g:clojure_discard_macro*
|
||||
|
||||
Set this variable to `1` to enable basic highlighting of Clojure's "discard
|
||||
reader macro".
|
||||
>
|
||||
" Default
|
||||
let g:clojure_fold = 0
|
||||
#_(defn foo [x]
|
||||
(println x))
|
||||
<
|
||||
Note that this option will not correctly highlight stacked discard macros
|
||||
(e.g. `#_#_`).
|
||||
|
||||
|
||||
COBOL *cobol.vim* *ft-cobol-syntax*
|
||||
|
||||
@@ -1428,7 +1446,7 @@ add the following line to your startup file: >
|
||||
|
||||
:let g:filetype_euphoria = "euphoria4"
|
||||
|
||||
Elixir and Euphoria share the *.ex file extension. If the filetype is
|
||||
Elixir and Euphoria share the *.ex file extension. If the filetype is
|
||||
specifically set as Euphoria with the g:filetype_euphoria variable, or the
|
||||
file is determined to be Euphoria based on keywords in the file, then the
|
||||
filetype will be set as Euphoria. Otherwise, the filetype will default to
|
||||
@@ -1459,7 +1477,7 @@ The following file extensions are auto-detected as Elixir file types:
|
||||
|
||||
*.ex, *.exs, *.eex, *.leex, *.lock
|
||||
|
||||
Elixir and Euphoria share the *.ex file extension. If the filetype is
|
||||
Elixir and Euphoria share the *.ex file extension. If the filetype is
|
||||
specifically set as Euphoria with the g:filetype_euphoria variable, or the
|
||||
file is determined to be Euphoria based on keywords in the file, then the
|
||||
filetype will be set as Euphoria. Otherwise, the filetype will default to
|
||||
@@ -1519,6 +1537,14 @@ gvim display. Here, statements are colored LightYellow instead of Yellow, and
|
||||
conditionals are LightBlue for better distinction.
|
||||
|
||||
|
||||
FORTH *forth.vim* *ft-forth-syntax*
|
||||
|
||||
Files matching "*.fs" could be F# or Forth. If the automatic detection
|
||||
doesn't work for you, or you don't edit F# at all, use this in your
|
||||
startup vimrc: >
|
||||
:let filetype_fs = "forth"
|
||||
|
||||
|
||||
FORTRAN *fortran.vim* *ft-fortran-syntax*
|
||||
|
||||
Default highlighting and dialect ~
|
||||
@@ -1673,16 +1699,6 @@ as Fvwm2 configuration files, add the following: >
|
||||
:au! BufNewFile,BufRead /etc/X11/fvwm2/* let b:fvwm_version = 2 |
|
||||
\ set filetype=fvwm
|
||||
|
||||
If you'd like Vim to highlight all valid color names, tell it where to
|
||||
find the color database (rgb.txt) on your system. Do this by setting
|
||||
"rgb_file" to its location. Assuming your color database is located
|
||||
in /usr/X11/lib/X11/, you should add the line >
|
||||
|
||||
:let rgb_file = "/usr/X11/lib/X11/rgb.txt"
|
||||
|
||||
to your .vimrc file.
|
||||
|
||||
|
||||
GSP *gsp.vim* *ft-gsp-syntax*
|
||||
|
||||
The default coloring style for GSP pages is defined by |html.vim|, and
|
||||
@@ -3184,6 +3200,14 @@ buffer by buffer basis.
|
||||
For more detailed instructions see |ft_sql.txt|.
|
||||
|
||||
|
||||
SQUIRREL *squirrel.vim* *ft-squirrel-syntax*
|
||||
|
||||
Squirrel is a high level imperative, object-oriented programming language,
|
||||
designed to be a light-weight scripting language that fits in the size, memory
|
||||
bandwidth, and real-time requirements of applications like video games. Files
|
||||
with the following extensions are recognized as squirrel files: .nut.
|
||||
|
||||
|
||||
TCSH *tcsh.vim* *ft-tcsh-syntax*
|
||||
|
||||
This covers the shell named "tcsh". It is a superset of csh. See |csh.vim|
|
||||
@@ -4486,7 +4510,7 @@ it marks the "\(\I\i*\)" sub-expression as external; in the end pattern, it
|
||||
changes the \z1 back-reference into an external reference referring to the
|
||||
first external sub-expression in the start pattern. External references can
|
||||
also be used in skip patterns: >
|
||||
:syn region foo start="start \(\I\i*\)" skip="not end \z1" end="end \z1"
|
||||
:syn region foo start="start \z(\I\i*\)" skip="not end \z1" end="end \z1"
|
||||
|
||||
Note that normal and external sub-expressions are completely orthogonal and
|
||||
indexed separately; for instance, if the pattern "\z(..\)\(..\)" is applied
|
||||
@@ -4830,16 +4854,28 @@ in their own color.
|
||||
Doesn't work recursively, thus you can't use
|
||||
":colorscheme" in a color scheme script.
|
||||
|
||||
To customize a color scheme use another name, e.g.
|
||||
You have two options for customizing a color scheme.
|
||||
For changing the appearance of specific colors, you
|
||||
can redefine a color name before loading the scheme.
|
||||
The desert scheme uses the khaki color for the cursor.
|
||||
To use a darker variation of the same color: >
|
||||
|
||||
let v:colornames['khaki'] = '#bdb76b'
|
||||
colorscheme desert
|
||||
<
|
||||
For further customization, such as changing
|
||||
|:highlight-link| associations, use another name, e.g.
|
||||
"~/.vim/colors/mine.vim", and use `:runtime` to load
|
||||
the original color scheme: >
|
||||
runtime colors/evening.vim
|
||||
hi Statement ctermfg=Blue guifg=Blue
|
||||
|
||||
< Before the color scheme will be loaded the
|
||||
|ColorSchemePre| autocommand event is triggered.
|
||||
After the color scheme has been loaded the
|
||||
|ColorScheme| autocommand event is triggered.
|
||||
< Before the color scheme will be loaded all default
|
||||
color list scripts (`colors/lists/default.vim`) will
|
||||
be executed and then the |ColorSchemePre| autocommand
|
||||
event is triggered. After the color scheme has been
|
||||
loaded the |ColorScheme| autocommand event is
|
||||
triggered.
|
||||
For info about writing a color scheme file: >
|
||||
:edit $VIMRUNTIME/colors/README.txt
|
||||
|
||||
@@ -4849,6 +4885,7 @@ in their own color.
|
||||
:hi[ghlight] {group-name}
|
||||
List one highlight group.
|
||||
|
||||
*highlight-clear*
|
||||
:hi[ghlight] clear Reset all highlighting to the defaults. Removes all
|
||||
highlighting for groups added by the user!
|
||||
Uses the current value of 'background' to decide which
|
||||
@@ -4862,7 +4899,9 @@ in their own color.
|
||||
|
||||
:hi[ghlight] [default] {group-name} {key}={arg} ..
|
||||
Add a highlight group, or change the highlighting for
|
||||
an existing group.
|
||||
an existing group. If a given color name is not
|
||||
recognized, each `colors/lists/default.vim` found on
|
||||
|'runtimepath'| will be loaded.
|
||||
See |highlight-args| for the {key}={arg} arguments.
|
||||
See |:highlight-default| for the optional [default]
|
||||
argument.
|
||||
@@ -5143,8 +5182,35 @@ guisp={color-name} *highlight-guisp*
|
||||
"gg" is the Green value
|
||||
"bb" is the Blue value
|
||||
All values are hexadecimal, range from "00" to "ff". Examples: >
|
||||
:highlight Comment guifg=#11f0c3 guibg=#ff00ff
|
||||
:highlight Comment guifg=#11f0c3 guibg=#ff00ff
|
||||
<
|
||||
If you are authoring a color scheme and use the same hexademical value
|
||||
repeatedly, you can define a name for it in |v:colornames|. For
|
||||
example: >
|
||||
|
||||
# provide a default value for this color but allow the user to
|
||||
# override it.
|
||||
:call extend(v:colornames, {'alt_turquoise': '#11f0c3'}, 'keep')
|
||||
:highlight Comment guifg=alt_turquoise guibg=magenta
|
||||
<
|
||||
If you are using a color scheme that relies on named colors and you
|
||||
would like to adjust the precise appearance of those colors, you can
|
||||
do so by overriding the values in |v:colornames| prior to loading the
|
||||
scheme: >
|
||||
|
||||
let v:colornames['alt_turquoise'] = '#22f0d3'
|
||||
colorscheme alt
|
||||
<
|
||||
If you want to develop a color list that can be relied on by others,
|
||||
it is best to prefix your color names. By convention these color lists
|
||||
are placed in the colors/lists directory. You can see an example in
|
||||
'$VIMRUNTIME/colors/lists/csscolors.vim'. This list would be sourced
|
||||
by a color scheme using: >
|
||||
|
||||
:runtime colors/lists/csscolors.vim
|
||||
:highlight Comment guifg=css_turquoise
|
||||
<
|
||||
|
||||
*highlight-groups* *highlight-default*
|
||||
These are the default highlighting groups. These groups are used by the
|
||||
'highlight' option default. Note that the highlighting depends on the value
|
||||
@@ -5205,6 +5271,10 @@ LineNrBelow Line number for when the 'relativenumber'
|
||||
*hl-CursorLineNr*
|
||||
CursorLineNr Like LineNr when 'cursorline' is set and 'cursorlineopt'
|
||||
contains "number" or is "both", for the cursor line.
|
||||
*hl-CursorLineSign*
|
||||
CursorLineSign Like SignColumn when 'cursorline' is set for the cursor line.
|
||||
*hl-CursorLineFold*
|
||||
CursorLineFold Like FoldColumn when 'cursorline' is set for the cursor line.
|
||||
*hl-MatchParen*
|
||||
MatchParen The character under the cursor or just before it, if it
|
||||
is a paired bracket, and its match. |pi_paren.txt|
|
||||
@@ -5431,7 +5501,7 @@ For Unix you can use the file ~/.vim/after/syntax/syncolor.vim. Example: >
|
||||
else
|
||||
highlight comment ctermfg=green guifg=green
|
||||
endif
|
||||
|
||||
<
|
||||
*E679*
|
||||
Do make sure this syncolor.vim script does not use a "syntax on", set the
|
||||
'background' option or uses a "colorscheme" command, because it results in an
|
||||
@@ -5444,11 +5514,11 @@ depends on the color scheme file. See |:colorscheme|.
|
||||
*syntax_cmd*
|
||||
The "syntax_cmd" variable is set to one of these values when the
|
||||
syntax/syncolor.vim files are loaded:
|
||||
"on" ":syntax on" command. Highlight colors are overruled but
|
||||
"on" `:syntax on` command. Highlight colors are overruled but
|
||||
links are kept
|
||||
"enable" ":syntax enable" command. Only define colors for groups that
|
||||
don't have highlighting yet. Use ":syntax default".
|
||||
"reset" ":syntax reset" command or loading a color scheme. Define all
|
||||
"enable" `:syntax enable` command. Only define colors for groups that
|
||||
don't have highlighting yet. Use `:highlight default` .
|
||||
"reset" `:syntax reset` command or loading a color scheme. Define all
|
||||
the colors.
|
||||
"skip" Don't define colors. Used to skip the default settings when a
|
||||
syncolor.vim file earlier in 'runtimepath' has already set
|
||||
|
||||
1223
runtime/doc/tags
1223
runtime/doc/tags
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
*term.txt* For Vim version 8.2. Last change: 2021 Aug 29
|
||||
*term.txt* For Vim version 8.2. Last change: 2021 Dec 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -150,8 +150,10 @@ terminal that tmux is running in): >
|
||||
" Enable focus event tracking, see :help xterm-focus-event
|
||||
let &t_fe = "\<Esc>[?1004h"
|
||||
let &t_fd = "\<Esc>[?1004l"
|
||||
execute "set <FocusGained>=\<Esc>[I"
|
||||
execute "set <FocusLost>=\<Esc>[O"
|
||||
|
||||
" Enable modified arrow keys, see :help xterm-modifier-keys
|
||||
" Enable modified arrow keys, see :help arrow_modifiers
|
||||
execute "silent! set <xUp>=\<Esc>[@;*A"
|
||||
execute "silent! set <xDown>=\<Esc>[@;*B"
|
||||
execute "silent! set <xRight>=\<Esc>[@;*C"
|
||||
@@ -252,7 +254,19 @@ another code. That is to avoid that the codes obtained from xterm directly
|
||||
Another special value is a termcap entry ending in "@;*X". This is for cursor
|
||||
keys, which either use "CSI X" or "CSI 1 ; modifier X". Thus the "@"
|
||||
stands for either "1" if a modifier follows, or nothing.
|
||||
*xterm-scroll-region*
|
||||
*arrow_modifiers*
|
||||
Several terminal emulators (alacritty, gnome, konsole, etc.) send special
|
||||
codes for keys with modifiers, but these do not have an entry in the
|
||||
termcap/terminfo database. You can make them work by adding a few lines in
|
||||
your vimrc. For example, to make the Control modifier work with arrow keys
|
||||
for the gnome terminal: >
|
||||
if &term =~ 'gnome'
|
||||
execute "set <xUp>=\<Esc>[@;*A"
|
||||
execute "set <xDown>=\<Esc>[@;*B"
|
||||
execute "set <xRight>=\<Esc>[@;*C"
|
||||
execute "set <xLeft>=\<Esc>[@;*D"
|
||||
endif
|
||||
< *xterm-scroll-region*
|
||||
The default termcap entry for xterm on Sun and other platforms does not
|
||||
contain the entry for scroll regions. Add ":cs=\E[%i%d;%dr:" to the xterm
|
||||
entry in /etc/termcap and everything should work.
|
||||
@@ -542,8 +556,15 @@ request the key codes directly from the xterm. The responses are used to
|
||||
adjust the various t_ codes. This avoids the problem that the xterm can
|
||||
produce different codes, depending on the mode it is in (8-bit, VT102,
|
||||
VT220, etc.). The result is that codes like <xF1> are no longer needed.
|
||||
Note: This is only done on startup. If the xterm options are changed after
|
||||
Vim has started, the escape sequences may not be recognized anymore.
|
||||
|
||||
One of the codes that can change is 't_Co', the number of colors. This will
|
||||
trigger a redraw. If this is a problem, reset the 'xtermcodes' option as
|
||||
early as possible: >
|
||||
set noxtermcodes
|
||||
|
||||
Note: Requesting the key codes is only done on startup. If the xterm options
|
||||
are changed after Vim has started, the escape sequences may not be recognized
|
||||
anymore.
|
||||
|
||||
*xterm-true-color*
|
||||
Vim supports using true colors in the terminal (taken from |highlight-guifg|
|
||||
@@ -594,6 +615,8 @@ If your terminal does support this but Vim does not recognize the terminal,
|
||||
you may have to set the options yourself: >
|
||||
let &t_fe = "\<Esc>[?1004h"
|
||||
let &t_fd = "\<Esc>[?1004l"
|
||||
execute "set <FocusGained>=\<Esc>[I"
|
||||
execute "set <FocusLost>=\<Esc>[O"
|
||||
If this causes garbage to show when Vim starts up then it doesn't work.
|
||||
|
||||
*termcap-colors*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 8.2. Last change: 2021 Aug 15
|
||||
*terminal.txt* For Vim version 8.2. Last change: 2022 Jan 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -39,6 +39,7 @@ If the result is "1" you have it.
|
||||
Stepping through code |termdebug-stepping|
|
||||
Inspecting variables |termdebug-variables|
|
||||
Other commands |termdebug-commands|
|
||||
Events |termdebug-events|
|
||||
Prompt mode |termdebug-prompt|
|
||||
Communication |termdebug-communication|
|
||||
Customizing |termdebug-customizing|
|
||||
@@ -168,9 +169,6 @@ terminal window will start with a white or black background.
|
||||
To use a different color the Terminal highlight group can be used, for
|
||||
example: >
|
||||
hi Terminal ctermbg=lightgrey ctermfg=blue guibg=lightgrey guifg=blue
|
||||
The highlight needs to be defined before the terminal is created. Doing it
|
||||
later, or setting 'wincolor', will only have effect when the program running
|
||||
in the terminal displays text or clears the terminal.
|
||||
Instead of Terminal another group can be specified with the "term_highlight"
|
||||
option for `term_start()`.
|
||||
|
||||
@@ -243,7 +241,7 @@ Command syntax ~
|
||||
++shell Instead of executing {command}
|
||||
directly, use a shell, like with
|
||||
`:!command` *E279*
|
||||
{only works on Unix currently}
|
||||
{only works on Unix and MS-Windows}
|
||||
++kill={how} When trying to close the terminal
|
||||
window kill the job with {how}. See
|
||||
|term_setkill()| for the values.
|
||||
@@ -874,7 +872,8 @@ term_start({cmd} [, {options}]) *term_start()*
|
||||
"term_name" name to use for the buffer name, instead
|
||||
of the command name.
|
||||
"term_rows" vertical size to use for the terminal,
|
||||
instead of using 'termwinsize'
|
||||
instead of using 'termwinsize'; valid
|
||||
range is from zero to 1000
|
||||
"term_cols" horizontal size to use for the terminal,
|
||||
instead of using 'termwinsize'
|
||||
"vertical" split the window vertically; note that
|
||||
@@ -1179,7 +1178,7 @@ gdb window A terminal window in which "gdb vim" is executed. Here you
|
||||
program window A terminal window for the executed program. When "run" is
|
||||
used in gdb the program I/O will happen in this window, so
|
||||
that it does not interfere with controlling gdb. The buffer
|
||||
name is "gdb program".
|
||||
name is "debugged program".
|
||||
|
||||
The current window is used to show the source code. When gdb pauses the
|
||||
source file location will be displayed, if possible. A sign is used to
|
||||
@@ -1430,6 +1429,8 @@ GDB command *termdebug-customizing*
|
||||
To change the name of the gdb command, set the "g:termdebugger" variable before
|
||||
invoking `:Termdebug`: >
|
||||
let g:termdebugger = "mygdb"
|
||||
If the command needs an argument use a List: >
|
||||
let g:termdebugger = ['rr', 'replay', '--']
|
||||
< *gdb-version*
|
||||
Only debuggers fully compatible with gdb will work. Vim uses the GDB/MI
|
||||
interface. The "new-ui" command requires gdb version 7.12 or later. if you
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*testing.txt* For Vim version 8.2. Last change: 2021 Aug 15
|
||||
*testing.txt* For Vim version 8.2. Last change: 2022 Jan 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -65,7 +65,8 @@ test_garbagecollect_now() *test_garbagecollect_now()*
|
||||
Like garbagecollect(), but executed right away. This must
|
||||
only be called directly to avoid any structure to exist
|
||||
internally, and |v:testing| must have been set before calling
|
||||
any function.
|
||||
any function. This will not work when called from a :def
|
||||
function, because variables on the stack will be freed.
|
||||
|
||||
|
||||
test_garbagecollect_soon() *test_garbagecollect_soon()*
|
||||
@@ -81,46 +82,95 @@ test_getvalue({name}) *test_getvalue()*
|
||||
Can also be used as a |method|: >
|
||||
GetName()->test_getvalue()
|
||||
<
|
||||
*test_gui_drop_files()*
|
||||
test_gui_drop_files({list}, {row}, {col}, {mods})
|
||||
Drop one or more files in {list} in the window at {row}, {col}.
|
||||
This function only works when the GUI is running and the
|
||||
|drag-n-drop| feature is present.
|
||||
|
||||
The supported values for {mods} are:
|
||||
0x4 Shift
|
||||
0x8 Alt
|
||||
0x10 Ctrl
|
||||
The files are added to the argument list and the first file in
|
||||
{list} is edited in the window. See |drag-n-drop| for more
|
||||
information.
|
||||
*test_gui_event()*
|
||||
test_gui_event({event}, {args})
|
||||
Generate a GUI {event} with arguments {args} for testing Vim
|
||||
functionality. This function works only when the GUI is
|
||||
running.
|
||||
|
||||
*test_gui_mouse_event()*
|
||||
test_gui_mouse_event({button}, {row}, {col}, {multiclick}, {modifiers})
|
||||
Inject a mouse button click event. This function only works
|
||||
when the GUI is running.
|
||||
The supported values for {button} are:
|
||||
0 right mouse button
|
||||
1 middle mouse button
|
||||
2 left mouse button
|
||||
3 mouse button release
|
||||
4 scroll wheel down
|
||||
5 scroll wheel up
|
||||
6 scroll wheel left
|
||||
7 scroll wheel right
|
||||
{row} and {col} specify the location of the mouse click. The
|
||||
first row of the Vim window is 1 and the last row is 'lines'.
|
||||
The maximum value of {col} is 'columns'.
|
||||
To inject a multiclick event, set {multiclick} to 1.
|
||||
The supported values for {modifiers} are:
|
||||
4 shift is pressed
|
||||
8 alt is pressed
|
||||
16 ctrl is pressed
|
||||
After injecting the mouse event you probably should call
|
||||
{event} is a String and the supported values are:
|
||||
"dropfiles" drop one or more files in a window.
|
||||
"findrepl" search and replace text
|
||||
"mouse" mouse button click event.
|
||||
"tabline" select a tab page by mouse click.
|
||||
"tabmenu" select a tabline menu entry.
|
||||
|
||||
{args} is a Dict and contains the arguments for the event.
|
||||
|
||||
"dropfiles":
|
||||
Drop one or more files in a specified window. The supported
|
||||
items in {args} are:
|
||||
files: List of file names
|
||||
row: window row number
|
||||
col: window column number
|
||||
modifiers: key modifiers. The supported values are:
|
||||
0x4 Shift
|
||||
0x8 Alt
|
||||
0x10 Ctrl
|
||||
The files are added to the |argument-list| and the first
|
||||
file in {files} is edited in the window. See |drag-n-drop|
|
||||
for more information. This event works only when the
|
||||
|drop_file| feature is present.
|
||||
|
||||
"findrepl":
|
||||
Perform a search and replace of text. The supported items
|
||||
in {args} are:
|
||||
find_text: string to find.
|
||||
repl_text: replacement string
|
||||
flags: flags controlling the find/replace. Supported
|
||||
values are:
|
||||
1 search next string (find dialog)
|
||||
2 search next string (replace dialog)
|
||||
3 replace string once
|
||||
4 replace all matches
|
||||
8 match whole words only
|
||||
16 match case
|
||||
forward: set to 1 for forward search.
|
||||
|
||||
"mouse":
|
||||
Inject a mouse button click event. The supported items in
|
||||
{args} are:
|
||||
button: mouse button. The supported values are:
|
||||
0 right mouse button
|
||||
1 middle mouse button
|
||||
2 left mouse button
|
||||
3 mouse button release
|
||||
4 scroll wheel down
|
||||
5 scroll wheel up
|
||||
6 scroll wheel left
|
||||
7 scroll wheel right
|
||||
row: mouse click row number. The first row of the
|
||||
Vim window is 1 and the last row is 'lines'.
|
||||
col: mouse click column number. The maximum value
|
||||
of {col} is 'columns'.
|
||||
multiclick: set to 1 to inject a multiclick mouse event.
|
||||
modifiers: key modifiers. The supported values are:
|
||||
4 shift is pressed
|
||||
8 alt is pressed
|
||||
16 ctrl is pressed
|
||||
|
||||
"tabline":
|
||||
Inject a mouse click event on the tabline to select a
|
||||
tabpage. The supported items in {args} are:
|
||||
tabnr: tab page number
|
||||
|
||||
"tabmenu":
|
||||
Inject an event to select a tabline menu entry. The
|
||||
supported items in {args} are:
|
||||
tabnr: tab page number
|
||||
item: tab page menu item number. 1 for the first
|
||||
menu item, 2 for the second item and so on.
|
||||
|
||||
After injecting the GUI events you probably should call
|
||||
|feedkeys()| to have them processed, e.g.: >
|
||||
call feedkeys("y", 'Lx!')
|
||||
<
|
||||
Returns TRUE if the event is successfully added, FALSE if
|
||||
there is a failure.
|
||||
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetEvent()->test_gui_event({args})
|
||||
<
|
||||
test_ignore_error({expr}) *test_ignore_error()*
|
||||
Ignore any error containing {expr}. A normal message is given
|
||||
instead.
|
||||
@@ -187,24 +237,28 @@ test_override({name}, {val}) *test_override()*
|
||||
to run tests. Only to be used for testing Vim!
|
||||
The override is enabled when {val} is non-zero and removed
|
||||
when {val} is zero.
|
||||
Current supported values for name are:
|
||||
Current supported values for {name} are:
|
||||
|
||||
name effect when {val} is non-zero ~
|
||||
redraw disable the redrawing() function
|
||||
redraw_flag ignore the RedrawingDisabled flag
|
||||
{name} effect when {val} is non-zero ~
|
||||
autoload `import autoload` will load the script right
|
||||
away, not postponed until an item is used
|
||||
char_avail disable the char_avail() function
|
||||
starting reset the "starting" variable, see below
|
||||
nfa_fail makes the NFA regexp engine fail to force a
|
||||
fallback to the old engine
|
||||
no_query_mouse do not query the mouse position for "dec"
|
||||
terminals
|
||||
no_wait_return set the "no_wait_return" flag. Not restored
|
||||
with "ALL".
|
||||
ui_delay time in msec to use in ui_delay(); overrules a
|
||||
wait time of up to 3 seconds for messages
|
||||
redraw disable the redrawing() function
|
||||
redraw_flag ignore the RedrawingDisabled flag
|
||||
starting reset the "starting" variable, see below
|
||||
term_props reset all terminal properties when the version
|
||||
string is detected
|
||||
ui_delay time in msec to use in ui_delay(); overrules a
|
||||
wait time of up to 3 seconds for messages
|
||||
uptime overrules sysinfo.uptime
|
||||
vterm_title setting the window title by a job running in a
|
||||
terminal window
|
||||
ALL clear all overrides ({val} is not used)
|
||||
|
||||
"starting" is to be used when a test should behave like
|
||||
@@ -347,7 +401,7 @@ assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]])
|
||||
Run {cmd} and add an error message to |v:errors| if it does
|
||||
NOT produce an error or when {error} is not found in the
|
||||
error message. Also see |assert-return|.
|
||||
|
||||
*E856*
|
||||
When {error} is a string it must be found literally in the
|
||||
first reported error. Most often this will be the error code,
|
||||
including the colon, e.g. "E123:". >
|
||||
@@ -367,12 +421,12 @@ assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]])
|
||||
<
|
||||
If {msg} is empty then it is not used. Do this to get the
|
||||
default message when passing the {lnum} argument.
|
||||
|
||||
*E1115*
|
||||
When {lnum} is present and not negative, and the {error}
|
||||
argument is present and matches, then this is compared with
|
||||
the line number at which the error was reported. That can be
|
||||
the line number in a function or in a script.
|
||||
|
||||
*E1116*
|
||||
When {context} is present it is used as a pattern and matched
|
||||
against the context (script name or function name) where
|
||||
{lnum} is located in.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*textprop.txt* For Vim version 8.2. Last change: 2021 Aug 16
|
||||
*textprop.txt* For Vim version 8.2. Last change: 2021 Nov 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -230,13 +230,25 @@ prop_find({props} [, {direction}])
|
||||
|
||||
|
||||
prop_list({lnum} [, {props}]) *prop_list()*
|
||||
Return a List with all text properties in line {lnum}.
|
||||
Returns a List with all the text properties in line {lnum}.
|
||||
|
||||
When {props} contains a "bufnr" item, use this buffer instead
|
||||
of the current buffer.
|
||||
The following optional items are supported in {props}:
|
||||
bufnr use this buffer instead of the current buffer
|
||||
end_lnum return text properties in all the lines
|
||||
between {lnum} and {end_lnum} (inclusive).
|
||||
A negative value is used as an offset from the
|
||||
last buffer line; -1 refers to the last buffer
|
||||
line.
|
||||
types List of property type names. Return only text
|
||||
properties that match one of the type names.
|
||||
ids List of property identifiers. Return only text
|
||||
properties with one of these identifiers.
|
||||
|
||||
The properties are ordered by starting column and priority.
|
||||
Each property is a Dict with these entries:
|
||||
lnum starting line number. Present only when
|
||||
returning text properties between {lnum} and
|
||||
{end_lnum}.
|
||||
col starting column
|
||||
length length in bytes, one more if line break is
|
||||
included
|
||||
@@ -253,6 +265,30 @@ prop_list({lnum} [, {props}]) *prop_list()*
|
||||
When "end" is zero the property continues in the next line.
|
||||
The line break after this line is included.
|
||||
|
||||
Returns an empty list on error.
|
||||
|
||||
Examples:
|
||||
" get text properties placed in line 5
|
||||
echo prop_list(5)
|
||||
" get text properties placed in line 20 in buffer 4
|
||||
echo prop_list(20, {'bufnr': 4})
|
||||
" get all the text properties between line 1 and 20
|
||||
echo prop_list(1, {'end_lnum': 20})
|
||||
" get all the text properties of type 'myprop'
|
||||
echo prop_list(1, {'types': ['myprop'],
|
||||
\ 'end_lnum': -1})
|
||||
" get all the text properties of type 'prop1' or 'prop2'
|
||||
echo prop_list(1, {'types': ['prop1', 'prop2'],
|
||||
\ 'end_lnum': -1})
|
||||
" get all the text properties with ID 8
|
||||
echo prop_list(1, {'ids': [8], 'end_lnum': line('$')})
|
||||
" get all the text properties with ID 10 and 20
|
||||
echo prop_list(1, {'ids': [10, 20], 'end_lnum': -1})
|
||||
" get text properties with type 'myprop' and ID 100
|
||||
" in buffer 4.
|
||||
echo prop_list(1, {'bufnr': 4, 'types': ['myprop'],
|
||||
\ 'ids': [100], 'end_lnum': -1})
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetLnum()->prop_list()
|
||||
<
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*tips.txt* For Vim version 8.2. Last change: 2020 Dec 29
|
||||
*tips.txt* For Vim version 8.2. Last change: 2021 Nov 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -549,6 +549,7 @@ the current window, try this custom `:HelpCurwin` command:
|
||||
endif
|
||||
if !getcompletion(a:subject, 'help')->empty()
|
||||
execute mods .. ' edit ' .. &helpfile
|
||||
set buftype=help
|
||||
endif
|
||||
return 'help ' .. a:subject
|
||||
endfunction
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.2. Last change: 2021 Sep 22
|
||||
*todo.txt* For Vim version 8.2. Last change: 2022 Jan 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -38,40 +38,31 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Flaky test op Windows:
|
||||
From test_vim9_script.vim:
|
||||
Found errors in Test_no_unknown_error_after_error():
|
||||
command line..script D:/a/vim/vim/src2/testdir/runtest.vim[486]..function RunTheTest[44]..Test_no_unknown_error_after_error line 22: Expected 'E1012:' but got 'E684: list index out of range: 0': so Xdef
|
||||
Only find a global function from Vim9 script when using "g:" ? #9637
|
||||
|
||||
Vim9 - Make everything work:
|
||||
- Check TODO items in vim9compile.c and vim9execute.c
|
||||
- use CheckLegacyAndVim9Success(lines) in many more places
|
||||
- For builtin functions using tv_get_string*() use check_for_string() to be
|
||||
more strict about the argument type (not a bool).
|
||||
done: balloon_()
|
||||
- Check many more builtin function arguments at compile time.
|
||||
map() could check that the return type of the function argument matches
|
||||
the type of the list or dict member. (#8092)
|
||||
Same for other functions, such as searchpair().
|
||||
- Test try/catch and throw better, also nested.
|
||||
Test that return inside try/finally jumps to finally and then returns.
|
||||
- Test that a function defined inside a :def function is local to that
|
||||
function, g: functions can be defined and script-local functions cannot be
|
||||
defined.
|
||||
- Unexpected error message when using "var x: any | x.key = 9", because "x" is
|
||||
given the type number. Can we use VAR_ANY?
|
||||
- Check performance with callgrind and kcachegrind.
|
||||
Disallow defining a script#Func() in Vim9 script.
|
||||
|
||||
Cannot use command modifier for "import 'name.vim' as vim9"
|
||||
|
||||
When making a copy of a list or dict, do not keep the type? #9644
|
||||
With deepcopy() all, with copy() this still fails:
|
||||
var l: list<list<number>> = [[1], [2]]
|
||||
l->copy()[0][0] = 'x'
|
||||
|
||||
Remove EBCDIC support?
|
||||
|
||||
Once Vim9 is stable:
|
||||
- Add the "vim9script" feature, can use has('vim9script')
|
||||
- Change the help to prefer Vim9 syntax where appropriate
|
||||
- Add all the error numbers in a good place in documentation.
|
||||
- In the generic eval docs, point out the Vim9 syntax where it differs.
|
||||
done until E1145
|
||||
- Check code coverage, add more tests if needed.
|
||||
- Use Vim9 for runtime files.
|
||||
PR #7497 for autoload/ccomplete.vim
|
||||
|
||||
Further Vim9 improvements, possibly after launch:
|
||||
- better implementation for partial and tests for that.
|
||||
- Check performance with callgrind and kcachegrind.
|
||||
- Better implementation for partial and tests for that.
|
||||
- when using "const" mark the variable type as const with TTFLAG_CONST, so
|
||||
that an error is given at compile time when trying to change it. E.g. for a
|
||||
const list and trying to call add().
|
||||
- Compile options that are an expression, e.g. "expr:" in 'spellsuggest',
|
||||
'foldexpr', 'foldtext', 'printexpr', 'diffexpr', 'patchexpr', 'charconvert',
|
||||
'balloonexpr', 'includeexpr', 'indentexpr', 'formatexpr'.
|
||||
@@ -80,10 +71,11 @@ Further Vim9 improvements, possibly after launch:
|
||||
evaluation.
|
||||
Use the location where the option was set for deciding whether it's to be
|
||||
evaluated in Vim9 script context.
|
||||
- Handle command that is only a range more efficient than calling ISN_EXEC
|
||||
- implement :type, "import type"
|
||||
- implement enum, "import enum".
|
||||
- implement class and interface: See |vim9-classes|
|
||||
- Implement "import lazy" - like autoload but with a relative or absolute
|
||||
path. #9595
|
||||
- implement :type
|
||||
- implement :enum
|
||||
- implement :class and :interface: See |vim9-classes|
|
||||
- For range: make table of first ASCII character with flag to quickly check if
|
||||
it can be a Vim9 command. E.g. "+" can, but "." can't.
|
||||
- Inline call to map() and filter(), better type checking.
|
||||
@@ -94,6 +86,10 @@ Further Vim9 improvements, possibly after launch:
|
||||
has(featureName), len(someString)
|
||||
- Implement as part of an expression: ++expr, --expr, expr++, expr--.
|
||||
|
||||
Update list of features to vote on:
|
||||
- multiple cursors
|
||||
- built-in LSP support
|
||||
- start first line halfway
|
||||
|
||||
Popup windows:
|
||||
- Preview popup not properly updated when it overlaps with completion menu.
|
||||
@@ -136,8 +132,6 @@ Text properties:
|
||||
where property fits in.
|
||||
Or Should we let the textprop highlight overrule other (e.g. diff) highlight
|
||||
if the priority is above a certain value? (#7392)
|
||||
- Popup attached to text property stays visible when text is no longer
|
||||
visible. (#7736)
|
||||
- Popup attached to text property stays visible when text is deleted with
|
||||
"cc". (#7737) "C" works OK. "dd" also files in a buffer with a single
|
||||
line.
|
||||
@@ -199,8 +193,6 @@ Terminal emulator window:
|
||||
- GUI: When using ":set go+=!" a system() call causes the hit-enter prompt.
|
||||
(#3327)
|
||||
- Allow for specifying the directory, with ++cwd={dir}.
|
||||
- With a vertical split only one window is updated. (Linwei, 2018 Jun 2,
|
||||
#2977)
|
||||
- When pasting should call vterm_keyboard_start_paste(), e.g. when using
|
||||
K_MIDDLEMOUSE, calling insert_reg().
|
||||
- Users expect parsing the :term argument like a shell does, also support
|
||||
@@ -219,17 +211,22 @@ Terminal emulator window:
|
||||
- When 'encoding' is not utf-8, or the job is using another encoding, setup
|
||||
conversions.
|
||||
|
||||
Include patch #6290: recognize shell directory change.
|
||||
|
||||
When using 'cryptmethod' xchaha20 the undo file is not encrypted.
|
||||
Need to handle extra bytes.
|
||||
|
||||
In Select mode the deleted text always goes into the unnamed register.
|
||||
Use CTRL-R to specify the register to use. (#9531)
|
||||
|
||||
Some prompts are not translated: #9495
|
||||
|
||||
Test_communicate_ipv6(): is flaky on many systems
|
||||
Fails in line 64 of Ch_communicate, no exception is thrown.
|
||||
|
||||
Patch for Template string: #4634
|
||||
Have another look at the implementation.
|
||||
|
||||
Add expanding <script> which works like <sfile> everywhere. #9189
|
||||
|
||||
Rename getdigraphlist -> digraph_getlist() etc.
|
||||
|
||||
Valgrind reports memory leaks in test_options.
|
||||
@@ -250,6 +247,8 @@ Memory leak in test_alot with pyeval() (allocating partial)
|
||||
Memory leak in test_alot with expand()
|
||||
Memory leaks in test_channel? (or is it because of fork())
|
||||
|
||||
PR to support %e and %k in 'errorformat'. #9624
|
||||
|
||||
Idea: when typing ":e /some/dir/" and "dir" does not exist, highlight in red.
|
||||
|
||||
":set &shellpipe" and ":set &shellredir" should use the logic from
|
||||
@@ -258,10 +257,16 @@ this.
|
||||
|
||||
MS-Windows: did path modifier :p:8 stop working? #8600
|
||||
|
||||
Add support for "underdouble", "underdot" and "underdash". #9553
|
||||
|
||||
test_arglist func Test_all_not_allowed_from_cmdwin() hangs on MS-Windows.
|
||||
|
||||
Mapping with partial match not executed properly in GTK. (Ingo Karkat, #7082)
|
||||
|
||||
Information for a specific terminal (e.g. gnome, tmux, konsole, alacritty) is
|
||||
spread out. Make a section with copy/paste examples of script and pointers to
|
||||
more information.
|
||||
|
||||
Problem that a previous silent ":throw" causes a following try/catch not to
|
||||
work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)
|
||||
Also see #8487 for an example.
|
||||
@@ -272,12 +277,18 @@ Was originally written by Felipe Morales.
|
||||
Request to use "." for the cursor column in search pattern \%<.c and \%<.v.
|
||||
(#8179)
|
||||
|
||||
":filter set termcap" only filters terminal codes, not keys. (#9297)
|
||||
|
||||
Remove SPACE_IN_FILENAME ? It is only used for completion.
|
||||
|
||||
When 'term' starts with "foot" then default t_TI and t_TE to the values used
|
||||
for the builtin xterm termcap.
|
||||
|
||||
Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
|
||||
(#4087) Did patch 8.2.2379 help?
|
||||
Also, z= in German on a long word can take a very long time, but CTRL-C to
|
||||
interrupt does not work. Where to add ui_breakcheck()?
|
||||
|
||||
Remove SPACE_IN_FILENAME ? It is only used for completion.
|
||||
New English spell files also have very slow suggestions.
|
||||
|
||||
Searching for \%'> does not find anything when using line Visual selection.
|
||||
Probably because it's using MAXCOL. #8238
|
||||
@@ -412,8 +423,6 @@ Motif: Build on Ubuntu can't enter any text in dialog text fields.
|
||||
Running test_gui and test_gui_init with Motif sometimes kills the window
|
||||
manager. Problem with Motif?
|
||||
|
||||
Patch to add :argdedupe. (Nir Lichtman, #6235)
|
||||
|
||||
When editing a file with ":edit" the output of :swapname is relative, while
|
||||
editing it with "vim file" it is absolute. (#355)
|
||||
Which one should it be?
|
||||
@@ -629,36 +638,31 @@ Window size changes after closing a tab. (#4741)
|
||||
|
||||
Problem with colors in terminal window. (Jason Franklin, 2019 May 12)
|
||||
|
||||
Lifepillar: Updated/cleaned up color schemes:
|
||||
https://github.com/lifepillar/vim8-colorschemes.
|
||||
|
||||
Include a few color schemes, based on popularity:
|
||||
http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
|
||||
Color schemes:
|
||||
NOTE: modernizing the default colorschemes _AND_ introducing new ones is now
|
||||
a project in its own right: https://github.com/vim/colorschemes. Feel free to
|
||||
reach out if you want to lend a hand.
|
||||
- Lifepillar: Updated/cleaned up color schemes:
|
||||
https://github.com/lifepillar/vim8-colorschemes.
|
||||
- Include a few color schemes, based on popularity:
|
||||
- http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
|
||||
http://vimawesome.com/?q=tag:color-scheme
|
||||
Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
|
||||
- monokai - Xia Crusoe (2017 Aug 4)
|
||||
- seoul256 - Christian Brabandt (2017 Aug 3)
|
||||
- gruvbox - Christian Brabandt (2017 Aug 3) (simplified version from
|
||||
Lifepillar, 2018 Jan 22, #2573)
|
||||
- janah - Marco Hinz (2017 Aug 4)
|
||||
- apprentice - Romain Lafourcade (2017 Aug 6) remarks about help file #1964
|
||||
Suggested by Hiroki Kokubun:
|
||||
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
|
||||
- [hybrid](https://github.com/w0ng/vim-hybrid)
|
||||
Include solarized color scheme?, it does not support termguicolors.
|
||||
- Sanitized version of pablo (Lifepillar, 2017 Nov 21)
|
||||
- Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
|
||||
- monokai - Xia Crusoe (2017 Aug 4)
|
||||
- seoul256 - Christian Brabandt (2017 Aug 3)
|
||||
- gruvbox - Christian Brabandt (2017 Aug 3) (simplified version from
|
||||
Lifepillar, 2018 Jan 22, #2573)
|
||||
- janah - Marco Hinz (2017 Aug 4)
|
||||
- apprentice - Romain Lafourcade (2017 Aug 6) remarks about help file #1964
|
||||
- Suggested by Hiroki Kokubun:
|
||||
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
|
||||
- [hybrid](https://github.com/w0ng/vim-hybrid)
|
||||
- Include solarized color scheme?, it does not support termguicolors.
|
||||
- Sanitized version of pablo (Lifepillar, 2017 Nov 21)
|
||||
|
||||
Bug: "vipgw" does not put cursor back where it belongs. (Jason Franklin, 2019
|
||||
Mar 5)
|
||||
|
||||
Many users don't like 'thesaurus' to match so many words. (#4667, #1611)
|
||||
- when the match with the first word is partial, don't add other words on that
|
||||
line.
|
||||
- support other file formats, such as comma separated. Indicate by a prefix
|
||||
to the file in the 'thesaurus' option.
|
||||
- 'threglookexp' option: only match with first word in thesaurus file.
|
||||
(Jakson A. Aquino, 2006 Jun 14)
|
||||
|
||||
Some composing characters actually add a cell width to the character they are
|
||||
on top off, making the whole thing two characters wide. (#4526)
|
||||
|
||||
@@ -848,9 +852,7 @@ window for the buffer.
|
||||
Win32 key codes are messy. Mike Williams tried to fix that, but now old
|
||||
mappings no longer work. Create a new terminal for the better solution?
|
||||
|
||||
Compiler warnings (geeknik, 2017 Oct 26):
|
||||
- signed integer overflow in do_sub() (#2249)
|
||||
- signed integer overflow in get_address() (#2248)
|
||||
Compiler warning (geeknik, 2017 Oct 26):
|
||||
- undefined left shift in get_string_tv() (#2250)
|
||||
|
||||
Add Native language protocol server (LSP) support. (Yegappan Lakshmanan, 2018
|
||||
@@ -918,9 +920,6 @@ With 'foldmethod' "indent" and appending an empty line, what follows isn't
|
||||
included in the existing fold. Deleting the empty line and undo fixes it.
|
||||
(Oleg Koshovetc, 2018 Jul 15, #3214)
|
||||
|
||||
Patch to support "xxd -ps". (Erik Auerswald, 2018 May 1)
|
||||
Lacks a test.
|
||||
|
||||
Column number is wrong when using 'linebreak' and 'wrap'. (Keith Smiley, 2018
|
||||
Jan 15, #2555)
|
||||
|
||||
@@ -1470,10 +1469,6 @@ When the CursorMovedI event triggers, and CTRL-X was typed, a script cannot
|
||||
restore the mode properly. (Andrew Stewart, 2016 Apr 20)
|
||||
Do not trigger the event?
|
||||
|
||||
Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013)
|
||||
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
|
||||
https://gist.github.com/presuku/d3d6b230b9b6dcfc0477
|
||||
|
||||
Patch to make the behavior of "w" more straightforward, but not Vi compatible.
|
||||
With a 'cpo' flag. (Christian Brabandt, 2016 Feb 8)
|
||||
|
||||
@@ -3901,7 +3896,7 @@ User Friendlier:
|
||||
$HOME/_vimrc, etc.) and add "edit vimrc" to the File menu.
|
||||
- Add a way to save local settings and mappings into a new plugin file.
|
||||
":mkplugin <file>"?
|
||||
- Add mappings local to a window: ":map <window> ..."?
|
||||
- Add mappings local to a window: ":map <window> ..." #9339
|
||||
9 Add buffer-local menu. Should offer a choice between removing the menu or
|
||||
disabling it. Be careful that tear-offs don't disappear (keep one empty
|
||||
item?).
|
||||
@@ -4159,6 +4154,9 @@ Printing:
|
||||
|
||||
|
||||
Syntax highlighting:
|
||||
Long term goal: faster, better, etc. Options:
|
||||
- use treesitter, NeoVim uses it
|
||||
- use TextMate, vscode uses it. #9087
|
||||
8 Make ":syn off" use 'runtimepath' instead of $VIMRUNTIME. (Gary Johnson)
|
||||
Should do the same for ":syn on" and ":syn manual".
|
||||
8 Support "containedin" argument for ":syn include", so that the defined
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_06.txt* For Vim version 8.2. Last change: 2019 Jun 01
|
||||
*usr_06.txt* For Vim version 8.2. Last change: 2021 Nov 07
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -184,7 +184,30 @@ this command: >
|
||||
:runtime syntax/colortest.vim
|
||||
|
||||
You will see text in various color combinations. You can check which ones are
|
||||
readable and look nice.
|
||||
readable and look nice. These aren't the only colors available to you though.
|
||||
You can specify #rrggbb hex colors and you can define new names for hex
|
||||
colors in |v:colornames| like so: >
|
||||
|
||||
let v:colornames['mine_red'] = '#aa0000'
|
||||
|
||||
If you are authoring a color scheme for others to use, it is important
|
||||
to define these colors only when they do not exist: >
|
||||
|
||||
call extend(v:colornames, {'mine_red': '#aa0000'}, 'keep')
|
||||
|
||||
This allows users of the color scheme to override the precise definition of
|
||||
that color prior to loading your color scheme. For example, in a |.vimrc|
|
||||
file: >
|
||||
|
||||
runtime colors/lists/css_colors.vim
|
||||
let v:colornames['your_red'] = v:colornames['css_red']
|
||||
colorscheme yourscheme
|
||||
|
||||
As a color scheme author, you should be able to rely on some color names for
|
||||
GUI colors. These are defined in `colors/lists/default.vim`. All such files
|
||||
found on the |'runtimepath'| are loaded each time the colorscheme command is
|
||||
run. A canonical list is provided by the vim distribution, which should
|
||||
include all X11 colors (previously defined in rgb.txt).
|
||||
|
||||
==============================================================================
|
||||
*06.4* With colors or without colors
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_20.txt* For Vim version 8.2. Last change: 2006 Apr 24
|
||||
*usr_20.txt* For Vim version 8.2. Last change: 2021 Nov 18
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -289,11 +289,11 @@ In chapter 3 we briefly mentioned the history. The basics are that you can
|
||||
use the <Up> key to recall an older command line. <Down> then takes you back
|
||||
to newer commands.
|
||||
|
||||
There are actually four histories. The ones we will mention here are for ":"
|
||||
There are actually five histories. The ones we will mention here are for ":"
|
||||
commands and for "/" and "?" search commands. The "/" and "?" commands share
|
||||
the same history, because they are both search commands. The two other
|
||||
histories are for expressions and input lines for the input() function.
|
||||
|cmdline-history|
|
||||
the same history, because they are both search commands. The three other
|
||||
histories are for expressions, debug mode commands and input lines for the
|
||||
input() function. |cmdline-history|
|
||||
|
||||
Suppose you have done a ":set" command, typed ten more colon commands and then
|
||||
want to repeat that ":set" command again. You could press ":" and then ten
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_40.txt* For Vim version 8.2. Last change: 2020 Sep 02
|
||||
*usr_40.txt* For Vim version 8.2. Last change: 2022 Jan 03
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -20,7 +20,7 @@ Table of contents: |usr_toc.txt|
|
||||
==============================================================================
|
||||
*40.1* Key mapping
|
||||
|
||||
A simple mapping was explained in section |05.3|. The principle is that one
|
||||
A simple mapping was explained in section |05.4|. The principle is that one
|
||||
sequence of key strokes is translated into another sequence of key strokes.
|
||||
This is a simple, yet powerful mechanism.
|
||||
The simplest form is that one key is mapped to a sequence of keys. Since
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 8.2. Last change: 2021 Sep 06
|
||||
*various.txt* For Vim version 8.2. Last change: 2022 Jan 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -172,7 +172,7 @@ g8 Print the hex values of the bytes used in the
|
||||
|
||||
*:z!*
|
||||
:[range]z![+-^.=][count]
|
||||
Like ":z:", but when [count] is not specified, it
|
||||
Like ":z", but when [count] is not specified, it
|
||||
defaults to the Vim window height minus one.
|
||||
|
||||
:[range]z[!]#[+-^.=][count] *:z#*
|
||||
@@ -244,10 +244,10 @@ g8 Print the hex values of the bytes used in the
|
||||
compiler will have set stdin to a non-interactive
|
||||
mode.
|
||||
|
||||
*:!cmd* *:!* *E34*
|
||||
*:!cmd* *:!*
|
||||
:!{cmd} Execute {cmd} with the shell. See also the 'shell'
|
||||
and 'shelltype' option.
|
||||
|
||||
*E34*
|
||||
Any '!' in {cmd} is replaced with the previous
|
||||
external command (see also 'cpoptions'). But not when
|
||||
there is a backslash before the '!', then that
|
||||
@@ -369,7 +369,7 @@ N *+digraphs* |digraphs| *E196*
|
||||
*+dnd* Support for DnD into the "~ register |quote_~|.
|
||||
B *+emacs_tags* |emacs-tags| files
|
||||
N *+eval* expression evaluation |eval.txt|
|
||||
N *+ex_extra* always on now, used to be for Vim's extra Ex commands
|
||||
T *+ex_extra* always on now, used to be for Vim's extra Ex commands
|
||||
N *+extra_search* |'hlsearch'| and |'incsearch'| options.
|
||||
- *+farsi* Removed: |farsi| language
|
||||
N *+file_in_path* |gf|, |CTRL-W_f| and |<cfile>|
|
||||
@@ -391,7 +391,7 @@ m *+hangul_input* Hangul input support |hangul|
|
||||
T *+insert_expand* |insert_expand| Insert mode completion
|
||||
m *+ipv6* Support for IPv6 networking |channel|
|
||||
m *+job* starting and stopping jobs |job|
|
||||
S *+jumplist* |jumplist|
|
||||
T *+jumplist* |jumplist|; Always enabled since 8.2.3795
|
||||
B *+keymap* |'keymap'|
|
||||
N *+lambda* |lambda| and |closure|
|
||||
B *+langmap* |'langmap'|
|
||||
@@ -423,7 +423,7 @@ N *+multi_lang* non-English language support |multi-lang|
|
||||
m *+mzscheme* Mzscheme interface |mzscheme|
|
||||
m *+mzscheme/dyn* Mzscheme interface |mzscheme-dynamic| |/dyn|
|
||||
m *+netbeans_intg* |netbeans|
|
||||
*+num64* 64-bit Number support |Number|
|
||||
T *+num64* 64-bit Number support |Number|
|
||||
Always enabled since 8.2.0271, use v:numbersize to
|
||||
check the actual size of a Number.
|
||||
m *+ole* Win32 GUI only: |ole-interface|
|
||||
@@ -471,15 +471,16 @@ N *+textobjects* |text-objects| selection
|
||||
N *+textprop* |text-properties|
|
||||
*+tgetent* non-Unix only: able to use external termcap
|
||||
N *+timers* the |timer_start()| function
|
||||
N *+title* Setting the window 'title' and 'icon'
|
||||
T *+title* Setting the window 'title' and 'icon'; Always enabled
|
||||
N *+toolbar* |gui-toolbar|
|
||||
T *+user_commands* User-defined commands. |user-commands|
|
||||
Always enabled since 8.1.1210.
|
||||
B *+vartabs* Variable-width tabstops. |'vartabstop'|
|
||||
N *+viminfo* |'viminfo'|
|
||||
*+vertsplit* Vertically split windows |:vsplit|; Always enabled
|
||||
T *+vertsplit* Vertically split windows |:vsplit|; Always enabled
|
||||
since 8.0.1118.
|
||||
N *+virtualedit* |'virtualedit'| Always enabled since 8.1.826.
|
||||
T *+vim9script* |Vim9| script
|
||||
N *+viminfo* |'viminfo'|
|
||||
T *+virtualedit* |'virtualedit'| Always enabled since 8.1.826.
|
||||
T *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
|
||||
T *+visualextra* extra Visual mode commands |blockwise-operators|
|
||||
T *+vreplace* |gR| and |gr|
|
||||
@@ -549,14 +550,17 @@ N *+X11* Unix only: can restore window title |X11|
|
||||
name can be omitted.
|
||||
:redi[r] @">> Append messages to the unnamed register.
|
||||
|
||||
:redi[r] => {var} Redirect messages to a variable. If the variable
|
||||
doesn't exist, then it is created. If the variable
|
||||
exists, then it is initialized to an empty string.
|
||||
:redi[r] => {var} Redirect messages to a variable.
|
||||
In legacy script: If the variable doesn't exist, then
|
||||
it is created. If the variable exists, then it is
|
||||
initialized to an empty string. After the redirection
|
||||
starts, if the variable is removed or locked or the
|
||||
variable type is changed, then further command output
|
||||
messages will cause errors.
|
||||
In Vim9 script: the variable must have been declared
|
||||
as a string.
|
||||
The variable will remain empty until redirection ends.
|
||||
Only string variables can be used. After the
|
||||
redirection starts, if the variable is removed or
|
||||
locked or the variable type is changed, then further
|
||||
command output messages will cause errors.
|
||||
Only string variables can be used.
|
||||
To get the output of one command the |execute()|
|
||||
function can be used instead of redirection.
|
||||
|
||||
@@ -566,19 +570,19 @@ N *+X11* Unix only: can restore window title |X11|
|
||||
:redi[r] END End redirecting messages.
|
||||
|
||||
*:filt* *:filter*
|
||||
:filt[er][!] {pat} {command}
|
||||
:filt[er][!] /{pat}/ {command}
|
||||
:filt[er][!] {pattern} {command}
|
||||
:filt[er][!] /{pattern}/ {command}
|
||||
Restrict the output of {command} to lines matching
|
||||
with {pat}. For example, to list only xml files: >
|
||||
with {pattern}. For example, to list only xml files: >
|
||||
:filter /\.xml$/ oldfiles
|
||||
< If the [!] is given, restrict the output of {command}
|
||||
to lines that do NOT match {pat}.
|
||||
to lines that do NOT match {pattern}.
|
||||
|
||||
{pat} is a Vim search pattern. Instead of enclosing
|
||||
{pattern} is a Vim search pattern. Instead of enclosing
|
||||
it in / any non-ID character (see |'isident'|) can be
|
||||
used, so long as it does not appear in {pat}. Without
|
||||
the enclosing character the pattern cannot include the
|
||||
bar character. 'ignorecase' is not used.
|
||||
used, so long as it does not appear in {pattern}.
|
||||
Without the enclosing character the pattern cannot
|
||||
include the bar character. 'ignorecase' is not used.
|
||||
|
||||
The pattern is matched against the relevant part of
|
||||
the output, not necessarily the whole line. Only some
|
||||
@@ -598,7 +602,7 @@ N *+X11* Unix only: can restore window title |X11|
|
||||
|:oldfiles| - filter by file name
|
||||
|:registers| - filter by register contents
|
||||
(does not work multi-line)
|
||||
|:set| - filter by variable name
|
||||
|:set| - filter by option name
|
||||
|
||||
Only normal messages are filtered, error messages are
|
||||
not.
|
||||
|
||||
@@ -166,7 +166,7 @@ Note: "+" と "\-c" は合わせて 10 個まで指定できます。
|
||||
.TP
|
||||
\-d
|
||||
差分モードで起動します。
|
||||
二つか三つの四つのファイルを引数に指定してください。
|
||||
2 個から 8 個のファイルを引数に指定してください。
|
||||
指定されたファイルが開かれ、それらのファイルの差分が表示されます。
|
||||
vimdiff(1) と同様の動作です。
|
||||
.TP
|
||||
@@ -217,8 +217,7 @@ GUI がサポートされている場合は、GUI で起動します。
|
||||
サポートされていない場合はエラーメッセージを表示して終了します。
|
||||
.TP
|
||||
\-i {viminfo}
|
||||
viminfo ファイルを使う設定になっている場合は、初期設定の "~/.viminfo"
|
||||
の代わりに、指定されたファイルを設定します。
|
||||
初期設定の "~/.viminfo" の代わりに、viminfo ファイルを読み書きする際に使うファイル名を指定します。
|
||||
"NONE" を指定すると、.viminfo ファイルを使わないように設定できます。
|
||||
.TP
|
||||
\-L
|
||||
@@ -356,6 +355,10 @@ X サーバーと通信しません。端末での起動時間を短くできま
|
||||
これ以降の引数はすべてファイル名として扱われます。
|
||||
ファイル名が '\-' で始まっているファイルを開くときに使ってください。
|
||||
.TP
|
||||
\-\-clean
|
||||
一切の個人設定 (vimrc、プラグイン、その他) を使用しません。
|
||||
ある問題がクリーンな Vim セットアップで再現するかを確認するのに有用です。
|
||||
.TP
|
||||
\-\-echo\-wid
|
||||
GTK GUI のみ: Window ID を標準出力に出力します。
|
||||
.TP
|
||||
@@ -398,6 +401,9 @@ Vim サーバーの一覧を表示します。
|
||||
\-\-socketid {id}
|
||||
GTK GUI のみ: GtkPlug メカニズムを使って gvim を別のウィンドウの中で実行します。
|
||||
.TP
|
||||
\-\-startuptime {file}
|
||||
起動処理の間、経過時間のメッセージをファイル {fname} に書き出します。
|
||||
.TP
|
||||
\-\-version
|
||||
バージョン情報を表示して終了します。
|
||||
.SH オンラインヘルプ
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH VIM 1 "2006 Apr 11"
|
||||
.TH VIM 1 "2021 Jun 13"
|
||||
.SH NAME
|
||||
vim \- Vi IMproved, a programmer's text editor
|
||||
.SH SYNOPSIS
|
||||
|
||||
@@ -432,4 +432,4 @@ BUGS
|
||||
|
||||
|
||||
|
||||
2006 Apr 11 VIM(1)
|
||||
2021 Jun 13 VIM(1)
|
||||
|
||||
@@ -1,17 +1,14 @@
|
||||
*vim9.txt* For Vim version 8.2. Last change: 2021 Sep 13
|
||||
*vim9.txt* For Vim version 8.2. Last change: 2022 Jan 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
|
||||
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
||||
|
||||
Vim9 script commands and expressions. *Vim9* *vim9*
|
||||
|
||||
Most expression help is in |eval.txt|. This file is about the new syntax and
|
||||
features in Vim9 script.
|
||||
|
||||
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
||||
|
||||
|
||||
1. What is Vim9 script? |Vim9-script|
|
||||
@@ -27,8 +24,6 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
||||
|
||||
1. What is Vim9 script? *Vim9-script*
|
||||
|
||||
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
||||
|
||||
Vim script has been growing over time, while preserving backwards
|
||||
compatibility. That means bad choices from the past often can't be changed
|
||||
and compatibility with Vi restricts possible solutions. Execution is quite
|
||||
@@ -76,8 +71,6 @@ rewrite old scripts, they keep working as before. You may want to use a few
|
||||
|
||||
2. Differences from legacy Vim script *vim9-differences*
|
||||
|
||||
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
||||
|
||||
Overview ~
|
||||
|
||||
Brief summary of the differences you will most often encounter when using Vim9
|
||||
@@ -88,8 +81,8 @@ script and `:def` functions; details are below:
|
||||
echo "hello "
|
||||
.. yourName
|
||||
.. ", how are you?"
|
||||
- White space is required in many places.
|
||||
- Assign values without `:let`, declare variables with `:var`: >
|
||||
- White space is required in many places to improve readability.
|
||||
- Assign values without `:let` *E1126* , declare variables with `:var`: >
|
||||
var count = 0
|
||||
count += 3
|
||||
- Constants can be declared with `:final` and `:const`: >
|
||||
@@ -101,15 +94,17 @@ script and `:def` functions; details are below:
|
||||
def CallMe(count: number, message: string): bool
|
||||
- Call functions without `:call`: >
|
||||
writefile(['done'], 'file.txt')
|
||||
- You cannot use `:xit`, `:t`, `:k`, `:append`, `:change`, `:insert`, `:open`,
|
||||
and `:s` or `:d` with only flags.
|
||||
or curly-braces names.
|
||||
- You cannot use old Ex commands `:xit`, `:t`, `:k`, `:append`, `:change`,
|
||||
`:insert`, `:open`, and `:s` or `:d` with only flags.
|
||||
- You cannot use curly-braces names.
|
||||
- A range before a command must be prefixed with a colon: >
|
||||
:%s/this/that
|
||||
- Executing a register with "@r" does not work, you can prepend a colon or use
|
||||
`:exe`: >
|
||||
:exe @a
|
||||
- Unless mentioned specifically, the highest |scriptversion| is used.
|
||||
- When defining an expression mapping, the expression will be evaluated in the
|
||||
context of the script where it was defined.
|
||||
|
||||
|
||||
Comments starting with # ~
|
||||
@@ -127,7 +122,7 @@ is the same as in shell scripts and Python programs.
|
||||
|
||||
In Vi # is a command to list text with numbers. In Vim9 script you can use
|
||||
`:number` for that. >
|
||||
101 number
|
||||
:101 number
|
||||
|
||||
To improve readability there must be a space between a command and the #
|
||||
that starts a comment: >
|
||||
@@ -144,7 +139,7 @@ arguments).
|
||||
|
||||
|
||||
Vim9 functions ~
|
||||
|
||||
*E1099*
|
||||
A function defined with `:def` is compiled. Execution is many times faster,
|
||||
often 10 to 100 times.
|
||||
|
||||
@@ -169,8 +164,8 @@ created yet. In this case you can call `execute()` to invoke it at runtime. >
|
||||
|
||||
`:def` has no options like `:function` does: "range", "abort", "dict" or
|
||||
"closure". A `:def` function always aborts on an error (unless `:silent!` was
|
||||
used for the command or inside a `:try` block), does not get a range passed
|
||||
cannot be a "dict" function, and can always be a closure.
|
||||
used for the command or the error was caught a `:try` block), does not get a
|
||||
range passed cannot be a "dict" function, and can always be a closure.
|
||||
*vim9-no-dict-function*
|
||||
Later classes will be added, which replaces the "dict function" mechanism.
|
||||
For now you will need to pass the dictionary explicitly: >
|
||||
@@ -188,14 +183,14 @@ You can call a legacy dict function though: >
|
||||
var d = {func: Legacy, value: 'text'}
|
||||
d.func()
|
||||
enddef
|
||||
|
||||
< *E1096*
|
||||
The argument types and return type need to be specified. The "any" type can
|
||||
be used, type checking will then be done at runtime, like with legacy
|
||||
functions.
|
||||
|
||||
*E1106*
|
||||
Arguments are accessed by name, without "a:", just like any other language.
|
||||
There is no "a:" dictionary or "a:000" list.
|
||||
*vim9-variable-arguments*
|
||||
*vim9-variable-arguments* *E1055*
|
||||
Variable arguments are defined as the last argument, with a name and have a
|
||||
list type, similar to TypeScript. For example, a list of numbers: >
|
||||
def MyFunc(...itemlist: list<number>)
|
||||
@@ -206,7 +201,7 @@ When a function argument is optional (it has a default value) passing `v:none`
|
||||
as the argument results in using the default value. This is useful when you
|
||||
want to specify a value for an argument that comes after an argument that
|
||||
should use its default value. Example: >
|
||||
def MyFunc(one = 'one', last = 'last)
|
||||
def MyFunc(one = 'one', last = 'last')
|
||||
...
|
||||
enddef
|
||||
MyFunc(v:none, 'LAST') # first argument uses default value 'one'
|
||||
@@ -232,19 +227,17 @@ the "name#" prefix is sufficient. >
|
||||
def s:ThisFunction() # script-local
|
||||
def g:ThatFunction() # global
|
||||
def scriptname#function() # autoload
|
||||
|
||||
< *E1058* *E1075*
|
||||
When using `:function` or `:def` to specify a nested function inside a `:def`
|
||||
function, this nested function is local to the code block it is defined in.
|
||||
In a `:def` function it is not possible to define a script-local function. It
|
||||
is possible to define a global function by using the "g:" prefix.
|
||||
function and no namespace was given, this nested function is local to the code
|
||||
block it is defined in. In a `:def` function it is not possible to define a
|
||||
script-local function. It is possible to define a global function by using
|
||||
the "g:" prefix.
|
||||
|
||||
When referring to a function and no "s:" or "g:" prefix is used, Vim will
|
||||
search for the function:
|
||||
- in the function scope, in block scopes
|
||||
- in the script scope, possibly imported
|
||||
- in the list of global functions
|
||||
However, it is recommended to always use "g:" to refer to a global function
|
||||
for clarity.
|
||||
|
||||
Since a script-local function reference can be used without "s:" the name must
|
||||
start with an upper case letter even when using the "s:" prefix. In legacy
|
||||
@@ -259,7 +252,7 @@ it is being compiled (to figure out the return type).
|
||||
The result is that functions and variables without a namespace can usually be
|
||||
found in the script, either defined there or imported. Global functions and
|
||||
variables could be defined anywhere (good luck finding out where!).
|
||||
|
||||
*E1102*
|
||||
Global functions can still be defined and deleted at nearly any time. In
|
||||
Vim9 script script-local functions are defined once when the script is sourced
|
||||
and cannot be deleted or replaced.
|
||||
@@ -293,7 +286,8 @@ some point when loaded again. E.g. when a buffer local option is set: >
|
||||
|
||||
|
||||
Variable declarations with :var, :final and :const ~
|
||||
*vim9-declaration* *:var*
|
||||
*vim9-declaration* *:var*
|
||||
*E1017* *E1020* *E1054* *E1087* *E1108* *E1124*
|
||||
Local variables need to be declared with `:var`. Local constants need to be
|
||||
declared with `:final` or `:const`. We refer to both as "variables" in this
|
||||
section.
|
||||
@@ -324,7 +318,7 @@ The declaration must be done earlier: >
|
||||
inner = 0
|
||||
endif
|
||||
echo inner
|
||||
|
||||
< *E1025* *E1128*
|
||||
To intentionally hide a variable from code that follows, a block can be
|
||||
used: >
|
||||
{
|
||||
@@ -351,13 +345,15 @@ And with autocommands: >
|
||||
}
|
||||
|
||||
Although using a :def function probably works better.
|
||||
|
||||
*E1022* *E1103* *E1130* *E1131* *E1133* *E1134*
|
||||
Declaring a variable with a type but without an initializer will initialize to
|
||||
zero, false or empty.
|
||||
|
||||
false (for bool), empty (for string, list, dict, etc.) or zero (for number,
|
||||
any, etc.). This matters especially when using the "any" type, the value will
|
||||
default to the number zero.
|
||||
*E1016* *E1052* *E1066*
|
||||
In Vim9 script `:let` cannot be used. An existing variable is assigned to
|
||||
without any command. The same for global, window, tab, buffer and Vim
|
||||
variables, because they are not really declared. They can also be deleted
|
||||
variables, because they are not really declared. Those can also be deleted
|
||||
with `:unlet`.
|
||||
|
||||
`:lockvar` does not work on local variables. Use `:const` and `:final`
|
||||
@@ -365,7 +361,7 @@ instead.
|
||||
|
||||
The `exists()` and `exists_compiled()` functions do not work on local variables
|
||||
or arguments.
|
||||
|
||||
*E1006* *E1041*
|
||||
Variables, functions and function arguments cannot shadow previously defined
|
||||
or imported variables and functions in the same script file.
|
||||
Variables may shadow Ex commands, rename the variable if needed.
|
||||
@@ -395,8 +391,8 @@ later. Example: >
|
||||
endif
|
||||
enddef
|
||||
|
||||
If you would do it like this you get an error at compile time that
|
||||
"PluginFunc" does not exist, even when "g:loaded_plugin" does not exist: >
|
||||
If you do it like this, you get an error at compile time that "PluginFunc"
|
||||
does not exist, even when "g:loaded_plugin" does not exist: >
|
||||
def CallPluginFunc()
|
||||
if exists('g:loaded_plugin')
|
||||
PluginFunc() # Error - function not found
|
||||
@@ -420,12 +416,11 @@ similar to how a function argument can be ignored: >
|
||||
To ignore any remaining items: >
|
||||
[a, b; _] = longList
|
||||
|
||||
< *E1092*
|
||||
Declaring more than one variable at a time, using the unpack notation, is
|
||||
currently not supported: >
|
||||
var [v1, v2] = GetValues() # Error!
|
||||
That is because the type needs to be inferred from the list item type, which
|
||||
isn't that easy.
|
||||
possible. Each variable can have a type or infer it from the value: >
|
||||
var [v1: number, v2] = GetValues()
|
||||
Use this only when there is a list with values, declaring one variable per
|
||||
line is much easier to read and change later.
|
||||
|
||||
|
||||
Constants ~
|
||||
@@ -434,7 +429,7 @@ How constants work varies between languages. Some consider a variable that
|
||||
can't be assigned another value a constant. JavaScript is an example. Others
|
||||
also make the value immutable, thus when a constant uses a list, the list
|
||||
cannot be changed. In Vim9 we can use both.
|
||||
|
||||
*E1021*
|
||||
`:const` is used for making both the variable and the value a constant. Use
|
||||
this for composite structures that you want to make sure will not be modified.
|
||||
Example: >
|
||||
@@ -442,7 +437,7 @@ Example: >
|
||||
myList = [3, 4] # Error!
|
||||
myList[0] = 9 # Error!
|
||||
myList->add(3) # Error!
|
||||
< *:final*
|
||||
< *:final* *E1125*
|
||||
`:final` is used for making only the variable a constant, the value can be
|
||||
changed. This is well known from Java. Example: >
|
||||
final myList = [1, 2]
|
||||
@@ -509,7 +504,7 @@ The function must already have been defined. >
|
||||
|
||||
When using `function()` the resulting type is "func", a function with any
|
||||
number of arguments and any return type (including void). The function can be
|
||||
defined later.
|
||||
defined later if the argument is in quotes.
|
||||
|
||||
|
||||
Lambda using => instead of -> ~
|
||||
@@ -560,7 +555,6 @@ This can be useful for a timer, for example: >
|
||||
echom 'Handler called ' .. count
|
||||
}, {repeat: 3})
|
||||
|
||||
|
||||
The ending "}" must be at the start of a line. It can be followed by other
|
||||
characters, e.g.: >
|
||||
var d = mapnew(dict, (k, v): string => {
|
||||
@@ -568,6 +562,24 @@ characters, e.g.: >
|
||||
})
|
||||
No command can follow the "{", only a comment can be used there.
|
||||
|
||||
*command-block* *E1026*
|
||||
The block can also be used for defining a user command. Inside the block Vim9
|
||||
syntax will be used.
|
||||
|
||||
If the statements include a dictionary, its closing bracket must not be
|
||||
written at the start of a line. Otherwise, it would be parsed as the end of
|
||||
the block. This does not work: >
|
||||
command NewCommand {
|
||||
g:mydict = {
|
||||
'key': 'value',
|
||||
} # ERROR: will be recognized as the end of the block
|
||||
}
|
||||
Put the '}' after the last item to avoid this: >
|
||||
command NewCommand {
|
||||
g:mydict = {
|
||||
'key': 'value' }
|
||||
}
|
||||
|
||||
Rationale: The "}" cannot be after a command because it would require parsing
|
||||
the commands to find it. For consistency with that no command can follow the
|
||||
"{". Unfortunately this means using "() => { command }" does not work, line
|
||||
@@ -585,7 +597,7 @@ Also when confused with the start of a command block: >
|
||||
|
||||
|
||||
Automatic line continuation ~
|
||||
|
||||
*vim9-line-continuation* *E1097*
|
||||
In many cases it is obvious that an expression continues on the next line. In
|
||||
those cases there is no need to prefix the line with a backslash (see
|
||||
|line-continuation|). For example, when a list spans multiple lines: >
|
||||
@@ -631,7 +643,7 @@ at the start of the line indicates line continuation: >
|
||||
| echo 'match'
|
||||
| endif
|
||||
|
||||
Note that this means that in heredoc the first line cannot be a bar: >
|
||||
Note that this means that in heredoc the first line cannot start with a bar: >
|
||||
var lines =<< trim END
|
||||
| this doesn't work
|
||||
END
|
||||
@@ -639,7 +651,7 @@ Either use an empty line at the start or do not use heredoc. Or temporarily
|
||||
add the "C" flag to 'cpoptions': >
|
||||
set cpo+=C
|
||||
var lines =<< trim END
|
||||
| this doesn't work
|
||||
| this works
|
||||
END
|
||||
set cpo-=C
|
||||
If the heredoc is inside a function 'cpoptions' must be set before :def and
|
||||
@@ -670,6 +682,11 @@ This will assign "start" and print a line: >
|
||||
var result = start
|
||||
:+ print
|
||||
|
||||
After the range an Ex command must follow. Without the colon you can call a
|
||||
function without `:call`, but after a range you do need it: >
|
||||
MyFunc()
|
||||
:% call MyFunc()
|
||||
|
||||
Note that the colon is not required for the |+cmd| argument: >
|
||||
edit +6 fname
|
||||
|
||||
@@ -688,6 +705,7 @@ second line is seen as a separate command: >
|
||||
Now "exit_cb: Func})" is actually a valid command: save any changes to the
|
||||
file "_cb: Func})" and exit. To avoid this kind of mistake in Vim9 script
|
||||
there must be white space between most command names and the argument.
|
||||
*E1144*
|
||||
|
||||
However, the argument of a command that is a command won't be recognized. For
|
||||
example, after "windo echo expr" a line break inside "expr" will not be seen.
|
||||
@@ -718,7 +736,7 @@ Notes:
|
||||
|
||||
|
||||
White space ~
|
||||
|
||||
*E1004* *E1068* *E1069* *E1074* *E1127*
|
||||
Vim9 script enforces proper use of white space. This is no longer allowed: >
|
||||
var name=234 # Error!
|
||||
var name= 234 # Error!
|
||||
@@ -763,7 +781,7 @@ No curly braces expansion ~
|
||||
|
||||
|
||||
Dictionary literals ~
|
||||
|
||||
*vim9-literal-dict* *E1014*
|
||||
Traditionally Vim has supported dictionary literals with a {} syntax: >
|
||||
let dict = {'key': value}
|
||||
|
||||
@@ -783,7 +801,7 @@ use another character, use a single or double quoted string: >
|
||||
var dict = {'key with space': value}
|
||||
var dict = {"key\twith\ttabs": value}
|
||||
var dict = {'': value} # empty key
|
||||
|
||||
< *E1139*
|
||||
In case the key needs to be an expression, square brackets can be used, just
|
||||
like in JavaScript: >
|
||||
var dict = {["key" .. nr]: value}
|
||||
@@ -796,7 +814,7 @@ error. A number can be given with and without the []: >
|
||||
|
||||
|
||||
No :xit, :t, :k, :append, :change or :insert ~
|
||||
|
||||
*E1100*
|
||||
These commands are too easily confused with local variable names.
|
||||
Instead of `:x` or `:xit` you can use `:exit`.
|
||||
Instead of `:t` you can use `:copy`.
|
||||
@@ -821,6 +839,16 @@ error. Example: >
|
||||
|
||||
For loop ~
|
||||
|
||||
The loop variable must not be declared yet: >
|
||||
var i = 1
|
||||
for i in [1, 2, 3] # Error!
|
||||
|
||||
It is possible to use a global variable though: >
|
||||
g:i = 1
|
||||
for g:i in [1, 2, 3]
|
||||
echo g:i
|
||||
endfor
|
||||
|
||||
Legacy Vim script has some tricks to make a for loop over a list handle
|
||||
deleting items at the current or previous item. In Vim9 script it just uses
|
||||
the index, if items are deleted then items in the list will be skipped.
|
||||
@@ -843,7 +871,7 @@ first if needed.
|
||||
|
||||
|
||||
Conditions and expressions ~
|
||||
|
||||
*vim9-boolean*
|
||||
Conditions and expressions are mostly working like they do in other languages.
|
||||
Some values are different from legacy Vim script:
|
||||
value legacy Vim script Vim9 script ~
|
||||
@@ -895,9 +923,9 @@ always converted to string: >
|
||||
'hello ' .. 123 == 'hello 123'
|
||||
'hello ' .. v:true == 'hello true'
|
||||
|
||||
Simple types are string, float, special and bool. For other types |string()|
|
||||
can be used.
|
||||
*false* *true* *null*
|
||||
Simple types are Number, Float, Special and Bool. For other types |string()|
|
||||
should be used.
|
||||
*false* *true* *null* *E1034*
|
||||
In Vim9 script one can use "true" for v:true, "false" for v:false and "null"
|
||||
for v:null. When converting a boolean to a string "false" and "true" are
|
||||
used, not "v:false" and "v:true" like in legacy script. "v:none" is not
|
||||
@@ -942,9 +970,22 @@ Ex command ranges need to be prefixed with a colon. >
|
||||
|
||||
Some Ex commands can be confused with assignments in Vim9 script: >
|
||||
g:name = value # assignment
|
||||
g:pattern:cmd # invalid command - ERROR
|
||||
:g:pattern:cmd # :global command
|
||||
|
||||
To avoid confusion between a `:global` or `:substitute` command and an
|
||||
expression or assignment, a few separators cannot be used when these commands
|
||||
are abbreviated to a single character: ':', '-' and '.'. >
|
||||
g:pattern:cmd # invalid command - ERROR
|
||||
s:pattern:repl # invalid command - ERROR
|
||||
g-pattern-cmd # invalid command - ERROR
|
||||
s-pattern-repl # invalid command - ERROR
|
||||
g.pattern.cmd # invalid command - ERROR
|
||||
s.pattern.repl # invalid command - ERROR
|
||||
|
||||
Also, there cannot be a space between the command and the separator: >
|
||||
g /pattern/cmd # invalid command - ERROR
|
||||
s /pattern/repl # invalid command - ERROR
|
||||
|
||||
Functions defined with `:def` compile the whole function. Legacy functions
|
||||
can bail out, and the following lines are not parsed: >
|
||||
func Maybe()
|
||||
@@ -1027,17 +1068,19 @@ Using ++var or --var in an expression is not supported yet.
|
||||
|
||||
3. New style functions *fast-functions*
|
||||
|
||||
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
||||
|
||||
*:def*
|
||||
*:def* *E1028*
|
||||
:def[!] {name}([arguments])[: {return-type}]
|
||||
Define a new function by the name {name}. The body of
|
||||
the function follows in the next lines, until the
|
||||
matching `:enddef`.
|
||||
|
||||
When {return-type} is omitted or is "void" the
|
||||
function is not expected to return anything.
|
||||
|
||||
matching `:enddef`. *E1073*
|
||||
*E1011*
|
||||
The {name} must be less than 100 bytes long.
|
||||
*E1003* *E1027* *E1056* *E1059*
|
||||
The type of value used with `:return` must match
|
||||
{return-type}. When {return-type} is omitted or is
|
||||
"void" the function is not expected to return
|
||||
anything.
|
||||
*E1077* *E1123*
|
||||
{arguments} is a sequence of zero or more argument
|
||||
declarations. There are three forms:
|
||||
{name}: {type}
|
||||
@@ -1055,13 +1098,13 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
||||
|
||||
It is possible to nest `:def` inside another `:def` or
|
||||
`:function` up to about 50 levels deep.
|
||||
|
||||
*E1117*
|
||||
[!] is used as with `:function`. Note that
|
||||
script-local functions cannot be deleted or redefined
|
||||
later in Vim9 script. They can only be removed by
|
||||
reloading the same script.
|
||||
|
||||
*:enddef*
|
||||
*:enddef* *E1057*
|
||||
:enddef End of a function defined with `:def`. It should be on
|
||||
a line by its own.
|
||||
|
||||
@@ -1081,7 +1124,7 @@ prefix if they do not exist at the time of compiling.
|
||||
|
||||
*:disa* *:disassemble*
|
||||
:disa[ssemble] {func} Show the instructions generated for {func}.
|
||||
This is for debugging and testing.
|
||||
This is for debugging and testing. *E1061*
|
||||
Note that for command line completion of {func} you
|
||||
can prepend "s:" to find script-local functions.
|
||||
|
||||
@@ -1105,20 +1148,14 @@ The map argument is a string expression, which is evaluated without the
|
||||
function scope. Instead, use a lambda: >
|
||||
def MapList(): list<string>
|
||||
var list = ['aa', 'bb', 'cc', 'dd']
|
||||
return range(1, 2)->map(( _, v) => list[v])
|
||||
return range(1, 2)->map((_, v) => list[v])
|
||||
enddef
|
||||
|
||||
The same is true for commands that are not compiled, such as `:global`.
|
||||
For these the backtick expansion can be used. Example: >
|
||||
For commands that are not compiled, such as `:edit`, backtick expansion can be
|
||||
used and it can use the local scope. Example: >
|
||||
def Replace()
|
||||
var newText = 'blah'
|
||||
g/pattern/s/^/`=newText`/
|
||||
enddef
|
||||
|
||||
Or a script variable can be used: >
|
||||
var newText = 'blah'
|
||||
def Replace()
|
||||
g/pattern/s/^/\=newText/
|
||||
var fname = 'blah.txt'
|
||||
edit `=fname`
|
||||
enddef
|
||||
|
||||
Closures defined in a loop will share the same context. For example: >
|
||||
@@ -1149,9 +1186,8 @@ for each closure call a function to define it: >
|
||||
==============================================================================
|
||||
|
||||
4. Types *vim9-types*
|
||||
|
||||
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
||||
|
||||
*E1008* *E1009* *E1010* *E1012*
|
||||
*E1013* *E1029* *E1030*
|
||||
The following builtin types are supported:
|
||||
bool
|
||||
number
|
||||
@@ -1166,17 +1202,19 @@ The following builtin types are supported:
|
||||
func: {type}
|
||||
func({type}, ...)
|
||||
func({type}, ...): {type}
|
||||
void
|
||||
|
||||
Not supported yet:
|
||||
tuple<a: {type}, b: {type}, ...>
|
||||
|
||||
These types can be used in declarations, but no simple value will actually
|
||||
have the "void" type.
|
||||
have the "void" type. Trying to use a void (e.g. a function without a
|
||||
return value) results in error *E1031* .
|
||||
|
||||
There is no array type, use list<{type}> instead. For a list constant an
|
||||
efficient implementation is used that avoids allocating lot of small pieces of
|
||||
memory.
|
||||
|
||||
*E1005* *E1007*
|
||||
A partial and function can be declared in more or less specific ways:
|
||||
func any kind of function reference, no type
|
||||
checking for arguments or return value
|
||||
@@ -1248,7 +1286,7 @@ expected to always be the same. For example, when declaring a list: >
|
||||
At compile time Vim doesn't know the type of "g:two" and the expression type
|
||||
becomes list<any>. An instruction is generated to check the list type before
|
||||
doing the assignment, which is a bit inefficient.
|
||||
*type-casting*
|
||||
*type-casting* *E1104*
|
||||
To avoid this, use a type cast: >
|
||||
var l: list<number> = [1, <number>g:two]
|
||||
The compiled code will then only check that "g:two" is a number and give an
|
||||
@@ -1293,6 +1331,14 @@ Results in:
|
||||
For script-local variables in Vim9 script the type is checked, also when the
|
||||
variable was declared in a legacy function.
|
||||
|
||||
When a type has been declared this is attached to a list or string. When
|
||||
later some expression attempts to change the type an error will be given: >
|
||||
var ll: list<number> = [1, 2, 3]
|
||||
ll->extend('x') # Error, 'x' is not a number
|
||||
|
||||
If the type is inferred then the type is allowed to change: >
|
||||
[1, 2, 3]->extend('x') # result: [1, 2, 3, 'x']
|
||||
|
||||
|
||||
Stricter type checking ~
|
||||
*type-checking*
|
||||
@@ -1307,18 +1353,18 @@ before, if the value used matches the expected type. There will sometimes be
|
||||
an error, thus breaking backwards compatibility. For example:
|
||||
- Using a number other than 0 or 1 where a boolean is expected. *E1023*
|
||||
- Using a string value when setting a number option.
|
||||
- Using a number where a string is expected. *E1024*
|
||||
- Using a number where a string is expected. *E1024* *E1105*
|
||||
|
||||
One consequence is that the item type of a list or dict given to map() must
|
||||
One consequence is that the item type of a list or dict given to |map()| must
|
||||
not change. This will give an error in Vim9 script: >
|
||||
vim9 echo map([1, 2, 3], (i, v) => 'item ' .. i)
|
||||
echo map([1, 2, 3], (i, v) => 'item ' .. i)
|
||||
E1012: Type mismatch; expected number but got string
|
||||
Instead use |mapnew(): >
|
||||
vim9 echo mapnew([1, 2, 3], (i, v) => 'item ' .. i)
|
||||
Instead use |mapnew()|: >
|
||||
echo mapnew([1, 2, 3], (i, v) => 'item ' .. i)
|
||||
['item 0', 'item 1', 'item 2']
|
||||
|
||||
If the item type was determined to be "any" it can change to a more specific
|
||||
type. E.g. when a list of mixed types gets changed to a list of numbers: >
|
||||
type. E.g. when a list of mixed types gets changed to a list of strings: >
|
||||
var mylist = [1, 2.0, '3']
|
||||
# typename(mylist) == "list<any>"
|
||||
map(mylist, (i, v) => 'item ' .. i)
|
||||
@@ -1332,14 +1378,20 @@ Same for |extend()|, use |extendnew()| instead, and for |flatten()|, use
|
||||
5. Namespace, Import and Export
|
||||
*vim9script* *vim9-export* *vim9-import*
|
||||
|
||||
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
||||
A Vim9 script can be written to be imported. This means that some items are
|
||||
intentionally exported, made available to other scripts. When the exporting
|
||||
script is imported in another script, these exported items can then be used in
|
||||
that script. All the other items remain script-local in the exporting script
|
||||
and cannot be accessed by the importing script.
|
||||
|
||||
A Vim9 script can be written to be imported. This means that everything in
|
||||
the script is local, unless exported. Those exported items, and only those
|
||||
items, can then be imported in another script.
|
||||
This mechanism exists for writing a script that can be sourced (imported) by
|
||||
other scripts, while making sure these other scripts only have access to what
|
||||
you want them to. This also avoids using the global namespace, which has a
|
||||
risc of name collisions. For example when you have two plugins with similar
|
||||
functionality.
|
||||
|
||||
You can cheat by using the global namespace explicitly. We will assume here
|
||||
that you don't do that.
|
||||
You can cheat by using the global namespace explicitly. That should be done
|
||||
only for things that really are global.
|
||||
|
||||
|
||||
Namespace ~
|
||||
@@ -1352,7 +1404,7 @@ global namespace. If a file starts with: >
|
||||
var myvar = 'yes'
|
||||
Then "myvar" will only exist in this file. While without `vim9script` it would
|
||||
be available as `g:myvar` from any other script and function.
|
||||
|
||||
*E1101*
|
||||
The variables at the file level are very much like the script-local "s:"
|
||||
variables in legacy Vim script, but the "s:" is omitted. And they cannot be
|
||||
deleted.
|
||||
@@ -1368,6 +1420,7 @@ One of the effects is that |line-continuation| is always enabled.
|
||||
The original value of 'cpoptions' is restored at the end of the script, while
|
||||
flags added or removed in the script are also added to or removed from the
|
||||
original value to get the same effect. The order of flags may change.
|
||||
In the |vimrc| file sourced on startup this does not happen.
|
||||
|
||||
*vim9-mix*
|
||||
There is one way to use both legacy and Vim9 syntax in one script file: >
|
||||
@@ -1387,9 +1440,6 @@ This can only work in two ways:
|
||||
2. The "if" statement evaluates to true, the commands up to `endif` are
|
||||
executed and `finish` bails out before reaching `vim9script`.
|
||||
|
||||
TODO: The "vim9script" feature does not exist yet, it will only be added once
|
||||
the Vim9 script syntax has been fully implemented.
|
||||
|
||||
|
||||
Export ~
|
||||
*:export* *:exp*
|
||||
@@ -1401,7 +1451,7 @@ Exporting an item can be written as: >
|
||||
export def MyFunc() ...
|
||||
export class MyClass ...
|
||||
export interface MyClass ...
|
||||
|
||||
< *E1043* *E1044*
|
||||
As this suggests, only constants, variables, `:def` functions and classes can
|
||||
be exported. {not implemented yet: class, interface}
|
||||
|
||||
@@ -1410,25 +1460,40 @@ be exported. {not implemented yet: class, interface}
|
||||
|
||||
|
||||
Import ~
|
||||
*:import* *:imp* *E1094*
|
||||
The exported items can be imported individually in another Vim9 script: >
|
||||
import EXPORTED_CONST from "thatscript.vim"
|
||||
import MyClass from "myclass.vim"
|
||||
*:import* *:imp* *E1094* *E1047*
|
||||
*E1048* *E1049* *E1053* *E1071*
|
||||
The exported items can be imported in another Vim9 script: >
|
||||
import "myscript.vim"
|
||||
|
||||
To import multiple items at the same time: >
|
||||
import {someValue, MyClass} from "thatscript.vim"
|
||||
This makes each item available as "myscript.item".
|
||||
*:import-as*
|
||||
In case the name is long or ambiguous, another name can be specified: >
|
||||
import "thatscript.vim" as that
|
||||
< *E1060*
|
||||
Then you can use "that.EXPORTED_CONST", "that.someValue", etc. You are free
|
||||
to choose the name "that". Use something that will be recognized as referring
|
||||
to the imported script. Avoid command names, command modifiers and builtin
|
||||
function names, because the name will shadow them.
|
||||
If the name starts with a capital letter it can also shadow global user
|
||||
commands and functions. Also, you cannot use the name for something else in
|
||||
the script, such as a function or variable name.
|
||||
|
||||
In case the name is ambiguous, another name can be specified: >
|
||||
import MyClass as ThatClass from "myclass.vim"
|
||||
import {someValue, MyClass as ThatClass} from "myclass.vim"
|
||||
In case the dot in the name is undesired, a local reference can be made for a
|
||||
function: >
|
||||
var LongFunc = that.LongFuncName
|
||||
|
||||
To import all exported items under a specific identifier: >
|
||||
import * as That from 'thatscript.vim'
|
||||
This also works for constants: >
|
||||
const MAXLEN = that.MAX_LEN_OF_NAME
|
||||
|
||||
Then you can use "That.EXPORTED_CONST", "That.someValue", etc. You are free
|
||||
to choose the name "That", but it is highly recommended to use the name of the
|
||||
script file to avoid confusion. Also avoid command names, because the name
|
||||
will shadow them.
|
||||
This does not work for variables, since the value would be copied once and
|
||||
when changing the variable the copy will change, not the original variable.
|
||||
You will need to use the full name, with the dot.
|
||||
|
||||
The full syntax of the command is:
|
||||
import {filename} [as {name}]
|
||||
Where {filename} is an expression that must evaluate to a string. Without the
|
||||
"as {name}" part it must end in ".vim". {name} must consist of letters,
|
||||
digits and '_', like |internal-variables|.
|
||||
|
||||
`:import` can also be used in legacy Vim script. The imported items still
|
||||
become script-local, even when the "s:" prefix is not given.
|
||||
@@ -1447,53 +1512,86 @@ The script name after `import` can be:
|
||||
longer and unique, to avoid loading the wrong file.
|
||||
Note that "after/import" is not used.
|
||||
|
||||
If the name does not end in ".vim" then the use of "as name" is required.
|
||||
|
||||
Once a vim9 script file has been imported, the result is cached and used the
|
||||
next time the same script is imported. It will not be read again.
|
||||
*:import-cycle*
|
||||
|
||||
It is not allowed to import the same script twice, also when using two
|
||||
different "as" names.
|
||||
|
||||
When using the imported name the dot and the item name must be in the same
|
||||
line, there can be no line break: >
|
||||
echo that.
|
||||
name # Error!
|
||||
echo that
|
||||
.name # Error!
|
||||
< *:import-cycle*
|
||||
The `import` commands are executed when encountered. If that script (directly
|
||||
or indirectly) imports the current script, then items defined after the
|
||||
`import` won't be processed yet. Therefore cyclic imports can exist, but may
|
||||
result in undefined items.
|
||||
|
||||
|
||||
Import in an autoload script ~
|
||||
|
||||
Importing an autoload script ~
|
||||
*vim9-autoload*
|
||||
For optimal startup speed, loading scripts should be postponed until they are
|
||||
actually needed. A recommended mechanism:
|
||||
actually needed. Using the autoload mechanism is recommended:
|
||||
|
||||
1. In the plugin define user commands, functions and/or mappings that refer to
|
||||
an autoload script. >
|
||||
command -nargs=1 SearchForStuff searchfor#Stuff(<f-args>)
|
||||
items imported from an autoload script. >
|
||||
import autoload 'for/search.vim'
|
||||
command -nargs=1 SearchForStuff search.Stuff(<f-args>)
|
||||
|
||||
< This goes in .../plugin/anyname.vim. "anyname.vim" can be freely chosen.
|
||||
The "SearchForStuff" command is now available to the user.
|
||||
|
||||
2. In the autoload script do the actual work. You can import items from
|
||||
other files to split up functionality in appropriate pieces. >
|
||||
The "autoload" argument to `:import` means that the script is not loaded
|
||||
until one of the items is actually used. The script will be found under
|
||||
the "autoload" directory in 'runtimepath' instead of the "import"
|
||||
directory.
|
||||
|
||||
2. In the autoload script put the bulk of the code. >
|
||||
vim9script
|
||||
import FilterFunc from "../import/someother.vim"
|
||||
def searchfor#Stuff(arg: string)
|
||||
var filtered = FilterFunc(arg)
|
||||
export def Stuff(arg: string)
|
||||
...
|
||||
< This goes in .../autoload/searchfor.vim. "searchfor" in the file name
|
||||
must be exactly the same as the prefix for the function name, that is how
|
||||
Vim finds the file.
|
||||
|
||||
3. Other functionality, possibly shared between plugins, contains the exported
|
||||
items and any private items. >
|
||||
vim9script
|
||||
var localVar = 'local'
|
||||
export def FilterFunc(arg: string): string
|
||||
...
|
||||
< This goes in .../import/someother.vim.
|
||||
< This goes in .../autoload/for/search.vim.
|
||||
|
||||
Putting the "search.vim" script under the "/autoload/for/" directory has
|
||||
the effect that "for#search#" will be prefixed to every exported item. The
|
||||
prefix is obtained from the file name, as you would to manually in a
|
||||
legacy autoload script. Thus the exported function can be found with
|
||||
"for#search#Stuff", but you would normally use `import autoload` and not
|
||||
use the prefix.
|
||||
|
||||
You can split up the functionality and import other scripts from the
|
||||
autoload script as you like. This way you can share code between plugins.
|
||||
|
||||
For defining a mapping that uses the imported autoload script the special key
|
||||
|<ScriptCmd>| is useful. It allows for a command in a mapping to use the
|
||||
script context of where the mapping was defined.
|
||||
|
||||
When compiling a `:def` function and a function in an autoload script is
|
||||
encountered, the script is not loaded until the `:def` function is called.
|
||||
This also means you get any errors only at runtime, since the argument and
|
||||
return types are not known yet.
|
||||
|
||||
For testing the |test_override()| function can be used to have the
|
||||
`import autoload` load the script right away, so that the items and types can
|
||||
be checked without waiting for them to be actually used: >
|
||||
test_override('autoload', 1)
|
||||
Reset it later with: >
|
||||
test_override('autoload', 0)
|
||||
Or: >
|
||||
test_override('ALL', 0)
|
||||
|
||||
|
||||
Import in legacy Vim script ~
|
||||
|
||||
If an `import` statement is used in legacy Vim script, the script-local "s:"
|
||||
namespace will be used for the imported item, even when "s:" is not specified.
|
||||
namespace will be used for the imported items, even when "s:" is not
|
||||
specified.
|
||||
|
||||
|
||||
==============================================================================
|
||||
@@ -1647,13 +1745,17 @@ Specific items from TypeScript we avoid:
|
||||
- TypeScript can use an expression like "99 || 'yes'" in a condition, but
|
||||
cannot assign the value to a boolean. That is inconsistent and can be
|
||||
annoying. Vim recognizes an expression with && or || and allows using the
|
||||
result as a bool. TODO: to be reconsidered
|
||||
result as a bool. The |falsy-operator| was added for the mechanism to use a
|
||||
default value.
|
||||
- TypeScript considers an empty string as Falsy, but an empty list or dict as
|
||||
Truthy. That is inconsistent. In Vim an empty list and dict are also
|
||||
Falsy.
|
||||
- TypeScript has various "Readonly" types, which have limited usefulness,
|
||||
since a type cast can remove the immutable nature. Vim locks the value,
|
||||
which is more flexible, but is only checked at runtime.
|
||||
- TypeScript has a complicated "import" statement that does not match how the
|
||||
Vim import mechanism works. A much simpler mechanism is used instead, which
|
||||
matches that the imported script is only sourced once.
|
||||
|
||||
|
||||
Declarations ~
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
.TH VIMDIFF 1 "2001 March 30"
|
||||
.SH 名前
|
||||
vimdiff \- 二つか三つか四つのファイルを Vim で開いて、その差分を表示する
|
||||
vimdiff \- 2 個から 8 個のファイルを Vim で開いて、その差分を表示する
|
||||
.SH 書式
|
||||
.br
|
||||
.B vimdiff
|
||||
[options] file1 file2 [file3 [file4]]
|
||||
[options] file1 file2 [file3 [file4 [file5 [file6 [file7 [file8]]]]]]
|
||||
.PP
|
||||
.B gvimdiff
|
||||
.SH 説明
|
||||
.B Vimdiff
|
||||
は、二つ (か三つか四つ) のファイルを
|
||||
は、2 個から 8 個のファイルを
|
||||
.B Vim
|
||||
で開きます。
|
||||
ファイルは個別のウィンドウで開かれ、差分が強調表示されます。
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*visual.txt* For Vim version 8.2. Last change: 2021 May 30
|
||||
*visual.txt* For Vim version 8.2. Last change: 2022 Jan 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -265,6 +265,7 @@ Additionally the following commands can be used:
|
||||
X delete (2) |v_X|
|
||||
Y yank (2) |v_Y|
|
||||
p put |v_p|
|
||||
P put without unnamed register overwrite |v_P|
|
||||
J join (1) |v_J|
|
||||
U make uppercase |v_U|
|
||||
u make lowercase |v_u|
|
||||
@@ -370,7 +371,8 @@ same amount of text as the last time:
|
||||
last line the same number of characters as in the last line the last time.
|
||||
The start of the text is the Cursor position. If the "$" command was used as
|
||||
one of the last commands to extend the highlighted text, the repeating will
|
||||
be applied up to the rightmost column of the longest line.
|
||||
be applied up to the rightmost column of the longest line. Any count passed
|
||||
to the `.` command is not used.
|
||||
|
||||
|
||||
==============================================================================
|
||||
@@ -487,6 +489,11 @@ Commands in Select mode:
|
||||
- ESC stops Select mode.
|
||||
- CTRL-O switches to Visual mode for the duration of one command. *v_CTRL-O*
|
||||
- CTRL-G switches to Visual mode.
|
||||
- CTRL-R {register} selects the register to be used for the text that is
|
||||
deleted when typing text. *v_CTRL-R*
|
||||
Unless you specify the "_" (black hole) register, the unnamed register is
|
||||
also overwritten.
|
||||
|
||||
|
||||
Otherwise, typed characters are handled as in Visual mode.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 8.2. Last change: 2021 Sep 09
|
||||
*windows.txt* For Vim version 8.2. Last change: 2022 Jan 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -146,7 +146,7 @@ highlight group (|hl-EndOfBuffer|) can be used to change the highlighting of
|
||||
the filler characters.
|
||||
|
||||
==============================================================================
|
||||
3. Opening and closing a window *opening-window* *E36*
|
||||
3. Opening and closing a window *opening-window*
|
||||
|
||||
CTRL-W s *CTRL-W_s*
|
||||
CTRL-W S *CTRL-W_S*
|
||||
@@ -246,6 +246,10 @@ CTRL-W : Does the same as typing |:| - enter a command line. Useful in a
|
||||
|
||||
Note that the 'splitbelow' and 'splitright' options influence where a new
|
||||
window will appear.
|
||||
*E36*
|
||||
Creating a window will fail if there is not enough room. Every window needs
|
||||
at least one screen line and column, sometimes more. Options 'winminheight'
|
||||
and 'winminwidth' are relevant.
|
||||
|
||||
*:vert* *:vertical*
|
||||
:vert[ical] {cmd}
|
||||
@@ -1203,6 +1207,8 @@ list of buffers. |unlisted-buffer|
|
||||
the current buffer remains being edited. See |:buffer-!| for
|
||||
[!]. This will also edit a buffer that is not in the buffer
|
||||
list, without setting the 'buflisted' flag.
|
||||
The notation with single quotes does not work here,
|
||||
`:buf 12'345'` uses 12'345 as a buffer name.
|
||||
Also see |+cmd|.
|
||||
|
||||
:[N]b[uffer][!] [+cmd] {bufname} *{bufname}*
|
||||
@@ -1358,6 +1364,7 @@ directory Displays directory contents. Can be used by a file explorer
|
||||
< The buffer name is the name of the directory and is adjusted
|
||||
when using the |:cd| command.
|
||||
|
||||
*scratch-buffer*
|
||||
scratch Contains text that can be discarded at any time. It is kept
|
||||
when closing the window, it must be deleted explicitly.
|
||||
Settings: >
|
||||
|
||||
@@ -111,7 +111,7 @@ octets.
|
||||
.TP
|
||||
.IR \-p " | " \-ps " | " \-postscript " | " \-plain
|
||||
Produit une conversion continue dans le style Postscript (postscript continuous
|
||||
hexdumd style).
|
||||
hexdump style).
|
||||
<EFBFBD>galement connu sous le nom de <20> conversion brute <20> (plain hexdump style).
|
||||
.TP
|
||||
.IR \-r " | " \-revert
|
||||
|
||||
@@ -111,7 +111,7 @@ octets.
|
||||
.TP
|
||||
.IR \-p " | " \-ps " | " \-postscript " | " \-plain
|
||||
Produit une conversion continue dans le style Postscript (postscript continuous
|
||||
hexdumd style).
|
||||
hexdump style).
|
||||
Également connu sous le nom de « conversion brute » (plain hexdump style).
|
||||
.TP
|
||||
.IR \-r " | " \-revert
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
一行
|
||||
.RI < cols >
|
||||
オクテットで出力する。標準設定は 16 (\-i: 12, \-ps: 30, \-b: 6)。最大 256。
|
||||
\-ps には最大値がありません。 \-ps 付きの場合、0 を指定すると単一の長い行で出力されます。
|
||||
.TP
|
||||
.IR \-C " | " \-capitalize
|
||||
\-i を使用した際に、C インクルードファイル形式の変数名を大文字にする。
|
||||
|
||||
@@ -70,6 +70,7 @@ followed by an ascii (or ebcdic) representation. The command line switches
|
||||
Format
|
||||
.RI < cols >
|
||||
octets per line. Default 16 (\-i: 12, \-ps: 30, \-b: 6). Max 256.
|
||||
No maxmimum for \-ps. With \-ps, 0 results in one long line of output.
|
||||
.TP
|
||||
.IR \-C " | " \-capitalize
|
||||
Capitalize variable names in C include file style, when using \-i.
|
||||
|
||||
@@ -42,7 +42,8 @@ OPTIONS
|
||||
|
||||
-c cols | -cols cols
|
||||
Format <cols> octets per line. Default 16 (-i: 12, -ps: 30, -b:
|
||||
6). Max 256.
|
||||
6). Max 256. No maxmimum for -ps. With -ps, 0 results in one
|
||||
long line of output.
|
||||
|
||||
-C | -capitalize
|
||||
Capitalize variable names in C include file style, when using
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2021 Oct 03
|
||||
" Last Change: 2022 Jan 29
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -123,7 +123,7 @@ au BufNewFile,BufRead *.aml setf aml
|
||||
" APT config file
|
||||
au BufNewFile,BufRead apt.conf setf aptconf
|
||||
au BufNewFile,BufRead */.aptitude/config setf aptconf
|
||||
au BufNewFile,BufRead */etc/apt/apt.conf.d/{[-_[:alnum:]]\+,[-_.[:alnum:]]\+.conf} setf aptconf
|
||||
" more generic pattern far down
|
||||
|
||||
" Arch Inventory file
|
||||
au BufNewFile,BufRead .arch-inventory,=tagging-method setf arch
|
||||
@@ -193,7 +193,8 @@ au BufNewFile,BufRead *.awk,*.gawk setf awk
|
||||
au BufNewFile,BufRead *.mch,*.ref,*.imp setf b
|
||||
|
||||
" BASIC or Visual Basic
|
||||
au BufNewFile,BufRead *.bas call dist#ft#FTVB("basic")
|
||||
au BufNewFile,BufRead *.bas call dist#ft#FTbas()
|
||||
au BufNewFile,BufRead *.bi,*.bm call dist#ft#FTbas()
|
||||
|
||||
" Visual Basic Script (close to Visual Basic) or Visual Basic .NET
|
||||
au BufNewFile,BufRead *.vb,*.vbs,*.dsm,*.ctl setf vb
|
||||
@@ -202,7 +203,7 @@ au BufNewFile,BufRead *.vb,*.vbs,*.dsm,*.ctl setf vb
|
||||
au BufNewFile,BufRead *.iba,*.ibi setf ibasic
|
||||
|
||||
" FreeBasic file (similar to QBasic)
|
||||
au BufNewFile,BufRead *.fb,*.bi setf freebasic
|
||||
au BufNewFile,BufRead *.fb setf freebasic
|
||||
|
||||
" Batch file for MSDOS.
|
||||
au BufNewFile,BufRead *.bat,*.sys setf dosbatch
|
||||
@@ -260,7 +261,7 @@ au BufNewFile,BufRead *.lpc,*.ulpc setf lpc
|
||||
au BufNewFile,BufRead calendar setf calendar
|
||||
|
||||
" C#
|
||||
au BufNewFile,BufRead *.cs setf cs
|
||||
au BufNewFile,BufRead *.cs,*.csx setf cs
|
||||
|
||||
" CSDL
|
||||
au BufNewFile,BufRead *.csdl setf csdl
|
||||
@@ -397,6 +398,7 @@ au BufNewFile,BufRead configure.in,configure.ac setf config
|
||||
au BufNewFile,BufRead *.cu,*.cuh setf cuda
|
||||
|
||||
" Dockerfile; Podman uses the same syntax with name Containerfile
|
||||
" Also see Dockerfile.* below.
|
||||
au BufNewFile,BufRead Containerfile,Dockerfile,*.Dockerfile setf dockerfile
|
||||
|
||||
" WildPackets EtherPeek Decoder
|
||||
@@ -490,10 +492,13 @@ au BufNewFile,BufRead dict.conf,.dictrc setf dictconf
|
||||
" Dictd config
|
||||
au BufNewFile,BufRead dictd*.conf setf dictdconf
|
||||
|
||||
" DEP3 formatted patch files
|
||||
au BufNewFile,BufRead */debian/patches/* call dist#ft#Dep3patch()
|
||||
|
||||
" Diff files
|
||||
au BufNewFile,BufRead *.diff,*.rej setf diff
|
||||
au BufNewFile,BufRead *.patch
|
||||
\ if getline(1) =~ '^From [0-9a-f]\{40\} Mon Sep 17 00:00:00 2001$' |
|
||||
\ if getline(1) =~# '^From [0-9a-f]\{40,\} Mon Sep 17 00:00:00 2001$' |
|
||||
\ setf gitsendemail |
|
||||
\ else |
|
||||
\ setf diff |
|
||||
@@ -617,6 +622,9 @@ autocmd BufRead,BufNewFile *.fnl setf fennel
|
||||
" Fetchmail RC file
|
||||
au BufNewFile,BufRead .fetchmailrc setf fetchmail
|
||||
|
||||
" Fish shell
|
||||
au BufNewFile,BufRead *.fish setf fish
|
||||
|
||||
" FlexWiki - disabled, because it has side effects when a .wiki file
|
||||
" is not actually FlexWiki
|
||||
"au BufNewFile,BufRead *.wiki setf flexwiki
|
||||
@@ -629,7 +637,7 @@ au BufNewFile,BufRead auto.master setf conf
|
||||
au BufNewFile,BufRead *.mas,*.master setf master
|
||||
|
||||
" Forth
|
||||
au BufNewFile,BufRead *.fs,*.ft,*.fth setf forth
|
||||
au BufNewFile,BufRead *.ft,*.fth setf forth
|
||||
|
||||
" Reva Forth
|
||||
au BufNewFile,BufRead *.frt setf reva
|
||||
@@ -646,12 +654,27 @@ au BufNewFile,BufRead *.fsl setf framescript
|
||||
" FStab
|
||||
au BufNewFile,BufRead fstab,mtab setf fstab
|
||||
|
||||
" Fusion
|
||||
au BufRead,BufNewFile *.fusion setf fusion
|
||||
|
||||
" F# or Forth
|
||||
au BufNewFile,BufRead *.fs call dist#ft#FTfs()
|
||||
|
||||
" F#
|
||||
au BufNewFile,BufRead *.fsi,*.fsx setf fsharp
|
||||
|
||||
" GDB command files
|
||||
au BufNewFile,BufRead .gdbinit setf gdb
|
||||
au BufNewFile,BufRead .gdbinit,gdbinit setf gdb
|
||||
|
||||
" GDMO
|
||||
au BufNewFile,BufRead *.mo,*.gdmo setf gdmo
|
||||
|
||||
" GDscript
|
||||
au BufNewFile,BufRead *.gd setf gdscript
|
||||
|
||||
" Godot resource
|
||||
au BufRead,BufNewFile *.tscn,*.tres setf gdresource
|
||||
|
||||
" Gedcom
|
||||
au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom
|
||||
|
||||
@@ -663,26 +686,28 @@ autocmd BufRead,BufNewFile *.gift setf gift
|
||||
|
||||
" Git
|
||||
au BufNewFile,BufRead COMMIT_EDITMSG,MERGE_MSG,TAG_EDITMSG setf gitcommit
|
||||
au BufNewFile,BufRead *.git/config,.gitconfig,/etc/gitconfig setf gitconfig
|
||||
au BufNewFile,BufRead NOTES_EDITMSG,EDIT_DESCRIPTION setf gitcommit
|
||||
au BufNewFile,BufRead *.git/config,.gitconfig,*/etc/gitconfig setf gitconfig
|
||||
au BufNewFile,BufRead */.config/git/config setf gitconfig
|
||||
au BufNewFile,BufRead *.git/config.worktree setf gitconfig
|
||||
au BufNewFile,BufRead *.git/worktrees/*/config.worktree setf gitconfig
|
||||
au BufNewFile,BufRead .gitmodules,*.git/modules/*/config setf gitconfig
|
||||
if !empty($XDG_CONFIG_HOME)
|
||||
au BufNewFile,BufRead $XDG_CONFIG_HOME/git/config setf gitconfig
|
||||
endif
|
||||
au BufNewFile,BufRead git-rebase-todo setf gitrebase
|
||||
au BufRead,BufNewFile .gitsendemail.msg.?????? setf gitsendemail
|
||||
au BufNewFile,BufRead .msg.[0-9]*
|
||||
\ if getline(1) =~ '^From.*# This line is ignored.$' |
|
||||
\ setf gitsendemail |
|
||||
\ endif
|
||||
au BufNewFile,BufRead *.git/*
|
||||
\ if getline(1) =~ '^\x\{40\}\>\|^ref: ' |
|
||||
\ if getline(1) =~# '^\x\{40,\}\>\|^ref: ' |
|
||||
\ setf git |
|
||||
\ endif
|
||||
|
||||
" Gkrellmrc
|
||||
au BufNewFile,BufRead gkrellmrc,gkrellmrc_? setf gkrellmrc
|
||||
|
||||
" GLSL
|
||||
au BufNewFile,BufRead *.glsl setf glsl
|
||||
|
||||
" GP scripts (2.0 and onward)
|
||||
au BufNewFile,BufRead *.gp,.gprc setf gp
|
||||
|
||||
@@ -703,14 +728,19 @@ au BufNewFile,BufRead gitolite.conf setf gitolite
|
||||
au BufNewFile,BufRead {,.}gitolite.rc,example.gitolite.rc setf perl
|
||||
|
||||
" Gnuplot scripts
|
||||
au BufNewFile,BufRead *.gpi setf gnuplot
|
||||
au BufNewFile,BufRead *.gpi,.gnuplot setf gnuplot
|
||||
|
||||
" Go (Google)
|
||||
au BufNewFile,BufRead *.go setf go
|
||||
au BufNewFile,BufRead Gopkg.lock setf toml
|
||||
au BufRead,BufNewFile go.work setf gowork
|
||||
|
||||
" GrADS scripts
|
||||
au BufNewFile,BufRead *.gs setf grads
|
||||
|
||||
" GraphQL
|
||||
au BufNewFile,BufRead *.graphql,*.graphqls,*.gql setf graphql
|
||||
|
||||
" Gretl
|
||||
au BufNewFile,BufRead *.gretl setf gretl
|
||||
|
||||
@@ -726,12 +756,18 @@ au BufNewFile,BufRead */etc/group,*/etc/group-,*/etc/group.edit,*/etc/gshadow,*/
|
||||
" GTK RC
|
||||
au BufNewFile,BufRead .gtkrc,gtkrc setf gtkrc
|
||||
|
||||
" Hack
|
||||
au BufRead,BufNewFile *.hack,*.hackpartial setf hack
|
||||
|
||||
" Haml
|
||||
au BufNewFile,BufRead *.haml setf haml
|
||||
|
||||
" Hamster Classic | Playground files
|
||||
au BufNewFile,BufRead *.hsm setf hamster
|
||||
|
||||
" Handlebars
|
||||
au BufNewFile,BufRead *.hbs setf handlebars
|
||||
|
||||
" Haskell
|
||||
au BufNewFile,BufRead *.hs,*.hsc,*.hs-boot,*.hsig setf haskell
|
||||
au BufNewFile,BufRead *.lhs setf lhaskell
|
||||
@@ -744,12 +780,21 @@ au BufNewFile,BufRead cabal.config setf cabalconfig
|
||||
au BufNewFile,BufRead *.ht setf haste
|
||||
au BufNewFile,BufRead *.htpp setf hastepreproc
|
||||
|
||||
" HCL
|
||||
au BufRead,BufNewFile *.hcl setf hcl
|
||||
|
||||
" Hercules
|
||||
au BufNewFile,BufRead *.vc,*.ev,*.sum,*.errsum setf hercules
|
||||
|
||||
" HEEx
|
||||
au BufRead,BufNewFile *.heex setf heex
|
||||
|
||||
" HEX (Intel)
|
||||
au BufNewFile,BufRead *.hex,*.h32 setf hex
|
||||
|
||||
" Hjson
|
||||
au BufNewFile,BufRead *.hjson setf hjson
|
||||
|
||||
" Hollywood
|
||||
au BufRead,BufNewFile *.hws setf hollywood
|
||||
|
||||
@@ -780,6 +825,10 @@ au BufNewFile,BufRead *.hb setf hb
|
||||
" Httest
|
||||
au BufNewFile,BufRead *.htt,*.htb setf httest
|
||||
|
||||
" i3 (and sway)
|
||||
au BufNewFile,BufRead */i3/config,*/sway/config setf i3config
|
||||
au BufNewFile,BufRead */.i3/config,*/.sway/config setf i3config
|
||||
|
||||
" Icon
|
||||
au BufNewFile,BufRead *.icn setf icon
|
||||
|
||||
@@ -870,6 +919,9 @@ au BufNewFile,BufRead *.jov,*.j73,*.jovial setf jovial
|
||||
" JSON
|
||||
au BufNewFile,BufRead *.json,*.jsonp,*.webmanifest setf json
|
||||
|
||||
" JSON5
|
||||
au BufNewFile,BufRead *.json5 setf json5
|
||||
|
||||
" JSON Patch (RFC 6902)
|
||||
au BufNewFile,BufRead *.json-patch setf json
|
||||
|
||||
@@ -921,6 +973,9 @@ au BufNewFile,BufRead *.ldif setf ldif
|
||||
" Ld loader
|
||||
au BufNewFile,BufRead *.ld setf ld
|
||||
|
||||
" Ledger
|
||||
au BufRead,BufNewFile *.ldg,*.ledger,*.journal setf ledger
|
||||
|
||||
" Less
|
||||
au BufNewFile,BufRead *.less setf less
|
||||
|
||||
@@ -945,9 +1000,9 @@ au BufNewFile,BufRead lilo.conf setf lilo
|
||||
" Lisp (*.el = ELisp, *.cl = Common Lisp)
|
||||
" *.jl was removed, it's also used for Julia, better skip than guess wrong.
|
||||
if has("fname_case")
|
||||
au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,*.L,.emacs,.sawfishrc setf lisp
|
||||
au BufNewFile,BufRead *.lsp,*.lisp,*.asd,*.el,*.cl,*.L,.emacs,.sawfishrc setf lisp
|
||||
else
|
||||
au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,.emacs,.sawfishrc setf lisp
|
||||
au BufNewFile,BufRead *.lsp,*.lisp,*.asd,*.el,*.cl,.emacs,.sawfishrc setf lisp
|
||||
endif
|
||||
|
||||
" SBCL implementation of Common Lisp
|
||||
@@ -1074,7 +1129,9 @@ au BufNewFile,BufRead *.mmp setf mmp
|
||||
|
||||
" Modsim III (or LambdaProlog)
|
||||
au BufNewFile,BufRead *.mod
|
||||
\ if getline(1) =~ '\<module\>' |
|
||||
\ if expand("<afile>") =~ '\<go.mod$' |
|
||||
\ setf gomod |
|
||||
\ elseif getline(1) =~ '\<module\>' |
|
||||
\ setf lprolog |
|
||||
\ else |
|
||||
\ setf modsim3 |
|
||||
@@ -1113,14 +1170,15 @@ au BufNewFile,BufRead *.msql setf msql
|
||||
" Mysql
|
||||
au BufNewFile,BufRead *.mysql setf mysql
|
||||
|
||||
" Mutt setup files (must be before catch *.rc)
|
||||
au BufNewFile,BufRead */etc/Muttrc.d/* call s:StarSetf('muttrc')
|
||||
|
||||
" Tcl Shell RC file
|
||||
au BufNewFile,BufRead tclsh.rc setf tcl
|
||||
|
||||
" M$ Resource files
|
||||
au BufNewFile,BufRead *.rc,*.rch setf rc
|
||||
" /etc/Muttrc.d/file.rc is muttrc
|
||||
au BufNewFile,BufRead *.rc,*.rch
|
||||
\ if expand("<afile>") !~ "/etc/Muttrc.d/" |
|
||||
\ setf rc |
|
||||
\ endif
|
||||
|
||||
" MuPAD source
|
||||
au BufRead,BufNewFile *.mu setf mupad
|
||||
@@ -1155,6 +1213,9 @@ au BufNewFile,BufRead *.nginx,nginx*.conf,*nginx.conf,*/etc/nginx/*,*/usr/local/
|
||||
" Ninja file
|
||||
au BufNewFile,BufRead *.ninja setf ninja
|
||||
|
||||
" Nix
|
||||
au BufRead,BufNewFile *.nix setf nix
|
||||
|
||||
" NPM RC file
|
||||
au BufNewFile,BufRead npmrc,.npmrc setf dosini
|
||||
|
||||
@@ -1196,6 +1257,9 @@ au BufNewFile,BufRead *.xom,*.xin setf omnimark
|
||||
" OPAM
|
||||
au BufNewFile,BufRead opam,*.opam,*.opam.template setf opam
|
||||
|
||||
" OpenFOAM
|
||||
au BufNewFile,BufRead [a-zA-Z0-9]*Dict\(.*\)\=,[a-zA-Z]*Properties\(.*\)\=,*Transport\(.*\),fvSchemes,fvSolution,fvConstrains,fvModels,*/constant/g,*/0\(\.orig\)\=/* call dist#ft#FTfoam()
|
||||
|
||||
" OpenROAD
|
||||
au BufNewFile,BufRead *.or setf openroad
|
||||
|
||||
@@ -1290,7 +1354,7 @@ au BufNewFile,BufRead *.rcp setf pilrc
|
||||
au BufNewFile,BufRead .pinerc,pinerc,.pinercex,pinercex setf pine
|
||||
|
||||
" Pipenv Pipfiles
|
||||
au BufNewFile,BufRead Pipfile setf config
|
||||
au BufNewFile,BufRead Pipfile setf toml
|
||||
au BufNewFile,BufRead Pipfile.lock setf json
|
||||
|
||||
" PL/1, PL/I
|
||||
@@ -1337,6 +1401,9 @@ au BufNewFile,BufRead *printcap
|
||||
au BufNewFile,BufRead *termcap
|
||||
\ let b:ptcap_type = "term" | setf ptcap
|
||||
|
||||
" Prisma
|
||||
au BufRead,BufNewFile *.prisma setf prisma
|
||||
|
||||
" PCCTS / ANTLR
|
||||
"au BufNewFile,BufRead *.g setf antlr
|
||||
au BufNewFile,BufRead *.g setf pccts
|
||||
@@ -1344,6 +1411,9 @@ au BufNewFile,BufRead *.g setf pccts
|
||||
" PPWizard
|
||||
au BufNewFile,BufRead *.it,*.ih setf ppwiz
|
||||
|
||||
" Pug
|
||||
au BufRead,BufNewFile *.pug setf pug
|
||||
|
||||
" Puppet
|
||||
au BufNewFile,BufRead Puppetfile setf ruby
|
||||
|
||||
@@ -1409,6 +1479,9 @@ au BufNewFile,BufRead *.pyx,*.pxd setf pyrex
|
||||
au BufNewFile,BufRead *.py,*.pyw,.pythonstartup,.pythonrc setf python
|
||||
au BufNewFile,BufRead *.ptl,*.pyi,SConstruct setf python
|
||||
|
||||
" QL
|
||||
au BufRead,BufNewFile *.ql,*.qll setf ql
|
||||
|
||||
" Radiance
|
||||
au BufNewFile,BufRead *.rad,*.mat setf radiance
|
||||
|
||||
@@ -1492,6 +1565,9 @@ au BufNewFile,BufRead robots.txt setf robots
|
||||
" Rpcgen
|
||||
au BufNewFile,BufRead *.x setf rpcgen
|
||||
|
||||
" MikroTik RouterOS script
|
||||
au BufRead,BufNewFile *.rsc setf routeros
|
||||
|
||||
" reStructuredText Documentation Format
|
||||
au BufNewFile,BufRead *.rst setf rst
|
||||
|
||||
@@ -1524,6 +1600,7 @@ au BufNewFile,BufRead [rR]antfile,*.rant,[rR]akefile,*.rake setf ruby
|
||||
|
||||
" Rust
|
||||
au BufNewFile,BufRead *.rs setf rust
|
||||
au BufNewFile,BufRead Cargo.lock,*/.cargo/config,*/.cargo/credentials setf toml
|
||||
|
||||
" S-lang (or shader language, or SmallLisp)
|
||||
au BufNewFile,BufRead *.sl setf slang
|
||||
@@ -1635,13 +1712,16 @@ au BufNewFile,BufRead .tcshrc,*.tcsh,tcsh.tcshrc,tcsh.login call dist#ft#SetFile
|
||||
" (patterns ending in a start further below)
|
||||
au BufNewFile,BufRead .login,.cshrc,csh.cshrc,csh.login,csh.logout,*.csh,.alias call dist#ft#CSH()
|
||||
|
||||
" Zig
|
||||
au BufNewFile,BufRead *.zig setf zig
|
||||
|
||||
" Z-Shell script (patterns ending in a star further below)
|
||||
au BufNewFile,BufRead .zprofile,*/etc/zprofile,.zfbfmarks setf zsh
|
||||
au BufNewFile,BufRead .zshrc,.zshenv,.zlogin,.zlogout,.zcompdump setf zsh
|
||||
au BufNewFile,BufRead *.zsh setf zsh
|
||||
|
||||
" Scheme
|
||||
au BufNewFile,BufRead *.scm,*.ss,*.rkt,*.rktd,*.rktl setf scheme
|
||||
au BufNewFile,BufRead *.scm,*.ss,*.sld,*.rkt,*.rktd,*.rktl setf scheme
|
||||
|
||||
" Screen RC
|
||||
au BufNewFile,BufRead .screenrc,screenrc setf screen
|
||||
@@ -1721,6 +1801,10 @@ au BufNewFile,BufRead *.speedup,*.spdata,*.spd setf spup
|
||||
" Slice
|
||||
au BufNewFile,BufRead *.ice setf slice
|
||||
|
||||
" Microsoft Visual Studio Solution
|
||||
au BufNewFile,BufRead *.sln setf solution
|
||||
au BufNewFile,BufRead *.slnf setf json
|
||||
|
||||
" Spice
|
||||
au BufNewFile,BufRead *.sp,*.spice setf spice
|
||||
|
||||
@@ -1742,9 +1826,12 @@ au BufNewFile,BufRead *.sqlj setf sqlj
|
||||
" SQR
|
||||
au BufNewFile,BufRead *.sqr,*.sqi setf sqr
|
||||
|
||||
" Squirrel
|
||||
au BufNewFile,BufRead *.nut setf squirrel
|
||||
|
||||
" OpenSSH configuration
|
||||
au BufNewFile,BufRead ssh_config,*/.ssh/config setf sshconfig
|
||||
au BufNewFile,BufRead */etc/ssh/ssh_config.d/*.conf setf sshconfig
|
||||
au BufNewFile,BufRead ssh_config,*/.ssh/config,*/.ssh/*.conf setf sshconfig
|
||||
au BufNewFile,BufRead */etc/ssh/ssh_config.d/*.conf setf sshconfig
|
||||
|
||||
" OpenSSH server configuration
|
||||
au BufNewFile,BufRead sshd_config setf sshdconfig
|
||||
@@ -1799,6 +1886,9 @@ au BufNewFile,BufRead */etc/sudoers,sudoers.tmp setf sudoers
|
||||
" SVG (Scalable Vector Graphics)
|
||||
au BufNewFile,BufRead *.svg setf svg
|
||||
|
||||
" Surface
|
||||
au BufRead,BufNewFile *.sface setf surface
|
||||
|
||||
" Tads (or Nroff or Perl test file)
|
||||
au BufNewFile,BufRead *.t
|
||||
\ if !dist#ft#FTnroff() && !dist#ft#FTperl() | setf tads | endif
|
||||
@@ -1816,6 +1906,9 @@ au BufRead,BufNewFile *.task setf taskedit
|
||||
" Tcl (JACL too)
|
||||
au BufNewFile,BufRead *.tcl,*.tm,*.tk,*.itcl,*.itk,*.jacl,.tclshrc,.wishrc setf tcl
|
||||
|
||||
" Teal
|
||||
au BufRead,BufNewFile *.tl setf teal
|
||||
|
||||
" TealInfo
|
||||
au BufNewFile,BufRead *.tli setf tli
|
||||
|
||||
@@ -1833,6 +1926,9 @@ au BufRead,BufNewFile *.ttl
|
||||
" Terminfo
|
||||
au BufNewFile,BufRead *.ti setf terminfo
|
||||
|
||||
" Terraform
|
||||
au BufRead,BufNewFile *.tfvars setf terraform
|
||||
|
||||
" TeX
|
||||
au BufNewFile,BufRead *.latex,*.sty,*.dtx,*.ltx,*.bbl setf tex
|
||||
au BufNewFile,BufRead *.tex call dist#ft#FTtex()
|
||||
@@ -1850,7 +1946,13 @@ au BufNewFile,BufRead texmf.cnf setf texmf
|
||||
au BufNewFile,BufRead .tidyrc,tidyrc,tidy.conf setf tidy
|
||||
|
||||
" TF mud client
|
||||
au BufNewFile,BufRead *.tf,.tfrc,tfrc setf tf
|
||||
au BufNewFile,BufRead .tfrc,tfrc setf tf
|
||||
|
||||
" TF mud client or terraform
|
||||
au BufNewFile,BufRead *.tf call dist#ft#FTtf()
|
||||
|
||||
" TLA+
|
||||
au BufNewFile,BufRead *.tla setf tla
|
||||
|
||||
" tmux configuration
|
||||
au BufNewFile,BufRead {.,}tmux*.conf setf tmux
|
||||
@@ -1859,7 +1961,7 @@ au BufNewFile,BufRead {.,}tmux*.conf setf tmux
|
||||
au BufNewFile,BufRead *.toml setf toml
|
||||
|
||||
" TPP - Text Presentation Program
|
||||
au BufNewFile,BufReadPost *.tpp setf tpp
|
||||
au BufNewFile,BufRead *.tpp setf tpp
|
||||
|
||||
" Treetop
|
||||
au BufRead,BufNewFile *.treetop setf treetop
|
||||
@@ -1916,6 +2018,9 @@ au BufNewFile,BufRead */.init/*.conf,*/.init/*.override setf upstart
|
||||
au BufNewFile,BufRead */.config/upstart/*.conf setf upstart
|
||||
au BufNewFile,BufRead */.config/upstart/*.override setf upstart
|
||||
|
||||
" Vala
|
||||
au BufNewFile,BufRead *.vala setf vala
|
||||
|
||||
" Vera
|
||||
au BufNewFile,BufRead *.vr,*.vri,*.vrh setf vera
|
||||
|
||||
@@ -2051,9 +2156,15 @@ au BufNewFile,BufRead *.xml call dist#ft#FTxml()
|
||||
" XMI (holding UML models) is also XML
|
||||
au BufNewFile,BufRead *.xmi setf xml
|
||||
|
||||
" CSPROJ files are Visual Studio.NET's XML-based project config files
|
||||
" CSPROJ files are Visual Studio.NET's XML-based C# project config files
|
||||
au BufNewFile,BufRead *.csproj,*.csproj.user setf xml
|
||||
|
||||
" FSPROJ files are Visual Studio.NET's XML-based F# project config files
|
||||
au BufNewFile,BufRead *.fsproj,*.fsproj.user setf xml
|
||||
|
||||
" VBPROJ files are Visual Studio.NET's XML-based Visual Basic project config files
|
||||
au BufNewFile,BufRead *.vbproj,*.vbproj.user setf xml
|
||||
|
||||
" Qt Linguist translation source and Qt User Interface Files are XML
|
||||
" However, for .ts Typescript is more common.
|
||||
au BufNewFile,BufRead *.ui setf xml
|
||||
@@ -2104,6 +2215,9 @@ au BufNewFile,BufRead *.raml setf raml
|
||||
" yum conf (close enough to dosini)
|
||||
au BufNewFile,BufRead */etc/yum.conf setf dosini
|
||||
|
||||
" YANG
|
||||
au BufRead,BufNewFile *.yang setf yang
|
||||
|
||||
" Zimbu
|
||||
au BufNewFile,BufRead *.zu setf zimbu
|
||||
" Zimbu Templates
|
||||
@@ -2139,6 +2253,12 @@ au BufNewFile,BufRead *
|
||||
au StdinReadPost * if !did_filetype() | runtime! scripts.vim | endif
|
||||
|
||||
|
||||
" Plain text files, needs to be far down to not override others. This avoids
|
||||
" the "conf" type being used if there is a line starting with '#'.
|
||||
" But before patterns matching everything in a directory.
|
||||
au BufNewFile,BufRead *.text,README,LICENSE,COPYING,AUTHORS setf text
|
||||
|
||||
|
||||
" Extra checks for when no filetype has been detected now. Mostly used for
|
||||
" patterns that end in "*". E.g., "zsh*" matches "zsh.vim", but that's a Vim
|
||||
" script file.
|
||||
@@ -2153,6 +2273,9 @@ au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle')
|
||||
au BufNewFile,BufRead access.conf*,apache.conf*,apache2.conf*,httpd.conf*,srm.conf* call s:StarSetf('apache')
|
||||
au BufNewFile,BufRead */etc/apache2/*.conf*,*/etc/apache2/conf.*/*,*/etc/apache2/mods-*/*,*/etc/apache2/sites-*/*,*/etc/httpd/conf.*/*,*/etc/httpd/mods-*/*,*/etc/httpd/sites-*/*,*/etc/httpd/conf.d/*.conf* call s:StarSetf('apache')
|
||||
|
||||
" APT config file
|
||||
au BufNewFile,BufRead */etc/apt/apt.conf.d/{[-_[:alnum:]]\+,[-_.[:alnum:]]\+.conf} call s:StarSetf('aptconf')
|
||||
|
||||
" Asterisk config file
|
||||
au BufNewFile,BufRead *asterisk/*.conf* call s:StarSetf('asterisk')
|
||||
au BufNewFile,BufRead *asterisk*/*voicemail.conf* call s:StarSetf('asteriskvm')
|
||||
@@ -2189,6 +2312,9 @@ au BufNewFile,BufRead crontab,crontab.*,*/etc/cron.d/* call s:StarSetf('crontab
|
||||
" dnsmasq(8) configuration
|
||||
au BufNewFile,BufRead */etc/dnsmasq.d/* call s:StarSetf('dnsmasq')
|
||||
|
||||
" Dockerfile
|
||||
au BufNewFile,BufRead Dockerfile.*,Containerfile.* call s:StarSetf('dockerfile')
|
||||
|
||||
" Dracula
|
||||
au BufNewFile,BufRead drac.* call s:StarSetf('dracula')
|
||||
|
||||
@@ -2233,6 +2359,9 @@ au BufNewFile,BufRead Kconfig.* call s:StarSetf('kconfig')
|
||||
" Lilo: Linux loader
|
||||
au BufNewFile,BufRead lilo.conf* call s:StarSetf('lilo')
|
||||
|
||||
" Libsensors
|
||||
au BufNewFile,BufRead */etc/sensors.d/[^.]* call s:StarSetf('sensors')
|
||||
|
||||
" Logcheck
|
||||
au BufNewFile,BufRead */etc/logcheck/*.d*/* call s:StarSetf('logcheck')
|
||||
|
||||
@@ -2254,6 +2383,9 @@ au BufNewFile,BufRead */etc/modutils/*
|
||||
\|endif
|
||||
au BufNewFile,BufRead */etc/modprobe.* call s:StarSetf('modconf')
|
||||
|
||||
" Mutt setup files (must be before catch *.rc)
|
||||
au BufNewFile,BufRead */etc/Muttrc.d/* call s:StarSetf('muttrc')
|
||||
|
||||
" Mutt setup file
|
||||
au BufNewFile,BufRead .mutt{ng,}rc*,*/.mutt{ng,}/mutt{ng,}rc* call s:StarSetf('muttrc')
|
||||
au BufNewFile,BufRead mutt{ng,}rc*,Mutt{ng,}rc* call s:StarSetf('muttrc')
|
||||
@@ -2299,12 +2431,18 @@ au BufNewFile,BufRead .bashrc*,.bash[_-]profile*,.bash[_-]logout*,.bash[_-]alias
|
||||
au BufNewFile,BufRead .kshrc* call dist#ft#SetFileTypeSH("ksh")
|
||||
au BufNewFile,BufRead .profile* call dist#ft#SetFileTypeSH(getline(1))
|
||||
|
||||
" Sudoers
|
||||
au BufNewFile,BufRead */etc/sudoers.d/* call s:StarSetf('sudoers')
|
||||
|
||||
" tcsh scripts ending in a star
|
||||
au BufNewFile,BufRead .tcshrc* call dist#ft#SetFileTypeShell("tcsh")
|
||||
|
||||
" csh scripts ending in a star
|
||||
au BufNewFile,BufRead .login*,.cshrc* call dist#ft#CSH()
|
||||
|
||||
" tmux configuration with arbitrary extension
|
||||
au BufNewFile,BufRead {.,}tmux*.conf* setf tmux
|
||||
|
||||
" VHDL
|
||||
au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl')
|
||||
|
||||
@@ -2340,10 +2478,6 @@ au BufNewFile,BufRead .zsh*,.zlog*,.zcompdump* call s:StarSetf('zsh')
|
||||
au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh')
|
||||
|
||||
|
||||
" Plain text files, needs to be far down to not override others. This avoids
|
||||
" the "conf" type being used if there is a line starting with '#'.
|
||||
au BufNewFile,BufRead *.text,README setf text
|
||||
|
||||
" Help files match *.txt but should have a last line that is a modeline.
|
||||
au BufNewFile,BufRead *.txt
|
||||
\ if getline('$') !~ 'vim:.*ft=help'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Aap recipe
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 Apr 05
|
||||
" Last Change: 2021 Nov 14
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -11,8 +11,9 @@ endif
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" Reset 'formatoptions', 'comments' and 'expandtab' to undo this plugin.
|
||||
let b:undo_ftplugin = "setl fo< com< et<"
|
||||
" Reset 'formatoptions', 'comments', 'commentstring' and 'expandtab' to undo
|
||||
" this plugin.
|
||||
let b:undo_ftplugin = "setl fo< com< cms< et<"
|
||||
|
||||
" Set 'formatoptions' to break comment lines but not other lines,
|
||||
" and insert the comment leader when hitting <CR> or using "o".
|
||||
@@ -20,6 +21,12 @@ setlocal fo-=t fo+=croql
|
||||
|
||||
" Set 'comments' to format dashed lists in comments.
|
||||
setlocal comments=s:#\ -,m:#\ \ ,e:#,n:#,fb:-
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
" Expand tabs to spaces to avoid trouble.
|
||||
setlocal expandtab
|
||||
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Aap Recipe Files (*.aap)\t*.aap\nAll Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin ..= " | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: BASIC
|
||||
" Language: BASIC (QuickBASIC 4.5)
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2015 Jan 10
|
||||
" Last Change: 2021 Mar 16
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -11,17 +11,46 @@ let b:did_ftplugin = 1
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal comments=:REM,:'
|
||||
setlocal comments=:REM\ ,:Rem\ ,:rem\ ,:'
|
||||
setlocal commentstring='\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter = "BASIC Source Files (*.bas)\t*.bas\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
" TODO: support exit ... as middle matches?
|
||||
if exists("loaded_matchit") && !exists("b:match_words")
|
||||
let s:line_start = '\%(^\s*\)\@<='
|
||||
let s:not_end = '\%(end\s\+\)\@<!'
|
||||
let s:not_end_or_exit = '\%(\%(end\|exit\)\s\+\)\@<!'
|
||||
|
||||
let b:match_ignorecase = 1
|
||||
let b:match_words =
|
||||
\ s:not_end_or_exit .. '\<def\s\+fn:\<end\s\+def\>,' ..
|
||||
\ s:not_end_or_exit .. '\<function\>:\<end\s\+function\>,' ..
|
||||
\ s:not_end_or_exit .. '\<sub\>:\<end\s\+sub\>,' ..
|
||||
\ s:not_end .. '\<type\>:\<end\s\+type\>,' ..
|
||||
\ s:not_end .. '\<select\>:\%(select\s\+\)\@<!\<case\%(\s\+\%(else\|is\)\)\=\>:\<end\s\+select\>,' ..
|
||||
\ '\<do\>:\<loop\>,' ..
|
||||
\ '\<for\>\%(\s\+\%(input\|output\|random\|append\|binary\)\)\@!:\<next\>,' ..
|
||||
\ '\<while\>:\<wend\>,' ..
|
||||
\ s:line_start .. 'if\%(.*\<then\s*\%($\|''\)\)\@=:\<\%(' .. s:line_start .. 'else\|elseif\)\>:\<end\s\+if\>,' ..
|
||||
\ '\<lock\>:\<unlock\>'
|
||||
|
||||
let b:match_skip = 'synIDattr(synID(line("."),col("."),1),"name") =~? "comment\\|string" || ' ..
|
||||
\ 'strpart(getline("."), 0, col(".") ) =~? "\\<exit\\s\\+"'
|
||||
|
||||
unlet s:line_start s:not_end s:not_end_or_exit
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl fo< com< cms< sua<" .
|
||||
\ " | unlet! b:browsefilter"
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter = "BASIC Source Files (*.bas)\t*.bas\n" ..
|
||||
\ "BASIC Include Files (*.bi, *.bm)\t*.bi;*.bm\n" ..
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl fo< com< cms<" ..
|
||||
\ " | unlet! b:match_ignorecase b:match_skip b:match_words" ..
|
||||
\ " | unlet! b:browsefilter"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: generic Changelog file
|
||||
" Maintainer: Martin Florian <marfl@posteo.de>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2015-10-25
|
||||
" Latest Revision: 2021-10-17
|
||||
" Variables:
|
||||
" g:changelog_timeformat (deprecated: use g:changelog_dateformat instead) -
|
||||
" description: the timeformat used in ChangeLog entries.
|
||||
@@ -55,7 +55,7 @@ if &filetype == 'changelog'
|
||||
elseif $EMAIL_ADDRESS != ""
|
||||
return $EMAIL_ADDRESS
|
||||
endif
|
||||
|
||||
|
||||
let login = s:login()
|
||||
return printf('%s <%s@%s>', s:name(login), login, s:hostname())
|
||||
endfunction
|
||||
@@ -223,12 +223,6 @@ if &filetype == 'changelog'
|
||||
let &paste = save_paste
|
||||
endfunction
|
||||
|
||||
if exists(":NewChangelogEntry") != 2
|
||||
nnoremap <buffer> <silent> <Leader>o :<C-u>call <SID>new_changelog_entry('')<CR>
|
||||
xnoremap <buffer> <silent> <Leader>o :<C-u>call <SID>new_changelog_entry('')<CR>
|
||||
command! -nargs=0 NewChangelogEntry call s:new_changelog_entry('')
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl com< fo< et< ai<"
|
||||
|
||||
setlocal comments=
|
||||
@@ -241,14 +235,26 @@ if &filetype == 'changelog'
|
||||
let b:undo_ftplugin .= " tw<"
|
||||
endif
|
||||
|
||||
if !exists("no_plugin_maps") && !exists("no_changelog_maps") && exists(":NewChangelogEntry") != 2
|
||||
nnoremap <buffer> <silent> <Leader>o :<C-u>call <SID>new_changelog_entry('')<CR>
|
||||
xnoremap <buffer> <silent> <Leader>o :<C-u>call <SID>new_changelog_entry('')<CR>
|
||||
command! -buffer -nargs=0 NewChangelogEntry call s:new_changelog_entry('')
|
||||
let b:undo_ftplugin .= " | sil! exe 'nunmap <buffer> <Leader>o'" .
|
||||
\ " | sil! exe 'vunmap <buffer> <Leader>o'" .
|
||||
\ " | sil! delc NewChangelogEntry"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
else
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Add the Changelog opening mapping
|
||||
nnoremap <silent> <Leader>o :call <SID>open_changelog()<CR>
|
||||
if !exists("no_plugin_maps") && !exists("no_changelog_maps")
|
||||
" Add the Changelog opening mapping
|
||||
nnoremap <silent> <Leader>o :call <SID>open_changelog()<CR>
|
||||
let b:undo_ftplugin .= " | silent! exe 'nunmap <buffer> <Leader>o"
|
||||
endif
|
||||
|
||||
function! s:open_changelog()
|
||||
let path = expand('%:p:h')
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Clojure
|
||||
" Maintainer: Alex Vear <av@axvr.io>
|
||||
" Maintainer: Alex Vear <alex@vear.uk>
|
||||
" Former Maintainers: Sung Pae <self@sungpae.com>
|
||||
" Meikel Brandmeyer <mb@kotka.de>
|
||||
" URL: https://github.com/clojure-vim/clojure.vim
|
||||
" License: Vim (see :h license)
|
||||
" Last Change: 2021-02-13
|
||||
" Last Change: 2021-10-26
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -17,7 +17,7 @@ set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = 'setlocal iskeyword< define< formatoptions< comments< commentstring< lispwords<'
|
||||
|
||||
setlocal iskeyword+=?,-,*,!,+,/,=,<,>,.,:,$
|
||||
setlocal iskeyword+=?,-,*,!,+,/,=,<,>,.,:,$,%,&,\|
|
||||
|
||||
" There will be false positives, but this is better than missing the whole set
|
||||
" of user-defined def* definitions.
|
||||
@@ -43,7 +43,7 @@ setlocal commentstring=;\ %s
|
||||
" specially and hence are not indented specially.
|
||||
"
|
||||
" -*- LISPWORDS -*-
|
||||
" Generated from https://github.com/clojure-vim/clojure.vim/blob/f8594e7030cdfb0b7990ac92953c77a08a7220f0/clj/src/vim_clojure_static/generate.clj
|
||||
" Generated from https://github.com/clojure-vim/clojure.vim/blob/62b215f079ce0f3834fd295c7a7f6bd8cc54bcc3/clj/src/vim_clojure_static/generate.clj
|
||||
setlocal lispwords=as->,binding,bound-fn,case,catch,cond->,cond->>,condp,def,definline,definterface,defmacro,defmethod,defmulti,defn,defn-,defonce,defprotocol,defrecord,defstruct,deftest,deftest-,deftype,doseq,dotimes,doto,extend,extend-protocol,extend-type,fn,for,if,if-let,if-not,if-some,let,letfn,locking,loop,ns,proxy,reify,set-test,testing,when,when-first,when-let,when-not,when-some,while,with-bindings,with-in-str,with-local-vars,with-open,with-precision,with-redefs,with-redefs-fn,with-test
|
||||
|
||||
" Provide insert mode completions for special forms and clojure.core. As
|
||||
@@ -64,8 +64,8 @@ if exists('loaded_matchit')
|
||||
let b:undo_ftplugin .= ' | unlet! b:match_words b:match_skip'
|
||||
endif
|
||||
|
||||
" Win32 can filter files in the browse dialog
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
" Filter files in the browse dialog
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Clojure Source Files (*.clj)\t*.clj\n" .
|
||||
\ "ClojureScript Source Files (*.cljs)\t*.cljs\n" .
|
||||
\ "Java Source Files (*.java)\t*.java\n" .
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: ConTeXt typesetting engine
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2016 Oct 30
|
||||
" Latest Revision: 2021 Oct 15
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -17,7 +17,6 @@ if !exists('current_compiler')
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< def< inc< sua< fo< ofu<"
|
||||
\ . "| unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||
|
||||
setlocal comments=b:%D,b:%C,b:%M,:% commentstring=%\ %s formatoptions+=tjcroql2
|
||||
if get(b:, 'context_metapost', get(g:, 'context_metapost', 1))
|
||||
@@ -35,11 +34,12 @@ let &l:include = '^\s*\\\%(input\|component\|product\|project\|environment\)'
|
||||
|
||||
setlocal suffixesadd=.tex
|
||||
|
||||
if exists("loaded_matchit")
|
||||
if exists("loaded_matchit") && !exists("b:match_words")
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_skip = 'r:\\\@<!\%(\\\\\)*%'
|
||||
let b:match_words = '(:),\[:],{:},\\(:\\),\\\[:\\],' .
|
||||
\ '\\start\(\a\+\):\\stop\1'
|
||||
let b:undo_ftplugin .= " | unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||
endif
|
||||
|
||||
let s:context_regex = {
|
||||
@@ -57,19 +57,28 @@ function! s:move_around(count, what, flags, visual)
|
||||
call map(range(2, a:count), 'search(s:context_regex[a:what], a:flags)')
|
||||
endfunction
|
||||
|
||||
" Move around macros.
|
||||
nnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:true) <CR>
|
||||
nnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:true) <CR>
|
||||
nnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:true) <CR>
|
||||
if !exists("no_plugin_maps") && !exists("no_context_maps")
|
||||
" Move around macros.
|
||||
nnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:true) <CR>
|
||||
nnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:true) <CR>
|
||||
nnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:true) <CR>
|
||||
|
||||
let b:undo_ftplugin .= " | sil! exe 'nunmap <buffer> [[' | sil! exe 'vunmap <buffer> [['" .
|
||||
\ " | sil! exe 'nunmap <buffer> ]]' | sil! exe 'vunmap <buffer> ]]'" .
|
||||
\ " | sil! exe 'nunmap <buffer> []' | sil! exe 'vunmap <buffer> []'" .
|
||||
\ " | sil! exe 'nunmap <buffer> ][' | sil! exe 'vunmap <buffer> ]['" .
|
||||
\ " | sil! exe 'nunmap <buffer> [{' | sil! exe 'vunmap <buffer> [{'" .
|
||||
\ " | sil! exe 'nunmap <buffer> ]}' | sil! exe 'vunmap <buffer> ]}'"
|
||||
end
|
||||
|
||||
" Other useful mappings
|
||||
if get(g:, 'context_mappings', 1)
|
||||
@@ -81,16 +90,22 @@ if get(g:, 'context_mappings', 1)
|
||||
call cursor(search(s:tp_regex, 'W') - 1, 1)
|
||||
endf
|
||||
|
||||
" Reflow paragraphs with commands like gqtp ("gq TeX paragraph")
|
||||
onoremap <silent><buffer> tp :<c-u>call <sid>tp()<cr>
|
||||
" Select TeX paragraph
|
||||
vnoremap <silent><buffer> tp <esc>:<c-u>call <sid>tp()<cr>
|
||||
if !exists("no_plugin_maps") && !exists("no_context_maps")
|
||||
" Reflow paragraphs with commands like gqtp ("gq TeX paragraph")
|
||||
onoremap <silent><buffer> tp :<c-u>call <sid>tp()<cr>
|
||||
" Select TeX paragraph
|
||||
vnoremap <silent><buffer> tp <esc>:<c-u>call <sid>tp()<cr>
|
||||
|
||||
" $...$ text object
|
||||
onoremap <silent><buffer> i$ :<c-u>normal! T$vt$<cr>
|
||||
onoremap <silent><buffer> a$ :<c-u>normal! F$vf$<cr>
|
||||
vnoremap <buffer> i$ T$ot$
|
||||
vnoremap <buffer> a$ F$of$
|
||||
" $...$ text object
|
||||
onoremap <silent><buffer> i$ :<c-u>normal! T$vt$<cr>
|
||||
onoremap <silent><buffer> a$ :<c-u>normal! F$vf$<cr>
|
||||
vnoremap <buffer> i$ T$ot$
|
||||
vnoremap <buffer> a$ F$of$
|
||||
|
||||
let b:undo_ftplugin .= " | sil! exe 'ounmap <buffer> tp' | sil! exe 'vunmap <buffer> tp'" .
|
||||
\ " | sil! exe 'ounmap <buffer> i$' | sil! exe 'vunmap <buffer> i$'" .
|
||||
\ " | sil! exe 'ounmap <buffer> a$' | sil! exe 'vunmap <buffer> a$'"
|
||||
endif
|
||||
endif
|
||||
|
||||
" Commands for asynchronous typesetting
|
||||
|
||||
@@ -1,21 +1,23 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: csh
|
||||
" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
|
||||
" Last Changed: 20 Jan 2009
|
||||
" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
|
||||
" Language: csh
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Previous Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
|
||||
" Contributor: Johannes Zellner <johannes@zellner.org>
|
||||
" Last Change: 2021 Oct 15
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" Make sure the continuation lines below do not cause problems in
|
||||
" compatibility mode.
|
||||
let s:save_cpo = &cpo
|
||||
set cpo-=C
|
||||
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#%s
|
||||
setlocal formatoptions-=t
|
||||
setlocal formatoptions+=crql
|
||||
|
||||
let b:undo_ftplugin = "setlocal com< cms< fo<"
|
||||
|
||||
" Csh: thanks to Johannes Zellner
|
||||
" - Both foreach and end must appear alone on separate lines.
|
||||
" - The words else and endif must appear at the beginning of input lines;
|
||||
@@ -23,26 +25,27 @@ setlocal formatoptions+=crql
|
||||
" - Each case label and the default label must appear at the start of a
|
||||
" line.
|
||||
" - while and end must appear alone on their input lines.
|
||||
if exists("loaded_matchit")
|
||||
let b:match_words =
|
||||
\ '^\s*\<if\>.*(.*).*\<then\>:'.
|
||||
\ '^\s*\<else\>\s\+\<if\>.*(.*).*\<then\>:^\s*\<else\>:'.
|
||||
\ '^\s*\<endif\>,'.
|
||||
\ '\%(^\s*\<foreach\>\s\+\S\+\|^s*\<while\>\).*(.*):'.
|
||||
\ '\<break\>:\<continue\>:^\s*\<end\>,'.
|
||||
\ '^\s*\<switch\>.*(.*):^\s*\<case\>\s\+:^\s*\<default\>:^\s*\<endsw\>'
|
||||
if exists("loaded_matchit") && !exists("b:match_words")
|
||||
let s:line_start = '\%(^\s*\)\@<='
|
||||
let b:match_words =
|
||||
\ s:line_start .. 'if\s*(.*)\s*then\>:' ..
|
||||
\ s:line_start .. 'else\s\+if\s*(.*)\s*then\>:' .. s:line_start .. 'else\>:' ..
|
||||
\ s:line_start .. 'endif\>,' ..
|
||||
\ s:line_start .. '\%(\<foreach\s\+\h\w*\|while\)\s*(:' ..
|
||||
\ '\<break\>:\<continue\>:' ..
|
||||
\ s:line_start .. 'end\>,' ..
|
||||
\ s:line_start .. 'switch\s*(:' ..
|
||||
\ s:line_start .. 'case\s\+:' .. s:line_start .. 'default\>:\<breaksw\>:' ..
|
||||
\ s:line_start .. 'endsw\>'
|
||||
unlet s:line_start
|
||||
let b:undo_ftplugin ..= " | unlet b:match_words"
|
||||
endif
|
||||
|
||||
" Change the :browse e filter to primarily show csh-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="csh Scripts (*.csh)\t*.csh\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter="csh Scripts (*.csh)\t*.csh\n" ..
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin ..= " | unlet b:browsefilter"
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal commentstring< formatoptions<" .
|
||||
\ " | unlet! b:match_words b:browsefilter"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Diff
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2020 Jul 18
|
||||
" Last Change: 2021 Nov 14
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -9,10 +9,15 @@ if exists("b:did_ftplugin")
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = "setl modeline<"
|
||||
let b:undo_ftplugin = "setl modeline< commentstring<"
|
||||
|
||||
" Don't use modelines in a diff, they apply to the diffed file
|
||||
setlocal nomodeline
|
||||
|
||||
" If there are comments they start with #
|
||||
let &commentstring = "# %s"
|
||||
let &l:commentstring = "# %s"
|
||||
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Diff Files (*.diff)\t*.diff\nPatch Files (*.patch)\t*.h\nAll Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin ..= " | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
@@ -1,13 +1,65 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: FreeBasic
|
||||
" Language: FreeBASIC
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2015 Jan 10
|
||||
" Last Change: 2021 Mar 16
|
||||
|
||||
" Setup {{{1
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
runtime! ftplugin/basic.vim
|
||||
|
||||
" vim: ts=8
|
||||
let s:dialect = freebasic#GetDialect()
|
||||
|
||||
" Comments {{{1
|
||||
" add ''comments before 'comments
|
||||
let &l:comments = "sO:*\ -,mO:*\ \ ,exO:*/,s1:/',mb:',ex:'/,:''," .. &l:comments
|
||||
|
||||
" Match words {{{1
|
||||
if exists("loaded_matchit")
|
||||
let s:not_end = '\%(end\s\+\)\@<!'
|
||||
|
||||
let b:match_words ..= ','
|
||||
|
||||
if s:dialect == 'fb'
|
||||
let b:match_words ..= s:not_end .. '\<constructor\>:\<end\s\+constructor\>,' ..
|
||||
\ s:not_end .. '\<destructor\>:\<end\s\+destructor\>,' ..
|
||||
\ s:not_end .. '\<property\>:\<end\s\+property\>,' ..
|
||||
\ s:not_end .. '\<operator\>:\<end\s\+operator\>,' ..
|
||||
\ s:not_end .. '\<extern\%(\s\+"\)\@=:\<end\s\+extern\>,'
|
||||
endif
|
||||
|
||||
if s:dialect == 'fb' || s:dialect == 'deprecated'
|
||||
let b:match_words ..= s:not_end .. '\<scope\>:\<end\s\+scope\>,'
|
||||
endif
|
||||
|
||||
if s:dialect == 'qb'
|
||||
let b:match_words ..= s:not_end .. '\<__asm\>:\<end\s\+__asm\>,' ..
|
||||
\ s:not_end .. '\<__union\>:\<end\s\+__union\>,' ..
|
||||
\ s:not_end .. '\<__with\>:\<end\s\+__with\>,'
|
||||
else
|
||||
let b:match_words ..= s:not_end .. '\<asm\>:\<end\s\+asm\>,' ..
|
||||
\ s:not_end .. '\<namespace\>:\<end\s\+namespace\>,' ..
|
||||
\ s:not_end .. '\<union\>:\<end\s\+union\>,' ..
|
||||
\ s:not_end .. '\<with\>:\<end\s\+with\>,'
|
||||
endif
|
||||
|
||||
let b:match_words ..= s:not_end .. '\<enum\>:\<end\s\+enum\>,' ..
|
||||
\ '^#\s*\%(if\|ifdef\|ifndef\)\>:^#\s*\%(else\|elseif\)\>:^#\s*endif\>,' ..
|
||||
\ '^#\s*macro\>:^#\s*endmacro\>'
|
||||
|
||||
" skip "function = <retval>"
|
||||
let b:match_skip ..= '|| strpart(getline("."), col(".") - 1) =~? "^\\<function\\s\\+="'
|
||||
|
||||
unlet s:not_end
|
||||
endif
|
||||
|
||||
" Cleanup {{{1
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
" Vim filetype plugin
|
||||
" Language: generic git output
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2019 Dec 05
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
if !exists('b:git_dir')
|
||||
if expand('%:p') =~# '[\/]\.git[\/]modules[\/]\|:[\/][\/]\|^\a\a\+:'
|
||||
" Stay out of the way
|
||||
elseif expand('%:p') =~# '[\/]\.git[\/]worktrees'
|
||||
let b:git_dir = matchstr(expand('%:p'),'.*\.git[\/]worktrees[\/][^\/]\+\>')
|
||||
elseif expand('%:p') =~# '\.git\>'
|
||||
let b:git_dir = matchstr(expand('%:p'),'.*\.git\>')
|
||||
elseif $GIT_DIR != ''
|
||||
let b:git_dir = $GIT_DIR
|
||||
endif
|
||||
if (has('win32') || has('win64')) && exists('b:git_dir')
|
||||
let b:git_dir = substitute(b:git_dir,'\\','/','g')
|
||||
endif
|
||||
endif
|
||||
|
||||
if exists('*shellescape') && exists('b:git_dir') && b:git_dir != ''
|
||||
if b:git_dir =~# '/\.git$' " Not a bare repository
|
||||
let &l:path = escape(fnamemodify(b:git_dir,':h'),'\, ').','.&l:path
|
||||
endif
|
||||
let &l:path = escape(b:git_dir,'\, ').','.&l:path
|
||||
let &l:keywordprg = 'git --git-dir='.shellescape(b:git_dir).' show'
|
||||
else
|
||||
setlocal keywordprg=git\ show
|
||||
endif
|
||||
if has('gui_running')
|
||||
let &l:keywordprg = substitute(&l:keywordprg,'^git\>','git --no-pager','')
|
||||
endif
|
||||
|
||||
setlocal includeexpr=substitute(v:fname,'^[^/]\\+/','','')
|
||||
let b:undo_ftplugin = "setl keywordprg< path< includeexpr<"
|
||||
@@ -1,66 +1,57 @@
|
||||
" Vim filetype plugin
|
||||
" Language: git commit file
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2019 Dec 05
|
||||
" Last Change: 2022 Jan 05
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! ftplugin/git.vim
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s
|
||||
setlocal nomodeline tabstop=8 formatoptions+=tl textwidth=72
|
||||
setlocal formatoptions-=c formatoptions-=r formatoptions-=o formatoptions-=q formatoptions+=n
|
||||
setlocal formatlistpat+=\\\|^\\s*[-*+]\\s\\+
|
||||
setlocal include=^+++
|
||||
setlocal includeexpr=substitute(v:fname,'^[bi]/','','')
|
||||
|
||||
let b:undo_ftplugin = 'setl modeline< tabstop< formatoptions< tw< com< cms< formatlistpat<'
|
||||
let b:undo_ftplugin = 'setl modeline< tabstop< formatoptions< tw< com< cms< formatlistpat< inc< inex<'
|
||||
|
||||
if exists("g:no_gitcommit_commands") || v:version < 700
|
||||
let s:l = search('\C\m^[#;@!$%^&|:] -\{24,\} >8 -\{24,\}$', 'cnW', '', 100)
|
||||
let &l:comments = ':' . (matchstr(getline(s:l ? s:l : '$'), '^[#;@!$%^&|:]\S\@!') . '#')[0]
|
||||
let &l:commentstring = &l:comments[1] . ' %s'
|
||||
unlet s:l
|
||||
|
||||
if exists("g:no_gitcommit_commands")
|
||||
finish
|
||||
endif
|
||||
|
||||
if !exists("b:git_dir")
|
||||
let b:git_dir = expand("%:p:h")
|
||||
endif
|
||||
|
||||
command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0,b:git_dir,<f-args>)
|
||||
command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0, <f-args>)
|
||||
|
||||
let b:undo_ftplugin = b:undo_ftplugin . "|delc DiffGitCached"
|
||||
|
||||
function! s:diffcomplete(A,L,P)
|
||||
function! s:diffcomplete(A, L, P) abort
|
||||
let args = ""
|
||||
if a:P <= match(a:L." -- "," -- ")+3
|
||||
let args = args . "-p\n--stat\n--shortstat\n--summary\n--patch-with-stat\n--no-renames\n-B\n-M\n-C\n"
|
||||
end
|
||||
if exists("b:git_dir") && a:A !~ '^-'
|
||||
let tree = fnamemodify(b:git_dir,':h')
|
||||
if strpart(getcwd(),0,strlen(tree)) == tree
|
||||
let args = args."\n".system("git diff --cached --name-only")
|
||||
endif
|
||||
if a:A !~ '^-' && !empty(getftype('.git'))
|
||||
let args = args."\n".system("git diff --cached --name-only")
|
||||
endif
|
||||
return args
|
||||
endfunction
|
||||
|
||||
function! s:gitdiffcached(bang,gitdir,...)
|
||||
let tree = fnamemodify(a:gitdir,':h')
|
||||
function! s:gitdiffcached(bang, ...) abort
|
||||
let name = tempname()
|
||||
let git = "git"
|
||||
if strpart(getcwd(),0,strlen(tree)) != tree
|
||||
let git .= " --git-dir=".(exists("*shellescape") ? shellescape(a:gitdir) : '"'.a:gitdir.'"')
|
||||
endif
|
||||
if a:0
|
||||
let extra = join(map(copy(a:000),exists("*shellescape") ? 'shellescape(v:val)' : "'\"'.v:val.'\"'"))
|
||||
let extra = join(map(copy(a:000), 'shellescape(v:val)'))
|
||||
else
|
||||
let extra = "-p --stat=".&columns
|
||||
endif
|
||||
call system(git." diff --cached --no-color --no-ext-diff ".extra." > ".(exists("*shellescape") ? shellescape(name) : name))
|
||||
exe "pedit ".(exists("*fnameescape") ? fnameescape(name) : name)
|
||||
call system("git diff --cached --no-color --no-ext-diff ".extra." > ".shellescape(name))
|
||||
exe "pedit " . fnameescape(name)
|
||||
wincmd P
|
||||
let b:git_dir = a:gitdir
|
||||
command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0,b:git_dir,<f-args>)
|
||||
nnoremap <buffer> <silent> q :q<CR>
|
||||
command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0, <f-args>)
|
||||
setlocal buftype=nowrite nobuflisted noswapfile nomodifiable filetype=git
|
||||
endfunction
|
||||
|
||||
@@ -1,22 +1,20 @@
|
||||
" Vim filetype plugin
|
||||
" Language: git rebase --interactive
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2019 Dec 05
|
||||
" Last Change: 2022 Jan 05
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! ftplugin/git.vim
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t
|
||||
let &l:comments = ':' . (matchstr(getline('$'), '^[#;@!$%^&|:]\S\@!') . '#')[0]
|
||||
let &l:commentstring = &l:comments[1] . ' %s'
|
||||
setlocal formatoptions-=t
|
||||
setlocal nomodeline
|
||||
if !exists("b:undo_ftplugin")
|
||||
let b:undo_ftplugin = ""
|
||||
endif
|
||||
let b:undo_ftplugin = b:undo_ftplugin."|setl com< cms< fo< ml<"
|
||||
let b:undo_ftplugin = "setl com< cms< fo< ml<"
|
||||
|
||||
function! s:choose(word) abort
|
||||
s/^\(\w\+\>\)\=\(\s*\)\ze\x\{4,40\}\>/\=(strlen(submatch(1)) == 1 ? a:word[0] : a:word) . substitute(submatch(2),'^$',' ','')/e
|
||||
@@ -41,8 +39,7 @@ if exists("g:no_plugin_maps") || exists("g:no_gitrebase_maps")
|
||||
finish
|
||||
endif
|
||||
|
||||
nnoremap <buffer> <expr> K col('.') < 7 && expand('<Lt>cword>') =~ '\X' && getline('.') =~ '^\w\+\s\+\x\+\>' ? 'wK' : 'K'
|
||||
nnoremap <buffer> <silent> <C-A> :<C-U><C-R>=v:count1<CR>Cycle<CR>
|
||||
nnoremap <buffer> <silent> <C-X> :<C-U><C-R>=v:count1<CR>Cycle!<CR>
|
||||
|
||||
let b:undo_ftplugin = b:undo_ftplugin . "|exe 'nunmap <buffer> K'|exe 'nunmap <buffer> <C-A>'|exe 'nunmap <buffer> <C-X>'"
|
||||
let b:undo_ftplugin = b:undo_ftplugin . "|exe 'nunmap <buffer> <C-A>'|exe 'nunmap <buffer> <C-X>'"
|
||||
|
||||
13
runtime/ftplugin/i3config.vim
Normal file
13
runtime/ftplugin/i3config.vim
Normal file
@@ -0,0 +1,13 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: i3 config file
|
||||
" Original Author: Mohamed Boughaba <mohamed dot bgb at gmail dot com>
|
||||
" Maintainer: Quentin Hibon
|
||||
" Version: 0.4
|
||||
" Last Change: 2021 Dec 14
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = "setlocal cms<"
|
||||
|
||||
setlocal commentstring=#\ %s
|
||||
@@ -1,7 +1,8 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: indent(1) configuration file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
" Language: indent(1) configuration file
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Acknowledgement: Based off of vim-jsonc maintained by Kevin Locke <kevin@kevinlocke.name>
|
||||
" https://github.com/kevinoid/vim-jsonc
|
||||
" License: MIT
|
||||
" Last Change: 2021-07-01
|
||||
" Last Change: 2021 Nov 22
|
||||
|
||||
runtime! ftplugin/json.vim
|
||||
|
||||
@@ -14,14 +14,8 @@ else
|
||||
let b:did_ftplugin_jsonc = 1
|
||||
endif
|
||||
|
||||
" A list of commands that undo buffer local changes made below.
|
||||
let s:undo_ftplugin = []
|
||||
|
||||
" Set comment (formatting) related options. {{{1
|
||||
setlocal commentstring=//%s comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
|
||||
call add(s:undo_ftplugin, 'commentstring< comments<')
|
||||
|
||||
" Let Vim know how to disable the plug-in.
|
||||
call map(s:undo_ftplugin, "'execute ' . string(v:val)")
|
||||
let b:undo_ftplugin = join(s:undo_ftplugin, ' | ')
|
||||
unlet s:undo_ftplugin
|
||||
let b:undo_ftplugin = 'setlocal commentstring< comments<'
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user