mirror of
https://github.com/zoriya/vim.git
synced 2025-12-17 20:59:21 +00:00
Compare commits
1108 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
31e5c60a68 | ||
|
|
5dc294a7b6 | ||
|
|
648dd88af6 | ||
|
|
b836658a04 | ||
|
|
eca7c60d68 | ||
|
|
8944551534 | ||
|
|
f420ff2440 | ||
|
|
8cac20ed42 | ||
|
|
aae9762b2c | ||
|
|
77771d33f4 | ||
|
|
9bbe5c6b8c | ||
|
|
c9a9a0ac1e | ||
|
|
60895f3e36 | ||
|
|
575445200b | ||
|
|
d58862d18f | ||
|
|
11a57dfd16 | ||
|
|
1655619717 | ||
|
|
825b55e695 | ||
|
|
4a7724a440 | ||
|
|
3caf1cce2b | ||
|
|
4232dff815 | ||
|
|
c6e0a5e98c | ||
|
|
db0ea7f2b0 | ||
|
|
e08fde0073 | ||
|
|
fa76a24109 | ||
|
|
021996ffaa | ||
|
|
7765f5cf96 | ||
|
|
6013d0045d | ||
|
|
2ce97ae6aa | ||
|
|
a43993897a | ||
|
|
2bf52dd065 | ||
|
|
81b46a6ccd | ||
|
|
36951ed1da | ||
|
|
b09c320039 | ||
|
|
0bbf09ca41 | ||
|
|
a0f659c76e | ||
|
|
cee9c844f2 | ||
|
|
a016eeba7a | ||
|
|
7c7e19cf50 | ||
|
|
5e1792270a | ||
|
|
cbaff5e06e | ||
|
|
a8034a4886 | ||
|
|
0937182d49 | ||
|
|
18ee0f603e | ||
|
|
3a56b6d405 | ||
|
|
ac72c21da6 | ||
|
|
5017c66bd4 | ||
|
|
177847e67a | ||
|
|
8c97960850 | ||
|
|
6a06940f8a | ||
|
|
6d4e725a34 | ||
|
|
f26c16144d | ||
|
|
cb49a1d934 | ||
|
|
3506cf34c1 | ||
|
|
3ad2090316 | ||
|
|
c947b9ae41 | ||
|
|
75a0f3c011 | ||
|
|
aa7d0c2335 | ||
|
|
0d1f55c044 | ||
|
|
478700336d | ||
|
|
beb0ef1ab2 | ||
|
|
02560424bf | ||
|
|
72bb10df1f | ||
|
|
0f68e6c07a | ||
|
|
ca9d8d2cb9 | ||
|
|
1b76a8dfe2 | ||
|
|
d0fb2d8041 | ||
|
|
91ff3d4f52 | ||
|
|
e8a4c0d91f | ||
|
|
b471690fad | ||
|
|
188639d75c | ||
|
|
cc766a85f4 | ||
|
|
4829c1c9e9 | ||
|
|
7a411a306f | ||
|
|
15f74fab65 | ||
|
|
242c152c08 | ||
|
|
2b74b6805b | ||
|
|
1061195057 | ||
|
|
0b962e5685 | ||
|
|
292e1b9f68 | ||
|
|
fa010cdfb1 | ||
|
|
c4cb544cd5 | ||
|
|
8ef6997e2d | ||
|
|
ce416b453a | ||
|
|
a3157a476b | ||
|
|
72bb47e38f | ||
|
|
58f331a05f | ||
|
|
0dac1ab579 | ||
|
|
5018a836c0 | ||
|
|
97f8c1081e | ||
|
|
eabddc425e | ||
|
|
c1658a196b | ||
|
|
17fa233f6f | ||
|
|
22ebd172e4 | ||
|
|
ffe6e646dc | ||
|
|
782c6744b4 | ||
|
|
96e08e028c | ||
|
|
3a6f952cc8 | ||
|
|
a6c18d38ca | ||
|
|
ccbfd4883f | ||
|
|
1104a6d0c2 | ||
|
|
49d008d96b | ||
|
|
4dea2d92e4 | ||
|
|
d1d2684c80 | ||
|
|
1712518f48 | ||
|
|
c0ceeeb839 | ||
|
|
b4ad3b0dea | ||
|
|
46eea444d9 | ||
|
|
9247a221ce | ||
|
|
2bdad61267 | ||
|
|
b55986c52d | ||
|
|
fd01280d01 | ||
|
|
1624639ec8 | ||
|
|
24565cf27b | ||
|
|
859cc21c6b | ||
|
|
471b3aed3e | ||
|
|
8be423b7ac | ||
|
|
9dac9b1751 | ||
|
|
3e559cd884 | ||
|
|
565d1278cb | ||
|
|
1501b63f8d | ||
|
|
501f978288 | ||
|
|
ec15b1cfdc | ||
|
|
c75bca3ee9 | ||
|
|
f3980dc5d0 | ||
|
|
347538fad0 | ||
|
|
bf269ed0b0 | ||
|
|
c6c1ec4da5 | ||
|
|
5e877baf87 | ||
|
|
acf7d73a7f | ||
|
|
abb6fbd14d | ||
|
|
90da27b927 | ||
|
|
5d46dcfeed | ||
|
|
03a297c63f | ||
|
|
43216611a5 | ||
|
|
9dd42a6311 | ||
|
|
1e2c4175dc | ||
|
|
f8e43f6107 | ||
|
|
f4f0525c34 | ||
|
|
454ce6737c | ||
|
|
98b7fe725e | ||
|
|
ac48506ac6 | ||
|
|
c20e46a4e3 | ||
|
|
3c5999e53d | ||
|
|
a915fa0103 | ||
|
|
81b573d7e5 | ||
|
|
fe154990c1 | ||
|
|
6f2465d336 | ||
|
|
e7dd0fa2c6 | ||
|
|
35dc17634d | ||
|
|
e18acb02bb | ||
|
|
6d877fe018 | ||
|
|
85b43c6cb7 | ||
|
|
397a87ac1c | ||
|
|
efd73ae5d2 | ||
|
|
6b8c7ba062 | ||
|
|
a4df834a92 | ||
|
|
7e0be3ea21 | ||
|
|
b6643d10d3 | ||
|
|
c670ebddcd | ||
|
|
6f95363677 | ||
|
|
47c532e2bc | ||
|
|
36a5b6867b | ||
|
|
95d2e7634c | ||
|
|
b10ff5c1b3 | ||
|
|
e7a74d5375 | ||
|
|
2995e5cf4e | ||
|
|
2e17fef225 | ||
|
|
f35fd8e5d4 | ||
|
|
61efa16932 | ||
|
|
1d9cef769d | ||
|
|
155b088208 | ||
|
|
da6d42c35a | ||
|
|
4f6e772c9c | ||
|
|
4c8b546da2 | ||
|
|
d597ab00d7 | ||
|
|
21dc8f1527 | ||
|
|
5cffa8df7e | ||
|
|
fe8e9f6740 | ||
|
|
9323ca51c2 | ||
|
|
056678184f | ||
|
|
139575de66 | ||
|
|
48f69cdfa4 | ||
|
|
96923b7a14 | ||
|
|
1a572e9b3b | ||
|
|
8d5e514d77 | ||
|
|
1fdf84e033 | ||
|
|
977525fea6 | ||
|
|
10792feebd | ||
|
|
7a73252063 | ||
|
|
7d42840033 | ||
|
|
6e2e2cc95b | ||
|
|
129e33e44b | ||
|
|
5c68617d39 | ||
|
|
b29b96806f | ||
|
|
424da7aa48 | ||
|
|
5f823d1e73 | ||
|
|
533870a985 | ||
|
|
e850439a56 | ||
|
|
754d2b4036 | ||
|
|
4f3321f704 | ||
|
|
986b0fd0c5 | ||
|
|
badf04f5c2 | ||
|
|
8b530b3158 | ||
|
|
d0b7bfa957 | ||
|
|
bbf84e2737 | ||
|
|
5b4f8a0e84 | ||
|
|
e2adcf3974 | ||
|
|
fb43cfc2c6 | ||
|
|
f52fac2ed9 | ||
|
|
0a4e098f32 | ||
|
|
176711f069 | ||
|
|
dbf8094b17 | ||
|
|
20fb28b1dc | ||
|
|
873f8243f6 | ||
|
|
e406ff87c8 | ||
|
|
1b1df95f1a | ||
|
|
53ba6ca5b2 | ||
|
|
bf40e90dfe | ||
|
|
48f83c31d1 | ||
|
|
cf6662082f | ||
|
|
81da16b53f | ||
|
|
f8691004b0 | ||
|
|
56b84b1728 | ||
|
|
f2832ad965 | ||
|
|
f01a653ac5 | ||
|
|
f3507a517c | ||
|
|
1588bc8ebe | ||
|
|
ed0c62e7b1 | ||
|
|
673bcb10eb | ||
|
|
0b40d086b3 | ||
|
|
8acb9cc620 | ||
|
|
08238045e7 | ||
|
|
d8f8629b1b | ||
|
|
6ca883dd8a | ||
|
|
88dd6523fa | ||
|
|
936dc6014c | ||
|
|
127969cf98 | ||
|
|
d523c7be5c | ||
|
|
655b734ee8 | ||
|
|
9eccee0e85 | ||
|
|
525eba00ef | ||
|
|
9fb7b42935 | ||
|
|
b2175220da | ||
|
|
b29ae15977 | ||
|
|
df1bbea436 | ||
|
|
c12dc47b8f | ||
|
|
204852ae2a | ||
|
|
e1d1211799 | ||
|
|
330a388e18 | ||
|
|
f78ee2b49f | ||
|
|
24d9c0557e | ||
|
|
f07751457c | ||
|
|
196c3850db | ||
|
|
6aca4d3c2b | ||
|
|
d979d64fa2 | ||
|
|
21efafe4c2 | ||
|
|
0e1574c406 | ||
|
|
28bf649a57 | ||
|
|
1fc34225ac | ||
|
|
35d8c2010e | ||
|
|
fe9112e630 | ||
|
|
e4e1a1e1c8 | ||
|
|
2f87a99b6e | ||
|
|
b9c5108593 | ||
|
|
8ccbbeb620 | ||
|
|
7f687aaca9 | ||
|
|
8d5daf267e | ||
|
|
c6e9d7063d | ||
|
|
f6b0c79742 | ||
|
|
7a22224875 | ||
|
|
f01af9c4e6 | ||
|
|
3e7637bd26 | ||
|
|
1983f1aa31 | ||
|
|
5de4c4372d | ||
|
|
afd4ae35d6 | ||
|
|
5c52be40fb | ||
|
|
cbef12e60b | ||
|
|
6caeda2fce | ||
|
|
00333cb3b3 | ||
|
|
29ab6ce9f3 | ||
|
|
c51cf03298 | ||
|
|
e41c1dd889 | ||
|
|
4df5b33f20 | ||
|
|
5a2d4a3ecb | ||
|
|
416b5f4894 | ||
|
|
9383a3afb6 | ||
|
|
62628d97c4 | ||
|
|
ae49aa8434 | ||
|
|
05c1734c4f | ||
|
|
68afde4c9b | ||
|
|
0e71b7d4ce | ||
|
|
5c6edf41f9 | ||
|
|
5ec633b9b0 | ||
|
|
4d56b971cb | ||
|
|
38b85cb4d7 | ||
|
|
9c9be05b17 | ||
|
|
3c620b0c03 | ||
|
|
dea5ab0fc5 | ||
|
|
fa02616718 | ||
|
|
6e1a38745f | ||
|
|
33fc4a6307 | ||
|
|
dd2dfb3cb0 | ||
|
|
2007dd49f5 | ||
|
|
6a8b13614e | ||
|
|
4791fcd825 | ||
|
|
2dada73a4e | ||
|
|
9cd4c0fb98 | ||
|
|
2afeb40831 | ||
|
|
e843efcc35 | ||
|
|
b2c72359dc | ||
|
|
afa048f0d4 | ||
|
|
fe73255c92 | ||
|
|
29a9e69718 | ||
|
|
68eab67119 | ||
|
|
2457b2bbc2 | ||
|
|
70b9e4f4c3 | ||
|
|
16f6c8ac94 | ||
|
|
6456fae9ba | ||
|
|
1349bd712c | ||
|
|
ca0c1caa36 | ||
|
|
0f113e4f7b | ||
|
|
4e889f98e9 | ||
|
|
7842761bba | ||
|
|
16b51d26fe | ||
|
|
83e36c8606 | ||
|
|
592f625001 | ||
|
|
993faa3405 | ||
|
|
101979358f | ||
|
|
c2f17f7e64 | ||
|
|
0f6e28f686 | ||
|
|
944697ae19 | ||
|
|
ad6c45f625 | ||
|
|
c1e6c7bafe | ||
|
|
eddd4fc4f6 | ||
|
|
cdf717283c | ||
|
|
d56eb654f5 | ||
|
|
adbb383e0f | ||
|
|
20563e0f84 | ||
|
|
a42535340a | ||
|
|
a493b6506b | ||
|
|
5921aeb574 | ||
|
|
e89bfd212b | ||
|
|
1fca5f3e86 | ||
|
|
b8fb5bb68d | ||
|
|
97b231541d | ||
|
|
56acd1f8ed | ||
|
|
0257599036 | ||
|
|
8e5ba693ad | ||
|
|
0c7f2610de | ||
|
|
6296d1e60e | ||
|
|
ea5c898b5f | ||
|
|
e08be09a08 | ||
|
|
2438430863 | ||
|
|
8329ab79b2 | ||
|
|
cd1cda2f87 | ||
|
|
9437737833 | ||
|
|
ae6f1d8b14 | ||
|
|
d288eaad84 | ||
|
|
646bb7247a | ||
|
|
f9435e49ef | ||
|
|
b31aec3b93 | ||
|
|
34f8117dec | ||
|
|
f5288c5895 | ||
|
|
8b716f5f22 | ||
|
|
9fdde7992a | ||
|
|
6b43471da4 | ||
|
|
64d95cfc56 | ||
|
|
0e1f36fc59 | ||
|
|
e88c6b7a5d | ||
|
|
4556a2e868 | ||
|
|
7745f14ef3 | ||
|
|
e3846cf1eb | ||
|
|
8991be2ab4 | ||
|
|
b5d2039e00 | ||
|
|
bc51006402 | ||
|
|
7a3b802bab | ||
|
|
e4835bf340 | ||
|
|
0e76714e90 | ||
|
|
774e55702f | ||
|
|
55737c2a31 | ||
|
|
6dd7424c7e | ||
|
|
0cd3e94e2c | ||
|
|
9773db6f9b | ||
|
|
4b1d963972 | ||
|
|
0631bb4ed7 | ||
|
|
c87aa34dfd | ||
|
|
299d8e5eec | ||
|
|
75e27d78f5 | ||
|
|
cf6ad8ea8c | ||
|
|
f7fbeed0ac | ||
|
|
e131496ebf | ||
|
|
4525a57afb | ||
|
|
4d03d87000 | ||
|
|
cdf0485969 | ||
|
|
4549166078 | ||
|
|
8e38555ece | ||
|
|
33f3c59854 | ||
|
|
62b191c387 | ||
|
|
a749a42ed2 | ||
|
|
6e28703a8e | ||
|
|
90a57168a4 | ||
|
|
2a9b62dfa2 | ||
|
|
620d8edba0 | ||
|
|
0f7ff851cb | ||
|
|
d68b2fc034 | ||
|
|
18f7593e57 | ||
|
|
0c3cc2fec3 | ||
|
|
41ee5b1913 | ||
|
|
29c70f612f | ||
|
|
c9e3187d05 | ||
|
|
5b1d6e98c6 | ||
|
|
bd89d44063 | ||
|
|
481acb1141 | ||
|
|
f6246f51e3 | ||
|
|
14f23122bf | ||
|
|
8196e94a8b | ||
|
|
92f645bef7 | ||
|
|
bece72785d | ||
|
|
414acd342f | ||
|
|
949b35d83b | ||
|
|
560dff49c0 | ||
|
|
74a0a5b26d | ||
|
|
9da17d7c57 | ||
|
|
78a8404f8b | ||
|
|
769f5895eb | ||
|
|
28e8f73ae2 | ||
|
|
68cc2b8a37 | ||
|
|
b6a138eb33 | ||
|
|
dce2441a60 | ||
|
|
3a5988c025 | ||
|
|
779aeff5c3 | ||
|
|
e023d49937 | ||
|
|
73a16c22a4 | ||
|
|
e3537aec2f | ||
|
|
51ab7c7d0d | ||
|
|
3908ef5017 | ||
|
|
3787f26c2e | ||
|
|
f681cfb90b | ||
|
|
7aca5ca676 | ||
|
|
92368aad61 | ||
|
|
28f1a51bde | ||
|
|
4e713bafc0 | ||
|
|
54969f4ef5 | ||
|
|
63ff72aab9 | ||
|
|
b247e0622e | ||
|
|
6bf821e8ab | ||
|
|
8cbf249917 | ||
|
|
5f4ef5f5e5 | ||
|
|
107f7325f6 | ||
|
|
160afdb185 | ||
|
|
2626d6a71c | ||
|
|
fe1bfc9b26 | ||
|
|
8164f6ea3c | ||
|
|
0c1550d9e9 | ||
|
|
500761b1cf | ||
|
|
e5b7897585 | ||
|
|
00eb99528e | ||
|
|
cd53eed2c5 | ||
|
|
82e46e5d31 | ||
|
|
e0c2b2ceaa | ||
|
|
4fa1346bf4 | ||
|
|
46f3080e5c | ||
|
|
fc88df42f1 | ||
|
|
21ebb0899e | ||
|
|
83d0cec956 | ||
|
|
3e79c97c18 | ||
|
|
a2baa73d1d | ||
|
|
46950b225f | ||
|
|
972db23279 | ||
|
|
7676c15879 | ||
|
|
02a977ea5e | ||
|
|
5658ca343f | ||
|
|
a8ec4916ca | ||
|
|
5411910c77 | ||
|
|
6e1d31e9e3 | ||
|
|
2d3ac2e030 | ||
|
|
381692b6f1 | ||
|
|
a1c5195180 | ||
|
|
ab8f7c50cf | ||
|
|
73257149d7 | ||
|
|
adbb1bf21d | ||
|
|
9b4a80a665 | ||
|
|
eb4a9ba293 | ||
|
|
8133018f50 | ||
|
|
4e3b318230 | ||
|
|
68854a82fd | ||
|
|
9e0208f51c | ||
|
|
223a950a85 | ||
|
|
c570e9cf68 | ||
|
|
c4573eb12d | ||
|
|
424bcae1fb | ||
|
|
eb6c276595 | ||
|
|
1f47a287ee | ||
|
|
672776dbe8 | ||
|
|
48a604845e | ||
|
|
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 |
9
.github/CODEOWNERS
vendored
9
.github/CODEOWNERS
vendored
@@ -9,6 +9,7 @@
|
|||||||
# So if a pull request only touches javascript files, only these owners
|
# So if a pull request only touches javascript files, only these owners
|
||||||
# will be requested to review.
|
# will be requested to review.
|
||||||
|
|
||||||
|
runtime/autoload/freebasic.vim @dkearns
|
||||||
runtime/autoload/getscript.vim @cecamp
|
runtime/autoload/getscript.vim @cecamp
|
||||||
runtime/autoload/netrw.vim @cecamp
|
runtime/autoload/netrw.vim @cecamp
|
||||||
runtime/autoload/netrwFileHandlers.vim @cecamp
|
runtime/autoload/netrwFileHandlers.vim @cecamp
|
||||||
@@ -89,6 +90,7 @@ runtime/ftplugin/gitsendemail.vim @tpope
|
|||||||
runtime/ftplugin/gprof.vim @dpelle
|
runtime/ftplugin/gprof.vim @dpelle
|
||||||
runtime/ftplugin/haml.vim @tpope
|
runtime/ftplugin/haml.vim @tpope
|
||||||
runtime/ftplugin/hgcommit.vim @k-takata
|
runtime/ftplugin/hgcommit.vim @k-takata
|
||||||
|
runtime/ftplugin/i3config.vim @hiqua
|
||||||
runtime/ftplugin/indent.vim @dkearns
|
runtime/ftplugin/indent.vim @dkearns
|
||||||
runtime/ftplugin/javascript.vim @dkearns
|
runtime/ftplugin/javascript.vim @dkearns
|
||||||
runtime/ftplugin/javascriptreact.vim @dkearns
|
runtime/ftplugin/javascriptreact.vim @dkearns
|
||||||
@@ -110,10 +112,12 @@ runtime/ftplugin/pbtxt.vim @lakshayg
|
|||||||
runtime/ftplugin/pdf.vim @tpope
|
runtime/ftplugin/pdf.vim @tpope
|
||||||
runtime/ftplugin/ps1.vim @heaths
|
runtime/ftplugin/ps1.vim @heaths
|
||||||
runtime/ftplugin/ps1xml.vim @heaths
|
runtime/ftplugin/ps1xml.vim @heaths
|
||||||
|
runtime/ftplugin/qb64.vim @dkearns
|
||||||
runtime/ftplugin/routeros.vim @zainin
|
runtime/ftplugin/routeros.vim @zainin
|
||||||
runtime/ftplugin/ruby.vim @tpope @dkearns
|
runtime/ftplugin/ruby.vim @tpope @dkearns
|
||||||
runtime/ftplugin/sass.vim @tpope
|
runtime/ftplugin/sass.vim @tpope
|
||||||
runtime/ftplugin/scss.vim @tpope
|
runtime/ftplugin/scss.vim @tpope
|
||||||
|
runtime/ftplugin/solution.vim @dkearns
|
||||||
runtime/ftplugin/spec.vim @ignatenkobrain
|
runtime/ftplugin/spec.vim @ignatenkobrain
|
||||||
runtime/ftplugin/systemverilog.vim @Kocha
|
runtime/ftplugin/systemverilog.vim @Kocha
|
||||||
runtime/ftplugin/tcsh.vim @dkearns
|
runtime/ftplugin/tcsh.vim @dkearns
|
||||||
@@ -124,6 +128,7 @@ runtime/ftplugin/typescript.vim @dkearns
|
|||||||
runtime/ftplugin/typescriptreact.vim @dkearns
|
runtime/ftplugin/typescriptreact.vim @dkearns
|
||||||
runtime/ftplugin/xml.vim @chrisbra
|
runtime/ftplugin/xml.vim @chrisbra
|
||||||
runtime/ftplugin/zsh.vim @chrisbra
|
runtime/ftplugin/zsh.vim @chrisbra
|
||||||
|
runtime/indent/basic.vim @dkearns
|
||||||
runtime/indent/bst.vim @tpope
|
runtime/indent/bst.vim @tpope
|
||||||
runtime/indent/cdl.vim @dkearns
|
runtime/indent/cdl.vim @dkearns
|
||||||
runtime/indent/clojure.vim @axvr
|
runtime/indent/clojure.vim @axvr
|
||||||
@@ -138,6 +143,7 @@ runtime/indent/elm.vim @andys8
|
|||||||
runtime/indent/eruby.vim @tpope @dkearns
|
runtime/indent/eruby.vim @tpope @dkearns
|
||||||
runtime/indent/eterm.vim @dkearns
|
runtime/indent/eterm.vim @dkearns
|
||||||
runtime/indent/framescript.vim @dkearns
|
runtime/indent/framescript.vim @dkearns
|
||||||
|
runtime/indent/freebasic.vim @dkearns
|
||||||
runtime/indent/gitconfig.vim @tpope
|
runtime/indent/gitconfig.vim @tpope
|
||||||
runtime/indent/haml.vim @tpope
|
runtime/indent/haml.vim @tpope
|
||||||
runtime/indent/idlang.vim @dkearns
|
runtime/indent/idlang.vim @dkearns
|
||||||
@@ -152,6 +158,7 @@ runtime/indent/occam.vim @dkearns
|
|||||||
runtime/indent/postscr.vim @dkearns
|
runtime/indent/postscr.vim @dkearns
|
||||||
runtime/indent/prolog.vim @dkearns
|
runtime/indent/prolog.vim @dkearns
|
||||||
runtime/indent/ps1.vim @heaths
|
runtime/indent/ps1.vim @heaths
|
||||||
|
runtime/indent/qb64.vim @dkearns
|
||||||
runtime/indent/readline.vim @dkearns
|
runtime/indent/readline.vim @dkearns
|
||||||
runtime/indent/ruby.vim @AndrewRadev @dkearns
|
runtime/indent/ruby.vim @AndrewRadev @dkearns
|
||||||
runtime/indent/sass.vim @tpope
|
runtime/indent/sass.vim @tpope
|
||||||
@@ -208,6 +215,7 @@ runtime/syntax/groff.vim @jmarshall
|
|||||||
runtime/syntax/haml.vim @tpope
|
runtime/syntax/haml.vim @tpope
|
||||||
runtime/syntax/haskell.vim @coot
|
runtime/syntax/haskell.vim @coot
|
||||||
runtime/syntax/hgcommit.vim @k-takata
|
runtime/syntax/hgcommit.vim @k-takata
|
||||||
|
runtime/syntax/i3config.vim @hiqua
|
||||||
runtime/syntax/indent.vim @dkearns
|
runtime/syntax/indent.vim @dkearns
|
||||||
runtime/syntax/kconfig.vim @chrisbra
|
runtime/syntax/kconfig.vim @chrisbra
|
||||||
runtime/syntax/less.vim @genoma
|
runtime/syntax/less.vim @genoma
|
||||||
@@ -236,6 +244,7 @@ runtime/syntax/prolog.vim @XVilka
|
|||||||
runtime/syntax/ps1.vim @heaths
|
runtime/syntax/ps1.vim @heaths
|
||||||
runtime/syntax/ps1xml.vim @heaths
|
runtime/syntax/ps1xml.vim @heaths
|
||||||
runtime/syntax/psl.vim @danielkho
|
runtime/syntax/psl.vim @danielkho
|
||||||
|
runtime/syntax/qb64.vim @dkearns
|
||||||
runtime/syntax/rc.vim @chrisbra
|
runtime/syntax/rc.vim @chrisbra
|
||||||
runtime/syntax/routeros.vim @zainin
|
runtime/syntax/routeros.vim @zainin
|
||||||
runtime/syntax/rpcgen.vim @cecamp
|
runtime/syntax/rpcgen.vim @cecamp
|
||||||
|
|||||||
26
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
26
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -8,6 +8,11 @@ body:
|
|||||||
attributes:
|
attributes:
|
||||||
value: |
|
value: |
|
||||||
Thanks for reporting issues of Vim!
|
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.
|
To make it easier for us to help you please enter detailed information below.
|
||||||
- type: textarea
|
- type: textarea
|
||||||
@@ -26,18 +31,23 @@ body:
|
|||||||
placeholder: A clear and concise description of what you expected to happen.
|
placeholder: A clear and concise description of what you expected to happen.
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
- type: input
|
|
||||||
attributes:
|
|
||||||
label: Operating system
|
|
||||||
description: >
|
|
||||||
Your operating system name, version and desktop environment.
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
- type: input
|
- type: input
|
||||||
attributes:
|
attributes:
|
||||||
label: Version of Vim
|
label: Version of Vim
|
||||||
description: >
|
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:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
- type: textarea
|
- type: textarea
|
||||||
|
|||||||
220
.github/workflows/ci.yml
vendored
220
.github/workflows/ci.yml
vendored
@@ -5,6 +5,13 @@ on:
|
|||||||
branches: ['**']
|
branches: ['**']
|
||||||
pull_request:
|
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:
|
jobs:
|
||||||
linux:
|
linux:
|
||||||
runs-on: ubuntu-18.04
|
runs-on: ubuntu-18.04
|
||||||
@@ -57,34 +64,41 @@ jobs:
|
|||||||
|
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
run: |
|
run: |
|
||||||
sudo apt update && sudo apt install -y \
|
PKGS=( \
|
||||||
autoconf \
|
|
||||||
lcov \
|
|
||||||
gettext \
|
gettext \
|
||||||
libcanberra-dev \
|
|
||||||
libperl-dev \
|
|
||||||
python-dev \
|
|
||||||
python3-dev \
|
|
||||||
liblua5.3-dev \
|
|
||||||
lua5.3 \
|
|
||||||
ruby-dev \
|
|
||||||
tcl-dev \
|
|
||||||
cscope \
|
|
||||||
libgtk2.0-dev \
|
libgtk2.0-dev \
|
||||||
desktop-file-utils \
|
desktop-file-utils \
|
||||||
libtool-bin \
|
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-14
|
||||||
if: matrix.compiler == 'clang'
|
if: matrix.compiler == 'clang'
|
||||||
run: |
|
run: |
|
||||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||||
. /etc/lsb-release
|
. /etc/lsb-release
|
||||||
sudo add-apt-repository -y "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-11 main"
|
sudo add-apt-repository -y "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-14 main"
|
||||||
sudo apt-get install -y clang-11 llvm-11
|
sudo apt-get install -y clang-14 llvm-14
|
||||||
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 100
|
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-14 100
|
||||||
sudo update-alternatives --set clang /usr/bin/clang-11
|
sudo update-alternatives --set clang /usr/bin/clang-14
|
||||||
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-11 100
|
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-14 100
|
||||||
|
sudo update-alternatives --install /usr/bin/asan_symbolize asan_symbolize /usr/bin/asan_symbolize-14 100
|
||||||
|
|
||||||
- name: Set up environment
|
- name: Set up environment
|
||||||
run: |
|
run: |
|
||||||
@@ -112,7 +126,6 @@ jobs:
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
CFLAGS=""
|
|
||||||
if ${{ matrix.coverage == true }}; then
|
if ${{ matrix.coverage == true }}; then
|
||||||
CFLAGS="$CFLAGS --coverage -DUSE_GCOV_FLUSH"
|
CFLAGS="$CFLAGS --coverage -DUSE_GCOV_FLUSH"
|
||||||
echo "LDFLAGS=--coverage"
|
echo "LDFLAGS=--coverage"
|
||||||
@@ -188,6 +201,10 @@ jobs:
|
|||||||
# Append various warning flags to CFLAGS.
|
# Append various warning flags to CFLAGS.
|
||||||
sed -i -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
|
sed -i -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
|
||||||
sed -i -f ci/config.mk.${CC}.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
|
- name: Build
|
||||||
if: (!contains(matrix.extra, 'unittests'))
|
if: (!contains(matrix.extra, 'unittests'))
|
||||||
@@ -207,51 +224,57 @@ jobs:
|
|||||||
do_test() { sg audio "sg $(id -gn) '$*'"; }
|
do_test() { sg audio "sg $(id -gn) '$*'"; }
|
||||||
do_test make ${SHADOWOPT} ${TEST}
|
do_test make ${SHADOWOPT} ${TEST}
|
||||||
|
|
||||||
# - name: Coveralls
|
# - name: Coveralls
|
||||||
# if: matrix.coverage && success() && github.event_name != 'pull_request'
|
# if: matrix.coverage && github.event_name != 'pull_request'
|
||||||
# env:
|
# env:
|
||||||
# COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
# COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
||||||
# COVERALLS_PARALLEL: true
|
# COVERALLS_PARALLEL: true
|
||||||
# TRAVIS_JOB_ID: ${{ github.run_id }}
|
# TRAVIS_JOB_ID: ${{ github.run_id }}
|
||||||
# run: |
|
# run: |
|
||||||
# sudo apt-get install -y python3-setuptools python3-wheel
|
# sudo apt-get install -y python3-setuptools python3-wheel
|
||||||
# sudo -H pip3 install pip -U
|
# sudo -H pip3 install pip -U
|
||||||
# # needed for https support for coveralls building cffi only works with gcc, not with clang
|
# # 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
|
# 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
|
# ~/.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()
|
if: matrix.coverage
|
||||||
run: |
|
run: |
|
||||||
cd "${SRCDIR}"
|
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
|
||||||
|
uses: codecov/codecov-action@v2
|
||||||
|
with:
|
||||||
|
flags: linux,${{ matrix.features }}-${{ matrix.compiler }}-${{ matrix.extra }}
|
||||||
|
|
||||||
- name: ASan logs
|
- name: ASan logs
|
||||||
if: contains(matrix.extra, 'asan') && !cancelled()
|
if: contains(matrix.extra, 'asan') && !cancelled()
|
||||||
run: |
|
run: |
|
||||||
for f in $(grep -lR '#[[:digit:]]* *0x[[:digit:]a-fA-F]*' "${LOG_DIR}"); do
|
for f in $(grep -lR '#[[:digit:]]* *0x[[:xdigit:]]*' "${LOG_DIR}"); do
|
||||||
asan_symbolize-11 -l "$f"
|
asan_symbolize -l "$f"
|
||||||
false # in order to fail a job
|
false # in order to fail a job
|
||||||
done
|
done
|
||||||
|
|
||||||
# coveralls:
|
# coveralls:
|
||||||
# runs-on: ubuntu-18.04
|
# runs-on: ubuntu-18.04
|
||||||
#
|
#
|
||||||
# needs: linux
|
# needs: linux
|
||||||
# if: always() && github.event_name != 'pull_request'
|
# if: always() && github.event_name != 'pull_request'
|
||||||
#
|
#
|
||||||
# steps:
|
# steps:
|
||||||
# - name: Parallel finished
|
# - name: Parallel finished
|
||||||
# env:
|
# env:
|
||||||
# COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
# COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
||||||
# run: |
|
# run: |
|
||||||
# curl -k "https://coveralls.io/webhook?repo_token=${COVERALLS_REPO_TOKEN}" -d "payload[build_num]=${GITHUB_RUN_ID}&payload[status]=done"
|
# curl -k "https://coveralls.io/webhook?repo_token=${COVERALLS_REPO_TOKEN}" -d "payload[build_num]=${GITHUB_RUN_ID}&payload[status]=done"
|
||||||
|
|
||||||
macos:
|
macos:
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
|
|
||||||
env:
|
env:
|
||||||
CC: ${{ matrix.compiler }}
|
CC: clang
|
||||||
TEST: test
|
TEST: test
|
||||||
SRCDIR: ./src
|
SRCDIR: ./src
|
||||||
LEAK_CFLAGS: -DEXITFREE
|
LEAK_CFLAGS: -DEXITFREE
|
||||||
@@ -260,13 +283,13 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
features: [tiny, huge]
|
features: [tiny, normal, huge]
|
||||||
compiler: [clang, gcc]
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
|
if: matrix.features == 'huge'
|
||||||
env:
|
env:
|
||||||
HOMEBREW_NO_AUTO_UPDATE: 1
|
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||||
run: |
|
run: |
|
||||||
@@ -282,6 +305,8 @@ jobs:
|
|||||||
echo "TEST=testtiny"
|
echo "TEST=testtiny"
|
||||||
echo "CONFOPT=--disable-gui"
|
echo "CONFOPT=--disable-gui"
|
||||||
;;
|
;;
|
||||||
|
normal)
|
||||||
|
;;
|
||||||
huge)
|
huge)
|
||||||
echo "CONFOPT=--enable-perlinterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
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
|
sed -i.bak -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
|
||||||
# On macOS, the entity of gcc is clang.
|
# On macOS, the entity of gcc is clang.
|
||||||
sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
|
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
|
- name: Build
|
||||||
env:
|
env:
|
||||||
@@ -315,15 +344,14 @@ jobs:
|
|||||||
make ${TEST}
|
make ${TEST}
|
||||||
|
|
||||||
windows:
|
windows:
|
||||||
runs-on: windows-latest
|
runs-on: windows-2019
|
||||||
|
|
||||||
env:
|
env:
|
||||||
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat
|
|
||||||
# Interfaces
|
# Interfaces
|
||||||
# Lua
|
# Lua
|
||||||
LUA_VER: 54
|
LUA_VER: 54
|
||||||
LUA_VER_DOT: '5.4'
|
LUA_VER_DOT: '5.4'
|
||||||
LUA_RELEASE: 5.4.0
|
LUA_RELEASE: 5.4.2
|
||||||
LUA32_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win32_dllw6_lib.zip
|
LUA32_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win32_dllw6_lib.zip
|
||||||
LUA64_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win64_dllw6_lib.zip
|
LUA64_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win64_dllw6_lib.zip
|
||||||
LUA_DIR: D:\Lua
|
LUA_DIR: D:\Lua
|
||||||
@@ -331,8 +359,8 @@ jobs:
|
|||||||
PYTHON_VER: 27
|
PYTHON_VER: 27
|
||||||
PYTHON_VER_DOT: '2.7'
|
PYTHON_VER_DOT: '2.7'
|
||||||
# Python 3
|
# Python 3
|
||||||
PYTHON3_VER: 38
|
PYTHON3_VER: 310
|
||||||
PYTHON3_VER_DOT: '3.8'
|
PYTHON3_VER_DOT: '3.10'
|
||||||
# Other dependencies
|
# Other dependencies
|
||||||
# winpty
|
# winpty
|
||||||
WINPTY_URL: https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
|
WINPTY_URL: https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
|
||||||
@@ -363,6 +391,10 @@ jobs:
|
|||||||
msystem: MINGW32
|
msystem: MINGW32
|
||||||
cygreg: registry32
|
cygreg: registry32
|
||||||
pyreg: "-32"
|
pyreg: "-32"
|
||||||
|
- toolchain: mingw
|
||||||
|
arch: x64
|
||||||
|
features: HUGE
|
||||||
|
coverage: yes
|
||||||
exclude:
|
exclude:
|
||||||
- toolchain: msvc
|
- toolchain: msvc
|
||||||
arch: x64
|
arch: x64
|
||||||
@@ -377,6 +409,7 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
git config --global core.autocrlf input
|
git config --global core.autocrlf input
|
||||||
|
echo "VCVARSALL=$(vswhere -products \* -latest -property installationPath)\\VC\\Auxiliary\\Build\\vcvarsall.bat" >> $GITHUB_ENV
|
||||||
python_dir=$(cat "/proc/${{ matrix.cygreg }}/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON_VER_DOT}/InstallPath/@")
|
python_dir=$(cat "/proc/${{ matrix.cygreg }}/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON_VER_DOT}/InstallPath/@")
|
||||||
python3_dir=$(cat "/proc/${{ matrix.cygreg }}/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON3_VER_DOT}${{ matrix.pyreg }}/InstallPath/@")
|
python3_dir=$(cat "/proc/${{ matrix.cygreg }}/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON3_VER_DOT}${{ matrix.pyreg }}/InstallPath/@")
|
||||||
echo "PYTHON_DIR=$python_dir" >> $GITHUB_ENV
|
echo "PYTHON_DIR=$python_dir" >> $GITHUB_ENV
|
||||||
@@ -434,8 +467,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Copy src directory to src2
|
- name: Copy src directory to src2
|
||||||
shell: cmd
|
shell: cmd
|
||||||
run: |
|
run: xcopy src src2\ /E > nul
|
||||||
xcopy src src2\ /E > nul
|
|
||||||
|
|
||||||
- name: Build (MSVC)
|
- name: Build (MSVC)
|
||||||
if: matrix.toolchain == 'msvc'
|
if: matrix.toolchain == 'msvc'
|
||||||
@@ -443,17 +475,15 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
||||||
cd src
|
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" (
|
if "${{ matrix.features }}"=="HUGE" (
|
||||||
nmake -nologo -f Make_mvc2.mak ^
|
nmake -nologo -f Make_mvc.mak ^
|
||||||
FEATURES=${{ matrix.features }} ^
|
FEATURES=${{ matrix.features }} ^
|
||||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes ^
|
GUI=yes IME=yes ICONV=yes VIMDLL=yes ^
|
||||||
DYNAMIC_LUA=yes LUA=%LUA_DIR% ^
|
DYNAMIC_LUA=yes LUA=%LUA_DIR% ^
|
||||||
DYNAMIC_PYTHON=yes PYTHON=%PYTHON_DIR% ^
|
DYNAMIC_PYTHON=yes PYTHON=%PYTHON_DIR% ^
|
||||||
DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR%
|
DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR%
|
||||||
) else (
|
) else (
|
||||||
nmake -nologo -f Make_mvc2.mak ^
|
nmake -nologo -f Make_mvc.mak ^
|
||||||
FEATURES=${{ matrix.features }} ^
|
FEATURES=${{ matrix.features }} ^
|
||||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes
|
GUI=yes IME=yes ICONV=yes VIMDLL=yes
|
||||||
)
|
)
|
||||||
@@ -474,7 +504,7 @@ jobs:
|
|||||||
DYNAMIC_LUA=yes LUA=${LUA_DIR} \
|
DYNAMIC_LUA=yes LUA=${LUA_DIR} \
|
||||||
DYNAMIC_PYTHON=yes PYTHON=${PYTHON_DIR} \
|
DYNAMIC_PYTHON=yes PYTHON=${PYTHON_DIR} \
|
||||||
DYNAMIC_PYTHON3=yes PYTHON3=${PYTHON3_DIR} \
|
DYNAMIC_PYTHON3=yes PYTHON3=${PYTHON3_DIR} \
|
||||||
STATIC_STDCPLUS=yes
|
STATIC_STDCPLUS=yes COVERAGE=${{ matrix.coverage }}
|
||||||
else
|
else
|
||||||
mingw32-make -f Make_ming.mak -j2 \
|
mingw32-make -f Make_ming.mak -j2 \
|
||||||
FEATURES=${{ matrix.features }} \
|
FEATURES=${{ matrix.features }} \
|
||||||
@@ -482,6 +512,14 @@ jobs:
|
|||||||
STATIC_STDCPLUS=yes
|
STATIC_STDCPLUS=yes
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
- name: Check version
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
|
||||||
|
src\vim --version || exit 1
|
||||||
|
src\vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
|
||||||
|
src\vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
|
||||||
|
|
||||||
#- name: Prepare Artifact
|
#- name: Prepare Artifact
|
||||||
# shell: cmd
|
# shell: cmd
|
||||||
# run: |
|
# run: |
|
||||||
@@ -495,27 +533,34 @@ jobs:
|
|||||||
# name: vim${{ matrix.bits }}-${{ matrix.toolchain }}
|
# name: vim${{ matrix.bits }}-${{ matrix.toolchain }}
|
||||||
# path: ./artifacts
|
# path: ./artifacts
|
||||||
|
|
||||||
- name: Test
|
- name: Copy gcov data files to src2
|
||||||
|
if: matrix.coverage
|
||||||
|
shell: msys2 {0}
|
||||||
|
run: find src -name '*.gcno' | tar -c -T - | tar -x -C src2 --strip-components 1
|
||||||
|
|
||||||
|
- name: Test and show the result of testing gVim
|
||||||
shell: cmd
|
shell: cmd
|
||||||
timeout-minutes: 20
|
timeout-minutes: 20
|
||||||
run: |
|
run: |
|
||||||
PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
|
PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
|
||||||
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
||||||
cd src
|
|
||||||
echo.
|
|
||||||
echo %COL_GREEN%vim version:%COL_RESET%
|
|
||||||
.\vim --version || exit 1
|
|
||||||
|
|
||||||
echo %COL_GREEN%Start testing vim in background.%COL_RESET%
|
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"
|
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 %COL_GREEN%Test gVim:%COL_RESET%
|
||||||
cd testdir
|
cd src\testdir
|
||||||
nmake -nologo -f Make_dos.mak VIMPROG=..\gvim || exit 1
|
nmake -nologo -f Make_dos.mak VIMPROG=..\gvim || exit 1
|
||||||
cd ..
|
|
||||||
|
|
||||||
echo %COL_GREEN%Wait for vim tests to finish.%COL_RESET%
|
- name: Show the result of testing Vim
|
||||||
cd ..\src2\testdir
|
shell: cmd
|
||||||
|
timeout-minutes: 20
|
||||||
|
run: |
|
||||||
|
PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
|
||||||
|
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
||||||
|
|
||||||
|
echo %COL_GREEN%Wait for Vim tests to finish.%COL_RESET%
|
||||||
|
cd src2\testdir
|
||||||
:: Wait about 10 minutes.
|
:: Wait about 10 minutes.
|
||||||
for /L %%i in (1,1,60) do (
|
for /L %%i in (1,1,60) do (
|
||||||
if exist done.txt goto exitloop
|
if exist done.txt goto exitloop
|
||||||
@@ -525,10 +570,35 @@ jobs:
|
|||||||
set timeout=1
|
set timeout=1
|
||||||
:exitloop
|
:exitloop
|
||||||
|
|
||||||
echo %COL_GREEN%Test results of vim:%COL_RESET%
|
echo %COL_GREEN%The result of testing Vim:%COL_RESET%
|
||||||
|
cd src2\testdir
|
||||||
if exist messages type messages
|
if exist messages type messages
|
||||||
nmake -nologo -f Make_dos.mak report VIMPROG=..\..\src\vim || exit 1
|
nmake -nologo -f Make_dos.mak report VIMPROG=..\..\src\vim || exit 1
|
||||||
|
|
||||||
if "%timeout%"=="1" (
|
if "%timeout%"=="1" (
|
||||||
echo %COL_RED%Timed out.%COL_RESET%
|
echo %COL_RED%Timed out.%COL_RESET%
|
||||||
exit 1
|
exit 1
|
||||||
)
|
)
|
||||||
|
|
||||||
|
- name: Generate gcov files
|
||||||
|
if: matrix.coverage
|
||||||
|
shell: msys2 {0}
|
||||||
|
run: |
|
||||||
|
cd src
|
||||||
|
find . -type f -name '*.gcno' -exec gcov -pb {} + || true
|
||||||
|
cd ../src2
|
||||||
|
find . -type f -name '*.gcno' -exec gcov -pb {} + || true
|
||||||
|
|
||||||
|
- name: Codecov (gVim)
|
||||||
|
if: matrix.coverage
|
||||||
|
uses: codecov/codecov-action@v2
|
||||||
|
with:
|
||||||
|
directory: src
|
||||||
|
flags: windows,${{ matrix.toolchain }}-${{ matrix.arch }}-${{ matrix.features }}-gui
|
||||||
|
|
||||||
|
- name: Codecov (Vim)
|
||||||
|
if: matrix.coverage
|
||||||
|
uses: codecov/codecov-action@v2
|
||||||
|
with:
|
||||||
|
directory: src2
|
||||||
|
flags: windows,${{ matrix.toolchain }}-${{ matrix.arch }}-${{ matrix.features }}
|
||||||
|
|||||||
7
.github/workflows/codeql-analysis.yml
vendored
7
.github/workflows/codeql-analysis.yml
vendored
@@ -14,6 +14,13 @@ on:
|
|||||||
schedule:
|
schedule:
|
||||||
- cron: '0 18 * * 1'
|
- 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:
|
jobs:
|
||||||
analyze:
|
analyze:
|
||||||
name: Analyze
|
name: Analyze
|
||||||
|
|||||||
7
.gitignore
vendored
7
.gitignore
vendored
@@ -96,5 +96,10 @@ src/shadow-*
|
|||||||
src/runtime
|
src/runtime
|
||||||
src/pixmaps
|
src/pixmaps
|
||||||
|
|
||||||
# other possible files build by tools
|
# other files possibly created by tools
|
||||||
src/cscope.out
|
src/cscope.out
|
||||||
|
|
||||||
|
# Linter/language server files
|
||||||
|
/.cache/clangd/
|
||||||
|
/.ccls-cache/
|
||||||
|
/compile_commands.json
|
||||||
|
|||||||
28
Filelist
28
Filelist
@@ -8,6 +8,7 @@ SRC_ALL = \
|
|||||||
.gitattributes \
|
.gitattributes \
|
||||||
.github/CODEOWNERS \
|
.github/CODEOWNERS \
|
||||||
.github/ISSUE_TEMPLATE/bug_report.yml \
|
.github/ISSUE_TEMPLATE/bug_report.yml \
|
||||||
|
.github/ISSUE_TEMPLATE/feature_request.md \
|
||||||
.github/workflows/ci.yml \
|
.github/workflows/ci.yml \
|
||||||
.github/workflows/codeql-analysis.yml \
|
.github/workflows/codeql-analysis.yml \
|
||||||
.github/workflows/coverity.yml \
|
.github/workflows/coverity.yml \
|
||||||
@@ -112,6 +113,8 @@ SRC_ALL = \
|
|||||||
src/nbdebug.h \
|
src/nbdebug.h \
|
||||||
src/netbeans.c \
|
src/netbeans.c \
|
||||||
src/normal.c \
|
src/normal.c \
|
||||||
|
src/nv_cmdidxs.h \
|
||||||
|
src/nv_cmds.h \
|
||||||
src/ops.c \
|
src/ops.c \
|
||||||
src/option.c \
|
src/option.c \
|
||||||
src/option.h \
|
src/option.h \
|
||||||
@@ -159,8 +162,11 @@ SRC_ALL = \
|
|||||||
src/version.h \
|
src/version.h \
|
||||||
src/vim.h \
|
src/vim.h \
|
||||||
src/vim9.h \
|
src/vim9.h \
|
||||||
|
src/vim9cmds.c \
|
||||||
src/vim9compile.c \
|
src/vim9compile.c \
|
||||||
src/vim9execute.c \
|
src/vim9execute.c \
|
||||||
|
src/vim9expr.c \
|
||||||
|
src/vim9instr.c \
|
||||||
src/vim9script.c \
|
src/vim9script.c \
|
||||||
src/vim9type.c \
|
src/vim9type.c \
|
||||||
src/viminfo.c \
|
src/viminfo.c \
|
||||||
@@ -192,7 +198,6 @@ SRC_ALL = \
|
|||||||
src/testdir/view_util.vim \
|
src/testdir/view_util.vim \
|
||||||
src/testdir/test[0-9]*.ok \
|
src/testdir/test[0-9]*.ok \
|
||||||
src/testdir/test77a.ok \
|
src/testdir/test77a.ok \
|
||||||
src/testdir/test83-tags? \
|
|
||||||
src/testdir/test77a.com \
|
src/testdir/test77a.com \
|
||||||
src/testdir/test_*.vim \
|
src/testdir/test_*.vim \
|
||||||
src/testdir/python2/*.py \
|
src/testdir/python2/*.py \
|
||||||
@@ -318,8 +323,11 @@ SRC_ALL = \
|
|||||||
src/proto/usercmd.pro \
|
src/proto/usercmd.pro \
|
||||||
src/proto/userfunc.pro \
|
src/proto/userfunc.pro \
|
||||||
src/proto/version.pro \
|
src/proto/version.pro \
|
||||||
|
src/proto/vim9cmds.pro \
|
||||||
src/proto/vim9compile.pro \
|
src/proto/vim9compile.pro \
|
||||||
src/proto/vim9execute.pro \
|
src/proto/vim9execute.pro \
|
||||||
|
src/proto/vim9expr.pro \
|
||||||
|
src/proto/vim9instr.pro \
|
||||||
src/proto/vim9script.pro \
|
src/proto/vim9script.pro \
|
||||||
src/proto/vim9type.pro \
|
src/proto/vim9type.pro \
|
||||||
src/proto/viminfo.pro \
|
src/proto/viminfo.pro \
|
||||||
@@ -436,10 +444,8 @@ SRC_UNIX = \
|
|||||||
src/configure \
|
src/configure \
|
||||||
src/configure.ac \
|
src/configure.ac \
|
||||||
src/create_cmdidxs.vim \
|
src/create_cmdidxs.vim \
|
||||||
src/gui_at_fs.c \
|
src/create_nvcmdidxs.c \
|
||||||
src/gui_at_sb.c \
|
src/create_nvcmdidxs.vim \
|
||||||
src/gui_at_sb.h \
|
|
||||||
src/gui_athena.c \
|
|
||||||
src/gui_gtk.c \
|
src/gui_gtk.c \
|
||||||
src/gui_gtk_f.c \
|
src/gui_gtk_f.c \
|
||||||
src/gui_gtk_f.h \
|
src/gui_gtk_f.h \
|
||||||
@@ -464,7 +470,6 @@ SRC_UNIX = \
|
|||||||
src/osdef1.h.in \
|
src/osdef1.h.in \
|
||||||
src/osdef2.h.in \
|
src/osdef2.h.in \
|
||||||
src/pathdef.sh \
|
src/pathdef.sh \
|
||||||
src/proto/gui_athena.pro \
|
|
||||||
src/proto/gui_gtk.pro \
|
src/proto/gui_gtk.pro \
|
||||||
src/proto/gui_gtk_x11.pro \
|
src/proto/gui_gtk_x11.pro \
|
||||||
src/proto/gui_gtk_gresources.pro \
|
src/proto/gui_gtk_gresources.pro \
|
||||||
@@ -490,7 +495,6 @@ SRC_UNIX = \
|
|||||||
SRC_DOS_UNIX = \
|
SRC_DOS_UNIX = \
|
||||||
src/gui_xim.c \
|
src/gui_xim.c \
|
||||||
src/if_cscope.c \
|
src/if_cscope.c \
|
||||||
src/if_cscope.h \
|
|
||||||
src/if_lua.c \
|
src/if_lua.c \
|
||||||
src/if_mzsch.c \
|
src/if_mzsch.c \
|
||||||
src/if_mzsch.h \
|
src/if_mzsch.h \
|
||||||
@@ -537,18 +541,14 @@ SRC_DOS = \
|
|||||||
tools/rename.bat \
|
tools/rename.bat \
|
||||||
src/bigvim.bat \
|
src/bigvim.bat \
|
||||||
src/bigvim64.bat \
|
src/bigvim64.bat \
|
||||||
src/msvcsetup.bat \
|
|
||||||
src/msvc2008.bat \
|
src/msvc2008.bat \
|
||||||
src/msvc2010.bat \
|
src/msvc2010.bat \
|
||||||
src/msvc2015.bat \
|
src/msvc2015.bat \
|
||||||
src/msys32.bat \
|
src/msys32.bat \
|
||||||
src/msys64.bat \
|
src/msys64.bat \
|
||||||
src/dimm.idl \
|
|
||||||
src/dlldata.c \
|
src/dlldata.c \
|
||||||
src/dosinst.c \
|
src/dosinst.c \
|
||||||
src/dosinst.h \
|
src/dosinst.h \
|
||||||
src/glbl_ime.cpp \
|
|
||||||
src/glbl_ime.h \
|
|
||||||
src/gui_dwrite.cpp \
|
src/gui_dwrite.cpp \
|
||||||
src/gui_dwrite.h \
|
src/gui_dwrite.h \
|
||||||
src/gui_w32.c \
|
src/gui_w32.c \
|
||||||
@@ -626,6 +626,7 @@ SRC_DOS_BIN = \
|
|||||||
src/xpm/x86/lib-vc14/libXpm.lib \
|
src/xpm/x86/lib-vc14/libXpm.lib \
|
||||||
src/xpm/x86/lib/libXpm.a \
|
src/xpm/x86/lib/libXpm.a \
|
||||||
src/xpm/x86/lib/libXpm.lib \
|
src/xpm/x86/lib/libXpm.lib \
|
||||||
|
runtime/bitmaps/vim.ico \
|
||||||
nsis/icons.zip \
|
nsis/icons.zip \
|
||||||
|
|
||||||
# source files for Amiga, DOS, etc. (also in the extra archive)
|
# source files for Amiga, DOS, etc. (also in the extra archive)
|
||||||
@@ -657,10 +658,7 @@ SRC_HAIKU = \
|
|||||||
# source files for the Mac (also in the extra archive)
|
# source files for the Mac (also in the extra archive)
|
||||||
SRC_MAC = \
|
SRC_MAC = \
|
||||||
src/INSTALLmac.txt \
|
src/INSTALLmac.txt \
|
||||||
src/dehqx.py \
|
|
||||||
src/os_mac_rsrc/*.icns \
|
|
||||||
src/os_mac.h \
|
src/os_mac.h \
|
||||||
src/os_mac.rsr.hqx \
|
|
||||||
src/os_mac_conv.c \
|
src/os_mac_conv.c \
|
||||||
src/os_macosx.m \
|
src/os_macosx.m \
|
||||||
src/proto/os_mac_conv.pro \
|
src/proto/os_mac_conv.pro \
|
||||||
@@ -698,7 +696,6 @@ SRC_EXTRA = \
|
|||||||
$(SRC_QNX) \
|
$(SRC_QNX) \
|
||||||
$(SRC_VMS) \
|
$(SRC_VMS) \
|
||||||
README_os390.txt \
|
README_os390.txt \
|
||||||
src/infplist.xml \
|
|
||||||
src/link.390 \
|
src/link.390 \
|
||||||
src/os_vms_fix.com \
|
src/os_vms_fix.com \
|
||||||
src/toolbar.phi \
|
src/toolbar.phi \
|
||||||
@@ -998,6 +995,7 @@ LANG_GEN = \
|
|||||||
runtime/doc/*-tr.1 \
|
runtime/doc/*-tr.1 \
|
||||||
runtime/doc/*-tr.UTF-8.1 \
|
runtime/doc/*-tr.UTF-8.1 \
|
||||||
runtime/lang/README.txt \
|
runtime/lang/README.txt \
|
||||||
|
runtime/lang/Makefile \
|
||||||
runtime/lang/menu_*.vim \
|
runtime/lang/menu_*.vim \
|
||||||
runtime/keymap/README.txt \
|
runtime/keymap/README.txt \
|
||||||
runtime/keymap/*.vim \
|
runtime/keymap/*.vim \
|
||||||
|
|||||||
@@ -5,11 +5,9 @@ setlocal ENABLEDELAYEDEXPANSION
|
|||||||
cd %APPVEYOR_BUILD_FOLDER%
|
cd %APPVEYOR_BUILD_FOLDER%
|
||||||
|
|
||||||
cd src
|
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"
|
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 ^
|
OLE=no GUI=no IME=yes ICONV=yes DEBUG=no ^
|
||||||
FEATURES=%FEATURE%
|
FEATURES=%FEATURE%
|
||||||
if not exist vim.exe (
|
if not exist vim.exe (
|
||||||
@@ -21,13 +19,13 @@ if not exist vim.exe (
|
|||||||
:: GUI needs to be last, so that testing works
|
:: GUI needs to be last, so that testing works
|
||||||
echo "Building MSVC 64bit GUI Version"
|
echo "Building MSVC 64bit GUI Version"
|
||||||
if "%FEATURE%" == "HUGE" (
|
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 ^
|
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no POSTSCRIPT=yes ^
|
||||||
PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 ^
|
PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 ^
|
||||||
PYTHON3_VER=35 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python35-x64 ^
|
PYTHON3_VER=35 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python35-x64 ^
|
||||||
FEATURES=%FEATURE%
|
FEATURES=%FEATURE%
|
||||||
) ELSE (
|
) 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 ^
|
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no ^
|
||||||
FEATURES=%FEATURE%
|
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/
|
/^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/
|
/^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/
|
||||||
|
|||||||
@@ -347,6 +347,9 @@ Section "$(str_section_exe)" id_section_exe
|
|||||||
File /oname=gvim.exe ${VIMSRC}\gvim_ole.exe
|
File /oname=gvim.exe ${VIMSRC}\gvim_ole.exe
|
||||||
!if /FileExists "${VIMSRC}\vim${BIT}.dll"
|
!if /FileExists "${VIMSRC}\vim${BIT}.dll"
|
||||||
File ${VIMSRC}\vim${BIT}.dll
|
File ${VIMSRC}\vim${BIT}.dll
|
||||||
|
!endif
|
||||||
|
!if /FileExists "${VIMRT}\libsodium.dll"
|
||||||
|
File ${VIMRT}\libsodium.dll
|
||||||
!endif
|
!endif
|
||||||
File /oname=install.exe ${VIMSRC}\installw32.exe
|
File /oname=install.exe ${VIMSRC}\installw32.exe
|
||||||
File /oname=uninstall.exe ${VIMSRC}\uninstallw32.exe
|
File /oname=uninstall.exe ${VIMSRC}\uninstallw32.exe
|
||||||
@@ -400,6 +403,9 @@ Section "$(str_section_exe)" id_section_exe
|
|||||||
SetOutPath $0\autoload\xml
|
SetOutPath $0\autoload\xml
|
||||||
File ${VIMRT}\autoload\xml\*.*
|
File ${VIMRT}\autoload\xml\*.*
|
||||||
|
|
||||||
|
SetOutPath $0\bitmaps
|
||||||
|
File ${VIMSRC}\vim.ico
|
||||||
|
|
||||||
SetOutPath $0\syntax
|
SetOutPath $0\syntax
|
||||||
File ${VIMRT}\syntax\*.*
|
File ${VIMRT}\syntax\*.*
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
893
runtime/autoload/dist/ft.vim
vendored
893
runtime/autoload/dist/ft.vim
vendored
File diff suppressed because it is too large
Load Diff
426
runtime/autoload/dist/script.vim
vendored
Normal file
426
runtime/autoload/dist/script.vim
vendored
Normal file
@@ -0,0 +1,426 @@
|
|||||||
|
vim9script
|
||||||
|
|
||||||
|
# Vim function for detecting a filetype from the file contents.
|
||||||
|
# Invoked from "scripts.vim" in 'runtimepath'
|
||||||
|
#
|
||||||
|
# Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
|
# Last Change: 2022 Feb 13
|
||||||
|
|
||||||
|
export def DetectFiletype()
|
||||||
|
var line1 = getline(1)
|
||||||
|
if line1[0] == '#' && line1[1] == '!'
|
||||||
|
# File that starts with "#!".
|
||||||
|
DetectFromHashBang(line1)
|
||||||
|
else
|
||||||
|
# File does not start with "#!".
|
||||||
|
DetectFromText(line1)
|
||||||
|
endif
|
||||||
|
enddef
|
||||||
|
|
||||||
|
# Called for a script that has "#!" in the first line.
|
||||||
|
def DetectFromHashBang(firstline: string)
|
||||||
|
var line1 = firstline
|
||||||
|
|
||||||
|
# Check for a line like "#!/usr/bin/env {options} bash". Turn it into
|
||||||
|
# "#!/usr/bin/bash" to make matching easier.
|
||||||
|
# Recognize only a few {options} that are commonly used.
|
||||||
|
if line1 =~ '^#!\s*\S*\<env\s'
|
||||||
|
line1 = substitute(line1, '\S\+=\S\+', '', 'g')
|
||||||
|
line1 = substitute(line1, '\(-[iS]\|--ignore-environment\|--split-string\)', '', '')
|
||||||
|
line1 = substitute(line1, '\<env\s\+', '', '')
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Get the program name.
|
||||||
|
# Only accept spaces in PC style paths: "#!c:/program files/perl [args]".
|
||||||
|
# If the word env is used, use the first word after the space:
|
||||||
|
# "#!/usr/bin/env perl [path/args]"
|
||||||
|
# If there is no path use the first word: "#!perl [path/args]".
|
||||||
|
# Otherwise get the last word after a slash: "#!/usr/bin/perl [path/args]".
|
||||||
|
var name: string
|
||||||
|
if line1 =~ '^#!\s*\a:[/\\]'
|
||||||
|
name = substitute(line1, '^#!.*[/\\]\(\i\+\).*', '\1', '')
|
||||||
|
elseif line1 =~ '^#!.*\<env\>'
|
||||||
|
name = substitute(line1, '^#!.*\<env\>\s\+\(\i\+\).*', '\1', '')
|
||||||
|
elseif line1 =~ '^#!\s*[^/\\ ]*\>\([^/\\]\|$\)'
|
||||||
|
name = substitute(line1, '^#!\s*\([^/\\ ]*\>\).*', '\1', '')
|
||||||
|
else
|
||||||
|
name = substitute(line1, '^#!\s*\S*[/\\]\(\i\+\).*', '\1', '')
|
||||||
|
endif
|
||||||
|
|
||||||
|
# tcl scripts may have #!/bin/sh in the first line and "exec wish" in the
|
||||||
|
# third line. Suggested by Steven Atkinson.
|
||||||
|
if getline(3) =~ '^exec wish'
|
||||||
|
name = 'wish'
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Bourne-like shell scripts: bash bash2 ksh ksh93 sh
|
||||||
|
if name =~ '^\(bash\d*\|\|ksh\d*\|sh\)\>'
|
||||||
|
call dist#ft#SetFileTypeSH(line1)
|
||||||
|
|
||||||
|
# csh scripts
|
||||||
|
elseif name =~ '^csh\>'
|
||||||
|
if exists("g:filetype_csh")
|
||||||
|
call dist#ft#SetFileTypeShell(g:filetype_csh)
|
||||||
|
else
|
||||||
|
call dist#ft#SetFileTypeShell("csh")
|
||||||
|
endif
|
||||||
|
|
||||||
|
# tcsh scripts
|
||||||
|
elseif name =~ '^tcsh\>'
|
||||||
|
call dist#ft#SetFileTypeShell("tcsh")
|
||||||
|
|
||||||
|
# Z shell scripts
|
||||||
|
elseif name =~ '^zsh\>'
|
||||||
|
set ft=zsh
|
||||||
|
|
||||||
|
# TCL scripts
|
||||||
|
elseif name =~ '^\(tclsh\|wish\|expectk\|itclsh\|itkwish\)\>'
|
||||||
|
set ft=tcl
|
||||||
|
|
||||||
|
# Expect scripts
|
||||||
|
elseif name =~ '^expect\>'
|
||||||
|
set ft=expect
|
||||||
|
|
||||||
|
# Gnuplot scripts
|
||||||
|
elseif name =~ '^gnuplot\>'
|
||||||
|
set ft=gnuplot
|
||||||
|
|
||||||
|
# Makefiles
|
||||||
|
elseif name =~ 'make\>'
|
||||||
|
set ft=make
|
||||||
|
|
||||||
|
# Pike
|
||||||
|
elseif name =~ '^pike\%(\>\|[0-9]\)'
|
||||||
|
set ft=pike
|
||||||
|
|
||||||
|
# Lua
|
||||||
|
elseif name =~ 'lua'
|
||||||
|
set ft=lua
|
||||||
|
|
||||||
|
# Perl
|
||||||
|
elseif name =~ 'perl'
|
||||||
|
set ft=perl
|
||||||
|
|
||||||
|
# PHP
|
||||||
|
elseif name =~ 'php'
|
||||||
|
set ft=php
|
||||||
|
|
||||||
|
# Python
|
||||||
|
elseif name =~ 'python'
|
||||||
|
set ft=python
|
||||||
|
|
||||||
|
# Groovy
|
||||||
|
elseif name =~ '^groovy\>'
|
||||||
|
set ft=groovy
|
||||||
|
|
||||||
|
# Raku
|
||||||
|
elseif name =~ 'raku'
|
||||||
|
set ft=raku
|
||||||
|
|
||||||
|
# Ruby
|
||||||
|
elseif name =~ 'ruby'
|
||||||
|
set ft=ruby
|
||||||
|
|
||||||
|
# JavaScript
|
||||||
|
elseif name =~ 'node\(js\)\=\>\|js\>' || name =~ 'rhino\>'
|
||||||
|
set ft=javascript
|
||||||
|
|
||||||
|
# BC calculator
|
||||||
|
elseif name =~ '^bc\>'
|
||||||
|
set ft=bc
|
||||||
|
|
||||||
|
# sed
|
||||||
|
elseif name =~ 'sed\>'
|
||||||
|
set ft=sed
|
||||||
|
|
||||||
|
# OCaml-scripts
|
||||||
|
elseif name =~ 'ocaml'
|
||||||
|
set ft=ocaml
|
||||||
|
|
||||||
|
# Awk scripts; also finds "gawk"
|
||||||
|
elseif name =~ 'awk\>'
|
||||||
|
set ft=awk
|
||||||
|
|
||||||
|
# Website MetaLanguage
|
||||||
|
elseif name =~ 'wml'
|
||||||
|
set ft=wml
|
||||||
|
|
||||||
|
# Scheme scripts
|
||||||
|
elseif name =~ 'scheme'
|
||||||
|
set ft=scheme
|
||||||
|
|
||||||
|
# CFEngine scripts
|
||||||
|
elseif name =~ 'cfengine'
|
||||||
|
set ft=cfengine
|
||||||
|
|
||||||
|
# Erlang scripts
|
||||||
|
elseif name =~ 'escript'
|
||||||
|
set ft=erlang
|
||||||
|
|
||||||
|
# Haskell
|
||||||
|
elseif name =~ 'haskell'
|
||||||
|
set ft=haskell
|
||||||
|
|
||||||
|
# Scala
|
||||||
|
elseif name =~ 'scala\>'
|
||||||
|
set ft=scala
|
||||||
|
|
||||||
|
# Clojure
|
||||||
|
elseif name =~ 'clojure'
|
||||||
|
set ft=clojure
|
||||||
|
|
||||||
|
# Free Pascal
|
||||||
|
elseif name =~ 'instantfpc\>'
|
||||||
|
set ft=pascal
|
||||||
|
|
||||||
|
# Fennel
|
||||||
|
elseif name =~ 'fennel\>'
|
||||||
|
set ft=fennel
|
||||||
|
|
||||||
|
# MikroTik RouterOS script
|
||||||
|
elseif name =~ 'rsc\>'
|
||||||
|
set ft=routeros
|
||||||
|
|
||||||
|
# Fish shell
|
||||||
|
elseif name =~ 'fish\>'
|
||||||
|
set ft=fish
|
||||||
|
|
||||||
|
# Gforth
|
||||||
|
elseif name =~ 'gforth\>'
|
||||||
|
set ft=forth
|
||||||
|
|
||||||
|
endif
|
||||||
|
enddef
|
||||||
|
|
||||||
|
|
||||||
|
# Called for a script that does not have "#!" in the first line.
|
||||||
|
def DetectFromText(line1: string)
|
||||||
|
var line2 = getline(2)
|
||||||
|
var line3 = getline(3)
|
||||||
|
var line4 = getline(4)
|
||||||
|
var line5 = getline(5)
|
||||||
|
|
||||||
|
# Bourne-like shell scripts: sh ksh bash bash2
|
||||||
|
if line1 =~ '^:$'
|
||||||
|
call dist#ft#SetFileTypeSH(line1)
|
||||||
|
|
||||||
|
# Z shell scripts
|
||||||
|
elseif line1 =~ '^#compdef\>'
|
||||||
|
|| line1 =~ '^#autoload\>'
|
||||||
|
|| "\n" .. line1 .. "\n" .. line2 .. "\n" .. line3 ..
|
||||||
|
"\n" .. line4 .. "\n" .. line5
|
||||||
|
=~ '\n\s*emulate\s\+\%(-[LR]\s\+\)\=[ckz]\=sh\>'
|
||||||
|
set ft=zsh
|
||||||
|
|
||||||
|
# ELM Mail files
|
||||||
|
elseif line1 =~ '^From \([a-zA-Z][a-zA-Z_0-9\.=-]*\(@[^ ]*\)\=\|-\) .* \(19\|20\)\d\d$'
|
||||||
|
set ft=mail
|
||||||
|
|
||||||
|
# Mason
|
||||||
|
elseif line1 =~ '^<[%&].*>'
|
||||||
|
set ft=mason
|
||||||
|
|
||||||
|
# Vim scripts (must have '" vim' as the first line to trigger this)
|
||||||
|
elseif line1 =~ '^" *[vV]im$'
|
||||||
|
set ft=vim
|
||||||
|
|
||||||
|
# libcxx and libstdc++ standard library headers like "iostream" do not have
|
||||||
|
# an extension, recognize the Emacs file mode.
|
||||||
|
elseif line1 =~? '-\*-.*C++.*-\*-'
|
||||||
|
set ft=cpp
|
||||||
|
|
||||||
|
# MOO
|
||||||
|
elseif line1 =~ '^\*\* LambdaMOO Database, Format Version \%([1-3]\>\)\@!\d\+ \*\*$'
|
||||||
|
set ft=moo
|
||||||
|
|
||||||
|
# Diff file:
|
||||||
|
# - "diff" in first line (context diff)
|
||||||
|
# - "Only in " in first line
|
||||||
|
# - "--- " in first line and "+++ " in second line (unified diff).
|
||||||
|
# - "*** " in first line and "--- " in second line (context diff).
|
||||||
|
# - "# It was generated by makepatch " in the second line (makepatch diff).
|
||||||
|
# - "Index: <filename>" in the first line (CVS file)
|
||||||
|
# - "=== ", line of "=", "---", "+++ " (SVK diff)
|
||||||
|
# - "=== ", "--- ", "+++ " (bzr diff, common case)
|
||||||
|
# - "=== (removed|added|renamed|modified)" (bzr diff, alternative)
|
||||||
|
# - "# HG changeset patch" in first line (Mercurial export format)
|
||||||
|
elseif line1 =~ '^\(diff\>\|Only in \|\d\+\(,\d\+\)\=[cda]\d\+\>\|# It was generated by makepatch \|Index:\s\+\f\+\r\=$\|===== \f\+ \d\+\.\d\+ vs edited\|==== //\f\+#\d\+\|# HG changeset patch\)'
|
||||||
|
|| (line1 =~ '^--- ' && line2 =~ '^+++ ')
|
||||||
|
|| (line1 =~ '^\* looking for ' && line2 =~ '^\* comparing to ')
|
||||||
|
|| (line1 =~ '^\*\*\* ' && line2 =~ '^--- ')
|
||||||
|
|| (line1 =~ '^=== ' && ((line2 =~ '^=\{66\}' && line3 =~ '^--- ' && line4 =~ '^+++') || (line2 =~ '^--- ' && line3 =~ '^+++ ')))
|
||||||
|
|| (line1 =~ '^=== \(removed\|added\|renamed\|modified\)')
|
||||||
|
set ft=diff
|
||||||
|
|
||||||
|
# PostScript Files (must have %!PS as the first line, like a2ps output)
|
||||||
|
elseif line1 =~ '^%![ \t]*PS'
|
||||||
|
set ft=postscr
|
||||||
|
|
||||||
|
# M4 scripts: Guess there is a line that starts with "dnl".
|
||||||
|
elseif line1 =~ '^\s*dnl\>'
|
||||||
|
|| line2 =~ '^\s*dnl\>'
|
||||||
|
|| line3 =~ '^\s*dnl\>'
|
||||||
|
|| line4 =~ '^\s*dnl\>'
|
||||||
|
|| line5 =~ '^\s*dnl\>'
|
||||||
|
set ft=m4
|
||||||
|
|
||||||
|
# AmigaDos scripts
|
||||||
|
elseif $TERM == "amiga" && (line1 =~ "^;" || line1 =~? '^\.bra')
|
||||||
|
set ft=amiga
|
||||||
|
|
||||||
|
# SiCAD scripts (must have procn or procd as the first line to trigger this)
|
||||||
|
elseif line1 =~? '^ *proc[nd] *$'
|
||||||
|
set ft=sicad
|
||||||
|
|
||||||
|
# Purify log files start with "**** Purify"
|
||||||
|
elseif line1 =~ '^\*\*\*\* Purify'
|
||||||
|
set ft=purifylog
|
||||||
|
|
||||||
|
# XML
|
||||||
|
elseif line1 =~ '<?\s*xml.*?>'
|
||||||
|
set ft=xml
|
||||||
|
|
||||||
|
# XHTML (e.g.: PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN")
|
||||||
|
elseif line1 =~ '\<DTD\s\+XHTML\s'
|
||||||
|
set ft=xhtml
|
||||||
|
|
||||||
|
# HTML (e.g.: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN")
|
||||||
|
# Avoid "doctype html", used by slim.
|
||||||
|
elseif line1 =~? '<!DOCTYPE\s\+html\>'
|
||||||
|
set ft=html
|
||||||
|
|
||||||
|
# PDF
|
||||||
|
elseif line1 =~ '^%PDF-'
|
||||||
|
set ft=pdf
|
||||||
|
|
||||||
|
# XXD output
|
||||||
|
elseif line1 =~ '^\x\{7}: \x\{2} \=\x\{2} \=\x\{2} \=\x\{2} '
|
||||||
|
set ft=xxd
|
||||||
|
|
||||||
|
# RCS/CVS log output
|
||||||
|
elseif line1 =~ '^RCS file:' || line2 =~ '^RCS file:'
|
||||||
|
set ft=rcslog
|
||||||
|
|
||||||
|
# CVS commit
|
||||||
|
elseif line2 =~ '^CVS:' || getline("$") =~ '^CVS: '
|
||||||
|
set ft=cvs
|
||||||
|
|
||||||
|
# Prescribe
|
||||||
|
elseif line1 =~ '^!R!'
|
||||||
|
set ft=prescribe
|
||||||
|
|
||||||
|
# Send-pr
|
||||||
|
elseif line1 =~ '^SEND-PR:'
|
||||||
|
set ft=sendpr
|
||||||
|
|
||||||
|
# SNNS files
|
||||||
|
elseif line1 =~ '^SNNS network definition file'
|
||||||
|
set ft=snnsnet
|
||||||
|
elseif line1 =~ '^SNNS pattern definition file'
|
||||||
|
set ft=snnspat
|
||||||
|
elseif line1 =~ '^SNNS result file'
|
||||||
|
set ft=snnsres
|
||||||
|
|
||||||
|
# Virata
|
||||||
|
elseif line1 =~ '^%.\{-}[Vv]irata'
|
||||||
|
|| line2 =~ '^%.\{-}[Vv]irata'
|
||||||
|
|| line3 =~ '^%.\{-}[Vv]irata'
|
||||||
|
|| line4 =~ '^%.\{-}[Vv]irata'
|
||||||
|
|| line5 =~ '^%.\{-}[Vv]irata'
|
||||||
|
set ft=virata
|
||||||
|
|
||||||
|
# Strace
|
||||||
|
elseif line1 =~ '[0-9:.]* *execve(' || line1 =~ '^__libc_start_main'
|
||||||
|
set ft=strace
|
||||||
|
|
||||||
|
# VSE JCL
|
||||||
|
elseif line1 =~ '^\* $$ JOB\>' || line1 =~ '^// *JOB\>'
|
||||||
|
set ft=vsejcl
|
||||||
|
|
||||||
|
# TAK and SINDA
|
||||||
|
elseif line4 =~ 'K & K Associates' || line2 =~ 'TAK 2000'
|
||||||
|
set ft=takout
|
||||||
|
elseif line3 =~ 'S Y S T E M S I M P R O V E D '
|
||||||
|
set ft=sindaout
|
||||||
|
elseif getline(6) =~ 'Run Date: '
|
||||||
|
set ft=takcmp
|
||||||
|
elseif getline(9) =~ 'Node File 1'
|
||||||
|
set ft=sindacmp
|
||||||
|
|
||||||
|
# DNS zone files
|
||||||
|
elseif line1 .. line2 .. line3 .. line4 =~ '^; <<>> DiG [0-9.]\+.* <<>>\|$ORIGIN\|$TTL\|IN\s\+SOA'
|
||||||
|
set ft=bindzone
|
||||||
|
|
||||||
|
# BAAN
|
||||||
|
elseif line1 =~ '|\*\{1,80}' && line2 =~ 'VRC '
|
||||||
|
|| line2 =~ '|\*\{1,80}' && line3 =~ 'VRC '
|
||||||
|
set ft=baan
|
||||||
|
|
||||||
|
# Valgrind
|
||||||
|
elseif line1 =~ '^==\d\+== valgrind' || line3 =~ '^==\d\+== Using valgrind'
|
||||||
|
set ft=valgrind
|
||||||
|
|
||||||
|
# Go docs
|
||||||
|
elseif line1 =~ '^PACKAGE DOCUMENTATION$'
|
||||||
|
set ft=godoc
|
||||||
|
|
||||||
|
# Renderman Interface Bytestream
|
||||||
|
elseif line1 =~ '^##RenderMan'
|
||||||
|
set ft=rib
|
||||||
|
|
||||||
|
# Scheme scripts
|
||||||
|
elseif line1 =~ 'exec\s\+\S*scheme' || line2 =~ 'exec\s\+\S*scheme'
|
||||||
|
set ft=scheme
|
||||||
|
|
||||||
|
# Git output
|
||||||
|
elseif line1 =~ '^\(commit\|tree\|object\) \x\{40,\}\>\|^tag \S\+$'
|
||||||
|
set ft=git
|
||||||
|
|
||||||
|
# Gprof (gnu profiler)
|
||||||
|
elseif line1 == 'Flat profile:'
|
||||||
|
&& line2 == ''
|
||||||
|
&& line3 =~ '^Each sample counts as .* seconds.$'
|
||||||
|
set ft=gprof
|
||||||
|
|
||||||
|
# Erlang terms
|
||||||
|
# (See also: http://www.gnu.org/software/emacs/manual/html_node/emacs/Choosing-Modes.html#Choosing-Modes)
|
||||||
|
elseif line1 =~? '-\*-.*erlang.*-\*-'
|
||||||
|
set ft=erlang
|
||||||
|
|
||||||
|
# YAML
|
||||||
|
elseif line1 =~ '^%YAML'
|
||||||
|
set ft=yaml
|
||||||
|
|
||||||
|
# MikroTik RouterOS script
|
||||||
|
elseif line1 =~ '^#.*by RouterOS.*$'
|
||||||
|
set ft=routeros
|
||||||
|
|
||||||
|
# Sed scripts
|
||||||
|
# #ncomment is allowed but most likely a false positive so require a space
|
||||||
|
# before any trailing comment text
|
||||||
|
elseif line1 =~ '^#n\%($\|\s\)'
|
||||||
|
set ft=sed
|
||||||
|
|
||||||
|
else
|
||||||
|
var lnum = 1
|
||||||
|
while getline(lnum) =~ "^? " && lnum < line("$")
|
||||||
|
lnum += 1
|
||||||
|
endwhile
|
||||||
|
if getline(lnum) =~ '^Index:\s\+\f\+$'
|
||||||
|
# CVS diff
|
||||||
|
set ft=diff
|
||||||
|
|
||||||
|
# locale input files: Formal Definitions of Cultural Conventions
|
||||||
|
# filename must be like en_US, fr_FR@euro or en_US.UTF-8
|
||||||
|
elseif expand("%") =~ '\a\a_\a\a\($\|[.@]\)\|i18n$\|POSIX$\|translit_'
|
||||||
|
lnum = 1
|
||||||
|
while lnum < 100 && lnum < line("$")
|
||||||
|
if getline(lnum) =~ '^LC_\(IDENTIFICATION\|CTYPE\|COLLATE\|MONETARY\|NUMERIC\|TIME\|MESSAGES\|PAPER\|TELEPHONE\|MEASUREMENT\|NAME\|ADDRESS\)$'
|
||||||
|
setf fdcc
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
lnum += 1
|
||||||
|
endwhile
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
enddef
|
||||||
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:
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
" Maintainer: <vacancy>
|
" Maintainer: <vacancy>
|
||||||
" Previous Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
" Previous Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
||||||
" Version: 0.9
|
" Version: 0.9
|
||||||
" Last Updated: 2020 Oct 9
|
" Last Updated: 2022 Mar 30
|
||||||
"
|
"
|
||||||
" Roland Puntaier: this file contains adaptations for python3 and is parallel to pythoncomplete.vim
|
" Roland Puntaier: this file contains adaptations for python3 and is parallel to pythoncomplete.vim
|
||||||
"
|
"
|
||||||
@@ -91,6 +91,9 @@ endfunction
|
|||||||
|
|
||||||
function! s:DefPython()
|
function! s:DefPython()
|
||||||
py3 << PYTHONEOF
|
py3 << PYTHONEOF
|
||||||
|
import warnings
|
||||||
|
warnings.simplefilter(action='ignore', category=FutureWarning)
|
||||||
|
|
||||||
import sys, tokenize, io, types
|
import sys, tokenize, io, types
|
||||||
from token import NAME, DEDENT, NEWLINE, STRING
|
from token import NAME, DEDENT, NEWLINE, STRING
|
||||||
|
|
||||||
|
|||||||
BIN
runtime/bitmaps/vim.ico
Normal file
BIN
runtime/bitmaps/vim.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
@@ -1,5 +1,5 @@
|
|||||||
" Maintainer: Drew Vogel <dvogel@sidejump.org>
|
" Maintainer: Drew Vogel <dvogel@sidejump.org>
|
||||||
" Last Change: 2021 Jul 25
|
" Last Change: 2022 Mar 20
|
||||||
"
|
"
|
||||||
" Replaced rgb.txt as the source of de facto standard color names. This is
|
" 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
|
" sourced each time the colorscheme command is run. It is also sourced each
|
||||||
@@ -430,6 +430,8 @@ call extend(v:colornames, {
|
|||||||
\ 'yellow2': '#eeee00',
|
\ 'yellow2': '#eeee00',
|
||||||
\ 'yellow3': '#cdcd00',
|
\ 'yellow3': '#cdcd00',
|
||||||
\ 'yellow4': '#8b8b00',
|
\ 'yellow4': '#8b8b00',
|
||||||
|
\ 'dark yellow': '#8b8b00',
|
||||||
|
\ 'darkyellow': '#8b8b00',
|
||||||
\ 'gold1': '#ffd700',
|
\ 'gold1': '#ffd700',
|
||||||
\ 'gold2': '#eec900',
|
\ 'gold2': '#eec900',
|
||||||
\ 'gold3': '#cdad00',
|
\ 'gold3': '#cdad00',
|
||||||
@@ -506,6 +508,8 @@ call extend(v:colornames, {
|
|||||||
\ 'orangered2': '#ee4000',
|
\ 'orangered2': '#ee4000',
|
||||||
\ 'orangered3': '#cd3700',
|
\ 'orangered3': '#cd3700',
|
||||||
\ 'orangered4': '#8b2500',
|
\ 'orangered4': '#8b2500',
|
||||||
|
\ 'light red': '#ff8b8b',
|
||||||
|
\ 'lightred': '#ff8b8b',
|
||||||
\ 'red1': '#ff0000',
|
\ 'red1': '#ff0000',
|
||||||
\ 'red2': '#ee0000',
|
\ 'red2': '#ee0000',
|
||||||
\ 'red3': '#cd0000',
|
\ 'red3': '#cd0000',
|
||||||
@@ -538,6 +542,8 @@ call extend(v:colornames, {
|
|||||||
\ 'violetred2': '#ee3a8c',
|
\ 'violetred2': '#ee3a8c',
|
||||||
\ 'violetred3': '#cd3278',
|
\ 'violetred3': '#cd3278',
|
||||||
\ 'violetred4': '#8b2252',
|
\ 'violetred4': '#8b2252',
|
||||||
|
\ 'light magenta': '#ff8bff',
|
||||||
|
\ 'lightmagenta': '#ff8bff',
|
||||||
\ 'magenta1': '#ff00ff',
|
\ 'magenta1': '#ff00ff',
|
||||||
\ 'magenta2': '#ee00ee',
|
\ 'magenta2': '#ee00ee',
|
||||||
\ 'magenta3': '#cd00cd',
|
\ 'magenta3': '#cd00cd',
|
||||||
|
|||||||
@@ -226,7 +226,13 @@ fu! Result(err)
|
|||||||
endif
|
endif
|
||||||
endfu
|
endfu
|
||||||
|
|
||||||
call Test_check_colors()
|
try
|
||||||
|
call Test_check_colors()
|
||||||
let &cpo = s:save_cpo
|
catch
|
||||||
unlet s:save_cpo
|
echohl ErrorMsg
|
||||||
|
echomsg v:exception
|
||||||
|
echohl NONE
|
||||||
|
finally
|
||||||
|
let &cpo = s:save_cpo
|
||||||
|
unlet s:save_cpo
|
||||||
|
endtry
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim compiler file
|
" Vim compiler file
|
||||||
" Compiler: Jest
|
" Compiler: Jest
|
||||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||||
" Last Change: 2018 May 15
|
" Last Change: 2021 Nov 20
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
@@ -15,12 +15,14 @@ endif
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
" CompilerSet makeprg=npx\ jest\ --no-colors
|
" CompilerSet makeprg=npx\ --no-install\ jest\ --no-colors
|
||||||
|
|
||||||
CompilerSet makeprg=jest\ --no-colors
|
CompilerSet makeprg=jest\ --no-colors
|
||||||
CompilerSet errorformat=%E\ \ ●\ %m,
|
CompilerSet errorformat=%-A\ \ ●\ Console,
|
||||||
|
\%E\ \ ●\ %m,
|
||||||
\%Z\ %\\{4}%.%#Error:\ %f:\ %m\ (%l:%c):%\\=,
|
\%Z\ %\\{4}%.%#Error:\ %f:\ %m\ (%l:%c):%\\=,
|
||||||
\%Z\ %\\{6}at\ %\\S%#\ (%f:%l:%c),
|
\%Z\ %\\{6}at\ %\\S%#\ (%f:%l:%c),
|
||||||
|
\%Z\ %\\{6}at\ %\\S%#\ %f:%l:%c,
|
||||||
\%+C\ %\\{4}%\\w%.%#,
|
\%+C\ %\\{4}%\\w%.%#,
|
||||||
\%+C\ %\\{4}%[-+]%.%#,
|
\%+C\ %\\{4}%[-+]%.%#,
|
||||||
\%-C%.%#,
|
\%-C%.%#,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim compiler file
|
" Vim compiler file
|
||||||
" Compiler: SML/NJ Compiler
|
" Compiler: SML/NJ Compiler
|
||||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||||
" Last Change: 2020 Feb 10
|
" Last Change: 2022 Feb 09
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
@@ -16,10 +16,10 @@ let s:cpo_save = &cpo
|
|||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
CompilerSet makeprg=sml
|
CompilerSet makeprg=sml
|
||||||
CompilerSet errorformat=%f:%l.%c-%\\d%\\+.%\\d%\\+\ %trror:\ %m,
|
CompilerSet errorformat=%f:%l.%c-%e.%k\ %trror:\ %m,
|
||||||
\%f:%l.%c\ %trror:\ %m,
|
\%f:%l.%c\ %trror:\ %m,
|
||||||
\%trror:\ %m
|
\%trror:\ %m,
|
||||||
\%f:%l.%c-%\\d%\\+.%\\d%\\+\ %tarning:\ %m,
|
\%f:%l.%c-%e.%k\ %tarning:\ %m,
|
||||||
\%f:%l.%c\ %tarning:\ %m,
|
\%f:%l.%c\ %tarning:\ %m,
|
||||||
\%tarning:\ %m,
|
\%tarning:\ %m,
|
||||||
\%-G%.%#
|
\%-G%.%#
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" The default vimrc file.
|
" The default vimrc file.
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last change: 2021 Nov 17
|
" Last change: 2022 Mar 03
|
||||||
"
|
"
|
||||||
" This is loaded if no vimrc file was found.
|
" This is loaded if no vimrc file was found.
|
||||||
" Except when Vim is run with "-u NONE" or "-C".
|
" Except when Vim is run with "-u NONE" or "-C".
|
||||||
@@ -64,9 +64,10 @@ if has('win32')
|
|||||||
set guioptions-=t
|
set guioptions-=t
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Don't use Ex mode, use Q for formatting.
|
" Don't use Q for Ex mode, use it for formatting. Except for Select mode.
|
||||||
" Revert with ":unmap Q".
|
" Revert with ":unmap Q".
|
||||||
map Q gq
|
map Q gq
|
||||||
|
sunmap Q
|
||||||
|
|
||||||
" CTRL-U in insert mode deletes a lot. Use CTRL-G u to first break undo,
|
" CTRL-U in insert mode deletes a lot. Use CTRL-G u to first break undo,
|
||||||
" so that you can undo CTRL-U after inserting a line break.
|
" so that you can undo CTRL-U after inserting a line break.
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ include ../../src/auto/config.mk
|
|||||||
DOCS = \
|
DOCS = \
|
||||||
arabic.txt \
|
arabic.txt \
|
||||||
autocmd.txt \
|
autocmd.txt \
|
||||||
|
builtin.txt \
|
||||||
change.txt \
|
change.txt \
|
||||||
channel.txt \
|
channel.txt \
|
||||||
cmdline.txt \
|
cmdline.txt \
|
||||||
@@ -152,6 +153,7 @@ DOCS = \
|
|||||||
version6.txt \
|
version6.txt \
|
||||||
version7.txt \
|
version7.txt \
|
||||||
version8.txt \
|
version8.txt \
|
||||||
|
version9.txt \
|
||||||
vi_diff.txt \
|
vi_diff.txt \
|
||||||
vim9.txt \
|
vim9.txt \
|
||||||
visual.txt \
|
visual.txt \
|
||||||
@@ -161,6 +163,7 @@ DOCS = \
|
|||||||
HTMLS = \
|
HTMLS = \
|
||||||
arabic.html \
|
arabic.html \
|
||||||
autocmd.html \
|
autocmd.html \
|
||||||
|
builtin.html \
|
||||||
change.html \
|
change.html \
|
||||||
channel.html \
|
channel.html \
|
||||||
cmdline.html \
|
cmdline.html \
|
||||||
@@ -296,6 +299,7 @@ HTMLS = \
|
|||||||
version6.html \
|
version6.html \
|
||||||
version7.html \
|
version7.html \
|
||||||
version8.html \
|
version8.html \
|
||||||
|
version9.html \
|
||||||
vi_diff.html \
|
vi_diff.html \
|
||||||
vimindex.html \
|
vimindex.html \
|
||||||
vim9.html \
|
vim9.html \
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*autocmd.txt* For Vim version 8.2. Last change: 2021 Nov 20
|
*autocmd.txt* For Vim version 8.2. Last change: 2022 Apr 08
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -51,10 +51,10 @@ effects. Be careful not to destroy your text.
|
|||||||
2. Defining autocommands *autocmd-define*
|
2. Defining autocommands *autocmd-define*
|
||||||
|
|
||||||
*:au* *:autocmd*
|
*: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
|
Add {cmd} to the list of commands that Vim will
|
||||||
execute automatically on {event} for a file matching
|
execute automatically on {event} for a file matching
|
||||||
{pat} |autocmd-patterns|.
|
{aupat} |autocmd-patterns|.
|
||||||
Here {event} cannot be "*". *E1155*
|
Here {event} cannot be "*". *E1155*
|
||||||
Note: A quote character is seen as argument to the
|
Note: A quote character is seen as argument to the
|
||||||
:autocmd and won't start a comment.
|
:autocmd and won't start a comment.
|
||||||
@@ -63,7 +63,7 @@ effects. Be careful not to destroy your text.
|
|||||||
they were given.
|
they were given.
|
||||||
See |autocmd-nested| for [++nested]. "nested"
|
See |autocmd-nested| for [++nested]. "nested"
|
||||||
(without the ++) can also be used, for backwards
|
(without the ++) can also be used, for backwards
|
||||||
compatibility.
|
compatibility, but not in |Vim9| script. *E1078*
|
||||||
*autocmd-once*
|
*autocmd-once*
|
||||||
If [++once] is supplied the command is executed once,
|
If [++once] is supplied the command is executed once,
|
||||||
then removed ("one shot").
|
then removed ("one shot").
|
||||||
@@ -145,19 +145,19 @@ prompt. When one command outputs two messages this can happen anyway.
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
3. Removing autocommands *autocmd-remove*
|
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
|
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-once| for [++once].
|
||||||
See |autocmd-nested| for [++nested].
|
See |autocmd-nested| for [++nested].
|
||||||
|
|
||||||
:au[tocmd]! [group] {event} {pat}
|
:au[tocmd]! [group] {event} {aupat}
|
||||||
Remove all autocommands associated with {event} and
|
Remove all autocommands associated with {event} and
|
||||||
{pat}.
|
{aupat}.
|
||||||
|
|
||||||
:au[tocmd]! [group] * {pat}
|
:au[tocmd]! [group] * {aupat}
|
||||||
Remove all autocommands associated with {pat} for all
|
Remove all autocommands associated with {aupat} for
|
||||||
events.
|
all events.
|
||||||
|
|
||||||
:au[tocmd]! [group] {event}
|
:au[tocmd]! [group] {event}
|
||||||
Remove ALL autocommands for {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*
|
4. Listing autocommands *autocmd-list*
|
||||||
|
|
||||||
:au[tocmd] [group] {event} {pat}
|
:au[tocmd] [group] {event} {aupat}
|
||||||
Show the autocommands associated with {event} and
|
Show the autocommands associated with {event} and
|
||||||
{pat}.
|
{aupat}.
|
||||||
|
|
||||||
:au[tocmd] [group] * {pat}
|
:au[tocmd] [group] * {aupat}
|
||||||
Show the autocommands associated with {pat} for all
|
Show the autocommands associated with {aupat} for all
|
||||||
events.
|
events.
|
||||||
|
|
||||||
:au[tocmd] [group] {event}
|
:au[tocmd] [group] {event}
|
||||||
@@ -326,6 +326,7 @@ Name triggered by ~
|
|||||||
|FileChangedRO| before making the first change to a read-only file
|
|FileChangedRO| before making the first change to a read-only file
|
||||||
|
|
||||||
|DiffUpdated| after diffs have been updated
|
|DiffUpdated| after diffs have been updated
|
||||||
|
|DirChangedPre| before the working directory will change
|
||||||
|DirChanged| after the working directory has changed
|
|DirChanged| after the working directory has changed
|
||||||
|
|
||||||
|ShellCmdPost| after executing a shell command
|
|ShellCmdPost| after executing a shell command
|
||||||
@@ -364,6 +365,7 @@ Name triggered by ~
|
|||||||
|InsertEnter| starting Insert mode
|
|InsertEnter| starting Insert mode
|
||||||
|InsertChange| when typing <Insert> while in Insert or Replace mode
|
|InsertChange| when typing <Insert> while in Insert or Replace mode
|
||||||
|InsertLeave| when leaving Insert mode
|
|InsertLeave| when leaving Insert mode
|
||||||
|
|InsertLeavePre| just before leaving Insert mode
|
||||||
|InsertCharPre| when a character was typed in Insert mode, before
|
|InsertCharPre| when a character was typed in Insert mode, before
|
||||||
inserting it
|
inserting it
|
||||||
|
|
||||||
@@ -400,6 +402,8 @@ Name triggered by ~
|
|||||||
|User| to be used in combination with ":doautocmd"
|
|User| to be used in combination with ":doautocmd"
|
||||||
|SigUSR1| after the SIGUSR1 signal has been detected
|
|SigUSR1| after the SIGUSR1 signal has been detected
|
||||||
|
|
||||||
|
|WinScrolled| after scrolling or resizing a window
|
||||||
|
|
||||||
|
|
||||||
The alphabetical list of autocommand events: *autocmd-events-abc*
|
The alphabetical list of autocommand events: *autocmd-events-abc*
|
||||||
|
|
||||||
@@ -688,9 +692,9 @@ CursorHoldI Just like CursorHold, but in Insert mode.
|
|||||||
CursorMoved After the cursor was moved in Normal or Visual
|
CursorMoved After the cursor was moved in Normal or Visual
|
||||||
mode. Also when the text of the cursor line
|
mode. Also when the text of the cursor line
|
||||||
has been changed, e.g., with "x", "rx" or "p".
|
has been changed, e.g., with "x", "rx" or "p".
|
||||||
Not triggered when there is typeahead, while
|
Not always triggered when there is typeahead,
|
||||||
executing commands in a script file, when
|
while executing commands in a script file,
|
||||||
an operator is pending or when moving to
|
when an operator is pending or when moving to
|
||||||
another window while remaining at the same
|
another window while remaining at the same
|
||||||
cursor position.
|
cursor position.
|
||||||
For an example see |match-parens|.
|
For an example see |match-parens|.
|
||||||
@@ -738,6 +742,11 @@ DiffUpdated After diffs have been updated. Depending on
|
|||||||
what kind of diff is being used (internal or
|
what kind of diff is being used (internal or
|
||||||
external) this can be triggered on every
|
external) this can be triggered on every
|
||||||
change or when doing |:diffupdate|.
|
change or when doing |:diffupdate|.
|
||||||
|
*DirChangedPre*
|
||||||
|
DirChangedPre The working directory is going to be changed,
|
||||||
|
as with |DirChanged|. The pattern is like
|
||||||
|
with |DirChanged|. The new directory can be
|
||||||
|
found in v:event.directory.
|
||||||
*DirChanged*
|
*DirChanged*
|
||||||
DirChanged The working directory has changed in response
|
DirChanged The working directory has changed in response
|
||||||
to the |:cd| or |:tcd| or |:lcd| commands, or
|
to the |:cd| or |:tcd| or |:lcd| commands, or
|
||||||
@@ -1196,6 +1205,9 @@ TextYankPost After text has been yanked or deleted in the
|
|||||||
current buffer. The following values of
|
current buffer. The following values of
|
||||||
|v:event| can be used to determine the operation
|
|v:event| can be used to determine the operation
|
||||||
that triggered this autocmd:
|
that triggered this autocmd:
|
||||||
|
inclusive TRUE if the motion is
|
||||||
|
|inclusive| else the motion is
|
||||||
|
|exclusive|.
|
||||||
operator The operation performed.
|
operator The operation performed.
|
||||||
regcontents Text that was stored in the
|
regcontents Text that was stored in the
|
||||||
register, as a list of lines,
|
register, as a list of lines,
|
||||||
@@ -1211,7 +1223,7 @@ TextYankPost After text has been yanked or deleted in the
|
|||||||
Not triggered when |quote_| is used nor when
|
Not triggered when |quote_| is used nor when
|
||||||
called recursively.
|
called recursively.
|
||||||
It is not allowed to change the buffer text,
|
It is not allowed to change the buffer text,
|
||||||
see |textlock|.
|
see |textlock|. *E1064*
|
||||||
{only when compiled with the +eval feature}
|
{only when compiled with the +eval feature}
|
||||||
|
|
||||||
*User*
|
*User*
|
||||||
@@ -1221,7 +1233,13 @@ User Never executed automatically. To be used for
|
|||||||
Note that when `:doautocmd User MyEvent` is
|
Note that when `:doautocmd User MyEvent` is
|
||||||
used while there are no matching autocommands,
|
used while there are no matching autocommands,
|
||||||
you will get an error. If you don't want
|
you will get an error. If you don't want
|
||||||
that, define a dummy autocommand yourself.
|
that, either check whether an autocommand is
|
||||||
|
defined using `exists('#User#MyEvent')` or
|
||||||
|
define a dummy autocommand yourself.
|
||||||
|
Example: >
|
||||||
|
if exists('#User#MyEvent')
|
||||||
|
doautocmd User MyEvent
|
||||||
|
endif
|
||||||
|
|
||||||
*SigUSR1*
|
*SigUSR1*
|
||||||
SigUSR1 After the SIGUSR1 signal has been detected.
|
SigUSR1 After the SIGUSR1 signal has been detected.
|
||||||
@@ -1279,8 +1297,8 @@ VimResume When the Vim instance is resumed after being
|
|||||||
:autocmd VimResume * checktime
|
:autocmd VimResume * checktime
|
||||||
< *VimSuspend*
|
< *VimSuspend*
|
||||||
VimSuspend When the Vim instance is suspended. Only when
|
VimSuspend When the Vim instance is suspended. Only when
|
||||||
CTRL-Z was typed inside Vim, not when the
|
CTRL-Z was typed inside Vim, or when the SIGTSTP
|
||||||
SIGSTOP or SIGTSTP signal was sent to Vim.
|
signal was sent to Vim, but not for SIGSTOP.
|
||||||
*WinClosed*
|
*WinClosed*
|
||||||
WinClosed After closing a window. The pattern is
|
WinClosed After closing a window. The pattern is
|
||||||
matched against the |window-ID|. Both
|
matched against the |window-ID|. Both
|
||||||
@@ -1310,17 +1328,30 @@ WinNew When a new window was created. Not done for
|
|||||||
the first window, when Vim has just started.
|
the first window, when Vim has just started.
|
||||||
Before a WinEnter event.
|
Before a WinEnter event.
|
||||||
|
|
||||||
==============================================================================
|
*WinScrolled*
|
||||||
6. Patterns *autocmd-patterns* *{pat}*
|
WinScrolled After scrolling the content of a window or
|
||||||
|
resizing a window.
|
||||||
|
The pattern is matched against the
|
||||||
|
|window-ID|. Both <amatch> and <afile> are
|
||||||
|
set to the |window-ID|.
|
||||||
|
Non-recursive (the event cannot trigger
|
||||||
|
itself). However, if the command causes the
|
||||||
|
window to scroll or change size another
|
||||||
|
WinScrolled event will be triggered later.
|
||||||
|
Does not trigger when the command is added,
|
||||||
|
only after the first scroll or resize.
|
||||||
|
|
||||||
The {pat} argument can be a comma separated list. This works as if the
|
==============================================================================
|
||||||
command was given with each pattern separately. Thus this command: >
|
6. Patterns *autocmd-patterns* *{aupat}*
|
||||||
|
|
||||||
|
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
|
:autocmd BufRead *.txt,*.info set et
|
||||||
Is equivalent to: >
|
Is equivalent to: >
|
||||||
:autocmd BufRead *.txt set et
|
:autocmd BufRead *.txt set et
|
||||||
:autocmd BufRead *.info 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:
|
two ways:
|
||||||
1. When there is no '/' in the pattern, Vim checks for a match against only
|
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).
|
the tail part of the file name (without its leading directory path).
|
||||||
@@ -1633,7 +1664,7 @@ Examples for reading and writing compressed files: >
|
|||||||
: autocmd BufReadPre,FileReadPre *.gz set bin
|
: autocmd BufReadPre,FileReadPre *.gz set bin
|
||||||
: autocmd BufReadPost,FileReadPost *.gz '[,']!gunzip
|
: autocmd BufReadPost,FileReadPost *.gz '[,']!gunzip
|
||||||
: autocmd BufReadPost,FileReadPost *.gz set nobin
|
: autocmd BufReadPost,FileReadPost *.gz set nobin
|
||||||
: autocmd BufReadPost,FileReadPost *.gz execute ":doautocmd BufReadPost " . expand("%:r")
|
: autocmd BufReadPost,FileReadPost *.gz execute ":doautocmd BufReadPost " .. expand("%:r")
|
||||||
: autocmd BufWritePost,FileWritePost *.gz !mv <afile> <afile>:r
|
: autocmd BufWritePost,FileWritePost *.gz !mv <afile> <afile>:r
|
||||||
: autocmd BufWritePost,FileWritePost *.gz !gzip <afile>:r
|
: autocmd BufWritePost,FileWritePost *.gz !gzip <afile>:r
|
||||||
|
|
||||||
@@ -1732,7 +1763,7 @@ To insert the current date and time in a *.html file when writing it: >
|
|||||||
: else
|
: else
|
||||||
: let l = line("$")
|
: let l = line("$")
|
||||||
: endif
|
: endif
|
||||||
: exe "1," . l . "g/Last modified: /s/Last modified: .*/Last modified: " .
|
: exe "1," .. l .. "g/Last modified: /s/Last modified: .*/Last modified: " ..
|
||||||
: \ strftime("%Y %b %d")
|
: \ strftime("%Y %b %d")
|
||||||
:endfun
|
:endfun
|
||||||
|
|
||||||
|
|||||||
10221
runtime/doc/builtin.txt
Normal file
10221
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 Mar 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -259,6 +259,9 @@ Or use "caw" (see |aw|).
|
|||||||
line.
|
line.
|
||||||
Adding [!] toggles 'autoindent' for the time this
|
Adding [!] toggles 'autoindent' for the time this
|
||||||
command is executed.
|
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*
|
3. Simple changes *simple-change*
|
||||||
@@ -775,11 +778,11 @@ matched pattern is deleted. The separator after {pattern} can also be left
|
|||||||
out then. Example: >
|
out then. Example: >
|
||||||
:%s/TESTING
|
:%s/TESTING
|
||||||
This deletes "TESTING" from all lines, but only one per line.
|
This deletes "TESTING" from all lines, but only one per line.
|
||||||
|
*E1270*
|
||||||
For compatibility with Vi these two exceptions are allowed:
|
For compatibility with Vi these two exceptions are allowed in legacy script:
|
||||||
"\/{string}/" and "\?{string}?" do the same as "//{string}/r".
|
"\/{string}/" and "\?{string}?" do the same as "//{string}/r".
|
||||||
"\&{string}&" does the same as "//{string}/".
|
"\&{string}&" does the same as "//{string}/".
|
||||||
*pattern-delimiter* *E146*
|
*pattern-delimiter* *E146* *E1241* *E1242*
|
||||||
Instead of the '/' which surrounds the pattern and replacement string, you can
|
Instead of the '/' which surrounds the pattern and replacement string, you can
|
||||||
use another single-byte character. This is useful if you want to include a
|
use another single-byte character. This is useful if you want to include a
|
||||||
'/' in the search pattern or replacement string. Example: >
|
'/' in the search pattern or replacement string. Example: >
|
||||||
@@ -943,7 +946,7 @@ Consider using a character like "@" or ":". There is no problem if the result
|
|||||||
of the expression contains the separation character.
|
of the expression contains the separation character.
|
||||||
|
|
||||||
Examples: >
|
Examples: >
|
||||||
:s@\n@\="\r" . expand("$HOME") . "\r"@
|
:s@\n@\="\r" .. expand("$HOME") .. "\r"@
|
||||||
This replaces an end-of-line with a new line containing the value of $HOME. >
|
This replaces an end-of-line with a new line containing the value of $HOME. >
|
||||||
|
|
||||||
s/E/\="\<Char-0x20ac>"/g
|
s/E/\="\<Char-0x20ac>"/g
|
||||||
@@ -1073,7 +1076,7 @@ inside of strings can change! Also see 'softtabstop' option. >
|
|||||||
in [range] (default: current line |cmdline-ranges|),
|
in [range] (default: current line |cmdline-ranges|),
|
||||||
[into register x].
|
[into register x].
|
||||||
|
|
||||||
*p* *put* *E353*
|
*p* *put* *E353* *E1240*
|
||||||
["x]p Put the text [from register x] after the cursor
|
["x]p Put the text [from register x] after the cursor
|
||||||
[count] times.
|
[count] times.
|
||||||
|
|
||||||
@@ -1120,7 +1123,7 @@ inside of strings can change! Also see 'softtabstop' option. >
|
|||||||
the command. You need to escape the '|' and '"'
|
the command. You need to escape the '|' and '"'
|
||||||
characters to prevent them from terminating the
|
characters to prevent them from terminating the
|
||||||
command. Example: >
|
command. Example: >
|
||||||
:put ='path' . \",/test\"
|
:put ='path' .. \",/test\"
|
||||||
< If there is no expression after '=', Vim uses the
|
< If there is no expression after '=', Vim uses the
|
||||||
previous expression. You can see it with ":dis =".
|
previous expression. You can see it with ":dis =".
|
||||||
|
|
||||||
@@ -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:
|
and whether the corners are on an existing character. (Implementation detail:
|
||||||
it actually works by first putting the register after the selection and then
|
it actually works by first putting the register after the selection and then
|
||||||
deleting the selection.)
|
deleting the selection.)
|
||||||
The previously selected text is put in the unnamed register. If you want to
|
With 'p' the previously selected text is put in the unnamed register. This is
|
||||||
put the same text into a Visual selection several times you need to use
|
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
|
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.
|
unnamed register will be changed each time.
|
||||||
|
|
||||||
When you use a blockwise Visual mode command and yank only a single line into
|
When you use a blockwise Visual mode command and yank only a single line into
|
||||||
@@ -1374,6 +1380,9 @@ The next three commands always work on whole lines.
|
|||||||
|
|
||||||
*:t*
|
*:t*
|
||||||
:t Synonym for copy.
|
: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*
|
:[range]m[ove] {address} *:m* *:mo* *:move* *E134*
|
||||||
Move the lines given by [range] to below the line
|
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.
|
<Enter> in Insert mode.
|
||||||
*fo-o*
|
*fo-o*
|
||||||
o Automatically insert the current comment leader after hitting 'o' or
|
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*
|
*fo-q*
|
||||||
q Allow formatting of comments with "gq".
|
q Allow formatting of comments with "gq".
|
||||||
Note that formatting will not change blank lines or lines containing
|
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: 2022 Apr 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -53,6 +53,7 @@ RAW nothing known, Vim cannot tell where a message ends
|
|||||||
NL every message ends in a NL (newline) character
|
NL every message ends in a NL (newline) character
|
||||||
JSON JSON encoding |json_encode()|
|
JSON JSON encoding |json_encode()|
|
||||||
JS JavaScript style JSON-like encoding |js_encode()|
|
JS JavaScript style JSON-like encoding |js_encode()|
|
||||||
|
LSP Language Server Protocol encoding |language-server-protocol|
|
||||||
|
|
||||||
Common combination are:
|
Common combination are:
|
||||||
- Using a job connected through pipes in NL mode. E.g., to run a style
|
- Using a job connected through pipes in NL mode. E.g., to run a style
|
||||||
@@ -91,7 +92,7 @@ And you should see the message in Vim. You can move the cursor a word forward:
|
|||||||
|
|
||||||
To handle asynchronous communication a callback needs to be used: >
|
To handle asynchronous communication a callback needs to be used: >
|
||||||
func MyHandler(channel, msg)
|
func MyHandler(channel, msg)
|
||||||
echo "from the handler: " . a:msg
|
echo "from the handler: " .. a:msg
|
||||||
endfunc
|
endfunc
|
||||||
call ch_sendexpr(channel, 'hello!', {'callback': "MyHandler"})
|
call ch_sendexpr(channel, 'hello!', {'callback': "MyHandler"})
|
||||||
Vim will not wait for a response. Now the server can send the response later
|
Vim will not wait for a response. Now the server can send the response later
|
||||||
@@ -101,7 +102,7 @@ Instead of giving a callback with every send call, it can also be specified
|
|||||||
when opening the channel: >
|
when opening the channel: >
|
||||||
call ch_close(channel)
|
call ch_close(channel)
|
||||||
let channel = ch_open('localhost:8765', {'callback': "MyHandler"})
|
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
|
When trying out channels it's useful to see what is going on. You can tell
|
||||||
Vim to write lines in log file: >
|
Vim to write lines in log file: >
|
||||||
@@ -118,10 +119,13 @@ To open a channel: >
|
|||||||
|
|
||||||
Use |ch_status()| to see if the channel could be opened.
|
Use |ch_status()| to see if the channel could be opened.
|
||||||
|
|
||||||
{address} has the form "hostname:port". E.g., "localhost:8765".
|
*channel-address*
|
||||||
|
{address} can be a domain name or an IP address, followed by a port number, or
|
||||||
When using an IPv6 address, enclose it within square brackets. E.g.,
|
a Unix-domain socket path prefixed by "unix:". E.g. >
|
||||||
"[2001:db8::1]:8765".
|
www.example.com:80 " domain + port
|
||||||
|
127.0.0.1:1234 " IPv4 + port
|
||||||
|
[2001:db8::1]:8765 " IPv6 + port
|
||||||
|
unix:/tmp/my-socket " Unix-domain socket path
|
||||||
|
|
||||||
{options} is a dictionary with optional entries: *channel-open-options*
|
{options} is a dictionary with optional entries: *channel-open-options*
|
||||||
|
|
||||||
@@ -130,17 +134,19 @@ When using an IPv6 address, enclose it within square brackets. E.g.,
|
|||||||
"js" - Use JS (JavaScript) encoding, more efficient than JSON.
|
"js" - Use JS (JavaScript) encoding, more efficient than JSON.
|
||||||
"nl" - Use messages that end in a NL character
|
"nl" - Use messages that end in a NL character
|
||||||
"raw" - Use raw messages
|
"raw" - Use raw messages
|
||||||
|
"lsp" - Use language server protocol encoding
|
||||||
*channel-callback* *E921*
|
*channel-callback* *E921*
|
||||||
"callback" A function that is called when a message is received that is
|
"callback" A function that is called when a message is received that is
|
||||||
not handled otherwise. It gets two arguments: the channel
|
not handled otherwise (e.g. a JSON message with ID zero). It
|
||||||
and the received message. Example: >
|
gets two arguments: the channel and the received message.
|
||||||
|
Example: >
|
||||||
func Handle(channel, msg)
|
func Handle(channel, msg)
|
||||||
echo 'Received: ' . a:msg
|
echo 'Received: ' .. a:msg
|
||||||
endfunc
|
endfunc
|
||||||
let channel = ch_open("localhost:8765", {"callback": "Handle"})
|
let channel = ch_open("localhost:8765", {"callback": "Handle"})
|
||||||
<
|
<
|
||||||
When "mode" is "json" or "js" the "msg" argument is the body
|
When "mode" is "json" or "js" or "lsp" the "msg" argument is
|
||||||
of the received message, converted to Vim types.
|
the body of the received message, converted to Vim types.
|
||||||
When "mode" is "nl" the "msg" argument is one message,
|
When "mode" is "nl" the "msg" argument is one message,
|
||||||
excluding the NL.
|
excluding the NL.
|
||||||
When "mode" is "raw" the "msg" argument is the whole message
|
When "mode" is "raw" the "msg" argument is the whole message
|
||||||
@@ -164,7 +170,19 @@ When using an IPv6 address, enclose it within square brackets. E.g.,
|
|||||||
to check for messages, the close_cb may be invoked while still
|
to check for messages, the close_cb may be invoked while still
|
||||||
in the callback. The plugin must handle this somehow, it can
|
in the callback. The plugin must handle this somehow, it can
|
||||||
be useful to know that no more data is coming.
|
be useful to know that no more data is coming.
|
||||||
*channel-drop*
|
If it is not known if there is a message to be read, use a
|
||||||
|
try/catch block: >
|
||||||
|
try
|
||||||
|
let msg = ch_readraw(a:channel)
|
||||||
|
catch
|
||||||
|
let msg = 'no message'
|
||||||
|
endtry
|
||||||
|
try
|
||||||
|
let err = ch_readraw(a:channel, #{part: 'err'})
|
||||||
|
catch
|
||||||
|
let err = 'no error'
|
||||||
|
endtry
|
||||||
|
< *channel-drop*
|
||||||
"drop" Specifies when to drop messages:
|
"drop" Specifies when to drop messages:
|
||||||
"auto" When there is no callback to handle a message.
|
"auto" When there is no callback to handle a message.
|
||||||
The "close_cb" is also considered for this.
|
The "close_cb" is also considered for this.
|
||||||
@@ -442,7 +460,7 @@ to check if there is something to read.
|
|||||||
Note that when there is no callback, messages are dropped. To avoid that add
|
Note that when there is no callback, messages are dropped. To avoid that add
|
||||||
a close callback to the channel.
|
a close callback to the channel.
|
||||||
|
|
||||||
To read all output from a RAW channel that is available: >
|
To read all normal output from a RAW channel that is available: >
|
||||||
let output = ch_readraw(channel)
|
let output = ch_readraw(channel)
|
||||||
To read the error output: >
|
To read the error output: >
|
||||||
let output = ch_readraw(channel, {"part": "err"})
|
let output = ch_readraw(channel, {"part": "err"})
|
||||||
@@ -502,6 +520,7 @@ ch_evalexpr({handle}, {expr} [, {options}]) *ch_evalexpr()*
|
|||||||
according to the type of channel. The function cannot be used
|
according to the type of channel. The function cannot be used
|
||||||
with a raw channel. See |channel-use|.
|
with a raw channel. See |channel-use|.
|
||||||
{handle} can be a Channel or a Job that has a Channel.
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
|
When using the "lsp" channel mode, {expr} must be a |Dict|.
|
||||||
*E917*
|
*E917*
|
||||||
{options} must be a Dictionary. It must not have a "callback"
|
{options} must be a Dictionary. It must not have a "callback"
|
||||||
entry. It can have a "timeout" entry to specify the timeout
|
entry. It can have a "timeout" entry to specify the timeout
|
||||||
@@ -563,10 +582,15 @@ ch_info({handle}) *ch_info()*
|
|||||||
When opened with ch_open():
|
When opened with ch_open():
|
||||||
"hostname" the hostname of the address
|
"hostname" the hostname of the address
|
||||||
"port" the port of the address
|
"port" the port of the address
|
||||||
|
"path" the path of the Unix-domain socket
|
||||||
"sock_status" "open" or "closed"
|
"sock_status" "open" or "closed"
|
||||||
"sock_mode" "NL", "RAW", "JSON" or "JS"
|
"sock_mode" "NL", "RAW", "JSON" or "JS"
|
||||||
"sock_io" "socket"
|
"sock_io" "socket"
|
||||||
"sock_timeout" timeout in msec
|
"sock_timeout" timeout in msec
|
||||||
|
|
||||||
|
Note that "path" is only present for Unix-domain sockets, for
|
||||||
|
regular ones "hostname" and "port" are present instead.
|
||||||
|
|
||||||
When opened with job_start():
|
When opened with job_start():
|
||||||
"out_status" "open", "buffered" or "closed"
|
"out_status" "open", "buffered" or "closed"
|
||||||
"out_mode" "NL", "RAW", "JSON" or "JS"
|
"out_mode" "NL", "RAW", "JSON" or "JS"
|
||||||
@@ -577,7 +601,7 @@ ch_info({handle}) *ch_info()*
|
|||||||
"err_io" "out", "null", "pipe", "file" or "buffer"
|
"err_io" "out", "null", "pipe", "file" or "buffer"
|
||||||
"err_timeout" timeout in msec
|
"err_timeout" timeout in msec
|
||||||
"in_status" "open" or "closed"
|
"in_status" "open" or "closed"
|
||||||
"in_mode" "NL", "RAW", "JSON" or "JS"
|
"in_mode" "NL", "RAW", "JSON", "JS" or "LSP"
|
||||||
"in_io" "null", "pipe", "file" or "buffer"
|
"in_io" "null", "pipe", "file" or "buffer"
|
||||||
"in_timeout" timeout in msec
|
"in_timeout" timeout in msec
|
||||||
|
|
||||||
@@ -609,8 +633,8 @@ ch_logfile({fname} [, {mode}]) *ch_logfile()*
|
|||||||
is going on in real time.
|
is going on in real time.
|
||||||
|
|
||||||
To enable the log very early, to see what is received from a
|
To enable the log very early, to see what is received from a
|
||||||
terminal during startup, use |--cmd|: >
|
terminal during startup, use |--log|: >
|
||||||
vim --cmd "call ch_logfile('logfile', 'w')"
|
vim --log logfile
|
||||||
<
|
<
|
||||||
This function is not available in the |sandbox|.
|
This function is not available in the |sandbox|.
|
||||||
NOTE: the channel communication is stored in the file, be
|
NOTE: the channel communication is stored in the file, be
|
||||||
@@ -625,11 +649,8 @@ ch_open({address} [, {options}]) *ch_open()*
|
|||||||
Open a channel to {address}. See |channel|.
|
Open a channel to {address}. See |channel|.
|
||||||
Returns a Channel. Use |ch_status()| to check for failure.
|
Returns a Channel. Use |ch_status()| to check for failure.
|
||||||
|
|
||||||
{address} is a String and has the form "hostname:port", e.g.,
|
{address} is a String, see |channel-address| for the possible
|
||||||
"localhost:8765".
|
accepted forms.
|
||||||
|
|
||||||
When using an IPv6 address, enclose it within square brackets.
|
|
||||||
E.g., "[2001:db8::1]:8765".
|
|
||||||
|
|
||||||
If {options} is given it must be a |Dictionary|.
|
If {options} is given it must be a |Dictionary|.
|
||||||
See |channel-open-options|.
|
See |channel-open-options|.
|
||||||
@@ -673,6 +694,7 @@ ch_sendexpr({handle}, {expr} [, {options}]) *ch_sendexpr()*
|
|||||||
with a raw channel.
|
with a raw channel.
|
||||||
See |channel-use|. *E912*
|
See |channel-use|. *E912*
|
||||||
{handle} can be a Channel or a Job that has a Channel.
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
|
When using the "lsp" channel mode, {expr} must be a |Dict|.
|
||||||
|
|
||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetChannel()->ch_sendexpr(expr)
|
GetChannel()->ch_sendexpr(expr)
|
||||||
@@ -1287,18 +1309,18 @@ prompt. >
|
|||||||
" Create a channel log so we can see what happens.
|
" Create a channel log so we can see what happens.
|
||||||
call ch_logfile('logfile', 'w')
|
call ch_logfile('logfile', 'w')
|
||||||
|
|
||||||
" Function handling a line of text has been typed.
|
" Function handling a line of text that has been typed.
|
||||||
func TextEntered(text)
|
func TextEntered(text)
|
||||||
" Send the text to a shell with Enter appended.
|
" Send the text to a shell with Enter appended.
|
||||||
call ch_sendraw(g:shell_job, a:text .. "\n")
|
call ch_sendraw(g:shell_job, a:text .. "\n")
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" Function handling output from the shell: Added above the prompt.
|
" Function handling output from the shell: Add it above the prompt.
|
||||||
func GotOutput(channel, msg)
|
func GotOutput(channel, msg)
|
||||||
call append(line("$") - 1, "- " . a:msg)
|
call append(line("$") - 1, "- " .. a:msg)
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" Function handling the shell exist: close the window.
|
" Function handling the shell exits: close the window.
|
||||||
func JobExit(job, status)
|
func JobExit(job, status)
|
||||||
quit!
|
quit!
|
||||||
endfunc
|
endfunc
|
||||||
@@ -1309,7 +1331,6 @@ prompt. >
|
|||||||
\ err_cb: function('GotOutput'),
|
\ err_cb: function('GotOutput'),
|
||||||
\ exit_cb: function('JobExit'),
|
\ exit_cb: function('JobExit'),
|
||||||
\ })
|
\ })
|
||||||
let shell_ch = job_getchannel(shell_job)
|
|
||||||
|
|
||||||
new
|
new
|
||||||
set buftype=prompt
|
set buftype=prompt
|
||||||
@@ -1320,6 +1341,117 @@ prompt. >
|
|||||||
" start accepting shell commands
|
" start accepting shell commands
|
||||||
startinsert
|
startinsert
|
||||||
<
|
<
|
||||||
|
The same in |Vim9| script: >
|
||||||
|
|
||||||
|
vim9script
|
||||||
|
|
||||||
|
# Create a channel log so we can see what happens.
|
||||||
|
ch_logfile('logfile', 'w')
|
||||||
|
|
||||||
|
var shell_job: job
|
||||||
|
|
||||||
|
# Function handling a line of text that has been typed.
|
||||||
|
def TextEntered(text: string)
|
||||||
|
# Send the text to a shell with Enter appended.
|
||||||
|
ch_sendraw(shell_job, text .. "\n")
|
||||||
|
enddef
|
||||||
|
|
||||||
|
# Function handling output from the shell: Add it above the prompt.
|
||||||
|
def GotOutput(channel: channel, msg: string)
|
||||||
|
append(line("$") - 1, "- " .. msg)
|
||||||
|
enddef
|
||||||
|
|
||||||
|
# Function handling the shell exits: close the window.
|
||||||
|
def JobExit(job: job, status: number)
|
||||||
|
quit!
|
||||||
|
enddef
|
||||||
|
|
||||||
|
# Start a shell in the background.
|
||||||
|
shell_job = job_start(["/bin/sh"], {
|
||||||
|
out_cb: GotOutput,
|
||||||
|
err_cb: GotOutput,
|
||||||
|
exit_cb: JobExit,
|
||||||
|
})
|
||||||
|
|
||||||
|
new
|
||||||
|
set buftype=prompt
|
||||||
|
var buf = bufnr('')
|
||||||
|
prompt_setcallback(buf, TextEntered)
|
||||||
|
prompt_setprompt(buf, "shell command: ")
|
||||||
|
|
||||||
|
# start accepting shell commands
|
||||||
|
startinsert
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
14. Language Server Protocol *language-server-protocol*
|
||||||
|
|
||||||
|
The language server protocol specification is available at:
|
||||||
|
|
||||||
|
https://microsoft.github.io/language-server-protocol/specification
|
||||||
|
|
||||||
|
Each LSP protocol message starts with a simple HTTP header followed by the
|
||||||
|
payload encoded in JSON-RPC format. This is described in:
|
||||||
|
|
||||||
|
https://www.jsonrpc.org/specification
|
||||||
|
|
||||||
|
For messages received on a channel with mode set to "lsp", Vim will process
|
||||||
|
the HTTP header and decode the payload into a Vim |Dict| type and call the
|
||||||
|
channel callback or the specified callback function. When sending messages on
|
||||||
|
a channel using |ch_evalexpr()| or |ch_sendexpr()|, Vim will add the HTTP
|
||||||
|
header and encode the Vim expression into JSON-RPC.
|
||||||
|
|
||||||
|
To open a channel using the 'lsp' mode, set the 'mode' item in the |ch_open()|
|
||||||
|
{options} argument to 'lsp'. Example: >
|
||||||
|
|
||||||
|
let ch = ch_open(..., #{mode: 'lsp'})
|
||||||
|
|
||||||
|
To open a channel using the 'lsp' mode with a job, set the 'in_mode' and
|
||||||
|
'out_mode' items in the |job_start()| {options} argument to 'lsp'. Example: >
|
||||||
|
|
||||||
|
let job = job_start(...., #{in_mode: 'lsp', out_mode: 'lsp'})
|
||||||
|
|
||||||
|
To synchronously send a JSON-RPC request to the server, use the |ch_evalexpr()|
|
||||||
|
function. This function will return the response from the server. You can use
|
||||||
|
the 'timeout' field in the {options} argument to control the response wait
|
||||||
|
time. Example: >
|
||||||
|
|
||||||
|
let req = {}
|
||||||
|
let req.method = 'textDocument/definition'
|
||||||
|
let req.params = {}
|
||||||
|
let req.params.textDocument = #{uri: 'a.c'}
|
||||||
|
let req.params.position = #{line: 10, character: 3}
|
||||||
|
let resp = ch_evalexpr(ch, req, #{timeout: 100})
|
||||||
|
|
||||||
|
Note that in the request message the 'id' field should not be specified. If it
|
||||||
|
is specified, then Vim will overwrite the value with an internally generated
|
||||||
|
identifier. Vim currently supports only a number type for the 'id' field.
|
||||||
|
|
||||||
|
To send a JSON-RPC request to the server and asynchronously process the
|
||||||
|
response, use the |ch_sendexpr()| function and supply a callback function.
|
||||||
|
Example: >
|
||||||
|
|
||||||
|
let req = {}
|
||||||
|
let req.method = 'textDocument/hover'
|
||||||
|
let req.params = {}
|
||||||
|
let req.params.textDocument = #{uri: 'a.c'}
|
||||||
|
let req.params.position = #{line: 10, character: 3}
|
||||||
|
let resp = ch_sendexpr(ch, req, #{callback: 'MyFn'})
|
||||||
|
|
||||||
|
To send a JSON-RPC notification message to the server, use the |ch_sendexpr()|
|
||||||
|
function. Example: >
|
||||||
|
|
||||||
|
call ch_sendexpr(ch, #{method: 'initialized'})
|
||||||
|
|
||||||
|
To respond to a JSON-RPC request message from the server, use the
|
||||||
|
|ch_sendexpr()| function. In the response message, copy the 'id' field value
|
||||||
|
from the server request message. Example: >
|
||||||
|
|
||||||
|
let resp = {}
|
||||||
|
let resp.id = req.id
|
||||||
|
let resp.result = 1
|
||||||
|
call ch_sendexpr(ch, resp)
|
||||||
|
|
||||||
|
The JSON-RPC notification messages from the server are delivered through the
|
||||||
|
|channel-callback| function.
|
||||||
|
|
||||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*cmdline.txt* For Vim version 8.2. Last change: 2021 Aug 06
|
*cmdline.txt* For Vim version 8.2. Last change: 2022 Feb 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -227,7 +227,7 @@ CTRL-\ e {expr} *c_CTRL-\_e*
|
|||||||
Example: >
|
Example: >
|
||||||
:cmap <F7> <C-\>eAppendSome()<CR>
|
:cmap <F7> <C-\>eAppendSome()<CR>
|
||||||
:func AppendSome()
|
:func AppendSome()
|
||||||
:let cmd = getcmdline() . " Some()"
|
:let cmd = getcmdline() .. " Some()"
|
||||||
:" place the cursor on the )
|
:" place the cursor on the )
|
||||||
:call setcmdpos(strlen(cmd))
|
:call setcmdpos(strlen(cmd))
|
||||||
:return cmd
|
:return cmd
|
||||||
@@ -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.
|
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
|
When separated with ';' the cursor position will be set to that line
|
||||||
before interpreting the next line specifier. This doesn't happen for ','.
|
before interpreting the next line specifier. This doesn't happen for ','.
|
||||||
@@ -721,7 +730,7 @@ If more line specifiers are given than required for the command, the first
|
|||||||
one(s) will be ignored.
|
one(s) will be ignored.
|
||||||
|
|
||||||
Line numbers may be specified with: *:range* *{address}*
|
Line numbers may be specified with: *:range* *{address}*
|
||||||
{number} an absolute line number
|
{number} an absolute line number *E1247*
|
||||||
. the current line *:.*
|
. the current line *:.*
|
||||||
$ the last line in the file *:$*
|
$ the last line in the file *:$*
|
||||||
% equal to 1,$ (the entire file) *:%*
|
% equal to 1,$ (the entire file) *:%*
|
||||||
@@ -739,7 +748,8 @@ Line numbers may be specified with: *:range* *{address}*
|
|||||||
|
|
||||||
Each may be followed (several times) by '+' or '-' and an optional number.
|
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
|
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
|
The "/" and "?" after {pattern} are required to separate the pattern from
|
||||||
anything that follows.
|
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
|
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
|
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
|
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: >
|
Examples: >
|
||||||
:s/x/X/g 5 substitute 'x' by 'X' in the current line and four
|
:s/x/X/g 5 substitute 'x' by 'X' in the current line and four
|
||||||
@@ -919,15 +929,19 @@ Note: these are typed literally, they are not special keys!
|
|||||||
*:<amatch>* *<amatch>*
|
*:<amatch>* *<amatch>*
|
||||||
<amatch> When executing autocommands, is replaced with the match for
|
<amatch> When executing autocommands, is replaced with the match for
|
||||||
which this autocommand was executed. *E497*
|
which this autocommand was executed. *E497*
|
||||||
It differs from <afile> only when the file name isn't used
|
It differs from <afile> when the file name isn't used to
|
||||||
to match with (for FileType, Syntax and SpellFileMissing
|
match with (for FileType, Syntax and SpellFileMissing
|
||||||
events).
|
events).
|
||||||
|
When the match is with a file name, it is expanded to the
|
||||||
|
full path.
|
||||||
*:<sfile>* *<sfile>*
|
*:<sfile>* *<sfile>*
|
||||||
<sfile> When executing a ":source" command, is replaced with the
|
<sfile> When executing a ":source" command, is replaced with the
|
||||||
file name of the sourced file. *E498*
|
file name of the sourced file. *E498*
|
||||||
When executing a function, is replaced with the call stack,
|
When executing a legacy function, is replaced with the call
|
||||||
as with <stack> (this is for backwards compatibility, using
|
stack, as with <stack> (this is for backwards
|
||||||
<stack> is preferred).
|
compatibility, using <stack> or <script> is preferred).
|
||||||
|
In Vim9 script using <sfile> in a function gives error
|
||||||
|
*E1245* .
|
||||||
Note that filename-modifiers are useless when <sfile> is
|
Note that filename-modifiers are useless when <sfile> is
|
||||||
not used inside a script.
|
not used inside a script.
|
||||||
*:<stack>* *<stack>*
|
*:<stack>* *<stack>*
|
||||||
@@ -936,6 +950,13 @@ Note: these are typed literally, they are not special keys!
|
|||||||
and "script {file-name}[{lnum}]" for a script line, and
|
and "script {file-name}[{lnum}]" for a script line, and
|
||||||
".." in between items. E.g.:
|
".." in between items. E.g.:
|
||||||
"function {function-name1}[{lnum}]..{function-name2}[{lnum}]"
|
"function {function-name1}[{lnum}]..{function-name2}[{lnum}]"
|
||||||
|
If there is no call stack you get error *E489* .
|
||||||
|
*:<script>* *<script>*
|
||||||
|
<script> When executing a `:source` command, is replaced with the file
|
||||||
|
name of the sourced file. When executing a function, is
|
||||||
|
replaced with the file name of the script where it is
|
||||||
|
defined.
|
||||||
|
If the file name cannot be determined you get error *E1274* .
|
||||||
*:<slnum>* *<slnum>*
|
*:<slnum>* *<slnum>*
|
||||||
<slnum> When executing a ":source" command, is replaced with the
|
<slnum> When executing a ":source" command, is replaced with the
|
||||||
line number. *E842*
|
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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -335,8 +335,9 @@ After setting this variable, reload the syntax script: >
|
|||||||
|
|
||||||
FINDING THE DIFFERENCES *diff-diffexpr*
|
FINDING THE DIFFERENCES *diff-diffexpr*
|
||||||
|
|
||||||
The 'diffexpr' option can be set to use something else than the standard
|
The 'diffexpr' option can be set to use something else than the internal diff
|
||||||
"diff" program to compare two files and find the differences. *E959*
|
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
|
When 'diffexpr' is empty, Vim uses this command to find the differences
|
||||||
between file1 and file2: >
|
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_in original file
|
||||||
v:fname_new new version of the same 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
|
Additionally, 'diffexpr' should take care of "icase" and "iwhite" in the
|
||||||
'diffopt' option. 'diffexpr' cannot change the value of 'lines' and
|
'diffopt' option. 'diffexpr' cannot change the value of 'lines' and
|
||||||
@@ -381,13 +382,13 @@ Example (this does almost the same as 'diffexpr' being empty): >
|
|||||||
function MyDiff()
|
function MyDiff()
|
||||||
let opt = ""
|
let opt = ""
|
||||||
if &diffopt =~ "icase"
|
if &diffopt =~ "icase"
|
||||||
let opt = opt . "-i "
|
let opt = opt .. "-i "
|
||||||
endif
|
endif
|
||||||
if &diffopt =~ "iwhite"
|
if &diffopt =~ "iwhite"
|
||||||
let opt = opt . "-b "
|
let opt = opt .. "-b "
|
||||||
endif
|
endif
|
||||||
silent execute "!diff -a --binary " . opt . v:fname_in . " " . v:fname_new .
|
silent execute "!diff -a --binary " .. opt .. v:fname_in .. " " .. v:fname_new ..
|
||||||
\ " > " . v:fname_out
|
\ " > " .. v:fname_out
|
||||||
redraw!
|
redraw!
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
@@ -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
|
The `redraw!` command may not be needed, depending on whether executing a
|
||||||
shell command shows something on the display or not.
|
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*
|
*E810* *E97*
|
||||||
Vim will do a test if the diff output looks alright. If it doesn't, you will
|
Vim will do a test if the diff output looks alright. If it doesn't, you will
|
||||||
get an error message. Possible causes:
|
get an error message. Possible causes:
|
||||||
@@ -437,8 +445,8 @@ Example (this does the same as 'patchexpr' being empty): >
|
|||||||
|
|
||||||
set patchexpr=MyPatch()
|
set patchexpr=MyPatch()
|
||||||
function MyPatch()
|
function MyPatch()
|
||||||
:call system("patch -o " . v:fname_out . " " . v:fname_in .
|
:call system("patch -o " .. v:fname_out .. " " .. v:fname_in ..
|
||||||
\ " < " . v:fname_diff)
|
\ " < " .. v:fname_diff)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
Make sure that using the "patch" program doesn't have unwanted side effects.
|
Make sure that using the "patch" program doesn't have unwanted side effects.
|
||||||
@@ -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
|
directory are accidentally patched. Vim will also delete files starting with
|
||||||
v:fname_in and ending in ".rej" and ".orig".
|
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:
|
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*editing.txt* For Vim version 8.2. Last change: 2021 Oct 16
|
*editing.txt* For Vim version 8.2. Last change: 2022 Apr 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -222,7 +222,7 @@ If you want to keep the changed buffer without saving it, switch on the
|
|||||||
Edit {file} always. Discard any changes to the
|
Edit {file} always. Discard any changes to the
|
||||||
current buffer.
|
current buffer.
|
||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
|
*:edit_#* *:e#*
|
||||||
:e[dit] [++opt] [+cmd] #[count]
|
:e[dit] [++opt] [+cmd] #[count]
|
||||||
Edit the [count]th buffer (as shown by |:files|).
|
Edit the [count]th buffer (as shown by |:files|).
|
||||||
This command does the same as [count] CTRL-^. But ":e
|
This command does the same as [count] CTRL-^. But ":e
|
||||||
@@ -389,7 +389,7 @@ as a wildcard when "[" is in the 'isfname' option. A simple way to avoid this
|
|||||||
is to use "path\[[]abc]", this matches the file "path\[abc]".
|
is to use "path\[[]abc]", this matches the file "path\[abc]".
|
||||||
|
|
||||||
*starstar-wildcard*
|
*starstar-wildcard*
|
||||||
Expanding "**" is possible on Unix, Win32, Mac OS/X and a few other systems.
|
Expanding "**" is possible on Unix, Win32, macOS and a few other systems.
|
||||||
This allows searching a directory tree. This goes up to 100 directories deep.
|
This allows searching a directory tree. This goes up to 100 directories deep.
|
||||||
Note there are some commands where this works slightly differently, see
|
Note there are some commands where this works slightly differently, see
|
||||||
|file-searching|.
|
|file-searching|.
|
||||||
@@ -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
|
backticks must be around the whole item. It is not possible to have text
|
||||||
directly before the first or just after the last backtick.
|
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
|
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,
|
external command, by putting an equal sign right after the first backtick,
|
||||||
e.g.: >
|
e.g.: >
|
||||||
@@ -444,9 +444,9 @@ does apply like to other wildcards.
|
|||||||
|
|
||||||
Environment variables in the expression are expanded when evaluating the
|
Environment variables in the expression are expanded when evaluating the
|
||||||
expression, thus this works: >
|
expression, thus this works: >
|
||||||
:e `=$HOME . '/.vimrc'`
|
:e `=$HOME .. '/.vimrc'`
|
||||||
This does not work, $HOME is inside a string and used literally: >
|
This does not work, $HOME is inside a string and used literally: >
|
||||||
:e `='$HOME' . '/.vimrc'`
|
:e `='$HOME' .. '/.vimrc'`
|
||||||
|
|
||||||
If the expression returns a string then names are to be separated with line
|
If the expression returns a string then names are to be separated with line
|
||||||
breaks. When the result is a |List| then each item is used as a name. Line
|
breaks. When the result is a |List| then each item is used as a name. Line
|
||||||
@@ -633,7 +633,7 @@ list of the current window.
|
|||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
|
|
||||||
:[count]arga[dd] {name} .. *:arga* *:argadd* *E479*
|
:[count]arga[dd] {name} .. *:arga* *:argadd* *E479*
|
||||||
:[count]arga[dd]
|
:[count]arga[dd] *E1156*
|
||||||
Add the {name}s to the argument list. When {name} is
|
Add the {name}s to the argument list. When {name} is
|
||||||
omitted add the current buffer name to the argument
|
omitted add the current buffer name to the argument
|
||||||
list.
|
list.
|
||||||
@@ -650,12 +650,19 @@ list of the current window.
|
|||||||
And after the last one:
|
And after the last one:
|
||||||
:+2argadd y a b c x y
|
:+2argadd y a b c x y
|
||||||
There is no check for duplicates, it is possible to
|
There is no check for duplicates, it is possible to
|
||||||
add a file to the argument list twice.
|
add a file to the argument list twice. You can use
|
||||||
The currently edited file is not changed.
|
|:argdedupe| to fix it afterwards: >
|
||||||
|
:argadd *.txt | argdedupe
|
||||||
|
< The currently edited file is not changed.
|
||||||
Note: you can also use this method: >
|
Note: you can also use this method: >
|
||||||
:args ## x
|
:args ## x
|
||||||
< This will add the "x" item and sort the new list.
|
< 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*
|
:argd[elete] {pattern} .. *:argd* *:argdelete* *E480* *E610*
|
||||||
Delete files from the argument list that match the
|
Delete files from the argument list that match the
|
||||||
{pattern}s. {pattern} is used like a file pattern,
|
{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*
|
*:w* *:write*
|
||||||
*E502* *E503* *E504* *E505*
|
*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
|
:w[rite] [++opt] Write the whole buffer to the current file. This is
|
||||||
the normal way to save changes to a file. It fails
|
the normal way to save changes to a file. It fails
|
||||||
when the 'readonly' option is set or when there is
|
when the 'readonly' option is set or when there is
|
||||||
@@ -1140,6 +1147,9 @@ The names can be in upper- or lowercase.
|
|||||||
made.
|
made.
|
||||||
When 'hidden' is set and there are more windows, the
|
When 'hidden' is set and there are more windows, the
|
||||||
current buffer becomes hidden, after writing the file.
|
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*
|
*:exi* *:exit*
|
||||||
:[range]exi[t][!] [++opt] [file]
|
:[range]exi[t][!] [++opt] [file]
|
||||||
@@ -1214,7 +1224,7 @@ Examples: >
|
|||||||
|
|
||||||
If you want to always use ":confirm", set the 'confirm' option.
|
If you want to always use ":confirm", set the 'confirm' option.
|
||||||
|
|
||||||
*:browse* *:bro* *E338* *E614* *E615* *E616*
|
*:browse* *:bro* *E338*
|
||||||
:bro[wse] {command} Open a file selection dialog for an argument to
|
:bro[wse] {command} Open a file selection dialog for an argument to
|
||||||
{command}. At present this works for |:e|, |:w|,
|
{command}. At present this works for |:e|, |:w|,
|
||||||
|:wall|, |:wq|, |:wqall|, |:x|, |:xall|, |:exit|,
|
|:wall|, |:wq|, |:wqall|, |:x|, |:xall|, |:exit|,
|
||||||
@@ -1225,7 +1235,7 @@ If you want to always use ":confirm", set the 'confirm' option.
|
|||||||
|:diffsplit|, |:diffpatch|, |:open|, |:pedit|,
|
|:diffsplit|, |:diffpatch|, |:open|, |:pedit|,
|
||||||
|:redir|, |:source|, |:update|, |:visual|, |:vsplit|,
|
|:redir|, |:source|, |:update|, |:visual|, |:vsplit|,
|
||||||
and |:qall| if 'confirm' is set.
|
and |:qall| if 'confirm' is set.
|
||||||
{only in Win32, Athena, Motif, GTK and Mac GUI, in
|
{only in Win32, Motif, GTK and Mac GUI, in
|
||||||
console `browse edit` works if the FileExplorer
|
console `browse edit` works if the FileExplorer
|
||||||
autocommand group exists}
|
autocommand group exists}
|
||||||
When ":browse" is not possible you get an error
|
When ":browse" is not possible you get an error
|
||||||
@@ -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.
|
present in 'cpoptions' and "!" is not used in the command.
|
||||||
|
|
||||||
*:cd* *E747* *E472*
|
*:cd* *E747* *E472*
|
||||||
:cd[!] On non-Unix systems: Print the current directory
|
:cd[!] On non-Unix systems when 'cdhome' is off: Print the
|
||||||
name. On Unix systems: Change the current directory
|
current directory name.
|
||||||
to the home directory. Use |:pwd| to print the
|
Otherwise: Change the current directory to the home
|
||||||
current directory on all systems.
|
directory. Clear any window-local directory.
|
||||||
On Unix systems: clear any window-local directory.
|
Use |:pwd| to print the current directory on all
|
||||||
|
systems.
|
||||||
|
|
||||||
:cd[!] {path} Change the current directory to {path}.
|
:cd[!] {path} Change the current directory to {path}.
|
||||||
If {path} is relative, it is searched for in the
|
If {path} is relative, it is searched for in the
|
||||||
@@ -1377,7 +1388,8 @@ 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.
|
command has not been used stick to the global or tab-local current directory.
|
||||||
When jumping to another window the current directory is changed to 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
|
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
|
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.
|
becomes the current directory for the current tab page and the current window.
|
||||||
@@ -1638,6 +1650,11 @@ If you don't get warned often enough you can use the following command.
|
|||||||
if it exists now.
|
if it exists now.
|
||||||
Once a file has been checked the timestamp is reset,
|
Once a file has been checked the timestamp is reset,
|
||||||
you will not be warned again.
|
you will not be warned again.
|
||||||
|
Syntax highlighting, marks, diff status,
|
||||||
|
'fileencoding', 'fileformat' and 'binary' options
|
||||||
|
are not changed. See |v:fcs_choice| to reload these
|
||||||
|
too (for example, if a code formatting tools has
|
||||||
|
changed the file).
|
||||||
|
|
||||||
:[N]checkt[ime] {filename}
|
:[N]checkt[ime] {filename}
|
||||||
:[N]checkt[ime] [N]
|
:[N]checkt[ime] [N]
|
||||||
@@ -1678,7 +1695,7 @@ which version of the file you want to keep.
|
|||||||
|
|
||||||
The accuracy of the time check depends on the filesystem. On Unix it is
|
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
|
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
|
second. Use `has('nanotime')` to check if sub-second time stamp checks are
|
||||||
available.
|
available.
|
||||||
|
|
||||||
There is one situation where you get the message while there is nothing wrong:
|
There is one situation where you get the message while there is nothing wrong:
|
||||||
@@ -1759,11 +1776,9 @@ There are three different types of searching:
|
|||||||
/u/user_x/work/include
|
/u/user_x/work/include
|
||||||
/u/user_x/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
|
skip the non-existing directory, and also does not search in the parent of
|
||||||
the non-existing directory if upwards searching is used. E.g. when
|
the non-existing directory if upwards searching is used.
|
||||||
searching "../include" and that doesn't exist, and upward searching is
|
|
||||||
used, also searches in "..".
|
|
||||||
|
|
||||||
3) Combined up/downward search:
|
3) Combined up/downward search:
|
||||||
If Vim's current path is /u/user_x/work/release and you do >
|
If Vim's current path is /u/user_x/work/release and you do >
|
||||||
|
|||||||
10775
runtime/doc/eval.txt
10775
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 Apr 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -133,24 +133,36 @@ shell script: "#!/bin/csh".
|
|||||||
argument was used.
|
argument was used.
|
||||||
|
|
||||||
*filetype-overrule*
|
*filetype-overrule*
|
||||||
When the same extension is used for two filetypes, Vim tries to guess what
|
When the same extension is used for multiple filetypes, Vim tries to guess
|
||||||
kind of file it is. This doesn't always work. A number of global variables
|
what kind of file it is. This doesn't always work. A number of global
|
||||||
can be used to overrule the filetype used for certain extensions:
|
variables can be used to overrule the filetype used for certain extensions:
|
||||||
|
|
||||||
file name variable ~
|
file name variable ~
|
||||||
*.asa g:filetype_asa |ft-aspvbs-syntax| |ft-aspperl-syntax|
|
*.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|
|
*.asm g:asmsyntax |ft-asm-syntax|
|
||||||
*.prg g:filetype_prg
|
*.asp g:filetype_asp |ft-aspvbs-syntax| |ft-aspperl-syntax|
|
||||||
*.pl g:filetype_pl
|
*.bas g:filetype_bas |ft-basic-syntax|
|
||||||
*.inc g:filetype_inc
|
*.cfg g:filetype_cfg
|
||||||
*.w g:filetype_w |ft-cweb-syntax|
|
*.dat g:filetype_dat
|
||||||
|
*.frm g:filetype_frm |ft-form-syntax|
|
||||||
|
*.fs g:filetype_fs |ft-forth-syntax|
|
||||||
*.i g:filetype_i |ft-progress-syntax|
|
*.i g:filetype_i |ft-progress-syntax|
|
||||||
|
*.inc g:filetype_inc
|
||||||
*.m g:filetype_m |ft-mathematica-syntax|
|
*.m g:filetype_m |ft-mathematica-syntax|
|
||||||
|
*.mod g:filetype_mod
|
||||||
*.p g:filetype_p |ft-pascal-syntax|
|
*.p g:filetype_p |ft-pascal-syntax|
|
||||||
|
*.pl g:filetype_pl
|
||||||
*.pp g:filetype_pp |ft-pascal-syntax|
|
*.pp g:filetype_pp |ft-pascal-syntax|
|
||||||
|
*.prg g:filetype_prg
|
||||||
|
*.src g:filetype_src
|
||||||
|
*.sys g:filetype_sys
|
||||||
*.sh g:bash_is_sh |ft-sh-syntax|
|
*.sh g:bash_is_sh |ft-sh-syntax|
|
||||||
*.tex g:tex_flavor |ft-tex-plugin|
|
*.tex g:tex_flavor |ft-tex-plugin|
|
||||||
|
*.w g:filetype_w |ft-cweb-syntax|
|
||||||
|
|
||||||
|
For a few filetypes the global variable is used only when the filetype could
|
||||||
|
not be detected:
|
||||||
|
*.r g:filetype_r |ft-rexx-syntax|
|
||||||
|
|
||||||
*filetype-ignore*
|
*filetype-ignore*
|
||||||
To avoid that certain files are being inspected, the g:ft_ignore_pat variable
|
To avoid that certain files are being inspected, the g:ft_ignore_pat variable
|
||||||
@@ -357,12 +369,12 @@ define yourself. There are a few ways to avoid this:
|
|||||||
You need to define your own mapping before the plugin is loaded (before
|
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
|
editing a file of that type). The plugin will then skip installing the
|
||||||
default mapping.
|
default mapping.
|
||||||
*no_mail_maps*
|
*no_mail_maps* *g:no_mail_maps*
|
||||||
3. Disable defining mappings for a specific filetype by setting a variable,
|
3. Disable defining mappings for a specific filetype by setting a variable,
|
||||||
which contains the name of the filetype. For the "mail" filetype this
|
which contains the name of the filetype. For the "mail" filetype this
|
||||||
would be: >
|
would be: >
|
||||||
:let no_mail_maps = 1
|
: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: >
|
4. Disable defining mappings for all filetypes by setting a variable: >
|
||||||
:let no_plugin_maps = 1
|
: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
|
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
|
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.
|
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
|
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 "*/"
|
containing "/*" would return "a1" to start a fold, and a line containing "*/"
|
||||||
would return "s1" to end the fold after that line: >
|
would return "s1" to end the fold after that line: >
|
||||||
@@ -502,11 +507,14 @@ Note the use of backslashes to avoid some characters to be interpreted by the
|
|||||||
:function MyFoldText()
|
:function MyFoldText()
|
||||||
: let line = getline(v:foldstart)
|
: let line = getline(v:foldstart)
|
||||||
: let sub = substitute(line, '/\*\|\*/\|{{{\d\=', '', 'g')
|
: let sub = substitute(line, '/\*\|\*/\|{{{\d\=', '', 'g')
|
||||||
: return v:folddashes . sub
|
: return v:folddashes .. sub
|
||||||
:endfunction
|
:endfunction
|
||||||
|
|
||||||
Evaluating 'foldtext' is done in the |sandbox|. The current window is set to
|
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
|
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'
|
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
|
When there is room after the text, it is filled with the character specified
|
||||||
by 'fillchars'.
|
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
|
Note that backslashes need to be used for characters that the ":set" command
|
||||||
handles differently: Space, backslash and double-quote. |option-backslash|
|
handles differently: Space, backslash and double-quote. |option-backslash|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*ft_ada.txt* For Vim version 8.2. Last change: 2010 Jul 20
|
*ft_ada.txt* For Vim version 8.2. Last change: 2022 Mar 13
|
||||||
|
|
||||||
|
|
||||||
ADA FILE TYPE PLUG-INS REFERENCE MANUAL~
|
ADA FILE TYPE PLUG-INS REFERENCE MANUAL~
|
||||||
@@ -89,9 +89,9 @@ file is opened and adds Ada related entries to the main and pop-up menu.
|
|||||||
*ft-ada-omni*
|
*ft-ada-omni*
|
||||||
|
|
||||||
The Ada omni-completions (|i_CTRL-X_CTRL-O|) uses tags database created either
|
The Ada omni-completions (|i_CTRL-X_CTRL-O|) uses tags database created either
|
||||||
by "gnat xref -v" or the "exuberant Ctags (http://ctags.sourceforge.net). The
|
by "gnat xref -v" or the "Universal Ctags" (https://ctags.io). The complete
|
||||||
complete function will automatically detect which tool was used to create the
|
function will automatically detect which tool was used to create the tags
|
||||||
tags file.
|
file.
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
3.1 Omni Completion with "gnat xref" ~
|
3.1 Omni Completion with "gnat xref" ~
|
||||||
@@ -125,18 +125,18 @@ NOTE: "gnat xref -v" is very tricky to use as it has almost no diagnostic
|
|||||||
3.2 Omni Completion with "ctags"~
|
3.2 Omni Completion with "ctags"~
|
||||||
*ada-ctags*
|
*ada-ctags*
|
||||||
|
|
||||||
Exuberant Ctags uses its own multi-language code parser. The parser is quite
|
Universal/Exuberant Ctags use their own multi-language code parser. The
|
||||||
fast, produces a lot of extra information (hence the name "Exuberant Ctags")
|
parser is quite fast, produces a lot of extra information and can run on files
|
||||||
and can run on files which currently do not compile.
|
which currently do not compile.
|
||||||
|
|
||||||
There are also lots of other Vim-tools which use exuberant Ctags.
|
There are also lots of other Vim-tools which use Universal/Exuberant Ctags.
|
||||||
|
Universal Ctags is preferred, Exuberant Ctags is no longer being developed.
|
||||||
|
|
||||||
You will need to install a version of the Exuberant Ctags which has Ada
|
You will need to install Universal Ctags which is available from
|
||||||
support patched in. Such a version is available from the GNU Ada Project
|
https://ctags.io
|
||||||
(http://gnuada.sourceforge.net).
|
|
||||||
|
|
||||||
The Ada parser for Exuberant Ctags is fairly new - don't expect complete
|
The Ada parser for Universal/Exuberant Ctags is fairly new - don't expect
|
||||||
support yet.
|
complete support yet.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
4. Compiler Support ~
|
4. Compiler Support ~
|
||||||
|
|||||||
@@ -47,20 +47,20 @@ Numbers, subscripts and superscripts are available with 's' and 'S':
|
|||||||
|
|
||||||
But some don't come defined by default. Those are digraph definitions you can
|
But some don't come defined by default. Those are digraph definitions you can
|
||||||
add in your ~/.vimrc file. >
|
add in your ~/.vimrc file. >
|
||||||
exec 'digraph \\ '.char2nr('∖')
|
exec 'digraph \\ ' .. char2nr('∖')
|
||||||
exec 'digraph \< '.char2nr('≼')
|
exec 'digraph \< ' .. char2nr('≼')
|
||||||
exec 'digraph \> '.char2nr('≽')
|
exec 'digraph \> ' .. char2nr('≽')
|
||||||
exec 'digraph (L '.char2nr('⊈')
|
exec 'digraph (L ' .. char2nr('⊈')
|
||||||
exec 'digraph )L '.char2nr('⊉')
|
exec 'digraph )L ' .. char2nr('⊉')
|
||||||
exec 'digraph (/ '.char2nr('⊄')
|
exec 'digraph (/ ' .. char2nr('⊄')
|
||||||
exec 'digraph )/ '.char2nr('⊅')
|
exec 'digraph )/ ' .. char2nr('⊅')
|
||||||
exec 'digraph )/ '.char2nr('⊅')
|
exec 'digraph )/ ' .. char2nr('⊅')
|
||||||
exec 'digraph U+ '.char2nr('⊎')
|
exec 'digraph U+ ' .. char2nr('⊎')
|
||||||
exec 'digraph 0- '.char2nr('⊖')
|
exec 'digraph 0- ' .. char2nr('⊖')
|
||||||
" Euler's constant
|
" Euler's constant
|
||||||
exec 'digraph ne '.char2nr('𝑒')
|
exec 'digraph ne ' .. char2nr('𝑒')
|
||||||
" Raku's atomic operations marker
|
" Raku's atomic operations marker
|
||||||
exec 'digraph @@ '.char2nr('⚛')
|
exec 'digraph @@ ' .. char2nr('⚛')
|
||||||
|
|
||||||
Alternatively, you can write Insert mode abbreviations that convert ASCII-
|
Alternatively, you can write Insert mode abbreviations that convert ASCII-
|
||||||
based operators into their single-character Unicode equivalent. >
|
based operators into their single-character Unicode equivalent. >
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ behavior of the plugin.
|
|||||||
g:rustc_path~
|
g:rustc_path~
|
||||||
Set this option to the path to rustc for use in the |:RustRun| and
|
Set this option to the path to rustc for use in the |:RustRun| and
|
||||||
|:RustExpand| commands. If unset, "rustc" will be located in $PATH: >
|
|:RustExpand| commands. If unset, "rustc" will be located in $PATH: >
|
||||||
let g:rustc_path = $HOME."/bin/rustc"
|
let g:rustc_path = $HOME .. "/bin/rustc"
|
||||||
<
|
<
|
||||||
|
|
||||||
*g:rustc_makeprg_no_percent*
|
*g:rustc_makeprg_no_percent*
|
||||||
@@ -87,7 +87,7 @@ g:rust_bang_comment_leader~
|
|||||||
g:ftplugin_rust_source_path~
|
g:ftplugin_rust_source_path~
|
||||||
Set this option to a path that should be prepended to 'path' for Rust
|
Set this option to a path that should be prepended to 'path' for Rust
|
||||||
source files: >
|
source files: >
|
||||||
let g:ftplugin_rust_source_path = $HOME.'/dev/rust'
|
let g:ftplugin_rust_source_path = $HOME .. '/dev/rust'
|
||||||
<
|
<
|
||||||
|
|
||||||
*g:rustfmt_command*
|
*g:rustfmt_command*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*ft_sql.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
*ft_sql.txt* For Vim version 8.2. Last change: 2022 Apr 06
|
||||||
|
|
||||||
by David Fishburn
|
by David Fishburn
|
||||||
|
|
||||||
@@ -109,8 +109,8 @@ must be configurable. The filetype plugin attempts to define many of the
|
|||||||
standard objects, plus many additional ones. In order to make this as
|
standard objects, plus many additional ones. In order to make this as
|
||||||
flexible as possible, you can override the list of objects from within your
|
flexible as possible, you can override the list of objects from within your
|
||||||
|vimrc| with the following: >
|
|vimrc| with the following: >
|
||||||
let g:ftplugin_sql_objects = 'function,procedure,event,table,trigger' .
|
let g:ftplugin_sql_objects = 'function,procedure,event,table,trigger' ..
|
||||||
\ ',schema,service,publication,database,datatype,domain' .
|
\ ',schema,service,publication,database,datatype,domain' ..
|
||||||
\ ',index,subscription,synchronization,view,variable'
|
\ ',index,subscription,synchronization,view,variable'
|
||||||
|
|
||||||
The following |Normal| mode and |Visual| mode maps have been created which use
|
The following |Normal| mode and |Visual| mode maps have been created which use
|
||||||
@@ -131,10 +131,10 @@ Repeatedly pressing ]} will cycle through each of these create statements: >
|
|||||||
create index i1 on t1 (c1);
|
create index i1 on t1 (c1);
|
||||||
|
|
||||||
The default setting for g:ftplugin_sql_objects is: >
|
The default setting for g:ftplugin_sql_objects is: >
|
||||||
let g:ftplugin_sql_objects = 'function,procedure,event,' .
|
let g:ftplugin_sql_objects = 'function,procedure,event,' ..
|
||||||
\ '\\(existing\\\\|global\\s\\+temporary\\s\\+\\)\\\{,1}' .
|
\ '\\(existing\\\\|global\\s\\+temporary\\s\\+\\)\\\{,1}' ..
|
||||||
\ 'table,trigger' .
|
\ 'table,trigger' ..
|
||||||
\ ',schema,service,publication,database,datatype,domain' .
|
\ ',schema,service,publication,database,datatype,domain' ..
|
||||||
\ ',index,subscription,synchronization,view,variable'
|
\ ',index,subscription,synchronization,view,variable'
|
||||||
|
|
||||||
The above will also handle these cases: >
|
The above will also handle these cases: >
|
||||||
@@ -559,7 +559,7 @@ the SQL completion plugin. >
|
|||||||
< 1. After typing SELECT press <C-C>t to display a list of tables.
|
< 1. After typing SELECT press <C-C>t to display a list of tables.
|
||||||
2. Highlight the table you need the column list for.
|
2. Highlight the table you need the column list for.
|
||||||
3. Press <Enter> to choose the table from the list.
|
3. Press <Enter> to choose the table from the list.
|
||||||
4. Press <C-C>l to request a comma separated list of all columns
|
4. Press <C-C>l to request a comma-separated list of all columns
|
||||||
for this table.
|
for this table.
|
||||||
5. Based on the table name chosen in step 3, the plugin attempts to
|
5. Based on the table name chosen in step 3, the plugin attempts to
|
||||||
decide on a reasonable table alias. You are then prompted to
|
decide on a reasonable table alias. You are then prompted to
|
||||||
@@ -613,7 +613,7 @@ your |vimrc|: >
|
|||||||
>
|
>
|
||||||
omni_sql_use_tbl_alias
|
omni_sql_use_tbl_alias
|
||||||
< - Default: a
|
< - Default: a
|
||||||
- This setting is only used when generating a comma separated
|
- This setting is only used when generating a comma-separated
|
||||||
column list. By default the map is <C-C>l. When generating
|
column list. By default the map is <C-C>l. When generating
|
||||||
a column list, an alias can be prepended to the beginning of each
|
a column list, an alias can be prepended to the beginning of each
|
||||||
column, for example: e.emp_id, e.emp_name. This option has three
|
column, for example: e.emp_id, e.emp_name. This option has three
|
||||||
@@ -697,9 +697,9 @@ plugin. >
|
|||||||
<C-C>c
|
<C-C>c
|
||||||
< - Displays a list of columns for a specific table. >
|
< - Displays a list of columns for a specific table. >
|
||||||
<C-C>l
|
<C-C>l
|
||||||
< - Displays a comma separated list of columns for a specific table. >
|
< - Displays a comma-separated list of columns for a specific table. >
|
||||||
<C-C>L
|
<C-C>L
|
||||||
< - Displays a comma separated list of columns for a specific table.
|
< - Displays a comma-separated list of columns for a specific table.
|
||||||
This should only be used when the completion window is active. >
|
This should only be used when the completion window is active. >
|
||||||
<Right>
|
<Right>
|
||||||
< - Displays a list of columns for the table currently highlighted in
|
< - Displays a list of columns for the table currently highlighted in
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*gui.txt* For Vim version 8.2. Last change: 2021 Jun 27
|
*gui.txt* For Vim version 8.2. Last change: 2022 Apr 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -25,7 +25,7 @@ Other GUI documentation:
|
|||||||
|
|
||||||
First you must make sure you actually have a version of Vim with the GUI code
|
First you must make sure you actually have a version of Vim with the GUI code
|
||||||
included. You can check this with the ":version" command, it says "with xxx
|
included. You can check this with the ":version" command, it says "with xxx
|
||||||
GUI", where "xxx" is X11-Motif, X11-Athena, Photon, GTK2, GTK3, etc., or
|
GUI", where "xxx" is X11-Motif, Photon, GTK2, GTK3, etc., or
|
||||||
"MS-Windows 32 bit GUI version".
|
"MS-Windows 32 bit GUI version".
|
||||||
|
|
||||||
How to start the GUI depends on the system used. Mostly you can run the
|
How to start the GUI depends on the system used. Mostly you can run the
|
||||||
@@ -108,7 +108,7 @@ There are a number of options which only have meaning in the GUI version of
|
|||||||
Vim. These are 'guicursor', 'guifont', 'guipty' and 'guioptions'. They are
|
Vim. These are 'guicursor', 'guifont', 'guipty' and 'guioptions'. They are
|
||||||
documented in |options.txt| with all the other options.
|
documented in |options.txt| with all the other options.
|
||||||
|
|
||||||
If using the Motif or Athena version of the GUI (but not for the GTK+ or
|
If using the Motif version of the GUI (but not for the GTK+ or
|
||||||
Win32 version), a number of X resources are available. See |gui-resources|.
|
Win32 version), a number of X resources are available. See |gui-resources|.
|
||||||
|
|
||||||
Another way to set the colors for different occasions is with highlight
|
Another way to set the colors for different occasions is with highlight
|
||||||
@@ -147,7 +147,8 @@ task bar with the 'guiheadroom' option.
|
|||||||
*:win* *:winsize* *E465*
|
*:win* *:winsize* *E465*
|
||||||
:win[size] {width} {height}
|
:win[size] {width} {height}
|
||||||
Set the window height to {width} by {height} characters.
|
Set the window height to {width} by {height} characters.
|
||||||
Obsolete, use ":set lines=11 columns=22".
|
It is recommended to use `:set lines=11 columns=22` instead,
|
||||||
|
since it's easy to see what the numbers mean.
|
||||||
If you get less lines than expected, check the 'guiheadroom'
|
If you get less lines than expected, check the 'guiheadroom'
|
||||||
option.
|
option.
|
||||||
|
|
||||||
@@ -155,8 +156,8 @@ If you are running the X Window System, you can get information about the
|
|||||||
window Vim is running in with these commands: >
|
window Vim is running in with these commands: >
|
||||||
:!xwininfo -id $WINDOWID
|
:!xwininfo -id $WINDOWID
|
||||||
:!xprop -id $WINDOWID
|
:!xprop -id $WINDOWID
|
||||||
:execute '!xwininfo -id ' . v:windowid
|
:execute '!xwininfo -id ' .. v:windowid
|
||||||
:execute '!xprop -id ' . v:windowid
|
:execute '!xprop -id ' .. v:windowid
|
||||||
<
|
<
|
||||||
*gui-IME* *iBus*
|
*gui-IME* *iBus*
|
||||||
Input methods for international characters in X that rely on the XIM
|
Input methods for international characters in X that rely on the XIM
|
||||||
@@ -235,7 +236,7 @@ takes too much time or you don't like the cursor jumping to another line,
|
|||||||
include the 'h' flag in 'guioptions'. Then the scrolling is limited by the
|
include the 'h' flag in 'guioptions'. Then the scrolling is limited by the
|
||||||
text of the current cursor line.
|
text of the current cursor line.
|
||||||
|
|
||||||
*athena-intellimouse*
|
*motif-intellimouse*
|
||||||
If you have an Intellimouse and an X server that supports using the wheel,
|
If you have an Intellimouse and an X server that supports using the wheel,
|
||||||
then you can use the wheel to scroll the text up and down in gvim. This works
|
then you can use the wheel to scroll the text up and down in gvim. This works
|
||||||
with XFree86 4.0 and later, and with some older versions when you add patches.
|
with XFree86 4.0 and later, and with some older versions when you add patches.
|
||||||
@@ -260,6 +261,7 @@ Other options that are relevant:
|
|||||||
'mousefocus' window focus follows mouse pointer |gui-mouse-focus|
|
'mousefocus' window focus follows mouse pointer |gui-mouse-focus|
|
||||||
'mousemodel' what mouse button does which action
|
'mousemodel' what mouse button does which action
|
||||||
'mousehide' hide mouse pointer while typing text
|
'mousehide' hide mouse pointer while typing text
|
||||||
|
'mousemoveevent' enable mouse move events so that <MouseMove> can be mapped
|
||||||
'selectmode' whether to start Select mode or Visual mode
|
'selectmode' whether to start Select mode or Visual mode
|
||||||
|
|
||||||
A quick way to set these is with the ":behave" command.
|
A quick way to set these is with the ":behave" command.
|
||||||
@@ -405,6 +407,9 @@ These mappings make selection work the way it probably should in a Motif
|
|||||||
application, with shift-left mouse allowing for extending the visual area
|
application, with shift-left mouse allowing for extending the visual area
|
||||||
rather than the right mouse button.
|
rather than the right mouse button.
|
||||||
|
|
||||||
|
<MouseMove> may be mapped, but 'mousemoveevent' must be enabled to use the
|
||||||
|
mapping.
|
||||||
|
|
||||||
Mouse mapping with modifiers does not work for modeless selection.
|
Mouse mapping with modifiers does not work for modeless selection.
|
||||||
|
|
||||||
|
|
||||||
@@ -741,7 +746,7 @@ because the item will never be selected. Use a single colon to keep it
|
|||||||
simple.
|
simple.
|
||||||
|
|
||||||
*gui-toolbar*
|
*gui-toolbar*
|
||||||
The toolbar is currently available in the Win32, Athena, Motif, GTK+ (X11),
|
The toolbar is currently available in the Win32, Motif, GTK+ (X11),
|
||||||
and Photon GUI. It should turn up in other GUIs in due course. The
|
and Photon GUI. It should turn up in other GUIs in due course. The
|
||||||
default toolbar is setup in menu.vim.
|
default toolbar is setup in menu.vim.
|
||||||
The display of the toolbar is controlled by the 'guioptions' letter 'T'. You
|
The display of the toolbar is controlled by the 'guioptions' letter 'T'. You
|
||||||
@@ -857,7 +862,7 @@ The window toolbar uses the ToolbarLine and ToolbarButton highlight groups.
|
|||||||
When splitting the window the window toolbar is not copied to the new window.
|
When splitting the window the window toolbar is not copied to the new window.
|
||||||
|
|
||||||
*popup-menu*
|
*popup-menu*
|
||||||
In the Win32, GTK+, Motif, Athena and Photon GUI, you can define the
|
In the Win32, GTK+, Motif and Photon GUI, you can define the
|
||||||
special menu "PopUp". This is the menu that is displayed when the right mouse
|
special menu "PopUp". This is the menu that is displayed when the right mouse
|
||||||
button is pressed, if 'mousemodel' is set to popup or popup_setpos.
|
button is pressed, if 'mousemodel' is set to popup or popup_setpos.
|
||||||
Example: >
|
Example: >
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*gui_w32.txt* For Vim version 8.2. Last change: 2021 Oct 24
|
*gui_w32.txt* For Vim version 8.2. Last change: 2022 Mar 09
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -236,7 +236,8 @@ The "* register reflects the contents of the clipboard. |quotestar|
|
|||||||
|
|
||||||
When the "unnamed" string is included in the 'clipboard' option, the unnamed
|
When the "unnamed" string is included in the 'clipboard' option, the unnamed
|
||||||
register is the same. Thus you can yank to and paste from the clipboard
|
register is the same. Thus you can yank to and paste from the clipboard
|
||||||
without prepending "* to commands.
|
without prepending "* to commands. If this doesn't work use the "unnamedplus"
|
||||||
|
string in the 'clipboard' option.
|
||||||
|
|
||||||
The 'a' flag in 'guioptions' is not included by default. This means that text
|
The 'a' flag in 'guioptions' is not included by default. This means that text
|
||||||
is only put on the clipboard when an operation is performed on it. Just
|
is only put on the clipboard when an operation is performed on it. Just
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
*gui_x11.txt* For Vim version 8.2. Last change: 2020 Jun 05
|
*gui_x11.txt* For Vim version 8.2. Last change: 2022 Apr 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
|
||||||
|
|
||||||
Vim's Graphical User Interface *gui-x11* *GUI-X11*
|
Vim's Graphical User Interface *gui-x11* *GUI-X11*
|
||||||
*Athena* *Motif*
|
*Motif*
|
||||||
1. Starting the X11 GUI |gui-x11-start|
|
1. Starting the X11 GUI |gui-x11-start|
|
||||||
2. GUI Resources |gui-resources|
|
2. GUI Resources |gui-resources|
|
||||||
3. Shell Commands |gui-pty|
|
3. Shell Commands |gui-pty|
|
||||||
@@ -64,7 +64,7 @@ flag in 'guioptions'. |-f|.
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
2. GUI Resources *gui-resources* *.Xdefaults*
|
2. GUI Resources *gui-resources* *.Xdefaults*
|
||||||
|
|
||||||
If using the Motif or Athena version of the GUI (not for the KDE, GTK+ or Win32
|
If using the Motif version of the GUI (not for the KDE, GTK+ or Win32
|
||||||
version), a number of X resources are available. You should use Vim's class
|
version), a number of X resources are available. You should use Vim's class
|
||||||
"Vim" when setting these. They are as follows:
|
"Vim" when setting these. They are as follows:
|
||||||
|
|
||||||
@@ -96,7 +96,6 @@ version), a number of X resources are available. You should use Vim's class
|
|||||||
is same size as terminal that started it).
|
is same size as terminal that started it).
|
||||||
scrollbarWidth Thickness of scrollbars.
|
scrollbarWidth Thickness of scrollbars.
|
||||||
borderWidth Thickness of border around text area.
|
borderWidth Thickness of border around text area.
|
||||||
menuHeight Height of the menu bar (only for Athena).
|
|
||||||
|
|
||||||
A special font for italic, bold, and italic-bold text will only be used if
|
A special font for italic, bold, and italic-bold text will only be used if
|
||||||
the user has specified one via a resource. No attempt is made to guess what
|
the user has specified one via a resource. No attempt is made to guess what
|
||||||
@@ -135,12 +134,9 @@ which make Motif applications look even better, highly recommended!
|
|||||||
|
|
||||||
The "Vim*fontList" is to set the menu font for Motif. Example: >
|
The "Vim*fontList" is to set the menu font for Motif. Example: >
|
||||||
Vim*menuBar*fontList: -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*
|
Vim*menuBar*fontList: -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*
|
||||||
With Athena: >
|
|
||||||
Vim*menuBar*SmeBSB*font: -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*
|
|
||||||
Vim*menuBar*MenuButton*font: -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*
|
|
||||||
|
|
||||||
NOTE: A more portable, and indeed more correct, way to specify the menu font
|
NOTE: A more portable, and indeed more correct, way to specify the menu font
|
||||||
in either Motif or Athena is through the resource: >
|
in Motif is through the resource: >
|
||||||
Vim.menuFont: -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*
|
Vim.menuFont: -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*
|
||||||
Or, when compiled with the |+xfontset| feature: >
|
Or, when compiled with the |+xfontset| feature: >
|
||||||
Vim.menuFontSet: -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*
|
Vim.menuFontSet: -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*
|
||||||
@@ -255,7 +251,7 @@ For example: >
|
|||||||
:10vmenu File.Print :w !lpr -Php3
|
:10vmenu File.Print :w !lpr -Php3
|
||||||
<
|
<
|
||||||
*X11-icon*
|
*X11-icon*
|
||||||
Vim uses a black&white icon by default when compiled with Motif or Athena. A
|
Vim uses a black&white icon by default when compiled with Motif. A
|
||||||
colored Vim icon is included as $VIMRUNTIME/vim32x32.xpm. For GTK+, this is
|
colored Vim icon is included as $VIMRUNTIME/vim32x32.xpm. For GTK+, this is
|
||||||
the builtin icon used. Unfortunately, how you should install it depends on
|
the builtin icon used. Unfortunately, how you should install it depends on
|
||||||
your window manager. When you use this, remove the 'i' flag from
|
your window manager. When you use this, remove the 'i' flag from
|
||||||
@@ -594,8 +590,7 @@ GTK+ files on your system. When both GTK+ 2 and GTK+ 3 are available, GTK+ 2
|
|||||||
will be chosen unless --enable-gui=gtk3 is passed explicitly to configure.
|
will be chosen unless --enable-gui=gtk3 is passed explicitly to configure.
|
||||||
|
|
||||||
If the GTK+ files cannot be found, then the Motif files will be searched for.
|
If the GTK+ files cannot be found, then the Motif files will be searched for.
|
||||||
Finally, if this fails, the Athena files will be searched for. If all three
|
If both fail, the GUI will be disabled.
|
||||||
fail, the GUI will be disabled.
|
|
||||||
|
|
||||||
For GTK+, Vim's configuration process uses pkg-config(1) to check if the
|
For GTK+, Vim's configuration process uses pkg-config(1) to check if the
|
||||||
GTK+ required for a specified build is properly installed and usable.
|
GTK+ required for a specified build is properly installed and usable.
|
||||||
@@ -621,10 +616,10 @@ explicitly to configure, and avoid passing --enable-gnome-check to that, as
|
|||||||
the functionality of the GNOME 2 support has already been consolidated in
|
the functionality of the GNOME 2 support has already been consolidated in
|
||||||
GTK+ 3.
|
GTK+ 3.
|
||||||
|
|
||||||
Otherwise, if you are using Motif or Athena, when you have the Motif or Athena
|
Otherwise, if you are using Motif, when you have the Motif files in a
|
||||||
files in a directory where configure doesn't look, edit the Makefile to enter
|
directory where configure doesn't look, edit the Makefile to enter the names
|
||||||
the names of the directories. Search for "GUI_INC_LOC" for an example to set
|
of the directories. Search for "GUI_INC_LOC" for an example to set
|
||||||
the Motif directories, "CONF_OPT_X" for Athena.
|
the Motif directories.
|
||||||
|
|
||||||
*gui-x11-gtk*
|
*gui-x11-gtk*
|
||||||
Currently, Vim supports both GTK+ 2 and GTK+ 3.
|
Currently, Vim supports both GTK+ 2 and GTK+ 3.
|
||||||
@@ -643,18 +638,11 @@ few problems, but you might make it compile and run with a bit of work, please
|
|||||||
send me the patches if you do). The newest releases of LessTif have been
|
send me the patches if you do). The newest releases of LessTif have been
|
||||||
reported to work fine too.
|
reported to work fine too.
|
||||||
|
|
||||||
*gui-x11-athena*
|
*gui-x11-athena* *gui-x11-neXtaw*
|
||||||
The Athena version uses the Xaw widget set by default. If you have the 3D
|
Support for the Athena GUI and neXtaw was removed in patch 8.2.4677.
|
||||||
version, you might want to link with Xaw3d instead. This will make the
|
|
||||||
menus look a bit better. Edit the Makefile and look for "XAW_LIB". The
|
|
||||||
scrollbars will remain the same, because Vim has its own, which are already
|
|
||||||
3D (in fact, they look more like Motif).
|
|
||||||
|
|
||||||
*gui-x11-neXtaw*
|
|
||||||
The neXtaw version is mostly like Athena, but uses different widgets.
|
|
||||||
|
|
||||||
*gui-x11-misc*
|
*gui-x11-misc*
|
||||||
In general, do not try to mix files from different GTK+, Motif, Athena and X11
|
In general, do not try to mix files from different GTK+, Motif and X11
|
||||||
versions. This will cause problems. For example, using header files for
|
versions. This will cause problems. For example, using header files for
|
||||||
X11R5 with a library for X11R6 probably doesn't work (although the linking
|
X11R5 with a library for X11R6 probably doesn't work (although the linking
|
||||||
won't give an error message, Vim will crash later).
|
won't give an error message, Vim will crash later).
|
||||||
|
|||||||
@@ -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: 2022 Feb 26
|
||||||
|
|
||||||
VIM - main help file
|
VIM - main help file
|
||||||
k
|
k
|
||||||
@@ -136,6 +136,7 @@ Advanced editing ~
|
|||||||
|diff.txt| working with two to eight versions of the same file
|
|diff.txt| working with two to eight versions of the same file
|
||||||
|autocmd.txt| automatically executing commands on an event
|
|autocmd.txt| automatically executing commands on an event
|
||||||
|eval.txt| expression evaluation, conditional commands
|
|eval.txt| expression evaluation, conditional commands
|
||||||
|
|builtin.txt| builtin functions
|
||||||
|channel.txt| Jobs, Channels, inter-process communication
|
|channel.txt| Jobs, Channels, inter-process communication
|
||||||
|fold.txt| hide (fold) ranges of lines
|
|fold.txt| hide (fold) ranges of lines
|
||||||
|
|
||||||
@@ -196,6 +197,7 @@ Versions ~
|
|||||||
|version6.txt| Differences between Vim version 5.7 and 6.x
|
|version6.txt| Differences between Vim version 5.7 and 6.x
|
||||||
|version7.txt| Differences between Vim version 6.4 and 7.x
|
|version7.txt| Differences between Vim version 6.4 and 7.x
|
||||||
|version8.txt| Differences between Vim version 7.4 and 8.x
|
|version8.txt| Differences between Vim version 7.4 and 8.x
|
||||||
|
|version9.txt| Differences between Vim version 8.2 and 9.0
|
||||||
*sys-file-list*
|
*sys-file-list*
|
||||||
Remarks about specific systems ~
|
Remarks about specific systems ~
|
||||||
|os_390.txt| OS/390 Unix
|
|os_390.txt| OS/390 Unix
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*helphelp.txt* For Vim version 8.2. Last change: 2021 Nov 18
|
*helphelp.txt* For Vim version 8.2. Last change: 2022 Jan 08
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
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
|
The initial height of the help window can be set with the 'helpheight' option
|
||||||
(default 20).
|
(default 20).
|
||||||
|
*help-buffer-options*
|
||||||
When the help buffer is created, several local options are set to make sure
|
When the help buffer is created, several local options are set to make sure
|
||||||
the help text is displayed as it was intended:
|
the help text is displayed as it was intended:
|
||||||
'iskeyword' nearly all ASCII chars except ' ', '*', '"' and '|'
|
'iskeyword' nearly all ASCII chars except ' ', '*', '"' and '|'
|
||||||
@@ -224,7 +224,7 @@ command: >
|
|||||||
dialog. {only when compiled with |+GUI_GTK|}
|
dialog. {only when compiled with |+GUI_GTK|}
|
||||||
|
|
||||||
*:helpt* *:helptags*
|
*:helpt* *:helptags*
|
||||||
*E154* *E150* *E151* *E152* *E153* *E670*
|
*E150* *E151* *E152* *E153* *E154* *E670*
|
||||||
:helpt[ags] [++t] {dir}
|
:helpt[ags] [++t] {dir}
|
||||||
Generate the help tags file(s) for directory {dir}.
|
Generate the help tags file(s) for directory {dir}.
|
||||||
When {dir} is ALL then all "doc" directories in
|
When {dir} is ALL then all "doc" directories in
|
||||||
|
|||||||
@@ -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
|
VIM REFERENCE MANUAL by Andy Kahn
|
||||||
@@ -89,7 +89,7 @@ suggested use.)
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
2. Cscope related commands *cscope-commands*
|
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.
|
All cscope commands are accessed through suboptions to the cscope commands.
|
||||||
`:cscope` or `:cs` is the main command
|
`:cscope` or `:cs` is the main command
|
||||||
`:scscope` or `:scs` does the same and splits the window
|
`: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 Mar 13
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Sven Verdoolaege
|
VIM REFERENCE MANUAL by Sven Verdoolaege
|
||||||
@@ -22,9 +22,9 @@ line of a file, regardless of the filename suffix, to check if a file is a
|
|||||||
Perl script (see scripts.vim in Vim's syntax directory). Vim assumes a file
|
Perl script (see scripts.vim in Vim's syntax directory). Vim assumes a file
|
||||||
is POD text if the filename has a .POD suffix.
|
is POD text if the filename has a .POD suffix.
|
||||||
|
|
||||||
To use tags with Perl, you need a recent version of Exuberant ctags. Look
|
To use tags with Perl, you need Universal/Exuberant Ctags. Look here:
|
||||||
here:
|
Universal Ctags (preferred): https://ctags.io
|
||||||
http://ctags.sourceforge.net
|
Exuberant Ctags: http://ctags.sourceforge.net
|
||||||
|
|
||||||
Alternatively, you can use the Perl script pltags.pl, which is shipped with
|
Alternatively, you can use the Perl script pltags.pl, which is shipped with
|
||||||
Vim in the $VIMRUNTIME/tools directory. This script has currently more
|
Vim in the $VIMRUNTIME/tools directory. This script has currently more
|
||||||
@@ -103,8 +103,7 @@ Here are some things you can try: >
|
|||||||
:perldo $_ = reverse($_);1
|
:perldo $_ = reverse($_);1
|
||||||
:perl VIM::Msg("hello")
|
:perl VIM::Msg("hello")
|
||||||
:perl $line = $curbuf->Get(42)
|
:perl $line = $curbuf->Get(42)
|
||||||
<
|
< *E299*
|
||||||
*E299*
|
|
||||||
Executing Perl commands in the |sandbox| is limited. ":perldo" will not be
|
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 at all. ":perl" will be evaluated in the Safe environment, if
|
||||||
possible.
|
possible.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_pyth.txt* For Vim version 8.2. Last change: 2021 Nov 12
|
*if_pyth.txt* For Vim version 8.2. Last change: 2022 Feb 22
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Paul Moore
|
VIM REFERENCE MANUAL by Paul Moore
|
||||||
@@ -25,6 +25,10 @@ The Python 3 interface is available only when Vim was compiled with the
|
|||||||
|+python3| feature.
|
|+python3| feature.
|
||||||
Both can be available at the same time, but read |python-2-and-3|.
|
Both can be available at the same time, but read |python-2-and-3|.
|
||||||
|
|
||||||
|
NOTE: Python 2 is old and no longer being developed. Using Python 3 is highly
|
||||||
|
recommended. Python 2 support will be dropped when it does not work properly
|
||||||
|
anymore.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Commands *python-commands*
|
1. Commands *python-commands*
|
||||||
|
|
||||||
@@ -65,7 +69,7 @@ There is no need to import sys, it's done by default.
|
|||||||
|
|
||||||
*python-environment*
|
*python-environment*
|
||||||
Environment variables set in Vim are not always available in Python. This
|
Environment variables set in Vim are not always available in Python. This
|
||||||
depends on how Vim and Python were build. Also see
|
depends on how Vim and Python were built. Also see
|
||||||
https://docs.python.org/3/library/os.html#os.environ
|
https://docs.python.org/3/library/os.html#os.environ
|
||||||
|
|
||||||
Note: Python is very sensitive to the indenting. Make sure the "class" line
|
Note: Python is very sensitive to the indenting. Make sure the "class" line
|
||||||
@@ -834,6 +838,19 @@ To work around such problems there are these options:
|
|||||||
Raising SystemExit exception in python isn't endorsed way to quit vim, use: >
|
Raising SystemExit exception in python isn't endorsed way to quit vim, use: >
|
||||||
:py vim.command("qall!")
|
:py vim.command("qall!")
|
||||||
<
|
<
|
||||||
|
*E1266*
|
||||||
|
This error can occur when python 3 cannot load the required modules. This
|
||||||
|
means that your python 3 is not correctly installed or there are some mistakes
|
||||||
|
in your settings. Please check the following items:
|
||||||
|
1. Make sure that python 3 is correctly installed. Also check the version of
|
||||||
|
python.
|
||||||
|
2. Check the 'pythonthreedll' option.
|
||||||
|
3. Check the 'pythonthreehome' option.
|
||||||
|
4. Check the PATH environment variable if you don't set 'pythonthreedll'.
|
||||||
|
On MS-Windows, you can use where.exe to check which dll will be loaded.
|
||||||
|
E.g. >
|
||||||
|
where.exe python310.dll
|
||||||
|
5. Check the PYTHONPATH and PYTHONHOME environment variables.
|
||||||
|
|
||||||
*has-python*
|
*has-python*
|
||||||
You can test what Python version is available with: >
|
You can test what Python version is available with: >
|
||||||
@@ -910,7 +927,7 @@ The `:pyxdo` command works similar to `:pydo`.
|
|||||||
*has-pythonx*
|
*has-pythonx*
|
||||||
You can test if pyx* commands are available with: >
|
You can test if pyx* commands are available with: >
|
||||||
if has('pythonx')
|
if has('pythonx')
|
||||||
echo 'pyx* commands are available. (Python ' . &pyx . ')'
|
echo 'pyx* commands are available. (Python ' .. &pyx .. ')'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
When compiled with only one of |+python| or |+python3|, the has() returns 1.
|
When compiled with only one of |+python| or |+python3|, the has() returns 1.
|
||||||
|
|||||||
@@ -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
|
VIM REFERENCE MANUAL by Ingo Wilken
|
||||||
@@ -16,9 +16,9 @@ The Tcl Interface to Vim *tcl* *Tcl* *TCL*
|
|||||||
8. Examples |tcl-examples|
|
8. Examples |tcl-examples|
|
||||||
9. Dynamic loading |tcl-dynamic|
|
9. Dynamic loading |tcl-dynamic|
|
||||||
|
|
||||||
*E280*
|
|
||||||
{only available when Vim was compiled with the |+tcl| feature}
|
{only available when Vim was compiled with the |+tcl| feature}
|
||||||
|
|
||||||
|
*E280*
|
||||||
WARNING: There are probably still some bugs. Please send bug reports,
|
WARNING: There are probably still some bugs. Please send bug reports,
|
||||||
comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
|
comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*indent.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
*indent.txt* For Vim version 8.2. Last change: 2022 Apr 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -42,11 +42,12 @@ is not a C compiler: it does not recognize all syntax. One requirement is
|
|||||||
that toplevel functions have a '{' in the first column. Otherwise they are
|
that toplevel functions have a '{' in the first column. Otherwise they are
|
||||||
easily confused with declarations.
|
easily confused with declarations.
|
||||||
|
|
||||||
These four options control C program indenting:
|
These five options control C program indenting:
|
||||||
'cindent' Enables Vim to perform C program indenting automatically.
|
'cindent' Enables Vim to perform C program indenting automatically.
|
||||||
'cinkeys' Specifies which keys trigger reindenting in insert mode.
|
'cinkeys' Specifies which keys trigger reindenting in insert mode.
|
||||||
'cinoptions' Sets your preferred indent style.
|
'cinoptions' Sets your preferred indent style.
|
||||||
'cinwords' Defines keywords that start an extra indent in the next line.
|
'cinwords' Defines keywords that start an extra indent in the next line.
|
||||||
|
'cinscopedecls' Defines strings that are recognized as a C++ scope declaration.
|
||||||
|
|
||||||
If 'lisp' is not on and 'equalprg' is empty, the "=" operator indents using
|
If 'lisp' is not on and 'equalprg' is empty, the "=" operator indents using
|
||||||
Vim's built-in algorithm rather than calling an external program.
|
Vim's built-in algorithm rather than calling an external program.
|
||||||
@@ -293,8 +294,9 @@ The examples below assume a 'shiftwidth' of 4.
|
|||||||
<
|
<
|
||||||
*cino-g*
|
*cino-g*
|
||||||
gN Place C++ scope declarations N characters from the indent of the
|
gN Place C++ scope declarations N characters from the indent of the
|
||||||
block they are in. (default 'shiftwidth'). A scope declaration
|
block they are in. (default 'shiftwidth'). By default, a scope
|
||||||
can be "public:", "protected:" or "private:".
|
declaration is "public:", "protected:" or "private:". This can
|
||||||
|
be adjusted with the 'cinscopedecls' option.
|
||||||
|
|
||||||
cino= cino=g0 >
|
cino= cino=g0 >
|
||||||
{ {
|
{ {
|
||||||
@@ -778,6 +780,15 @@ You can set the indent for the first line after <script> and <style>
|
|||||||
"auto" auto indent (same indent as the blocktag)
|
"auto" auto indent (same indent as the blocktag)
|
||||||
"inc" auto indent + one indent step
|
"inc" auto indent + one indent step
|
||||||
|
|
||||||
|
You can set the indent for attributes after an open <tag line: >
|
||||||
|
|
||||||
|
:let g:html_indent_attribute = 1
|
||||||
|
<
|
||||||
|
VALUE MEANING ~
|
||||||
|
1 auto indent, one indent step more than <tag
|
||||||
|
2 auto indent, two indent steps (default)
|
||||||
|
> 2 auto indent, more indent steps
|
||||||
|
|
||||||
Many tags increase the indent for what follows per default (see "Add Indent
|
Many tags increase the indent for what follows per default (see "Add Indent
|
||||||
Tags" in the script). You can add further tags with: >
|
Tags" in the script). You can add further tags with: >
|
||||||
|
|
||||||
@@ -879,7 +890,7 @@ For example, with N = 1, this will give:
|
|||||||
*PHP_outdentphpescape*
|
*PHP_outdentphpescape*
|
||||||
To indent PHP escape tags as the surrounding non-PHP code (only affects the
|
To indent PHP escape tags as the surrounding non-PHP code (only affects the
|
||||||
PHP escape tags): >
|
PHP escape tags): >
|
||||||
:let g:PHP_outdentphpescape = 0
|
:let g:PHP_outdentphpescape = 0
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
*PHP_removeCRwhenUnix*
|
*PHP_removeCRwhenUnix*
|
||||||
@@ -1206,7 +1217,7 @@ comments will be indented according to the correctly indented code.
|
|||||||
|
|
||||||
|
|
||||||
VIM *ft-vim-indent*
|
VIM *ft-vim-indent*
|
||||||
|
*g:vim_indent_cont*
|
||||||
For indenting Vim scripts there is one variable that specifies the amount of
|
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: >
|
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 Mar 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -937,7 +937,9 @@ tag command note action in Visual mode ~
|
|||||||
before the highlighted area
|
before the highlighted area
|
||||||
|v_J| J 2 join the highlighted lines
|
|v_J| J 2 join the highlighted lines
|
||||||
|v_K| K run 'keywordprg' on the highlighted area
|
|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
|
Q does not start Ex mode
|
||||||
|v_R| R 2 delete the highlighted lines and start
|
|v_R| R 2 delete the highlighted lines and start
|
||||||
insert
|
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_i}| i} same as iB
|
|v_i}| i} same as iB
|
||||||
|v_o| o move cursor to other corner of area
|
|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_r| r 2 replace highlighted area with a character
|
||||||
|v_s| s 2 delete highlighted area and start insert
|
|v_s| s 2 delete highlighted area and start insert
|
||||||
|v_u| u 2 make highlighted area lowercase
|
|v_u| u 2 make highlighted area lowercase
|
||||||
@@ -1148,7 +1152,7 @@ tag command action ~
|
|||||||
|:&| :& repeat last ":substitute"
|
|:&| :& repeat last ":substitute"
|
||||||
|:star| :* execute contents of a register
|
|:star| :* execute contents of a register
|
||||||
|:<| :< shift lines one 'shiftwidth' left
|
|:<| :< shift lines one 'shiftwidth' left
|
||||||
|:=| := print the cursor line number
|
|:=| := print the last line number
|
||||||
|:>| :> shift lines one 'shiftwidth' right
|
|:>| :> shift lines one 'shiftwidth' right
|
||||||
|:@| :@ execute contents of a register
|
|:@| :@ execute contents of a register
|
||||||
|:@@| :@@ repeat the previous ":@"
|
|:@@| :@@ repeat the previous ":@"
|
||||||
@@ -1166,6 +1170,7 @@ tag command action ~
|
|||||||
be remapped
|
be remapped
|
||||||
|:args| :ar[gs] print the argument list
|
|:args| :ar[gs] print the argument list
|
||||||
|:argadd| :arga[dd] add items to the argument list
|
|:argadd| :arga[dd] add items to the argument list
|
||||||
|
|:argdedupe| :argded[upe] remove duplicates from the argument list
|
||||||
|:argdelete| :argd[elete] delete items 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
|
|:argedit| :arge[dit] add item to the argument list and edit it
|
||||||
|:argdo| :argdo do a command on all items in the argument list
|
|: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 Oct 24
|
*insert.txt* For Vim version 8.2. Last change: 2022 Apr 06
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
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
|
line. If there are no newly entered characters and
|
||||||
'backspace' is not empty, delete all characters before the
|
'backspace' is not empty, delete all characters before the
|
||||||
cursor in the current line.
|
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.
|
See |i_backspacing| about joining lines.
|
||||||
*i_CTRL-I* *i_<Tab>* *i_Tab*
|
*i_CTRL-I* *i_<Tab>* *i_Tab*
|
||||||
<Tab> or CTRL-I Insert a tab. If the 'expandtab' option is on, the
|
<Tab> or CTRL-I Insert a tab. If the 'expandtab' option is on, the
|
||||||
@@ -270,7 +272,7 @@ CTRL-] Trigger abbreviation, without inserting a character.
|
|||||||
|
|
||||||
*i_backspacing*
|
*i_backspacing*
|
||||||
The effect of the <BS>, CTRL-W, and CTRL-U depend on the 'backspace' option
|
The effect of the <BS>, CTRL-W, and CTRL-U depend on the 'backspace' option
|
||||||
(unless 'revins' is set). This is a comma separated list of items:
|
(unless 'revins' is set). This is a comma-separated list of items:
|
||||||
|
|
||||||
item action ~
|
item action ~
|
||||||
indent allow backspacing over autoindent
|
indent allow backspacing over autoindent
|
||||||
@@ -281,8 +283,8 @@ start allow backspacing over the start position of insert; CTRL-W and
|
|||||||
When 'backspace' is empty, Vi compatible backspacing is used. You cannot
|
When 'backspace' is empty, Vi compatible backspacing is used. You cannot
|
||||||
backspace over autoindent, before column 1 or before where insert started.
|
backspace over autoindent, before column 1 or before where insert started.
|
||||||
|
|
||||||
For backwards compatibility the values "0", "1" and "2" are also allowed, see
|
For backwards compatibility the values "0", "1", "2" and "3" are also allowed,
|
||||||
|'backspace'|.
|
see |'backspace'|.
|
||||||
|
|
||||||
If the 'backspace' option does contain "eol" and the cursor is in column 1
|
If the 'backspace' option does contain "eol" and the cursor is in column 1
|
||||||
when one of the three keys is used, the current line is joined with the
|
when one of the three keys is used, the current line is joined with the
|
||||||
@@ -798,7 +800,7 @@ If the previous expansion was split, because it got longer than 'textwidth',
|
|||||||
then just the text in the current line will be used.
|
then just the text in the current line will be used.
|
||||||
|
|
||||||
If the match found is at the end of a line, then the first word in the next
|
If the match found is at the end of a line, then the first word in the next
|
||||||
line will be inserted and the message "word from next line" displayed, if
|
line will be inserted and the message "Word from other line" displayed, if
|
||||||
this word is accepted the next CTRL-X CTRL-P or CTRL-X CTRL-N will search
|
this word is accepted the next CTRL-X CTRL-P or CTRL-X CTRL-N will search
|
||||||
for those lines starting with this word.
|
for those lines starting with this word.
|
||||||
|
|
||||||
@@ -816,6 +818,7 @@ CTRL-X CTRL-K Search the files given with the 'dictionary' option
|
|||||||
the 'dictionary' option is empty.
|
the 'dictionary' option is empty.
|
||||||
For suggestions where to find a list of words, see the
|
For suggestions where to find a list of words, see the
|
||||||
'dictionary' option.
|
'dictionary' option.
|
||||||
|
'ignorecase', 'smartcase' and 'infercase' apply.
|
||||||
|
|
||||||
CTRL-K or
|
CTRL-K or
|
||||||
CTRL-N Search forward for next matching keyword. This
|
CTRL-N Search forward for next matching keyword. This
|
||||||
@@ -848,7 +851,7 @@ space is preferred). Maximum line length is 510 bytes.
|
|||||||
|
|
||||||
For an example, imagine the 'thesaurus' file has a line like this: >
|
For an example, imagine the 'thesaurus' file has a line like this: >
|
||||||
angry furious mad enraged
|
angry furious mad enraged
|
||||||
<Placing the cursor after the letters "ang" and typing CTRL-X CTRL-T would
|
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
|
complete the word "angry"; subsequent presses would change the word to
|
||||||
"furious", "mad" etc.
|
"furious", "mad" etc.
|
||||||
|
|
||||||
@@ -860,7 +863,7 @@ https://github.com/vim/vim/issues/629#issuecomment-443293282
|
|||||||
Unpack thesaurus_pkg.zip, put the thesaurus.txt file somewhere, e.g.
|
Unpack thesaurus_pkg.zip, put the thesaurus.txt file somewhere, e.g.
|
||||||
~/.vim/thesaurus/english.txt, and the 'thesaurus' option to this file name.
|
~/.vim/thesaurus/english.txt, and the 'thesaurus' option to this file name.
|
||||||
|
|
||||||
|
|
||||||
Completing keywords with 'thesaurusfunc' *compl-thesaurusfunc*
|
Completing keywords with 'thesaurusfunc' *compl-thesaurusfunc*
|
||||||
|
|
||||||
If the 'thesaurusfunc' option is set, then the user specified function is
|
If the 'thesaurusfunc' option is set, then the user specified function is
|
||||||
@@ -877,9 +880,9 @@ Groß): >
|
|||||||
endif
|
endif
|
||||||
let res = []
|
let res = []
|
||||||
let h = ''
|
let h = ''
|
||||||
for l in systemlist('aiksaurus '.shellescape(a:base))
|
for l in systemlist('aiksaurus ' .. shellescape(a:base))
|
||||||
if l[:3] == '=== '
|
if l[:3] == '=== '
|
||||||
let h = '('.substitute(l[4:], ' =*$', ')', '')
|
let h = '(' .. substitute(l[4:], ' =*$', ')', '')
|
||||||
elseif l ==# 'Alphabetically similar known words are: '
|
elseif l ==# 'Alphabetically similar known words are: '
|
||||||
let h = "\U0001f52e"
|
let h = "\U0001f52e"
|
||||||
elseif l[0] =~ '\a' || (h ==# "\U0001f52e" && l[0] ==# "\t")
|
elseif l[0] =~ '\a' || (h ==# "\U0001f52e" && l[0] ==# "\t")
|
||||||
@@ -1193,7 +1196,7 @@ three lines, but 'previewheight' is used when it has a value of 1 or 2.
|
|||||||
*complete-popup*
|
*complete-popup*
|
||||||
When "popup" is in 'completeopt' a popup window is used to display the "info".
|
When "popup" is in 'completeopt' a popup window is used to display the "info".
|
||||||
Then the 'completepopup' option specifies the properties of the popup. This
|
Then the 'completepopup' option specifies the properties of the popup. This
|
||||||
is used when the info popup is created. The option is a comma separated list
|
is used when the info popup is created. The option is a comma-separated list
|
||||||
of values:
|
of values:
|
||||||
height maximum height of the popup
|
height maximum height of the popup
|
||||||
width maximum width of the popup
|
width maximum width of the popup
|
||||||
@@ -1264,7 +1267,7 @@ An example that completes the names of the months: >
|
|||||||
" find months matching with "a:base"
|
" find months matching with "a:base"
|
||||||
let res = []
|
let res = []
|
||||||
for m in split("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec")
|
for m in split("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec")
|
||||||
if m =~ '^' . a:base
|
if m =~ '^' .. a:base
|
||||||
call add(res, m)
|
call add(res, m)
|
||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
@@ -1286,7 +1289,7 @@ The same, but now pretending searching for matches is slow: >
|
|||||||
else
|
else
|
||||||
" find months matching with "a:base"
|
" find months matching with "a:base"
|
||||||
for m in split("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec")
|
for m in split("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec")
|
||||||
if m =~ '^' . a:base
|
if m =~ '^' .. a:base
|
||||||
call complete_add(m)
|
call complete_add(m)
|
||||||
endif
|
endif
|
||||||
sleep 300m " simulate searching for next match
|
sleep 300m " simulate searching for next match
|
||||||
@@ -1406,11 +1409,16 @@ in 'runtimepath'. Thus for "java" it is autoload/javacomplete.vim.
|
|||||||
|
|
||||||
C *ft-c-omni*
|
C *ft-c-omni*
|
||||||
|
|
||||||
Completion of C code requires a tags file. You should use Exuberant ctags,
|
Completion of C code requires a tags file. You should use Universal/
|
||||||
because it adds extra information that is needed for completion. You can find
|
Exuberant ctags, because it adds extra information that is needed for
|
||||||
it here: http://ctags.sourceforge.net/ Version 5.6 or later is recommended.
|
completion. You can find it here:
|
||||||
|
Universal Ctags: https://ctags.io
|
||||||
|
Exuberant Ctags: http://ctags.sourceforge.net
|
||||||
|
|
||||||
For version 5.5.4 you should add a patch that adds the "typename:" field:
|
Universal Ctags is preferred, Exuberant Ctags is no longer being developed.
|
||||||
|
|
||||||
|
For Exuberant ctags, version 5.6 or later is recommended. For version 5.5.4
|
||||||
|
you should add a patch that adds the "typename:" field:
|
||||||
ftp://ftp.vim.org/pub/vim/unstable/patches/ctags-5.5.4.patch
|
ftp://ftp.vim.org/pub/vim/unstable/patches/ctags-5.5.4.patch
|
||||||
A compiled .exe for MS-Windows can be found at:
|
A compiled .exe for MS-Windows can be found at:
|
||||||
http://ctags.sourceforge.net/
|
http://ctags.sourceforge.net/
|
||||||
@@ -1531,8 +1539,11 @@ will be suggested. All other elements are not placed in suggestion list.
|
|||||||
PHP *ft-php-omni*
|
PHP *ft-php-omni*
|
||||||
|
|
||||||
Completion of PHP code requires a tags file for completion of data from
|
Completion of PHP code requires a tags file for completion of data from
|
||||||
external files and for class aware completion. You should use Exuberant ctags
|
external files and for class aware completion. You should use Universal/
|
||||||
version 5.5.4 or newer. You can find it here: http://ctags.sourceforge.net/
|
Exuberant ctags version 5.5.4 or newer. You can find it here:
|
||||||
|
|
||||||
|
Universal Ctags: https://ctags.io
|
||||||
|
Exuberant Ctags: http://ctags.sourceforge.net
|
||||||
|
|
||||||
Script completes:
|
Script completes:
|
||||||
|
|
||||||
@@ -1945,6 +1956,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
|
previous line. When 'smartindent' or 'cindent' is on, the indent for a line
|
||||||
is automatically adjusted for C programs.
|
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
|
'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.
|
too long when appending characters a line break is automatically inserted.
|
||||||
|
|
||||||
@@ -1958,6 +1972,9 @@ too long when appending characters a line break is automatically inserted.
|
|||||||
inserted after the current line.
|
inserted after the current line.
|
||||||
Adding [!] toggles 'autoindent' for the time this
|
Adding [!] toggles 'autoindent' for the time this
|
||||||
command is executed.
|
command is executed.
|
||||||
|
This command is not supported in |Vim9| script,
|
||||||
|
because it is too easily confused with a variable
|
||||||
|
name.
|
||||||
|
|
||||||
*:i* *:in* *:insert*
|
*:i* *:in* *:insert*
|
||||||
:{range}i[nsert][!] Insert several lines of text above the specified
|
:{range}i[nsert][!] Insert several lines of text above the specified
|
||||||
@@ -1965,6 +1982,9 @@ too long when appending characters a line break is automatically inserted.
|
|||||||
inserted before the current line.
|
inserted before the current line.
|
||||||
Adding [!] toggles 'autoindent' for the time this
|
Adding [!] toggles 'autoindent' for the time this
|
||||||
command is executed.
|
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
|
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
|
containing only a ".". Watch out for lines starting with a backslash, see
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*intro.txt* For Vim version 8.2. Last change: 2021 Sep 29
|
*intro.txt* For Vim version 8.2. Last change: 2022 Apr 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -213,7 +213,7 @@ Vim would never have become what it is now, without the help of these people!
|
|||||||
Daniel Elstner GTK+ 2 port
|
Daniel Elstner GTK+ 2 port
|
||||||
Eric Fischer Mac port, 'cindent', and other improvements
|
Eric Fischer Mac port, 'cindent', and other improvements
|
||||||
Benji Fisher Answering lots of user questions
|
Benji Fisher Answering lots of user questions
|
||||||
Bill Foster Athena GUI port
|
Bill Foster Athena GUI port (later removed)
|
||||||
Google Lets me work on Vim one day a week
|
Google Lets me work on Vim one day a week
|
||||||
Loic Grenie xvim (ideas for multi windows version)
|
Loic Grenie xvim (ideas for multi windows version)
|
||||||
Sven Guckes Vim promoter and previous WWW page maintainer
|
Sven Guckes Vim promoter and previous WWW page maintainer
|
||||||
@@ -701,7 +701,8 @@ Q Switch to "Ex" mode. This is a bit like typing ":"
|
|||||||
Use the ":vi" command |:visual| to exit "Ex" mode.
|
Use the ":vi" command |:visual| to exit "Ex" mode.
|
||||||
Note: In older versions of Vim "Q" formatted text,
|
Note: In older versions of Vim "Q" formatted text,
|
||||||
that is now done with |gq|. But if you use the
|
that is now done with |gq|. But if you use the
|
||||||
|vimrc_example.vim| script "Q" works like "gq".
|
|vimrc_example.vim| script or |defaults.vim|, "Q"
|
||||||
|
works like "gq". Except for Select mode.
|
||||||
|
|
||||||
*gQ*
|
*gQ*
|
||||||
gQ Switch to "Ex" mode like with "Q", but really behave
|
gQ Switch to "Ex" mode like with "Q", but really behave
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*map.txt* For Vim version 8.2. Last change: 2021 Nov 20
|
*map.txt* For Vim version 8.2. Last change: 2022 Apr 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
Key mapping, abbreviations and user-defined commands.
|
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.
|
manual.
|
||||||
|
|
||||||
1. Key mapping |key-mapping|
|
1. Key mapping |key-mapping|
|
||||||
@@ -80,6 +80,8 @@ modes.
|
|||||||
where the map command applies. Disallow mapping of
|
where the map command applies. Disallow mapping of
|
||||||
{rhs}, to avoid nested and recursive mappings. Often
|
{rhs}, to avoid nested and recursive mappings. Often
|
||||||
used to redefine a command.
|
used to redefine a command.
|
||||||
|
Note: When <Plug> appears in the {rhs} this part is
|
||||||
|
always applied even if remapping is disallowed.
|
||||||
|
|
||||||
|
|
||||||
:unm[ap] {lhs} |mapmode-nvo| *:unm* *:unmap*
|
:unm[ap] {lhs} |mapmode-nvo| *:unm* *:unmap*
|
||||||
@@ -97,8 +99,7 @@ modes.
|
|||||||
map command applies. The mapping may remain defined
|
map command applies. The mapping may remain defined
|
||||||
for other modes where it applies.
|
for other modes where it applies.
|
||||||
It also works when {lhs} matches the {rhs} of a
|
It also works when {lhs} matches the {rhs} of a
|
||||||
mapping. This is for when when an abbreviation
|
mapping. This is for when an abbreviation applied.
|
||||||
applied.
|
|
||||||
Note: Trailing spaces are included in the {lhs}. This
|
Note: Trailing spaces are included in the {lhs}. This
|
||||||
unmap does NOT work: >
|
unmap does NOT work: >
|
||||||
:map @@ foo
|
:map @@ foo
|
||||||
@@ -173,7 +174,7 @@ type "a", then "bar" will get inserted.
|
|||||||
"<unique>" can be used in any order. They must appear right after the
|
"<unique>" can be used in any order. They must appear right after the
|
||||||
command, before any other arguments.
|
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
|
If the first argument to one of these commands is "<buffer>" the mapping will
|
||||||
be effective in the current buffer only. Example: >
|
be effective in the current buffer only. Example: >
|
||||||
:map <buffer> ,w /[.,;]<CR>
|
:map <buffer> ,w /[.,;]<CR>
|
||||||
@@ -232,7 +233,7 @@ Note: ":map <script>" and ":noremap <script>" do the same thing. The
|
|||||||
"<script>" overrules the command name. Using ":noremap <script>" is
|
"<script>" overrules the command name. Using ":noremap <script>" is
|
||||||
preferred, because it's clearer that remapping is (mostly) disabled.
|
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
|
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
|
define a new mapping or abbreviation, the command will fail if the mapping or
|
||||||
abbreviation already exists. Example: >
|
abbreviation already exists. Example: >
|
||||||
@@ -271,7 +272,7 @@ input. Example: >
|
|||||||
endfunc
|
endfunc
|
||||||
nnoremap <expr> <F3> <SID>OpenPopup()
|
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: >
|
typeahead, before the previous command has been executed. For example: >
|
||||||
func StoreColumn()
|
func StoreColumn()
|
||||||
let g:column = col('.')
|
let g:column = col('.')
|
||||||
@@ -285,6 +286,10 @@ This can be solved by inserting <Ignore> before the character that is
|
|||||||
expression-mapped: >
|
expression-mapped: >
|
||||||
nmap ! f!<Ignore>x
|
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
|
Be very careful about side effects! The expression is evaluated while
|
||||||
obtaining characters, you may very well make the command dysfunctional.
|
obtaining characters, you may very well make the command dysfunctional.
|
||||||
For this reason the following is blocked:
|
For this reason the following is blocked:
|
||||||
@@ -311,7 +316,7 @@ Here is an example that inserts a list number that increases: >
|
|||||||
|
|
||||||
func ListItem()
|
func ListItem()
|
||||||
let g:counter += 1
|
let g:counter += 1
|
||||||
return g:counter . '. '
|
return g:counter .. '. '
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ListReset()
|
func ListReset()
|
||||||
@@ -343,9 +348,24 @@ Example of using <Cmd> halfway Insert mode: >
|
|||||||
Unlike <expr> mappings, there are no special restrictions on the <Cmd>
|
Unlike <expr> mappings, there are no special restrictions on the <Cmd>
|
||||||
command: it is executed as if an (unrestricted) |autocommand| was invoked.
|
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:
|
Note:
|
||||||
- Because <Cmd> avoids mode-changes it does not trigger |CmdlineEnter| and
|
- Because <Cmd> and <ScriptCmd> avoid mode-changes it does not trigger
|
||||||
|CmdlineLeave| events, because no user interaction is expected.
|
|CmdlineEnter| and |CmdlineLeave| events, because no user interaction is
|
||||||
|
expected.
|
||||||
- For the same reason, |keycodes| like <C-R><C-W> are interpreted as plain,
|
- For the same reason, |keycodes| like <C-R><C-W> are interpreted as plain,
|
||||||
unmapped keys.
|
unmapped keys.
|
||||||
- The command is not echo'ed, no need for <silent>.
|
- The command is not echo'ed, no need for <silent>.
|
||||||
@@ -356,19 +376,20 @@ Note:
|
|||||||
- In Select mode, |:map| and |:vmap| command mappings are executed in
|
- In Select mode, |:map| and |:vmap| command mappings are executed in
|
||||||
Visual mode. Use |:smap| to handle Select mode differently.
|
Visual mode. Use |:smap| to handle Select mode differently.
|
||||||
|
|
||||||
*E1135* *E1136*
|
*E1255* *E1136*
|
||||||
<Cmd> commands must terminate, that is, they must be followed by <CR> in the
|
<Cmd> and <ScriptCmd> commands must terminate, that is, they must be followed
|
||||||
{rhs} of the mapping definition. |Command-line| mode is never entered.
|
by <CR> in the {rhs} of the mapping definition. |Command-line| mode is never
|
||||||
|
entered.
|
||||||
|
|
||||||
*E1137*
|
*E1137*
|
||||||
<Cmd> commands can have only normal characters and cannot contain special
|
<Cmd> and <ScriptCmd> commands can have only normal characters and cannot
|
||||||
characters like function keys.
|
contain special characters like function keys.
|
||||||
|
|
||||||
|
|
||||||
1.3 MAPPING AND MODES *:map-modes*
|
1.3 MAPPING AND MODES *:map-modes*
|
||||||
*mapmode-nvo* *mapmode-n* *mapmode-v* *mapmode-o*
|
*mapmode-nvo* *mapmode-n* *mapmode-v* *mapmode-o*
|
||||||
|
|
||||||
There are six sets of mappings
|
There are seven sets of mappings
|
||||||
- For Normal mode: When typing commands.
|
- For Normal mode: When typing commands.
|
||||||
- For Visual mode: When typing commands while the Visual area is highlighted.
|
- For Visual mode: When typing commands while the Visual area is highlighted.
|
||||||
- For Select mode: like Visual mode but typing text replaces the selection.
|
- For Select mode: like Visual mode but typing text replaces the selection.
|
||||||
@@ -376,6 +397,7 @@ There are six sets of mappings
|
|||||||
etc.). See below: |omap-info|.
|
etc.). See below: |omap-info|.
|
||||||
- For Insert mode. These are also used in Replace mode.
|
- For Insert mode. These are also used in Replace mode.
|
||||||
- For Command-line mode: When entering a ":" or "/" command.
|
- For Command-line mode: When entering a ":" or "/" command.
|
||||||
|
- For Terminal mode: When typing in a |:terminal| buffer.
|
||||||
|
|
||||||
Special case: While typing a count for a command in Normal mode, mapping zero
|
Special case: While typing a count for a command in Normal mode, mapping zero
|
||||||
is disabled. This makes it possible to map zero without making it impossible
|
is disabled. This makes it possible to map zero without making it impossible
|
||||||
@@ -675,6 +697,10 @@ The special key name "<Plug>" can be used for an internal mapping, which is
|
|||||||
not to be matched with any key sequence. This is useful in plugins
|
not to be matched with any key sequence. This is useful in plugins
|
||||||
|using-<Plug>|.
|
|using-<Plug>|.
|
||||||
|
|
||||||
|
*<MouseMove>*
|
||||||
|
The special key name "<MouseMove>" can be used to handle mouse movement. It
|
||||||
|
needs to be enabled with 'mousemoveevent'. Currently only works in the GUI.
|
||||||
|
|
||||||
*<Char>* *<Char->*
|
*<Char>* *<Char->*
|
||||||
To map a character by its decimal, octal or hexadecimal number the <Char>
|
To map a character by its decimal, octal or hexadecimal number the <Char>
|
||||||
construct can be used:
|
construct can be used:
|
||||||
@@ -962,8 +988,7 @@ g@{motion} Call the function set by the 'operatorfunc' option.
|
|||||||
"line" {motion} was |linewise|
|
"line" {motion} was |linewise|
|
||||||
"char" {motion} was |characterwise|
|
"char" {motion} was |characterwise|
|
||||||
"block" {motion} was |blockwise-visual|
|
"block" {motion} was |blockwise-visual|
|
||||||
Although "block" would rarely appear, since it can
|
The type can be forced, see |forced-motion|.
|
||||||
only result from Visual mode where "g@" is not useful.
|
|
||||||
{not available when compiled without the |+eval|
|
{not available when compiled without the |+eval|
|
||||||
feature}
|
feature}
|
||||||
|
|
||||||
@@ -974,28 +999,56 @@ Here is an example that counts the number of spaces with <F4>: >
|
|||||||
" doubling <F4> works on a line
|
" doubling <F4> works on a line
|
||||||
nnoremap <expr> <F4><F4> CountSpaces() .. '_'
|
nnoremap <expr> <F4><F4> CountSpaces() .. '_'
|
||||||
|
|
||||||
function CountSpaces(type = '') abort
|
function CountSpaces(context = {}, type = '') abort
|
||||||
if a:type == ''
|
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@'
|
return 'g@'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let sel_save = &selection
|
let save = #{
|
||||||
let reg_save = getreginfo('"')
|
\ clipboard: &clipboard,
|
||||||
let cb_save = &clipboard
|
\ selection: &selection,
|
||||||
let visual_marks_save = [getpos("'<"), getpos("'>")]
|
\ virtualedit: [&l:virtualedit, &g:virtualedit],
|
||||||
|
\ register: getreginfo('"'),
|
||||||
|
\ visual_marks: [getpos("'<"), getpos("'>")],
|
||||||
|
\ }
|
||||||
|
|
||||||
try
|
try
|
||||||
set clipboard= selection=inclusive
|
set clipboard= selection=inclusive virtualedit=
|
||||||
let commands = #{line: "'[V']y", char: "`[v`]y", block: "`[\<c-v>`]y"}
|
let commands = #{
|
||||||
silent exe 'noautocmd keepjumps normal! ' .. get(commands, a:type, '')
|
\ line: "'[V']",
|
||||||
echom getreg('"')->count(' ')
|
\ 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
|
finally
|
||||||
call setreg('"', reg_save)
|
call setreg('"', save.register)
|
||||||
call setpos("'<", visual_marks_save[0])
|
call setpos("'<", save.visual_marks[0])
|
||||||
call setpos("'>", visual_marks_save[1])
|
call setpos("'>", save.visual_marks[1])
|
||||||
let &clipboard = cb_save
|
let &clipboard = save.clipboard
|
||||||
let &selection = sel_save
|
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
|
endtry
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
@@ -1365,7 +1418,7 @@ scripts.
|
|||||||
|
|
||||||
*:command-verbose*
|
*:command-verbose*
|
||||||
When 'verbose' is non-zero, listing a command will also display where it was
|
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
|
:verbose command TOhtml
|
||||||
< Name Args Range Complete Definition ~
|
< Name Args Range Complete Definition ~
|
||||||
@@ -1398,7 +1451,7 @@ See |:verbose-cmd| for more information.
|
|||||||
|
|
||||||
|
|
||||||
Command attributes ~
|
Command attributes ~
|
||||||
|
*command-attributes*
|
||||||
User-defined commands are treated by Vim just like any other Ex commands. They
|
User-defined commands are treated by Vim just like any other Ex commands. They
|
||||||
can have arguments, or have a range specified. Arguments are subject to
|
can have arguments, or have a range specified. Arguments are subject to
|
||||||
completion as filenames, buffers, etc. Exactly how this works depends upon the
|
completion as filenames, buffers, etc. Exactly how this works depends upon the
|
||||||
@@ -1484,6 +1537,8 @@ completion can be enabled:
|
|||||||
-complete=custom,{func} custom completion, defined via {func}
|
-complete=custom,{func} custom completion, defined via {func}
|
||||||
-complete=customlist,{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.
|
Note: That some completion methods might expand environment variables.
|
||||||
|
|
||||||
|
|
||||||
@@ -1513,9 +1568,11 @@ The function arguments are:
|
|||||||
The function may use these for determining context. For the "custom"
|
The function may use these for determining context. For the "custom"
|
||||||
argument, it is not necessary to filter candidates against the (implicit
|
argument, it is not necessary to filter candidates against the (implicit
|
||||||
pattern in) ArgLead. Vim will filter the candidates with its regexp engine
|
pattern in) ArgLead. Vim will filter the candidates with its regexp engine
|
||||||
after function return, and this is probably more efficient in most cases. For
|
after function return, and this is probably more efficient in most cases. If
|
||||||
the "customlist" argument, Vim will not filter the returned completion
|
'wildoptions' contains "fuzzy", then the candidates will be filtered using
|
||||||
candidates and the user supplied function should filter the candidates.
|
|fuzzy-matching|. For the "customlist" argument, Vim will not
|
||||||
|
filter the returned completion candidates and the user supplied function
|
||||||
|
should filter the candidates.
|
||||||
|
|
||||||
The following example lists user names to a Finger command >
|
The following example lists user names to a Finger command >
|
||||||
:com -complete=custom,ListUsers -nargs=1 Finger !finger <args>
|
:com -complete=custom,ListUsers -nargs=1 Finger !finger <args>
|
||||||
@@ -1649,12 +1706,12 @@ The valid escape sequences are
|
|||||||
Examples: >
|
Examples: >
|
||||||
command! -nargs=+ -complete=file MyEdit
|
command! -nargs=+ -complete=file MyEdit
|
||||||
\ for f in expand(<q-args>, 0, 1) |
|
\ for f in expand(<q-args>, 0, 1) |
|
||||||
\ exe '<mods> split ' . f |
|
\ exe '<mods> split ' .. f |
|
||||||
\ endfor
|
\ endfor
|
||||||
|
|
||||||
function! SpecialEdit(files, mods)
|
function! SpecialEdit(files, mods)
|
||||||
for f in expand(a:files, 0, 1)
|
for f in expand(a:files, 0, 1)
|
||||||
exe a:mods . ' split ' . f
|
exe a:mods .. ' split ' .. f
|
||||||
endfor
|
endfor
|
||||||
endfunction
|
endfunction
|
||||||
command! -nargs=+ -complete=file Sedit
|
command! -nargs=+ -complete=file Sedit
|
||||||
@@ -1730,7 +1787,7 @@ This will invoke: >
|
|||||||
: let i = 0
|
: let i = 0
|
||||||
: while i < argc()
|
: while i < argc()
|
||||||
: if filereadable(argv(i))
|
: if filereadable(argv(i))
|
||||||
: execute "e " . argv(i)
|
: execute "e " .. argv(i)
|
||||||
: execute a:command
|
: execute a:command
|
||||||
: endif
|
: endif
|
||||||
: let i = i + 1
|
: let i = i + 1
|
||||||
|
|||||||
@@ -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 Apr 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||||
@@ -702,7 +702,7 @@ USING RESOURCE FILES
|
|||||||
Instead of specifying 'guifontset', you can set X11 resources and Vim will
|
Instead of specifying 'guifontset', you can set X11 resources and Vim will
|
||||||
pick them up. This is only for people who know how X resource files work.
|
pick them up. This is only for people who know how X resource files work.
|
||||||
|
|
||||||
For Motif and Athena insert these three lines in your $HOME/.Xdefaults file:
|
For Motif insert these three lines in your $HOME/.Xdefaults file:
|
||||||
|
|
||||||
Vim.font: |base_font_name_list|
|
Vim.font: |base_font_name_list|
|
||||||
Vim*fontSet: |base_font_name_list|
|
Vim*fontSet: |base_font_name_list|
|
||||||
@@ -862,8 +862,8 @@ Use the RPM or port for your system.
|
|||||||
window specific to the input method.
|
window specific to the input method.
|
||||||
|
|
||||||
|
|
||||||
USING XIM *multibyte-input* *E284* *E286* *E287* *E288*
|
USING XIM *multibyte-input* *E284* *E285* *E286* *E287*
|
||||||
*E285* *E289*
|
*E288* *E289*
|
||||||
|
|
||||||
Note that Display and Input are independent. It is possible to see your
|
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
|
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 options 'iminsert', 'imsearch' and 'imcmdline' can be used to choose
|
||||||
the different input methods or disable them temporarily.
|
the different input methods or disable them temporarily.
|
||||||
|
|
||||||
WHAT IS IME
|
On Windows 9x and Windows NT 4.0 there was *global-ime* , but this is no
|
||||||
IME is a part of East asian version Windows. That helps you to input
|
longer supported. You can still find documentation for Active Input Method
|
||||||
multibyte character. English and other language version Windows does not
|
Manager (Global IME) here:
|
||||||
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)
|
|
||||||
http://msdn.microsoft.com/en-us/library/aa741221(v=VS.85).aspx
|
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
|
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
|
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:
|
of Windows you use. For example, on my Windows 2000 box:
|
||||||
@@ -1301,7 +1280,7 @@ internally.
|
|||||||
|
|
||||||
Vim has comprehensive UTF-8 support. It works well in:
|
Vim has comprehensive UTF-8 support. It works well in:
|
||||||
- xterm with UTF-8 support enabled
|
- xterm with UTF-8 support enabled
|
||||||
- Athena, Motif and GTK GUI
|
- Motif and GTK GUI
|
||||||
- MS-Windows GUI
|
- MS-Windows GUI
|
||||||
- several other platforms
|
- several other platforms
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -29,8 +29,7 @@ depends on the 'shortmess' option.
|
|||||||
Clear messages, keeping only the {count} most
|
Clear messages, keeping only the {count} most
|
||||||
recent ones.
|
recent ones.
|
||||||
|
|
||||||
The number of remembered messages is fixed at 20 for the tiny version and 200
|
The number of remembered messages is fixed at 200.
|
||||||
for other versions.
|
|
||||||
|
|
||||||
*g<*
|
*g<*
|
||||||
The "g<" command can be used to see the last page of previous command output.
|
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.
|
maintainer when you spot a mistake.
|
||||||
|
|
||||||
If you want to find help on a specific (error) message, use the ID at the
|
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: >
|
Use: >
|
||||||
|
|
||||||
@@ -63,6 +62,8 @@ If you are lazy, it also works without the shift key: >
|
|||||||
|
|
||||||
:help e72
|
:help e72
|
||||||
|
|
||||||
|
The number in this ID has no meaning.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
2. Error messages *error-messages* *errors*
|
2. Error messages *error-messages* *errors*
|
||||||
|
|
||||||
@@ -77,116 +78,116 @@ See `:messages` above.
|
|||||||
LIST OF MESSAGES
|
LIST OF MESSAGES
|
||||||
*E222* *E228* *E232* *E293* *E298* *E304* *E317*
|
*E222* *E228* *E232* *E293* *E298* *E304* *E317*
|
||||||
*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
|
*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
|
||||||
*E323* *E341* *E473* *E570* *E685* *E292* >
|
*E323* *E341* *E473* *E570* *E685* *E292*
|
||||||
Add to read buffer
|
Add to read buffer ~
|
||||||
makemap: Illegal mode
|
makemap: Illegal mode ~
|
||||||
Cannot create BalloonEval with both message and callback
|
Cannot create BalloonEval with both message and callback ~
|
||||||
Hangul automata ERROR
|
block was not locked ~
|
||||||
block was not locked
|
Didn't get block nr {N}? ~
|
||||||
Didn't get block nr {N}?
|
ml_upd_block0(): Didn't get block 0?? ~
|
||||||
ml_upd_block0(): Didn't get block 0??
|
pointer block id wrong {N} ~
|
||||||
pointer block id wrong {N}
|
Updated too many blocks? ~
|
||||||
Updated too many blocks?
|
get_varp ERROR ~
|
||||||
get_varp ERROR
|
u_undo: line numbers wrong ~
|
||||||
u_undo: line numbers wrong
|
undo list corrupt ~
|
||||||
undo list corrupt
|
undo line missing ~
|
||||||
undo line missing
|
ml_get: cannot find line {N} in buffer {nr} {name} ~
|
||||||
ml_get: cannot find line {N}
|
line number out of range: {N} past the end ~
|
||||||
cannot find line {N}
|
line count wrong in block {N} ~
|
||||||
line number out of range: {N} past the end
|
Internal error: lalloc(0, ) ~
|
||||||
line count wrong in block {N}
|
Internal error: {function} ~
|
||||||
Internal error
|
Internal error in regexp ~
|
||||||
Internal error: {function}
|
fatal error in cs_manage_matches ~
|
||||||
fatal error in cs_manage_matches
|
Invalid count for del_bytes(): {N} ~
|
||||||
Invalid count for del_bytes(): {N}
|
|
||||||
|
|
||||||
This is an internal error. If you can reproduce it, please send in a bug
|
This is an internal error. If you can reproduce it, please send in a bug
|
||||||
report. |bugs|
|
report. |bugs|
|
||||||
|
|
||||||
>
|
|
||||||
ATTENTION
|
ATTENTION ~
|
||||||
Found a swap file by the name ...
|
Found a swap file by the name ... ~
|
||||||
|
|
||||||
See |ATTENTION|.
|
See |ATTENTION|.
|
||||||
|
|
||||||
*E92* >
|
*E92*
|
||||||
Buffer {N} not found
|
Buffer {N} not found ~
|
||||||
|
|
||||||
The buffer you requested does not exist. This can also happen when you have
|
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.
|
wiped out a buffer which contains a mark or is referenced in another way.
|
||||||
|:bwipeout|
|
|:bwipeout|
|
||||||
|
|
||||||
*E95* >
|
*E95*
|
||||||
Buffer with this name already exists
|
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* >
|
*E72*
|
||||||
Close error on swap file
|
Close error on swap file ~
|
||||||
|
|
||||||
The |swap-file|, that is used to keep a copy of the edited text, could not be
|
The |swap-file|, that is used to keep a copy of the edited text, could not be
|
||||||
closed properly. Mostly harmless.
|
closed properly. Mostly harmless.
|
||||||
|
|
||||||
*E169* >
|
*E169*
|
||||||
Command too recursive
|
Command too recursive ~
|
||||||
|
|
||||||
This happens when an Ex command executes an Ex command that executes an Ex
|
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
|
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
|
larger. When it's more there probably is an endless loop. Probably a
|
||||||
|:execute| or |:source| command is involved.
|
|:execute| or |:source| command is involved.
|
||||||
|
|
||||||
*E254* >
|
*E254*
|
||||||
Cannot allocate color {name}
|
Cannot allocate color {name} ~
|
||||||
|
|
||||||
The color name {name} is unknown. See |gui-colors| for a list of colors that
|
The color name {name} is unknown. See |gui-colors| for a list of colors that
|
||||||
are available on most systems.
|
are available on most systems.
|
||||||
|
|
||||||
*E1244* >
|
*E1244*
|
||||||
Bad color string: {str}
|
Bad color string: {str} ~
|
||||||
|
|
||||||
The provided color did not conform to the pattern #rrggbb
|
The provided color did not conform to the pattern #rrggbb
|
||||||
|
|
||||||
*E458* >
|
*E458*
|
||||||
Cannot allocate colormap entry, some colors may be incorrect
|
Cannot allocate colormap entry, some colors may be incorrect ~
|
||||||
|
|
||||||
This means that there are not enough colors available for Vim. It will still
|
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
|
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
|
stopping other applications that use many colors, or start them after starting
|
||||||
gvim.
|
gvim.
|
||||||
Browsers are known to consume a lot of colors. You can avoid this with
|
Browsers are known to consume a lot of colors. You can avoid this with
|
||||||
netscape by telling it to use its own colormap: >
|
netscape by telling it to use its own colormap:
|
||||||
netscape -install
|
netscape -install ~
|
||||||
Or tell it to limit to a certain number of colors (64 should work well): >
|
Or tell it to limit to a certain number of colors (64 should work well):
|
||||||
netscape -ncols 64
|
netscape -ncols 64 ~
|
||||||
This can also be done with a line in your Xdefaults file: >
|
This can also be done with a line in your Xdefaults file:
|
||||||
Netscape*installColormap: Yes
|
Netscape*installColormap: Yes ~
|
||||||
or >
|
or
|
||||||
Netscape*maxImageColors: 64
|
Netscape*maxImageColors: 64 ~
|
||||||
<
|
|
||||||
*E79* >
|
*E79*
|
||||||
Cannot expand wildcards
|
Cannot expand wildcards ~
|
||||||
|
|
||||||
A filename contains a strange combination of characters, which causes Vim to
|
A filename contains a strange combination of characters, which causes Vim to
|
||||||
attempt expanding wildcards but this fails. This does NOT mean that no
|
attempt expanding wildcards but this fails. This does NOT mean that no
|
||||||
matching file names could be found, but that the pattern was illegal.
|
matching file names could be found, but that the pattern was illegal.
|
||||||
|
|
||||||
*E459* >
|
*E459*
|
||||||
Cannot go back to previous directory
|
Cannot go back to previous directory ~
|
||||||
|
|
||||||
While expanding a file name, Vim failed to go back to the previously used
|
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
|
directory. All file names being used may be invalid now! You need to have
|
||||||
execute permission on the current directory.
|
execute permission on the current directory.
|
||||||
|
|
||||||
*E190* *E212* >
|
*E190* *E212*
|
||||||
Cannot open "{filename}" for writing
|
Cannot open "{filename}" for writing ~
|
||||||
Can't open file for writing
|
Can't open file for writing ~
|
||||||
|
|
||||||
For some reason the file you are writing to cannot be created or overwritten.
|
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
|
The reason could be that you do not have permission to write in the directory
|
||||||
or the file name is not valid.
|
or the file name is not valid.
|
||||||
|
|
||||||
*E166* >
|
*E166*
|
||||||
Can't open linked file for writing
|
Can't open linked file for writing ~
|
||||||
|
|
||||||
You are trying to write to a file which can't be overwritten, and the file is
|
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
|
a link (either a hard link or a symbolic link). Writing might still be
|
||||||
@@ -197,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
|
manually delete the link or the file, or change the permissions so that Vim
|
||||||
can overwrite.
|
can overwrite.
|
||||||
|
|
||||||
*E46* >
|
*E46*
|
||||||
Cannot change read-only variable "{name}"
|
Cannot change read-only variable "{name}" ~
|
||||||
|
|
||||||
You are trying to assign a value to an argument of a function |a:var| or a Vim
|
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.
|
internal variable |v:var| which is read-only.
|
||||||
|
|
||||||
*E90* >
|
*E90*
|
||||||
Cannot unload last buffer
|
Cannot unload last buffer ~
|
||||||
|
|
||||||
Vim always requires one buffer to be loaded, otherwise there would be nothing
|
Vim always requires one buffer to be loaded, otherwise there would be nothing
|
||||||
to display in the window.
|
to display in the window.
|
||||||
|
|
||||||
*E40* >
|
*E40*
|
||||||
Can't open errorfile <filename>
|
Can't open errorfile <filename> ~
|
||||||
|
|
||||||
When using the ":make" or ":grep" commands: The file used to save the error
|
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:
|
messages or grep output cannot be opened. This can have several causes:
|
||||||
@@ -222,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
|
- The 'grepprg' or 'makeprg' could not be executed. This cannot always be
|
||||||
detected (especially on MS-Windows). Check your $PATH.
|
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
|
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
|
to be read, but the command didn't run successfully. This can be caused by
|
||||||
@@ -231,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,
|
related options. It might also be that the external command was not found,
|
||||||
there is no different error message for that.
|
there is no different error message for that.
|
||||||
|
|
||||||
*E12* >
|
*E12*
|
||||||
Command not allowed from exrc/vimrc in current dir or tag search
|
Command not allowed from exrc/vimrc in current dir or tag search ~
|
||||||
|
|
||||||
Some commands are not allowed for security reasons. These commands mostly
|
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
|
come from a .exrc or .vimrc file in the current directory, or from a tags
|
||||||
file. Also see 'secure'.
|
file. Also see 'secure'.
|
||||||
|
|
||||||
*E74* >
|
*E74*
|
||||||
Command too complex
|
Command too complex ~
|
||||||
|
|
||||||
A mapping resulted in a very long command string. Could be caused by a
|
A mapping resulted in a very long command string. Could be caused by a
|
||||||
mapping that indirectly calls itself.
|
mapping that indirectly calls itself.
|
||||||
|
|
||||||
>
|
|
||||||
CONVERSION ERROR
|
CONVERSION ERROR ~
|
||||||
|
|
||||||
When writing a file and the text "CONVERSION ERROR" appears, this means that
|
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
|
some bits were lost when converting text from the internally used UTF-8 to the
|
||||||
@@ -257,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
|
be deleted, so you can move it back into place if you want to discard the
|
||||||
changes.
|
changes.
|
||||||
|
|
||||||
*E302* >
|
*E302*
|
||||||
Could not rename swap file
|
Could not rename swap file ~
|
||||||
|
|
||||||
When the file name changes, Vim tries to rename the |swap-file| as well.
|
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.
|
This failed and the old swap file is now still used. Mostly harmless.
|
||||||
|
|
||||||
*E43* *E44* >
|
*E43* *E44*
|
||||||
Damaged match string
|
Damaged match string ~
|
||||||
Corrupted regexp program
|
Corrupted regexp program ~
|
||||||
|
|
||||||
Something inside Vim went wrong and resulted in a corrupted regexp. If you
|
Something inside Vim went wrong and resulted in a corrupted regexp. If you
|
||||||
know how to reproduce this problem, please report it. |bugs|
|
know how to reproduce this problem, please report it. |bugs|
|
||||||
|
|
||||||
*E208* *E209* *E210* >
|
*E208* *E209* *E210*
|
||||||
Error writing to "{filename}"
|
Error writing to "{filename}" ~
|
||||||
Error closing "{filename}"
|
Error closing "{filename}" ~
|
||||||
Error reading "{filename}"
|
Error reading "{filename}" ~
|
||||||
|
|
||||||
This occurs when Vim is trying to rename a file, but a simple change of file
|
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.
|
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
|
The result may be that both the original file and the destination file exist
|
||||||
and the destination file may be incomplete.
|
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.
|
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
|
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.
|
stdin and stderr are redirected and executing a script that doesn't exit Vim.
|
||||||
|
|
||||||
*E47* >
|
*E47*
|
||||||
Error while reading errorfile
|
Error while reading errorfile ~
|
||||||
|
|
||||||
Reading the error file was not possible. This is NOT caused by an error
|
Reading the error file was not possible. This is NOT caused by an error
|
||||||
message that was not recognized.
|
message that was not recognized.
|
||||||
|
|
||||||
*E80* >
|
*E80*
|
||||||
Error while writing
|
Error while writing ~
|
||||||
|
|
||||||
Writing a file was not completed successfully. The file is probably
|
Writing a file was not completed successfully. The file is probably
|
||||||
incomplete.
|
incomplete.
|
||||||
|
|
||||||
*E13* *E189* >
|
*E13* *E189*
|
||||||
File exists (add ! to override)
|
File exists (add ! to override) ~
|
||||||
"{filename}" exists (add ! to override)
|
"{filename}" exists (add ! to override) ~
|
||||||
|
|
||||||
You are protected from accidentally overwriting a file. When you want to
|
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.
|
write anyway, use the same command, but add a "!" just after the command.
|
||||||
@@ -310,8 +311,8 @@ Example: >
|
|||||||
changes to: >
|
changes to: >
|
||||||
:w! /tmp/test
|
:w! /tmp/test
|
||||||
<
|
<
|
||||||
*E768* >
|
*E768*
|
||||||
Swap file exists: {filename} (:silent! overrides)
|
Swap file exists: {filename} (:silent! overrides) ~
|
||||||
|
|
||||||
You are protected from overwriting a file that is being edited by Vim. This
|
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.
|
happens when you use ":w! filename" and a swapfile is found.
|
||||||
@@ -323,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
|
< The special command is needed, since you already added the ! for overwriting
|
||||||
an existing file.
|
an existing file.
|
||||||
|
|
||||||
*E139* >
|
*E139*
|
||||||
File is loaded in another buffer
|
File is loaded in another buffer ~
|
||||||
|
|
||||||
You are trying to write a file under a name which is also used in another
|
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.
|
buffer. This would result in two versions of the same file.
|
||||||
|
|
||||||
*E142* >
|
*E142*
|
||||||
File not written: Writing is disabled by 'write' option
|
File not written: Writing is disabled by 'write' option ~
|
||||||
|
|
||||||
The 'write' option is off. This makes all commands that try to write a file
|
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.
|
generate this message. This could be caused by a |-m| commandline argument.
|
||||||
You can switch the 'write' option on with ":set write".
|
You can switch the 'write' option on with ":set write".
|
||||||
|
|
||||||
*E25* >
|
*E25*
|
||||||
GUI cannot be used: Not enabled at compile time
|
GUI cannot be used: Not enabled at compile time ~
|
||||||
|
|
||||||
You are running a version of Vim that doesn't include the GUI code. Therefore
|
You are running a version of Vim that doesn't include the GUI code. Therefore
|
||||||
"gvim" and ":gui" don't work.
|
"gvim" and ":gui" don't work.
|
||||||
|
|
||||||
*E49* >
|
*E49*
|
||||||
Invalid scroll size
|
Invalid scroll size ~
|
||||||
|
|
||||||
This is caused by setting an invalid value for the 'scroll', 'scrolljump' or
|
This is caused by setting an invalid value for the 'scroll', 'scrolljump' or
|
||||||
'scrolloff' options.
|
'scrolloff' options.
|
||||||
|
|
||||||
*E17* >
|
*E17*
|
||||||
"{filename}" is a directory
|
"{filename}" is a directory ~
|
||||||
|
|
||||||
You tried to write a file with the name of a directory. This is not possible.
|
You tried to write a file with the name of a directory. This is not possible.
|
||||||
You probably need to append a file name.
|
You probably need to append a file name.
|
||||||
|
|
||||||
*E19* >
|
*E19*
|
||||||
Mark has invalid line number
|
Mark has invalid line number ~
|
||||||
|
|
||||||
You are using a mark that has a line number that doesn't exist. This can
|
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
|
happen when you have a mark in another file, and some other program has
|
||||||
deleted lines from it.
|
deleted lines from it.
|
||||||
|
|
||||||
*E219* *E220* >
|
*E219* *E220*
|
||||||
Missing {.
|
Missing {. ~
|
||||||
Missing }.
|
Missing }. ~
|
||||||
|
|
||||||
Using a {} construct in a file name, but there is a { without a matching } or
|
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
|
the other way around. It should be used like this: {foo,bar}. This matches
|
||||||
"foo" and "bar".
|
"foo" and "bar".
|
||||||
|
|
||||||
*E315* >
|
*E315*
|
||||||
ml_get: invalid lnum: {number}
|
ml_get: invalid lnum: {number} ~
|
||||||
|
|
||||||
This is an internal Vim error. Please try to find out how it can be
|
This is an internal Vim error. Please try to find out how it can be
|
||||||
reproduced, and submit a bug report |bugreport.vim|.
|
reproduced, and submit a bug report |bugreport.vim|.
|
||||||
|
|
||||||
*E173* >
|
*E173*
|
||||||
{number} more files to edit
|
{number} more files to edit ~
|
||||||
|
|
||||||
You are trying to exit, while the last item in the argument list has not been
|
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
|
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
|
files to work on. See |argument-list|. If you do want to exit, just do it
|
||||||
again and it will work.
|
again and it will work.
|
||||||
|
|
||||||
*E23* *E194* >
|
*E23* *E194*
|
||||||
No alternate file
|
No alternate file ~
|
||||||
No alternate file name to substitute for '#'
|
No alternate file name to substitute for '#' ~
|
||||||
|
|
||||||
The alternate file is not defined yet. See |alternate-file|.
|
The alternate file is not defined yet. See |alternate-file|.
|
||||||
|
|
||||||
*E32* >
|
*E32*
|
||||||
No file name
|
No file name ~
|
||||||
|
|
||||||
The current buffer has no name. To write it, use ":w fname". Or give the
|
The current buffer has no name. To write it, use ":w fname". Or give the
|
||||||
buffer a name with ":file fname".
|
buffer a name with ":file fname".
|
||||||
|
|
||||||
*E141* >
|
*E141*
|
||||||
No file name for buffer {number}
|
No file name for buffer {number} ~
|
||||||
|
|
||||||
One of the buffers that was changed does not have a file name. Therefore it
|
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: >
|
cannot be written. You need to give the buffer a file name: >
|
||||||
:buffer {number}
|
:buffer {number}
|
||||||
:file {filename}
|
:file {filename}
|
||||||
<
|
<
|
||||||
*E33* >
|
*E33*
|
||||||
No previous substitute regular expression
|
No previous substitute regular expression ~
|
||||||
|
|
||||||
When using the '~' character in a pattern, it is replaced with the previously
|
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
|
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
|
been used yet. See |/~|. This also happens when using ":s/pat/%/", where the
|
||||||
"%" stands for the previous substitute string.
|
"%" stands for the previous substitute string.
|
||||||
|
|
||||||
*E35* >
|
*E35*
|
||||||
No previous regular expression
|
No previous regular expression ~
|
||||||
|
|
||||||
When using an empty search pattern, the previous search pattern is used. But
|
When using an empty search pattern, the previous search pattern is used. But
|
||||||
that is not possible if there was no previous search.
|
that is not possible if there was no previous search.
|
||||||
|
|
||||||
*E24* >
|
*E24*
|
||||||
No such abbreviation
|
No such abbreviation ~
|
||||||
|
|
||||||
You have used an ":unabbreviate" command with an argument which is not an
|
You have used an ":unabbreviate" command with an argument which is not an
|
||||||
existing abbreviation. All variations of this command give the same message:
|
existing abbreviation. All variations of this command give the same message:
|
||||||
":cunabbrev", ":iunabbrev", etc. Check for trailing white space.
|
":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
|
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.
|
device and it isn't present. You can ignore this error.
|
||||||
|
|
||||||
*E31* >
|
*E31*
|
||||||
No such mapping
|
No such mapping ~
|
||||||
|
|
||||||
You have used an ":unmap" command with an argument which is not an existing
|
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",
|
mapping. All variations of this command give the same message: ":cunmap",
|
||||||
@@ -440,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>".
|
- If the mapping is buffer-local you need to use ":unmap <buffer>".
|
||||||
|:map-<buffer>|
|
|:map-<buffer>|
|
||||||
|
|
||||||
*E37* *E89* >
|
*E37* *E89*
|
||||||
No write since last change (add ! to override)
|
No write since last change (add ! to override) ~
|
||||||
No write since last change for buffer {N} (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
|
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
|
losing your work. You can either write the changed file with ":w", or, if you
|
||||||
@@ -452,8 +453,8 @@ adding a '!' character just after the command you used. Example: >
|
|||||||
changes to: >
|
changes to: >
|
||||||
:e! other_file
|
:e! other_file
|
||||||
<
|
<
|
||||||
*E162* >
|
*E162*
|
||||||
No write since last change for buffer "{name}"
|
No write since last change for buffer "{name}" ~
|
||||||
|
|
||||||
This appears when you try to exit Vim while some buffers are changed. You
|
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
|
will either have to write the changed buffer (with |:w|), or use a command to
|
||||||
@@ -461,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
|
don't throw away changes you really want to keep. You might have forgotten
|
||||||
about a buffer, especially when 'hidden' is set.
|
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
|
This appears when executing a shell command while at least one buffer was
|
||||||
changed. To avoid the message reset the 'warn' option.
|
changed. To avoid the message reset the 'warn' option.
|
||||||
|
|
||||||
*E38* >
|
*E38*
|
||||||
Null argument
|
Null argument ~
|
||||||
|
|
||||||
Something inside Vim went wrong and resulted in a NULL pointer. If you know
|
Something inside Vim went wrong and resulted in a NULL pointer. If you know
|
||||||
how to reproduce this problem, please report it. |bugs|
|
how to reproduce this problem, please report it. |bugs|
|
||||||
|
|
||||||
*E41* *E82* *E83* *E342* >
|
*E41* *E82* *E83* *E342*
|
||||||
Out of memory!
|
Out of memory! ~
|
||||||
Out of memory! (allocating {number} bytes)
|
Out of memory! (allocating {number} bytes) ~
|
||||||
Cannot allocate any buffer, exiting...
|
Cannot allocate any buffer, exiting... ~
|
||||||
Cannot allocate buffer, using other one...
|
Cannot allocate buffer, using other one... ~
|
||||||
|
|
||||||
Oh, oh. You must have been doing something complicated, or some other program
|
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
|
is consuming your memory. Be careful! Vim is not completely prepared for an
|
||||||
@@ -495,16 +496,16 @@ in memory, you can reduce that with these options:
|
|||||||
helps for a change that affects all lines.
|
helps for a change that affects all lines.
|
||||||
- 'undoreload' Set to zero to disable.
|
- 'undoreload' Set to zero to disable.
|
||||||
|
|
||||||
*E339* >
|
*E339*
|
||||||
Pattern too long
|
Pattern too long ~
|
||||||
|
|
||||||
This happens on systems with 16 bit ints: The compiled regexp pattern is
|
This happens on systems with 16 bit ints: The compiled regexp pattern is
|
||||||
longer than about 65000 characters. Try using a shorter pattern.
|
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.
|
It also happens when the offset of a rule doesn't fit in the space available.
|
||||||
Try simplifying the pattern.
|
Try simplifying the pattern.
|
||||||
|
|
||||||
*E45* >
|
*E45*
|
||||||
'readonly' option is set (add ! to override)
|
'readonly' option is set (add ! to override) ~
|
||||||
|
|
||||||
You are trying to write a file that was marked as read-only. To write the
|
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
|
file anyway, either reset the 'readonly' option, or add a '!' character just
|
||||||
@@ -513,18 +514,18 @@ after the command you used. Example: >
|
|||||||
changes to: >
|
changes to: >
|
||||||
:w!
|
:w!
|
||||||
<
|
<
|
||||||
*E294* *E295* *E301* >
|
*E294* *E295* *E301*
|
||||||
Read error in swap file
|
Read error in swap file ~
|
||||||
Seek error in swap file read
|
Seek error in swap file read ~
|
||||||
Oops, lost the swap file!!!
|
Oops, lost the swap file!!! ~
|
||||||
|
|
||||||
Vim tried to read text from the |swap-file|, but something went wrong. The
|
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
|
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
|
write a buffer. You may want to write it in another file and check for
|
||||||
differences.
|
differences.
|
||||||
|
|
||||||
*E192* >
|
*E192*
|
||||||
Recursive use of :normal too deep
|
Recursive use of :normal too deep ~
|
||||||
|
|
||||||
You are using a ":normal" command, whose argument again uses a ":normal"
|
You are using a ":normal" command, whose argument again uses a ":normal"
|
||||||
command in a recursive way. This is restricted to 'maxmapdepth' levels. This
|
command in a recursive way. This is restricted to 'maxmapdepth' levels. This
|
||||||
@@ -532,16 +533,16 @@ example illustrates how to get this message: >
|
|||||||
:map gq :normal gq<CR>
|
:map gq :normal gq<CR>
|
||||||
If you type "gq", it will execute this mapping, which will call "gq" again.
|
If you type "gq", it will execute this mapping, which will call "gq" again.
|
||||||
|
|
||||||
*E22* >
|
*E22*
|
||||||
Scripts nested too deep
|
Scripts nested too deep ~
|
||||||
|
|
||||||
Scripts can be read with the "-s" command-line argument and with the ":source"
|
Scripts can be read with the "-s" command-line argument and with the
|
||||||
command. The script can then again read another script. This can continue
|
`:source!` command. The script can then again read another script. This can
|
||||||
for about 14 levels. When more nesting is done, Vim assumes that there is a
|
continue for about 14 levels. When more nesting is done, Vim assumes that
|
||||||
recursive loop somewhere and stops with this error message.
|
there is a recursive loop and stops with this error message.
|
||||||
|
|
||||||
*E319* >
|
*E319*
|
||||||
Sorry, the command is not available in this version
|
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
|
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
|
using. When compiling Vim, many different features can be enabled or
|
||||||
@@ -549,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
|
system. See |+feature-list| for when which feature is available. The
|
||||||
|:version| command shows which feature Vim was compiled with.
|
|:version| command shows which feature Vim was compiled with.
|
||||||
|
|
||||||
*E300* >
|
*E300*
|
||||||
Swap file already exists (symlink attack?)
|
Swap file already exists (symlink attack?) ~
|
||||||
|
|
||||||
This message appears when Vim is trying to open a swap file and finds it
|
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,
|
already exists or finds a symbolic link in its place. This shouldn't happen,
|
||||||
@@ -559,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
|
attempting a symlink attack (could happen when editing a file in /tmp or when
|
||||||
'directory' starts with "/tmp", which is a bad choice).
|
'directory' starts with "/tmp", which is a bad choice).
|
||||||
|
|
||||||
*E432* >
|
*E432*
|
||||||
Tags file not sorted: {file name}
|
Tags file not sorted: {file name} ~
|
||||||
|
|
||||||
Vim (and Vi) expect tags files to be sorted in ASCII order. Binary searching
|
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
|
can then be used, which is a lot faster than a linear search. If your tags
|
||||||
@@ -569,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
|
tag. Sometimes this message is not given, even though the tags file is not
|
||||||
properly sorted.
|
properly sorted.
|
||||||
|
|
||||||
*E424* >
|
*E424*
|
||||||
Too many different highlighting attributes in use
|
Too many different highlighting attributes in use ~
|
||||||
|
|
||||||
Vim can only handle about 223 different kinds of highlighting. If you run
|
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
|
into this limit, you have used too many |:highlight| commands with different
|
||||||
arguments. A ":highlight link" is not counted.
|
arguments. A ":highlight link" is not counted.
|
||||||
|
|
||||||
*E77* >
|
*E77*
|
||||||
Too many file names
|
Too many file names ~
|
||||||
|
|
||||||
When expanding file names, more than one match was found. Only one match is
|
When expanding file names, more than one match was found. Only one match is
|
||||||
allowed for the command that was used.
|
allowed for the command that was used.
|
||||||
|
|
||||||
*E303* >
|
*E303*
|
||||||
Unable to open swap file for "{filename}", recovery impossible
|
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 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
|
Vim unexpectedly exits the changes will be lost. And Vim may consume a lot of
|
||||||
@@ -591,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
|
to avoid this error. This error is not given when 'directory' is empty. See
|
||||||
|swap-file|.
|
|swap-file|.
|
||||||
|
|
||||||
*E140* >
|
*E140*
|
||||||
Use ! to write partial buffer
|
Use ! to write partial buffer ~
|
||||||
|
|
||||||
When using a range to write part of a buffer, it is unusual to overwrite the
|
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
|
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.:
|
when using ":w"), therefore Vim requires using a ! after the command, e.g.:
|
||||||
":3,10w!".
|
":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
|
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:
|
X11 configuration is wrong. You can find a hint on how to solve this here:
|
||||||
http://groups.yahoo.com/group/solarisonintel/message/12179.
|
http://groups.yahoo.com/group/solarisonintel/message/12179.
|
||||||
[this URL is no longer valid]
|
[this URL is no longer valid]
|
||||||
|
|
||||||
*W10* >
|
*W10*
|
||||||
Warning: Changing a readonly file
|
Warning: Changing a readonly file ~
|
||||||
|
|
||||||
The file is read-only and you are making a change to it anyway. You can use
|
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
|
the |FileChangedRO| autocommand event to avoid this message (the autocommand
|
||||||
@@ -617,15 +618,15 @@ must reset the 'readonly' option). See 'modifiable' to completely disallow
|
|||||||
making changes to a file.
|
making changes to a file.
|
||||||
This message is only given for the first change after 'readonly' has been set.
|
This message is only given for the first change after 'readonly' has been set.
|
||||||
|
|
||||||
*W13* >
|
*W13*
|
||||||
Warning: File "{filename}" has been created after editing started
|
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 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
|
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.
|
created file. This message is not given when 'buftype' is not empty.
|
||||||
|
|
||||||
*W11* >
|
*W11*
|
||||||
Warning: File "{filename}" has changed since editing started
|
Warning: File "{filename}" has changed since editing started ~
|
||||||
|
|
||||||
The file which you have started editing has got another timestamp and the
|
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
|
contents changed (more precisely: When reading the file again with the current
|
||||||
@@ -648,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
|
If you get W11 all the time, you may need to disable "Acronis Active
|
||||||
Protection" or register Vim as a trusted service/application.
|
Protection" or register Vim as a trusted service/application.
|
||||||
|
|
||||||
*W12* >
|
*W12*
|
||||||
Warning: File "{filename}" has changed and the buffer was changed in Vim as well
|
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.
|
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
|
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.
|
on disk. This message is not given when 'buftype' is not empty.
|
||||||
|
|
||||||
*W16* >
|
*W16*
|
||||||
Warning: Mode of file "{filename}" has changed since editing started
|
Warning: Mode of file "{filename}" has changed since editing started ~
|
||||||
|
|
||||||
When the timestamp for a buffer was changed and the contents are still the
|
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
|
same but the mode (permissions) have changed. This usually occurs when
|
||||||
@@ -664,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
|
bit to be reset. It should be safe to reload the file. Set 'autoread' to
|
||||||
automatically reload the file.
|
automatically reload the file.
|
||||||
|
|
||||||
*E211* >
|
*E211*
|
||||||
File "{filename}" no longer available
|
File "{filename}" no longer available ~
|
||||||
|
|
||||||
The file which you have started editing has disappeared, or is no longer
|
The file which you have started editing has disappeared, or is no longer
|
||||||
accessible. Make sure you write the buffer somewhere to avoid losing
|
accessible. Make sure you write the buffer somewhere to avoid losing
|
||||||
changes. This message is not given when 'buftype' is not empty.
|
changes. This message is not given when 'buftype' is not empty.
|
||||||
|
|
||||||
*W14* >
|
*W14*
|
||||||
Warning: List of file names overflow
|
Warning: List of file names overflow ~
|
||||||
|
|
||||||
You must be using an awful lot of buffers. It's now possible that two buffers
|
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
|
have the same number, which causes various problems. You might want to exit
|
||||||
Vim and restart it.
|
Vim and restart it.
|
||||||
|
|
||||||
*E931* >
|
*E931*
|
||||||
Buffer cannot be registered
|
Buffer cannot be registered ~
|
||||||
|
|
||||||
Out of memory or a duplicate buffer number. May happen after W14. Looking up
|
Out of memory or a duplicate buffer number. May happen after W14. Looking up
|
||||||
a buffer will not always work, better restart Vim.
|
a buffer will not always work, better restart Vim.
|
||||||
|
|
||||||
*E296* *E297* >
|
*E296* *E297*
|
||||||
Seek error in swap file write
|
Seek error in swap file write ~
|
||||||
Write error in swap file
|
Write error in swap file ~
|
||||||
|
|
||||||
This mostly happens when the disk is full. Vim could not write text into the
|
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
|
|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
|
text may be lost without recovery being possible. Vim might run out of memory
|
||||||
when this problem persists.
|
when this problem persists.
|
||||||
|
|
||||||
*connection-refused* >
|
*connection-refused*
|
||||||
Xlib: connection to "<machine-name:0.0" refused by server
|
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
|
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
|
not allow a connection. The connection to the X server is needed to be able
|
||||||
@@ -702,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|
|
error message cannot be avoided, except by disabling the |+xterm_clipboard|
|
||||||
and |+X11| features.
|
and |+X11| features.
|
||||||
|
|
||||||
*E10* >
|
*E10*
|
||||||
\\ should be followed by /, ? or &
|
\\ should be followed by /, ? or & ~
|
||||||
|
|
||||||
A command line started with a backslash or the range of a command contained a
|
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
|
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.
|
being disabled. Remove the 'C' flag from the 'cpoptions' option to enable it.
|
||||||
Or use ":set nocp".
|
Or use ":set nocp".
|
||||||
|
|
||||||
*E471* >
|
*E471*
|
||||||
Argument required
|
Argument required ~
|
||||||
|
|
||||||
This happens when an Ex command with mandatory argument(s) was executed, but
|
This happens when an Ex command with mandatory argument(s) was executed, but
|
||||||
no argument has been specified.
|
no argument has been specified.
|
||||||
|
|
||||||
*E474* *E475* *E983* >
|
*E474* *E475* *E983*
|
||||||
Invalid argument
|
Invalid argument ~
|
||||||
Invalid argument: {arg}
|
Invalid argument: {arg} ~
|
||||||
Duplicate argument: {arg}
|
Duplicate argument: {arg} ~
|
||||||
|
|
||||||
An Ex command or function has been executed, but an invalid argument has been
|
An Ex command or function has been executed, but an invalid argument has been
|
||||||
specified.
|
specified.
|
||||||
|
|
||||||
*E488* >
|
*E488*
|
||||||
Trailing characters
|
Trailing characters ~
|
||||||
|
Trailing characters: {text} ~
|
||||||
|
|
||||||
An argument has been added to an Ex command that does not permit one.
|
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* >
|
*E477* *E478*
|
||||||
No ! allowed
|
No ! allowed ~
|
||||||
Don't panic!
|
Don't panic! ~
|
||||||
|
|
||||||
You have added a "!" after an Ex command that doesn't permit one.
|
You have added a "!" after an Ex command that doesn't permit one.
|
||||||
|
|
||||||
*E481* >
|
*E481*
|
||||||
No range allowed
|
No range allowed ~
|
||||||
|
|
||||||
A range was specified for an Ex command that doesn't permit one. See
|
A range was specified for an Ex command that doesn't permit one. See
|
||||||
|cmdline-ranges|.
|
|cmdline-ranges|.
|
||||||
|
|
||||||
*E482* *E483* >
|
*E482* *E483*
|
||||||
Can't create file {filename}
|
Can't create file {filename} ~
|
||||||
Can't get temp file name
|
Can't get temp file name ~
|
||||||
|
|
||||||
Vim cannot create a temporary file.
|
Vim cannot create a temporary file.
|
||||||
|
|
||||||
*E484* *E485* >
|
*E484* *E485*
|
||||||
Can't open file {filename}
|
Can't open file {filename} ~
|
||||||
Can't read file {filename}
|
Can't read file {filename} ~
|
||||||
|
|
||||||
Vim cannot read a temporary file. Especially on Windows, this can be caused
|
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
|
by wrong escaping of special characters for cmd.exe; the approach was
|
||||||
@@ -757,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
|
given to |system()|, or explicitly add escaping with ^. Also see
|
||||||
'shellxquote' and 'shellxescape'.
|
'shellxquote' and 'shellxescape'.
|
||||||
|
|
||||||
*E464* >
|
*E464*
|
||||||
Ambiguous use of user-defined command
|
Ambiguous use of user-defined command ~
|
||||||
|
|
||||||
There are two user-defined commands with a common name prefix, and you used
|
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|
|
Command-line completion to execute one of them. |user-cmd-ambiguous|
|
||||||
@@ -767,23 +770,22 @@ Example: >
|
|||||||
:command MyCommand2 echo "two"
|
:command MyCommand2 echo "two"
|
||||||
:MyCommand
|
:MyCommand
|
||||||
<
|
<
|
||||||
*E492* >
|
*E492*
|
||||||
Not an editor command
|
Not an editor command ~
|
||||||
|
|
||||||
You tried to execute a command that is neither an Ex command nor
|
You tried to execute a command that is neither an Ex command nor
|
||||||
a user-defined command.
|
a user-defined command.
|
||||||
|
|
||||||
*E943* >
|
*E943*
|
||||||
Command table needs to be updated, run 'make cmdidxs'
|
Command table needs to be updated, run 'make cmdidxs' ~
|
||||||
|
|
||||||
This can only happen when changing the source code, when adding a command in
|
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: >
|
src/ex_cmds.h. The lookup table then needs to be updated, by running: >
|
||||||
make cmdidxs
|
make cmdidxs
|
||||||
<
|
<
|
||||||
*E928* *E889* *E839* >
|
*E928* *E889*
|
||||||
E928: String required
|
E928: String required ~
|
||||||
E889: Number required
|
E889: Number required ~
|
||||||
E839: Bool required
|
|
||||||
|
|
||||||
These happen when a value or expression is used that does not have the
|
These happen when a value or expression is used that does not have the
|
||||||
expected type.
|
expected type.
|
||||||
@@ -796,7 +798,7 @@ This is an (incomplete) overview of various messages that Vim gives:
|
|||||||
*hit-enter* *press-enter* *hit-return*
|
*hit-enter* *press-enter* *hit-return*
|
||||||
*press-return* *hit-enter-prompt*
|
*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,
|
This message is given when there is something on the screen for you to read,
|
||||||
and the screen is about to be redrawn:
|
and the screen is about to be redrawn:
|
||||||
@@ -840,9 +842,9 @@ Also see 'mouse'. The hit-enter message is highlighted with the |hl-Question|
|
|||||||
group.
|
group.
|
||||||
|
|
||||||
|
|
||||||
*more-prompt* *pager* >
|
*more-prompt* *pager*
|
||||||
-- More --
|
-- More -- ~
|
||||||
-- More -- SPACE/d/j: screen/page/line down, b/u/k: up, q: quit
|
-- 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
|
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|
|
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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -33,7 +33,8 @@ know what the hjkl keys do. The mnemonic value of hjkl is clear from looking
|
|||||||
at the keyboard. Think of j as an arrow pointing downwards.
|
at the keyboard. Think of j as an arrow pointing downwards.
|
||||||
|
|
||||||
The 'virtualedit' option can be set to make it possible to move the cursor to
|
The 'virtualedit' option can be set to make it possible to move the cursor to
|
||||||
positions where there is no character or halfway a character.
|
positions where there is no character or within a multi-column character (like
|
||||||
|
a tab).
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Motions and operators *operator*
|
1. Motions and operators *operator*
|
||||||
@@ -386,6 +387,8 @@ w [count] words forward. |exclusive| motion.
|
|||||||
|
|
||||||
<C-Right> or *<C-Right>* *W*
|
<C-Right> or *<C-Right>* *W*
|
||||||
W [count] WORDS forward. |exclusive| motion.
|
W [count] WORDS forward. |exclusive| motion.
|
||||||
|
If <C-Right> does not work, check out
|
||||||
|
|arrow_modifiers|.
|
||||||
|
|
||||||
*e*
|
*e*
|
||||||
e Forward to the end of word [count] |inclusive|.
|
e Forward to the end of word [count] |inclusive|.
|
||||||
@@ -400,6 +403,8 @@ b [count] words backward. |exclusive| motion.
|
|||||||
|
|
||||||
<C-Left> or *<C-Left>* *B*
|
<C-Left> or *<C-Left>* *B*
|
||||||
B [count] WORDS backward. |exclusive| motion.
|
B [count] WORDS backward. |exclusive| motion.
|
||||||
|
If <C-Left> does not work, check out
|
||||||
|
|arrow_modifiers|.
|
||||||
|
|
||||||
*ge*
|
*ge*
|
||||||
ge Backward to the end of word [count] |inclusive|.
|
ge Backward to the end of word [count] |inclusive|.
|
||||||
@@ -441,35 +446,35 @@ between Vi and Vim.
|
|||||||
5. Text object motions *object-motions*
|
5. Text object motions *object-motions*
|
||||||
|
|
||||||
*(*
|
*(*
|
||||||
( [count] sentences backward. |exclusive| motion.
|
( [count] |sentence|s backward. |exclusive| motion.
|
||||||
|
|
||||||
*)*
|
*)*
|
||||||
) [count] sentences forward. |exclusive| motion.
|
) [count] |sentence|s forward. |exclusive| motion.
|
||||||
|
|
||||||
*{*
|
*{*
|
||||||
{ [count] paragraphs backward. |exclusive| motion.
|
{ [count] |paragraph|s backward. |exclusive| motion.
|
||||||
|
|
||||||
*}*
|
*}*
|
||||||
} [count] paragraphs forward. |exclusive| motion.
|
} [count] |paragraph|s forward. |exclusive| motion.
|
||||||
|
|
||||||
*]]*
|
*]]*
|
||||||
]] [count] sections forward or to the next '{' in the
|
]] [count] |section|s forward or to the next '{' in the
|
||||||
first column. When used after an operator, then also
|
first column. When used after an operator, then also
|
||||||
stops below a '}' in the first column. |exclusive|
|
stops below a '}' in the first column. |exclusive|
|
||||||
Note that |exclusive-linewise| often applies.
|
Note that |exclusive-linewise| often applies.
|
||||||
|
|
||||||
*][*
|
*][*
|
||||||
][ [count] sections forward or to the next '}' in the
|
][ [count] |section|s forward or to the next '}' in the
|
||||||
first column. |exclusive|
|
first column. |exclusive|
|
||||||
Note that |exclusive-linewise| often applies.
|
Note that |exclusive-linewise| often applies.
|
||||||
|
|
||||||
*[[*
|
*[[*
|
||||||
[[ [count] sections backward or to the previous '{' in
|
[[ [count] |section|s backward or to the previous '{' in
|
||||||
the first column. |exclusive|
|
the first column. |exclusive|
|
||||||
Note that |exclusive-linewise| often applies.
|
Note that |exclusive-linewise| often applies.
|
||||||
|
|
||||||
*[]*
|
*[]*
|
||||||
[] [count] sections backward or to the previous '}' in
|
[] [count] |section|s backward or to the previous '}' in
|
||||||
the first column. |exclusive|
|
the first column. |exclusive|
|
||||||
Note that |exclusive-linewise| often applies.
|
Note that |exclusive-linewise| often applies.
|
||||||
|
|
||||||
@@ -784,6 +789,9 @@ m< or m> Set the |'<| or |'>| mark. Useful to change what the
|
|||||||
*:k*
|
*:k*
|
||||||
:[range]k{a-zA-Z'} Same as :mark, but the space before the mark name can
|
:[range]k{a-zA-Z'} Same as :mark, but the space before the mark name can
|
||||||
be omitted.
|
be omitted.
|
||||||
|
This command is not supported in |Vim9| script,
|
||||||
|
because it is too easily confused with a variable
|
||||||
|
name.
|
||||||
|
|
||||||
*'* *'a* *`* *`a*
|
*'* *'a* *`* *`a*
|
||||||
'{a-z} `{a-z} Jump to the mark {a-z} in the current buffer.
|
'{a-z} `{a-z} Jump to the mark {a-z} in the current buffer.
|
||||||
@@ -1012,7 +1020,7 @@ These commands are not marks themselves, but jump to a mark:
|
|||||||
:let lnum = line(".")
|
:let lnum = line(".")
|
||||||
:keepjumps normal gg
|
:keepjumps normal gg
|
||||||
:call SetLastChange()
|
:call SetLastChange()
|
||||||
:keepjumps exe "normal " . lnum . "G"
|
:keepjumps exe "normal " .. lnum .. "G"
|
||||||
<
|
<
|
||||||
Note that ":keepjumps" must be used for every command.
|
Note that ":keepjumps" must be used for every command.
|
||||||
When invoking a function the commands in that function
|
When invoking a function the commands in that function
|
||||||
@@ -1034,12 +1042,10 @@ commands that start editing a new file.
|
|||||||
*CTRL-O*
|
*CTRL-O*
|
||||||
CTRL-O Go to [count] Older cursor position in jump list
|
CTRL-O Go to [count] Older cursor position in jump list
|
||||||
(not a motion command).
|
(not a motion command).
|
||||||
{not available without the |+jumplist| feature}
|
|
||||||
|
|
||||||
<Tab> or *CTRL-I* *<Tab>*
|
<Tab> or *CTRL-I* *<Tab>*
|
||||||
CTRL-I Go to [count] newer cursor position in jump list
|
CTRL-I Go to [count] newer cursor position in jump list
|
||||||
(not a motion command).
|
(not a motion command).
|
||||||
{not available without the |+jumplist| feature}
|
|
||||||
|
|
||||||
NOTE: In the GUI and in a terminal supporting
|
NOTE: In the GUI and in a terminal supporting
|
||||||
|modifyOtherKeys|, CTRL-I can be mapped separately
|
|modifyOtherKeys|, CTRL-I can be mapped separately
|
||||||
@@ -1049,18 +1055,15 @@ CTRL-I Go to [count] newer cursor position in jump list
|
|||||||
|
|
||||||
*:ju* *:jumps*
|
*:ju* *:jumps*
|
||||||
:ju[mps] Print the jump list (not a motion command).
|
:ju[mps] Print the jump list (not a motion command).
|
||||||
{not available without the |+jumplist| feature}
|
|
||||||
|
|
||||||
*:cle* *:clearjumps*
|
*:cle* *:clearjumps*
|
||||||
:cle[arjumps] Clear the jump list of the current window.
|
:cle[arjumps] Clear the jump list of the current window.
|
||||||
{not available without the |+jumplist| feature}
|
|
||||||
|
|
||||||
*jumplist*
|
*jumplist*
|
||||||
Jumps are remembered in a jump list. With the CTRL-O and CTRL-I command you
|
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
|
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.
|
move up and down the list. There is a separate jump list for each window.
|
||||||
The maximum number of entries is fixed at 100.
|
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:
|
For example, after three jump commands you have this jump list:
|
||||||
|
|
||||||
@@ -1074,6 +1077,9 @@ The "file/text" column shows the file name, or the text at the jump if it is
|
|||||||
in the current file (an indent is removed and a long line is truncated to fit
|
in the current file (an indent is removed and a long line is truncated to fit
|
||||||
in the window).
|
in the window).
|
||||||
|
|
||||||
|
The marker ">" indicates the current position in the jumplist. It may not be
|
||||||
|
shown when filtering the |:jump| command using |:filter|
|
||||||
|
|
||||||
You are currently in line 1167. If you then use the CTRL-O command, the
|
You are currently in line 1167. If you then use the CTRL-O command, the
|
||||||
cursor is put in line 1154. This results in:
|
cursor is put in line 1154. This results in:
|
||||||
|
|
||||||
@@ -1137,13 +1143,11 @@ g; Go to [count] older position in change list.
|
|||||||
positions go to the oldest change.
|
positions go to the oldest change.
|
||||||
If there is no older change an error message is given.
|
If there is no older change an error message is given.
|
||||||
(not a motion command)
|
(not a motion command)
|
||||||
{not available without the |+jumplist| feature}
|
|
||||||
|
|
||||||
*g,* *E663*
|
*g,* *E663*
|
||||||
g, Go to [count] newer cursor position in change list.
|
g, Go to [count] newer cursor position in change list.
|
||||||
Just like |g;| but in the opposite direction.
|
Just like |g;| but in the opposite direction.
|
||||||
(not a motion command)
|
(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
|
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
|
use "999g;" to go to the first change for which the position is still
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*netbeans.txt* For Vim version 8.2. Last change: 2020 Nov 02
|
*netbeans.txt* For Vim version 8.2. Last change: 2022 Apr 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
||||||
@@ -124,12 +124,12 @@ In case you do not want the NetBeans interface you can disable it by
|
|||||||
uncommenting a line with "--disable-netbeans" in the Makefile.
|
uncommenting a line with "--disable-netbeans" in the Makefile.
|
||||||
|
|
||||||
Currently the NetBeans interface is supported by Vim running in a terminal and
|
Currently the NetBeans interface is supported by Vim running in a terminal and
|
||||||
by gvim when it is run with one of the following GUIs: GTK, GNOME, Windows,
|
by gvim when it is run with one of the following GUIs: GTK, GNOME, Windows
|
||||||
Athena and Motif.
|
and Motif.
|
||||||
|
|
||||||
*netbeans-xpm*
|
*netbeans-xpm*
|
||||||
If Motif support is required the user must supply XPM libraries.
|
If Motif support is required the user must supply XPM libraries.
|
||||||
The XPM library is required to show images within Vim with Motif or Athena.
|
The XPM library is required to show images within Vim with Motif.
|
||||||
Without it the toolbar and signs will be disabled.
|
Without it the toolbar and signs will be disabled.
|
||||||
|
|
||||||
The XPM library is provided by Arnaud Le Hors of the French National Institute
|
The XPM library is provided by Arnaud Le Hors of the French National Institute
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -342,12 +342,12 @@ PowerShell Execution Policy settings.
|
|||||||
See |option-backslash| about including spaces in 'shellcmdflag' when using
|
See |option-backslash| about including spaces in 'shellcmdflag' when using
|
||||||
multiple flags.
|
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
|
from PowerShell Desktop to your currently configured console codepage. The
|
||||||
output can be forced into a different encoding by changing "default" to one of
|
output can be forced into a different encoding by changing "default" to one of
|
||||||
the following:
|
the following:
|
||||||
|
|
||||||
unicode - UTF-16le (default output from PowerShell 5.1)
|
unicode - UTF-16LE (default output from PowerShell 5.1)
|
||||||
bigendianunicode - UTF-16
|
bigendianunicode - UTF-16
|
||||||
utf8 - UTF-8
|
utf8 - UTF-8
|
||||||
utf7 - UTF-7 (no BOM)
|
utf7 - UTF-7 (no BOM)
|
||||||
@@ -356,7 +356,7 @@ the following:
|
|||||||
default - System's active code page (typically ANSI)
|
default - System's active code page (typically ANSI)
|
||||||
oem - System's current OEM code page
|
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.
|
otherwise indicated.
|
||||||
|
|
||||||
By default PowerShell Core's output is UTF-8 encoded without a BOM. If you
|
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:
|
encoding is one of the following:
|
||||||
|
|
||||||
ascii - 7-bit ASCII character set
|
ascii - 7-bit ASCII character set
|
||||||
bigendianunicode - UTF-16be
|
bigendianunicode - UTF-16BE
|
||||||
bigendianutf32 - UTF-32be
|
bigendianutf32 - UTF-32BE
|
||||||
oem - System's current OEM code page
|
oem - System's current OEM code page
|
||||||
unicode - UTF-16le
|
unicode - UTF-16LE
|
||||||
utf7 - UTF-7
|
utf7 - UTF-7
|
||||||
utf8 - UTF-8
|
utf8 - UTF-8
|
||||||
utf8BOM - UTF-8, with BOM
|
utf8BOM - UTF-8, with BOM
|
||||||
|
|||||||
@@ -603,13 +603,13 @@ program to the new diff on VMS. Add this to your .vimrc file: >
|
|||||||
function MyDiff()
|
function MyDiff()
|
||||||
let opt = ""
|
let opt = ""
|
||||||
if &diffopt =~ "icase"
|
if &diffopt =~ "icase"
|
||||||
let opt = opt . "-i "
|
let opt = opt .. "-i "
|
||||||
endif
|
endif
|
||||||
if &diffopt =~ "iwhite"
|
if &diffopt =~ "iwhite"
|
||||||
let opt = opt . "-b "
|
let opt = opt .. "-b "
|
||||||
endif
|
endif
|
||||||
silent execute "!mc GNU:diff.exe -a " . opt . v:fname_in . " " . v:fname_new .
|
silent execute "!mc GNU:diff.exe -a " .. opt .. v:fname_in .. " " .. v:fname_new ..
|
||||||
\ " > " . v:fname_out
|
\ " > " .. v:fname_out
|
||||||
endfunction
|
endfunction
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*os_win32.txt* For Vim version 8.2. Last change: 2021 Apr 05
|
*os_win32.txt* For Vim version 8.2. Last change: 2022 Feb 14
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by George Reilly
|
VIM REFERENCE MANUAL by George Reilly
|
||||||
@@ -294,7 +294,7 @@ A. When using :! to run an external command, you can run it with "start". For
|
|||||||
/b no console window will be opened
|
/b no console window will be opened
|
||||||
You can use only one of these flags at a time. A second one will be
|
You can use only one of these flags at a time. A second one will be
|
||||||
treated as the start of the command.
|
treated as the start of the command.
|
||||||
|
*windows-asynchronously*
|
||||||
Q. How do I avoid getting a window for programs that I run asynchronously?
|
Q. How do I avoid getting a window for programs that I run asynchronously?
|
||||||
A. You have two possible solutions depending on what you want:
|
A. You have two possible solutions depending on what you want:
|
||||||
1) You may use the /min flag in order to run program in a minimized state
|
1) You may use the /min flag in order to run program in a minimized state
|
||||||
@@ -308,17 +308,17 @@ A. You have two possible solutions depending on what you want:
|
|||||||
|
|
||||||
Example for a console application, run Exuberant ctags: >
|
Example for a console application, run Exuberant ctags: >
|
||||||
:!start /min ctags -R .
|
:!start /min ctags -R .
|
||||||
< When it has finished you should see file named "tags" in your current
|
< When it has finished you should see file named "tags" in your current
|
||||||
directory. You should notice the window title blinking on your taskbar.
|
directory. You should notice the window title blinking on your taskbar.
|
||||||
This is more noticeable for commands that take longer.
|
This is more noticeable for commands that take longer.
|
||||||
Now delete the "tags" file and run this command: >
|
Now delete the "tags" file and run this command: >
|
||||||
:!start /b ctags -R .
|
:!start /b ctags -R .
|
||||||
< You should have the same "tags" file, but this time there will be no
|
< You should have the same "tags" file, but this time there will be no
|
||||||
blinking on the taskbar.
|
blinking on the taskbar.
|
||||||
Example for a GUI application: >
|
Example for a GUI application: >
|
||||||
:!start /min notepad
|
:!start /min notepad
|
||||||
:!start /b notepad
|
:!start /b notepad
|
||||||
< The first command runs notepad minimized and the second one runs it
|
< The first command runs notepad minimized and the second one runs it
|
||||||
normally.
|
normally.
|
||||||
|
|
||||||
*windows-icon*
|
*windows-icon*
|
||||||
|
|||||||
@@ -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 Mar 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -19,7 +19,7 @@ explanations are in chapter 27 |usr_27.txt|.
|
|||||||
8. Composing characters |patterns-composing|
|
8. Composing characters |patterns-composing|
|
||||||
9. Compare with Perl patterns |perl-patterns|
|
9. Compare with Perl patterns |perl-patterns|
|
||||||
10. Highlighting matches |match-highlight|
|
10. Highlighting matches |match-highlight|
|
||||||
11. Fuzzy matching |fuzzy-match|
|
11. Fuzzy matching |fuzzy-matching|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Search commands *search-commands*
|
1. Search commands *search-commands*
|
||||||
@@ -164,9 +164,12 @@ index, on which the cursor is. This can look like this: >
|
|||||||
Note: the count does not take offset into account.
|
Note: the count does not take offset into account.
|
||||||
|
|
||||||
When no match is found you get the error: *E486* Pattern not found
|
When no match is found you get the error: *E486* Pattern not found
|
||||||
Note that for the |:global| command this behaves like a normal message, for Vi
|
Note that for the `:global` command, when used in legacy script, you get a
|
||||||
compatibility. For the |:s| command the "e" flag can be used to avoid the
|
normal message "Pattern not found", for Vi compatibility.
|
||||||
error message |:s_flags|.
|
In |Vim9| script you get E486 for "pattern not found" or *E538* when the pattern
|
||||||
|
matches in every line with `:vglobal`.
|
||||||
|
For the |:s| command the "e" flag can be used to avoid the error message
|
||||||
|
|:s_flags|.
|
||||||
|
|
||||||
*search-offset* *{offset}*
|
*search-offset* *{offset}*
|
||||||
These commands search for the specified pattern. With "/" and "?" an
|
These commands search for the specified pattern. With "/" and "?" an
|
||||||
@@ -315,7 +318,7 @@ the pattern.
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
2. The definition of a pattern *search-pattern* *pattern* *[pattern]*
|
2. The definition of a pattern *search-pattern* *pattern* *[pattern]*
|
||||||
*regular-expression* *regexp* *Pattern*
|
*regular-expression* *regexp* *Pattern*
|
||||||
*E76* *E383* *E476*
|
*E383* *E476*
|
||||||
|
|
||||||
For starters, read chapter 27 of the user manual |usr_27.txt|.
|
For starters, read chapter 27 of the user manual |usr_27.txt|.
|
||||||
|
|
||||||
@@ -925,13 +928,13 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
|||||||
becomes invalid. Vim doesn't automatically update the matches.
|
becomes invalid. Vim doesn't automatically update the matches.
|
||||||
Similar to moving the cursor for "\%#" |/\%#|.
|
Similar to moving the cursor for "\%#" |/\%#|.
|
||||||
|
|
||||||
*/\%l* */\%>l* */\%<l* *E951*
|
*/\%l* */\%>l* */\%<l* *E951* *E1204*
|
||||||
\%23l Matches in a specific line.
|
\%23l Matches in a specific line.
|
||||||
\%<23l Matches above a specific line (lower line number).
|
\%<23l Matches above a specific line (lower line number).
|
||||||
\%>23l Matches below a specific line (higher line number).
|
\%>23l Matches below a specific line (higher line number).
|
||||||
\%.l Matches at the cursor line.
|
\%.l Matches at the cursor line.
|
||||||
\%<.l Matches above the cursor line.
|
\%<.l Matches above the cursor line.
|
||||||
\%>.l Matches below the cursor line.
|
\%>.l Matches below the cursor line.
|
||||||
These six can be used to match specific lines in a buffer. The "23"
|
These six can be used to match specific lines in a buffer. The "23"
|
||||||
can be any line number. The first line is 1.
|
can be any line number. The first line is 1.
|
||||||
WARNING: When inserting or deleting lines Vim does not automatically
|
WARNING: When inserting or deleting lines Vim does not automatically
|
||||||
@@ -950,9 +953,9 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
|||||||
\%23c Matches in a specific column.
|
\%23c Matches in a specific column.
|
||||||
\%<23c Matches before a specific column.
|
\%<23c Matches before a specific column.
|
||||||
\%>23c Matches after a specific column.
|
\%>23c Matches after a specific column.
|
||||||
\%.c Matches at the cursor column.
|
\%.c Matches at the cursor column.
|
||||||
\%<.c Matches before the cursor column.
|
\%<.c Matches before the cursor column.
|
||||||
\%>.c Matches after the cursor column.
|
\%>.c Matches after the cursor column.
|
||||||
These six can be used to match specific columns in a buffer or string.
|
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 "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
|
the column is the byte number (thus it's not exactly right for
|
||||||
@@ -963,7 +966,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
|||||||
the cursor moves the display isn't updated for this change. An update
|
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).
|
is done when using the |CTRL-L| command (the whole screen is updated).
|
||||||
Example, to highlight the column where the cursor currently is: >
|
Example, to highlight the column where the cursor currently is: >
|
||||||
:exe '/\%' . col(".") . 'c'
|
:exe '/\%' .. col(".") .. 'c'
|
||||||
< Alternatively use: >
|
< Alternatively use: >
|
||||||
/\%.c
|
/\%.c
|
||||||
< When 'hlsearch' is set and you move the cursor around and make changes
|
< When 'hlsearch' is set and you move the cursor around and make changes
|
||||||
@@ -976,9 +979,9 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
|||||||
\%23v Matches in a specific virtual column.
|
\%23v Matches in a specific virtual column.
|
||||||
\%<23v Matches before a specific virtual column.
|
\%<23v Matches before a specific virtual column.
|
||||||
\%>23v Matches after a specific virtual column.
|
\%>23v Matches after a specific virtual column.
|
||||||
\%.v Matches at the current virtual column.
|
\%.v Matches at the current virtual column.
|
||||||
\%<.v Matches before the current virtual column.
|
\%<.v Matches before the current virtual column.
|
||||||
\%>.v Matches after 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
|
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
|
string. When not matching with a buffer in a window, the option
|
||||||
values of the current window are used (e.g., 'tabstop').
|
values of the current window are used (e.g., 'tabstop').
|
||||||
@@ -1070,6 +1073,8 @@ match ASCII characters, as indicated by the range.
|
|||||||
|
|
||||||
\(\) A pattern enclosed by escaped parentheses. */\(* */\(\)* */\)*
|
\(\) A pattern enclosed by escaped parentheses. */\(* */\(\)* */\)*
|
||||||
E.g., "\(^a\)" matches 'a' at the start of a line.
|
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*
|
*E51* *E54* *E55* *E872* *E873*
|
||||||
|
|
||||||
\1 Matches the same string that was matched by */\1* *E65*
|
\1 Matches the same string that was matched by */\1* *E65*
|
||||||
@@ -1092,7 +1097,7 @@ x A single character, with no special meaning, matches itself
|
|||||||
\x A backslash followed by a single character, with no special meaning,
|
\x A backslash followed by a single character, with no special meaning,
|
||||||
is reserved for future expansions
|
is reserved for future expansions
|
||||||
|
|
||||||
[] (with 'nomagic': \[]) */[]* */\[]* */\_[]* */collection*
|
[] (with 'nomagic': \[]) */[]* */\[]* */\_[]* */collection* *E76*
|
||||||
\_[]
|
\_[]
|
||||||
A collection. This is a sequence of characters enclosed in square
|
A collection. This is a sequence of characters enclosed in square
|
||||||
brackets. It matches any single character in the collection.
|
brackets. It matches any single character in the collection.
|
||||||
@@ -1455,7 +1460,7 @@ Finally, these constructs are unique to Perl:
|
|||||||
":2match" for another plugin.
|
":2match" for another plugin.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
11. Fuzzy matching *fuzzy-match*
|
11. Fuzzy matching *fuzzy-matching*
|
||||||
|
|
||||||
Fuzzy matching refers to matching strings using a non-exact search string.
|
Fuzzy matching refers to matching strings using a non-exact search string.
|
||||||
Fuzzy matching will match a string, if all the characters in the search string
|
Fuzzy matching will match a string, if all the characters in the search string
|
||||||
@@ -1488,5 +1493,4 @@ the matching positions and the fuzzy match scores.
|
|||||||
The "f" flag of `:vimgrep` enables fuzzy matching.
|
The "f" flag of `:vimgrep` enables fuzzy matching.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*pi_netrw.txt* For Vim version 8.2. Last change: 2021 Aug 16
|
*pi_netrw.txt* For Vim version 8.2. Last change: 2022 Apr 06
|
||||||
|
|
||||||
------------------------------------------------
|
------------------------------------------------
|
||||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||||
@@ -968,7 +968,7 @@ itself:
|
|||||||
fun! NetReadFixup(method, line1, line2)
|
fun! NetReadFixup(method, line1, line2)
|
||||||
if method == 3 " ftp (no <.netrc>)
|
if method == 3 " ftp (no <.netrc>)
|
||||||
let fourblanklines= line2 - 3
|
let fourblanklines= line2 - 3
|
||||||
silent fourblanklines.",".line2."g/^\s*/d"
|
silent fourblanklines .. "," .. line2 .. "g/^\s*/d"
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
endif
|
endif
|
||||||
@@ -1975,7 +1975,7 @@ To use this function, simply assign its output to |g:netrw_list_hide| option. >
|
|||||||
Example: let g:netrw_list_hide= netrw_gitignore#Hide('my_gitignore_file')
|
Example: let g:netrw_list_hide= netrw_gitignore#Hide('my_gitignore_file')
|
||||||
Function can take additional files with git-ignore patterns.
|
Function can take additional files with git-ignore patterns.
|
||||||
|
|
||||||
Example: g:netrw_list_hide= netrw_gitignore#Hide() . '.*\.swp$'
|
Example: let g:netrw_list_hide= netrw_gitignore#Hide() .. '.*\.swp$'
|
||||||
Combining 'netrw_gitignore#Hide' with custom patterns.
|
Combining 'netrw_gitignore#Hide' with custom patterns.
|
||||||
<
|
<
|
||||||
|
|
||||||
@@ -2815,7 +2815,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
= 2: wide listing (multiple files in columns)
|
= 2: wide listing (multiple files in columns)
|
||||||
= 3: tree style listing
|
= 3: tree style listing
|
||||||
|
|
||||||
*g:netrw_list_hide* comma separated pattern list for hiding files
|
*g:netrw_list_hide* comma-separated pattern list for hiding files
|
||||||
Patterns are regular expressions (see |regexp|)
|
Patterns are regular expressions (see |regexp|)
|
||||||
There's some special support for git-ignore
|
There's some special support for git-ignore
|
||||||
files: you may add the output from the helper
|
files: you may add the output from the helper
|
||||||
@@ -2825,7 +2825,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
let g:netrw_list_hide= '.*\.swp$'
|
let g:netrw_list_hide= '.*\.swp$'
|
||||||
let g:netrw_list_hide= netrw_gitignore#Hide().'.*\.swp$'
|
let g:netrw_list_hide= netrw_gitignore#Hide() .. '.*\.swp$'
|
||||||
default: ""
|
default: ""
|
||||||
|
|
||||||
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
|
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
|
||||||
|
|||||||
@@ -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 Apr 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
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.
|
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
|
Popup windows can also overlap each other. The "zindex" property specifies
|
||||||
what goes on top of what.
|
what goes on top of what.
|
||||||
|
*E366*
|
||||||
The popup window contains a buffer, and that buffer is always associated with
|
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
|
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
|
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()*
|
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 buffer number
|
||||||
- a string
|
- a string
|
||||||
- a list of strings
|
- a list of strings
|
||||||
@@ -271,6 +271,11 @@ popup_create({what}, {options}) *popup_create()*
|
|||||||
'buftype' set to "popup". That buffer will be wiped out once
|
'buftype' set to "popup". That buffer will be wiped out once
|
||||||
the popup closes.
|
the popup closes.
|
||||||
|
|
||||||
|
if {what} is a buffer number and loading the buffer runs into
|
||||||
|
an existing swap file, it is silently opened read-only, as if
|
||||||
|
a |SwapExists| autocommand had set |v:swapchoice| to 'o'.
|
||||||
|
This is because we assume the buffer is only used for viewing.
|
||||||
|
|
||||||
{options} is a dictionary with many possible entries.
|
{options} is a dictionary with many possible entries.
|
||||||
See |popup_create-arguments| for details.
|
See |popup_create-arguments| for details.
|
||||||
|
|
||||||
@@ -681,6 +686,9 @@ The second argument of |popup_create()| is a dictionary with options:
|
|||||||
popup does not have a border. As soon as dragging
|
popup does not have a border. As soon as dragging
|
||||||
starts and "pos" is "center" it is changed to
|
starts and "pos" is "center" it is changed to
|
||||||
"topleft".
|
"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
|
resize TRUE to allow the popup to be resized with the mouse
|
||||||
by grabbing at the bottom right corner. Has no effect
|
by grabbing at the bottom right corner. Has no effect
|
||||||
if the popup does not have a border.
|
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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -139,28 +139,28 @@ If there is no error, return zero or an empty string.
|
|||||||
The default for non MS-Windows or VMS systems is to simply use "lpr" to print
|
The default for non MS-Windows or VMS systems is to simply use "lpr" to print
|
||||||
the file: >
|
the file: >
|
||||||
|
|
||||||
system('lpr' . (&printdevice == '' ? '' : ' -P' . &printdevice)
|
system('lpr' .. (&printdevice == '' ? '' : ' -P' .. &printdevice)
|
||||||
. ' ' . v:fname_in) . delete(v:fname_in) + v:shell_error
|
.. ' ' .. v:fname_in) .. delete(v:fname_in) + v:shell_error
|
||||||
|
|
||||||
On MS-Windows machines the default is to copy the file to the currently
|
On MS-Windows machines the default is to copy the file to the currently
|
||||||
specified printdevice: >
|
specified printdevice: >
|
||||||
|
|
||||||
system('copy' . ' ' . v:fname_in . (&printdevice == ''
|
system('copy' .. ' ' .. v:fname_in .. (&printdevice == ''
|
||||||
? ' LPT1:' : (' \"' . &printdevice . '\"')))
|
? ' LPT1:' : (' \"' .. &printdevice .. '\"')))
|
||||||
. delete(v:fname_in)
|
.. delete(v:fname_in)
|
||||||
|
|
||||||
On VMS machines the default is to send the file to either the default or
|
On VMS machines the default is to send the file to either the default or
|
||||||
currently specified printdevice: >
|
currently specified printdevice: >
|
||||||
|
|
||||||
system('print' . (&printdevice == '' ? '' : ' /queue=' .
|
system('print' .. (&printdevice == '' ? '' : ' /queue=' ..
|
||||||
&printdevice) . ' ' . v:fname_in) . delete(v:fname_in)
|
&printdevice) .. ' ' .. v:fname_in) .. delete(v:fname_in)
|
||||||
|
|
||||||
If you change this option, using a function is an easy way to avoid having to
|
If you change this option, using a function is an easy way to avoid having to
|
||||||
escape all the spaces. Example: >
|
escape all the spaces. Example: >
|
||||||
|
|
||||||
:set printexpr=PrintFile(v:fname_in)
|
:set printexpr=PrintFile(v:fname_in)
|
||||||
:function PrintFile(fname)
|
:function PrintFile(fname)
|
||||||
: call system("ghostview " . a:fname)
|
: call system("ghostview " .. a:fname)
|
||||||
: call delete(a:fname)
|
: call delete(a:fname)
|
||||||
: return v:shell_error
|
: return v:shell_error
|
||||||
:endfunc
|
:endfunc
|
||||||
@@ -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
|
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.
|
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
|
This option cannot be set from a |modeline| or in the |sandbox|, for security
|
||||||
reasons.
|
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 Feb 22
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
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|,
|
[!] is not used. It works like ":qall!" |:qall|,
|
||||||
except that Vim returns a non-zero exit code.
|
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.
|
:cf[ile][!] [errorfile] Read the error file and jump to the first error.
|
||||||
This is done automatically when Vim is started with
|
This is done automatically when Vim is started with
|
||||||
the -q option. You can use this command when you
|
the -q option. You can use this command when you
|
||||||
@@ -353,7 +353,7 @@ processing a quickfix or location list command, it will be aborted.
|
|||||||
cursor position will not be changed. See |:cexpr| for
|
cursor position will not be changed. See |:cexpr| for
|
||||||
more information.
|
more information.
|
||||||
Example: >
|
Example: >
|
||||||
:g/mypattern/caddexpr expand("%") . ":" . line(".") . ":" . getline(".")
|
:g/mypattern/caddexpr expand("%") .. ":" .. line(".") .. ":" .. getline(".")
|
||||||
<
|
<
|
||||||
*:lad* *:addd* *:laddexpr*
|
*:lad* *:addd* *:laddexpr*
|
||||||
:lad[dexpr] {expr} Same as ":caddexpr", except the location list for the
|
:lad[dexpr] {expr} Same as ":caddexpr", except the location list for the
|
||||||
@@ -654,6 +654,27 @@ quickfix window. If there already is a window for that file, it is used
|
|||||||
instead. If the buffer in the used window has changed, and the error is in
|
instead. If the buffer in the used window has changed, and the error is in
|
||||||
another file, jumping to the error will fail. You will first have to make
|
another file, jumping to the error will fail. You will first have to make
|
||||||
sure the window contains a buffer which can be abandoned.
|
sure the window contains a buffer which can be abandoned.
|
||||||
|
|
||||||
|
When you select a file from the quickfix window, the following steps are used
|
||||||
|
to find a window to edit the file:
|
||||||
|
|
||||||
|
1. If a window displaying the selected file is present in the current tabpage
|
||||||
|
(starting with the window before the quickfix window), then that window is
|
||||||
|
used.
|
||||||
|
2. If the above step fails and if 'switchbuf' contains "usetab" and a window
|
||||||
|
displaying the selected file is present in any one of the tabpages
|
||||||
|
(starting with the first tabpage) then that window is used.
|
||||||
|
3. If the above step fails then a window in the current tabpage displaying a
|
||||||
|
buffer with 'buftype' not set (starting with the window before the quickfix
|
||||||
|
window) is used.
|
||||||
|
4. If the above step fails and if 'switchbuf' contains "uselast", then the
|
||||||
|
previously accessed window is used.
|
||||||
|
5. If the above step fails then the window before the quickfix window is used.
|
||||||
|
If there is no previous window, then the window after the quickfix window
|
||||||
|
is used.
|
||||||
|
6. If the above step fails, then a new horizontally split window above the
|
||||||
|
quickfix window is used.
|
||||||
|
|
||||||
*CTRL-W_<Enter>* *CTRL-W_<CR>*
|
*CTRL-W_<Enter>* *CTRL-W_<CR>*
|
||||||
You can use CTRL-W <Enter> to open a new window and jump to the error there.
|
You can use CTRL-W <Enter> to open a new window and jump to the error there.
|
||||||
|
|
||||||
@@ -663,7 +684,7 @@ FileType event (also see |qf.vim|). Then the BufReadPost event is triggered,
|
|||||||
using "quickfix" for the buffer name. This can be used to perform some action
|
using "quickfix" for the buffer name. This can be used to perform some action
|
||||||
on the listed errors. Example: >
|
on the listed errors. Example: >
|
||||||
au BufReadPost quickfix setlocal modifiable
|
au BufReadPost quickfix setlocal modifiable
|
||||||
\ | silent exe 'g/^/s//\=line(".")." "/'
|
\ | silent exe 'g/^/s//\=line(".") .. " "/'
|
||||||
\ | setlocal nomodifiable
|
\ | setlocal nomodifiable
|
||||||
This prepends the line number to each line. Note the use of "\=" in the
|
This prepends the line number to each line. Note the use of "\=" in the
|
||||||
substitute string of the ":s" command, which is used to evaluate an
|
substitute string of the ":s" command, which is used to evaluate an
|
||||||
@@ -692,13 +713,15 @@ this window, the displayed location list is used.
|
|||||||
When you select a file from the location list window, the following steps are
|
When you select a file from the location list window, the following steps are
|
||||||
used to find a window to edit the file:
|
used to find a window to edit the file:
|
||||||
|
|
||||||
1. If a window with the location list displayed in the location list window is
|
1. If a non-quickfix window associated with the location list is present in
|
||||||
present, then the file is opened in that window.
|
the current tabpage, then that window is used.
|
||||||
2. If the above step fails and if the file is already opened in another
|
2. If the above step fails and if the file is already opened in another window
|
||||||
window, then that window is used.
|
in the current tabpage, then that window is used.
|
||||||
3. If the above step fails then an existing window showing a buffer with
|
3. If the above step fails and 'switchbuf' contains "usetab" and if the file
|
||||||
'buftype' not set is used.
|
is opened in a window in any one of the tabpages, then that window is used.
|
||||||
4. If the above step fails, then the file is edited in a new window.
|
4. If the above step fails then a window in the current tabpage showing a
|
||||||
|
buffer with 'buftype' not set is used.
|
||||||
|
5. If the above step fails, then the file is edited in a new window.
|
||||||
|
|
||||||
In all of the above cases, if the location list for the selected window is not
|
In all of the above cases, if the location list for the selected window is not
|
||||||
yet set, then it is set to the location list displayed in the location list
|
yet set, then it is set to the location list displayed in the location list
|
||||||
@@ -856,9 +879,9 @@ lists. They set one of the existing error lists as the current one.
|
|||||||
*:chistory* *:chi*
|
*:chistory* *:chi*
|
||||||
:[count]chi[story] Show the list of error lists. The current list is
|
:[count]chi[story] Show the list of error lists. The current list is
|
||||||
marked with ">". The output looks like:
|
marked with ">". The output looks like:
|
||||||
error list 1 of 3; 43 errors ~
|
error list 1 of 3; 43 errors :make ~
|
||||||
> error list 2 of 3; 0 errors ~
|
> error list 2 of 3; 0 errors :helpgrep tag ~
|
||||||
error list 3 of 3; 15 errors ~
|
error list 3 of 3; 15 errors :grep ex_help *.c ~
|
||||||
|
|
||||||
When [count] is given, then the count'th quickfix
|
When [count] is given, then the count'th quickfix
|
||||||
list is made the current list. Example: >
|
list is made the current list. Example: >
|
||||||
@@ -1037,7 +1060,7 @@ commands can be combined to create a NewGrep command: >
|
|||||||
matching is used to find matching lines. In this
|
matching is used to find matching lines. In this
|
||||||
case, {pattern} is treated as a literal string
|
case, {pattern} is treated as a literal string
|
||||||
instead of a regular expression. See
|
instead of a regular expression. See
|
||||||
|fuzzy-match| for more information about fuzzy
|
|fuzzy-matching| for more information about fuzzy
|
||||||
matching strings.
|
matching strings.
|
||||||
|
|
||||||
|QuickFixCmdPre| and |QuickFixCmdPost| are triggered.
|
|QuickFixCmdPre| and |QuickFixCmdPost| are triggered.
|
||||||
@@ -1385,12 +1408,17 @@ Basic items
|
|||||||
%f file name (finds a string)
|
%f file name (finds a string)
|
||||||
%o module name (finds a string)
|
%o module name (finds a string)
|
||||||
%l line number (finds a number)
|
%l line number (finds a number)
|
||||||
|
%e end line number (finds a number)
|
||||||
%c column number (finds a number representing character
|
%c column number (finds a number representing character
|
||||||
column of the error, byte index, a <tab> is 1
|
column of the error, byte index, a <tab> is 1
|
||||||
character column)
|
character column)
|
||||||
%v virtual column number (finds a number representing
|
%v virtual column number (finds a number representing
|
||||||
screen column of the error (1 <tab> == 8 screen
|
screen column of the error (1 <tab> == 8 screen
|
||||||
columns))
|
columns))
|
||||||
|
%k end column number (finds a number representing
|
||||||
|
the character column of the error, byte index, or a
|
||||||
|
number representing screen end column of the error if
|
||||||
|
it's used with %v)
|
||||||
%t error type (finds a single character):
|
%t error type (finds a single character):
|
||||||
e - error message
|
e - error message
|
||||||
w - warning message
|
w - warning message
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*quickref.txt* For Vim version 8.2. Last change: 2021 Oct 17
|
*quickref.txt* For Vim version 8.2. Last change: 2022 Apr 06
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
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
|
'buflisted' 'bl' whether the buffer shows up in the buffer list
|
||||||
'buftype' 'bt' special type of buffer
|
'buftype' 'bt' special type of buffer
|
||||||
'casemap' 'cmp' specifies how case of letters is changed
|
'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"
|
'cdpath' 'cd' list of directories searched with ":cd"
|
||||||
'cedit' key used to open the command-line window
|
'cedit' key used to open the command-line window
|
||||||
'charconvert' 'ccv' expression for character encoding conversion
|
'charconvert' 'ccv' expression for character encoding conversion
|
||||||
@@ -642,6 +643,7 @@ Short explanation of each option: *option-list*
|
|||||||
'cinkeys' 'cink' keys that trigger indent when 'cindent' is set
|
'cinkeys' 'cink' keys that trigger indent when 'cindent' is set
|
||||||
'cinoptions' 'cino' how to do indenting when 'cindent' is set
|
'cinoptions' 'cino' how to do indenting when 'cindent' is set
|
||||||
'cinwords' 'cinw' words where 'si' and 'cin' add an indent
|
'cinwords' 'cinw' words where 'si' and 'cin' add an indent
|
||||||
|
'cinscopedecls' 'cinsd' words that are recognized by 'cino-g'
|
||||||
'clipboard' 'cb' use the clipboard as the unnamed register
|
'clipboard' 'cb' use the clipboard as the unnamed register
|
||||||
'cmdheight' 'ch' number of lines to use for the command-line
|
'cmdheight' 'ch' number of lines to use for the command-line
|
||||||
'cmdwinheight' 'cwh' height of the command-line window
|
'cmdwinheight' 'cwh' height of the command-line window
|
||||||
@@ -813,6 +815,7 @@ Short explanation of each option: *option-list*
|
|||||||
'mousefocus' 'mousef' keyboard focus follows the mouse
|
'mousefocus' 'mousef' keyboard focus follows the mouse
|
||||||
'mousehide' 'mh' hide mouse pointer while typing
|
'mousehide' 'mh' hide mouse pointer while typing
|
||||||
'mousemodel' 'mousem' changes meaning of mouse buttons
|
'mousemodel' 'mousem' changes meaning of mouse buttons
|
||||||
|
'mousemoveevent' 'mousemev' report mouse moves with <MouseMove>
|
||||||
'mouseshape' 'mouses' shape of the mouse pointer in different modes
|
'mouseshape' 'mouses' shape of the mouse pointer in different modes
|
||||||
'mousetime' 'mouset' max time between mouse double-click
|
'mousetime' 'mouset' max time between mouse double-click
|
||||||
'mzquantum' 'mzq' the interval between polls for MzScheme threads
|
'mzquantum' 'mzq' the interval between polls for MzScheme threads
|
||||||
@@ -1009,6 +1012,7 @@ Short explanation of each option: *option-list*
|
|||||||
'writeany' 'wa' write to file with no need for "!" override
|
'writeany' 'wa' write to file with no need for "!" override
|
||||||
'writebackup' 'wb' make a backup before overwriting a file
|
'writebackup' 'wb' make a backup before overwriting a file
|
||||||
'writedelay' 'wd' delay this many msec for each char (for debug)
|
'writedelay' 'wd' delay this many msec for each char (for debug)
|
||||||
|
'xtermcodes' request terminal codes from an xterm
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
*Q_ur* Undo/Redo commands
|
*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: 2022 Feb 17
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -120,6 +120,10 @@ when sending command to it.
|
|||||||
|
|
||||||
The --serverlist argument will cause Vim to print a list of registered command
|
The --serverlist argument will cause Vim to print a list of registered command
|
||||||
servers on the standard output (stdout) and exit.
|
servers on the standard output (stdout) and exit.
|
||||||
|
*{server}*
|
||||||
|
The {server} argument is used by several functions. When this is an empty
|
||||||
|
string then on Unix the default server name is used, which is "GVIM". On
|
||||||
|
MS-Windows an empty string does not work.
|
||||||
|
|
||||||
Win32 Note: Making the Vim server go to the foreground doesn't always work,
|
Win32 Note: Making the Vim server go to the foreground doesn't always work,
|
||||||
because MS-Windows doesn't allow it. The client will move the server to the
|
because MS-Windows doesn't allow it. The client will move the server to the
|
||||||
@@ -143,7 +147,7 @@ You can not put options there!
|
|||||||
FUNCTIONS
|
FUNCTIONS
|
||||||
*E240* *E573*
|
*E240* *E573*
|
||||||
There are a number of Vim functions for scripting the command server. See
|
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.
|
the full explanation.
|
||||||
|
|
||||||
synopsis 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 Apr 08
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -197,6 +197,41 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
|||||||
:so[urce] {file} Read Ex commands from {file}. These are commands that
|
:so[urce] {file} Read Ex commands from {file}. These are commands that
|
||||||
start with a ":".
|
start with a ":".
|
||||||
Triggers the |SourcePre| autocommand.
|
Triggers the |SourcePre| autocommand.
|
||||||
|
|
||||||
|
:[range]so[urce] [++clear]
|
||||||
|
Read Ex commands from the [range] of lines in the
|
||||||
|
current buffer.
|
||||||
|
|
||||||
|
When sourcing commands from the current buffer, the
|
||||||
|
same script-ID |<SID>| is used even if the buffer is
|
||||||
|
sourced multiple times. If a buffer is sourced more
|
||||||
|
than once, then the functions in the buffer are
|
||||||
|
defined again.
|
||||||
|
|
||||||
|
To source a range of lines that doesn't start with the
|
||||||
|
|:vim9script| command in Vim9 script context, the
|
||||||
|
|:vim9cmd| modifier can be used. If you use a Visual
|
||||||
|
selection and type ":", the range in the form "'<,'>"
|
||||||
|
can come before it: >
|
||||||
|
:'<,'>vim9cmd source
|
||||||
|
< Otherwise the range goes after the modifier and must
|
||||||
|
have a colon prefixed, like all Vim9 ranges: >
|
||||||
|
:vim9cmd :5,9source
|
||||||
|
|
||||||
|
< When a range of lines in a buffer is sourced in the
|
||||||
|
Vim9 script context, the previously defined
|
||||||
|
script-local variables and functions are not cleared.
|
||||||
|
This works like the range started with the
|
||||||
|
":vim9script noclear" command. The "++clear" argument
|
||||||
|
can be used to clear the script-local variables and
|
||||||
|
functions before sourcing the script. This works like
|
||||||
|
the range started with the `:vim9script` command
|
||||||
|
without the "noclear" argument. See |vim9-reload| for
|
||||||
|
more information.
|
||||||
|
Examples: >
|
||||||
|
:4,5source
|
||||||
|
:10,18source ++clear
|
||||||
|
|
||||||
*:source!*
|
*:source!*
|
||||||
:so[urce]! {file} Read Vim commands from {file}. These are commands
|
:so[urce]! {file} Read Vim commands from {file}. These are commands
|
||||||
that are executed from Normal mode, like you type
|
that are executed from Normal mode, like you type
|
||||||
@@ -354,7 +389,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
|||||||
<
|
<
|
||||||
|
|
||||||
:scriptv[ersion] {version} *:scriptv* *:scriptversion*
|
:scriptv[ersion] {version} *:scriptv* *:scriptversion*
|
||||||
*E999* *E984*
|
*E999* *E984* *E1040*
|
||||||
Specify the version of Vim for the lines that follow
|
Specify the version of Vim for the lines that follow
|
||||||
in the same file. Only applies at the toplevel of
|
in the same file. Only applies at the toplevel of
|
||||||
sourced scripts, not inside functions.
|
sourced scripts, not inside functions.
|
||||||
@@ -367,8 +402,8 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
|||||||
|
|
||||||
:vim9s[cript] [noclear] *:vim9s* *:vim9script*
|
:vim9s[cript] [noclear] *:vim9s* *:vim9script*
|
||||||
Marks a script file as containing |Vim9-script|
|
Marks a script file as containing |Vim9-script|
|
||||||
commands. Also see |vim9-namespace|.
|
commands. Also see |vim9-namespace|. *E1038*
|
||||||
Must be the first command in the file.
|
Must be the first command in the file. *E1039*
|
||||||
For [noclear] see |vim9-reload|.
|
For [noclear] see |vim9-reload|.
|
||||||
Without the |+eval| feature this changes the syntax
|
Without the |+eval| feature this changes the syntax
|
||||||
for some commands.
|
for some commands.
|
||||||
@@ -377,8 +412,11 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
|||||||
|
|
||||||
*:scr* *:scriptnames*
|
*:scr* *:scriptnames*
|
||||||
:scr[iptnames] List all sourced script names, in the order they were
|
:scr[iptnames] List all sourced script names, in the order they were
|
||||||
first sourced. The number is used for the script ID
|
first encountered. The number is used for the script
|
||||||
|<SID>|.
|
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|
|
{not available when compiled without the |+eval|
|
||||||
feature}
|
feature}
|
||||||
|
|
||||||
@@ -416,10 +454,10 @@ An alternative is to put the commands in a file, and execute them with the
|
|||||||
':source!' command. Useful for long command sequences. Can be combined with
|
':source!' command. Useful for long command sequences. Can be combined with
|
||||||
the ':map' command to put complicated commands under a function key.
|
the ':map' command to put complicated commands under a function key.
|
||||||
|
|
||||||
The ':source' command reads Ex commands from a file line by line. You will
|
The ':source' command reads Ex commands from a file or a buffer line by line.
|
||||||
have to type any needed keyboard input. The ':source!' command reads from a
|
You will have to type any needed keyboard input. The ':source!' command reads
|
||||||
script file character by character, interpreting each character as if you
|
from a script file character by character, interpreting each character as if
|
||||||
typed it.
|
you typed it.
|
||||||
|
|
||||||
Example: When you give the ":!ls" command you get the |hit-enter| prompt. If
|
Example: When you give the ":!ls" command you get the |hit-enter| prompt. If
|
||||||
you ':source' a file with the line "!ls" in it, you will have to type the
|
you ':source' a file with the line "!ls" in it, you will have to type the
|
||||||
@@ -495,6 +533,9 @@ space at the end of a line is hard to see and may be accidentally deleted. >
|
|||||||
\ "very long regexp"
|
\ "very long regexp"
|
||||||
\ keepend
|
\ 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: >
|
There is a problem with the ":append" and ":insert" commands: >
|
||||||
:1append
|
:1append
|
||||||
\asdf
|
\asdf
|
||||||
@@ -792,6 +833,10 @@ won't be very helpful.
|
|||||||
|
|
||||||
There is a separate command-line history for debug mode.
|
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.
|
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
|
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
|
the function in another Vim, search for the start of the function and do
|
||||||
@@ -998,18 +1043,24 @@ For example, to profile the one_script.vim script file: >
|
|||||||
|
|
||||||
|
|
||||||
:prof[ile] start {fname} *:prof* *:profile* *E750*
|
:prof[ile] start {fname} *:prof* *:profile* *E750*
|
||||||
Start profiling, write the output in {fname} upon exit.
|
Start profiling, write the output in {fname} upon exit or when
|
||||||
|
a `:profile stop` or `:profile dump` command is invoked.
|
||||||
"~/" and environment variables in {fname} will be expanded.
|
"~/" and environment variables in {fname} will be expanded.
|
||||||
If {fname} already exists it will be silently overwritten.
|
If {fname} already exists it will be silently overwritten.
|
||||||
The variable |v:profiling| is set to one.
|
The variable |v:profiling| is set to one.
|
||||||
|
|
||||||
|
:prof[ile] stop
|
||||||
|
Write the collected profiling information to the logfile and
|
||||||
|
stop profiling. You can use the `:profile start` command to
|
||||||
|
clear the profiling statistics and start profiling again.
|
||||||
|
|
||||||
:prof[ile] pause
|
:prof[ile] pause
|
||||||
Don't profile until the following ":profile continue". Can be
|
Don't profile until the following `:profile continue`. Can be
|
||||||
used when doing something that should not be counted (e.g., an
|
used when doing something that should not be counted (e.g., an
|
||||||
external command). Does not nest.
|
external command). Does not nest.
|
||||||
|
|
||||||
:prof[ile] continue
|
:prof[ile] continue
|
||||||
Continue profiling after ":profile pause".
|
Continue profiling after `:profile pause`.
|
||||||
|
|
||||||
:prof[ile] func {pattern}
|
:prof[ile] func {pattern}
|
||||||
Profile function that matches the pattern {pattern}.
|
Profile function that matches the pattern {pattern}.
|
||||||
@@ -1026,11 +1077,17 @@ For example, to profile the one_script.vim script file: >
|
|||||||
after this command. A :profile command in the script itself
|
after this command. A :profile command in the script itself
|
||||||
won't work.
|
won't work.
|
||||||
|
|
||||||
|
:prof[ile] dump
|
||||||
|
Write the current state of profiling to the logfile
|
||||||
|
immediately. After running this command, Vim continues to
|
||||||
|
collect the profiling statistics.
|
||||||
|
|
||||||
:profd[el] ... *:profd* *:profdel*
|
:profd[el] ... *:profd* *:profdel*
|
||||||
Stop profiling for the arguments specified. See |:breakdel|
|
Stop profiling for the arguments specified. See |:breakdel|
|
||||||
for the arguments.
|
for the arguments. Examples: >
|
||||||
|
profdel func MyFunc
|
||||||
|
profdel file MyScript.vim
|
||||||
|
profdel here
|
||||||
|
|
||||||
You must always start with a ":profile start fname" command. The resulting
|
You must always start with a ":profile start fname" command. The resulting
|
||||||
file is written when Vim exits. For example, to profile one specific
|
file is written when Vim exits. For example, to profile one specific
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*rileft.txt* For Vim version 8.2. Last change: 2021 Jun 13
|
*rileft.txt* For Vim version 8.2. Last change: 2022 Apr 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Avner Lottem
|
VIM REFERENCE MANUAL by Avner Lottem
|
||||||
@@ -110,9 +110,6 @@ o Does not support reverse insert and rightleft modes on the command-line.
|
|||||||
o Somewhat slower in right-to-left mode, because right-to-left motion is
|
o Somewhat slower in right-to-left mode, because right-to-left motion is
|
||||||
emulated inside Vim, not by the controlling terminal.
|
emulated inside Vim, not by the controlling terminal.
|
||||||
|
|
||||||
o When the Athena GUI is used, the bottom scrollbar works in the wrong
|
|
||||||
direction. This is difficult to fix.
|
|
||||||
|
|
||||||
o When both 'rightleft' and 'revins' are on: 'textwidth' does not work.
|
o When both 'rightleft' and 'revins' are on: 'textwidth' does not work.
|
||||||
Lines do not wrap at all; you just get a single, long line.
|
Lines do not wrap at all; you just get a single, long line.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*scroll.txt* For Vim version 8.2. Last change: 2019 May 13
|
*scroll.txt* For Vim version 8.2. Last change: 2022 Apr 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -242,7 +242,7 @@ dragging the scrollbar of the current window. How many lines are scrolled
|
|||||||
depends on your mouse driver. If the scroll action causes input focus
|
depends on your mouse driver. If the scroll action causes input focus
|
||||||
problems, see |intellimouse-wheel-problems|.
|
problems, see |intellimouse-wheel-problems|.
|
||||||
|
|
||||||
For the X11 GUIs (Motif, Athena and GTK) scrolling the wheel generates key
|
For the X11 GUIs (Motif and GTK) scrolling the wheel generates key
|
||||||
presses <ScrollWheelUp>, <ScrollWheelDown>, <ScrollWheelLeft> and
|
presses <ScrollWheelUp>, <ScrollWheelDown>, <ScrollWheelLeft> and
|
||||||
<ScrollWheelRight>. For example, if you push the scroll wheel upwards a
|
<ScrollWheelRight>. For example, if you push the scroll wheel upwards a
|
||||||
<ScrollWheelUp> key press is generated causing the window to scroll upwards
|
<ScrollWheelUp> key press is generated causing the window to scroll upwards
|
||||||
|
|||||||
@@ -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
|
VIM REFERENCE MANUAL by Gordon Prieur
|
||||||
@@ -101,7 +101,7 @@ precedence, otherwise the 'cursorline' highlighting.
|
|||||||
Here is an example that places a sign "piet", displayed with the text ">>", in
|
Here is an example that places a sign "piet", displayed with the text ">>", in
|
||||||
line 23 of the current file: >
|
line 23 of the current file: >
|
||||||
:sign define piet text=>> texthl=Search
|
:sign define piet text=>> texthl=Search
|
||||||
:exe ":sign place 2 line=23 name=piet file=" . expand("%:p")
|
:exe ":sign place 2 line=23 name=piet file=" .. expand("%:p")
|
||||||
|
|
||||||
And here is the command to delete it again: >
|
And here is the command to delete it again: >
|
||||||
:sign unplace 2
|
:sign unplace 2
|
||||||
@@ -140,6 +140,11 @@ See |sign_define()| for the equivalent Vim script function.
|
|||||||
Highlighting group used for the whole line the sign is placed
|
Highlighting group used for the whole line the sign is placed
|
||||||
in. Most useful is defining a background color.
|
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*
|
text={text} *E239*
|
||||||
Define the text that is displayed when there is no icon or the
|
Define the text that is displayed when there is no icon or the
|
||||||
GUI is not being used. Only printable characters are allowed
|
GUI is not being used. Only printable characters are allowed
|
||||||
@@ -148,6 +153,10 @@ See |sign_define()| for the equivalent Vim script function.
|
|||||||
texthl={group}
|
texthl={group}
|
||||||
Highlighting group used for the text item.
|
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: >
|
Example: >
|
||||||
:sign define MySign text=>> texthl=Search linehl=DiffText
|
:sign define MySign text=>> texthl=Search linehl=DiffText
|
||||||
<
|
<
|
||||||
@@ -173,13 +182,6 @@ See |sign_getdefined()| for the equivalent Vim script function.
|
|||||||
:sign list {name}
|
:sign list {name}
|
||||||
Lists one defined sign and its attributes.
|
Lists one defined sign and its attributes.
|
||||||
|
|
||||||
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
|
|
||||||
<
|
|
||||||
|
|
||||||
PLACING SIGNS *:sign-place* *E158*
|
PLACING SIGNS *:sign-place* *E158*
|
||||||
|
|
||||||
@@ -399,6 +401,8 @@ sign_define({list})
|
|||||||
icon full path to the bitmap file for the sign.
|
icon full path to the bitmap file for the sign.
|
||||||
linehl highlight group used for the whole line the
|
linehl highlight group used for the whole line the
|
||||||
sign is placed in.
|
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
|
text text that is displayed when there is no icon
|
||||||
or the GUI is not being used.
|
or the GUI is not being used.
|
||||||
texthl highlight group used for the text item
|
texthl highlight group used for the text item
|
||||||
@@ -444,14 +448,18 @@ sign_getdefined([{name}]) *sign_getdefined()*
|
|||||||
following entries:
|
following entries:
|
||||||
icon full path to the bitmap file of the sign
|
icon full path to the bitmap file of the sign
|
||||||
linehl highlight group used for the whole line the
|
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
|
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
|
text text that is displayed when there is no icon
|
||||||
or the GUI is not being used.
|
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
|
culhl highlight group used for the text item when
|
||||||
the cursor is on the same line as the sign and
|
the cursor is on the same line as the sign and
|
||||||
'cursorline' is enabled.
|
'cursorline' is enabled; not present if not
|
||||||
|
set
|
||||||
|
|
||||||
Returns an empty List if there are no signs and when {name} is
|
Returns an empty List if there are no signs and when {name} is
|
||||||
not found.
|
not found.
|
||||||
|
|||||||
@@ -131,8 +131,8 @@ zuG Undo |zW| and |zG|, remove the word from the internal
|
|||||||
rare as this is a fairly uncommon command and all
|
rare as this is a fairly uncommon command and all
|
||||||
intuitive commands for this are already taken. If you
|
intuitive commands for this are already taken. If you
|
||||||
want you can add mappings with e.g.: >
|
want you can add mappings with e.g.: >
|
||||||
nnoremap z? :exe ':spellrare ' . expand('<cWORD>')<CR>
|
nnoremap z? :exe ':spellrare ' .. expand('<cWORD>')<CR>
|
||||||
nnoremap z/ :exe ':spellrare! ' . expand('<cWORD>')<CR>
|
nnoremap z/ :exe ':spellrare! ' .. expand('<cWORD>')<CR>
|
||||||
< |:spellundo|, |zuw|, or |zuW| can be used to undo this.
|
< |:spellundo|, |zuw|, or |zuW| can be used to undo this.
|
||||||
|
|
||||||
:spellr[rare]! {word} Add {word} as a rare word to the internal word
|
:spellr[rare]! {word} Add {word} as a rare word to the internal word
|
||||||
|
|||||||
@@ -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 Feb 01
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -256,6 +256,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
Interfaces, such as Python, Ruby and Lua, are also disabled,
|
Interfaces, such as Python, Ruby and Lua, are also disabled,
|
||||||
since they could be used to execute shell commands. Perl uses
|
since they could be used to execute shell commands. Perl uses
|
||||||
the Safe module.
|
the Safe module.
|
||||||
|
For Unix restricted mode is used when the last part of $SHELL
|
||||||
|
is "nologin" or "false".
|
||||||
Note that the user may still find a loophole to execute a
|
Note that the user may still find a loophole to execute a
|
||||||
shell command, it has only been made difficult.
|
shell command, it has only been made difficult.
|
||||||
|
|
||||||
@@ -268,8 +270,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
started if possible.
|
started if possible.
|
||||||
|
|
||||||
*-e*
|
*-e*
|
||||||
-e Start Vim in Ex mode |Q|. Only makes a difference when the
|
-e Start Vim in Ex mode, see |Ex-mode|. Only makes a difference
|
||||||
executable is not called "ex".
|
when the executable is not called "ex".
|
||||||
|
|
||||||
*-E*
|
*-E*
|
||||||
-E Start Vim in improved Ex mode |gQ|. Only makes a difference
|
-E Start Vim in improved Ex mode |gQ|. Only makes a difference
|
||||||
@@ -342,6 +344,12 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
Example: >
|
Example: >
|
||||||
vim -V20vimlog foobar
|
vim -V20vimlog foobar
|
||||||
<
|
<
|
||||||
|
--log {filename} *--log*
|
||||||
|
Start logging and write entries to {filename}.
|
||||||
|
This works like calling `ch_logfile({filename}, 'a')` very
|
||||||
|
early during startup.
|
||||||
|
{only available with the +channel feature}
|
||||||
|
|
||||||
*-D*
|
*-D*
|
||||||
-D Debugging. Go to debugging mode when executing the first
|
-D Debugging. Go to debugging mode when executing the first
|
||||||
command from a script. |debug-mode|
|
command from a script. |debug-mode|
|
||||||
@@ -560,6 +568,9 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
":source!". When the "scriptout" file already exists, new
|
":source!". When the "scriptout" file already exists, new
|
||||||
characters are appended. See also |complex-repeat|.
|
characters are appended. See also |complex-repeat|.
|
||||||
{scriptout} cannot start with a digit.
|
{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.
|
||||||
|
Also see |--log|.
|
||||||
|
|
||||||
*-W*
|
*-W*
|
||||||
-W {scriptout} Like -w, but do not append, overwrite an existing file.
|
-W {scriptout} Like -w, but do not append, overwrite an existing file.
|
||||||
@@ -1374,7 +1385,7 @@ resulting file, when executed with a ":source" command:
|
|||||||
After restoring the Session, the full filename of your current Session is
|
After restoring the Session, the full filename of your current Session is
|
||||||
available in the internal variable "v:this_session" |this_session-variable|.
|
available in the internal variable "v:this_session" |this_session-variable|.
|
||||||
An example mapping: >
|
An example mapping: >
|
||||||
:nmap <F2> :wa<Bar>exe "mksession! " . v:this_session<CR>:so ~/sessions/
|
:nmap <F2> :wa<Bar>exe "mksession! " .. v:this_session<CR>:so ~/sessions/
|
||||||
This saves the current Session, and starts off the command to load another.
|
This saves the current Session, and starts off the command to load another.
|
||||||
|
|
||||||
A session includes all tab pages, unless "tabpages" was removed from
|
A session includes all tab pages, unless "tabpages" was removed from
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*syntax.txt* For Vim version 8.2. Last change: 2021 Nov 20
|
*syntax.txt* For Vim version 8.2. Last change: 2022 Apr 06
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -215,7 +215,8 @@ A syntax group name doesn't specify any color or attributes itself.
|
|||||||
|
|
||||||
The name for a highlight or syntax group must consist of ASCII letters, digits
|
The name for a highlight or syntax group must consist of ASCII letters, digits
|
||||||
and the underscore. As a regexp: "[a-zA-Z0-9_]*". However, Vim does not give
|
and the underscore. As a regexp: "[a-zA-Z0-9_]*". However, Vim does not give
|
||||||
an error when using other characters.
|
an error when using other characters. The maxium length of a group name is
|
||||||
|
about 200 bytes. *E1249*
|
||||||
|
|
||||||
To be able to allow each user to pick their favorite set of colors, there must
|
To be able to allow each user to pick their favorite set of colors, there must
|
||||||
be preferred names for highlight groups that are common for many languages.
|
be preferred names for highlight groups that are common for many languages.
|
||||||
@@ -652,7 +653,7 @@ evaluate to get a unique string to append to each ID used in a given document,
|
|||||||
so that the full IDs will be unique even when combined with other content in a
|
so that the full IDs will be unique even when combined with other content in a
|
||||||
larger HTML document. Example, to append _ and the buffer number to each ID: >
|
larger HTML document. Example, to append _ and the buffer number to each ID: >
|
||||||
|
|
||||||
:let g:html_id_expr = '"_".bufnr("%")'
|
:let g:html_id_expr = '"_" .. bufnr("%")'
|
||||||
<
|
<
|
||||||
To append a string "_mystring" to the end of each ID: >
|
To append a string "_mystring" to the end of each ID: >
|
||||||
|
|
||||||
@@ -956,12 +957,16 @@ the options 'foldminlines' and 'foldnestmax' in |.vimrc| or use |:setlocal| in
|
|||||||
|
|
||||||
BASIC *basic.vim* *vb.vim* *ft-basic-syntax* *ft-vb-syntax*
|
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
|
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",
|
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
|
otherwise "vb". Files with the ".frm" extension will always be seen as Visual
|
||||||
Basic.
|
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*
|
C *c.vim* *ft-c-syntax*
|
||||||
|
|
||||||
@@ -1442,7 +1447,7 @@ add the following line to your startup file: >
|
|||||||
|
|
||||||
:let g:filetype_euphoria = "euphoria4"
|
: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
|
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
|
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
|
filetype will be set as Euphoria. Otherwise, the filetype will default to
|
||||||
@@ -1473,7 +1478,7 @@ The following file extensions are auto-detected as Elixir file types:
|
|||||||
|
|
||||||
*.ex, *.exs, *.eex, *.leex, *.lock
|
*.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
|
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
|
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
|
filetype will be set as Euphoria. Otherwise, the filetype will default to
|
||||||
@@ -1532,6 +1537,22 @@ The enhanced mode also takes advantage of additional color features for a dark
|
|||||||
gvim display. Here, statements are colored LightYellow instead of Yellow, and
|
gvim display. Here, statements are colored LightYellow instead of Yellow, and
|
||||||
conditionals are LightBlue for better distinction.
|
conditionals are LightBlue for better distinction.
|
||||||
|
|
||||||
|
Both Visual Basic and FORM use the extension ".frm". 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 found, filetype will be "vb", otherwise "form".
|
||||||
|
|
||||||
|
If the automatic detection doesn't work for you or you only edit, for
|
||||||
|
example, FORM files, use this in your startup vimrc: >
|
||||||
|
:let filetype_frm = "form"
|
||||||
|
|
||||||
|
|
||||||
|
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*
|
FORTRAN *fortran.vim* *ft-fortran-syntax*
|
||||||
|
|
||||||
@@ -3188,6 +3209,14 @@ buffer by buffer basis.
|
|||||||
For more detailed instructions see |ft_sql.txt|.
|
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*
|
TCSH *tcsh.vim* *ft-tcsh-syntax*
|
||||||
|
|
||||||
This covers the shell named "tcsh". It is a superset of csh. See |csh.vim|
|
This covers the shell named "tcsh". It is a superset of csh. See |csh.vim|
|
||||||
@@ -3578,8 +3607,8 @@ Do you want to draw with the mouse? Try the following: >
|
|||||||
:function! GetPixel()
|
:function! GetPixel()
|
||||||
: let c = getline(".")[col(".") - 1]
|
: let c = getline(".")[col(".") - 1]
|
||||||
: echo c
|
: echo c
|
||||||
: exe "noremap <LeftMouse> <LeftMouse>r".c
|
: exe "noremap <LeftMouse> <LeftMouse>r" .. c
|
||||||
: exe "noremap <LeftDrag> <LeftMouse>r".c
|
: exe "noremap <LeftDrag> <LeftMouse>r" .. c
|
||||||
:endfunction
|
:endfunction
|
||||||
:noremap <RightMouse> <LeftMouse>:call GetPixel()<CR>
|
:noremap <RightMouse> <LeftMouse>:call GetPixel()<CR>
|
||||||
:set guicursor=n:hor20 " to see the color beneath the cursor
|
:set guicursor=n:hor20 " to see the color beneath the cursor
|
||||||
@@ -3684,12 +3713,13 @@ DEFINING CASE *:syn-case* *E390*
|
|||||||
items until the next ":syntax case" command are affected.
|
items until the next ":syntax case" command are affected.
|
||||||
|
|
||||||
:sy[ntax] case
|
:sy[ntax] case
|
||||||
Show either "syntax case match" or "syntax case ignore" (translated).
|
Show either "syntax case match" or "syntax case ignore".
|
||||||
|
|
||||||
|
|
||||||
DEFINING FOLDLEVEL *:syn-foldlevel*
|
DEFINING FOLDLEVEL *:syn-foldlevel*
|
||||||
|
|
||||||
:sy[ntax] foldlevel [start | minimum]
|
:sy[ntax] foldlevel start
|
||||||
|
:sy[ntax] foldlevel minimum
|
||||||
This defines how the foldlevel of a line is computed when using
|
This defines how the foldlevel of a line is computed when using
|
||||||
foldmethod=syntax (see |fold-syntax| and |:syn-fold|):
|
foldmethod=syntax (see |fold-syntax| and |:syn-fold|):
|
||||||
|
|
||||||
@@ -3702,13 +3732,16 @@ DEFINING FOLDLEVEL *:syn-foldlevel*
|
|||||||
may close and open horizontally within a line.
|
may close and open horizontally within a line.
|
||||||
|
|
||||||
:sy[ntax] foldlevel
|
:sy[ntax] foldlevel
|
||||||
Show either "syntax foldlevel start" or "syntax foldlevel minimum".
|
Show the current foldlevel method, either "syntax foldlevel start" or
|
||||||
|
"syntax foldlevel minimum".
|
||||||
|
|
||||||
{not meaningful when Vim was compiled without |+folding| feature}
|
{not meaningful when Vim was compiled without |+folding| feature}
|
||||||
|
|
||||||
SPELL CHECKING *:syn-spell*
|
SPELL CHECKING *:syn-spell*
|
||||||
|
|
||||||
:sy[ntax] spell [toplevel | notoplevel | default]
|
:sy[ntax] spell toplevel
|
||||||
|
:sy[ntax] spell notoplevel
|
||||||
|
:sy[ntax] spell default
|
||||||
This defines where spell checking is to be done for text that is not
|
This defines where spell checking is to be done for text that is not
|
||||||
in a syntax item:
|
in a syntax item:
|
||||||
|
|
||||||
@@ -3723,8 +3756,8 @@ SPELL CHECKING *:syn-spell*
|
|||||||
To activate spell checking the 'spell' option must be set.
|
To activate spell checking the 'spell' option must be set.
|
||||||
|
|
||||||
:sy[ntax] spell
|
:sy[ntax] spell
|
||||||
Show either "syntax spell toplevel", "syntax spell notoplevel" or
|
Show the current syntax spell checking method, either "syntax spell
|
||||||
"syntax spell default" (translated).
|
toplevel", "syntax spell notoplevel" or "syntax spell default".
|
||||||
|
|
||||||
|
|
||||||
SYNTAX ISKEYWORD SETTING *:syn-iskeyword*
|
SYNTAX ISKEYWORD SETTING *:syn-iskeyword*
|
||||||
@@ -4323,7 +4356,7 @@ IMPLICIT CONCEAL *:syn-conceal-implicit*
|
|||||||
given explicitly.
|
given explicitly.
|
||||||
|
|
||||||
:sy[ntax] conceal
|
:sy[ntax] conceal
|
||||||
Show either "syntax conceal on" or "syntax conceal off" (translated).
|
Show either "syntax conceal on" or "syntax conceal off".
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
8. Syntax patterns *:syn-pattern* *E401* *E402*
|
8. Syntax patterns *:syn-pattern* *E401* *E402*
|
||||||
@@ -4419,7 +4452,7 @@ Leading context *:syn-lc* *:syn-leading* *:syn-context*
|
|||||||
|
|
||||||
Note: This is an obsolete feature, only included for backwards compatibility
|
Note: This is an obsolete feature, only included for backwards compatibility
|
||||||
with previous Vim versions. It's now recommended to use the |/\@<=| construct
|
with previous Vim versions. It's now recommended to use the |/\@<=| construct
|
||||||
in the pattern.
|
in the pattern. You can also often use |/\zs|.
|
||||||
|
|
||||||
The "lc" offset specifies leading context -- a part of the pattern that must
|
The "lc" offset specifies leading context -- a part of the pattern that must
|
||||||
be present, but is not considered part of the match. An offset of "lc=n" will
|
be present, but is not considered part of the match. An offset of "lc=n" will
|
||||||
@@ -4490,7 +4523,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
|
changes the \z1 back-reference into an external reference referring to the
|
||||||
first external sub-expression in the start pattern. External references can
|
first external sub-expression in the start pattern. External references can
|
||||||
also be used in skip patterns: >
|
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
|
Note that normal and external sub-expressions are completely orthogonal and
|
||||||
indexed separately; for instance, if the pattern "\z(..\)\(..\)" is applied
|
indexed separately; for instance, if the pattern "\z(..\)\(..\)" is applied
|
||||||
@@ -4865,7 +4898,7 @@ in their own color.
|
|||||||
:hi[ghlight] {group-name}
|
:hi[ghlight] {group-name}
|
||||||
List one highlight group.
|
List one highlight group.
|
||||||
|
|
||||||
*highlight-clear*
|
*highlight-clear* *:hi-clear*
|
||||||
:hi[ghlight] clear Reset all highlighting to the defaults. Removes all
|
:hi[ghlight] clear Reset all highlighting to the defaults. Removes all
|
||||||
highlighting for groups added by the user!
|
highlighting for groups added by the user!
|
||||||
Uses the current value of 'background' to decide which
|
Uses the current value of 'background' to decide which
|
||||||
@@ -4928,7 +4961,7 @@ the same syntax file on all terminals, and use the optimal highlighting.
|
|||||||
*inverse* *italic* *standout*
|
*inverse* *italic* *standout*
|
||||||
*nocombine* *strikethrough*
|
*nocombine* *strikethrough*
|
||||||
term={attr-list} *attr-list* *highlight-term* *E418*
|
term={attr-list} *attr-list* *highlight-term* *E418*
|
||||||
attr-list is a comma separated list (without spaces) of the
|
attr-list is a comma-separated list (without spaces) of the
|
||||||
following items (in any order):
|
following items (in any order):
|
||||||
bold
|
bold
|
||||||
underline
|
underline
|
||||||
@@ -5112,7 +5145,7 @@ font={font-name} *highlight-font*
|
|||||||
When setting the font for the "Normal" group, this becomes the default
|
When setting the font for the "Normal" group, this becomes the default
|
||||||
font (until the 'guifont' option is changed; the last one set is
|
font (until the 'guifont' option is changed; the last one set is
|
||||||
used).
|
used).
|
||||||
The following only works with Motif and Athena, not with other GUIs:
|
The following only works with Motif, not with other GUIs:
|
||||||
When setting the font for the "Menu" group, the menus will be changed.
|
When setting the font for the "Menu" group, the menus will be changed.
|
||||||
When setting the font for the "Tooltip" group, the tooltips will be
|
When setting the font for the "Tooltip" group, the tooltips will be
|
||||||
changed.
|
changed.
|
||||||
@@ -5285,6 +5318,8 @@ QuickFixLine Current |quickfix| item in the quickfix window.
|
|||||||
*hl-Search*
|
*hl-Search*
|
||||||
Search Last search pattern highlighting (see 'hlsearch').
|
Search Last search pattern highlighting (see 'hlsearch').
|
||||||
Also used for similar items that need to stand out.
|
Also used for similar items that need to stand out.
|
||||||
|
*hl-CurSearch*
|
||||||
|
CurSearch Current match for the last search pattern (see 'hlsearch').
|
||||||
*hl-SpecialKey*
|
*hl-SpecialKey*
|
||||||
SpecialKey Meta and special keys listed with ":map", also for text used
|
SpecialKey Meta and special keys listed with ":map", also for text used
|
||||||
to show unprintable characters in the text, 'listchars'.
|
to show unprintable characters in the text, 'listchars'.
|
||||||
@@ -5349,7 +5384,7 @@ Menu Current font, background and foreground colors of the menus.
|
|||||||
Also used for the toolbar.
|
Also used for the toolbar.
|
||||||
Applicable highlight arguments: font, guibg, guifg.
|
Applicable highlight arguments: font, guibg, guifg.
|
||||||
|
|
||||||
NOTE: For Motif and Athena the font argument actually
|
NOTE: For Motif the font argument actually
|
||||||
specifies a fontset at all times, no matter if 'guifontset' is
|
specifies a fontset at all times, no matter if 'guifontset' is
|
||||||
empty, and as such it is tied to the current |:language| when
|
empty, and as such it is tied to the current |:language| when
|
||||||
set.
|
set.
|
||||||
@@ -5363,7 +5398,7 @@ Scrollbar Current background and foreground of the main window's
|
|||||||
Tooltip Current font, background and foreground of the tooltips.
|
Tooltip Current font, background and foreground of the tooltips.
|
||||||
Applicable highlight arguments: font, guibg, guifg.
|
Applicable highlight arguments: font, guibg, guifg.
|
||||||
|
|
||||||
NOTE: For Motif and Athena the font argument actually
|
NOTE: For Motif the font argument actually
|
||||||
specifies a fontset at all times, no matter if 'guifontset' is
|
specifies a fontset at all times, no matter if 'guifontset' is
|
||||||
empty, and as such it is tied to the current |:language| when
|
empty, and as such it is tied to the current |:language| when
|
||||||
set.
|
set.
|
||||||
@@ -5520,11 +5555,12 @@ WARNING: The longer the tags file, the slower this will be, and the more
|
|||||||
memory Vim will consume.
|
memory Vim will consume.
|
||||||
|
|
||||||
Only highlighting typedefs, unions and structs can be done too. For this you
|
Only highlighting typedefs, unions and structs can be done too. For this you
|
||||||
must use Exuberant ctags (found at http://ctags.sf.net).
|
must use Universal Ctags (found at https://ctags.io) or Exuberant ctags (found
|
||||||
|
at http://ctags.sf.net).
|
||||||
|
|
||||||
Put these lines in your Makefile:
|
Put these lines in your Makefile:
|
||||||
|
|
||||||
# Make a highlight file for types. Requires Exuberant ctags and awk
|
# Make a highlight file for types. Requires Universal/Exuberant ctags and awk
|
||||||
types: types.vim
|
types: types.vim
|
||||||
types.vim: *.[ch]
|
types.vim: *.[ch]
|
||||||
ctags --c-kinds=gstu -o- *.[ch] |\
|
ctags --c-kinds=gstu -o- *.[ch] |\
|
||||||
@@ -5534,9 +5570,9 @@ types.vim: *.[ch]
|
|||||||
And put these lines in your .vimrc: >
|
And put these lines in your .vimrc: >
|
||||||
|
|
||||||
" load the types.vim highlighting file, if it exists
|
" load the types.vim highlighting file, if it exists
|
||||||
autocmd BufRead,BufNewFile *.[ch] let fname = expand('<afile>:p:h') . '/types.vim'
|
autocmd BufRead,BufNewFile *.[ch] let fname = expand('<afile>:p:h') .. '/types.vim'
|
||||||
autocmd BufRead,BufNewFile *.[ch] if filereadable(fname)
|
autocmd BufRead,BufNewFile *.[ch] if filereadable(fname)
|
||||||
autocmd BufRead,BufNewFile *.[ch] exe 'so ' . fname
|
autocmd BufRead,BufNewFile *.[ch] exe 'so ' .. fname
|
||||||
autocmd BufRead,BufNewFile *.[ch] endif
|
autocmd BufRead,BufNewFile *.[ch] endif
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*tabpage.txt* For Vim version 8.2. Last change: 2020 Oct 14
|
*tabpage.txt* For Vim version 8.2. Last change: 2022 Feb 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -143,7 +143,9 @@ something else.
|
|||||||
:tabclose 3 " close the third tab page
|
:tabclose 3 " close the third tab page
|
||||||
:tabclose $ " close the last tab page
|
:tabclose $ " close the last tab page
|
||||||
:tabclose # " close the last accessed tab page
|
:tabclose # " close the last accessed tab page
|
||||||
<
|
|
||||||
|
When a tab is closed the next tab page will become the current one.
|
||||||
|
|
||||||
*:tabo* *:tabonly*
|
*:tabo* *:tabonly*
|
||||||
:tabo[nly][!] Close all other tab pages.
|
:tabo[nly][!] Close all other tab pages.
|
||||||
When the 'hidden' option is set, all buffers in closed windows
|
When the 'hidden' option is set, all buffers in closed windows
|
||||||
@@ -379,24 +381,24 @@ pages and define labels for them. Then get the label for each tab page. >
|
|||||||
for i in range(tabpagenr('$'))
|
for i in range(tabpagenr('$'))
|
||||||
" select the highlighting
|
" select the highlighting
|
||||||
if i + 1 == tabpagenr()
|
if i + 1 == tabpagenr()
|
||||||
let s .= '%#TabLineSel#'
|
let s ..= '%#TabLineSel#'
|
||||||
else
|
else
|
||||||
let s .= '%#TabLine#'
|
let s ..= '%#TabLine#'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" set the tab page number (for mouse clicks)
|
" set the tab page number (for mouse clicks)
|
||||||
let s .= '%' . (i + 1) . 'T'
|
let s ..= '%' .. (i + 1) .. 'T'
|
||||||
|
|
||||||
" the label is made by MyTabLabel()
|
" the label is made by MyTabLabel()
|
||||||
let s .= ' %{MyTabLabel(' . (i + 1) . ')} '
|
let s ..= ' %{MyTabLabel(' .. (i + 1) .. ')} '
|
||||||
endfor
|
endfor
|
||||||
|
|
||||||
" after the last tab fill with TabLineFill and reset tab page nr
|
" after the last tab fill with TabLineFill and reset tab page nr
|
||||||
let s .= '%#TabLineFill#%T'
|
let s ..= '%#TabLineFill#%T'
|
||||||
|
|
||||||
" right-align the label to close the current tab page
|
" right-align the label to close the current tab page
|
||||||
if tabpagenr('$') > 1
|
if tabpagenr('$') > 1
|
||||||
let s .= '%=%#TabLine#%999Xclose'
|
let s ..= '%=%#TabLine#%999Xclose'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return s
|
return s
|
||||||
@@ -459,14 +461,14 @@ windows in the tab page and a '+' if there is a modified buffer: >
|
|||||||
" Append the number of windows in the tab page if more than one
|
" Append the number of windows in the tab page if more than one
|
||||||
let wincount = tabpagewinnr(v:lnum, '$')
|
let wincount = tabpagewinnr(v:lnum, '$')
|
||||||
if wincount > 1
|
if wincount > 1
|
||||||
let label .= wincount
|
let label ..= wincount
|
||||||
endif
|
endif
|
||||||
if label != ''
|
if label != ''
|
||||||
let label .= ' '
|
let label ..= ' '
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Append the buffer name
|
" Append the buffer name
|
||||||
return label . bufname(bufnrlist[tabpagewinnr(v:lnum) - 1])
|
return label .. bufname(bufnrlist[tabpagewinnr(v:lnum) - 1])
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
set guitablabel=%{GuiTabLabel()}
|
set guitablabel=%{GuiTabLabel()}
|
||||||
|
|||||||
1355
runtime/doc/tags
1355
runtime/doc/tags
File diff suppressed because it is too large
Load Diff
@@ -561,7 +561,8 @@ also works. The <CR> and <NL> characters can never appear inside a line.
|
|||||||
|
|
||||||
The second format is new. It includes additional information in optional
|
The second format is new. It includes additional information in optional
|
||||||
fields at the end of each line. It is backwards compatible with Vi. It is
|
fields at the end of each line. It is backwards compatible with Vi. It is
|
||||||
only supported by new versions of ctags (such as Exuberant ctags).
|
only supported by new versions of ctags (such as Universal ctags or Exuberant
|
||||||
|
ctags).
|
||||||
|
|
||||||
{tagname} The identifier. Normally the name of a function, but it can
|
{tagname} The identifier. Normally the name of a function, but it can
|
||||||
be any identifier. It cannot contain a <Tab>.
|
be any identifier. It cannot contain a <Tab>.
|
||||||
@@ -724,7 +725,7 @@ matches the pattern "^# *define" it is not considered to be a comment.
|
|||||||
If you want to list matches, and then select one to jump to, you could use a
|
If you want to list matches, and then select one to jump to, you could use a
|
||||||
mapping to do that for you. Here is an example: >
|
mapping to do that for you. Here is an example: >
|
||||||
|
|
||||||
:map <F4> [I:let nr = input("Which one: ")<Bar>exe "normal " . nr ."[\t"<CR>
|
:map <F4> [I:let nr = input("Which one: ")<Bar>exe "normal " .. nr .. "[\t"<CR>
|
||||||
<
|
<
|
||||||
*[i*
|
*[i*
|
||||||
[i Display the first line that contains the keyword
|
[i Display the first line that contains the keyword
|
||||||
|
|||||||
@@ -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: 2022 Apr 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
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
|
" Enable focus event tracking, see :help xterm-focus-event
|
||||||
let &t_fe = "\<Esc>[?1004h"
|
let &t_fe = "\<Esc>[?1004h"
|
||||||
let &t_fd = "\<Esc>[?1004l"
|
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 <xUp>=\<Esc>[@;*A"
|
||||||
execute "silent! set <xDown>=\<Esc>[@;*B"
|
execute "silent! set <xDown>=\<Esc>[@;*B"
|
||||||
execute "silent! set <xRight>=\<Esc>[@;*C"
|
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
|
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 "@"
|
keys, which either use "CSI X" or "CSI 1 ; modifier X". Thus the "@"
|
||||||
stands for either "1" if a modifier follows, or nothing.
|
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
|
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
|
contain the entry for scroll regions. Add ":cs=\E[%i%d;%dr:" to the xterm
|
||||||
entry in /etc/termcap and everything should work.
|
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
|
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,
|
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.
|
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*
|
*xterm-true-color*
|
||||||
Vim supports using true colors in the terminal (taken from |highlight-guifg|
|
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: >
|
you may have to set the options yourself: >
|
||||||
let &t_fe = "\<Esc>[?1004h"
|
let &t_fe = "\<Esc>[?1004h"
|
||||||
let &t_fd = "\<Esc>[?1004l"
|
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.
|
If this causes garbage to show when Vim starts up then it doesn't work.
|
||||||
|
|
||||||
*termcap-colors*
|
*termcap-colors*
|
||||||
@@ -702,12 +725,12 @@ size is wrong you can use the 'lines' and 'columns' options to set the
|
|||||||
correct values.
|
correct values.
|
||||||
|
|
||||||
One command can be used to set the screen size:
|
One command can be used to set the screen size:
|
||||||
|
|
||||||
*:mod* *:mode* *E359*
|
*:mod* *:mode* *E359*
|
||||||
:mod[e] [mode]
|
:mod[e] [mode]
|
||||||
|
|
||||||
Without argument this only detects the screen size and redraws the screen.
|
Without argument this only detects the screen size and redraws the screen.
|
||||||
[mode] was used on MS-DOS, but it doesn't work anymore.
|
[mode] was used on MS-DOS, but it doesn't work anymore. In |Vim9| this
|
||||||
|
command is not supported.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
4. Slow and fast terminals *slow-fast-terminal*
|
4. Slow and fast terminals *slow-fast-terminal*
|
||||||
@@ -810,7 +833,7 @@ select and copy the text to the system, then press Esc.
|
|||||||
Another way is to temporarily use ":sh" to run a shell, copy the text, then
|
Another way is to temporarily use ":sh" to run a shell, copy the text, then
|
||||||
exit the shell. 'mouse' can remain set to "a" then.
|
exit the shell. 'mouse' can remain set to "a" then.
|
||||||
*xterm-clipboard*
|
*xterm-clipboard*
|
||||||
In the Athena and Motif GUI versions, when running in a terminal and there is
|
In the Motif GUI version, when running in a terminal and there is
|
||||||
access to the X-server (DISPLAY is set), the copy and paste will behave like
|
access to the X-server (DISPLAY is set), the copy and paste will behave like
|
||||||
in the GUI. If not, the middle mouse button will insert the unnamed register.
|
in the GUI. If not, the middle mouse button will insert the unnamed register.
|
||||||
In that case, here is how you copy and paste a piece of text:
|
In that case, here is how you copy and paste a piece of text:
|
||||||
@@ -961,7 +984,7 @@ an #if/#else/#endif block, the selection becomes linewise.
|
|||||||
For MS-Windows and xterm the time for double clicking can be set with the
|
For MS-Windows and xterm the time for double clicking can be set with the
|
||||||
'mousetime' option. For the other systems this time is defined outside of Vim.
|
'mousetime' option. For the other systems this time is defined outside of Vim.
|
||||||
An example, for using a double click to jump to the tag under the cursor: >
|
An example, for using a double click to jump to the tag under the cursor: >
|
||||||
:map <2-LeftMouse> :exe "tag ". expand("<cword>")<CR>
|
:map <2-LeftMouse> :exe "tag " .. expand("<cword>")<CR>
|
||||||
|
|
||||||
Dragging the mouse with a double click (button-down, button-up, button-down
|
Dragging the mouse with a double click (button-down, button-up, button-down
|
||||||
and then drag) will result in whole words to be selected. This continues
|
and then drag) will result in whole words to be selected. This continues
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*terminal.txt* For Vim version 8.2. Last change: 2021 Nov 13
|
*terminal.txt* For Vim version 8.2. Last change: 2022 Apr 06
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -39,6 +39,7 @@ If the result is "1" you have it.
|
|||||||
Stepping through code |termdebug-stepping|
|
Stepping through code |termdebug-stepping|
|
||||||
Inspecting variables |termdebug-variables|
|
Inspecting variables |termdebug-variables|
|
||||||
Other commands |termdebug-commands|
|
Other commands |termdebug-commands|
|
||||||
|
Events |termdebug-events|
|
||||||
Prompt mode |termdebug-prompt|
|
Prompt mode |termdebug-prompt|
|
||||||
Communication |termdebug-communication|
|
Communication |termdebug-communication|
|
||||||
Customizing |termdebug-customizing|
|
Customizing |termdebug-customizing|
|
||||||
@@ -673,7 +674,7 @@ term_getsize({buf}) *term_getsize()*
|
|||||||
|
|
||||||
term_getstatus({buf}) *term_getstatus()*
|
term_getstatus({buf}) *term_getstatus()*
|
||||||
Get the status of terminal {buf}. This returns a String with
|
Get the status of terminal {buf}. This returns a String with
|
||||||
a comma separated list of these items:
|
a comma-separated list of these items:
|
||||||
running job is running
|
running job is running
|
||||||
finished job has finished
|
finished job has finished
|
||||||
normal in Terminal-Normal mode
|
normal in Terminal-Normal mode
|
||||||
@@ -978,8 +979,8 @@ Currently supported commands:
|
|||||||
< Calls a function defined like this: >
|
< Calls a function defined like this: >
|
||||||
function Tapi_Impression(bufnum, arglist)
|
function Tapi_Impression(bufnum, arglist)
|
||||||
if len(a:arglist) == 2
|
if len(a:arglist) == 2
|
||||||
echomsg "impression " . a:arglist[0]
|
echomsg "impression " .. a:arglist[0]
|
||||||
echomsg "count " . a:arglist[1]
|
echomsg "count " .. a:arglist[1]
|
||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
< Output from `:echo` may be erased by a redraw, use `:echomsg`
|
< Output from `:echo` may be erased by a redraw, use `:echomsg`
|
||||||
@@ -1177,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
|
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
|
used in gdb the program I/O will happen in this window, so
|
||||||
that it does not interfere with controlling gdb. The buffer
|
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
|
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
|
source file location will be displayed, if possible. A sign is used to
|
||||||
@@ -1428,6 +1429,8 @@ GDB command *termdebug-customizing*
|
|||||||
To change the name of the gdb command, set the "g:termdebugger" variable before
|
To change the name of the gdb command, set the "g:termdebugger" variable before
|
||||||
invoking `:Termdebug`: >
|
invoking `:Termdebug`: >
|
||||||
let g:termdebugger = "mygdb"
|
let g:termdebugger = "mygdb"
|
||||||
|
If the command needs an argument use a List: >
|
||||||
|
let g:termdebugger = ['rr', 'replay', '--']
|
||||||
< *gdb-version*
|
< *gdb-version*
|
||||||
Only debuggers fully compatible with gdb will work. Vim uses the GDB/MI
|
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
|
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 Apr 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -65,7 +65,9 @@ test_garbagecollect_now() *test_garbagecollect_now()*
|
|||||||
Like garbagecollect(), but executed right away. This must
|
Like garbagecollect(), but executed right away. This must
|
||||||
only be called directly to avoid any structure to exist
|
only be called directly to avoid any structure to exist
|
||||||
internally, and |v:testing| must have been set before calling
|
internally, and |v:testing| must have been set before calling
|
||||||
any function.
|
any function. *E1142*
|
||||||
|
This will not work when called from a :def function, because
|
||||||
|
variables on the stack will be freed.
|
||||||
|
|
||||||
|
|
||||||
test_garbagecollect_soon() *test_garbagecollect_soon()*
|
test_garbagecollect_soon() *test_garbagecollect_soon()*
|
||||||
@@ -81,46 +83,119 @@ test_getvalue({name}) *test_getvalue()*
|
|||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetName()->test_getvalue()
|
GetName()->test_getvalue()
|
||||||
<
|
<
|
||||||
*test_gui_drop_files()*
|
*test_gui_event()*
|
||||||
test_gui_drop_files({list}, {row}, {col}, {mods})
|
test_gui_event({event}, {args})
|
||||||
Drop one or more files in {list} in the window at {row}, {col}.
|
Generate a GUI {event} with arguments {args} for testing Vim
|
||||||
This function only works when the GUI is running and the
|
functionality. This function works only when the GUI is
|
||||||
|drop_file| feature is present.
|
running.
|
||||||
|
|
||||||
The supported values for {mods} are:
|
{event} is a String and the supported values are:
|
||||||
0x4 Shift
|
"dropfiles" drop one or more files in a window.
|
||||||
0x8 Alt
|
"findrepl" search and replace text
|
||||||
0x10 Ctrl
|
"mouse" mouse button click event.
|
||||||
The files are added to the |argument-list| and the first file
|
"scrollbar" move or drag the scrollbar
|
||||||
in {list} is edited in the window. See |drag-n-drop| for more
|
"tabline" select a tab page by mouse click.
|
||||||
information.
|
"tabmenu" select a tabline menu entry.
|
||||||
|
|
||||||
*test_gui_mouse_event()*
|
{args} is a Dict and contains the arguments for the event.
|
||||||
test_gui_mouse_event({button}, {row}, {col}, {multiclick}, {modifiers})
|
|
||||||
Inject a mouse button click event. This function only works
|
"dropfiles":
|
||||||
when the GUI is running.
|
Drop one or more files in a specified window. The supported
|
||||||
The supported values for {button} are:
|
items in {args} are:
|
||||||
0 right mouse button
|
files: List of file names
|
||||||
1 middle mouse button
|
row: window row number
|
||||||
2 left mouse button
|
col: window column number
|
||||||
3 mouse button release
|
modifiers: key modifiers. The supported values are:
|
||||||
4 scroll wheel down
|
0x4 Shift
|
||||||
5 scroll wheel up
|
0x8 Alt
|
||||||
6 scroll wheel left
|
0x10 Ctrl
|
||||||
7 scroll wheel right
|
The files are added to the |argument-list| and the first
|
||||||
{row} and {col} specify the location of the mouse click. The
|
file in {files} is edited in the window. See |drag-n-drop|
|
||||||
first row of the Vim window is 1 and the last row is 'lines'.
|
for more information. This event works only when the
|
||||||
The maximum value of {col} is 'columns'.
|
|drop_file| feature is present.
|
||||||
To inject a multiclick event, set {multiclick} to 1.
|
|
||||||
The supported values for {modifiers} are:
|
"findrepl":
|
||||||
4 shift is pressed
|
{only available when the GUI has a find/replace dialog}
|
||||||
8 alt is pressed
|
Perform a search and replace of text. The supported items
|
||||||
16 ctrl is pressed
|
in {args} are:
|
||||||
After injecting the mouse event you probably should call
|
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 either a mouse button click, or a mouse move, 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
|
||||||
|
move: Optional; if used and TRUE then a mouse move
|
||||||
|
event can be generated.
|
||||||
|
Only {args} row: and col: are used and
|
||||||
|
required; they are interpreted as pixels.
|
||||||
|
Only results in an event when 'mousemoveevent'
|
||||||
|
is set or a popup uses mouse move events.
|
||||||
|
|
||||||
|
"scrollbar":
|
||||||
|
Set or drag the left, right or horizontal scrollbar. Only
|
||||||
|
works when the scrollbar actually exists. The supported
|
||||||
|
items in {args} are:
|
||||||
|
which: scrollbar. The supported values are:
|
||||||
|
left Left scrollbar of the current window
|
||||||
|
right Right scrollbar of the current window
|
||||||
|
hor Horizontal scrollbar
|
||||||
|
value: amount to scroll. For the vertical scrollbars
|
||||||
|
the value can be 1 to the line-count of the
|
||||||
|
buffer. For the horizontal scrollbar the
|
||||||
|
value can be between 1 and the maximum line
|
||||||
|
length, assuming 'wrap' is not set.
|
||||||
|
dragging: 1 to drag the scrollbar and 0 to click in the
|
||||||
|
scrollbar.
|
||||||
|
|
||||||
|
"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.: >
|
|feedkeys()| to have them processed, e.g.: >
|
||||||
call feedkeys("y", 'Lx!')
|
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()*
|
test_ignore_error({expr}) *test_ignore_error()*
|
||||||
Ignore any error containing {expr}. A normal message is given
|
Ignore any error containing {expr}. A normal message is given
|
||||||
instead.
|
instead.
|
||||||
@@ -187,24 +262,28 @@ test_override({name}, {val}) *test_override()*
|
|||||||
to run tests. Only to be used for testing Vim!
|
to run tests. Only to be used for testing Vim!
|
||||||
The override is enabled when {val} is non-zero and removed
|
The override is enabled when {val} is non-zero and removed
|
||||||
when {val} is zero.
|
when {val} is zero.
|
||||||
Current supported values for name are:
|
Current supported values for {name} are:
|
||||||
|
|
||||||
name effect when {val} is non-zero ~
|
{name} effect when {val} is non-zero ~
|
||||||
redraw disable the redrawing() function
|
autoload `import autoload` will load the script right
|
||||||
redraw_flag ignore the RedrawingDisabled flag
|
away, not postponed until an item is used
|
||||||
char_avail disable the char_avail() function
|
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
|
nfa_fail makes the NFA regexp engine fail to force a
|
||||||
fallback to the old engine
|
fallback to the old engine
|
||||||
no_query_mouse do not query the mouse position for "dec"
|
no_query_mouse do not query the mouse position for "dec"
|
||||||
terminals
|
terminals
|
||||||
no_wait_return set the "no_wait_return" flag. Not restored
|
no_wait_return set the "no_wait_return" flag. Not restored
|
||||||
with "ALL".
|
with "ALL".
|
||||||
ui_delay time in msec to use in ui_delay(); overrules a
|
redraw disable the redrawing() function
|
||||||
wait time of up to 3 seconds for messages
|
redraw_flag ignore the RedrawingDisabled flag
|
||||||
|
starting reset the "starting" variable, see below
|
||||||
term_props reset all terminal properties when the version
|
term_props reset all terminal properties when the version
|
||||||
string is detected
|
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
|
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)
|
ALL clear all overrides ({val} is not used)
|
||||||
|
|
||||||
"starting" is to be used when a test should behave like
|
"starting" is to be used when a test should behave like
|
||||||
@@ -230,27 +309,6 @@ test_refcount({expr}) *test_refcount()*
|
|||||||
GetVarname()->test_refcount()
|
GetVarname()->test_refcount()
|
||||||
|
|
||||||
|
|
||||||
test_scrollbar({which}, {value}, {dragging}) *test_scrollbar()*
|
|
||||||
Pretend using scrollbar {which} to move it to position
|
|
||||||
{value}. {which} can be:
|
|
||||||
left Left scrollbar of the current window
|
|
||||||
right Right scrollbar of the current window
|
|
||||||
hor Horizontal scrollbar
|
|
||||||
|
|
||||||
For the vertical scrollbars {value} can be 1 to the
|
|
||||||
line-count of the buffer. For the horizontal scrollbar the
|
|
||||||
{value} can be between 1 and the maximum line length, assuming
|
|
||||||
'wrap' is not set.
|
|
||||||
|
|
||||||
When {dragging} is non-zero it's like dragging the scrollbar,
|
|
||||||
otherwise it's like clicking in the scrollbar.
|
|
||||||
Only works when the {which} scrollbar actually exists,
|
|
||||||
obviously only when using the GUI.
|
|
||||||
|
|
||||||
Can also be used as a |method|: >
|
|
||||||
GetValue()->test_scrollbar('right', 0)
|
|
||||||
|
|
||||||
|
|
||||||
test_setmouse({row}, {col}) *test_setmouse()*
|
test_setmouse({row}, {col}) *test_setmouse()*
|
||||||
Set the mouse position to be used for the next mouse action.
|
Set the mouse position to be used for the next mouse action.
|
||||||
{row} and {col} are one based.
|
{row} and {col} are one based.
|
||||||
@@ -347,7 +405,7 @@ assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]])
|
|||||||
Run {cmd} and add an error message to |v:errors| if it does
|
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
|
NOT produce an error or when {error} is not found in the
|
||||||
error message. Also see |assert-return|.
|
error message. Also see |assert-return|.
|
||||||
|
*E856*
|
||||||
When {error} is a string it must be found literally in the
|
When {error} is a string it must be found literally in the
|
||||||
first reported error. Most often this will be the error code,
|
first reported error. Most often this will be the error code,
|
||||||
including the colon, e.g. "E123:". >
|
including the colon, e.g. "E123:". >
|
||||||
@@ -367,12 +425,12 @@ assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]])
|
|||||||
<
|
<
|
||||||
If {msg} is empty then it is not used. Do this to get the
|
If {msg} is empty then it is not used. Do this to get the
|
||||||
default message when passing the {lnum} argument.
|
default message when passing the {lnum} argument.
|
||||||
|
*E1115*
|
||||||
When {lnum} is present and not negative, and the {error}
|
When {lnum} is present and not negative, and the {error}
|
||||||
argument is present and matches, then this is compared with
|
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 at which the error was reported. That can be
|
||||||
the line number in a function or in a script.
|
the line number in a function or in a script.
|
||||||
|
*E1116*
|
||||||
When {context} is present it is used as a pattern and matched
|
When {context} is present it is used as a pattern and matched
|
||||||
against the context (script name or function name) where
|
against the context (script name or function name) where
|
||||||
{lnum} is located in.
|
{lnum} is located in.
|
||||||
|
|||||||
@@ -101,14 +101,14 @@ What you need:
|
|||||||
create it with the shell command "mkid file1 file2 ..".
|
create it with the shell command "mkid file1 file2 ..".
|
||||||
|
|
||||||
Put this in your .vimrc: >
|
Put this in your .vimrc: >
|
||||||
map _u :call ID_search()<Bar>execute "/\\<" . g:word . "\\>"<CR>
|
map _u :call ID_search()<Bar>execute "/\\<" .. g:word .. "\\>"<CR>
|
||||||
map _n :n<Bar>execute "/\\<" . g:word . "\\>"<CR>
|
map _n :n<Bar>execute "/\\<" .. g:word .. "\\>"<CR>
|
||||||
|
|
||||||
function! ID_search()
|
function! ID_search()
|
||||||
let g:word = expand("<cword>")
|
let g:word = expand("<cword>")
|
||||||
let x = system("lid --key=none ". g:word)
|
let x = system("lid --key=none " .. g:word)
|
||||||
let x = substitute(x, "\n", " ", "g")
|
let x = substitute(x, "\n", " ", "g")
|
||||||
execute "next " . x
|
execute "next " .. x
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
To use it, place the cursor on a word, type "_u" and vim will load the file
|
To use it, place the cursor on a word, type "_u" and vim will load the file
|
||||||
@@ -356,13 +356,13 @@ This mapping will format any bullet list. It requires that there is an empty
|
|||||||
line above and below each list entry. The expression commands are used to
|
line above and below each list entry. The expression commands are used to
|
||||||
be able to give comments to the parts of the mapping. >
|
be able to give comments to the parts of the mapping. >
|
||||||
|
|
||||||
:let m = ":map _f :set ai<CR>" " need 'autoindent' set
|
:let m = ":map _f :set ai<CR>" " need 'autoindent' set
|
||||||
:let m = m . "{O<Esc>" " add empty line above item
|
:let m ..= "{O<Esc>" " add empty line above item
|
||||||
:let m = m . "}{)^W" " move to text after bullet
|
:let m ..= "}{)^W" " move to text after bullet
|
||||||
:let m = m . "i <CR> <Esc>" " add space for indent
|
:let m ..= "i <CR> <Esc>" " add space for indent
|
||||||
:let m = m . "gq}" " format text after the bullet
|
:let m ..= "gq}" " format text after the bullet
|
||||||
:let m = m . "{dd" " remove the empty line
|
:let m ..= "{dd" " remove the empty line
|
||||||
:let m = m . "5lDJ" " put text after bullet
|
:let m ..= "5lDJ" " put text after bullet
|
||||||
:execute m |" define the mapping
|
:execute m |" define the mapping
|
||||||
|
|
||||||
(<> notation |<>|. Note that this is all typed literally. ^W is "^" "W", not
|
(<> notation |<>|. Note that this is all typed literally. ^W is "^" "W", not
|
||||||
@@ -514,15 +514,15 @@ A slightly more advanced version is used in the |matchparen| plugin.
|
|||||||
let c = '\['
|
let c = '\['
|
||||||
let c2 = '\]'
|
let c2 = '\]'
|
||||||
endif
|
endif
|
||||||
let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' .
|
let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' ..
|
||||||
\ '=~? "string\\|comment"'
|
\ '=~? "string\\|comment"'
|
||||||
execute 'if' s_skip '| let s_skip = 0 | endif'
|
execute 'if' s_skip '| let s_skip = 0 | endif'
|
||||||
|
|
||||||
let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip)
|
let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip)
|
||||||
|
|
||||||
if m_lnum > 0 && m_lnum >= line('w0') && m_lnum <= line('w$')
|
if m_lnum > 0 && m_lnum >= line('w0') && m_lnum <= line('w$')
|
||||||
exe 'match Search /\(\%' . c_lnum . 'l\%' . c_col .
|
exe 'match Search /\(\%' .. c_lnum .. 'l\%' .. c_col ..
|
||||||
\ 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/'
|
\ 'c\)\|\(\%' .. m_lnum .. 'l\%' .. m_col .. 'c\)/'
|
||||||
let s:paren_hl_on = 1
|
let s:paren_hl_on = 1
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 8.2. Last change: 2021 Nov 14
|
*todo.txt* For Vim version 8.2. Last change: 2022 Apr 06
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -38,43 +38,23 @@ browser use: https://github.com/vim/vim/issues/1234
|
|||||||
*known-bugs*
|
*known-bugs*
|
||||||
-------------------- Known bugs and current work -----------------------
|
-------------------- Known bugs and current work -----------------------
|
||||||
|
|
||||||
mark ends up on last byte of char. (#9047)
|
|
||||||
|
|
||||||
Delete runtime/rgb.txt after a while
|
|
||||||
|
|
||||||
Vim9 - Make everything work:
|
|
||||||
- "filter #pat# ls" should work, #pat# is not a comment
|
|
||||||
vim9script
|
|
||||||
edit foobar
|
|
||||||
filter #foobar# ls
|
|
||||||
- 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.
|
|
||||||
|
|
||||||
Once Vim9 is stable:
|
Once Vim9 is stable:
|
||||||
- Add the "vim9script" feature, can use has('vim9script')
|
- Use Vim9 for more runtime files.
|
||||||
- Change the help to prefer Vim9 syntax where appropriate
|
- Check code coverage, add more tests if needed.
|
||||||
- Add all the error numbers in a good place in documentation.
|
vim9execute.c line 3500
|
||||||
- In the generic eval docs, point out the Vim9 syntax where it differs.
|
vim9expr.c
|
||||||
- Use Vim9 for runtime files.
|
vim9instr.c
|
||||||
PR #7497 for autoload/ccomplete.vim
|
vim9script.c
|
||||||
|
vim9type.c
|
||||||
|
- Adjust intro message to say "help version9".
|
||||||
|
|
||||||
Further Vim9 improvements, possibly after launch:
|
Further Vim9 improvements, possibly after launch:
|
||||||
- better implementation for partial and tests for that.
|
- Check performance with callgrind and kcachegrind.
|
||||||
|
getline()/substitute()/setline() in #5632
|
||||||
|
- 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',
|
- Compile options that are an expression, e.g. "expr:" in 'spellsuggest',
|
||||||
'foldexpr', 'foldtext', 'printexpr', 'diffexpr', 'patchexpr', 'charconvert',
|
'foldexpr', 'foldtext', 'printexpr', 'diffexpr', 'patchexpr', 'charconvert',
|
||||||
'balloonexpr', 'includeexpr', 'indentexpr', 'formatexpr'.
|
'balloonexpr', 'includeexpr', 'indentexpr', 'formatexpr'.
|
||||||
@@ -83,10 +63,11 @@ Further Vim9 improvements, possibly after launch:
|
|||||||
evaluation.
|
evaluation.
|
||||||
Use the location where the option was set for deciding whether it's to be
|
Use the location where the option was set for deciding whether it's to be
|
||||||
evaluated in Vim9 script context.
|
evaluated in Vim9 script context.
|
||||||
- Handle command that is only a range more efficient than calling ISN_EXEC
|
- Implement "import lazy" - like autoload but with a relative or absolute
|
||||||
- implement :type, "import type"
|
path. #9595
|
||||||
- implement enum, "import enum".
|
- implement :type
|
||||||
- implement class and interface: See |vim9-classes|
|
- implement :enum
|
||||||
|
- implement :class and :interface: See |vim9-classes|
|
||||||
- For range: make table of first ASCII character with flag to quickly check if
|
- 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.
|
it can be a Vim9 command. E.g. "+" can, but "." can't.
|
||||||
- Inline call to map() and filter(), better type checking.
|
- Inline call to map() and filter(), better type checking.
|
||||||
@@ -97,6 +78,10 @@ Further Vim9 improvements, possibly after launch:
|
|||||||
has(featureName), len(someString)
|
has(featureName), len(someString)
|
||||||
- Implement as part of an expression: ++expr, --expr, expr++, expr--.
|
- 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:
|
Popup windows:
|
||||||
- Preview popup not properly updated when it overlaps with completion menu.
|
- Preview popup not properly updated when it overlaps with completion menu.
|
||||||
@@ -121,7 +106,6 @@ Popup windows:
|
|||||||
- Should popup_getoptions() also return the mask? #7774
|
- Should popup_getoptions() also return the mask? #7774
|
||||||
- Add a way to use popup_menu() synchronously: instead of invoking the
|
- Add a way to use popup_menu() synchronously: instead of invoking the
|
||||||
callback, return the choice. (Ben Jackson, #6534)
|
callback, return the choice. (Ben Jackson, #6534)
|
||||||
- Use popup (or popup menu) for command line completion
|
|
||||||
- When using a popup for the info of a completion menu, and there is not
|
- When using a popup for the info of a completion menu, and there is not
|
||||||
enough space, let the popup overlap with the menu. (#4544)
|
enough space, let the popup overlap with the menu. (#4544)
|
||||||
- Implement flip option.
|
- Implement flip option.
|
||||||
@@ -139,8 +123,6 @@ Text properties:
|
|||||||
where property fits in.
|
where property fits in.
|
||||||
Or Should we let the textprop highlight overrule other (e.g. diff) highlight
|
Or Should we let the textprop highlight overrule other (e.g. diff) highlight
|
||||||
if the priority is above a certain value? (#7392)
|
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
|
- 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
|
"cc". (#7737) "C" works OK. "dd" also files in a buffer with a single
|
||||||
line.
|
line.
|
||||||
@@ -202,8 +184,6 @@ Terminal emulator window:
|
|||||||
- GUI: When using ":set go+=!" a system() call causes the hit-enter prompt.
|
- GUI: When using ":set go+=!" a system() call causes the hit-enter prompt.
|
||||||
(#3327)
|
(#3327)
|
||||||
- Allow for specifying the directory, with ++cwd={dir}.
|
- 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
|
- When pasting should call vterm_keyboard_start_paste(), e.g. when using
|
||||||
K_MIDDLEMOUSE, calling insert_reg().
|
K_MIDDLEMOUSE, calling insert_reg().
|
||||||
- Users expect parsing the :term argument like a shell does, also support
|
- Users expect parsing the :term argument like a shell does, also support
|
||||||
@@ -216,25 +196,39 @@ Terminal emulator window:
|
|||||||
- When the job only outputs lines, we could handle resizing the terminal
|
- When the job only outputs lines, we could handle resizing the terminal
|
||||||
better: store lines separated by line breaks, instead of screen lines,
|
better: store lines separated by line breaks, instead of screen lines,
|
||||||
then when the window is resized redraw those lines.
|
then when the window is resized redraw those lines.
|
||||||
- Redrawing is slow with Athena and Motif. (Ramel Eshed)
|
- Redrawing is slow with Motif. (Ramel Eshed)
|
||||||
- For the GUI fill termios with default values, perhaps like pangoterm:
|
- For the GUI fill termios with default values, perhaps like pangoterm:
|
||||||
http://bazaar.launchpad.net/~leonerd/pangoterm/trunk/view/head:/main.c#L134
|
http://bazaar.launchpad.net/~leonerd/pangoterm/trunk/view/head:/main.c#L134
|
||||||
- When 'encoding' is not utf-8, or the job is using another encoding, setup
|
- When 'encoding' is not utf-8, or the job is using another encoding, setup
|
||||||
conversions.
|
conversions.
|
||||||
|
|
||||||
Include patch #6290: recognize shell directory change.
|
|
||||||
|
|
||||||
When using 'cryptmethod' xchaha20 the undo file is not encrypted.
|
When using 'cryptmethod' xchaha20 the undo file is not encrypted.
|
||||||
Need to handle extra bytes.
|
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
|
||||||
|
|
||||||
|
Improvement in terminal configuration mess: Request the terminfo entry from
|
||||||
|
the terminal itself. The $TERM value then is only relevant for whether this
|
||||||
|
feature is supported or not. Replaces the xterm mechanism to request each
|
||||||
|
entry separately. #6609
|
||||||
|
Multiplexers (screen, tmux) can request it to the underlaying terminal, and
|
||||||
|
pass it on with modifications.
|
||||||
|
|
||||||
Test_communicate_ipv6(): is flaky on many systems
|
Test_communicate_ipv6(): is flaky on many systems
|
||||||
Fails in line 64 of Ch_communicate, no exception is thrown.
|
Fails in line 64 of Ch_communicate, no exception is thrown.
|
||||||
|
|
||||||
Patch for Template string: #4634
|
Patch for Template string: #4634
|
||||||
Have another look at the implementation.
|
Have another look at the implementation.
|
||||||
|
|
||||||
|
Add expanding <script> which works like <sfile> everywhere. #9189
|
||||||
|
|
||||||
Rename getdigraphlist -> digraph_getlist() etc.
|
Rename getdigraphlist -> digraph_getlist() etc.
|
||||||
|
|
||||||
|
Can "CSI nr X" be used instead of outputting spaces? Is it faster? #8002
|
||||||
|
|
||||||
Valgrind reports memory leaks in test_options.
|
Valgrind reports memory leaks in test_options.
|
||||||
Valgrind reports overlapping memcpy in
|
Valgrind reports overlapping memcpy in
|
||||||
test_conceal.3
|
test_conceal.3
|
||||||
@@ -253,6 +247,8 @@ Memory leak in test_alot with pyeval() (allocating partial)
|
|||||||
Memory leak in test_alot with expand()
|
Memory leak in test_alot with expand()
|
||||||
Memory leaks in test_channel? (or is it because of fork())
|
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.
|
Idea: when typing ":e /some/dir/" and "dir" does not exist, highlight in red.
|
||||||
|
|
||||||
":set &shellpipe" and ":set &shellredir" should use the logic from
|
":set &shellpipe" and ":set &shellredir" should use the logic from
|
||||||
@@ -261,10 +257,16 @@ this.
|
|||||||
|
|
||||||
MS-Windows: did path modifier :p:8 stop working? #8600
|
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.
|
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)
|
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
|
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)
|
work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)
|
||||||
Also see #8487 for an example.
|
Also see #8487 for an example.
|
||||||
@@ -275,6 +277,8 @@ Was originally written by Felipe Morales.
|
|||||||
Request to use "." for the cursor column in search pattern \%<.c and \%<.v.
|
Request to use "." for the cursor column in search pattern \%<.c and \%<.v.
|
||||||
(#8179)
|
(#8179)
|
||||||
|
|
||||||
|
":filter set termcap" only filters terminal codes, not keys. (#9297)
|
||||||
|
|
||||||
Remove SPACE_IN_FILENAME ? It is only used for completion.
|
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
|
When 'term' starts with "foot" then default t_TI and t_TE to the values used
|
||||||
@@ -292,6 +296,9 @@ Probably because it's using MAXCOL. #8238
|
|||||||
Make "g>" and "g<" in Visual mode move the text right or left.
|
Make "g>" and "g<" in Visual mode move the text right or left.
|
||||||
Also for a block selection. #8558
|
Also for a block selection. #8558
|
||||||
|
|
||||||
|
When using dictionary insert completion with 'ignorecase', the leading capital
|
||||||
|
in a word should be preserved.
|
||||||
|
|
||||||
Add optional argument to virtcol() that specifies "start", "cursor" or "end"
|
Add optional argument to virtcol() that specifies "start", "cursor" or "end"
|
||||||
to tell which value from getvvcol() should be used. (#7964)
|
to tell which value from getvvcol() should be used. (#7964)
|
||||||
Value returned by virtcol() changes depending on how lines wrap. This is
|
Value returned by virtcol() changes depending on how lines wrap. This is
|
||||||
@@ -300,8 +307,7 @@ inconsistent with the documentation.
|
|||||||
Making breakat support multibyte characters (Yasuhiro Matsumoto, #6598)
|
Making breakat support multibyte characters (Yasuhiro Matsumoto, #6598)
|
||||||
Scroll doesn't work correctly, why?
|
Scroll doesn't work correctly, why?
|
||||||
|
|
||||||
glob() and globfile() do not always honor 'wildignorecase'. #8350
|
globpath() does not use 'wildignorecase' at all? (related to #8350)
|
||||||
globpath() does not use 'wildignorecase' at all?
|
|
||||||
|
|
||||||
Add 'termguiattr' option, use "gui=" attributes in the terminal? Would work
|
Add 'termguiattr' option, use "gui=" attributes in the terminal? Would work
|
||||||
with 'termguicolors'. #1740
|
with 'termguicolors'. #1740
|
||||||
@@ -412,22 +418,10 @@ register, then "" doesn't contain anything. Make it still follow "+.
|
|||||||
|
|
||||||
File marks merging has duplicates since 7.4.1925. (Ingo Karkat, #5733)
|
File marks merging has duplicates since 7.4.1925. (Ingo Karkat, #5733)
|
||||||
|
|
||||||
"make test_gui" crashed in submenu_change(). Fix and remove workaround in
|
|
||||||
add_pixmap_args().
|
|
||||||
Athena is OK.
|
|
||||||
Motif: Build on Ubuntu can't enter any text in dialog text fields.
|
|
||||||
Running test_gui and test_gui_init with Motif sometimes kills the window
|
|
||||||
manager. Problem with Motif?
|
|
||||||
|
|
||||||
Patch to add :argdedupe. (Nir Lichtman, #6235)
|
|
||||||
|
|
||||||
When editing a file with ":edit" the output of :swapname is relative, while
|
When editing a file with ":edit" the output of :swapname is relative, while
|
||||||
editing it with "vim file" it is absolute. (#355)
|
editing it with "vim file" it is absolute. (#355)
|
||||||
Which one should it be?
|
Which one should it be?
|
||||||
|
|
||||||
:map output does not clear the reset of the command line.
|
|
||||||
(#5623, also see #5962)
|
|
||||||
|
|
||||||
Problem with auto-formatting - inserting space and putting cursor before added
|
Problem with auto-formatting - inserting space and putting cursor before added
|
||||||
character. (#6154)
|
character. (#6154)
|
||||||
|
|
||||||
@@ -478,11 +472,6 @@ Test loose_clipboard() by selecting text before suspending.
|
|||||||
|
|
||||||
Undo puts cursor in wrong line after "cG<Esc>" undo.
|
Undo puts cursor in wrong line after "cG<Esc>" undo.
|
||||||
|
|
||||||
Implement completion for "breakadd". Should expand the second argument, e.g.
|
|
||||||
"func", and then function names after ":breakadd func". Including
|
|
||||||
script-local functions.
|
|
||||||
Also for ":profile".
|
|
||||||
|
|
||||||
:unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019
|
:unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019
|
||||||
Dec 19)
|
Dec 19)
|
||||||
|
|
||||||
@@ -850,9 +839,7 @@ window for the buffer.
|
|||||||
Win32 key codes are messy. Mike Williams tried to fix that, but now old
|
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?
|
mappings no longer work. Create a new terminal for the better solution?
|
||||||
|
|
||||||
Compiler warnings (geeknik, 2017 Oct 26):
|
Compiler warning (geeknik, 2017 Oct 26):
|
||||||
- signed integer overflow in do_sub() (#2249)
|
|
||||||
- signed integer overflow in get_address() (#2248)
|
|
||||||
- undefined left shift in get_string_tv() (#2250)
|
- undefined left shift in get_string_tv() (#2250)
|
||||||
|
|
||||||
Add Native language protocol server (LSP) support. (Yegappan Lakshmanan, 2018
|
Add Native language protocol server (LSP) support. (Yegappan Lakshmanan, 2018
|
||||||
@@ -920,9 +907,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.
|
included in the existing fold. Deleting the empty line and undo fixes it.
|
||||||
(Oleg Koshovetc, 2018 Jul 15, #3214)
|
(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
|
Column number is wrong when using 'linebreak' and 'wrap'. (Keith Smiley, 2018
|
||||||
Jan 15, #2555)
|
Jan 15, #2555)
|
||||||
|
|
||||||
@@ -1472,10 +1456,6 @@ When the CursorMovedI event triggers, and CTRL-X was typed, a script cannot
|
|||||||
restore the mode properly. (Andrew Stewart, 2016 Apr 20)
|
restore the mode properly. (Andrew Stewart, 2016 Apr 20)
|
||||||
Do not trigger the event?
|
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.
|
Patch to make the behavior of "w" more straightforward, but not Vi compatible.
|
||||||
With a 'cpo' flag. (Christian Brabandt, 2016 Feb 8)
|
With a 'cpo' flag. (Christian Brabandt, 2016 Feb 8)
|
||||||
|
|
||||||
@@ -2222,10 +2202,6 @@ Jan 7)
|
|||||||
|
|
||||||
Problem with editing file in binary mode. (Ingo Krabbe, 2009 Oct 8)
|
Problem with editing file in binary mode. (Ingo Krabbe, 2009 Oct 8)
|
||||||
|
|
||||||
With 'wildmode' set to "longest:full,full" and pressing Tab once the first
|
|
||||||
entry in wildmenu is highlighted, that shouldn't happen. (Yuki Watanabe, 2011
|
|
||||||
Feb 12)
|
|
||||||
|
|
||||||
Display error when 'tabline' that includes a file name with double-width
|
Display error when 'tabline' that includes a file name with double-width
|
||||||
characters. (2010 Aug 14, bootleq)
|
characters. (2010 Aug 14, bootleq)
|
||||||
|
|
||||||
@@ -2414,11 +2390,6 @@ probably causes this.
|
|||||||
'scrollbind' is not respected when deleting lines or undo. (Milan Vancura,
|
'scrollbind' is not respected when deleting lines or undo. (Milan Vancura,
|
||||||
2009 Jan 16)
|
2009 Jan 16)
|
||||||
|
|
||||||
Document that default font in Athena can be set with resources:
|
|
||||||
XtDefaultFont: "9x15"
|
|
||||||
XtDefaultFontSet: "9x15"
|
|
||||||
(Richard Sherman, 2009 Apr 12)
|
|
||||||
|
|
||||||
Having "Syntax" in 'eventignore' for :bufdo may cause problems, e.g. for
|
Having "Syntax" in 'eventignore' for :bufdo may cause problems, e.g. for
|
||||||
":bufdo e" when buffers are open in windows. ex_listdo(eap) could set the
|
":bufdo e" when buffers are open in windows. ex_listdo(eap) could set the
|
||||||
option only for when jumping to another buffer, not when the command argument
|
option only for when jumping to another buffer, not when the command argument
|
||||||
@@ -2428,10 +2399,6 @@ is executed.
|
|||||||
first line. (Ingo Karkat, 2008 Jul 1) Ian Kelling is working on this.
|
first line. (Ingo Karkat, 2008 Jul 1) Ian Kelling is working on this.
|
||||||
Similar problem with ":e". (Marc Montu, 2014 Apr 22)
|
Similar problem with ":e". (Marc Montu, 2014 Apr 22)
|
||||||
|
|
||||||
Wildmenu not deleted: "gvim -u NONE", ":set nocp wildmenu cmdheight=3
|
|
||||||
laststatus=2", CTRL-D CTRL-H CTRL-H CTRL-H. (A.Politz, 2008 April 1)
|
|
||||||
Works OK with Vim in an xterm.
|
|
||||||
|
|
||||||
Cursor line moves in other window when using CTRL-W J that doesn't change
|
Cursor line moves in other window when using CTRL-W J that doesn't change
|
||||||
anything. (Dasn, 2009 Apr 7)
|
anything. (Dasn, 2009 Apr 7)
|
||||||
|
|
||||||
@@ -2464,10 +2431,6 @@ backslash? (Robert Vibrant, 2008 Jun 5)
|
|||||||
When 'rightleft' is set, cursorcolumn isn't highlighted after the end of a
|
When 'rightleft' is set, cursorcolumn isn't highlighted after the end of a
|
||||||
line. It's also wrong in folds. (Dominique Pelle, 2010 Aug 21)
|
line. It's also wrong in folds. (Dominique Pelle, 2010 Aug 21)
|
||||||
|
|
||||||
After using <Tab> for command line completion after ":ta blah" and getting E33
|
|
||||||
(no tags file), further editing the command to e.g., ":echo 'blah'", the
|
|
||||||
command is not executed. Fix by Ian Kelling?
|
|
||||||
|
|
||||||
":help s/~" jumps to *s/\~*, while ":help s/\~" doesn't find anything. (Tim
|
":help s/~" jumps to *s/\~*, while ":help s/\~" doesn't find anything. (Tim
|
||||||
Chase) Fix by Ian Kelling, 2008 Jul 14.
|
Chase) Fix by Ian Kelling, 2008 Jul 14.
|
||||||
|
|
||||||
@@ -2522,10 +2485,6 @@ Works OK when 'cmdheight' is 2.
|
|||||||
8 Use a mechanism similar to omni completion to figure out the kind of tab
|
8 Use a mechanism similar to omni completion to figure out the kind of tab
|
||||||
for CTRL-] and jump to the appropriate matching tag (if there are
|
for CTRL-] and jump to the appropriate matching tag (if there are
|
||||||
several).
|
several).
|
||||||
Alternative: be able to define a function that takes the tag name and uses
|
|
||||||
taglist() to find the right location. With indication of using CTRL-] so
|
|
||||||
that the context can be taken into account. (Robert Webb)
|
|
||||||
Patch by Christian Brabandt, 2013 May 31.
|
|
||||||
|
|
||||||
The utf class table is missing some entries:
|
The utf class table is missing some entries:
|
||||||
0x2212, minus sign
|
0x2212, minus sign
|
||||||
@@ -2643,16 +2602,6 @@ This should avoid flicker. Other solution by A.Politz, 2007 Aug 22.
|
|||||||
When a register contains illegal bytes, writing viminfo in utf-8 and reading
|
When a register contains illegal bytes, writing viminfo in utf-8 and reading
|
||||||
it back doesn't result in utf-8. (Devin Bayer)
|
it back doesn't result in utf-8. (Devin Bayer)
|
||||||
|
|
||||||
Command line completion: Scanning for tags doesn't check for typed key now and
|
|
||||||
then? Hangs for about 5 seconds. Appears to be caused by finding include
|
|
||||||
files with "foo/**" in 'path'. (Kalisiak, 2006 July 15)
|
|
||||||
Additional info: When using the |wildcards| ** globing, vim hangs
|
|
||||||
indefinitely on lots of directories. The |file-searching| globing, like in
|
|
||||||
":set path=/**" does not hang as often as with globing with |wildcards|, like
|
|
||||||
in ":1find /**/file". This is for files that unix "find" can find very
|
|
||||||
quickly. Merging the 2 kinds of globing might make this an easier fix. (Ian
|
|
||||||
Kelling, 2008 July 4)
|
|
||||||
|
|
||||||
When the file name has parenthesis, e.g., "foo (bar).txt", ":!ls '%'" has the
|
When the file name has parenthesis, e.g., "foo (bar).txt", ":!ls '%'" has the
|
||||||
parenthesis escaped but not the space. That's inconsistent. Either escape
|
parenthesis escaped but not the space. That's inconsistent. Either escape
|
||||||
neither or both. No escaping might be best, because it doesn't depend on
|
neither or both. No escaping might be best, because it doesn't depend on
|
||||||
@@ -2731,8 +2680,6 @@ Cursor displayed in the wrong position when using 'numberwidth'. (James Vega,
|
|||||||
When $VAR contains a backslash expand('$VAR') removes it. (Teemu Likonen, 2008
|
When $VAR contains a backslash expand('$VAR') removes it. (Teemu Likonen, 2008
|
||||||
Jun 18)
|
Jun 18)
|
||||||
|
|
||||||
If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work.
|
|
||||||
|
|
||||||
In debug mode, using CTRL-R = to evaluate a function causes stepping through
|
In debug mode, using CTRL-R = to evaluate a function causes stepping through
|
||||||
the function. (Hari Krishna Dara, 2006 Jun 28)
|
the function. (Hari Krishna Dara, 2006 Jun 28)
|
||||||
|
|
||||||
@@ -2841,13 +2788,6 @@ reload it then?
|
|||||||
|
|
||||||
For Aap: include a config.arg.example file with hints how to use config.arg.
|
For Aap: include a config.arg.example file with hints how to use config.arg.
|
||||||
|
|
||||||
Command line completion when 'cmdheight' is maximum and 'wildmenu' is set,
|
|
||||||
only one buffer line displayed, causes display errors.
|
|
||||||
|
|
||||||
Completing with 'wildmenu' and using <Up> and <Down> to move through directory
|
|
||||||
tree stops unexpectedly when using ":cd " and entering a directory that
|
|
||||||
doesn't contain other directories.
|
|
||||||
|
|
||||||
Default for 'background' is wrong when using xterm with 256 colors.
|
Default for 'background' is wrong when using xterm with 256 colors.
|
||||||
Table with estimates from Matteo Cavalleri, 2014 Jan 10.
|
Table with estimates from Matteo Cavalleri, 2014 Jan 10.
|
||||||
|
|
||||||
@@ -3291,7 +3231,7 @@ Win32 GUI known bugs:
|
|||||||
the font name).
|
the font name).
|
||||||
|
|
||||||
|
|
||||||
Athena and Motif:
|
Motif:
|
||||||
6 New Motif toolbar button from Marcin Dalecki:
|
6 New Motif toolbar button from Marcin Dalecki:
|
||||||
- When the mouse pointer is over an Agide button the red becomes black.
|
- When the mouse pointer is over an Agide button the red becomes black.
|
||||||
Something with the way colors are specified in the .xpm file.
|
Something with the way colors are specified in the .xpm file.
|
||||||
@@ -3303,7 +3243,7 @@ Athena and Motif:
|
|||||||
wrong.
|
wrong.
|
||||||
9 XIM is disabled by default for SGI/IRIX. Fix XIM so that 'imdisable' can
|
9 XIM is disabled by default for SGI/IRIX. Fix XIM so that 'imdisable' can
|
||||||
be off by default.
|
be off by default.
|
||||||
9 XIM doesn't work properly for Athena/Motif. (Yasuhiro Matsumoto) For now,
|
9 XIM doesn't work properly for Motif. (Yasuhiro Matsumoto) For now,
|
||||||
keep XIM active at all times when the input method has the preediting
|
keep XIM active at all times when the input method has the preediting
|
||||||
flag.
|
flag.
|
||||||
8 X11: A menu that contains an umlaut is truncated at that character.
|
8 X11: A menu that contains an umlaut is truncated at that character.
|
||||||
@@ -3321,27 +3261,6 @@ Athena and Motif:
|
|||||||
current locale. Workaround: set 'langmenu'.
|
current locale. Workaround: set 'langmenu'.
|
||||||
|
|
||||||
|
|
||||||
Athena GUI:
|
|
||||||
9 The first event for any button in the menu or toolbar appears to get lost.
|
|
||||||
The second click on a menu does work.
|
|
||||||
9 When dragging the scrollbar thumb very fast, focus is only obtained in
|
|
||||||
the scrollbar itself. And the thumb is no longer updated when moving
|
|
||||||
through files.
|
|
||||||
7 The file selector is not resizable. With a big font it is difficult to
|
|
||||||
read long file names. (Schroeder)
|
|
||||||
4 Re-write the widget attachments and code so that we will not have to go
|
|
||||||
through and calculate the absolute position of every widget every time the
|
|
||||||
window is refreshed/changes size. This will help the "flashing-widgets"
|
|
||||||
problem during a refresh.
|
|
||||||
5 When starting gvim with all the default colors and then typing
|
|
||||||
":hi Menu guibg=cyan", the menus change color but the background of the
|
|
||||||
pullright pixmap doesn't change colors.
|
|
||||||
If you type ":hi Menu guibg=cyan font=anyfont", then the pixmap changes
|
|
||||||
colors as it should.
|
|
||||||
Allocating a new pixmap and setting the resource doesn't change the
|
|
||||||
pullright pixmap's colors. Why? Possible Athena bug?
|
|
||||||
|
|
||||||
|
|
||||||
Motif GUI:
|
Motif GUI:
|
||||||
- gui_mch_browsedir() is missing, browsedir() doesn't work nicely.
|
- gui_mch_browsedir() is missing, browsedir() doesn't work nicely.
|
||||||
7 Use XmStringCreateLocalized() instead of XmStringCreateSimple()?
|
7 Use XmStringCreateLocalized() instead of XmStringCreateSimple()?
|
||||||
@@ -3529,8 +3448,6 @@ Macintosh:
|
|||||||
8 When doing Insert mode completion a mapping cannot recursively call
|
8 When doing Insert mode completion a mapping cannot recursively call
|
||||||
edit(), because the completion information is global. Put everything in
|
edit(), because the completion information is global. Put everything in
|
||||||
an allocated structure?
|
an allocated structure?
|
||||||
8 Command line completion: buffers "foo.txt" and "../b/foo.txt", completing
|
|
||||||
":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
|
|
||||||
7 mb_off2cells() doesn't work correctly on the tail byte of a double-byte
|
7 mb_off2cells() doesn't work correctly on the tail byte of a double-byte
|
||||||
character. (Yasuhiro Matsumoto) It should return 1 when used on a tail
|
character. (Yasuhiro Matsumoto) It should return 1 when used on a tail
|
||||||
byte, like for utf-8. Store second byte of double-byte in ScreenLines2[]
|
byte, like for utf-8. Store second byte of double-byte in ScreenLines2[]
|
||||||
@@ -3822,7 +3739,7 @@ Problems that will (probably) not be solved:
|
|||||||
|
|
||||||
Most interesting new features to be added when all bugs have been fixed:
|
Most interesting new features to be added when all bugs have been fixed:
|
||||||
- Using ":exe edit fname" has escaping problems. Use ":edit ++(fname)".
|
- Using ":exe edit fname" has escaping problems. Use ":edit ++(fname)".
|
||||||
Thus use "++=" to give arguments as expressions, comma separated as if
|
Thus use "++=" to give arguments as expressions, comma-separated as if
|
||||||
calling a function.
|
calling a function.
|
||||||
With options: ":edit ++(['!', '++enc=abc'], ['+/pat'], fname)".
|
With options: ":edit ++(['!', '++enc=abc'], ['+/pat'], fname)".
|
||||||
Alternative: Make a function for Ex commands: cmd_edit().
|
Alternative: Make a function for Ex commands: cmd_edit().
|
||||||
@@ -3903,7 +3820,7 @@ User Friendlier:
|
|||||||
$HOME/_vimrc, etc.) and add "edit vimrc" to the File menu.
|
$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.
|
- Add a way to save local settings and mappings into a new plugin file.
|
||||||
":mkplugin <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
|
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
|
disabling it. Be careful that tear-offs don't disappear (keep one empty
|
||||||
item?).
|
item?).
|
||||||
@@ -4265,8 +4182,6 @@ Syntax highlighting:
|
|||||||
7 CTRL-] checks the highlight group for finding out what the tag is.
|
7 CTRL-] checks the highlight group for finding out what the tag is.
|
||||||
7 Add an explanation how a list of words can be used to highlight misspelled
|
7 Add an explanation how a list of words can be used to highlight misspelled
|
||||||
words.
|
words.
|
||||||
8 Add more command line completion for :syntax.
|
|
||||||
8 Add more command line completion for :highlight.
|
|
||||||
7 Should find a better way to parse the :syntax and :highlight commands.
|
7 Should find a better way to parse the :syntax and :highlight commands.
|
||||||
Use tables or lists that can be shared by parsing for execution and
|
Use tables or lists that can be shared by parsing for execution and
|
||||||
completion?
|
completion?
|
||||||
@@ -4324,12 +4239,6 @@ Vim script language:
|
|||||||
restore option values. Especially useful for new options. Problem: how
|
restore option values. Especially useful for new options. Problem: how
|
||||||
to avoid a performance penalty (esp. for string options)?
|
to avoid a performance penalty (esp. for string options)?
|
||||||
- range for ":exec", pass it on to the executed command. (Webb)
|
- range for ":exec", pass it on to the executed command. (Webb)
|
||||||
8 ":{range}source": source the lines from the current file.
|
|
||||||
You can already yank lines and use :@" to execute them.
|
|
||||||
Most of do_source() would not be used, need a new function.
|
|
||||||
It's easy when not doing breakpoints or profiling.
|
|
||||||
Requires copying the lines into a list and then creating a function to
|
|
||||||
execute lines from the list. Similar to getnextac().
|
|
||||||
7 ":include" command: just like ":source" but doesn't start a new scriptID?
|
7 ":include" command: just like ":source" but doesn't start a new scriptID?
|
||||||
Will be tricky for the list of script names.
|
Will be tricky for the list of script names.
|
||||||
8 Have a look at VSEL. Would it be useful to include? (Bigham)
|
8 Have a look at VSEL. Would it be useful to include? (Bigham)
|
||||||
@@ -4856,9 +4765,6 @@ Autocommands:
|
|||||||
CursorHoldC - CursorHold while command-line editing
|
CursorHoldC - CursorHold while command-line editing
|
||||||
WinMoved - when windows have been moved around, e.g, ":wincmd J"
|
WinMoved - when windows have been moved around, e.g, ":wincmd J"
|
||||||
SearchPost - After doing a search command (e.g. to do "M")
|
SearchPost - After doing a search command (e.g. to do "M")
|
||||||
PreDirChanged/PostDirChanged
|
|
||||||
- Before/after ":cd" has been used (for changing the
|
|
||||||
window title)
|
|
||||||
ShutDown - when the system is about to shut down
|
ShutDown - when the system is about to shut down
|
||||||
InsertCharPost - user typed a character in Insert mode, after inserting
|
InsertCharPost - user typed a character in Insert mode, after inserting
|
||||||
the char.
|
the char.
|
||||||
@@ -5061,6 +4967,35 @@ Command line completion:
|
|||||||
- Add 'wildlongest' option: Key to use to find longest common match for
|
- Add 'wildlongest' option: Key to use to find longest common match for
|
||||||
command line completion (default CTRL-L), like 'wildchar'. (Cregut)
|
command line completion (default CTRL-L), like 'wildchar'. (Cregut)
|
||||||
Also: when there are several matches, show them line a CTRL-D.
|
Also: when there are several matches, show them line a CTRL-D.
|
||||||
|
- With 'wildmode' set to "longest:full,full" and pressing Tab once the first
|
||||||
|
entry in wildmenu is highlighted, that shouldn't happen. (Yuki Watanabe,
|
||||||
|
2011 Feb 12)
|
||||||
|
- After using <Tab> for command line completion after ":ta blah" and getting
|
||||||
|
E33 (no tags file), further editing the command to e.g., ":echo 'blah'",
|
||||||
|
the command is not executed. Fix by Ian Kelling?
|
||||||
|
- Command line completion: Scanning for tags doesn't check for typed key now
|
||||||
|
and then? Hangs for about 5 seconds. Appears to be caused by finding
|
||||||
|
include files with "foo/**" in 'path'. (Kalisiak, 2006 July 15)
|
||||||
|
Additional info: When using the |wildcards| ** globing, vim hangs
|
||||||
|
indefinitely on lots of directories. The |file-searching| globing, like in
|
||||||
|
":set path=/**" does not hang as often as with globing with |wildcards|,
|
||||||
|
like in ":1find /**/file". This is for files that unix "find" can find
|
||||||
|
very quickly. Merging the 2 kinds of globing might make this an easier
|
||||||
|
fix. (Ian Kelling, 2008 July 4)
|
||||||
|
- Command line completion when 'cmdheight' is maximum and 'wildmenu' is set,
|
||||||
|
only one buffer line displayed, causes display errors.
|
||||||
|
- Completing with 'wildmenu' and using <Up> and <Down> to move through
|
||||||
|
directory tree stops unexpectedly when using ":cd " and entering a
|
||||||
|
directory that doesn't contain other directories.
|
||||||
|
8 Command line completion: buffers "foo.txt" and "../b/foo.txt", completing
|
||||||
|
":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
|
||||||
|
8 Add more command line completion for :syntax.
|
||||||
|
8 Add more command line completion for :highlight.
|
||||||
|
- Wildmenu not deleted: "gvim -u NONE", ":set nocp wildmenu cmdheight=3
|
||||||
|
laststatus=2", CTRL-D CTRL-H CTRL-H CTRL-H. (A.Politz, 2008 April 1) Works
|
||||||
|
OK with Vim in an xterm.
|
||||||
|
- If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't
|
||||||
|
work.
|
||||||
|
|
||||||
|
|
||||||
Command line history:
|
Command line history:
|
||||||
@@ -5695,7 +5630,7 @@ Options:
|
|||||||
7 ":with option=value | command": temporarily set an option value and
|
7 ":with option=value | command": temporarily set an option value and
|
||||||
restore it after the command has executed.
|
restore it after the command has executed.
|
||||||
8 Make "old" number options that really give a number of effects into string
|
8 Make "old" number options that really give a number of effects into string
|
||||||
options that are a comma separated list. The old number values should
|
options that are a comma-separated list. The old number values should
|
||||||
also be supported.
|
also be supported.
|
||||||
8 Add commands to save and restore an option, which also preserves the flag
|
8 Add commands to save and restore an option, which also preserves the flag
|
||||||
that marks if the option was set. Useful to keep the effect of setting
|
that marks if the option was set. Useful to keep the effect of setting
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*uganda.txt* For Vim version 8.2. Last change: 2020 Jan 08
|
*uganda.txt* For Vim version 8.2. Last change: 2022 Mar 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -11,9 +11,9 @@ Vim is Charityware. You can use and copy it as much as you like, but you are
|
|||||||
encouraged to make a donation for needy children in Uganda. Please see |kcc|
|
encouraged to make a donation for needy children in Uganda. Please see |kcc|
|
||||||
below or visit the ICCF web site, available at these URLs:
|
below or visit the ICCF web site, available at these URLs:
|
||||||
|
|
||||||
http://iccf-holland.org/
|
https://iccf-holland.org/
|
||||||
http://www.vim.org/iccf/
|
https://www.vim.org/iccf/
|
||||||
http://www.iccf.nl/
|
https://www.iccf.nl/
|
||||||
|
|
||||||
You can also sponsor the development of Vim. Vim sponsors can vote for
|
You can also sponsor the development of Vim. Vim sponsors can vote for
|
||||||
features. See |sponsor|. The money goes to Uganda anyway.
|
features. See |sponsor|. The money goes to Uganda anyway.
|
||||||
@@ -133,11 +133,12 @@ Kibaale Children's Centre *kcc* *Kibaale* *charity*
|
|||||||
Kibaale Children's Centre (KCC) is located in Kibaale, a small town in the
|
Kibaale Children's Centre (KCC) is located in Kibaale, a small town in the
|
||||||
south of Uganda, near Tanzania, in East Africa. The area is known as Rakai
|
south of Uganda, near Tanzania, in East Africa. The area is known as Rakai
|
||||||
District. The population is mostly farmers. Although people are poor, there
|
District. The population is mostly farmers. Although people are poor, there
|
||||||
is enough food. But this district is suffering from AIDS more than any other
|
usually is enough food. But this district is suffering from AIDS more than
|
||||||
part of the world. Some say that it started there. Estimations are that 10
|
any other part of the world. Some say that it started there. Estimations are
|
||||||
to 30% of the Ugandans are infected with HIV. Because parents die, there are
|
that in the past 10 to 30% of the Ugandans are infected with HIV. Because
|
||||||
many orphans. In this district about 60,000 children have lost one or both
|
parents die, there are many orphans. In this district about 60,000 children
|
||||||
parents, out of a population of 350,000. And this is still continuing.
|
have lost one or both parents, out of a population of 350,000. Although AIDS
|
||||||
|
is now mostly under control, the problems are still continuing.
|
||||||
|
|
||||||
The children need a lot of help. The KCC is working hard to provide the needy
|
The children need a lot of help. The KCC is working hard to provide the needy
|
||||||
with food, medical care and education. Food and medical care to keep them
|
with food, medical care and education. Food and medical care to keep them
|
||||||
@@ -169,10 +170,11 @@ households are stimulated to build a proper latrine. I helped setting up a
|
|||||||
production site for cement slabs. These are used to build a good latrine.
|
production site for cement slabs. These are used to build a good latrine.
|
||||||
They are sold below cost price.
|
They are sold below cost price.
|
||||||
|
|
||||||
There is a small clinic at the project, which provides children and their
|
There is a clinic at the project, which provides children and their family
|
||||||
family with medical help. When needed, transport to a hospital is offered.
|
medical help. Since 2020 a maternity ward was added and 24/7 service is
|
||||||
Immunization programs are carried out and help is provided when an epidemic is
|
available. When needed, transport to a hospital is offered. Immunization
|
||||||
breaking out (measles and cholera have been a problem).
|
programs are carried out and help is provided when an epidemic is breaking out
|
||||||
|
(measles and cholera have been a problem).
|
||||||
*donate*
|
*donate*
|
||||||
Summer 1994 to summer 1995 I spent a whole year at the centre, working as a
|
Summer 1994 to summer 1995 I spent a whole year at the centre, working as a
|
||||||
volunteer. I have helped to expand the centre and worked in the area of water
|
volunteer. I have helped to expand the centre and worked in the area of water
|
||||||
@@ -214,44 +216,29 @@ Check the ICCF web site for the latest information! See |iccf| for the URL.
|
|||||||
|
|
||||||
|
|
||||||
USA: The methods mentioned below can be used.
|
USA: The methods mentioned below can be used.
|
||||||
Sending a check to the Nehemiah Group Outreach Society (NGOS)
|
If you must send a check send it to our Canadian partner:
|
||||||
is no longer possible, unfortunately. We are looking for
|
https://www.kuwasha.net/
|
||||||
another way to get you an IRS tax receipt.
|
|
||||||
For sponsoring a child contact KCF in Canada (see below). US
|
|
||||||
checks can be sent to them to lower banking costs.
|
|
||||||
|
|
||||||
Canada: Contact Kibaale Children's Fund (KCF) in Surrey, Canada. They
|
Canada: Contact Kuwasha in Surrey, Canada. They take care of the
|
||||||
take care of the Canadian sponsors for the children in
|
Canadian sponsors for the children in Kibaale. Kuwasha
|
||||||
Kibaale. KCF forwards 100% of the money to the project in
|
forwards 100% of the money to the project in Uganda. You can
|
||||||
Uganda. You can send them a one time donation directly.
|
send them a one time donation directly.
|
||||||
Please send me a note so that I know what has been donated
|
Please send me a note so that I know what has been donated
|
||||||
because of Vim. Ask KCF for information about sponsorship.
|
because of Vim. Look on their site for information about
|
||||||
Kibaale Children's Fund c/o Pacific Academy
|
sponsorship: https://www.kuwasha.net/
|
||||||
10238-168 Street
|
If you make a donation to Kuwasha you will receive a tax
|
||||||
Surrey, B.C. V4N 1Z4
|
receipt which can be submitted with your tax return.
|
||||||
Canada
|
|
||||||
Phone: 604-581-5353
|
|
||||||
If you make a donation to Kibaale Children's Fund (KCF) you
|
|
||||||
will receive a tax receipt which can be submitted with your
|
|
||||||
tax return.
|
|
||||||
|
|
||||||
Holland: Transfer to the account of "Stichting ICCF Holland" in Lisse.
|
Holland: Transfer to the account of "Stichting ICCF Holland" in
|
||||||
This will allow for tax deduction if you live in Holland.
|
Amersfoort. This will allow for tax deduction if you live in
|
||||||
Postbank, nr. 4548774
|
Holland. ING bank, IBAN: NL95 INGB 0004 5487 74
|
||||||
IBAN: NL95 INGB 0004 5487 74
|
|
||||||
|
|
||||||
Germany: It is possible to make donations that allow for a tax return.
|
Germany: It is possible to make donations that allow for a tax return.
|
||||||
Check the ICCF web site for the latest information:
|
Check the ICCF web site for the latest information:
|
||||||
http://iccf-holland.org/germany.html
|
https://iccf-holland.org/germany.html
|
||||||
|
|
||||||
World: Use a postal money order. That should be possible from any
|
Europe: Use a bank transfer if possible. See "Others" below for the
|
||||||
country, mostly from the post office. Use this name (which is
|
swift code and IBAN number.
|
||||||
in my passport): "Abraham Moolenaar". Use Euro for the
|
|
||||||
currency if possible.
|
|
||||||
|
|
||||||
Europe: Use a bank transfer if possible. Your bank should have a form
|
|
||||||
that you can use for this. See "Others" below for the swift
|
|
||||||
code and IBAN number.
|
|
||||||
Any other method should work. Ask for information about
|
Any other method should work. Ask for information about
|
||||||
sponsorship.
|
sponsorship.
|
||||||
|
|
||||||
@@ -261,28 +248,12 @@ Credit Card: You can use PayPal to send money with a Credit card. This is
|
|||||||
https://www.paypal.com/en_US/mrb/pal=XAC62PML3GF8Q
|
https://www.paypal.com/en_US/mrb/pal=XAC62PML3GF8Q
|
||||||
The e-mail address for sending the money to is:
|
The e-mail address for sending the money to is:
|
||||||
Bram@iccf-holland.org
|
Bram@iccf-holland.org
|
||||||
For amounts above 400 Euro ($500) sending a check is
|
|
||||||
preferred.
|
|
||||||
|
|
||||||
Others: Transfer to one of these accounts if possible:
|
Others: Transfer to this account if possible:
|
||||||
Postbank, account 4548774
|
ING bank: IBAN: NL95 INGB 0004 5487 74
|
||||||
Swift code: INGB NL 2A
|
Swift code: INGBNL2A
|
||||||
IBAN: NL95 INGB 0004 5487 74
|
under the name "stichting ICCF Holland", Amersfoort
|
||||||
under the name "stichting ICCF Holland", Lisse
|
Checks are not accepted.
|
||||||
If that doesn't work:
|
|
||||||
Rabobank Lisse, account 3765.05.117
|
|
||||||
Swift code: RABO NL 2U
|
|
||||||
under the name "Bram Moolenaar", Lisse
|
|
||||||
Otherwise, send a check in euro or US dollars to the address
|
|
||||||
below. Minimal amount: $70 (my bank does not accept smaller
|
|
||||||
amounts for foreign check, sorry)
|
|
||||||
|
|
||||||
Address to send checks to:
|
|
||||||
Bram Moolenaar
|
|
||||||
Finsterruetihof 1
|
|
||||||
8134 Adliswil
|
|
||||||
Switzerland
|
|
||||||
|
|
||||||
This address is expected to be valid for a long time.
|
|
||||||
|
|
||||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||||
|
|||||||
@@ -286,12 +286,12 @@ history file. E.g.: >
|
|||||||
au BufReadPost * call ReadUndo()
|
au BufReadPost * call ReadUndo()
|
||||||
au BufWritePost * call WriteUndo()
|
au BufWritePost * call WriteUndo()
|
||||||
func ReadUndo()
|
func ReadUndo()
|
||||||
if filereadable(expand('%:h'). '/UNDO/' . expand('%:t'))
|
if filereadable(expand('%:h') .. '/UNDO/' .. expand('%:t'))
|
||||||
rundo %:h/UNDO/%:t
|
rundo %:h/UNDO/%:t
|
||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
func WriteUndo()
|
func WriteUndo()
|
||||||
let dirname = expand('%:h') . '/UNDO'
|
let dirname = expand('%:h') .. '/UNDO'
|
||||||
if !isdirectory(dirname)
|
if !isdirectory(dirname)
|
||||||
call mkdir(dirname)
|
call mkdir(dirname)
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -270,7 +270,7 @@ line break. Revert with ":iunmap <C-U>".
|
|||||||
Enable using the mouse if available. See 'mouse'.
|
Enable using the mouse if available. See 'mouse'.
|
||||||
|
|
||||||
>
|
>
|
||||||
vnoremap _g y:exe "grep /" . escape(@", '\\/') . "/ *.c *.h"<CR>
|
vnoremap _g y:exe "grep /" .. escape(@", '\\/') .. "/ *.c *.h"<CR>
|
||||||
|
|
||||||
This mapping yanks the visually selected text and searches for it in C files.
|
This mapping yanks the visually selected text and searches for it in C files.
|
||||||
You can see that a mapping can be used to do quite complicated things. Still,
|
You can see that a mapping can be used to do quite complicated things. Still,
|
||||||
|
|||||||
@@ -189,7 +189,7 @@ You can specify #rrggbb hex colors and you can define new names for hex
|
|||||||
colors in |v:colornames| like so: >
|
colors in |v:colornames| like so: >
|
||||||
|
|
||||||
let v:colornames['mine_red'] = '#aa0000'
|
let v:colornames['mine_red'] = '#aa0000'
|
||||||
<
|
|
||||||
If you are authoring a color scheme for others to use, it is important
|
If you are authoring a color scheme for others to use, it is important
|
||||||
to define these colors only when they do not exist: >
|
to define these colors only when they do not exist: >
|
||||||
|
|
||||||
@@ -197,7 +197,7 @@ to define these colors only when they do not exist: >
|
|||||||
|
|
||||||
This allows users of the color scheme to override the precise definition of
|
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|
|
that color prior to loading your color scheme. For example, in a |.vimrc|
|
||||||
file:
|
file: >
|
||||||
|
|
||||||
runtime colors/lists/css_colors.vim
|
runtime colors/lists/css_colors.vim
|
||||||
let v:colornames['your_red'] = v:colornames['css_red']
|
let v:colornames['your_red'] = v:colornames['css_red']
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_29.txt* For Vim version 8.2. Last change: 2016 Feb 27
|
*usr_29.txt* For Vim version 8.2. Last change: 2022 Mar 13
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -33,10 +33,12 @@ following command: >
|
|||||||
ctags *.c
|
ctags *.c
|
||||||
|
|
||||||
"ctags" is a separate program. Most Unix systems already have it installed.
|
"ctags" is a separate program. Most Unix systems already have it installed.
|
||||||
If you do not have it yet, you can find Exuberant ctags here:
|
If you do not have it yet, you can find Universal/Exuberant ctags at:
|
||||||
|
http://ctags.io ~
|
||||||
http://ctags.sf.net ~
|
http://ctags.sf.net ~
|
||||||
|
|
||||||
|
Universal ctags is preferred, Exuberant ctags is no longer being developed.
|
||||||
|
|
||||||
Now when you are in Vim and you want to go to a function definition, you can
|
Now when you are in Vim and you want to go to a function definition, you can
|
||||||
jump to it by using the following command: >
|
jump to it by using the following command: >
|
||||||
|
|
||||||
@@ -142,15 +144,15 @@ ONE TAGS FILE
|
|||||||
When Vim has to search many places for tags files, you can hear the disk
|
When Vim has to search many places for tags files, you can hear the disk
|
||||||
rattling. It may get a bit slow. In that case it's better to spend this
|
rattling. It may get a bit slow. In that case it's better to spend this
|
||||||
time while generating one big tags file. You might do this overnight.
|
time while generating one big tags file. You might do this overnight.
|
||||||
This requires the Exuberant ctags program, mentioned above. It offers an
|
This requires the Universal or Exuberant ctags program, mentioned above.
|
||||||
argument to search a whole directory tree: >
|
It offers an argument to search a whole directory tree: >
|
||||||
|
|
||||||
cd ~/proj
|
cd ~/proj
|
||||||
ctags -R .
|
ctags -R .
|
||||||
|
|
||||||
The nice thing about this is that Exuberant ctags recognizes various file
|
The nice thing about this is that Universal/Exuberant ctags recognizes various
|
||||||
types. Thus this doesn't work just for C and C++ programs, also for Eiffel
|
file types. Thus this doesn't work just for C and C++ programs, also for
|
||||||
and even Vim scripts. See the ctags documentation to tune this.
|
Eiffel and even Vim scripts. See the ctags documentation to tune this.
|
||||||
Now you only need to tell Vim where your big tags file is: >
|
Now you only need to tell Vim where your big tags file is: >
|
||||||
|
|
||||||
:set tags=~/proj/tags
|
:set tags=~/proj/tags
|
||||||
@@ -232,7 +234,8 @@ A TAGS BROWSER
|
|||||||
Since CTRL-] takes you to the definition of the identifier under the cursor,
|
Since CTRL-] takes you to the definition of the identifier under the cursor,
|
||||||
you can use a list of identifier names as a table of contents. Here is an
|
you can use a list of identifier names as a table of contents. Here is an
|
||||||
example.
|
example.
|
||||||
First create a list of identifiers (this requires Exuberant ctags): >
|
First create a list of identifiers (this requires Universal or Exuberant
|
||||||
|
ctags): >
|
||||||
|
|
||||||
ctags --c-types=f -f functions *.c
|
ctags --c-types=f -f functions *.c
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ Table of contents: |usr_toc.txt|
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
*40.1* Key mapping
|
*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.
|
sequence of key strokes is translated into another sequence of key strokes.
|
||||||
This is a simple, yet powerful mechanism.
|
This is a simple, yet powerful mechanism.
|
||||||
The simplest form is that one key is mapped to a sequence of keys. Since
|
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 Apr 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -114,6 +114,7 @@ g8 Print the hex values of the bytes used in the
|
|||||||
:[range]P[rint] [count] [flags]
|
:[range]P[rint] [count] [flags]
|
||||||
Just as ":print". Was apparently added to Vi for
|
Just as ":print". Was apparently added to Vi for
|
||||||
people that keep the shift key pressed too long...
|
people that keep the shift key pressed too long...
|
||||||
|
This command is not supported in |Vim9| script.
|
||||||
Note: A user command can overrule this command.
|
Note: A user command can overrule this command.
|
||||||
See |ex-flags| for [flags].
|
See |ex-flags| for [flags].
|
||||||
|
|
||||||
@@ -244,10 +245,10 @@ g8 Print the hex values of the bytes used in the
|
|||||||
compiler will have set stdin to a non-interactive
|
compiler will have set stdin to a non-interactive
|
||||||
mode.
|
mode.
|
||||||
|
|
||||||
*:!cmd* *:!* *E34*
|
*:!cmd* *:!*
|
||||||
:!{cmd} Execute {cmd} with the shell. See also the 'shell'
|
:!{cmd} Execute {cmd} with the shell. See also the 'shell'
|
||||||
and 'shelltype' option.
|
and 'shelltype' option.
|
||||||
|
*E34*
|
||||||
Any '!' in {cmd} is replaced with the previous
|
Any '!' in {cmd} is replaced with the previous
|
||||||
external command (see also 'cpoptions'). But not when
|
external command (see also 'cpoptions'). But not when
|
||||||
there is a backslash before the '!', then that
|
there is a backslash before the '!', then that
|
||||||
@@ -267,7 +268,7 @@ g8 Print the hex values of the bytes used in the
|
|||||||
name does not contain a single quote: >
|
name does not contain a single quote: >
|
||||||
:!ls '%'
|
:!ls '%'
|
||||||
< This should always work, but it's more typing: >
|
< This should always work, but it's more typing: >
|
||||||
:exe "!ls " . shellescape(expand("%"))
|
:exe "!ls " .. shellescape(expand("%"))
|
||||||
< To get a literal "%" or "#" prepend it with a
|
< To get a literal "%" or "#" prepend it with a
|
||||||
backslash. For example, to list all files starting
|
backslash. For example, to list all files starting
|
||||||
with "%": >
|
with "%": >
|
||||||
@@ -369,7 +370,7 @@ N *+digraphs* |digraphs| *E196*
|
|||||||
*+dnd* Support for DnD into the "~ register |quote_~|.
|
*+dnd* Support for DnD into the "~ register |quote_~|.
|
||||||
B *+emacs_tags* |emacs-tags| files
|
B *+emacs_tags* |emacs-tags| files
|
||||||
N *+eval* expression evaluation |eval.txt|
|
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.
|
N *+extra_search* |'hlsearch'| and |'incsearch'| options.
|
||||||
- *+farsi* Removed: |farsi| language
|
- *+farsi* Removed: |farsi| language
|
||||||
N *+file_in_path* |gf|, |CTRL-W_f| and |<cfile>|
|
N *+file_in_path* |gf|, |CTRL-W_f| and |<cfile>|
|
||||||
@@ -380,7 +381,7 @@ N *+folding* |folding|
|
|||||||
*+fork* Unix only: |fork| shell commands
|
*+fork* Unix only: |fork| shell commands
|
||||||
*+float* Floating point support
|
*+float* Floating point support
|
||||||
N *+gettext* message translations |multi-lang|
|
N *+gettext* message translations |multi-lang|
|
||||||
*+GUI_Athena* Unix only: Athena |GUI|
|
- *+GUI_Athena* Unix only: Athena |GUI|
|
||||||
*+GUI_neXtaw* Unix only: neXtaw |GUI|
|
*+GUI_neXtaw* Unix only: neXtaw |GUI|
|
||||||
*+GUI_GTK* Unix only: GTK+ |GUI|
|
*+GUI_GTK* Unix only: GTK+ |GUI|
|
||||||
*+GUI_Motif* Unix only: Motif |GUI|
|
*+GUI_Motif* Unix only: Motif |GUI|
|
||||||
@@ -391,7 +392,7 @@ m *+hangul_input* Hangul input support |hangul|
|
|||||||
T *+insert_expand* |insert_expand| Insert mode completion
|
T *+insert_expand* |insert_expand| Insert mode completion
|
||||||
m *+ipv6* Support for IPv6 networking |channel|
|
m *+ipv6* Support for IPv6 networking |channel|
|
||||||
m *+job* starting and stopping jobs |job|
|
m *+job* starting and stopping jobs |job|
|
||||||
S *+jumplist* |jumplist|
|
T *+jumplist* |jumplist|; Always enabled since 8.2.3795
|
||||||
B *+keymap* |'keymap'|
|
B *+keymap* |'keymap'|
|
||||||
N *+lambda* |lambda| and |closure|
|
N *+lambda* |lambda| and |closure|
|
||||||
B *+langmap* |'langmap'|
|
B *+langmap* |'langmap'|
|
||||||
@@ -410,6 +411,7 @@ T *+mouse* Mouse handling |mouse-using|
|
|||||||
N *+mouseshape* |'mouseshape'|
|
N *+mouseshape* |'mouseshape'|
|
||||||
B *+mouse_dec* Unix only: Dec terminal mouse handling |dec-mouse|
|
B *+mouse_dec* Unix only: Dec terminal mouse handling |dec-mouse|
|
||||||
N *+mouse_gpm* Unix only: Linux console mouse handling |gpm-mouse|
|
N *+mouse_gpm* Unix only: Linux console mouse handling |gpm-mouse|
|
||||||
|
m *+mouse_gpm/dyn* Same as |+mouse_gpm| with optional library dependency |/dyn|
|
||||||
N *+mouse_jsbterm* JSB mouse handling |jsbterm-mouse|
|
N *+mouse_jsbterm* JSB mouse handling |jsbterm-mouse|
|
||||||
B *+mouse_netterm* Unix only: netterm mouse handling |netterm-mouse|
|
B *+mouse_netterm* Unix only: netterm mouse handling |netterm-mouse|
|
||||||
N *+mouse_pterm* QNX only: pterm mouse handling |qnx-terminal|
|
N *+mouse_pterm* QNX only: pterm mouse handling |qnx-terminal|
|
||||||
@@ -423,8 +425,8 @@ N *+multi_lang* non-English language support |multi-lang|
|
|||||||
m *+mzscheme* Mzscheme interface |mzscheme|
|
m *+mzscheme* Mzscheme interface |mzscheme|
|
||||||
m *+mzscheme/dyn* Mzscheme interface |mzscheme-dynamic| |/dyn|
|
m *+mzscheme/dyn* Mzscheme interface |mzscheme-dynamic| |/dyn|
|
||||||
m *+netbeans_intg* |netbeans|
|
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
|
Always enabled since 8.2.0271, use v:numbersize to
|
||||||
check the actual size of a Number.
|
check the actual size of a Number.
|
||||||
m *+ole* Win32 GUI only: |ole-interface|
|
m *+ole* Win32 GUI only: |ole-interface|
|
||||||
N *+packages* Loading |packages|
|
N *+packages* Loading |packages|
|
||||||
@@ -471,15 +473,16 @@ N *+textobjects* |text-objects| selection
|
|||||||
N *+textprop* |text-properties|
|
N *+textprop* |text-properties|
|
||||||
*+tgetent* non-Unix only: able to use external termcap
|
*+tgetent* non-Unix only: able to use external termcap
|
||||||
N *+timers* the |timer_start()| function
|
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|
|
N *+toolbar* |gui-toolbar|
|
||||||
T *+user_commands* User-defined commands. |user-commands|
|
T *+user_commands* User-defined commands. |user-commands|
|
||||||
Always enabled since 8.1.1210.
|
Always enabled since 8.1.1210.
|
||||||
B *+vartabs* Variable-width tabstops. |'vartabstop'|
|
B *+vartabs* Variable-width tabstops. |'vartabstop'|
|
||||||
N *+viminfo* |'viminfo'|
|
T *+vertsplit* Vertically split windows |:vsplit|; Always enabled
|
||||||
*+vertsplit* Vertically split windows |:vsplit|; Always enabled
|
|
||||||
since 8.0.1118.
|
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 *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
|
||||||
T *+visualextra* extra Visual mode commands |blockwise-operators|
|
T *+visualextra* extra Visual mode commands |blockwise-operators|
|
||||||
T *+vreplace* |gR| and |gr|
|
T *+vreplace* |gR| and |gr|
|
||||||
@@ -548,37 +551,40 @@ N *+X11* Unix only: can restore window title |X11|
|
|||||||
backward compatibility, the ">" after the register
|
backward compatibility, the ">" after the register
|
||||||
name can be omitted.
|
name can be omitted.
|
||||||
:redi[r] @">> Append messages to the unnamed register.
|
:redi[r] @">> Append messages to the unnamed register.
|
||||||
|
*E1092*
|
||||||
:redi[r] => {var} Redirect messages to a variable. If the variable
|
:redi[r] => {var} Redirect messages to a variable.
|
||||||
doesn't exist, then it is created. If the variable
|
In legacy script: If the variable doesn't exist, then
|
||||||
exists, then it is initialized to an empty string.
|
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.
|
The variable will remain empty until redirection ends.
|
||||||
Only string variables can be used. After the
|
Only string variables can be used.
|
||||||
redirection starts, if the variable is removed or
|
|
||||||
locked or the variable type is changed, then further
|
|
||||||
command output messages will cause errors.
|
|
||||||
To get the output of one command the |execute()|
|
To get the output of one command the |execute()|
|
||||||
function can be used instead of redirection.
|
function can be used instead of redirection.
|
||||||
|
|
||||||
:redi[r] =>> {var} Append messages to an existing variable. Only string
|
:redi[r] =>> {var} Append messages to an existing variable. Only string
|
||||||
variables can be used.
|
variables can be used.
|
||||||
|
*E1185*
|
||||||
:redi[r] END End redirecting messages.
|
:redi[r] END End redirecting messages.
|
||||||
|
|
||||||
*:filt* *:filter*
|
*:filt* *:filter*
|
||||||
:filt[er][!] {pat} {command}
|
:filt[er][!] {pattern} {command}
|
||||||
:filt[er][!] /{pat}/ {command}
|
:filt[er][!] /{pattern}/ {command}
|
||||||
Restrict the output of {command} to lines matching
|
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
|
:filter /\.xml$/ oldfiles
|
||||||
< If the [!] is given, restrict the output of {command}
|
< 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
|
it in / any non-ID character (see |'isident'|) can be
|
||||||
used, so long as it does not appear in {pat}. Without
|
used, so long as it does not appear in {pattern}.
|
||||||
the enclosing character the pattern cannot include the
|
Without the enclosing character the pattern cannot
|
||||||
bar character. 'ignorecase' is not used.
|
include the bar character. 'ignorecase' is not used.
|
||||||
|
|
||||||
The pattern is matched against the relevant part of
|
The pattern is matched against the relevant part of
|
||||||
the output, not necessarily the whole line. Only some
|
the output, not necessarily the whole line. Only some
|
||||||
@@ -598,7 +604,7 @@ N *+X11* Unix only: can restore window title |X11|
|
|||||||
|:oldfiles| - filter by file name
|
|:oldfiles| - filter by file name
|
||||||
|:registers| - filter by register contents
|
|:registers| - filter by register contents
|
||||||
(does not work multi-line)
|
(does not work multi-line)
|
||||||
|:set| - filter by variable name
|
|:set| - filter by option name
|
||||||
|
|
||||||
Only normal messages are filtered, error messages are
|
Only normal messages are filtered, error messages are
|
||||||
not.
|
not.
|
||||||
@@ -645,7 +651,7 @@ N *+X11* Unix only: can restore window title |X11|
|
|||||||
used. In this example |:silent| is used to avoid the
|
used. In this example |:silent| is used to avoid the
|
||||||
message about reading the file and |:unsilent| to be
|
message about reading the file and |:unsilent| to be
|
||||||
able to list the first line of each file. >
|
able to list the first line of each file. >
|
||||||
:silent argdo unsilent echo expand('%') . ": " . getline(1)
|
:silent argdo unsilent echo expand('%') .. ": " .. getline(1)
|
||||||
<
|
<
|
||||||
|
|
||||||
*:verb* *:verbose*
|
*:verb* *:verbose*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*version5.txt* For Vim version 8.2. Last change: 2021 Apr 05
|
*version5.txt* For Vim version 8.2. Last change: 2022 Apr 06
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -2494,7 +2494,7 @@ regexp character classes (for fast syntax highlight matching):
|
|||||||
|
|
||||||
":set" now accepts "+=", |^=" and "-=": add or remove parts of a string
|
":set" now accepts "+=", |^=" and "-=": add or remove parts of a string
|
||||||
option, add or subtract a number from a number option. A comma is
|
option, add or subtract a number from a number option. A comma is
|
||||||
automagically inserted or deleted for options that are a comma separated list.
|
automagically inserted or deleted for options that are a comma-separated list.
|
||||||
|
|
||||||
Filetype feature, for autocommands. Uses a file type instead of a pattern to
|
Filetype feature, for autocommands. Uses a file type instead of a pattern to
|
||||||
match a file. Currently only used for RISC OS. (Leonard)
|
match a file. Currently only used for RISC OS. (Leonard)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*version6.txt* For Vim version 8.2. Last change: 2021 Apr 05
|
*version6.txt* For Vim version 8.2. Last change: 2022 Apr 06
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -12447,7 +12447,7 @@ Solution: Make sure ".out" files are deleted when they get in the way. Add
|
|||||||
Files: src/Make_bc5.mak, src/testdir/Make_dos.mak
|
Files: src/Make_bc5.mak, src/testdir/Make_dos.mak
|
||||||
|
|
||||||
Patch 6.2.381
|
Patch 6.2.381
|
||||||
Problem: Setting 'fileencoding' to a comma separated list (confusing it
|
Problem: Setting 'fileencoding' to a comma-separated list (confusing it
|
||||||
with 'fileencodings') does not result in an error message.
|
with 'fileencodings') does not result in an error message.
|
||||||
Setting 'fileencoding' in an empty file marks it as modified.
|
Setting 'fileencoding' in an empty file marks it as modified.
|
||||||
There is no "+" in the title after setting 'fileencoding'.
|
There is no "+" in the title after setting 'fileencoding'.
|
||||||
|
|||||||
@@ -14965,7 +14965,7 @@ Solution: Adjust autoconf. (lilydjwg)
|
|||||||
Files: src/configure.in, src/auto/configure
|
Files: src/configure.in, src/auto/configure
|
||||||
|
|
||||||
Patch 7.3.806
|
Patch 7.3.806
|
||||||
Problem: Compiler warnings in Perl code when building with Visual studio
|
Problem: Compiler warnings in Perl code when building with Visual Studio
|
||||||
2012. (skeept)
|
2012. (skeept)
|
||||||
Solution: Add type casts. (Christian Brabandt, 2013 Jan 30)
|
Solution: Add type casts. (Christian Brabandt, 2013 Jan 30)
|
||||||
Files: src/if_perl.xs
|
Files: src/if_perl.xs
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
26928
runtime/doc/version9.txt
Normal file
26928
runtime/doc/version9.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
|||||||
*vi_diff.txt* For Vim version 8.2. Last change: 2021 Jan 21
|
*vi_diff.txt* For Vim version 8.2. Last change: 2022 Apr 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -160,8 +160,8 @@ Graphical User Interface (GUI). |gui|
|
|||||||
Included support for GUI: menu's, mouse, scrollbars, etc. You can
|
Included support for GUI: menu's, mouse, scrollbars, etc. You can
|
||||||
define your own menus. Better support for CTRL/SHIFT/ALT keys in
|
define your own menus. Better support for CTRL/SHIFT/ALT keys in
|
||||||
combination with special keys and mouse. Supported for various
|
combination with special keys and mouse. Supported for various
|
||||||
platforms, such as X11 (with Motif and Athena interfaces), GTK, Win32
|
platforms, such as X11 with Motif, GTK, Win32 (Windows XP and later),
|
||||||
(Windows XP and later), Amiga and Macintosh.
|
Amiga and Macintosh.
|
||||||
|
|
||||||
Multiple windows and buffers. |windows.txt|
|
Multiple windows and buffers. |windows.txt|
|
||||||
Vim can split the screen into several windows, each editing a
|
Vim can split the screen into several windows, each editing a
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
.TH VIM 1 "2006 Apr 11"
|
.TH VIM 1 "2021 Jun 13"
|
||||||
.SH 名前
|
.SH 名前
|
||||||
vim \- Vi IMproved, プログラマのテキストエディタ
|
vim \- Vi IMproved, プログラマのテキストエディタ
|
||||||
.SH 書式
|
.SH 書式
|
||||||
@@ -166,7 +166,7 @@ Note: "+" と "\-c" は合わせて 10 個まで指定できます。
|
|||||||
.TP
|
.TP
|
||||||
\-d
|
\-d
|
||||||
差分モードで起動します。
|
差分モードで起動します。
|
||||||
二つか三つの四つのファイルを引数に指定してください。
|
2 個から 8 個のファイルを引数に指定してください。
|
||||||
指定されたファイルが開かれ、それらのファイルの差分が表示されます。
|
指定されたファイルが開かれ、それらのファイルの差分が表示されます。
|
||||||
vimdiff(1) と同様の動作です。
|
vimdiff(1) と同様の動作です。
|
||||||
.TP
|
.TP
|
||||||
@@ -217,8 +217,7 @@ GUI がサポートされている場合は、GUI で起動します。
|
|||||||
サポートされていない場合はエラーメッセージを表示して終了します。
|
サポートされていない場合はエラーメッセージを表示して終了します。
|
||||||
.TP
|
.TP
|
||||||
\-i {viminfo}
|
\-i {viminfo}
|
||||||
viminfo ファイルを使う設定になっている場合は、初期設定の "~/.viminfo"
|
初期設定の "~/.viminfo" の代わりに、viminfo ファイルを読み書きする際に使うファイル名を指定します。
|
||||||
の代わりに、指定されたファイルを設定します。
|
|
||||||
"NONE" を指定すると、.viminfo ファイルを使わないように設定できます。
|
"NONE" を指定すると、.viminfo ファイルを使わないように設定できます。
|
||||||
.TP
|
.TP
|
||||||
\-L
|
\-L
|
||||||
@@ -356,6 +355,10 @@ X サーバーと通信しません。端末での起動時間を短くできま
|
|||||||
これ以降の引数はすべてファイル名として扱われます。
|
これ以降の引数はすべてファイル名として扱われます。
|
||||||
ファイル名が '\-' で始まっているファイルを開くときに使ってください。
|
ファイル名が '\-' で始まっているファイルを開くときに使ってください。
|
||||||
.TP
|
.TP
|
||||||
|
\-\-clean
|
||||||
|
一切の個人設定 (vimrc、プラグイン、その他) を使用しません。
|
||||||
|
ある問題がクリーンな Vim セットアップで再現するかを確認するのに有用です。
|
||||||
|
.TP
|
||||||
\-\-echo\-wid
|
\-\-echo\-wid
|
||||||
GTK GUI のみ: Window ID を標準出力に出力します。
|
GTK GUI のみ: Window ID を標準出力に出力します。
|
||||||
.TP
|
.TP
|
||||||
@@ -398,6 +401,9 @@ Vim サーバーの一覧を表示します。
|
|||||||
\-\-socketid {id}
|
\-\-socketid {id}
|
||||||
GTK GUI のみ: GtkPlug メカニズムを使って gvim を別のウィンドウの中で実行します。
|
GTK GUI のみ: GtkPlug メカニズムを使って gvim を別のウィンドウの中で実行します。
|
||||||
.TP
|
.TP
|
||||||
|
\-\-startuptime {file}
|
||||||
|
起動処理の間、経過時間のメッセージをファイル {fname} に書き出します。
|
||||||
|
.TP
|
||||||
\-\-version
|
\-\-version
|
||||||
バージョン情報を表示して終了します。
|
バージョン情報を表示して終了します。
|
||||||
.SH オンラインヘルプ
|
.SH オンラインヘルプ
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
.TH VIM 1 "2006 Apr 11"
|
.TH VIM 1 "2021 Jun 13"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
vim \- Vi IMproved, a programmer's text editor
|
vim \- Vi IMproved, a programmer's text editor
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
|||||||
@@ -432,4 +432,4 @@ BUGS
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
2006 Apr 11 VIM(1)
|
2021 Jun 13 VIM(1)
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user