mirror of
https://github.com/zoriya/vim.git
synced 2025-12-09 00:36:15 +00:00
Compare commits
693 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
78a16b0f2a | ||
|
|
98da6ecab9 | ||
|
|
b59118d501 | ||
|
|
5bab555c2f | ||
|
|
b8e22a053b | ||
|
|
527dec3f94 | ||
|
|
ee5b94a8ec | ||
|
|
cccd62d435 | ||
|
|
56f9955044 | ||
|
|
9ce4213b03 | ||
|
|
1ed00330bc | ||
|
|
769e9d21ac | ||
|
|
d60e0a1d20 | ||
|
|
6995c0a7a9 | ||
|
|
b377457e69 | ||
|
|
1acdb3f301 | ||
|
|
3a21d9c7bb | ||
|
|
164268d4cf | ||
|
|
8dd1761e69 | ||
|
|
29f9ed20b4 | ||
|
|
6f4700233f | ||
|
|
d6b4f2dd76 | ||
|
|
d088240b96 | ||
|
|
f59c6e8cee | ||
|
|
07b46af645 | ||
|
|
0424958bde | ||
|
|
8c87a2b1fe | ||
|
|
e80757c154 | ||
|
|
756ef113d1 | ||
|
|
672afb9f66 | ||
|
|
e333e79f9b | ||
|
|
ea39176baa | ||
|
|
4ac2e8d8e6 | ||
|
|
8200829141 | ||
|
|
77557a7ae6 | ||
|
|
4791015e6f | ||
|
|
72532d354e | ||
|
|
22efba47de | ||
|
|
b6ed74fef8 | ||
|
|
e1bb879f49 | ||
|
|
c4b533e1e9 | ||
|
|
3680bab7e7 | ||
|
|
51ad4eaa22 | ||
|
|
d5359b24ce | ||
|
|
9a993e3c09 | ||
|
|
3aa67fb453 | ||
|
|
86676c949f | ||
|
|
4a69634b1b | ||
|
|
878c96d5b9 | ||
|
|
333b80acf3 | ||
|
|
1f8495cf48 | ||
|
|
79cf7c0d45 | ||
|
|
9af9778209 | ||
|
|
8b31a6ff7a | ||
|
|
25a6e8a769 | ||
|
|
f3ba14ffd3 | ||
|
|
ab943431d8 | ||
|
|
7b24ce08fe | ||
|
|
1834d37396 | ||
|
|
f06b0b6c8f | ||
|
|
0751f51a5b | ||
|
|
0c72fe4ed8 | ||
|
|
cd43effeca | ||
|
|
1b2f61e732 | ||
|
|
2a77d21f78 | ||
|
|
4368d5ce8a | ||
|
|
086eb87695 | ||
|
|
cf67a509e9 | ||
|
|
2de50f8762 | ||
|
|
15a1c3fdc1 | ||
|
|
8fbaeb195d | ||
|
|
65873846e0 | ||
|
|
b5b49a3b43 | ||
|
|
e7499ddc33 | ||
|
|
897e63c4c0 | ||
|
|
45d2a64f96 | ||
|
|
16d7eced1a | ||
|
|
75b0a888e4 | ||
|
|
8c64a36e40 | ||
|
|
47015b80a0 | ||
|
|
948a796bfe | ||
|
|
295ac5ab5e | ||
|
|
62b7f6a139 | ||
|
|
0bd052ba12 | ||
|
|
7735dafb58 | ||
|
|
b571c63d48 | ||
|
|
29dfa5af3c | ||
|
|
5a3a49ed59 | ||
|
|
3e8d385347 | ||
|
|
6ed86ad170 | ||
|
|
6185903e3d | ||
|
|
e26e0d2b83 | ||
|
|
81c3c89a28 | ||
|
|
ecadf4377f | ||
|
|
42f652f733 | ||
|
|
f05fa37822 | ||
|
|
52acb110ac | ||
|
|
98ef233e14 | ||
|
|
9ef2a30e6f | ||
|
|
a2150ac016 | ||
|
|
1dd98334d6 | ||
|
|
af23bad0fd | ||
|
|
4ac31eeff0 | ||
|
|
135682517b | ||
|
|
43cb626214 | ||
|
|
62dd452d02 | ||
|
|
228de1dfd2 | ||
|
|
012eb66293 | ||
|
|
a903472cfa | ||
|
|
f118d4847e | ||
|
|
625f0c1eb7 | ||
|
|
ff1e879577 | ||
|
|
f708ac592f | ||
|
|
3e4b84d0b5 | ||
|
|
c48369c3fc | ||
|
|
e87303af32 | ||
|
|
b852c3e64d | ||
|
|
12a96de430 | ||
|
|
435acdb88c | ||
|
|
25cdd9c33b | ||
|
|
b5b7562475 | ||
|
|
4d8bac8bf5 | ||
|
|
20586cb4f4 | ||
|
|
1a84024037 | ||
|
|
d7db27bafd | ||
|
|
52f18a112a | ||
|
|
3324d0a864 | ||
|
|
201dc67db5 | ||
|
|
ebf142a1ed | ||
|
|
f536bf6d45 | ||
|
|
fc6f16b57c | ||
|
|
157d813be4 | ||
|
|
3b3a9a5609 | ||
|
|
946acdac5b | ||
|
|
df0d24b627 | ||
|
|
69f5a3011d | ||
|
|
e780848150 | ||
|
|
16896a1019 | ||
|
|
63e82db6fc | ||
|
|
987723e084 | ||
|
|
89894aa671 | ||
|
|
362dc33835 | ||
|
|
40d77b0ec1 | ||
|
|
29a2c08d79 | ||
|
|
28ada699c1 | ||
|
|
24fe475894 | ||
|
|
6e35a11490 | ||
|
|
8a3bb56230 | ||
|
|
107279c17b | ||
|
|
f2bd8ef2b4 | ||
|
|
3f54fd319f | ||
|
|
71137fed4d | ||
|
|
069dafc1de | ||
|
|
3767b61ad9 | ||
|
|
658a154cbf | ||
|
|
aef8c3da2b | ||
|
|
c71807db9c | ||
|
|
590ec878a5 | ||
|
|
77780b66f4 | ||
|
|
0726870326 | ||
|
|
5f73ef8d20 | ||
|
|
8195247054 | ||
|
|
988615f26f | ||
|
|
792f0e3659 | ||
|
|
5d7ead3bc8 | ||
|
|
3ad8772ef0 | ||
|
|
75542ec9f6 | ||
|
|
9c474b2773 | ||
|
|
c8bcfe7efd | ||
|
|
8226ac6b59 | ||
|
|
22f1d0e35e | ||
|
|
d4fc577e60 | ||
|
|
33ef5bb0e4 | ||
|
|
9271d058c9 | ||
|
|
36f923014a | ||
|
|
2b10bcbfc1 | ||
|
|
6bb2cdfe60 | ||
|
|
bb008dd323 | ||
|
|
085346f5a1 | ||
|
|
791010e648 | ||
|
|
6acadda8d6 | ||
|
|
b7ea7cb8e4 | ||
|
|
674e482d13 | ||
|
|
cc0f2be880 | ||
|
|
cafafb381a | ||
|
|
19eb6658ec | ||
|
|
3049418f3d | ||
|
|
81226e0310 | ||
|
|
3cc9f7440d | ||
|
|
da65058a9c | ||
|
|
7a76092a51 | ||
|
|
9c8816bd30 | ||
|
|
d96ff16511 | ||
|
|
4287ed33dd | ||
|
|
73cddfd559 | ||
|
|
181ca99e16 | ||
|
|
341a64c9ca | ||
|
|
2be5733152 | ||
|
|
bc197195b0 | ||
|
|
b3292fa2d3 | ||
|
|
ab5e7c3deb | ||
|
|
07ad816525 | ||
|
|
4867974137 | ||
|
|
e4db7aedab | ||
|
|
3198870137 | ||
|
|
b48e96f61c | ||
|
|
294959528e | ||
|
|
5a656864a0 | ||
|
|
bfbea567d8 | ||
|
|
c19e1d1ba5 | ||
|
|
c6f9f739d3 | ||
|
|
c33ecb2915 | ||
|
|
cdd09aa51a | ||
|
|
71a43c0137 | ||
|
|
a0221df149 | ||
|
|
0549a1e184 | ||
|
|
4b7e7bed6c | ||
|
|
a7e18d237f | ||
|
|
4f50588ba3 | ||
|
|
d23a823669 | ||
|
|
42443c7d7f | ||
|
|
5a09343719 | ||
|
|
9b56a57cda | ||
|
|
b301f6b950 | ||
|
|
a8f04aa275 | ||
|
|
2993ac5fce | ||
|
|
7254067ee9 | ||
|
|
5459129af2 | ||
|
|
0d20737732 | ||
|
|
8846ac5aed | ||
|
|
82846a00ac | ||
|
|
9e33efd152 | ||
|
|
a15ef4588c | ||
|
|
9d32276b52 | ||
|
|
02ae9b4a93 | ||
|
|
1567558b20 | ||
|
|
0562532c2e | ||
|
|
bc0e9adae9 | ||
|
|
dff72ba445 | ||
|
|
d317b38a4d | ||
|
|
acda04f5c6 | ||
|
|
f12519dec8 | ||
|
|
dd08b6a32b | ||
|
|
511ffdd65d | ||
|
|
5d4247402b | ||
|
|
28944fecff | ||
|
|
2c7b906afb | ||
|
|
2374faae11 | ||
|
|
191f18bad0 | ||
|
|
fef4ddd5eb | ||
|
|
06b77ef69f | ||
|
|
4bc0bed536 | ||
|
|
8a37b03289 | ||
|
|
ec48a9c589 | ||
|
|
f4aba797cb | ||
|
|
15833239a4 | ||
|
|
b5cb65ba2b | ||
|
|
b7407d3fc9 | ||
|
|
ddb349369d | ||
|
|
8fd2ffc530 | ||
|
|
8dce6c54c8 | ||
|
|
4bfa8af141 | ||
|
|
42b23fad1d | ||
|
|
218101442e | ||
|
|
d4a282f7a5 | ||
|
|
94073167e3 | ||
|
|
1dd45fb4f3 | ||
|
|
a338adcf22 | ||
|
|
37badc898b | ||
|
|
cada78975e | ||
|
|
6f361c9912 | ||
|
|
153b704e20 | ||
|
|
ec0557f08b | ||
|
|
059fd01021 | ||
|
|
a172b63ab8 | ||
|
|
ce46d934af | ||
|
|
b50773c6df | ||
|
|
1274d33493 | ||
|
|
0479e910c4 | ||
|
|
d6d304298a | ||
|
|
40962ec9c0 | ||
|
|
84b242c369 | ||
|
|
501383236d | ||
|
|
d7823d5b7c | ||
|
|
95dbcbea6d | ||
|
|
2ec364e94d | ||
|
|
0cbcd949e1 | ||
|
|
4aad53c369 | ||
|
|
ede35bbbd0 | ||
|
|
200ea8ffaa | ||
|
|
de04654ddc | ||
|
|
9e3dfc6501 | ||
|
|
2095148277 | ||
|
|
df980db69b | ||
|
|
a47ebdbd22 | ||
|
|
fabaf753e2 | ||
|
|
45a0000d5c | ||
|
|
e6640ad44e | ||
|
|
3c09722600 | ||
|
|
b73fa629d6 | ||
|
|
ae6f865125 | ||
|
|
1bd999f982 | ||
|
|
8ada6aa929 | ||
|
|
4ce46c2a6b | ||
|
|
14a4deb064 | ||
|
|
aaf6e43b7a | ||
|
|
1223744849 | ||
|
|
2efb323e87 | ||
|
|
338e47fdfd | ||
|
|
132f75255e | ||
|
|
a0ca7d002d | ||
|
|
4af031dbc8 | ||
|
|
b254af312d | ||
|
|
c9e649ae81 | ||
|
|
606d45ccd8 | ||
|
|
4fb921e388 | ||
|
|
9bca805ec4 | ||
|
|
cb89c98c26 | ||
|
|
f0b03c4e98 | ||
|
|
8ee2d36e21 | ||
|
|
ee219b0e9f | ||
|
|
9e1d399e63 | ||
|
|
890dd05492 | ||
|
|
a1d5c154db | ||
|
|
200d0e36bc | ||
|
|
7e1652c63c | ||
|
|
6621605eb9 | ||
|
|
8b42328cef | ||
|
|
b29d328eb4 | ||
|
|
4697399e8c | ||
|
|
7f88b65f6c | ||
|
|
a6d4849c71 | ||
|
|
fae8ed1fc8 | ||
|
|
a703aaee4d | ||
|
|
8e6a31df81 | ||
|
|
59eb016dff | ||
|
|
74240d3feb | ||
|
|
35c5e8155d | ||
|
|
f405c8fe85 | ||
|
|
620ca2da37 | ||
|
|
05684310a5 | ||
|
|
e4b78e2a42 | ||
|
|
3388d33457 | ||
|
|
6e65d594aa | ||
|
|
23c1b2b018 | ||
|
|
415a6939a4 | ||
|
|
5fe6bdf858 | ||
|
|
3767c6e9ee | ||
|
|
ac112f01a6 | ||
|
|
feeb4d0901 | ||
|
|
1eca6f13d6 | ||
|
|
92467d3351 | ||
|
|
ce6179c799 | ||
|
|
461fe50fea | ||
|
|
1ad022a9b8 | ||
|
|
24820691e6 | ||
|
|
22044dc317 | ||
|
|
af903e5d49 | ||
|
|
a7c54cfcf8 | ||
|
|
97ce419201 | ||
|
|
76bb7196f5 | ||
|
|
2f0584910c | ||
|
|
46359e198f | ||
|
|
8b9e20afb0 | ||
|
|
1a2ab991a6 | ||
|
|
c5aa55db7e | ||
|
|
a45ff6caba | ||
|
|
3660a10c73 | ||
|
|
1ed2276fd5 | ||
|
|
f38c86eb6b | ||
|
|
bdb8139098 | ||
|
|
1355aad2b9 | ||
|
|
17471e84a7 | ||
|
|
c8c75796a6 | ||
|
|
e0aa23f7e3 | ||
|
|
a3571ebef5 | ||
|
|
c41838aa01 | ||
|
|
2877d334ad | ||
|
|
d7ccc4d81d | ||
|
|
fb1db0e355 | ||
|
|
be5d998d0e | ||
|
|
281c93e714 | ||
|
|
83799a7b74 | ||
|
|
819edbe078 | ||
|
|
50d43153a7 | ||
|
|
6315a9ae92 | ||
|
|
291a9d15ed | ||
|
|
3167c3e701 | ||
|
|
2c997d7603 | ||
|
|
93a32e2ec4 | ||
|
|
3679c17917 | ||
|
|
a2a80162de | ||
|
|
52dbb5ea7f | ||
|
|
5505860152 | ||
|
|
ff5467965e | ||
|
|
91ffda9852 | ||
|
|
6e77df2d85 | ||
|
|
5df95ea9ef | ||
|
|
bb160a188a | ||
|
|
73675fbc48 | ||
|
|
5bbef31949 | ||
|
|
40e280d949 | ||
|
|
7221fce8b3 | ||
|
|
669a828cdc | ||
|
|
246fe03d15 | ||
|
|
e518226713 | ||
|
|
44c2bffde7 | ||
|
|
e86ee877c1 | ||
|
|
4ab9d9e9a4 | ||
|
|
d1c28346e1 | ||
|
|
c3719bd87b | ||
|
|
c7d16dce2f | ||
|
|
0f1e643138 | ||
|
|
51b0f3701e | ||
|
|
234d16286a | ||
|
|
ae1e108caa | ||
|
|
9e27217c48 | ||
|
|
7567d0b115 | ||
|
|
d048009717 | ||
|
|
9c6ce0e622 | ||
|
|
209d3874c1 | ||
|
|
7cb769a69f | ||
|
|
cd142e3369 | ||
|
|
a42ad57e48 | ||
|
|
58a8f1706f | ||
|
|
2392143236 | ||
|
|
1dcada1933 | ||
|
|
e42a6d2509 | ||
|
|
2f27aab8e6 | ||
|
|
60e73f2acc | ||
|
|
d327b0c68f | ||
|
|
f8c53d3d26 | ||
|
|
80eaddd3a0 | ||
|
|
7f2e9d7c9c | ||
|
|
13e904199c | ||
|
|
ae147ab2d7 | ||
|
|
aeeb6888ca | ||
|
|
5fd8b78214 | ||
|
|
d09a206ee9 | ||
|
|
462455ee8b | ||
|
|
9ed7d34af3 | ||
|
|
cef7322d8a | ||
|
|
851ee6c3da | ||
|
|
de323093e1 | ||
|
|
040c1feb21 | ||
|
|
8ac441576f | ||
|
|
26d205dcd8 | ||
|
|
a3f7e58bf8 | ||
|
|
c9e9c71409 | ||
|
|
0c4dc88a63 | ||
|
|
4148be468f | ||
|
|
53ec79537a | ||
|
|
fb094e14c1 | ||
|
|
8fdb35a974 | ||
|
|
b0d45e7f53 | ||
|
|
aace215813 | ||
|
|
3bf8c3c38f | ||
|
|
5842a748be | ||
|
|
ffe010fa03 | ||
|
|
ad7dac85c3 | ||
|
|
c363251630 | ||
|
|
5a73e0ca54 | ||
|
|
7dd88c5133 | ||
|
|
1232624ae5 | ||
|
|
ab8b1c14a3 | ||
|
|
13deab8d08 | ||
|
|
52a2f0f1da | ||
|
|
2973daafe1 | ||
|
|
a88254f704 | ||
|
|
01164a6546 | ||
|
|
ea84df8041 | ||
|
|
4c22a91d20 | ||
|
|
430dc5d360 | ||
|
|
8889a5c305 | ||
|
|
d97fbf171e | ||
|
|
f8f8b2eadb | ||
|
|
c20e0d5207 | ||
|
|
5130f31661 | ||
|
|
86b21bb3e7 | ||
|
|
b315876efa | ||
|
|
3e1c617d49 | ||
|
|
b94340c04f | ||
|
|
f45938cc20 | ||
|
|
ffd99f729b | ||
|
|
89c394faca | ||
|
|
ba6febd380 | ||
|
|
48570488f1 | ||
|
|
2e51d9a097 | ||
|
|
af2d20c628 | ||
|
|
d057301b1f | ||
|
|
ef83956e1e | ||
|
|
a6ce1ccf5c | ||
|
|
b9fce6cbf7 | ||
|
|
c3fdf7f80b | ||
|
|
c312b8b87a | ||
|
|
ce15775026 | ||
|
|
9a91c7a1f9 | ||
|
|
0e19fc07e7 | ||
|
|
dc1c981294 | ||
|
|
2a45d64d0a | ||
|
|
ee03b94124 | ||
|
|
cf1ba35fc2 | ||
|
|
9ad89c6c4f | ||
|
|
ce11de87e2 | ||
|
|
15993ce921 | ||
|
|
235dddf1f4 | ||
|
|
f204e05ae9 | ||
|
|
8d84ff1a3c | ||
|
|
d99388ba85 | ||
|
|
6ce6504808 | ||
|
|
2f40d129bf | ||
|
|
4f1982800f | ||
|
|
2e4cb3b042 | ||
|
|
66857f4104 | ||
|
|
ca05aa24af | ||
|
|
f8e8c0643b | ||
|
|
53f0c96239 | ||
|
|
6b89dbb55f | ||
|
|
67435d9983 | ||
|
|
fafcf0dd59 | ||
|
|
ff930cad8a | ||
|
|
87ffb5c1a3 | ||
|
|
6daeef1933 | ||
|
|
059db5c29f | ||
|
|
44cc4cf72f | ||
|
|
67418d97b4 | ||
|
|
8bfe07b708 | ||
|
|
00ce63dc23 | ||
|
|
81b07b527e | ||
|
|
a20f83df1d | ||
|
|
9377df3ecd | ||
|
|
65e4c4f686 | ||
|
|
b2c8750c4e | ||
|
|
ac8069bb63 | ||
|
|
6199d43f4b | ||
|
|
2c33d7bb69 | ||
|
|
6047e2c722 | ||
|
|
1d68d9b2bd | ||
|
|
8065cf2bfb | ||
|
|
4a6fcf8047 | ||
|
|
9202162c5c | ||
|
|
9b69f22e66 | ||
|
|
18cfa940e2 | ||
|
|
0ab35b279f | ||
|
|
4635e11c6b | ||
|
|
75f69e5a18 | ||
|
|
631820536e | ||
|
|
73f4439ca6 | ||
|
|
54e5dbf58e | ||
|
|
d78f03f860 | ||
|
|
c902609f69 | ||
|
|
a0a6f2776e | ||
|
|
19a3d68b2c | ||
|
|
2a6a6c3014 | ||
|
|
712549e04e | ||
|
|
f33606112a | ||
|
|
5ece3e359c | ||
|
|
0aa398f55a | ||
|
|
3a497e1a41 | ||
|
|
c958b31638 | ||
|
|
f52c383156 | ||
|
|
65ed136844 | ||
|
|
c79977a437 | ||
|
|
660b85e39a | ||
|
|
a5e6621aad | ||
|
|
816968defc | ||
|
|
d371bbe0ab | ||
|
|
db51007108 | ||
|
|
24a98a0eb7 | ||
|
|
9cf39cc57f | ||
|
|
1ec96c9269 | ||
|
|
d1bc96ce24 | ||
|
|
1b38344e00 | ||
|
|
97fbc404fc | ||
|
|
2a02745709 | ||
|
|
09ca932f8e | ||
|
|
6edeaf387c | ||
|
|
a8fc0d3817 | ||
|
|
22ab547dc2 | ||
|
|
7c456a4511 | ||
|
|
452030e530 | ||
|
|
0c6a32963d | ||
|
|
0b05e491b4 | ||
|
|
e0de17d84e | ||
|
|
378daf87d3 | ||
|
|
96e7a6ee45 | ||
|
|
bb3e6416f1 | ||
|
|
a21a6a9ade | ||
|
|
eb163d73b1 | ||
|
|
e745d75c3e | ||
|
|
0263146b5d | ||
|
|
53f8174eae | ||
|
|
76301956f0 | ||
|
|
f3d769a585 | ||
|
|
8b21de33bb | ||
|
|
fc7649f8b8 | ||
|
|
b00fdf6eed | ||
|
|
9cb03716c9 | ||
|
|
2e6ab18729 | ||
|
|
a5a2be26fe | ||
|
|
37c64c78fd | ||
|
|
e22bbf6508 | ||
|
|
a8e93d63e3 | ||
|
|
71b2964066 | ||
|
|
d326ad6e93 | ||
|
|
f16c71b669 | ||
|
|
1b9645de3c | ||
|
|
dde403c2d8 | ||
|
|
49150a41f8 | ||
|
|
63c4e8a198 | ||
|
|
8adb0d03ca | ||
|
|
4033c55eca | ||
|
|
e738a1a033 | ||
|
|
1514e8f427 | ||
|
|
495b7dd213 | ||
|
|
4cf56bbc85 | ||
|
|
eef9adddab | ||
|
|
fc2b270cfd | ||
|
|
b5e79ef5a9 | ||
|
|
e8ff56b28e | ||
|
|
f5291f301e | ||
|
|
69fbc9e1da | ||
|
|
38baa3e634 | ||
|
|
69e8aa7511 | ||
|
|
1190cf68e2 | ||
|
|
ef6b8de42f | ||
|
|
478e3a78c3 | ||
|
|
c71053c611 | ||
|
|
71eeb74a60 | ||
|
|
072412ed45 | ||
|
|
518d699699 | ||
|
|
b984b80cd8 | ||
|
|
49a613f84a | ||
|
|
238d43b328 | ||
|
|
a038cb5eab | ||
|
|
c212798333 | ||
|
|
b4d5fbabc9 | ||
|
|
45d5f26d11 | ||
|
|
95c83c64be | ||
|
|
65f084749b | ||
|
|
c168bd4bd3 | ||
|
|
414168d97f | ||
|
|
e9f6fd27d0 | ||
|
|
8696bbaf52 | ||
|
|
e09ba7bae5 | ||
|
|
7be9b50fd7 | ||
|
|
5b5adf5b9c | ||
|
|
9d18961323 | ||
|
|
aba680a851 | ||
|
|
74121231be | ||
|
|
09d6c3818d | ||
|
|
b4ea1914b8 | ||
|
|
fe386641b0 | ||
|
|
3c518400d1 | ||
|
|
1a735d6c9b | ||
|
|
2dc9d26c14 | ||
|
|
ba2929b6af | ||
|
|
99433291b1 | ||
|
|
c6da01a5b8 | ||
|
|
75a60f74ce | ||
|
|
37b53270e1 | ||
|
|
618d6d277e | ||
|
|
e723c42836 | ||
|
|
2e49b6b20c | ||
|
|
c35e4cb4fe | ||
|
|
1b9f9d315f | ||
|
|
28550b74bb | ||
|
|
c3f81394ef | ||
|
|
6756c7037f | ||
|
|
3971905bac | ||
|
|
3d8d2c7ca5 | ||
|
|
8b53b79ea5 | ||
|
|
1bfdc07a49 | ||
|
|
6e32f615eb | ||
|
|
11aa62f8f9 | ||
|
|
178333783f | ||
|
|
9d954207e2 | ||
|
|
e88fc7a574 | ||
|
|
9d654a8d8c | ||
|
|
595a40226e | ||
|
|
d8d85bfb7d | ||
|
|
5e80de3f3e | ||
|
|
00ccf54630 | ||
|
|
ae96b8d058 | ||
|
|
6a8691d483 | ||
|
|
2254a8ad0c | ||
|
|
4ec86ddd77 | ||
|
|
9f45ccd1bf | ||
|
|
e2e69e4813 | ||
|
|
3653822546 | ||
|
|
b31cf2bb0b | ||
|
|
cf4b00c856 | ||
|
|
da22b8cc8b |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -38,6 +38,7 @@ src/pathdef.c
|
|||||||
src/Obj*/pathdef.c
|
src/Obj*/pathdef.c
|
||||||
gvimext.dll
|
gvimext.dll
|
||||||
gvimext.lib
|
gvimext.lib
|
||||||
|
gvim.lib
|
||||||
runtime/doc/uganda.nsis.txt
|
runtime/doc/uganda.nsis.txt
|
||||||
|
|
||||||
# Borland C++
|
# Borland C++
|
||||||
|
|||||||
10
.travis.yml
10
.travis.yml
@@ -67,6 +67,7 @@ addons:
|
|||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
- autoconf
|
- autoconf
|
||||||
|
- clang
|
||||||
- lcov
|
- lcov
|
||||||
- libperl-dev
|
- libperl-dev
|
||||||
- python-dev
|
- python-dev
|
||||||
@@ -87,7 +88,7 @@ before_install:
|
|||||||
# building cffi only works with gcc, not with clang
|
# building cffi only works with gcc, not with clang
|
||||||
- if [ "$COVERAGE" = "yes" ]; then CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1; fi
|
- if [ "$COVERAGE" = "yes" ]; then CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1; fi
|
||||||
# Lua is not installed on Travis OSX
|
# Lua is not installed on Travis OSX
|
||||||
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install lua; export LUA_PREFIX=/usr/local; fi
|
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then export HOMEBREW_NO_AUTO_UPDATE=1; brew update; brew install lua; export LUA_PREFIX=/usr/local; fi
|
||||||
# Use llvm-cov instead of gcov when compiler is clang.
|
# Use llvm-cov instead of gcov when compiler is clang.
|
||||||
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CC" = "clang" ]; then ln -sf $(which llvm-cov) /home/travis/bin/gcov; fi
|
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CC" = "clang" ]; then ln -sf $(which llvm-cov) /home/travis/bin/gcov; fi
|
||||||
|
|
||||||
@@ -102,13 +103,12 @@ script:
|
|||||||
- (cd ${SRCDIR} && ./configure --with-features=$FEATURES $CONFOPT --enable-fail-if-missing && if [ "$BUILD" = "yes" ]; then make -j$NPROC; fi)
|
- (cd ${SRCDIR} && ./configure --with-features=$FEATURES $CONFOPT --enable-fail-if-missing && if [ "$BUILD" = "yes" ]; then make -j$NPROC; fi)
|
||||||
# Show Vim version and also if_xx versions.
|
# Show Vim version and also if_xx versions.
|
||||||
- if [ "$BUILD" = "yes" ]; then ${SRCDIR}/vim --version; ${SRCDIR}/vim --not-a-term -u NONE -S ${SRCDIR}/testdir/if_ver-1.vim -c quit > /dev/null; ${SRCDIR}/vim --not-a-term -u NONE -S ${SRCDIR}/testdir/if_ver-2.vim -c quit > /dev/null; cat if_ver.txt; fi
|
- if [ "$BUILD" = "yes" ]; then ${SRCDIR}/vim --version; ${SRCDIR}/vim --not-a-term -u NONE -S ${SRCDIR}/testdir/if_ver-1.vim -c quit > /dev/null; ${SRCDIR}/vim --not-a-term -u NONE -S ${SRCDIR}/testdir/if_ver-2.vim -c quit > /dev/null; cat if_ver.txt; fi
|
||||||
- if [ -n "$ASAN_OPTIONS" ]; then export PATH=/usr/lib/llvm-$(clang -v 2>&1 | sed -n 's/.*version \([1-9]\.[0-9][0-9]*\).*/\1/p')/bin:$PATH; fi
|
|
||||||
- make $SHADOWOPT $TEST
|
- make $SHADOWOPT $TEST
|
||||||
- if [ -n "$ASAN_OPTIONS" ]; then for log in $(find -type f -name 'asan.*' -size +0); do cat "$log"; err=1; done; fi
|
- if [ -n "$ASAN_OPTIONS" ]; then for log in $(find -type f -name 'asan.*' -size +0); do asan_symbolize < "$log"; err=1; done; fi
|
||||||
- if [ -n "$err" ]; then exit 1; fi
|
- if [ -n "$err" ]; then exit 1; fi
|
||||||
|
|
||||||
after_success:
|
after_success:
|
||||||
- if [ "$COVERAGE" = "yes" ]; then ~/.local/bin/coveralls -b $SRCDIR -x .xs -e ${SRCDIR}/xxd -e ${SRCDIR}/if_perl.c --encodings utf-8 latin-1 EUC-KR; fi
|
- if [ "$COVERAGE" = "yes" ]; then ~/.local/bin/coveralls -b ${SRCDIR} -x .xs -e ${SRCDIR}/xxd -e ${SRCDIR}/if_perl.c --encodings utf-8 latin-1 EUC-KR; fi
|
||||||
- if [ "$COVERAGE" = "yes" ]; then cd $SRCDIR && bash <(curl -s https://codecov.io/bash) ; fi
|
- if [ "$COVERAGE" = "yes" ]; then cd ${SRCDIR} && bash <(curl -s https://codecov.io/bash) ; fi
|
||||||
|
|
||||||
# vim:set sts=2 sw=2 tw=0 et:
|
# vim:set sts=2 sw=2 tw=0 et:
|
||||||
|
|||||||
15
Filelist
15
Filelist
@@ -12,6 +12,8 @@ SRC_ALL = \
|
|||||||
src/arabic.c \
|
src/arabic.c \
|
||||||
src/arabic.h \
|
src/arabic.h \
|
||||||
src/ascii.h \
|
src/ascii.h \
|
||||||
|
src/beval.c \
|
||||||
|
src/beval.h \
|
||||||
src/blowfish.c \
|
src/blowfish.c \
|
||||||
src/buffer.c \
|
src/buffer.c \
|
||||||
src/channel.c \
|
src/channel.c \
|
||||||
@@ -41,7 +43,6 @@ SRC_ALL = \
|
|||||||
src/gui.c \
|
src/gui.c \
|
||||||
src/gui.h \
|
src/gui.h \
|
||||||
src/gui_beval.c \
|
src/gui_beval.c \
|
||||||
src/gui_beval.h \
|
|
||||||
src/hardcopy.c \
|
src/hardcopy.c \
|
||||||
src/hashtab.c \
|
src/hashtab.c \
|
||||||
src/json.c \
|
src/json.c \
|
||||||
@@ -109,6 +110,7 @@ SRC_ALL = \
|
|||||||
src/testdir/sautest/autoload/*.vim \
|
src/testdir/sautest/autoload/*.vim \
|
||||||
src/testdir/runtest.vim \
|
src/testdir/runtest.vim \
|
||||||
src/testdir/shared.vim \
|
src/testdir/shared.vim \
|
||||||
|
src/testdir/screendump.vim \
|
||||||
src/testdir/view_util.vim \
|
src/testdir/view_util.vim \
|
||||||
src/testdir/setup.vim \
|
src/testdir/setup.vim \
|
||||||
src/testdir/gui_init.vim \
|
src/testdir/gui_init.vim \
|
||||||
@@ -118,7 +120,6 @@ SRC_ALL = \
|
|||||||
src/testdir/test[0-9]*a.ok \
|
src/testdir/test[0-9]*a.ok \
|
||||||
src/testdir/test_[a-z]*.ok \
|
src/testdir/test_[a-z]*.ok \
|
||||||
src/testdir/test49.vim \
|
src/testdir/test49.vim \
|
||||||
src/testdir/test60.vim \
|
|
||||||
src/testdir/test83-tags? \
|
src/testdir/test83-tags? \
|
||||||
src/testdir/test77a.com \
|
src/testdir/test77a.com \
|
||||||
src/testdir/test_*.vim \
|
src/testdir/test_*.vim \
|
||||||
@@ -134,10 +135,14 @@ SRC_ALL = \
|
|||||||
src/testdir/pyxfile/*.py \
|
src/testdir/pyxfile/*.py \
|
||||||
src/testdir/bench*.in \
|
src/testdir/bench*.in \
|
||||||
src/testdir/bench*.vim \
|
src/testdir/bench*.vim \
|
||||||
|
src/testdir/dumps/*.dump \
|
||||||
src/testdir/samples/*.txt \
|
src/testdir/samples/*.txt \
|
||||||
|
src/testdir/samples/test000 \
|
||||||
src/testdir/if_ver*.vim \
|
src/testdir/if_ver*.vim \
|
||||||
|
src/testdir/color_ramp.vim \
|
||||||
src/proto.h \
|
src/proto.h \
|
||||||
src/proto/arabic.pro \
|
src/proto/arabic.pro \
|
||||||
|
src/proto/beval.pro \
|
||||||
src/proto/blowfish.pro \
|
src/proto/blowfish.pro \
|
||||||
src/proto/buffer.pro \
|
src/proto/buffer.pro \
|
||||||
src/proto/channel.pro \
|
src/proto/channel.pro \
|
||||||
@@ -405,6 +410,7 @@ SRC_DOS = \
|
|||||||
src/msvcsetup.bat \
|
src/msvcsetup.bat \
|
||||||
src/msvc2008.bat \
|
src/msvc2008.bat \
|
||||||
src/msvc2010.bat \
|
src/msvc2010.bat \
|
||||||
|
src/msvc2015.bat \
|
||||||
src/dimm.idl \
|
src/dimm.idl \
|
||||||
src/dlldata.c \
|
src/dlldata.c \
|
||||||
src/dosinst.c \
|
src/dosinst.c \
|
||||||
@@ -449,6 +455,7 @@ SRC_DOS = \
|
|||||||
src/xxd/Make_mvc.mak \
|
src/xxd/Make_mvc.mak \
|
||||||
nsis/gvim.nsi \
|
nsis/gvim.nsi \
|
||||||
nsis/gvim_version.nsh \
|
nsis/gvim_version.nsh \
|
||||||
|
nsis/vimrc.ini \
|
||||||
nsis/README.txt \
|
nsis/README.txt \
|
||||||
uninstal.txt \
|
uninstal.txt \
|
||||||
src/VisVim/Commands.cpp \
|
src/VisVim/Commands.cpp \
|
||||||
@@ -579,6 +586,7 @@ RT_ALL = \
|
|||||||
runtime/doc/*.txt \
|
runtime/doc/*.txt \
|
||||||
runtime/doc/Makefile \
|
runtime/doc/Makefile \
|
||||||
runtime/doc/doctags.c \
|
runtime/doc/doctags.c \
|
||||||
|
runtime/doc/test_urls.vim \
|
||||||
runtime/doc/vim.1 \
|
runtime/doc/vim.1 \
|
||||||
runtime/doc/evim.1 \
|
runtime/doc/evim.1 \
|
||||||
runtime/doc/vimdiff.1 \
|
runtime/doc/vimdiff.1 \
|
||||||
@@ -638,6 +646,7 @@ RT_ALL = \
|
|||||||
runtime/pack/dist/opt/matchit/doc/tags \
|
runtime/pack/dist/opt/matchit/doc/tags \
|
||||||
runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim \
|
runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim \
|
||||||
runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim \
|
runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim \
|
||||||
|
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim \
|
||||||
|
|
||||||
# runtime files for all distributions without CR-NL translation
|
# runtime files for all distributions without CR-NL translation
|
||||||
RT_ALL_BIN = \
|
RT_ALL_BIN = \
|
||||||
@@ -655,9 +664,11 @@ RT_SCRIPTS = \
|
|||||||
runtime/makemenu.vim \
|
runtime/makemenu.vim \
|
||||||
runtime/autoload/*.vim \
|
runtime/autoload/*.vim \
|
||||||
runtime/autoload/README.txt \
|
runtime/autoload/README.txt \
|
||||||
|
runtime/autoload/dist/*.vim \
|
||||||
runtime/autoload/xml/*.vim \
|
runtime/autoload/xml/*.vim \
|
||||||
runtime/colors/*.vim \
|
runtime/colors/*.vim \
|
||||||
runtime/colors/README.txt \
|
runtime/colors/README.txt \
|
||||||
|
runtime/colors/tools/*.vim \
|
||||||
runtime/compiler/*.vim \
|
runtime/compiler/*.vim \
|
||||||
runtime/compiler/README.txt \
|
runtime/compiler/README.txt \
|
||||||
runtime/indent/*.vim \
|
runtime/indent/*.vim \
|
||||||
|
|||||||
53
Makefile
53
Makefile
@@ -120,28 +120,28 @@ MINOR = 0
|
|||||||
#
|
#
|
||||||
# MS-Windows:
|
# MS-Windows:
|
||||||
# - Run make on Unix to update the ".mo" files.
|
# - Run make on Unix to update the ".mo" files.
|
||||||
# - Get libintl-8.dll, libiconv-2.dll and libgcc_s_sjlj-1.dll. E.g. from
|
# - Get 32 bit libintl-8.dll, libiconv-2.dll and libgcc_s_sjlj-1.dll. E.g. from
|
||||||
# https://mlocati.github.io/gettext-iconv-windows/ .
|
# https://mlocati.github.io/gettext-iconv-windows/ .
|
||||||
# Use the "shared-32.zip file and extract the archive to get the files.
|
# Use the "shared-32.zip file and extract the archive to get the files.
|
||||||
# Put them in the top directory, "make dosrt" uses them.
|
# Put them in the gettext32 directory, "make dosrt" uses them.
|
||||||
|
# - Get 64 bit libintl-8.dll and libiconv-2.dll. E.g. from
|
||||||
|
# https://mlocati.github.io/gettext-iconv-windows/ .
|
||||||
|
# Use the "shared-64.zip file and extract the archive to get the files.
|
||||||
|
# Put them in the gettext64 directory, "make dosrt" uses them.
|
||||||
# - > make dossrc
|
# - > make dossrc
|
||||||
# > make dosrt
|
# > make dosrt
|
||||||
# Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
|
# Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
|
||||||
|
# This creates the directory vim/vim80 and puts all files in there.
|
||||||
# Win32 console version build:
|
# Win32 console version build:
|
||||||
# - Set environment for Visual C++ 2008, e.g.:
|
# - See src/INSTALLpc.txt for installing the compiler and SDK.
|
||||||
# > src/msvc2008.bat
|
# - Set environment for Visual C++ 2015:
|
||||||
# Or:
|
# > cd src
|
||||||
# > C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat
|
# > msvc2015.bat
|
||||||
# Or, when using the Visual C++ Toolkit 2003: "msvcsetup.bat" (adjust the
|
# - Build the console binary:
|
||||||
# paths when necessary).
|
|
||||||
# For Windows 98/ME the 2003 version is required, but then the executable
|
|
||||||
# won't work on Windows 7 and 64 bit systems.
|
|
||||||
# - > cd src
|
|
||||||
# > nmake -f Make_mvc.mak
|
# > nmake -f Make_mvc.mak
|
||||||
# - Run the tests:
|
# - Run the tests and check the ouput:
|
||||||
# > nmake -f Make_mvc.mak testclean
|
# > nmake -f Make_mvc.mak testclean
|
||||||
# > nmake -f Make_mvc.mak test
|
# > nmake -f Make_mvc.mak test
|
||||||
# - check the output.
|
|
||||||
# - Rename (using ../tools/rename.bat):
|
# - Rename (using ../tools/rename.bat):
|
||||||
# vim.exe to vimw32.exe
|
# vim.exe to vimw32.exe
|
||||||
# tee/tee.exe to teew32.exe
|
# tee/tee.exe to teew32.exe
|
||||||
@@ -152,19 +152,18 @@ MINOR = 0
|
|||||||
# Win32 GUI version build:
|
# Win32 GUI version build:
|
||||||
# - > cd src
|
# - > cd src
|
||||||
# > nmake -f Make_mvc.mak GUI=yes
|
# > nmake -f Make_mvc.mak GUI=yes
|
||||||
# - Run the tests:
|
# - Run the tests and check the output:
|
||||||
# > nmake -f Make_mvc.mak testclean
|
# > nmake -f Make_mvc.mak testclean
|
||||||
# > nmake -f Make_mvc.mak testgvim
|
# > nmake -f Make_mvc.mak testgvim
|
||||||
# - check the output.
|
|
||||||
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
|
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
|
||||||
# - Move gvim.pdb to here.
|
# - Move gvim.pdb to here.
|
||||||
# - Copy "GvimExt/gvimext.dll" to here.
|
# - Copy "GvimExt/gvimext.dll" to here.
|
||||||
# - Delete vimrun.exe, install.exe and uninstal.exe.
|
# - Delete vimrun.exe, install.exe and uninstal.exe.
|
||||||
# Win32 GUI version with OLE, PERL, Ruby, TCL, PYTHON and dynamic IME:
|
# Win32 GUI version with OLE, PERL, Ruby, TCL, PYTHON and dynamic IME:
|
||||||
# - Install the interfaces you want, see src/INSTALLpc.txt
|
# - Install the interfaces you want, see src/INSTALLpc.txt
|
||||||
|
# Adjust bigvim.bat to match the version of each interface you want.
|
||||||
# - Build:
|
# - Build:
|
||||||
# > cd src
|
# > cd src
|
||||||
# Adjust bigvim.bat to match the version of each interface you want.
|
|
||||||
# > bigvim.bat
|
# > bigvim.bat
|
||||||
# - Run the tests:
|
# - Run the tests:
|
||||||
# > nmake -f Make_mvc.mak testclean
|
# > nmake -f Make_mvc.mak testclean
|
||||||
@@ -188,10 +187,11 @@ MINOR = 0
|
|||||||
# gvimext64.dll in src/GvimExt
|
# gvimext64.dll in src/GvimExt
|
||||||
# VisVim.dll in src/VisVim
|
# VisVim.dll in src/VisVim
|
||||||
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
|
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
|
||||||
# gvimext64.dll can be obtained from http://code.google.com/p/vim-win3264/
|
# gvimext64.dll can be obtained from:
|
||||||
# It is part of vim72.zip as vim72/gvimext.dll.
|
# https://github.com/vim/vim-win32-installer/releases
|
||||||
|
# It is part of gvim_8.0.*_x64.zip as vim/vim80/GvimExt/gvimext64.dll.
|
||||||
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
|
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
|
||||||
# version).
|
# version). Also put winpty32.dll and winpty-agent.exe there.
|
||||||
# - go to ../nsis and do:
|
# - go to ../nsis and do:
|
||||||
# > makensis gvim.nsi (takes a few minutes).
|
# > makensis gvim.nsi (takes a few minutes).
|
||||||
# ignore warning for libwinpthread-1.dll
|
# ignore warning for libwinpthread-1.dll
|
||||||
@@ -467,9 +467,13 @@ dosrt_files: dist prepare no_title.vim
|
|||||||
cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
|
cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
|
||||||
fi \
|
fi \
|
||||||
done
|
done
|
||||||
cp libintl-8.dll dist/vim/$(VIMRTDIR)/
|
mkdir dist/vim/$(VIMRTDIR)/gettext32
|
||||||
cp libiconv-2.dll dist/vim/$(VIMRTDIR)/
|
cp gettext32/libintl-8.dll dist/vim/$(VIMRTDIR)/gettext32/
|
||||||
cp libgcc_s_sjlj-1.dll dist/vim/$(VIMRTDIR)/
|
cp gettext32/libiconv-2.dll dist/vim/$(VIMRTDIR)/gettext32/
|
||||||
|
cp gettext32/libgcc_s_sjlj-1.dll dist/vim/$(VIMRTDIR)/gettext32/
|
||||||
|
mkdir dist/vim/$(VIMRTDIR)/gettext64
|
||||||
|
cp gettext64/libintl-8.dll dist/vim/$(VIMRTDIR)/gettext64/
|
||||||
|
cp gettext64/libiconv-2.dll dist/vim/$(VIMRTDIR)/gettext64/
|
||||||
|
|
||||||
|
|
||||||
# Used before uploading. Don't delete the AAPDIR/sign files!
|
# Used before uploading. Don't delete the AAPDIR/sign files!
|
||||||
@@ -496,7 +500,10 @@ dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
|
|||||||
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
|
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
|
||||||
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
|
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
|
||||||
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
|
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
|
||||||
cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
|
mkdir dist/vim/$(VIMRTDIR)/GvimExt32
|
||||||
|
cp gvimext.dll dist/vim/$(VIMRTDIR)/GvimExt32/gvimext.dll
|
||||||
|
mkdir dist/vim/$(VIMRTDIR)/GvimExt64
|
||||||
|
cp gvimext64.dll dist/vim/$(VIMRTDIR)/GvimExt64/gvimext.dll
|
||||||
cd dist && zip -9 -rD -z gvim$(VERSION).zip vim <$(COMMENT_GVIM)
|
cd dist && zip -9 -rD -z gvim$(VERSION).zip vim <$(COMMENT_GVIM)
|
||||||
cp gvim.pdb dist/gvim$(VERSION).pdb
|
cp gvim.pdb dist/gvim$(VERSION).pdb
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
`README.md` for version 8.0 of Vim: Vi IMproved.
|
`README.md` for version 8.0 of Vim: Vi IMproved.
|
||||||
|
|
||||||
[](https://travis-ci.org/vim/vim)
|
[](https://travis-ci.org/vim/vim)
|
||||||
[](https://codecov.io/gh/vim/vim?branch=master)
|
[](https://codecov.io/gh/vim/vim?branch=master)
|
||||||
[](https://coveralls.io/github/vim/vim?branch=master)
|
[](https://coveralls.io/github/vim/vim?branch=master)
|
||||||
[](https://ci.appveyor.com/project/chrisbra/vim)
|
[](https://ci.appveyor.com/project/chrisbra/vim)
|
||||||
[](https://scan.coverity.com/projects/vim)
|
[](https://scan.coverity.com/projects/vim)
|
||||||
|
[](https://buildd.debian.org/vim)
|
||||||
|
|
||||||
|
|
||||||
## What is Vim? ##
|
## What is Vim? ##
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ matrix:
|
|||||||
|
|
||||||
before_build:
|
before_build:
|
||||||
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
|
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
|
||||||
|
- 'set INCLUDE=%INCLUDE%C:\Program Files (x86)\Windows Kits\8.1\Include\um'
|
||||||
|
|
||||||
build_script:
|
build_script:
|
||||||
- src/appveyor.bat
|
- src/appveyor.bat
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
This builds a one-click install for Vim for Win32 using the Nullsoft
|
This builds a one-click install for Vim for Win32 using the Nullsoft
|
||||||
Installation System (NSIS), available at http://www.nullsoft.com/free/nsis/
|
Installation System (NSIS), available at http://nsis.sourceforge.net/
|
||||||
|
|
||||||
To build the installable .exe:
|
To build the installable .exe:
|
||||||
|
|
||||||
@@ -17,8 +17,14 @@ To build the installable .exe:
|
|||||||
uninstal.exe,
|
uninstal.exe,
|
||||||
xxd/xxd.exe,
|
xxd/xxd.exe,
|
||||||
|
|
||||||
|
Then execute tools/rename.bat to rename the executables. (mv command is
|
||||||
|
required.)
|
||||||
|
|
||||||
3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
|
3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
|
||||||
archive).
|
archive). Both 64- and 32-bit versions are needed and should be placed
|
||||||
|
as follows:
|
||||||
|
64-bit: src/GvimExt/gvimext64.dll
|
||||||
|
32-bit: src/GvimExt/gvimext.dll
|
||||||
|
|
||||||
4. Go to the VisVim directory and build VisVim.dll (or get it from a binary
|
4. Go to the VisVim directory and build VisVim.dll (or get it from a binary
|
||||||
archive).
|
archive).
|
||||||
@@ -27,13 +33,35 @@ To build the installable .exe:
|
|||||||
get them from a binary archive).
|
get them from a binary archive).
|
||||||
|
|
||||||
6. Get a "diff.exe" program and put it in the "../.." directory (above the
|
6. Get a "diff.exe" program and put it in the "../.." directory (above the
|
||||||
"vim61" directory, it's the same for all Vim versions).
|
"vim80" directory, it's the same for all Vim versions).
|
||||||
You can find one in previous Vim versions or in this archive:
|
You can find one in previous Vim versions or in this archive:
|
||||||
http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
|
http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
|
||||||
|
Also put winpty32.dll and winpty-agent.exe there.
|
||||||
|
|
||||||
7. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
|
7. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
|
||||||
to do this on Unix. Make sure the file is in DOS file format!
|
to do this on Unix. Make sure the file is in DOS file format!
|
||||||
|
|
||||||
|
8. Get gettext and iconv DLLs from the following site:
|
||||||
|
https://github.com/mlocati/gettext-iconv-windows/releases
|
||||||
|
Both 64- and 32-bit versions are needed.
|
||||||
|
Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
|
||||||
|
DLLs and place them as follows:
|
||||||
|
|
||||||
|
<GETTEXT directory>
|
||||||
|
|
|
||||||
|
+ gettext32/
|
||||||
|
| libintl-8.dll
|
||||||
|
| libiconv-2.dll
|
||||||
|
| libgcc_s_sjlj-1.dll
|
||||||
|
|
|
||||||
|
` gettext64/
|
||||||
|
libintl-8.dll
|
||||||
|
libiconv-2.dll
|
||||||
|
|
||||||
|
The default <GETTEXT directory> is "..", however, you can change it by
|
||||||
|
passing /DGETTEXT=... option to the makensis command.
|
||||||
|
|
||||||
|
|
||||||
Install NSIS if you didn't do that already.
|
Install NSIS if you didn't do that already.
|
||||||
Also install UPX, if you want a compressed file.
|
Also install UPX, if you want a compressed file.
|
||||||
|
|
||||||
|
|||||||
149
nsis/gvim.nsi
149
nsis/gvim.nsi
@@ -20,8 +20,15 @@
|
|||||||
!define VIMTOOLS ..\..
|
!define VIMTOOLS ..\..
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
# Location of gettext.
|
||||||
|
# It must contain two directories: gettext32 and gettext64.
|
||||||
|
# See README.txt for detail.
|
||||||
|
!ifndef GETTEXT
|
||||||
|
!define GETTEXT ${VIMRT}
|
||||||
|
!endif
|
||||||
|
|
||||||
# Comment the next line if you don't have UPX.
|
# Comment the next line if you don't have UPX.
|
||||||
# Get it at http://upx.sourceforge.net
|
# Get it at https://upx.github.io/
|
||||||
!define HAVE_UPX
|
!define HAVE_UPX
|
||||||
|
|
||||||
# comment the next line if you do not want to add Native Language Support
|
# comment the next line if you do not want to add Native Language Support
|
||||||
@@ -76,11 +83,17 @@ SilentInstall normal
|
|||||||
# These are the pages we use
|
# These are the pages we use
|
||||||
Page license
|
Page license
|
||||||
Page components
|
Page components
|
||||||
|
Page custom SetCustom ValidateCustom ": _vimrc setting"
|
||||||
Page directory "" "" CheckInstallDir
|
Page directory "" "" CheckInstallDir
|
||||||
Page instfiles
|
Page instfiles
|
||||||
UninstPage uninstConfirm
|
UninstPage uninstConfirm
|
||||||
UninstPage instfiles
|
UninstPage instfiles
|
||||||
|
|
||||||
|
# Reserve files
|
||||||
|
# Needed for showing the _vimrc setting page faster.
|
||||||
|
ReserveFile /plugin InstallOptions.dll
|
||||||
|
ReserveFile vimrc.ini
|
||||||
|
|
||||||
##########################################################
|
##########################################################
|
||||||
# Functions
|
# Functions
|
||||||
|
|
||||||
@@ -128,6 +141,10 @@ Function .onInit
|
|||||||
StrCpy $1 "-register-OLE"
|
StrCpy $1 "-register-OLE"
|
||||||
StrCpy $2 "gvim evim gview gvimdiff vimtutor"
|
StrCpy $2 "gvim evim gview gvimdiff vimtutor"
|
||||||
|
|
||||||
|
# Extract InstallOptions files
|
||||||
|
# $PLUGINSDIR will automatically be removed when the installer closes
|
||||||
|
InitPluginsDir
|
||||||
|
File /oname=$PLUGINSDIR\vimrc.ini "vimrc.ini"
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
Function .onUserAbort
|
Function .onUserAbort
|
||||||
@@ -179,7 +196,7 @@ FunctionEnd
|
|||||||
|
|
||||||
##########################################################
|
##########################################################
|
||||||
Section "Vim executables and runtime files"
|
Section "Vim executables and runtime files"
|
||||||
SectionIn 1 2 3
|
SectionIn 1 2 3 RO
|
||||||
|
|
||||||
# we need also this here if the user changes the instdir
|
# we need also this here if the user changes the instdir
|
||||||
StrCpy $0 "$INSTDIR\vim${VER_MAJOR}${VER_MINOR}"
|
StrCpy $0 "$INSTDIR\vim${VER_MAJOR}${VER_MINOR}"
|
||||||
@@ -219,6 +236,14 @@ Section "Vim executables and runtime files"
|
|||||||
|
|
||||||
SetOutPath $0\macros
|
SetOutPath $0\macros
|
||||||
File ${VIMRT}\macros\*.*
|
File ${VIMRT}\macros\*.*
|
||||||
|
SetOutPath $0\macros\hanoi
|
||||||
|
File ${VIMRT}\macros\hanoi\*.*
|
||||||
|
SetOutPath $0\macros\life
|
||||||
|
File ${VIMRT}\macros\life\*.*
|
||||||
|
SetOutPath $0\macros\maze
|
||||||
|
File ${VIMRT}\macros\maze\*.*
|
||||||
|
SetOutPath $0\macros\urm
|
||||||
|
File ${VIMRT}\macros\urm\*.*
|
||||||
|
|
||||||
SetOutPath $0\pack\dist\opt\dvorak\dvorak
|
SetOutPath $0\pack\dist\opt\dvorak\dvorak
|
||||||
File ${VIMRT}\pack\dist\opt\dvorak\dvorak\*.*
|
File ${VIMRT}\pack\dist\opt\dvorak\dvorak\*.*
|
||||||
@@ -248,6 +273,9 @@ Section "Vim executables and runtime files"
|
|||||||
SetOutPath $0\autoload
|
SetOutPath $0\autoload
|
||||||
File ${VIMRT}\autoload\*.*
|
File ${VIMRT}\autoload\*.*
|
||||||
|
|
||||||
|
SetOutPath $0\autoload\dist
|
||||||
|
File ${VIMRT}\autoload\dist\*.*
|
||||||
|
|
||||||
SetOutPath $0\autoload\xml
|
SetOutPath $0\autoload\xml
|
||||||
File ${VIMRT}\autoload\xml\*.*
|
File ${VIMRT}\autoload\xml\*.*
|
||||||
|
|
||||||
@@ -320,24 +348,67 @@ Section "Add an Edit-with-Vim context menu entry"
|
|||||||
SetOutPath $0
|
SetOutPath $0
|
||||||
ClearErrors
|
ClearErrors
|
||||||
SetOverwrite try
|
SetOverwrite try
|
||||||
|
|
||||||
${If} ${RunningX64}
|
${If} ${RunningX64}
|
||||||
|
# Install 64-bit gvimext.dll into the GvimExt64 directory.
|
||||||
|
SetOutPath $0\GvimExt64
|
||||||
|
ClearErrors
|
||||||
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext64.dll
|
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext64.dll
|
||||||
${Else}
|
!ifdef HAVE_NLS
|
||||||
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
|
File ${GETTEXT}\gettext64\libintl-8.dll
|
||||||
|
File ${GETTEXT}\gettext64\libiconv-2.dll
|
||||||
|
!endif
|
||||||
|
|
||||||
|
IfErrors 0 GvimExt64Done
|
||||||
|
|
||||||
|
# Can't copy gvimext.dll, create it under another name and rename it
|
||||||
|
# on next reboot.
|
||||||
|
GetTempFileName $3 $0\GvimExt64
|
||||||
|
File /oname=$3 ${VIMSRC}\GvimExt\gvimext64.dll
|
||||||
|
Rename /REBOOTOK $3 $0\GvimExt64\gvimext.dll
|
||||||
|
!ifdef HAVE_NLS
|
||||||
|
GetTempFileName $3 $0\GvimExt64
|
||||||
|
File /oname=$3 ${GETTEXT}\gettext64\libintl-8.dll
|
||||||
|
Rename /REBOOTOK $3 $0\GvimExt64\libintl-8.dll
|
||||||
|
GetTempFileName $3 $0\GvimExt64
|
||||||
|
File /oname=$3 ${GETTEXT}\gettext64\libiconv-2.dll
|
||||||
|
Rename /REBOOTOK $3 $0\GvimExt64\libiconv-2.dll
|
||||||
|
!endif
|
||||||
${EndIf}
|
${EndIf}
|
||||||
IfErrors 0 GvimExtDone
|
|
||||||
|
GvimExt64Done:
|
||||||
|
|
||||||
|
# Install 32-bit gvimext.dll into the GvimExt32 directory.
|
||||||
|
SetOutPath $0\GvimExt32
|
||||||
|
ClearErrors
|
||||||
|
|
||||||
|
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
|
||||||
|
!ifdef HAVE_NLS
|
||||||
|
File ${GETTEXT}\gettext32\libintl-8.dll
|
||||||
|
File ${GETTEXT}\gettext32\libiconv-2.dll
|
||||||
|
File ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
|
||||||
|
!endif
|
||||||
|
|
||||||
|
IfErrors 0 GvimExt32Done
|
||||||
|
|
||||||
# Can't copy gvimext.dll, create it under another name and rename it on
|
# Can't copy gvimext.dll, create it under another name and rename it on
|
||||||
# next reboot.
|
# next reboot.
|
||||||
GetTempFileName $3 $0
|
GetTempFileName $3 $0\GvimExt32
|
||||||
${If} ${RunningX64}
|
File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
|
||||||
File /oname=$3 ${VIMSRC}\GvimExt\gvimext64.dll
|
Rename /REBOOTOK $3 $0\GvimExt32\gvimext.dll
|
||||||
${Else}
|
!ifdef HAVE_NLS
|
||||||
File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
|
GetTempFileName $3 $0\GvimExt32
|
||||||
${EndIf}
|
File /oname=$3 ${GETTEXT}\gettext32\libintl-8.dll
|
||||||
Rename /REBOOTOK $3 $0\gvimext.dll
|
Rename /REBOOTOK $3 $0\GvimExt32\libintl-8.dll
|
||||||
|
GetTempFileName $3 $0\GvimExt32
|
||||||
|
File /oname=$3 ${GETTEXT}\gettext32\libiconv-2.dll
|
||||||
|
Rename /REBOOTOK $3 $0\GvimExt32\libiconv-2.dll
|
||||||
|
GetTempFileName $3 $0\GvimExt32
|
||||||
|
File /oname=$3 ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
|
||||||
|
Rename /REBOOTOK $3 $0\GvimExt32\libgcc_s_sjlj-1.dll
|
||||||
|
!endif
|
||||||
|
|
||||||
GvimExtDone:
|
GvimExt32Done:
|
||||||
SetOverwrite lastused
|
SetOverwrite lastused
|
||||||
|
|
||||||
# We don't have a separate entry for the "Open With..." menu, assume
|
# We don't have a separate entry for the "Open With..." menu, assume
|
||||||
@@ -346,7 +417,7 @@ Section "Add an Edit-with-Vim context menu entry"
|
|||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
##########################################################
|
##########################################################
|
||||||
Section "Create a _vimrc if it doesn't exist"
|
Section "Create a _vimrc if it doesn't exist" sec_vimrc_id
|
||||||
SectionIn 1 3
|
SectionIn 1 3
|
||||||
|
|
||||||
StrCpy $1 "$1 -create-vimrc"
|
StrCpy $1 "$1 -create-vimrc"
|
||||||
@@ -386,10 +457,10 @@ SectionEnd
|
|||||||
File ${VIMRT}\keymap\README.txt
|
File ${VIMRT}\keymap\README.txt
|
||||||
File ${VIMRT}\keymap\*.vim
|
File ${VIMRT}\keymap\*.vim
|
||||||
SetOutPath $0
|
SetOutPath $0
|
||||||
File ${VIMRT}\libintl-8.dll
|
File ${GETTEXT}\gettext32\libintl-8.dll
|
||||||
File ${VIMRT}\libiconv-2.dll
|
File ${GETTEXT}\gettext32\libiconv-2.dll
|
||||||
File /nonfatal ${VIMRT}\libwinpthread-1.dll
|
#File /nonfatal ${VIMRT}\libwinpthread-1.dll
|
||||||
File /nonfatal ${VIMRT}\libgcc_s_sjlj-1.dll
|
File /nonfatal ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
|
||||||
SectionEnd
|
SectionEnd
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
@@ -404,6 +475,43 @@ Section -post
|
|||||||
BringToFront
|
BringToFront
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
|
##########################################################
|
||||||
|
Function SetCustom
|
||||||
|
# Display the InstallOptions dialog
|
||||||
|
|
||||||
|
# Check if a _vimrc should be created
|
||||||
|
SectionGetFlags ${sec_vimrc_id} $3
|
||||||
|
IntOp $3 $3 & 1
|
||||||
|
StrCmp $3 "1" +2 0
|
||||||
|
Abort
|
||||||
|
|
||||||
|
InstallOptions::dialog "$PLUGINSDIR\vimrc.ini"
|
||||||
|
Pop $3
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
|
Function ValidateCustom
|
||||||
|
ReadINIStr $3 "$PLUGINSDIR\vimrc.ini" "Field 2" "State"
|
||||||
|
StrCmp $3 "1" 0 +3
|
||||||
|
StrCpy $1 "$1 -vimrc-remap no"
|
||||||
|
Goto behave
|
||||||
|
|
||||||
|
StrCpy $1 "$1 -vimrc-remap win"
|
||||||
|
|
||||||
|
behave:
|
||||||
|
ReadINIStr $3 "$PLUGINSDIR\vimrc.ini" "Field 5" "State"
|
||||||
|
StrCmp $3 "1" 0 +3
|
||||||
|
StrCpy $1 "$1 -vimrc-behave unix"
|
||||||
|
Goto done
|
||||||
|
|
||||||
|
ReadINIStr $3 "$PLUGINSDIR\vimrc.ini" "Field 6" "State"
|
||||||
|
StrCmp $3 "1" 0 +3
|
||||||
|
StrCpy $1 "$1 -vimrc-behave mswin"
|
||||||
|
Goto done
|
||||||
|
|
||||||
|
StrCpy $1 "$1 -vimrc-behave default"
|
||||||
|
done:
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
##########################################################
|
##########################################################
|
||||||
Section Uninstall
|
Section Uninstall
|
||||||
# Apparently $INSTDIR is set to the directory where the uninstaller is
|
# Apparently $INSTDIR is set to the directory where the uninstaller is
|
||||||
@@ -429,6 +537,11 @@ Section Uninstall
|
|||||||
$\nIt contains the Vim executables and runtime files." IDNO NoRemoveExes
|
$\nIt contains the Vim executables and runtime files." IDNO NoRemoveExes
|
||||||
|
|
||||||
Delete /REBOOTOK $0\*.dll
|
Delete /REBOOTOK $0\*.dll
|
||||||
|
Delete /REBOOTOK $0\GvimExt32\*.dll
|
||||||
|
${If} ${RunningX64}
|
||||||
|
Delete /REBOOTOK $0\GvimExt64\*.dll
|
||||||
|
${EndIf}
|
||||||
|
|
||||||
ClearErrors
|
ClearErrors
|
||||||
# Remove everything but *.dll files. Avoids that
|
# Remove everything but *.dll files. Avoids that
|
||||||
# a lot remains when gvimext.dll cannot be deleted.
|
# a lot remains when gvimext.dll cannot be deleted.
|
||||||
|
|||||||
68
nsis/vimrc.ini
Normal file
68
nsis/vimrc.ini
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
[Settings]
|
||||||
|
NumFields=7
|
||||||
|
|
||||||
|
[Field 1]
|
||||||
|
Type=GroupBox
|
||||||
|
Left=0
|
||||||
|
Right=-1
|
||||||
|
Top=0
|
||||||
|
Bottom=53
|
||||||
|
Text=" Key remapping "
|
||||||
|
|
||||||
|
[Field 2]
|
||||||
|
Type=radiobutton
|
||||||
|
Text=Do not remap keys for Windows behavior (Default)
|
||||||
|
Left=10
|
||||||
|
Right=-10
|
||||||
|
Top=17
|
||||||
|
Bottom=25
|
||||||
|
State=1
|
||||||
|
Flags=GROUP
|
||||||
|
|
||||||
|
[Field 3]
|
||||||
|
Type=radiobutton
|
||||||
|
Text=Remap a few keys for Windows behavior (<C-V>, <C-C>, <C-A>, <C-S>, <C-F>, etc)
|
||||||
|
Left=10
|
||||||
|
Right=-10
|
||||||
|
Top=30
|
||||||
|
Bottom=47
|
||||||
|
State=0
|
||||||
|
Flags=NOTABSTOP
|
||||||
|
|
||||||
|
[Field 4]
|
||||||
|
Type=GroupBox
|
||||||
|
Left=0
|
||||||
|
Right=-1
|
||||||
|
Top=55
|
||||||
|
Bottom=-5
|
||||||
|
Text=" Mouse behavior "
|
||||||
|
|
||||||
|
[Field 5]
|
||||||
|
Type=radiobutton
|
||||||
|
Text=Right button extends selection, left button starts visual mode (Unix)
|
||||||
|
Left=10
|
||||||
|
Right=-5
|
||||||
|
Top=72
|
||||||
|
Bottom=80
|
||||||
|
State=0
|
||||||
|
Flags=GROUP
|
||||||
|
|
||||||
|
[Field 6]
|
||||||
|
Type=radiobutton
|
||||||
|
Text=Right button has a popup menu, left button starts select mode (Windows)
|
||||||
|
Left=10
|
||||||
|
Right=-5
|
||||||
|
Top=85
|
||||||
|
Bottom=93
|
||||||
|
State=0
|
||||||
|
Flags=NOTABSTOP
|
||||||
|
|
||||||
|
[Field 7]
|
||||||
|
Type=radiobutton
|
||||||
|
Text=Right button has a popup menu, left button starts visual mode (Default)
|
||||||
|
Left=10
|
||||||
|
Right=-5
|
||||||
|
Top=98
|
||||||
|
Bottom=106
|
||||||
|
State=1
|
||||||
|
Flags=NOTABSTOP
|
||||||
@@ -591,7 +591,7 @@ function ada#Map_Menu (Text, Keys, Command)
|
|||||||
\" :" . a:Command
|
\" :" . a:Command
|
||||||
execute
|
execute
|
||||||
\ "inoremap <buffer>" .
|
\ "inoremap <buffer>" .
|
||||||
\ " <Learder>a" . a:Keys .
|
\ " <Leader>a" . a:Keys .
|
||||||
\" <C-O>:" . a:Command
|
\" <C-O>:" . a:Command
|
||||||
endif
|
endif
|
||||||
return
|
return
|
||||||
|
|||||||
745
runtime/autoload/dist/ft.vim
vendored
Normal file
745
runtime/autoload/dist/ft.vim
vendored
Normal file
@@ -0,0 +1,745 @@
|
|||||||
|
" Vim functions for file type detection
|
||||||
|
"
|
||||||
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
|
" Last Change: 2017 Dec 05
|
||||||
|
|
||||||
|
" These functions are moved here from runtime/filetype.vim to make startup
|
||||||
|
" faster.
|
||||||
|
|
||||||
|
" Line continuation is used here, remove 'C' from 'cpoptions'
|
||||||
|
let s:cpo_save = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
func dist#ft#Check_inp()
|
||||||
|
if getline(1) =~ '^\*'
|
||||||
|
setf abaqus
|
||||||
|
else
|
||||||
|
let n = 1
|
||||||
|
if line("$") > 500
|
||||||
|
let nmax = 500
|
||||||
|
else
|
||||||
|
let nmax = line("$")
|
||||||
|
endif
|
||||||
|
while n <= nmax
|
||||||
|
if getline(n) =~? "^header surface data"
|
||||||
|
setf trasys
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" This function checks for the kind of assembly that is wanted by the user, or
|
||||||
|
" can be detected from the first five lines of the file.
|
||||||
|
func dist#ft#FTasm()
|
||||||
|
" make sure b:asmsyntax exists
|
||||||
|
if !exists("b:asmsyntax")
|
||||||
|
let b:asmsyntax = ""
|
||||||
|
endif
|
||||||
|
|
||||||
|
if b:asmsyntax == ""
|
||||||
|
call dist#ft#FTasmsyntax()
|
||||||
|
endif
|
||||||
|
|
||||||
|
" if b:asmsyntax still isn't set, default to asmsyntax or GNU
|
||||||
|
if b:asmsyntax == ""
|
||||||
|
if exists("g:asmsyntax")
|
||||||
|
let b:asmsyntax = g:asmsyntax
|
||||||
|
else
|
||||||
|
let b:asmsyntax = "asm"
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
exe "setf " . fnameescape(b:asmsyntax)
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTasmsyntax()
|
||||||
|
" see if file contains any asmsyntax=foo overrides. If so, change
|
||||||
|
" b:asmsyntax appropriately
|
||||||
|
let head = " ".getline(1)." ".getline(2)." ".getline(3)." ".getline(4).
|
||||||
|
\" ".getline(5)." "
|
||||||
|
let match = matchstr(head, '\sasmsyntax=\zs[a-zA-Z0-9]\+\ze\s')
|
||||||
|
if match != ''
|
||||||
|
let b:asmsyntax = match
|
||||||
|
elseif ((head =~? '\.title') || (head =~? '\.ident') || (head =~? '\.macro') || (head =~? '\.subtitle') || (head =~? '\.library'))
|
||||||
|
let b:asmsyntax = "vmasm"
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Check if one of the first five lines contains "VB_Name". In that case it is
|
||||||
|
" probably a Visual Basic file. Otherwise it's assumed to be "alt" filetype.
|
||||||
|
func dist#ft#FTVB(alt)
|
||||||
|
if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'VB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)'
|
||||||
|
setf vb
|
||||||
|
else
|
||||||
|
exe "setf " . a:alt
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTbtm()
|
||||||
|
if exists("g:dosbatch_syntax_for_btm") && g:dosbatch_syntax_for_btm
|
||||||
|
setf dosbatch
|
||||||
|
else
|
||||||
|
setf btm
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#BindzoneCheck(default)
|
||||||
|
if getline(1).getline(2).getline(3).getline(4) =~ '^; <<>> DiG [0-9.]\+.* <<>>\|$ORIGIN\|$TTL\|IN\s\+SOA'
|
||||||
|
setf bindzone
|
||||||
|
elseif a:default != ''
|
||||||
|
exe 'setf ' . a:default
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTlpc()
|
||||||
|
if exists("g:lpc_syntax_for_c")
|
||||||
|
let lnum = 1
|
||||||
|
while lnum <= 12
|
||||||
|
if getline(lnum) =~# '^\(//\|inherit\|private\|protected\|nosave\|string\|object\|mapping\|mixed\)'
|
||||||
|
setf lpc
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let lnum = lnum + 1
|
||||||
|
endwhile
|
||||||
|
endif
|
||||||
|
setf c
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTheader()
|
||||||
|
if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1
|
||||||
|
if exists("g:c_syntax_for_h")
|
||||||
|
setf objc
|
||||||
|
else
|
||||||
|
setf objcpp
|
||||||
|
endif
|
||||||
|
elseif exists("g:c_syntax_for_h")
|
||||||
|
setf c
|
||||||
|
elseif exists("g:ch_syntax_for_h")
|
||||||
|
setf ch
|
||||||
|
else
|
||||||
|
setf cpp
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" This function checks if one of the first ten lines start with a '@'. In
|
||||||
|
" that case it is probably a change file.
|
||||||
|
" If the first line starts with # or ! it's probably a ch file.
|
||||||
|
" If a line has "main", "include", "//" ir "/*" it's probably ch.
|
||||||
|
" Otherwise CHILL is assumed.
|
||||||
|
func dist#ft#FTchange()
|
||||||
|
let lnum = 1
|
||||||
|
while lnum <= 10
|
||||||
|
if getline(lnum)[0] == '@'
|
||||||
|
setf change
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if lnum == 1 && (getline(1)[0] == '#' || getline(1)[0] == '!')
|
||||||
|
setf ch
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if getline(lnum) =~ "MODULE"
|
||||||
|
setf chill
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if getline(lnum) =~ 'main\s*(\|#\s*include\|//'
|
||||||
|
setf ch
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let lnum = lnum + 1
|
||||||
|
endwhile
|
||||||
|
setf chill
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTent()
|
||||||
|
" This function checks for valid cl syntax in the first five lines.
|
||||||
|
" Look for either an opening comment, '#', or a block start, '{".
|
||||||
|
" If not found, assume SGML.
|
||||||
|
let lnum = 1
|
||||||
|
while lnum < 6
|
||||||
|
let line = getline(lnum)
|
||||||
|
if line =~ '^\s*[#{]'
|
||||||
|
setf cl
|
||||||
|
return
|
||||||
|
elseif line !~ '^\s*$'
|
||||||
|
" Not a blank line, not a comment, and not a block start,
|
||||||
|
" so doesn't look like valid cl code.
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let lnum = lnum + 1
|
||||||
|
endw
|
||||||
|
setf dtd
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#EuphoriaCheck()
|
||||||
|
if exists('g:filetype_euphoria')
|
||||||
|
exe 'setf ' . g:filetype_euphoria
|
||||||
|
else
|
||||||
|
setf euphoria3
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#DtraceCheck()
|
||||||
|
let lines = getline(1, min([line("$"), 100]))
|
||||||
|
if match(lines, '^module\>\|^import\>') > -1
|
||||||
|
" D files often start with a module and/or import statement.
|
||||||
|
setf d
|
||||||
|
elseif match(lines, '^#!\S\+dtrace\|#pragma\s\+D\s\+option\|:\S\{-}:\S\{-}:') > -1
|
||||||
|
setf dtrace
|
||||||
|
else
|
||||||
|
setf d
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTe()
|
||||||
|
if exists('g:filetype_euphoria')
|
||||||
|
exe 'setf ' . g:filetype_euphoria
|
||||||
|
else
|
||||||
|
let n = 1
|
||||||
|
while n < 100 && n < line("$")
|
||||||
|
if getline(n) =~ "^\\s*\\(<'\\|'>\\)\\s*$"
|
||||||
|
setf specman
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
setf eiffel
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Distinguish between HTML, XHTML and Django
|
||||||
|
func dist#ft#FThtml()
|
||||||
|
let n = 1
|
||||||
|
while n < 10 && n < line("$")
|
||||||
|
if getline(n) =~ '\<DTD\s\+XHTML\s'
|
||||||
|
setf xhtml
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if getline(n) =~ '{%\s*\(extends\|block\|load\)\>\|{#\s\+'
|
||||||
|
setf htmldjango
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
setf html
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Distinguish between standard IDL and MS-IDL
|
||||||
|
func dist#ft#FTidl()
|
||||||
|
let n = 1
|
||||||
|
while n < 50 && n < line("$")
|
||||||
|
if getline(n) =~ '^\s*import\s\+"\(unknwn\|objidl\)\.idl"'
|
||||||
|
setf msidl
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
setf idl
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Distinguish between "default" and Cproto prototype file. */
|
||||||
|
func dist#ft#ProtoCheck(default)
|
||||||
|
" Cproto files have a comment in the first line and a function prototype in
|
||||||
|
" the second line, it always ends in ";". Indent files may also have
|
||||||
|
" comments, thus we can't match comments to see the difference.
|
||||||
|
" IDL files can have a single ';' in the second line, require at least one
|
||||||
|
" chacter before the ';'.
|
||||||
|
if getline(2) =~ '.;$'
|
||||||
|
setf cpp
|
||||||
|
else
|
||||||
|
exe 'setf ' . a:default
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTm()
|
||||||
|
let n = 1
|
||||||
|
let saw_comment = 0 " Whether we've seen a multiline comment leader.
|
||||||
|
while n < 100
|
||||||
|
let line = getline(n)
|
||||||
|
if line =~ '^\s*/\*'
|
||||||
|
" /* ... */ is a comment in Objective C and Murphi, so we can't conclude
|
||||||
|
" it's either of them yet, but track this as a hint in case we don't see
|
||||||
|
" anything more definitive.
|
||||||
|
let saw_comment = 1
|
||||||
|
endif
|
||||||
|
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|//\)'
|
||||||
|
setf objc
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if line =~ '^\s*%'
|
||||||
|
setf matlab
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if line =~ '^\s*(\*'
|
||||||
|
setf mma
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if line =~ '^\c\s*\(\(type\|var\)\>\|--\)'
|
||||||
|
setf murphi
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
if saw_comment
|
||||||
|
" We didn't see anything definitive, but this looks like either Objective C
|
||||||
|
" or Murphi based on the comment leader. Assume the former as it is more
|
||||||
|
" common.
|
||||||
|
setf objc
|
||||||
|
elseif exists("g:filetype_m")
|
||||||
|
" Use user specified default filetype for .m
|
||||||
|
exe "setf " . g:filetype_m
|
||||||
|
else
|
||||||
|
" Default is matlab
|
||||||
|
setf matlab
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTmms()
|
||||||
|
let n = 1
|
||||||
|
while n < 10
|
||||||
|
let line = getline(n)
|
||||||
|
if line =~ '^\s*\(%\|//\)' || line =~ '^\*'
|
||||||
|
setf mmix
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if line =~ '^\s*#'
|
||||||
|
setf make
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
setf mmix
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" This function checks if one of the first five lines start with a dot. In
|
||||||
|
" that case it is probably an nroff file: 'filetype' is set and 1 is returned.
|
||||||
|
func dist#ft#FTnroff()
|
||||||
|
if getline(1)[0] . getline(2)[0] . getline(3)[0] . getline(4)[0] . getline(5)[0] =~ '\.'
|
||||||
|
setf nroff
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
return 0
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTmm()
|
||||||
|
let n = 1
|
||||||
|
while n < 10
|
||||||
|
let line = getline(n)
|
||||||
|
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|/\*\)'
|
||||||
|
setf objcpp
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
setf nroff
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTpl()
|
||||||
|
if exists("g:filetype_pl")
|
||||||
|
exe "setf " . g:filetype_pl
|
||||||
|
else
|
||||||
|
" recognize Prolog by specific text in the first non-empty line
|
||||||
|
" require a blank after the '%' because Perl uses "%list" and "%translate"
|
||||||
|
let l = getline(nextnonblank(1))
|
||||||
|
if l =~ '\<prolog\>' || l =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || l =~ ':-'
|
||||||
|
setf prolog
|
||||||
|
else
|
||||||
|
setf perl
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTinc()
|
||||||
|
if exists("g:filetype_inc")
|
||||||
|
exe "setf " . g:filetype_inc
|
||||||
|
else
|
||||||
|
let lines = getline(1).getline(2).getline(3)
|
||||||
|
if lines =~? "perlscript"
|
||||||
|
setf aspperl
|
||||||
|
elseif lines =~ "<%"
|
||||||
|
setf aspvbs
|
||||||
|
elseif lines =~ "<?"
|
||||||
|
setf php
|
||||||
|
else
|
||||||
|
call dist#ft#FTasmsyntax()
|
||||||
|
if exists("b:asmsyntax")
|
||||||
|
exe "setf " . fnameescape(b:asmsyntax)
|
||||||
|
else
|
||||||
|
setf pov
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTprogress_cweb()
|
||||||
|
if exists("g:filetype_w")
|
||||||
|
exe "setf " . g:filetype_w
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if getline(1) =~ '&ANALYZE' || getline(3) =~ '&GLOBAL-DEFINE'
|
||||||
|
setf progress
|
||||||
|
else
|
||||||
|
setf cweb
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTprogress_asm()
|
||||||
|
if exists("g:filetype_i")
|
||||||
|
exe "setf " . g:filetype_i
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
" This function checks for an assembly comment the first ten lines.
|
||||||
|
" If not found, assume Progress.
|
||||||
|
let lnum = 1
|
||||||
|
while lnum <= 10 && lnum < line('$')
|
||||||
|
let line = getline(lnum)
|
||||||
|
if line =~ '^\s*;' || line =~ '^\*'
|
||||||
|
call dist#ft#FTasm()
|
||||||
|
return
|
||||||
|
elseif line !~ '^\s*$' || line =~ '^/\*'
|
||||||
|
" Not an empty line: Doesn't look like valid assembly code.
|
||||||
|
" Or it looks like a Progress /* comment
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let lnum = lnum + 1
|
||||||
|
endw
|
||||||
|
setf progress
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTprogress_pascal()
|
||||||
|
if exists("g:filetype_p")
|
||||||
|
exe "setf " . g:filetype_p
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
" This function checks for valid Pascal syntax in the first ten lines.
|
||||||
|
" Look for either an opening comment or a program start.
|
||||||
|
" If not found, assume Progress.
|
||||||
|
let lnum = 1
|
||||||
|
while lnum <= 10 && lnum < line('$')
|
||||||
|
let line = getline(lnum)
|
||||||
|
if line =~ '^\s*\(program\|unit\|procedure\|function\|const\|type\|var\)\>'
|
||||||
|
\ || line =~ '^\s*{' || line =~ '^\s*(\*'
|
||||||
|
setf pascal
|
||||||
|
return
|
||||||
|
elseif line !~ '^\s*$' || line =~ '^/\*'
|
||||||
|
" Not an empty line: Doesn't look like valid Pascal code.
|
||||||
|
" Or it looks like a Progress /* comment
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let lnum = lnum + 1
|
||||||
|
endw
|
||||||
|
setf progress
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTr()
|
||||||
|
let max = line("$") > 50 ? 50 : line("$")
|
||||||
|
|
||||||
|
for n in range(1, max)
|
||||||
|
" Rebol is easy to recognize, check for that first
|
||||||
|
if getline(n) =~? '\<REBOL\>'
|
||||||
|
setf rebol
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
|
||||||
|
for n in range(1, max)
|
||||||
|
" R has # comments
|
||||||
|
if getline(n) =~ '^\s*#'
|
||||||
|
setf r
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
" Rexx has /* comments */
|
||||||
|
if getline(n) =~ '^\s*/\*'
|
||||||
|
setf rexx
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
|
||||||
|
" Nothing recognized, use user default or assume Rexx
|
||||||
|
if exists("g:filetype_r")
|
||||||
|
exe "setf " . g:filetype_r
|
||||||
|
else
|
||||||
|
" Rexx used to be the default, but R appears to be much more popular.
|
||||||
|
setf r
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#McSetf()
|
||||||
|
" Rely on the file to start with a comment.
|
||||||
|
" MS message text files use ';', Sendmail files use '#' or 'dnl'
|
||||||
|
for lnum in range(1, min([line("$"), 20]))
|
||||||
|
let line = getline(lnum)
|
||||||
|
if line =~ '^\s*\(#\|dnl\)'
|
||||||
|
setf m4 " Sendmail .mc file
|
||||||
|
return
|
||||||
|
elseif line =~ '^\s*;'
|
||||||
|
setf msmessages " MS Message text file
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
setf m4 " Default: Sendmail .mc file
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Called from filetype.vim and scripts.vim.
|
||||||
|
func dist#ft#SetFileTypeSH(name)
|
||||||
|
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if a:name =~ '\<csh\>'
|
||||||
|
" Some .sh scripts contain #!/bin/csh.
|
||||||
|
call dist#ft#SetFileTypeShell("csh")
|
||||||
|
return
|
||||||
|
elseif a:name =~ '\<tcsh\>'
|
||||||
|
" Some .sh scripts contain #!/bin/tcsh.
|
||||||
|
call dist#ft#SetFileTypeShell("tcsh")
|
||||||
|
return
|
||||||
|
elseif a:name =~ '\<zsh\>'
|
||||||
|
" Some .sh scripts contain #!/bin/zsh.
|
||||||
|
call dist#ft#SetFileTypeShell("zsh")
|
||||||
|
return
|
||||||
|
elseif a:name =~ '\<ksh\>'
|
||||||
|
let b:is_kornshell = 1
|
||||||
|
if exists("b:is_bash")
|
||||||
|
unlet b:is_bash
|
||||||
|
endif
|
||||||
|
if exists("b:is_sh")
|
||||||
|
unlet b:is_sh
|
||||||
|
endif
|
||||||
|
elseif exists("g:bash_is_sh") || a:name =~ '\<bash\>' || a:name =~ '\<bash2\>'
|
||||||
|
let b:is_bash = 1
|
||||||
|
if exists("b:is_kornshell")
|
||||||
|
unlet b:is_kornshell
|
||||||
|
endif
|
||||||
|
if exists("b:is_sh")
|
||||||
|
unlet b:is_sh
|
||||||
|
endif
|
||||||
|
elseif a:name =~ '\<sh\>'
|
||||||
|
let b:is_sh = 1
|
||||||
|
if exists("b:is_kornshell")
|
||||||
|
unlet b:is_kornshell
|
||||||
|
endif
|
||||||
|
if exists("b:is_bash")
|
||||||
|
unlet b:is_bash
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
call dist#ft#SetFileTypeShell("sh")
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" For shell-like file types, check for an "exec" command hidden in a comment,
|
||||||
|
" as used for Tcl.
|
||||||
|
" Also called from scripts.vim, thus can't be local to this script.
|
||||||
|
func dist#ft#SetFileTypeShell(name)
|
||||||
|
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let l = 2
|
||||||
|
while l < 20 && l < line("$") && getline(l) =~ '^\s*\(#\|$\)'
|
||||||
|
" Skip empty and comment lines.
|
||||||
|
let l = l + 1
|
||||||
|
endwhile
|
||||||
|
if l < line("$") && getline(l) =~ '\s*exec\s' && getline(l - 1) =~ '^\s*#.*\\$'
|
||||||
|
" Found an "exec" line after a comment with continuation
|
||||||
|
let n = substitute(getline(l),'\s*exec\s\+\([^ ]*/\)\=', '', '')
|
||||||
|
if n =~ '\<tclsh\|\<wish'
|
||||||
|
setf tcl
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
exe "setf " . a:name
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#CSH()
|
||||||
|
if exists("g:filetype_csh")
|
||||||
|
call dist#ft#SetFileTypeShell(g:filetype_csh)
|
||||||
|
elseif &shell =~ "tcsh"
|
||||||
|
call dist#ft#SetFileTypeShell("tcsh")
|
||||||
|
else
|
||||||
|
call dist#ft#SetFileTypeShell("csh")
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
|
||||||
|
func dist#ft#FTRules()
|
||||||
|
let path = expand('<amatch>:p')
|
||||||
|
if path =~ '^/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
|
||||||
|
setf udevrules
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if path =~ '^/etc/ufw/'
|
||||||
|
setf conf " Better than hog
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if path =~ '^/\(etc\|usr/share\)/polkit-1/rules\.d'
|
||||||
|
setf javascript
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
try
|
||||||
|
let config_lines = readfile('/etc/udev/udev.conf')
|
||||||
|
catch /^Vim\%((\a\+)\)\=:E484/
|
||||||
|
setf hog
|
||||||
|
return
|
||||||
|
endtry
|
||||||
|
let dir = expand('<amatch>:p:h')
|
||||||
|
for line in config_lines
|
||||||
|
if line =~ s:ft_rules_udev_rules_pattern
|
||||||
|
let udev_rules = substitute(line, s:ft_rules_udev_rules_pattern, '\1', "")
|
||||||
|
if dir == udev_rules
|
||||||
|
setf udevrules
|
||||||
|
endif
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
setf hog
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#SQL()
|
||||||
|
if exists("g:filetype_sql")
|
||||||
|
exe "setf " . g:filetype_sql
|
||||||
|
else
|
||||||
|
setf sql
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" If the file has an extension of 't' and is in a directory 't' or 'xt' then
|
||||||
|
" it is almost certainly a Perl test file.
|
||||||
|
" If the first line starts with '#' and contains 'perl' it's probably a Perl
|
||||||
|
" file.
|
||||||
|
" (Slow test) If a file contains a 'use' statement then it is almost certainly
|
||||||
|
" a Perl file.
|
||||||
|
func dist#ft#FTperl()
|
||||||
|
let dirname = expand("%:p:h:t")
|
||||||
|
if expand("%:e") == 't' && (dirname == 't' || dirname == 'xt')
|
||||||
|
setf perl
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
if getline(1)[0] == '#' && getline(1) =~ 'perl'
|
||||||
|
setf perl
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
let save_cursor = getpos('.')
|
||||||
|
call cursor(1,1)
|
||||||
|
let has_use = search('^use\s\s*\k', 'c', 30)
|
||||||
|
call setpos('.', save_cursor)
|
||||||
|
if has_use
|
||||||
|
setf perl
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
return 0
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Choose context, plaintex, or tex (LaTeX) based on these rules:
|
||||||
|
" 1. Check the first line of the file for "%&<format>".
|
||||||
|
" 2. Check the first 1000 non-comment lines for LaTeX or ConTeXt keywords.
|
||||||
|
" 3. Default to "latex" or to g:tex_flavor, can be set in user's vimrc.
|
||||||
|
func dist#ft#FTtex()
|
||||||
|
let firstline = getline(1)
|
||||||
|
if firstline =~ '^%&\s*\a\+'
|
||||||
|
let format = tolower(matchstr(firstline, '\a\+'))
|
||||||
|
let format = substitute(format, 'pdf', '', '')
|
||||||
|
if format == 'tex'
|
||||||
|
let format = 'latex'
|
||||||
|
elseif format == 'plaintex'
|
||||||
|
let format = 'plain'
|
||||||
|
endif
|
||||||
|
elseif expand('%') =~ 'tex/context/.*/.*.tex'
|
||||||
|
let format = 'context'
|
||||||
|
else
|
||||||
|
" Default value, may be changed later:
|
||||||
|
let format = exists("g:tex_flavor") ? g:tex_flavor : 'plain'
|
||||||
|
" Save position, go to the top of the file, find first non-comment line.
|
||||||
|
let save_cursor = getpos('.')
|
||||||
|
call cursor(1,1)
|
||||||
|
let firstNC = search('^\s*[^[:space:]%]', 'c', 1000)
|
||||||
|
if firstNC " Check the next thousand lines for a LaTeX or ConTeXt keyword.
|
||||||
|
let lpat = 'documentclass\>\|usepackage\>\|begin{\|newcommand\>\|renewcommand\>'
|
||||||
|
let cpat = 'start\a\+\|setup\a\+\|usemodule\|enablemode\|enableregime\|setvariables\|useencoding\|usesymbols\|stelle\a\+\|verwende\a\+\|stel\a\+\|gebruik\a\+\|usa\a\+\|imposta\a\+\|regle\a\+\|utilisemodule\>'
|
||||||
|
let kwline = search('^\s*\\\%(' . lpat . '\)\|^\s*\\\(' . cpat . '\)',
|
||||||
|
\ 'cnp', firstNC + 1000)
|
||||||
|
if kwline == 1 " lpat matched
|
||||||
|
let format = 'latex'
|
||||||
|
elseif kwline == 2 " cpat matched
|
||||||
|
let format = 'context'
|
||||||
|
endif " If neither matched, keep default set above.
|
||||||
|
" let lline = search('^\s*\\\%(' . lpat . '\)', 'cn', firstNC + 1000)
|
||||||
|
" let cline = search('^\s*\\\%(' . cpat . '\)', 'cn', firstNC + 1000)
|
||||||
|
" if cline > 0
|
||||||
|
" let format = 'context'
|
||||||
|
" endif
|
||||||
|
" if lline > 0 && (cline == 0 || cline > lline)
|
||||||
|
" let format = 'tex'
|
||||||
|
" endif
|
||||||
|
endif " firstNC
|
||||||
|
call setpos('.', save_cursor)
|
||||||
|
endif " firstline =~ '^%&\s*\a\+'
|
||||||
|
|
||||||
|
" Translation from formats to file types. TODO: add AMSTeX, RevTex, others?
|
||||||
|
if format == 'plain'
|
||||||
|
setf plaintex
|
||||||
|
elseif format == 'context'
|
||||||
|
setf context
|
||||||
|
else " probably LaTeX
|
||||||
|
setf tex
|
||||||
|
endif
|
||||||
|
return
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTxml()
|
||||||
|
let n = 1
|
||||||
|
while n < 100 && n < line("$")
|
||||||
|
let line = getline(n)
|
||||||
|
" DocBook 4 or DocBook 5.
|
||||||
|
let is_docbook4 = line =~ '<!DOCTYPE.*DocBook'
|
||||||
|
let is_docbook5 = line =~ ' xmlns="http://docbook.org/ns/docbook"'
|
||||||
|
if is_docbook4 || is_docbook5
|
||||||
|
let b:docbk_type = "xml"
|
||||||
|
if is_docbook5
|
||||||
|
let b:docbk_ver = 5
|
||||||
|
else
|
||||||
|
let b:docbk_ver = 4
|
||||||
|
endif
|
||||||
|
setf docbk
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if line =~ 'xmlns:xbl="http://www.mozilla.org/xbl"'
|
||||||
|
setf xbl
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n += 1
|
||||||
|
endwhile
|
||||||
|
setf xml
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTy()
|
||||||
|
let n = 1
|
||||||
|
while n < 100 && n < line("$")
|
||||||
|
let line = getline(n)
|
||||||
|
if line =~ '^\s*%'
|
||||||
|
setf yacc
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if getline(n) =~ '^\s*\(#\|class\>\)' && getline(n) !~ '^\s*#\s*include'
|
||||||
|
setf racc
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
setf yacc
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#Redif()
|
||||||
|
let lnum = 1
|
||||||
|
while lnum <= 5 && lnum < line('$')
|
||||||
|
if getline(lnum) =~ "^\ctemplate-type:"
|
||||||
|
setf redif
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let lnum = lnum + 1
|
||||||
|
endwhile
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
|
||||||
|
" Restore 'cpoptions'
|
||||||
|
let &cpo = s:cpo_save
|
||||||
|
unlet s:cpo_save
|
||||||
@@ -22,8 +22,8 @@
|
|||||||
if &cp || exists("g:loaded_netrw")
|
if &cp || exists("g:loaded_netrw")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
" netrw requires vim having patch 7.4.213; netrw will benefit from vim's having patch#656, too
|
" netrw requires vim having patch 213; netrw will benefit from vim's having patch#656, too
|
||||||
if v:version < 704 || (v:version == 704 && !has("patch213"))
|
if v:version < 704 || !has("patch213")
|
||||||
if !exists("s:needpatch213")
|
if !exists("s:needpatch213")
|
||||||
unsilent echomsg "***sorry*** this version of netrw requires vim v7.4 with patch 213"
|
unsilent echomsg "***sorry*** this version of netrw requires vim v7.4 with patch 213"
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
" Vim support file to help with paste mappings and menus
|
" Vim support file to help with paste mappings and menus
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2006 Jun 23
|
" Last Change: 2017 Aug 30
|
||||||
|
|
||||||
" Define the string to use for items that are present both in Edit, Popup and
|
" Define the string to use for items that are present both in Edit, Popup and
|
||||||
" Toolbar menu. Also used in mswin.vim and macmap.vim.
|
" Toolbar menu. Also used in mswin.vim and macmap.vim.
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
if has("virtualedit")
|
if has("virtualedit")
|
||||||
let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"}
|
let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"}
|
||||||
let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n']
|
let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n']
|
||||||
let paste#paste_cmd['i'] = 'x<BS><Esc>' . paste#paste_cmd['n'] . 'gi'
|
let paste#paste_cmd['i'] = "\<c-\>\<c-o>\"+gP"
|
||||||
|
|
||||||
func! paste#Paste()
|
func! paste#Paste()
|
||||||
let ove = &ve
|
let ove = &ve
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: SQL
|
" Language: SQL
|
||||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||||
" Version: 16.0
|
" Version: 16.0
|
||||||
" Last Change: 2015 Dec 29
|
" Last Change: 2017 Oct 15
|
||||||
" Homepage: http://www.vim.org/scripts/script.php?script_id=1572
|
" Homepage: http://www.vim.org/scripts/script.php?script_id=1572
|
||||||
" Usage: For detailed help
|
" Usage: For detailed help
|
||||||
" ":help sql.txt"
|
" ":help sql.txt"
|
||||||
@@ -860,7 +860,7 @@ function! s:SQLCGetColumns(table_name, list_type)
|
|||||||
|
|
||||||
" Start characterwise visual mode
|
" Start characterwise visual mode
|
||||||
" Advance right one character
|
" Advance right one character
|
||||||
" Search foward until one of the following:
|
" Search forward until one of the following:
|
||||||
" 1. Another select/update/delete statement
|
" 1. Another select/update/delete statement
|
||||||
" 2. A ; at the end of a line (the delimiter)
|
" 2. A ; at the end of a line (the delimiter)
|
||||||
" 3. The end of the file (incase no delimiter)
|
" 3. The end of the file (incase no delimiter)
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ Search for "highlight_init".
|
|||||||
If you think you have a color scheme that is good enough to be used by others,
|
If you think you have a color scheme that is good enough to be used by others,
|
||||||
please check the following items:
|
please check the following items:
|
||||||
|
|
||||||
|
- Source the tools/check_colors.vim script to check for common mistakes.
|
||||||
- Does it work in a color terminal as well as in the GUI?
|
- Does it work in a color terminal as well as in the GUI?
|
||||||
- Is "g:colors_name" set to a meaningful value? In case of doubt you can do
|
- Is "g:colors_name" set to a meaningful value? In case of doubt you can do
|
||||||
it this way:
|
it this way:
|
||||||
|
|||||||
136
runtime/colors/tools/check_colors.vim
Normal file
136
runtime/colors/tools/check_colors.vim
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
" This script tests a color scheme for some errors. Load the scheme and source
|
||||||
|
" this script. e.g. :e colors/desert.vim | :so test_colors.vim
|
||||||
|
" Will output possible errors.
|
||||||
|
|
||||||
|
let s:save_cpo= &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
func! Test_check_colors()
|
||||||
|
call cursor(1,1)
|
||||||
|
let err={}
|
||||||
|
|
||||||
|
" 1) Check g:colors_name is existing
|
||||||
|
if !search('\<\%(g:\)\?colors_name\>', 'cnW')
|
||||||
|
let err['colors_name'] = 'g:colors_name not set'
|
||||||
|
else
|
||||||
|
let err['colors_name'] = 'OK'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" 2) Check for some well-defined highlighting groups
|
||||||
|
" Some items, check several groups, e.g. Diff, Spell
|
||||||
|
let hi_groups = ['ColorColumn', 'Diff', 'ErrorMsg', 'Folded',
|
||||||
|
\ 'FoldColumn', 'IncSearch', 'LineNr', 'ModeMsg', 'MoreMsg', 'NonText',
|
||||||
|
\ 'Normal', 'Pmenu', 'Todo', 'Search', 'Spell', 'StatusLine', 'TabLine',
|
||||||
|
\ 'Title', 'Visual', 'WarningMsg', 'WildMenu']
|
||||||
|
let groups={}
|
||||||
|
for group in hi_groups
|
||||||
|
if search('\c@suppress\s\+'.group, 'cnW')
|
||||||
|
" skip check, if the script contains a line like
|
||||||
|
" @suppress Visual:
|
||||||
|
let groups[group] = 'Ignoring '.group
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
if !search('hi\%[ghlight] \+'.group, 'cnW')
|
||||||
|
let groups[group] = 'No highlight definition for '.group
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
if !search('hi\%[ghlight] \+'.group. '.*fg=', 'cnW')
|
||||||
|
let groups[group] = 'Missing foreground color for '.group
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
if search('hi\%[ghlight] \+'.group. '.*guibg=', 'cnW') &&
|
||||||
|
\ !search('hi\%[ghlight] \+'.group. '.*ctermbg=', 'cnW')
|
||||||
|
let groups[group] = 'Missing bg terminal color for '.group
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
call search('hi\%[ghlight] \+'.group, 'cW')
|
||||||
|
" only check in the current line
|
||||||
|
if !search('guifg', 'cnW', line('.')) || !search('ctermfg', 'cnW', line('.'))
|
||||||
|
" do not check for background colors, they could be intentionally left out
|
||||||
|
let groups[group] = 'Missing fg definition for '.group
|
||||||
|
endif
|
||||||
|
call cursor(1,1)
|
||||||
|
endfor
|
||||||
|
let err['highlight'] = groups
|
||||||
|
|
||||||
|
" 3) Check, that it does not set background highlighting
|
||||||
|
" Doesn't ':hi Normal ctermfg=253 ctermfg=233' also set the background sometimes?
|
||||||
|
let bg_set='\(set\?\|setl\(ocal\)\?\) .*\(background\|bg\)=\(dark\|light\)'
|
||||||
|
let bg_let='let \%([&]\%([lg]:\)\?\)\%(background\|bg\)\s*=\s*\([''"]\?\)\w\+\1'
|
||||||
|
let bg_pat='\%('.bg_set. '\|'.bg_let.'\)'
|
||||||
|
let line=search(bg_pat, 'cnW')
|
||||||
|
if search(bg_pat, 'cnW')
|
||||||
|
exe line
|
||||||
|
if search('hi \U\w\+\s\+\S', 'cbnW')
|
||||||
|
let err['background'] = 'Should not set background option after :hi statement'
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
let err['background'] = 'OK'
|
||||||
|
endif
|
||||||
|
call cursor(1,1)
|
||||||
|
|
||||||
|
" 4) Check, that t_Co is checked
|
||||||
|
let pat = '[&]t_Co\s*[<>=]=\?\s*\d\+'
|
||||||
|
if !search(pat, 'ncW')
|
||||||
|
let err['t_Co'] = 'Does not check terminal for capable colors'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" 5) Initializes correctly, e.g. should have a section like
|
||||||
|
" hi clear
|
||||||
|
" if exists("syntax_on")
|
||||||
|
" syntax reset
|
||||||
|
" endif
|
||||||
|
let pat='hi\%[ghlight]\s*clear\n\s*if\s*exists(\([''"]\)syntax_on\1)\n\s*syn\%[tax]\s*reset\n\s*endif'
|
||||||
|
if !search(pat, 'cnW')
|
||||||
|
let err['init'] = 'No initialization'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" 6) Does not use :syn on
|
||||||
|
if search('syn\%[tax]\s\+on', 'cnW')
|
||||||
|
let err['background'] = 'Should not issue :syn on'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" 7) Does not define filetype specfic groups like vimCommand, htmlTag,
|
||||||
|
let hi_groups = ['vim', 'html', 'python', 'sh', 'ruby']
|
||||||
|
for group in hi_groups
|
||||||
|
let pat='\Chi\%[ghlight]\s*\zs'.group.'\w\+\>'
|
||||||
|
if search(pat, 'cnW')
|
||||||
|
let line = search(pat, 'cW')
|
||||||
|
let err['filetype'] = get(err, 'filetype', 'Should not define: ') . matchstr(getline('.'), pat). ' '
|
||||||
|
endif
|
||||||
|
call cursor(1,1)
|
||||||
|
endfor
|
||||||
|
let g:err = err
|
||||||
|
|
||||||
|
" print Result
|
||||||
|
call Result(err)
|
||||||
|
endfu
|
||||||
|
|
||||||
|
fu! Result(err)
|
||||||
|
let do_roups = 0
|
||||||
|
echohl Title|echomsg "---------------"|echohl Normal
|
||||||
|
for key in sort(keys(a:err))
|
||||||
|
if key is# 'highlight'
|
||||||
|
let do_groups = 1
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
if a:err[key] !~ 'OK'
|
||||||
|
echohl Title
|
||||||
|
endif
|
||||||
|
echomsg printf("%15s: %s", key, a:err[key])
|
||||||
|
echohl Normal
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
echohl Title|echomsg "---------------"|echohl Normal
|
||||||
|
if do_groups
|
||||||
|
echohl Title | echomsg "Groups" | echohl Normal
|
||||||
|
for v1 in sort(keys(a:err['highlight']))
|
||||||
|
echomsg printf("%25s: %s", v1, a:err['highlight'][v1])
|
||||||
|
endfor
|
||||||
|
endif
|
||||||
|
endfu
|
||||||
|
|
||||||
|
call Test_check_colors()
|
||||||
|
|
||||||
|
let &cpo = s:save_cpo
|
||||||
|
unlet s:save_cpo
|
||||||
@@ -343,7 +343,7 @@ xxd.man: xxd.1
|
|||||||
nroff -man xxd.1 | sed -e s/.//g > xxd.man
|
nroff -man xxd.1 | sed -e s/.//g > xxd.man
|
||||||
|
|
||||||
uganda.nsis.txt: uganda.txt
|
uganda.nsis.txt: uganda.txt
|
||||||
sed -e 's/[ ]*\*[-a-zA-Z0-9.]*\*//g' -e 's/vim:tw=78://' \
|
sed -e 's/[ ]*\*[-a-zA-Z0-9.]*\*//g' -e 's/vim:tw=78:.*//' \
|
||||||
uganda.txt | uniq >uganda.nsis.txt
|
uganda.txt | uniq >uganda.nsis.txt
|
||||||
|
|
||||||
# Awk version of .txt to .html conversion.
|
# Awk version of .txt to .html conversion.
|
||||||
@@ -375,6 +375,10 @@ tags.ref tags.html: tags
|
|||||||
perlhtml: tags $(DOCS)
|
perlhtml: tags $(DOCS)
|
||||||
./vim2html.pl tags $(DOCS)
|
./vim2html.pl tags $(DOCS)
|
||||||
|
|
||||||
|
# Check URLs in the help with "curl".
|
||||||
|
test_urls:
|
||||||
|
vim -S test_urls.vim
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
-rm doctags *.html tags.ref
|
-rm doctags *.html tags.ref
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*autocmd.txt* For Vim version 8.0. Last change: 2017 Jul 14
|
*autocmd.txt* For Vim version 8.0. Last change: 2018 Mar 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -21,7 +21,6 @@ For a basic explanation, see section |40.3| in the user manual.
|
|||||||
11. Disabling autocommands |autocmd-disable|
|
11. Disabling autocommands |autocmd-disable|
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
{Vi does not have any of these commands}
|
||||||
{only when the |+autocmd| feature has not been disabled at compile time}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Introduction *autocmd-intro*
|
1. Introduction *autocmd-intro*
|
||||||
@@ -33,7 +32,7 @@ files matching *.c. You can also use autocommands to implement advanced
|
|||||||
features, such as editing compressed files (see |gzip-example|). The usual
|
features, such as editing compressed files (see |gzip-example|). The usual
|
||||||
place to put autocommands is in your .vimrc or .exrc file.
|
place to put autocommands is in your .vimrc or .exrc file.
|
||||||
|
|
||||||
*E203* *E204* *E143* *E855* *E937*
|
*E203* *E204* *E143* *E855* *E937* *E952*
|
||||||
WARNING: Using autocommands is very powerful, and may lead to unexpected side
|
WARNING: Using autocommands is very powerful, and may lead to unexpected side
|
||||||
effects. Be careful not to destroy your text.
|
effects. Be careful not to destroy your text.
|
||||||
- It's a good idea to do some testing on an expendable copy of a file first.
|
- It's a good idea to do some testing on an expendable copy of a file first.
|
||||||
@@ -57,6 +56,8 @@ effects. Be careful not to destroy your text.
|
|||||||
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|.
|
{pat} |autocmd-patterns|.
|
||||||
|
Note: A quote character is seen as argument to the
|
||||||
|
:autocmd and won't start a comment.
|
||||||
Vim always adds the {cmd} after existing autocommands,
|
Vim always adds the {cmd} after existing autocommands,
|
||||||
so that the autocommands execute in the order in which
|
so that the autocommands execute in the order in which
|
||||||
they were given. See |autocmd-nested| for [nested].
|
they were given. See |autocmd-nested| for [nested].
|
||||||
@@ -68,7 +69,14 @@ Note: The ":autocmd" command can only be followed by another command when the
|
|||||||
'|' appears before {cmd}. This works: >
|
'|' appears before {cmd}. This works: >
|
||||||
:augroup mine | au! BufRead | augroup END
|
:augroup mine | au! BufRead | augroup END
|
||||||
But this sees "augroup" as part of the defined command: >
|
But this sees "augroup" as part of the defined command: >
|
||||||
|
:augroup mine | au! BufRead * | augroup END
|
||||||
:augroup mine | au BufRead * set tw=70 | augroup END
|
:augroup mine | au BufRead * set tw=70 | augroup END
|
||||||
|
Instead you can put the group name into the command: >
|
||||||
|
:au! mine BufRead *
|
||||||
|
:au mine BufRead * set tw=70
|
||||||
|
Or use `:execute`: >
|
||||||
|
:augroup mine | exe "au! BufRead *" | augroup END
|
||||||
|
:augroup mine | exe "au BufRead * set tw=70" | augroup END
|
||||||
|
|
||||||
Note that special characters (e.g., "%", "<cword>") in the ":autocmd"
|
Note that special characters (e.g., "%", "<cword>") in the ":autocmd"
|
||||||
arguments are not expanded when the autocommand is defined. These will be
|
arguments are not expanded when the autocommand is defined. These will be
|
||||||
@@ -85,7 +93,8 @@ will appear twice. To avoid this, define your autocommands in a group, so
|
|||||||
that you can easily clear them: >
|
that you can easily clear them: >
|
||||||
|
|
||||||
augroup vimrc
|
augroup vimrc
|
||||||
autocmd! " Remove all vimrc autocommands
|
" Remove all vimrc autocommands
|
||||||
|
autocmd!
|
||||||
au BufNewFile,BufRead *.html so <sfile>:h/html.vim
|
au BufNewFile,BufRead *.html so <sfile>:h/html.vim
|
||||||
augroup END
|
augroup END
|
||||||
|
|
||||||
@@ -139,6 +148,8 @@ prompt. When one command outputs two messages this can happen anyway.
|
|||||||
plugins, syntax highlighting, etc.
|
plugins, syntax highlighting, etc.
|
||||||
|
|
||||||
:au[tocmd]! [group] Remove ALL autocommands.
|
:au[tocmd]! [group] Remove ALL autocommands.
|
||||||
|
Note: a quote will be seen as argument to the :autocmd
|
||||||
|
and won't start a comment.
|
||||||
Warning: You should normally not do this without a
|
Warning: You should normally not do this without a
|
||||||
group, it breaks plugins, syntax highlighting, etc.
|
group, it breaks plugins, syntax highlighting, etc.
|
||||||
|
|
||||||
@@ -251,6 +262,7 @@ Name triggered by ~
|
|||||||
|BufCreate| just after adding a buffer to the buffer list
|
|BufCreate| just after adding a buffer to the buffer list
|
||||||
|BufDelete| before deleting a buffer from the buffer list
|
|BufDelete| before deleting a buffer from the buffer list
|
||||||
|BufWipeout| before completely deleting a buffer
|
|BufWipeout| before completely deleting a buffer
|
||||||
|
|TerminalOpen| after a terminal buffer was created
|
||||||
|
|
||||||
|BufFilePre| before changing the name of the current buffer
|
|BufFilePre| before changing the name of the current buffer
|
||||||
|BufFilePost| after changing the name of the current buffer
|
|BufFilePost| after changing the name of the current buffer
|
||||||
@@ -279,7 +291,8 @@ Name triggered by ~
|
|||||||
|GUIFailed| after starting the GUI failed
|
|GUIFailed| after starting the GUI failed
|
||||||
|TermResponse| after the terminal response to |t_RV| is received
|
|TermResponse| after the terminal response to |t_RV| is received
|
||||||
|
|
||||||
|QuitPre| when using `:quit`, before deciding whether to quit
|
|QuitPre| when using `:quit`, before deciding whether to exit
|
||||||
|
|ExitPre| when using a command that may make Vim exit
|
||||||
|VimLeavePre| before exiting Vim, before writing the viminfo file
|
|VimLeavePre| before exiting Vim, before writing the viminfo file
|
||||||
|VimLeave| before exiting Vim, after writing the viminfo file
|
|VimLeave| before exiting Vim, after writing the viminfo file
|
||||||
|
|
||||||
@@ -288,6 +301,8 @@ Name triggered by ~
|
|||||||
|FileChangedShellPost| After handling a file changed since editing started
|
|FileChangedShellPost| After handling a file changed since editing started
|
||||||
|FileChangedRO| before making the first change to a read-only file
|
|FileChangedRO| before making the first change to a read-only file
|
||||||
|
|
||||||
|
|DirChanged| after the working directory has changed
|
||||||
|
|
||||||
|ShellCmdPost| after executing a shell command
|
|ShellCmdPost| after executing a shell command
|
||||||
|ShellFilterPost| after filtering with a shell command
|
|ShellFilterPost| after filtering with a shell command
|
||||||
|
|
||||||
@@ -315,6 +330,10 @@ Name triggered by ~
|
|||||||
|CmdwinEnter| after entering the command-line window
|
|CmdwinEnter| after entering the command-line window
|
||||||
|CmdwinLeave| before leaving the command-line window
|
|CmdwinLeave| before leaving the command-line window
|
||||||
|
|
||||||
|
|CmdlineChanged| after a change was made to the command-line text
|
||||||
|
|CmdlineEnter| after the cursor moves to the command line
|
||||||
|
|CmdlineLeave| before the cursor leaves the command line
|
||||||
|
|
||||||
|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
|
||||||
@@ -323,6 +342,10 @@ Name triggered by ~
|
|||||||
|
|
||||||
|TextChanged| after a change was made to the text in Normal mode
|
|TextChanged| after a change was made to the text in Normal mode
|
||||||
|TextChangedI| after a change was made to the text in Insert mode
|
|TextChangedI| after a change was made to the text in Insert mode
|
||||||
|
when popup menu is not visible
|
||||||
|
|TextChangedP| after a change was made to the text in Insert mode
|
||||||
|
when popup menu visible
|
||||||
|
|TextYankPost| after text is yanked or deleted
|
||||||
|
|
||||||
|ColorScheme| after loading a color scheme
|
|ColorScheme| after loading a color scheme
|
||||||
|
|
||||||
@@ -492,6 +515,29 @@ CmdUndefined When a user command is used but it isn't
|
|||||||
command is defined. An alternative is to
|
command is defined. An alternative is to
|
||||||
always define the user command and have it
|
always define the user command and have it
|
||||||
invoke an autoloaded function. See |autoload|.
|
invoke an autoloaded function. See |autoload|.
|
||||||
|
*CmdlineChanged*
|
||||||
|
CmdlineChanged After a change was made to the text in the
|
||||||
|
command line. Be careful not to mess up
|
||||||
|
the command line, it may cause Vim to lock up.
|
||||||
|
<afile> is set to a single character,
|
||||||
|
indicating the type of command-line.
|
||||||
|
|cmdwin-char|
|
||||||
|
*CmdlineEnter*
|
||||||
|
CmdlineEnter After moving the cursor to the command line,
|
||||||
|
where the user can type a command or search
|
||||||
|
string.
|
||||||
|
<afile> is set to a single character,
|
||||||
|
indicating the type of command-line.
|
||||||
|
|cmdwin-char|
|
||||||
|
*CmdlineLeave*
|
||||||
|
CmdlineLeave Before leaving the command line.
|
||||||
|
Also when abandoning the command line, after
|
||||||
|
typing CTRL-C or <Esc>.
|
||||||
|
When the commands result in an error the
|
||||||
|
command line is still executed.
|
||||||
|
<afile> is set to a single character,
|
||||||
|
indicating the type of command-line.
|
||||||
|
|cmdwin-char|
|
||||||
*CmdwinEnter*
|
*CmdwinEnter*
|
||||||
CmdwinEnter After entering the command-line window.
|
CmdwinEnter After entering the command-line window.
|
||||||
Useful for setting options specifically for
|
Useful for setting options specifically for
|
||||||
@@ -602,6 +648,21 @@ FileChangedRO Before making the first change to a read-only
|
|||||||
*E881*
|
*E881*
|
||||||
If the number of lines changes saving for undo
|
If the number of lines changes saving for undo
|
||||||
may fail and the change will be aborted.
|
may fail and the change will be aborted.
|
||||||
|
*DirChanged*
|
||||||
|
DirChanged The working directory has changed in response
|
||||||
|
to the |:cd| or |:lcd| commands, or as a
|
||||||
|
result of the 'autochdir' option.
|
||||||
|
The pattern can be:
|
||||||
|
"window" to trigger on `:lcd
|
||||||
|
"global" to trigger on `:cd`
|
||||||
|
"auto" to trigger on 'autochdir'.
|
||||||
|
"drop" to trigger on editing a file
|
||||||
|
<afile> is set to the new directory name.
|
||||||
|
*ExitPre*
|
||||||
|
ExitPre When using `:quit`, `:wq` in a way it makes
|
||||||
|
Vim exit, or using `:qall`, just after
|
||||||
|
|QuitPre|. Can be used to close any
|
||||||
|
non-essential window.
|
||||||
*FileChangedShell*
|
*FileChangedShell*
|
||||||
FileChangedShell When Vim notices that the modification time of
|
FileChangedShell When Vim notices that the modification time of
|
||||||
a file has changed since editing started.
|
a file has changed since editing started.
|
||||||
@@ -739,7 +800,7 @@ InsertCharPre When a character is typed in Insert mode,
|
|||||||
inserted literally.
|
inserted literally.
|
||||||
It is not allowed to change the text |textlock|.
|
It is not allowed to change the text |textlock|.
|
||||||
The event is not triggered when 'paste' is
|
The event is not triggered when 'paste' is
|
||||||
set.
|
set. {only with the +eval feature}
|
||||||
*InsertEnter*
|
*InsertEnter*
|
||||||
InsertEnter Just before starting Insert mode. Also for
|
InsertEnter Just before starting Insert mode. Also for
|
||||||
Replace mode and Virtual Replace mode. The
|
Replace mode and Virtual Replace mode. The
|
||||||
@@ -817,6 +878,7 @@ QuitPre When using `:quit`, `:wq` or `:qall`, before
|
|||||||
or quits Vim. Can be used to close any
|
or quits Vim. Can be used to close any
|
||||||
non-essential window if the current window is
|
non-essential window if the current window is
|
||||||
the last ordinary window.
|
the last ordinary window.
|
||||||
|
Also see |ExitPre|.
|
||||||
*RemoteReply*
|
*RemoteReply*
|
||||||
RemoteReply When a reply from a Vim that functions as
|
RemoteReply When a reply from a Vim that functions as
|
||||||
server was received |server2client()|. The
|
server was received |server2client()|. The
|
||||||
@@ -885,6 +947,7 @@ SwapExists Detected an existing swap file when starting
|
|||||||
It is not allowed to change to another buffer,
|
It is not allowed to change to another buffer,
|
||||||
change a buffer name or change directory
|
change a buffer name or change directory
|
||||||
here.
|
here.
|
||||||
|
{only available with the +eval feature}
|
||||||
*Syntax*
|
*Syntax*
|
||||||
Syntax When the 'syntax' option has been set. The
|
Syntax When the 'syntax' option has been set. The
|
||||||
pattern is matched against the syntax name.
|
pattern is matched against the syntax name.
|
||||||
@@ -911,6 +974,11 @@ TermChanged After the value of 'term' has changed. Useful
|
|||||||
for re-loading the syntax file to update the
|
for re-loading the syntax file to update the
|
||||||
colors, fonts and other terminal-dependent
|
colors, fonts and other terminal-dependent
|
||||||
settings. Executed for all loaded buffers.
|
settings. Executed for all loaded buffers.
|
||||||
|
*TerminalOpen*
|
||||||
|
TerminalOpen Just after a terminal buffer was created, with
|
||||||
|
`:terminal` or |term_start()|. This event is
|
||||||
|
triggered even if the buffer is created
|
||||||
|
without a window, with the ++hidden option.
|
||||||
*TermResponse*
|
*TermResponse*
|
||||||
TermResponse After the response to |t_RV| is received from
|
TermResponse After the response to |t_RV| is received from
|
||||||
the terminal. The value of |v:termresponse|
|
the terminal. The value of |v:termresponse|
|
||||||
@@ -933,6 +1001,31 @@ TextChangedI After a change was made to the text in the
|
|||||||
current buffer in Insert mode.
|
current buffer in Insert mode.
|
||||||
Not triggered when the popup menu is visible.
|
Not triggered when the popup menu is visible.
|
||||||
Otherwise the same as TextChanged.
|
Otherwise the same as TextChanged.
|
||||||
|
*TextChangedP*
|
||||||
|
TextChangedP After a change was made to the text in the
|
||||||
|
current buffer in Insert mode, only when the
|
||||||
|
popup menu is visible. Otherwise the same as
|
||||||
|
TextChanged.
|
||||||
|
*TextYankPost*
|
||||||
|
TextYankPost After text has been yanked or deleted in the
|
||||||
|
current buffer. The following values of
|
||||||
|
|v:event| can be used to determine the operation
|
||||||
|
that triggered this autocmd:
|
||||||
|
operator The operation performed.
|
||||||
|
regcontents Text that was stored in the
|
||||||
|
register, as a list of lines,
|
||||||
|
like with: >
|
||||||
|
getreg(r, 1, 1)
|
||||||
|
< regname Name of the |register| or
|
||||||
|
empty string for the unnamed
|
||||||
|
register.
|
||||||
|
regtype Type of the register, see
|
||||||
|
|getregtype()|.
|
||||||
|
Not triggered when |quote_| is used nor when
|
||||||
|
called recursively.
|
||||||
|
It is not allowed to change the buffer text,
|
||||||
|
see |textlock|.
|
||||||
|
{only when compiled with the +eval feature}
|
||||||
*User*
|
*User*
|
||||||
User Never executed automatically. To be used for
|
User Never executed automatically. To be used for
|
||||||
autocommands that are only executed with
|
autocommands that are only executed with
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*cmdline.txt* For Vim version 8.0. Last change: 2017 Jul 11
|
*cmdline.txt* For Vim version 8.0. Last change: 2017 Oct 19
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -826,14 +826,21 @@ Also see |`=|.
|
|||||||
*:<cword>* *:<cWORD>* *:<cfile>* *<cfile>*
|
*:<cword>* *:<cWORD>* *:<cfile>* *<cfile>*
|
||||||
*:<sfile>* *<sfile>* *:<afile>* *<afile>*
|
*:<sfile>* *<sfile>* *:<afile>* *<afile>*
|
||||||
*:<abuf>* *<abuf>* *:<amatch>* *<amatch>*
|
*:<abuf>* *<abuf>* *:<amatch>* *<amatch>*
|
||||||
|
*:<cexpr>* *<cexpr>*
|
||||||
*<slnum>* *E495* *E496* *E497* *E499* *E500*
|
*<slnum>* *E495* *E496* *E497* *E499* *E500*
|
||||||
Note: these are typed literally, they are not special keys!
|
Note: these are typed literally, they are not special keys!
|
||||||
<cword> is replaced with the word under the cursor (like |star|)
|
<cword> is replaced with the word under the cursor (like |star|)
|
||||||
<cWORD> is replaced with the WORD under the cursor (see |WORD|)
|
<cWORD> is replaced with the WORD under the cursor (see |WORD|)
|
||||||
|
<cexpr> is replaced with the word under the cursor, including more
|
||||||
|
to form a C expression. E.g., when the cursor is on "arg"
|
||||||
|
of "ptr->arg" then the result is "ptr->arg"; when the
|
||||||
|
cursor is on "]" of "list[idx]" then the result is
|
||||||
|
"list[idx]". This is used for |v:beval_text|.
|
||||||
<cfile> is replaced with the path name under the cursor (like what
|
<cfile> is replaced with the path name under the cursor (like what
|
||||||
|gf| uses)
|
|gf| uses)
|
||||||
<afile> When executing autocommands, is replaced with the file name
|
<afile> When executing autocommands, is replaced with the file name
|
||||||
for a file read or write.
|
of the buffer being manipulated, or the file for a read or
|
||||||
|
write.
|
||||||
<abuf> When executing autocommands, is replaced with the currently
|
<abuf> When executing autocommands, is replaced with the currently
|
||||||
effective buffer number (for ":r file" and ":so file" it is
|
effective buffer number (for ":r file" and ":so file" it is
|
||||||
the current buffer, the file being read/sourced is not in a
|
the current buffer, the file being read/sourced is not in a
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*debugger.txt* For Vim version 8.0. Last change: 2005 Mar 29
|
*debugger.txt* For Vim version 8.0. Last change: 2017 Nov 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Gordon Prieur
|
VIM REFERENCE MANUAL by Gordon Prieur
|
||||||
@@ -95,10 +95,12 @@ list and colors can be set via X resources (XmNballoonEvalFontList,
|
|||||||
XmNballoonEvalBackground, and XmNballoonEvalForeground).
|
XmNballoonEvalBackground, and XmNballoonEvalForeground).
|
||||||
The 'balloondelay' option sets the delay before an attempt is made to show a
|
The 'balloondelay' option sets the delay before an attempt is made to show a
|
||||||
balloon.
|
balloon.
|
||||||
The 'ballooneval' option needs to be set to switch it on.
|
The 'ballooneval' and/or the 'balloonevalterm' option needs to be set to
|
||||||
|
switch it on.
|
||||||
|
|
||||||
Balloon evaluation is only available when compiled with the |+balloon_eval|
|
Balloon evaluation is only available in the GUI when compiled with the
|
||||||
feature.
|
|+balloon_eval| feature. For the terminal the |+balloon_eval_term| feature
|
||||||
|
matters.
|
||||||
|
|
||||||
The Balloon evaluation functions are also used to show a tooltip for the
|
The Balloon evaluation functions are also used to show a tooltip for the
|
||||||
toolbar. The 'ballooneval' option does not need to be set for this. But the
|
toolbar. The 'ballooneval' option does not need to be set for this. But the
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*diff.txt* For Vim version 8.0. Last change: 2017 Feb 03
|
*diff.txt* For Vim version 8.0. Last change: 2017 Oct 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -10,7 +10,7 @@ eight versions of the same file.
|
|||||||
|
|
||||||
The basics are explained in section |08.7| of the user manual.
|
The basics are explained in section |08.7| of the user manual.
|
||||||
|
|
||||||
1. Starting diff mode |vimdiff|
|
1. Starting diff mode |start-vimdiff|
|
||||||
2. Viewing diffs |view-diffs|
|
2. Viewing diffs |view-diffs|
|
||||||
3. Jumping to diffs |jumpto-diffs|
|
3. Jumping to diffs |jumpto-diffs|
|
||||||
4. Copying diffs |copy-diffs|
|
4. Copying diffs |copy-diffs|
|
||||||
@@ -19,7 +19,7 @@ The basics are explained in section |08.7| of the user manual.
|
|||||||
{not in Vi}
|
{not in Vi}
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Starting diff mode
|
1. Starting diff mode *start-vimdiff*
|
||||||
|
|
||||||
The easiest way to start editing in diff mode is with the "vimdiff" command.
|
The easiest way to start editing in diff mode is with the "vimdiff" command.
|
||||||
This starts Vim as usual, and additionally sets up for viewing the differences
|
This starts Vim as usual, and additionally sets up for viewing the differences
|
||||||
@@ -226,8 +226,8 @@ The diffs are highlighted with these groups:
|
|||||||
(searching from the end of the line). The
|
(searching from the end of the line). The
|
||||||
text in between is highlighted. This means
|
text in between is highlighted. This means
|
||||||
that parts in the middle that are still the
|
that parts in the middle that are still the
|
||||||
same are highlighted anyway. Only "iwhite" of
|
same are highlighted anyway. The 'diffopt'
|
||||||
'diffopt' is used here.
|
flags "iwhite" and "icase" are used here.
|
||||||
|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
|
|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
|
||||||
because they don't really exist in this
|
because they don't really exist in this
|
||||||
buffer.
|
buffer.
|
||||||
@@ -326,7 +326,7 @@ g:diff_translations to zero: >
|
|||||||
|
|
||||||
let g:diff_translations = 0
|
let g:diff_translations = 0
|
||||||
<
|
<
|
||||||
After setting this variable, Reload the syntax script: >
|
After setting this variable, reload the syntax script: >
|
||||||
|
|
||||||
set syntax=diff
|
set syntax=diff
|
||||||
<
|
<
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*editing.txt* For Vim version 8.0. Last change: 2017 Aug 21
|
*editing.txt* For Vim version 8.0. Last change: 2018 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -424,6 +424,15 @@ On Unix and a few other systems you can also use backticks for the file name
|
|||||||
argument, for example: >
|
argument, for example: >
|
||||||
:next `find . -name ver\\*.c -print`
|
:next `find . -name ver\\*.c -print`
|
||||||
:view `ls -t *.patch \| head -n1`
|
:view `ls -t *.patch \| head -n1`
|
||||||
|
Vim will run the command in backticks using the 'shell' and use the standard
|
||||||
|
output as argument for the given Vim command (error messages from the shell
|
||||||
|
command will be discarded).
|
||||||
|
To see what shell command Vim is running, set the 'verbose' option to 4. When
|
||||||
|
the shell command returns a non-zero exit code, an error message will be
|
||||||
|
displayed and the Vim command will be aborted. To avoid this make the shell
|
||||||
|
always return zero like so: >
|
||||||
|
:next `find . -name ver\\*.c -print \|\| true`
|
||||||
|
|
||||||
The backslashes before the star are required to prevent the shell from
|
The backslashes before the star are required to prevent the shell from
|
||||||
expanding "ver*.c" prior to execution of the find program. The backslash
|
expanding "ver*.c" prior to execution of the find program. The backslash
|
||||||
before the shell pipe symbol "|" prevents Vim from parsing it as command
|
before the shell pipe symbol "|" prevents Vim from parsing it as command
|
||||||
@@ -650,8 +659,7 @@ list of the current window.
|
|||||||
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.
|
||||||
The currently edited file is not changed.
|
The currently edited file is not changed.
|
||||||
{not in Vi} {not available when compiled without the
|
{not in Vi}
|
||||||
|+listcmds| feature}
|
|
||||||
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.
|
||||||
@@ -665,8 +673,7 @@ list of the current window.
|
|||||||
when it's deleted from the argument list.
|
when it's deleted from the argument list.
|
||||||
Example: >
|
Example: >
|
||||||
:argdel *.obj
|
:argdel *.obj
|
||||||
< {not in Vi} {not available when compiled without the
|
< {not in Vi}
|
||||||
|+listcmds| feature}
|
|
||||||
|
|
||||||
:[range]argd[elete] Delete the {range} files from the argument list.
|
:[range]argd[elete] Delete the {range} files from the argument list.
|
||||||
Example: >
|
Example: >
|
||||||
@@ -681,8 +688,7 @@ list of the current window.
|
|||||||
< Removes all the files from the arglist.
|
< Removes all the files from the arglist.
|
||||||
When the last number in the range is too high, up to
|
When the last number in the range is too high, up to
|
||||||
the last argument is deleted.
|
the last argument is deleted.
|
||||||
{not in Vi} {not available when compiled without the
|
{not in Vi}
|
||||||
|+listcmds| feature}
|
|
||||||
|
|
||||||
*:argu* *:argument*
|
*:argu* *:argument*
|
||||||
:[count]argu[ment] [count] [++opt] [+cmd]
|
:[count]argu[ment] [count] [++opt] [+cmd]
|
||||||
@@ -691,16 +697,14 @@ list of the current window.
|
|||||||
when changes have been made and Vim does not want to
|
when changes have been made and Vim does not want to
|
||||||
|abandon| the current buffer.
|
|abandon| the current buffer.
|
||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
{not in Vi} {not available when compiled without the
|
{not in Vi}
|
||||||
|+listcmds| feature}
|
|
||||||
|
|
||||||
:[count]argu[ment]! [count] [++opt] [+cmd]
|
:[count]argu[ment]! [count] [++opt] [+cmd]
|
||||||
Edit file [count] in the argument list, discard any
|
Edit file [count] in the argument list, discard any
|
||||||
changes to the current buffer. When [count] is
|
changes to the current buffer. When [count] is
|
||||||
omitted the current entry is used.
|
omitted the current entry is used.
|
||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
{not in Vi} {not available when compiled without the
|
{not in Vi}
|
||||||
|+listcmds| feature}
|
|
||||||
|
|
||||||
:[count]n[ext] [++opt] [+cmd] *:n* *:ne* *:next* *E165* *E163*
|
:[count]n[ext] [++opt] [+cmd] *:n* *:ne* *:next* *E165* *E163*
|
||||||
Edit [count] next file. This fails when changes have
|
Edit [count] next file. This fails when changes have
|
||||||
@@ -823,7 +827,6 @@ fourth file in the argument list. This happens when you do ":e file".
|
|||||||
LOCAL ARGUMENT LIST
|
LOCAL ARGUMENT LIST
|
||||||
|
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{not available when compiled without the |+windows| or |+listcmds| features}
|
|
||||||
|
|
||||||
*:arglocal*
|
*:arglocal*
|
||||||
:argl[ocal] Make a local copy of the global argument list.
|
:argl[ocal] Make a local copy of the global argument list.
|
||||||
@@ -875,8 +878,7 @@ USING THE ARGUMENT LIST
|
|||||||
autocommand event is disabled by adding it to
|
autocommand event is disabled by adding it to
|
||||||
'eventignore'. This considerably speeds up editing
|
'eventignore'. This considerably speeds up editing
|
||||||
each file.
|
each file.
|
||||||
{not in Vi} {not available when compiled without the
|
{not in Vi}
|
||||||
|+listcmds| feature}
|
|
||||||
Also see |:windo|, |:tabdo|, |:bufdo|, |:cdo|, |:ldo|,
|
Also see |:windo|, |:tabdo|, |:bufdo|, |:cdo|, |:ldo|,
|
||||||
|:cfdo| and |:lfdo|
|
|:cfdo| and |:lfdo|
|
||||||
|
|
||||||
@@ -900,7 +902,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*
|
*E512* *E514* *E667* *E796* *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
|
||||||
@@ -956,6 +958,9 @@ used, for example, when the write fails and you want to try again later with
|
|||||||
":w #". This can be switched off by removing the 'A' flag from the
|
":w #". This can be switched off by removing the 'A' flag from the
|
||||||
'cpoptions' option.
|
'cpoptions' option.
|
||||||
|
|
||||||
|
Note that the 'fsync' option matters here. If it's set it may make writes
|
||||||
|
slower (but safer).
|
||||||
|
|
||||||
*:sav* *:saveas*
|
*:sav* *:saveas*
|
||||||
:sav[eas][!] [++opt] {file}
|
:sav[eas][!] [++opt] {file}
|
||||||
Save the current buffer under the name {file} and set
|
Save the current buffer under the name {file} and set
|
||||||
@@ -1199,7 +1204,8 @@ MULTIPLE WINDOWS AND BUFFERS *window-exit*
|
|||||||
:wqa[ll]! [++opt]
|
:wqa[ll]! [++opt]
|
||||||
:xa[ll]! Write all changed buffers, even the ones that are readonly,
|
:xa[ll]! Write all changed buffers, even the ones that are readonly,
|
||||||
and exit Vim. If there are buffers without a file name or
|
and exit Vim. If there are buffers without a file name or
|
||||||
which cannot be written for another reason, Vim will not quit.
|
which cannot be written for another reason, or there is a
|
||||||
|
terminal with a running job, Vim will not quit.
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
|||||||
*filetype.txt* For Vim version 8.0. Last change: 2017 Mar 28
|
*filetype.txt* For Vim version 8.0. Last change: 2018 Feb 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -43,7 +43,7 @@ Detail: The ":filetype on" command will load one of these files:
|
|||||||
BufNewFile and BufRead events. If the file type is not found by the
|
BufNewFile and BufRead events. If the file type is not found by the
|
||||||
name, the file $VIMRUNTIME/scripts.vim is used to detect it from the
|
name, the file $VIMRUNTIME/scripts.vim is used to detect it from the
|
||||||
contents of the file.
|
contents of the file.
|
||||||
When the GUI is running or will start soon, the menu.vim script is
|
When the GUI is running or will start soon, the |menu.vim| script is
|
||||||
also sourced. See |'go-M'| about avoiding that.
|
also sourced. See |'go-M'| about avoiding that.
|
||||||
|
|
||||||
To add your own file types, see |new-filetype| below. To search for help on a
|
To add your own file types, see |new-filetype| below. To search for help on a
|
||||||
@@ -602,35 +602,17 @@ MANPAGER *manpager.vim*
|
|||||||
The :Man command allows you to turn Vim into a manpager (that syntax highlights
|
The :Man command allows you to turn Vim into a manpager (that syntax highlights
|
||||||
manpages and follows linked manpages on hitting CTRL-]).
|
manpages and follows linked manpages on hitting CTRL-]).
|
||||||
|
|
||||||
Works on:
|
For bash,zsh,ksh or dash, add to the config file (.bashrc,.zshrc, ...)
|
||||||
|
|
||||||
- Linux
|
export MANPAGER="vim -M +MANPAGER -"
|
||||||
- Mac OS
|
|
||||||
- FreeBSD
|
|
||||||
- Cygwin
|
|
||||||
- Win 10 under Bash
|
|
||||||
|
|
||||||
Untested:
|
For (t)csh, add to the config file
|
||||||
|
|
||||||
- Amiga OS
|
setenv MANPAGER "vim -M +MANPAGER -"
|
||||||
- BeOS
|
|
||||||
- OS/2
|
|
||||||
|
|
||||||
For bash,zsh,ksh or dash by adding to the config file (.bashrc,.zshrc, ...)
|
For fish, add to the config file
|
||||||
|
|
||||||
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER -"
|
set -x MANPAGER "vim -M +MANPAGER -"
|
||||||
|
|
||||||
For (t)csh by adding to the config file
|
|
||||||
|
|
||||||
setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
|
||||||
|
|
||||||
For fish by adding to the config file
|
|
||||||
|
|
||||||
set -x MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
|
||||||
|
|
||||||
If man sets the $MAN_PN environment variable, like man-db, the most common
|
|
||||||
implementation on Linux and Mac OS, then the "env MAN_PN=1 " part above is
|
|
||||||
superfluous.
|
|
||||||
|
|
||||||
PDF *ft-pdf-plugin*
|
PDF *ft-pdf-plugin*
|
||||||
|
|
||||||
@@ -653,7 +635,7 @@ By default the following options are set, in accordance with PEP8: >
|
|||||||
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
|
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
|
||||||
|
|
||||||
To disable this behaviour, set the following variable in your vimrc: >
|
To disable this behaviour, set the following variable in your vimrc: >
|
||||||
|
|
||||||
let g:python_recommended_style = 0
|
let g:python_recommended_style = 0
|
||||||
|
|
||||||
|
|
||||||
@@ -690,4 +672,23 @@ You can change the default by defining the variable g:tex_flavor to the format
|
|||||||
Currently no other formats are recognized.
|
Currently no other formats are recognized.
|
||||||
|
|
||||||
|
|
||||||
|
VIM *ft-vim-plugin*
|
||||||
|
|
||||||
|
The Vim filetype plugin defines mappings to move to the start and end of
|
||||||
|
functions with [[ and ]]. Move around comments with ]" and [".
|
||||||
|
|
||||||
|
The mappings can be disabled with: >
|
||||||
|
let g:no_vim_maps = 1
|
||||||
|
|
||||||
|
|
||||||
|
ZIMBU *ft-zimbu-plugin*
|
||||||
|
|
||||||
|
The Zimbu filetype plugin defines mappings to move to the start and end of
|
||||||
|
functions with [[ and ]].
|
||||||
|
|
||||||
|
The mappings can be disabled with: >
|
||||||
|
let g:no_zimbu_maps = 1
|
||||||
|
<
|
||||||
|
|
||||||
|
|
||||||
vim:tw=78:ts=8:ft=help:norl:
|
vim:tw=78:ts=8:ft=help:norl:
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ COMMANDS *rust-commands*
|
|||||||
|g:rust_playpen_url| is the base URL to the playpen, by default
|
|g:rust_playpen_url| is the base URL to the playpen, by default
|
||||||
"https://play.rust-lang.org/".
|
"https://play.rust-lang.org/".
|
||||||
|
|
||||||
|g:rust_shortener_url| is the base URL for the shorterner, by
|
|g:rust_shortener_url| is the base URL for the shortener, by
|
||||||
default "https://is.gd/"
|
default "https://is.gd/"
|
||||||
|
|
||||||
:RustFmt *:RustFmt*
|
:RustFmt *:RustFmt*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*gui.txt* For Vim version 8.0. Last change: 2017 Aug 27
|
*gui.txt* For Vim version 8.0. Last change: 2018 Mar 06
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -134,7 +134,7 @@ task bar with the 'guiheadroom' option.
|
|||||||
:winp[os]
|
:winp[os]
|
||||||
Display current position of the top left corner of the GUI vim
|
Display current position of the top left corner of the GUI vim
|
||||||
window in pixels. Does not work in all versions.
|
window in pixels. Does not work in all versions.
|
||||||
Also see |getwinposx()| and |getwinposy()|.
|
Also see |getwinpos()|, |getwinposx()| and |getwinposy()|.
|
||||||
|
|
||||||
:winp[os] {X} {Y} *E466*
|
:winp[os] {X} {Y} *E466*
|
||||||
Put the GUI vim window at the given {X} and {Y} coordinates.
|
Put the GUI vim window at the given {X} and {Y} coordinates.
|
||||||
@@ -162,7 +162,7 @@ window Vim is running in with these commands: >
|
|||||||
*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
|
||||||
framework, most notably iBus, have been known to produce undesirable results
|
framework, most notably iBus, have been known to produce undesirable results
|
||||||
in gVim. These may include an inability to enter spaces, or long delays
|
in gvim. These may include an inability to enter spaces, or long delays
|
||||||
between typing a character and it being recognized by the application.
|
between typing a character and it being recognized by the application.
|
||||||
|
|
||||||
One workaround that has been successful, for unknown reasons, is to prevent
|
One workaround that has been successful, for unknown reasons, is to prevent
|
||||||
@@ -482,6 +482,7 @@ menus and menu items. They are most useful for things that you can't remember
|
|||||||
what the key sequence was.
|
what the key sequence was.
|
||||||
|
|
||||||
For creating menus in a different language, see |:menutrans|.
|
For creating menus in a different language, see |:menutrans|.
|
||||||
|
If you don't want to use menus at all, see |'go-M'|.
|
||||||
|
|
||||||
*menu.vim*
|
*menu.vim*
|
||||||
The default menus are read from the file "$VIMRUNTIME/menu.vim". See
|
The default menus are read from the file "$VIMRUNTIME/menu.vim". See
|
||||||
@@ -498,7 +499,22 @@ in the menu (which can take a bit of time to load). If you want to have all
|
|||||||
filetypes already present at startup, add: >
|
filetypes already present at startup, add: >
|
||||||
:let do_syntax_sel_menu = 1
|
:let do_syntax_sel_menu = 1
|
||||||
|
|
||||||
<
|
The following menuitems show all available color schemes, keymaps and compiler
|
||||||
|
settings:
|
||||||
|
Edit > Color Scheme ~
|
||||||
|
Edit > Keymap ~
|
||||||
|
Tools > Set Compiler ~
|
||||||
|
However, they can also take a bit of time to load, because they search all
|
||||||
|
related files from the directories in 'runtimepath'. Therefore they are
|
||||||
|
loaded lazily (by the |CursorHold| event), or you can also load them manually.
|
||||||
|
If you want to have all these items already present at startup, add: >
|
||||||
|
:let do_no_lazyload_menus = 1
|
||||||
|
|
||||||
|
Note that the menu.vim is sourced when `:syntax on` or `:filetype on` is
|
||||||
|
executed or after your .vimrc file is sourced. This means that the 'encoding'
|
||||||
|
option and the language of messages (`:language messages`) must be set before
|
||||||
|
that (if you want to change them).
|
||||||
|
|
||||||
*console-menus*
|
*console-menus*
|
||||||
Although this documentation is in the GUI section, you can actually use menus
|
Although this documentation is in the GUI section, you can actually use menus
|
||||||
in console mode too. You will have to load |menu.vim| explicitly then, it is
|
in console mode too. You will have to load |menu.vim| explicitly then, it is
|
||||||
@@ -784,10 +800,40 @@ In the Win32 and GTK+ GUI, starting a menu name with ']' excludes that menu
|
|||||||
from the main menu bar. You must then use the |:popup| or |:tearoff| command
|
from the main menu bar. You must then use the |:popup| or |:tearoff| command
|
||||||
to display it.
|
to display it.
|
||||||
|
|
||||||
|
*window-toolbar* *WinBar*
|
||||||
|
Each window can have a local toolbar. This uses the first line of the window,
|
||||||
|
thus reduces the space for the text by one line. The items in the toolbar
|
||||||
|
must start with "WinBar".
|
||||||
|
|
||||||
|
Only text can be used. When using Unicode, special characters can be used to
|
||||||
|
make the items look like icons.
|
||||||
|
|
||||||
|
If the items do not fit then the last ones cannot be used. The toolbar does
|
||||||
|
not wrap.
|
||||||
|
|
||||||
|
Note that Vim may be in any mode when executing these commands. The menu
|
||||||
|
should be defined for Normal mode and will be executed without changing the
|
||||||
|
current mode. Thus if the current window is in Visual mode and the menu
|
||||||
|
command does not intentionally change the mode, Vim will remain in Visual
|
||||||
|
mode. Best is to use `:nnoremenu` to avoid side effects.
|
||||||
|
|
||||||
|
Example for debugger tools: >
|
||||||
|
nnoremenu 1.10 WinBar.Step :Step<CR>
|
||||||
|
nnoremenu 1.20 WinBar.Next :Next<CR>
|
||||||
|
nnoremenu 1.30 WinBar.Finish :Finish<CR>
|
||||||
|
nnoremenu 1.40 WinBar.Cont :Continue<CR>
|
||||||
|
<
|
||||||
|
The window toolbar uses the ToolbarLine and ToolbarButton highlight groups.
|
||||||
|
|
||||||
|
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, Athena 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: >
|
||||||
|
nnoremenu 1.40 PopUp.&Paste "+gP
|
||||||
|
menu PopUp
|
||||||
|
|
||||||
|
|
||||||
5.3 Showing What Menus Are Mapped To *showing-menus*
|
5.3 Showing What Menus Are Mapped To *showing-menus*
|
||||||
@@ -946,10 +992,14 @@ it behaves in a strange way.
|
|||||||
:popu[p] {name} Popup the menu {name}. The menu named must
|
:popu[p] {name} Popup the menu {name}. The menu named must
|
||||||
have at least one subentry, but need not
|
have at least one subentry, but need not
|
||||||
appear on the menu-bar (see |hidden-menus|).
|
appear on the menu-bar (see |hidden-menus|).
|
||||||
{only available for Win32 and GTK GUI}
|
{only available for Win32 and GTK GUI or in
|
||||||
|
the terminal when compiled with +insert_expand}
|
||||||
|
|
||||||
:popu[p]! {name} Like above, but use the position of the mouse
|
:popu[p]! {name} Like above, but use the position of the mouse
|
||||||
pointer instead of the cursor.
|
pointer instead of the cursor.
|
||||||
|
In the terminal this is the last known
|
||||||
|
position, which is usually at the last click
|
||||||
|
or release (mouse movement is irrelevalt).
|
||||||
|
|
||||||
Example: >
|
Example: >
|
||||||
:popup File
|
:popup File
|
||||||
@@ -960,6 +1010,10 @@ pointer if ! was used). >
|
|||||||
:popup ]Toolbar
|
:popup ]Toolbar
|
||||||
This creates a popup menu that doesn't exist on the main menu-bar.
|
This creates a popup menu that doesn't exist on the main menu-bar.
|
||||||
|
|
||||||
|
Note that in the GUI the :popup command will return immediately, before a
|
||||||
|
selection has been made. In the terminal the commands waits for the user to
|
||||||
|
make a selection.
|
||||||
|
|
||||||
Note that a menu that starts with ']' will not be displayed.
|
Note that a menu that starts with ']' will not be displayed.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*gui_w32.txt* For Vim version 8.0. Last change: 2014 Dec 20
|
*gui_w32.txt* For Vim version 8.0. Last change: 2017 Oct 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -382,38 +382,8 @@ Note that a menu that starts with ']' will not be displayed.
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
7. Command line arguments *gui-w32-cmdargs*
|
7. Command line arguments *gui-w32-cmdargs*
|
||||||
|
|
||||||
Analysis of a command line into parameters is not standardised in MS Windows.
|
Command line arguments behave the same way as with the console application,
|
||||||
Gvim has to provide logic to analyse a command line. This logic is likely to
|
see |win32-cmdargs|.
|
||||||
be different from the default logic provided by a compilation system used to
|
|
||||||
build vim. The differences relate to unusual double quote (") usage.
|
|
||||||
The arguments "C:\My Music\freude.txt" and "+/Sch\"iller" are handled in the
|
|
||||||
same way. The argument "+/Sch""iller" may be handled different by gvim and
|
|
||||||
vim, depending what it was compiled with.
|
|
||||||
|
|
||||||
The rules are:
|
|
||||||
a) A parameter is a sequence of graphic characters.
|
|
||||||
b) Parameters are separated by white space.
|
|
||||||
c) A parameter can be enclosed in double quotes to include white space.
|
|
||||||
d) A sequence of zero or more backslashes (\) and a double quote (")
|
|
||||||
is special. The effective number of backslashes is halved, rounded
|
|
||||||
down. An even number of backslashes reverses the acceptability of
|
|
||||||
spaces and tabs, an odd number of backslashes produces a literal
|
|
||||||
double quote.
|
|
||||||
|
|
||||||
So:
|
|
||||||
" is a special double quote
|
|
||||||
\" is a literal double quote
|
|
||||||
\\" is a literal backslash and a special double quote
|
|
||||||
\\\" is a literal backslash and a literal double quote
|
|
||||||
\\\\" is 2 literal backslashes and a special double quote
|
|
||||||
\\\\\" is 2 literal backslashes and a literal double quote
|
|
||||||
etc.
|
|
||||||
|
|
||||||
Example: >
|
|
||||||
gvim "C:\My Music\freude" +"set ignorecase" +/"\"foo\\" +\"bar\\\"
|
|
||||||
|
|
||||||
opens "C:\My Music\freude" and executes the line mode commands: >
|
|
||||||
set ignorecase; /"foo\ and /bar\"
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
8. Various *gui-w32-various*
|
8. Various *gui-w32-various*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*help.txt* For Vim version 8.0. Last change: 2016 Sep 12
|
*help.txt* For Vim version 8.0. Last change: 2017 Oct 28
|
||||||
|
|
||||||
VIM - main help file
|
VIM - main help file
|
||||||
k
|
k
|
||||||
@@ -142,6 +142,7 @@ Special issues ~
|
|||||||
|print.txt| printing
|
|print.txt| printing
|
||||||
|remote.txt| using Vim as a server or client
|
|remote.txt| using Vim as a server or client
|
||||||
|term.txt| using different terminals and mice
|
|term.txt| using different terminals and mice
|
||||||
|
|terminal.txt| Terminal window support
|
||||||
|digraph.txt| list of available digraphs
|
|digraph.txt| list of available digraphs
|
||||||
|mbyte.txt| multi-byte text support
|
|mbyte.txt| multi-byte text support
|
||||||
|mlang.txt| non-English language support
|
|mlang.txt| non-English language support
|
||||||
@@ -150,6 +151,7 @@ Special issues ~
|
|||||||
|hebrew.txt| Hebrew language support and editing
|
|hebrew.txt| Hebrew language support and editing
|
||||||
|russian.txt| Russian language support and editing
|
|russian.txt| Russian language support and editing
|
||||||
|ft_ada.txt| Ada (the programming language) support
|
|ft_ada.txt| Ada (the programming language) support
|
||||||
|
|ft_rust.txt| Filetype plugin for Rust
|
||||||
|ft_sql.txt| about the SQL filetype plugin
|
|ft_sql.txt| about the SQL filetype plugin
|
||||||
|hangulin.txt| Hangul (Korean) input mode
|
|hangulin.txt| Hangul (Korean) input mode
|
||||||
|rileft.txt| right-to-left editing mode
|
|rileft.txt| right-to-left editing mode
|
||||||
@@ -202,6 +204,7 @@ Standard plugins ~
|
|||||||
|pi_logipat.txt| Logical operators on patterns
|
|pi_logipat.txt| Logical operators on patterns
|
||||||
|pi_netrw.txt| Reading and writing files over a network
|
|pi_netrw.txt| Reading and writing files over a network
|
||||||
|pi_paren.txt| Highlight matching parens
|
|pi_paren.txt| Highlight matching parens
|
||||||
|
|pi_spec.txt| Filetype plugin to work with rpm spec files
|
||||||
|pi_tar.txt| Tar file explorer
|
|pi_tar.txt| Tar file explorer
|
||||||
|pi_vimball.txt| Create a self-installing Vim script
|
|pi_vimball.txt| Create a self-installing Vim script
|
||||||
|pi_zip.txt| Zip archive explorer
|
|pi_zip.txt| Zip archive explorer
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_cscop.txt* For Vim version 8.0. Last change: 2017 Jun 14
|
*if_cscop.txt* For Vim version 8.0. Last change: 2018 Jan 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Andy Kahn
|
VIM REFERENCE MANUAL by Andy Kahn
|
||||||
@@ -468,36 +468,18 @@ license or OS distribution), then you can download it for free from:
|
|||||||
http://cscope.sourceforge.net/
|
http://cscope.sourceforge.net/
|
||||||
This is released by SCO under the BSD license.
|
This is released by SCO under the BSD license.
|
||||||
|
|
||||||
If you want a newer version of cscope, you will probably have to buy it.
|
|
||||||
According to the (old) nvi documentation:
|
|
||||||
|
|
||||||
You can buy version 13.3 source with an unrestricted license
|
|
||||||
for $400 from AT&T Software Solutions by calling +1-800-462-8146.
|
|
||||||
|
|
||||||
Also you can download cscope 13.x and mlcscope 14.x (multi-lingual cscope
|
|
||||||
which supports C, C++, Java, lex, yacc, breakpoint listing, Ingres, and SDL)
|
|
||||||
from World-Wide Exptools Open Source packages page:
|
|
||||||
http://www.bell-labs.com/project/wwexptools/packages.html
|
|
||||||
|
|
||||||
In Solaris 2.x, if you have the C compiler license, you will also have
|
In Solaris 2.x, if you have the C compiler license, you will also have
|
||||||
cscope. Both are usually located under /opt/SUNWspro/bin
|
cscope. Both are usually located under /opt/SUNWspro/bin
|
||||||
|
|
||||||
SGI developers can also get it. Search for Cscope on this page:
|
|
||||||
http://freeware.sgi.com/index-by-alpha.html
|
|
||||||
https://toolbox.sgi.com/toolbox/utilities/cscope/
|
|
||||||
The second one is for those who have a password for the SGI toolbox.
|
|
||||||
|
|
||||||
There is source to an older version of a cscope clone (called "cs") available
|
There is source to an older version of a cscope clone (called "cs") available
|
||||||
on the net. Due to various reasons, this is not supported with Vim.
|
on the net. Due to various reasons, this is not supported with Vim.
|
||||||
|
|
||||||
The cscope interface/support for Vim was originally written by
|
The cscope interface/support for Vim was originally written by
|
||||||
Andy Kahn <ackahn@netapp.com>. The original structure (as well as a tiny
|
Andy Kahn <ackahn@netapp.com>. The original structure (as well as a tiny
|
||||||
bit of code) was adapted from the cscope interface in nvi. Please report
|
bit of code) was adapted from the cscope interface in nvi.
|
||||||
any problems, suggestions, patches, et al., you have for the usage of
|
|
||||||
cscope within Vim to him.
|
|
||||||
*cscope-win32*
|
*cscope-win32*
|
||||||
For a cscope version for Win32 see:
|
For a cscope version for Win32 see (seems abandoned):
|
||||||
http://code.google.com/p/cscope-win32/
|
https://code.google.com/archive/p/cscope-win32/
|
||||||
|
|
||||||
Win32 support was added by Sergey Khorev <sergey.khorev@gmail.com>. Contact
|
Win32 support was added by Sergey Khorev <sergey.khorev@gmail.com>. Contact
|
||||||
him if you have Win32-specific issues.
|
him if you have Win32-specific issues.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_mzsch.txt* For Vim version 8.0. Last change: 2016 Jan 24
|
*if_mzsch.txt* For Vim version 8.0. Last change: 2017 Oct 08
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Sergey Khorev
|
VIM REFERENCE MANUAL by Sergey Khorev
|
||||||
@@ -278,12 +278,15 @@ When you don't use the MzScheme interface you don't need them, thus you can
|
|||||||
use Vim without these DLL files.
|
use Vim without these DLL files.
|
||||||
NOTE: Newer version of MzScheme (Racket) require earlier (trampolined)
|
NOTE: Newer version of MzScheme (Racket) require earlier (trampolined)
|
||||||
initialisation via scheme_main_setup. So Vim always loads the MzScheme DLL at
|
initialisation via scheme_main_setup. So Vim always loads the MzScheme DLL at
|
||||||
startup if possible.
|
startup if possible. This may make Vim startup slower.
|
||||||
|
|
||||||
To use the MzScheme interface the MzScheme DLLs must be in your search path.
|
To use the MzScheme interface the MzScheme DLLs must be in your search path.
|
||||||
In a console window type "path" to see what directories are used.
|
In a console window type "path" to see what directories are used.
|
||||||
|
|
||||||
The names of the DLLs must match the MzScheme version Vim was compiled with.
|
On MS-Windows the options 'mzschemedll' and 'mzschemegcdll' are used for the
|
||||||
|
name of the library to load. The initial value is specified at build time.
|
||||||
|
|
||||||
|
The version of the DLL must match the MzScheme version Vim was compiled with.
|
||||||
For MzScheme version 209 they will be "libmzsch209_000.dll" and
|
For MzScheme version 209 they will be "libmzsch209_000.dll" and
|
||||||
"libmzgc209_000.dll". To know for sure look at the output of the ":version"
|
"libmzgc209_000.dll". To know for sure look at the output of the ":version"
|
||||||
command, look for -DDYNAMIC_MZSCH_DLL="something" and
|
command, look for -DDYNAMIC_MZSCH_DLL="something" and
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_perl.txt* For Vim version 8.0. Last change: 2015 Oct 16
|
*if_perl.txt* For Vim version 8.0. Last change: 2017 Nov 24
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Sven Verdoolaege
|
VIM REFERENCE MANUAL by Sven Verdoolaege
|
||||||
@@ -112,7 +112,7 @@ possible.
|
|||||||
Here is an overview of the functions that are available to Perl: >
|
Here is an overview of the functions that are available to Perl: >
|
||||||
|
|
||||||
:perl VIM::Msg("Text") # displays a message
|
:perl VIM::Msg("Text") # displays a message
|
||||||
:perl VIM::Msg("Error", "ErrorMsg") # displays an error message
|
:perl VIM::Msg("Wrong!", "ErrorMsg") # displays an error message
|
||||||
:perl VIM::Msg("remark", "Comment") # displays a highlighted message
|
:perl VIM::Msg("remark", "Comment") # displays a highlighted message
|
||||||
:perl VIM::SetOption("ai") # sets a vim option
|
:perl VIM::SetOption("ai") # sets a vim option
|
||||||
:perl $nbuf = VIM::Buffers() # returns the number of buffers
|
:perl $nbuf = VIM::Buffers() # returns the number of buffers
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_pyth.txt* For Vim version 8.0. Last change: 2017 Mar 09
|
*if_pyth.txt* For Vim version 8.0. Last change: 2018 Jan 30
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Paul Moore
|
VIM REFERENCE MANUAL by Paul Moore
|
||||||
@@ -715,6 +715,8 @@ To facilitate bi-directional interface, you can use |pyeval()| and |py3eval()|
|
|||||||
functions to evaluate Python expressions and pass their values to Vim script.
|
functions to evaluate Python expressions and pass their values to Vim script.
|
||||||
|pyxeval()| is also available.
|
|pyxeval()| is also available.
|
||||||
|
|
||||||
|
The Python value "None" is converted to v:none.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
9. Dynamic loading *python-dynamic*
|
9. Dynamic loading *python-dynamic*
|
||||||
|
|
||||||
@@ -734,8 +736,8 @@ or 'pythonthreedll' option can be also used to specify the Python DLL.
|
|||||||
|
|
||||||
The name of the DLL should match the Python version Vim was compiled with.
|
The name of the DLL should match the Python version Vim was compiled with.
|
||||||
Currently the name for Python 2 is "python27.dll", that is for Python 2.7.
|
Currently the name for Python 2 is "python27.dll", that is for Python 2.7.
|
||||||
That is the default value for 'pythondll'. For Python 3 it is python35.dll
|
That is the default value for 'pythondll'. For Python 3 it is python36.dll
|
||||||
(Python 3.5). To know for sure edit "gvim.exe" and search for
|
(Python 3.6). To know for sure edit "gvim.exe" and search for
|
||||||
"python\d*.dll\c".
|
"python\d*.dll\c".
|
||||||
|
|
||||||
|
|
||||||
@@ -807,7 +809,8 @@ Raising SystemExit exception in python isn't endorsed way to quit vim, use: >
|
|||||||
You can test what Python version is available with: >
|
You can test what Python version is available with: >
|
||||||
if has('python')
|
if has('python')
|
||||||
echo 'there is Python 2.x'
|
echo 'there is Python 2.x'
|
||||||
elseif has('python3')
|
endif
|
||||||
|
if has('python3')
|
||||||
echo 'there is Python 3.x'
|
echo 'there is Python 3.x'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -816,6 +819,24 @@ dynamically, these has() calls will try to load them. If only one can be
|
|||||||
loaded at a time, just checking if Python 2 or 3 are available will prevent
|
loaded at a time, just checking if Python 2 or 3 are available will prevent
|
||||||
the other one from being available.
|
the other one from being available.
|
||||||
|
|
||||||
|
To avoid loading the dynamic library, only check if Vim was compiled with
|
||||||
|
python support: >
|
||||||
|
if has('python_compiled')
|
||||||
|
echo 'compiled with Python 2.x support'
|
||||||
|
if has('python_dynamic')
|
||||||
|
echo 'Python 2.x dynamically loaded'
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
if has('python3_compiled')
|
||||||
|
echo 'compiled with Python 3.x support'
|
||||||
|
if has('python3_dynamic')
|
||||||
|
echo 'Python 3.x dynamically loaded'
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
This also tells you whether Python is dynamically loaded, which will fail if
|
||||||
|
the runtime library cannot be found.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
11. Python X *python_x* *pythonx*
|
11. Python X *python_x* *pythonx*
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_ruby.txt* For Vim version 8.0. Last change: 2016 Sep 01
|
*if_ruby.txt* For Vim version 8.0. Last change: 2018 Mar 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Shugo Maeda
|
VIM REFERENCE MANUAL by Shugo Maeda
|
||||||
@@ -221,6 +221,9 @@ for sure edit "gvim.exe" and search for "ruby\d*.dll\c".
|
|||||||
If you want to build Vim with RubyInstaller 1.9 or 2.X using MSVC, you need
|
If you want to build Vim with RubyInstaller 1.9 or 2.X using MSVC, you need
|
||||||
some tricks. See the src/INSTALLpc.txt for detail.
|
some tricks. See the src/INSTALLpc.txt for detail.
|
||||||
|
|
||||||
|
If Vim is built with RubyInstaller 2.4 or later, you may also need to add
|
||||||
|
"C:\Ruby<version>\bin\ruby_builtin_dlls" to the PATH environment variable.
|
||||||
|
|
||||||
|
|
||||||
Unix ~
|
Unix ~
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*indent.txt* For Vim version 8.0. Last change: 2014 Dec 06
|
*indent.txt* For Vim version 8.0. Last change: 2018 Apr 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -414,10 +414,10 @@ The examples below assume a 'shiftwidth' of 4.
|
|||||||
*cino-(*
|
*cino-(*
|
||||||
(N When in unclosed parentheses, indent N characters from the line
|
(N When in unclosed parentheses, indent N characters from the line
|
||||||
with the unclosed parentheses. Add a 'shiftwidth' for every
|
with the unclosed parentheses. Add a 'shiftwidth' for every
|
||||||
unclosed parentheses. When N is 0 or the unclosed parentheses
|
extra unclosed parentheses. When N is 0 or the unclosed
|
||||||
is the first non-white character in its line, line up with the
|
parentheses is the first non-white character in its line, line
|
||||||
next non-white character after the unclosed parentheses.
|
up with the next non-white character after the unclosed
|
||||||
(default 'shiftwidth' * 2).
|
parentheses. (default 'shiftwidth' * 2).
|
||||||
|
|
||||||
cino= cino=(0 >
|
cino= cino=(0 >
|
||||||
if (c1 && (c2 || if (c1 && (c2 ||
|
if (c1 && (c2 || if (c1 && (c2 ||
|
||||||
@@ -428,7 +428,8 @@ The examples below assume a 'shiftwidth' of 4.
|
|||||||
{ {
|
{ {
|
||||||
<
|
<
|
||||||
*cino-u*
|
*cino-u*
|
||||||
uN Same as (N, but for one level deeper. (default 'shiftwidth').
|
uN Same as (N, but for one nesting level deeper.
|
||||||
|
(default 'shiftwidth').
|
||||||
|
|
||||||
cino= cino=u2 >
|
cino= cino=u2 >
|
||||||
if (c123456789 if (c123456789
|
if (c123456789 if (c123456789
|
||||||
|
|||||||
@@ -1583,13 +1583,17 @@ tag command action ~
|
|||||||
|:tjump| :tj[ump] like ":tselect", but jump directly when there
|
|:tjump| :tj[ump] like ":tselect", but jump directly when there
|
||||||
is only one match
|
is only one match
|
||||||
|:tlast| :tl[ast] jump to last matching tag
|
|:tlast| :tl[ast] jump to last matching tag
|
||||||
|
|:tmapclear| :tmapc[lear] remove all mappings for Terminal-Job mode
|
||||||
|
|:tmap| :tma[p] like ":map" but for Terminal-Job mode
|
||||||
|:tmenu| :tm[enu] define menu tooltip
|
|:tmenu| :tm[enu] define menu tooltip
|
||||||
|:tnext| :tn[ext] jump to next matching tag
|
|:tnext| :tn[ext] jump to next matching tag
|
||||||
|
|:tnoremap| :tno[remap] like ":noremap" but for Terminal-Job mode
|
||||||
|:topleft| :to[pleft] make split window appear at top or far left
|
|:topleft| :to[pleft] make split window appear at top or far left
|
||||||
|:tprevious| :tp[revious] jump to previous matching tag
|
|:tprevious| :tp[revious] jump to previous matching tag
|
||||||
|:trewind| :tr[ewind] jump to first matching tag
|
|:trewind| :tr[ewind] jump to first matching tag
|
||||||
|:try| :try execute commands, abort on error or exception
|
|:try| :try execute commands, abort on error or exception
|
||||||
|:tselect| :ts[elect] list matching tags and select one
|
|:tselect| :ts[elect] list matching tags and select one
|
||||||
|
|:tunmap| :tunma[p] like ":unmap" but for Terminal-Job mode
|
||||||
|:tunmenu| :tu[nmenu] remove menu tooltip
|
|:tunmenu| :tu[nmenu] remove menu tooltip
|
||||||
|:undo| :u[ndo] undo last change(s)
|
|:undo| :u[ndo] undo last change(s)
|
||||||
|:undojoin| :undoj[oin] join next change with previous undo block
|
|:undojoin| :undoj[oin] join next change with previous undo block
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*insert.txt* For Vim version 8.0. Last change: 2017 May 30
|
*insert.txt* For Vim version 8.0. Last change: 2018 Feb 10
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -433,7 +433,7 @@ An example for using CTRL-G U: >
|
|||||||
inoremap ( ()<C-G>U<Left>
|
inoremap ( ()<C-G>U<Left>
|
||||||
|
|
||||||
This makes it possible to use the cursor keys in Insert mode, without breaking
|
This makes it possible to use the cursor keys in Insert mode, without breaking
|
||||||
the undo sequence and therefore using |.| (redo) will work as expected.
|
the undo sequence and therefore using |.| (redo) will work as expected.
|
||||||
Also entering a text like (with the "(" mapping from above): >
|
Also entering a text like (with the "(" mapping from above): >
|
||||||
|
|
||||||
Lorem ipsum (dolor
|
Lorem ipsum (dolor
|
||||||
@@ -1103,6 +1103,8 @@ items:
|
|||||||
item with the same word is already present.
|
item with the same word is already present.
|
||||||
empty when non-zero this match will be added even when it is
|
empty when non-zero this match will be added even when it is
|
||||||
an empty string
|
an empty string
|
||||||
|
user_data custom data which is associated with the item and
|
||||||
|
available in |v:completed_item|
|
||||||
|
|
||||||
All of these except "icase", "dup" and "empty" must be a string. If an item
|
All of these except "icase", "dup" and "empty" must be a string. If an item
|
||||||
does not meet these requirements then an error message is given and further
|
does not meet these requirements then an error message is given and further
|
||||||
@@ -1196,6 +1198,8 @@ The menu is used when:
|
|||||||
|
|
||||||
The 'pumheight' option can be used to set a maximum height. The default is to
|
The 'pumheight' option can be used to set a maximum height. The default is to
|
||||||
use all space available.
|
use all space available.
|
||||||
|
The 'pumwidth' option can be used to set a minimum width. The default is 15
|
||||||
|
characters.
|
||||||
|
|
||||||
There are three states:
|
There are three states:
|
||||||
1. A complete match has been inserted, e.g., after using CTRL-N or CTRL-P.
|
1. A complete match has been inserted, e.g., after using CTRL-N or CTRL-P.
|
||||||
@@ -1296,7 +1300,8 @@ it here: http://ctags.sourceforge.net/ Version 5.6 or later is recommended.
|
|||||||
For version 5.5.4 you should add a patch that adds the "typename:" field:
|
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://georgevreilly.com/vim/ctags.html
|
http://ctags.sourceforge.net/
|
||||||
|
https://github.com/universal-ctags/ctags-win32
|
||||||
|
|
||||||
If you want to complete system functions you can do something like this. Use
|
If you want to complete system functions you can do something like this. Use
|
||||||
ctags to generate a tags file for all the system header files: >
|
ctags to generate a tags file for all the system header files: >
|
||||||
@@ -1472,7 +1477,7 @@ The completions provided by CTRL-X CTRL-O are sensitive to the context:
|
|||||||
|
|
||||||
Notes:
|
Notes:
|
||||||
- Vim will load/evaluate code in order to provide completions. This may
|
- Vim will load/evaluate code in order to provide completions. This may
|
||||||
cause some code execution, which may be a concern. This is no longer
|
cause some code execution, which may be a concern. This is no longer
|
||||||
enabled by default, to enable this feature add >
|
enabled by default, to enable this feature add >
|
||||||
let g:rubycomplete_buffer_loading = 1
|
let g:rubycomplete_buffer_loading = 1
|
||||||
<- In context 1 above, Vim can parse the entire buffer to add a list of
|
<- In context 1 above, Vim can parse the entire buffer to add a list of
|
||||||
@@ -1528,15 +1533,15 @@ that begin with the filetype, "php", in this case. For example these syntax
|
|||||||
groups are included by default with the PHP: phpEnvVar, phpIntVar,
|
groups are included by default with the PHP: phpEnvVar, phpIntVar,
|
||||||
phpFunctions.
|
phpFunctions.
|
||||||
|
|
||||||
If you wish non-filetype syntax items to also be included, you can use a
|
If you wish non-filetype syntax items to also be included, you can use a
|
||||||
regular expression syntax (added in version 13.0 of autoload\syntaxcomplete.vim)
|
regular expression syntax (added in version 13.0 of
|
||||||
to add items. Looking at the output from ":syntax list" while editing a PHP file
|
autoload\syntaxcomplete.vim) to add items. Looking at the output from
|
||||||
I can see some of these entries: >
|
":syntax list" while editing a PHP file I can see some of these entries: >
|
||||||
htmlArg,htmlTag,htmlTagName,javaScriptStatement,javaScriptGlobalObjects
|
htmlArg,htmlTag,htmlTagName,javaScriptStatement,javaScriptGlobalObjects
|
||||||
|
|
||||||
To pick up any JavaScript and HTML keyword syntax groups while editing a PHP
|
To pick up any JavaScript and HTML keyword syntax groups while editing a PHP
|
||||||
file, you can use 3 different regexs, one for each language. Or you can
|
file, you can use 3 different regexs, one for each language. Or you can
|
||||||
simply restrict the include groups to a particular value, without using
|
simply restrict the include groups to a particular value, without using
|
||||||
a regex string: >
|
a regex string: >
|
||||||
let g:omni_syntax_group_include_php = 'php\w\+,javaScript\w\+,html\w\+'
|
let g:omni_syntax_group_include_php = 'php\w\+,javaScript\w\+,html\w\+'
|
||||||
let g:omni_syntax_group_include_php = 'phpFunctions,phpMethods'
|
let g:omni_syntax_group_include_php = 'phpFunctions,phpMethods'
|
||||||
@@ -1549,9 +1554,9 @@ highlight. These items will be available within the omni completion list.
|
|||||||
|
|
||||||
Some people may find this list unwieldy or are only interested in certain
|
Some people may find this list unwieldy or are only interested in certain
|
||||||
items. There are two ways to prune this list (if necessary). If you find
|
items. There are two ways to prune this list (if necessary). If you find
|
||||||
certain syntax groups you do not wish displayed you can use two different
|
certain syntax groups you do not wish displayed you can use two different
|
||||||
methods to identify these groups. The first specifically lists the syntax
|
methods to identify these groups. The first specifically lists the syntax
|
||||||
groups by name. The second uses a regular expression to identify both
|
groups by name. The second uses a regular expression to identify both
|
||||||
syntax groups. Simply add one the following to your vimrc: >
|
syntax groups. Simply add one the following to your vimrc: >
|
||||||
let g:omni_syntax_group_exclude_php = 'phpCoreConstant,phpConstant'
|
let g:omni_syntax_group_exclude_php = 'phpCoreConstant,phpConstant'
|
||||||
let g:omni_syntax_group_exclude_php = 'php\w*Constant'
|
let g:omni_syntax_group_exclude_php = 'php\w*Constant'
|
||||||
@@ -1574,22 +1579,22 @@ vimrc: >
|
|||||||
|
|
||||||
For plugin developers, the plugin exposes a public function OmniSyntaxList.
|
For plugin developers, the plugin exposes a public function OmniSyntaxList.
|
||||||
This function can be used to request a List of syntax items. When editing a
|
This function can be used to request a List of syntax items. When editing a
|
||||||
SQL file (:e syntax.sql) you can use the ":syntax list" command to see the
|
SQL file (:e syntax.sql) you can use the ":syntax list" command to see the
|
||||||
various groups and syntax items. For example: >
|
various groups and syntax items. For example: >
|
||||||
syntax list
|
syntax list
|
||||||
|
|
||||||
Yields data similar to this: >
|
Yields data similar to this:
|
||||||
sqlOperator xxx some prior all like and any escape exists in is not
|
sqlOperator xxx some prior all like and any escape exists in is not ~
|
||||||
or intersect minus between distinct
|
or intersect minus between distinct ~
|
||||||
links to Operator
|
links to Operator ~
|
||||||
sqlType xxx varbit varchar nvarchar bigint int uniqueidentifier
|
sqlType xxx varbit varchar nvarchar bigint int uniqueidentifier ~
|
||||||
date money long tinyint unsigned xml text smalldate
|
date money long tinyint unsigned xml text smalldate ~
|
||||||
double datetime nchar smallint numeric time bit char
|
double datetime nchar smallint numeric time bit char ~
|
||||||
varbinary binary smallmoney
|
varbinary binary smallmoney ~
|
||||||
image float integer timestamp real decimal
|
image float integer timestamp real decimal ~
|
||||||
|
|
||||||
There are two syntax groups listed here: sqlOperator and sqlType. To retrieve
|
There are two syntax groups listed here: sqlOperator and sqlType. To retrieve
|
||||||
a List of syntax items you can call OmniSyntaxList a number of different
|
a List of syntax items you can call OmniSyntaxList a number of different
|
||||||
ways. To retrieve all syntax items regardless of syntax group: >
|
ways. To retrieve all syntax items regardless of syntax group: >
|
||||||
echo OmniSyntaxList( [] )
|
echo OmniSyntaxList( [] )
|
||||||
|
|
||||||
@@ -1606,7 +1611,6 @@ From within a plugin, you would typically assign the output to a List: >
|
|||||||
let myKeywords = []
|
let myKeywords = []
|
||||||
let myKeywords = OmniSyntaxList( ['sqlKeyword'] )
|
let myKeywords = OmniSyntaxList( ['sqlKeyword'] )
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SQL *ft-sql-omni*
|
SQL *ft-sql-omni*
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*intro.txt* For Vim version 8.0. Last change: 2017 Aug 24
|
*intro.txt* For Vim version 8.0. Last change: 2018 Jan 24
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -138,7 +138,7 @@ There are two ways to report bugs, both work:
|
|||||||
see the message. If you don't want that, e.g. because it is a security
|
see the message. If you don't want that, e.g. because it is a security
|
||||||
issue, send it to <bugs@vim.org>, this only goes to the Vim maintainer
|
issue, send it to <bugs@vim.org>, this only goes to the Vim maintainer
|
||||||
(that's Bram).
|
(that's Bram).
|
||||||
2. Open issue on GitHub: https://github.com/vim/vim/issues
|
2. Open an issue on GitHub: https://github.com/vim/vim/issues
|
||||||
The text will be forwarded to the vim-dev maillist.
|
The text will be forwarded to the vim-dev maillist.
|
||||||
|
|
||||||
Please be brief; all the time that is spent on answering mail is subtracted
|
Please be brief; all the time that is spent on answering mail is subtracted
|
||||||
@@ -264,6 +264,10 @@ Vim would never have become what it is now, without the help of these people!
|
|||||||
Juergen Weigert Lattice version, AUX improvements, UNIX and
|
Juergen Weigert Lattice version, AUX improvements, UNIX and
|
||||||
MS-DOS ports, autoconf
|
MS-DOS ports, autoconf
|
||||||
Stefan 'Sec' Zehl Maintainer of vim.org
|
Stefan 'Sec' Zehl Maintainer of vim.org
|
||||||
|
Yasuhiro Matsumoto many MS-Windows improvements
|
||||||
|
Ken Takata fixes and features
|
||||||
|
Kazunobu Kuriyama GTK 3
|
||||||
|
Christian Brabandt many fixes, features, user support, etc.
|
||||||
|
|
||||||
I wish to thank all the people that sent me bug reports and suggestions. The
|
I wish to thank all the people that sent me bug reports and suggestions. The
|
||||||
list is too long to mention them all here. Vim would not be the same without
|
list is too long to mention them all here. Vim would not be the same without
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*map.txt* For Vim version 8.0. Last change: 2017 May 30
|
*map.txt* For Vim version 8.0. Last change: 2017 Sep 23
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -29,7 +29,7 @@ manual.
|
|||||||
1. Key mapping *key-mapping* *mapping* *macro*
|
1. Key mapping *key-mapping* *mapping* *macro*
|
||||||
|
|
||||||
Key mapping is used to change the meaning of typed keys. The most common use
|
Key mapping is used to change the meaning of typed keys. The most common use
|
||||||
is to define a sequence commands for a function key. Example: >
|
is to define a sequence of commands for a function key. Example: >
|
||||||
|
|
||||||
:map <F2> a<C-R>=strftime("%c")<CR><Esc>
|
:map <F2> a<C-R>=strftime("%c")<CR><Esc>
|
||||||
|
|
||||||
@@ -55,6 +55,7 @@ modes.
|
|||||||
:im[ap] {lhs} {rhs} |mapmode-i| *:im* *:imap*
|
:im[ap] {lhs} {rhs} |mapmode-i| *:im* *:imap*
|
||||||
:lm[ap] {lhs} {rhs} |mapmode-l| *:lm* *:lmap*
|
:lm[ap] {lhs} {rhs} |mapmode-l| *:lm* *:lmap*
|
||||||
:cm[ap] {lhs} {rhs} |mapmode-c| *:cm* *:cmap*
|
:cm[ap] {lhs} {rhs} |mapmode-c| *:cm* *:cmap*
|
||||||
|
:tma[p] {lhs} {rhs} |mapmode-t| *:tma* *:tmap*
|
||||||
Map the key sequence {lhs} to {rhs} for the modes
|
Map the key sequence {lhs} to {rhs} for the modes
|
||||||
where the map command applies. The result, including
|
where the map command applies. The result, including
|
||||||
{rhs}, is then further scanned for mappings. This
|
{rhs}, is then further scanned for mappings. This
|
||||||
@@ -71,6 +72,7 @@ modes.
|
|||||||
:ino[remap] {lhs} {rhs} |mapmode-i| *:ino* *:inoremap*
|
:ino[remap] {lhs} {rhs} |mapmode-i| *:ino* *:inoremap*
|
||||||
:ln[oremap] {lhs} {rhs} |mapmode-l| *:ln* *:lnoremap*
|
:ln[oremap] {lhs} {rhs} |mapmode-l| *:ln* *:lnoremap*
|
||||||
:cno[remap] {lhs} {rhs} |mapmode-c| *:cno* *:cnoremap*
|
:cno[remap] {lhs} {rhs} |mapmode-c| *:cno* *:cnoremap*
|
||||||
|
:tno[remap] {lhs} {rhs} |mapmode-t| *:tno* *:tnoremap*
|
||||||
Map the key sequence {lhs} to {rhs} for the modes
|
Map the key sequence {lhs} to {rhs} for the 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
|
||||||
@@ -87,6 +89,7 @@ modes.
|
|||||||
:iu[nmap] {lhs} |mapmode-i| *:iu* *:iunmap*
|
:iu[nmap] {lhs} |mapmode-i| *:iu* *:iunmap*
|
||||||
:lu[nmap] {lhs} |mapmode-l| *:lu* *:lunmap*
|
:lu[nmap] {lhs} |mapmode-l| *:lu* *:lunmap*
|
||||||
:cu[nmap] {lhs} |mapmode-c| *:cu* *:cunmap*
|
:cu[nmap] {lhs} |mapmode-c| *:cu* *:cunmap*
|
||||||
|
:tunma[p] {lhs} |mapmode-t| *:tunma* *:tunmap*
|
||||||
Remove the mapping of {lhs} for the modes where the
|
Remove the mapping of {lhs} for the modes where the
|
||||||
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.
|
||||||
@@ -105,6 +108,7 @@ modes.
|
|||||||
:imapc[lear] |mapmode-i| *:imapc* *:imapclear*
|
:imapc[lear] |mapmode-i| *:imapc* *:imapclear*
|
||||||
:lmapc[lear] |mapmode-l| *:lmapc* *:lmapclear*
|
:lmapc[lear] |mapmode-l| *:lmapc* *:lmapclear*
|
||||||
:cmapc[lear] |mapmode-c| *:cmapc* *:cmapclear*
|
:cmapc[lear] |mapmode-c| *:cmapc* *:cmapclear*
|
||||||
|
:tmapc[lear] |mapmode-t| *:tmapc* *:tmapclear*
|
||||||
Remove ALL mappings for the modes where the map
|
Remove ALL mappings for the modes where the map
|
||||||
command applies. {not in Vi}
|
command applies. {not in Vi}
|
||||||
Use the <buffer> argument to remove buffer-local
|
Use the <buffer> argument to remove buffer-local
|
||||||
@@ -121,6 +125,7 @@ modes.
|
|||||||
:im[ap] |mapmode-i|
|
:im[ap] |mapmode-i|
|
||||||
:lm[ap] |mapmode-l|
|
:lm[ap] |mapmode-l|
|
||||||
:cm[ap] |mapmode-c|
|
:cm[ap] |mapmode-c|
|
||||||
|
:tma[p] |mapmode-t|
|
||||||
List all key mappings for the modes where the map
|
List all key mappings for the modes where the map
|
||||||
command applies. Note that ":map" and ":map!" are
|
command applies. Note that ":map" and ":map!" are
|
||||||
used most often, because they include the other modes.
|
used most often, because they include the other modes.
|
||||||
@@ -135,6 +140,7 @@ modes.
|
|||||||
:im[ap] {lhs} |mapmode-i| *:imap_l*
|
:im[ap] {lhs} |mapmode-i| *:imap_l*
|
||||||
:lm[ap] {lhs} |mapmode-l| *:lmap_l*
|
:lm[ap] {lhs} |mapmode-l| *:lmap_l*
|
||||||
:cm[ap] {lhs} |mapmode-c| *:cmap_l*
|
:cm[ap] {lhs} |mapmode-c| *:cmap_l*
|
||||||
|
:tma[p] {lhs} |mapmode-t| *:tmap_l*
|
||||||
List the key mappings for the key sequences starting
|
List the key mappings for the key sequences starting
|
||||||
with {lhs} in the modes where the map command applies.
|
with {lhs} in the modes where the map command applies.
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
@@ -318,6 +324,7 @@ Overview of which map command works in which mode. More details below.
|
|||||||
:imap :inoremap :iunmap Insert
|
:imap :inoremap :iunmap Insert
|
||||||
:lmap :lnoremap :lunmap Insert, Command-line, Lang-Arg
|
:lmap :lnoremap :lunmap Insert, Command-line, Lang-Arg
|
||||||
:cmap :cnoremap :cunmap Command-line
|
:cmap :cnoremap :cunmap Command-line
|
||||||
|
:tmap :tnoremap :tunmap Terminal-Job
|
||||||
|
|
||||||
|
|
||||||
COMMANDS MODES ~
|
COMMANDS MODES ~
|
||||||
@@ -358,6 +365,10 @@ Therefore the ":map" and ":map!" commands enter and display mappings for
|
|||||||
several modes. In Vim you can use the ":nmap", ":vmap", ":omap", ":cmap" and
|
several modes. In Vim you can use the ":nmap", ":vmap", ":omap", ":cmap" and
|
||||||
":imap" commands to enter mappings for each mode separately.
|
":imap" commands to enter mappings for each mode separately.
|
||||||
|
|
||||||
|
*mapmode-t*
|
||||||
|
The terminal mappings are used in a terminal window, when typing keys for the
|
||||||
|
job running in the terminal. See |terminal-typing|.
|
||||||
|
|
||||||
*omap-info*
|
*omap-info*
|
||||||
Operator-pending mappings can be used to define a movement command that can be
|
Operator-pending mappings can be used to define a movement command that can be
|
||||||
used with any operator. Simple example: ":omap { w" makes "y{" work like "yw"
|
used with any operator. Simple example: ":omap { w" makes "y{" work like "yw"
|
||||||
@@ -418,6 +429,7 @@ When listing mappings the characters in the first two columns are:
|
|||||||
i Insert
|
i Insert
|
||||||
l ":lmap" mappings for Insert, Command-line and Lang-Arg
|
l ":lmap" mappings for Insert, Command-line and Lang-Arg
|
||||||
c Command-line
|
c Command-line
|
||||||
|
t Terminal-Job
|
||||||
|
|
||||||
Just before the {rhs} a special character can appear:
|
Just before the {rhs} a special character can appear:
|
||||||
* indicates that it is not remappable
|
* indicates that it is not remappable
|
||||||
@@ -682,7 +694,7 @@ option). After that it assumes that the 'q' is to be interpreted as such. If
|
|||||||
you type slowly, or your system is slow, reset the 'timeout' option. Then you
|
you type slowly, or your system is slow, reset the 'timeout' option. Then you
|
||||||
might want to set the 'ttimeout' option.
|
might want to set the 'ttimeout' option.
|
||||||
|
|
||||||
*map-precedence*
|
*map-precedence*
|
||||||
Buffer-local mappings (defined using |:map-<buffer>|) take precedence over
|
Buffer-local mappings (defined using |:map-<buffer>|) take precedence over
|
||||||
global mappings. When a buffer-local mapping is the same as a global mapping,
|
global mappings. When a buffer-local mapping is the same as a global mapping,
|
||||||
Vim will use the buffer-local mapping. In addition, Vim will use a complete
|
Vim will use the buffer-local mapping. In addition, Vim will use a complete
|
||||||
@@ -1260,6 +1272,7 @@ By default, the arguments of user defined commands do not undergo completion.
|
|||||||
However, by specifying one or the other of the following attributes, argument
|
However, by specifying one or the other of the following attributes, argument
|
||||||
completion can be enabled:
|
completion can be enabled:
|
||||||
|
|
||||||
|
-complete=arglist file names in argument list
|
||||||
-complete=augroup autocmd groups
|
-complete=augroup autocmd groups
|
||||||
-complete=buffer buffer names
|
-complete=buffer buffer names
|
||||||
-complete=behave :behave suboptions
|
-complete=behave :behave suboptions
|
||||||
@@ -1415,6 +1428,8 @@ The valid escape sequences are
|
|||||||
<line1> The starting line of the command range.
|
<line1> The starting line of the command range.
|
||||||
*<line2>*
|
*<line2>*
|
||||||
<line2> The final line of the command range.
|
<line2> The final line of the command range.
|
||||||
|
*<range>*
|
||||||
|
<range> The number of items in the command range: 0, 1 or 2
|
||||||
*<count>*
|
*<count>*
|
||||||
<count> Any count supplied (as described for the '-range'
|
<count> Any count supplied (as described for the '-range'
|
||||||
and '-count' attributes).
|
and '-count' attributes).
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*mbyte.txt* For Vim version 8.0. Last change: 2016 Jul 21
|
*mbyte.txt* For Vim version 8.0. Last change: 2018 Jan 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||||
@@ -26,8 +26,9 @@ For changing the language of messages and menus see |mlang.txt|.
|
|||||||
7. Input on X11 |mbyte-XIM|
|
7. Input on X11 |mbyte-XIM|
|
||||||
8. Input on MS-Windows |mbyte-IME|
|
8. Input on MS-Windows |mbyte-IME|
|
||||||
9. Input with a keymap |mbyte-keymap|
|
9. Input with a keymap |mbyte-keymap|
|
||||||
10. Using UTF-8 |mbyte-utf8|
|
10. Input with imactivatefunc() |mbyte-func|
|
||||||
11. Overview of options |mbyte-options|
|
11. Using UTF-8 |mbyte-utf8|
|
||||||
|
12. Overview of options |mbyte-options|
|
||||||
|
|
||||||
NOTE: This file contains UTF-8 characters. These may show up as strange
|
NOTE: This file contains UTF-8 characters. These may show up as strange
|
||||||
characters or boxes when using another encoding.
|
characters or boxes when using another encoding.
|
||||||
@@ -1254,7 +1255,35 @@ Combining forms:
|
|||||||
ﭏ 0xfb4f Xal alef-lamed
|
ﭏ 0xfb4f Xal alef-lamed
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
10. Using UTF-8 *mbyte-utf8* *UTF-8* *utf-8* *utf8*
|
10. Input with imactivatefunc() *mbyte-func*
|
||||||
|
|
||||||
|
Vim has the 'imactivatefunc' and 'imstatusfunc' options. These are useful to
|
||||||
|
activate/deactivate the input method from Vim in any way, also with an external
|
||||||
|
command. For example, fcitx provide fcitx-remote command: >
|
||||||
|
|
||||||
|
set iminsert=2
|
||||||
|
set imsearch=2
|
||||||
|
set imcmdline
|
||||||
|
|
||||||
|
set imactivatefunc=ImActivate
|
||||||
|
function! ImActivate(active)
|
||||||
|
if a:active
|
||||||
|
call system('fcitx-remote -o')
|
||||||
|
else
|
||||||
|
call system('fcitx-remote -c')
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
set imstatusfunc=ImStatus
|
||||||
|
function! ImStatus()
|
||||||
|
return system('fcitx-remote')[0] is# '2'
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
Using this script, you can activate/deactivate XIM via Vim even when it is not
|
||||||
|
compiled with |+xim|.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
11. Using UTF-8 *mbyte-utf8* *UTF-8* *utf-8* *utf8*
|
||||||
*Unicode* *unicode*
|
*Unicode* *unicode*
|
||||||
The Unicode character set was designed to include all characters from other
|
The Unicode character set was designed to include all characters from other
|
||||||
character sets. Therefore it is possible to write text in any language using
|
character sets. Therefore it is possible to write text in any language using
|
||||||
@@ -1402,7 +1431,7 @@ not everybody is able to type a composing character.
|
|||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
11. Overview of options *mbyte-options*
|
12. Overview of options *mbyte-options*
|
||||||
|
|
||||||
These options are relevant for editing multi-byte files. Check the help in
|
These options are relevant for editing multi-byte files. Check the help in
|
||||||
options.txt for detailed information.
|
options.txt for detailed information.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*message.txt* For Vim version 8.0. Last change: 2017 Mar 25
|
*message.txt* For Vim version 8.0. Last change: 2018 Feb 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -76,7 +76,7 @@ See `:messages` above.
|
|||||||
LIST OF MESSAGES
|
LIST OF MESSAGES
|
||||||
*E222* *E228* *E232* *E256* *E293* *E298* *E304* *E317*
|
*E222* *E228* *E232* *E256* *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* >
|
*E323* *E341* *E473* *E570* *E685* *E950* >
|
||||||
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
|
||||||
@@ -97,6 +97,7 @@ LIST OF MESSAGES
|
|||||||
Internal error
|
Internal error
|
||||||
Internal error: {function}
|
Internal error: {function}
|
||||||
fatal error in cs_manage_matches
|
fatal error in cs_manage_matches
|
||||||
|
Invalid count for del_bytes(): {N}
|
||||||
|
|
||||||
This is an internal error. If you can reproduce it, please send in a bug
|
This is an internal error. If you can reproduce it, please send in a bug
|
||||||
report. |bugs|
|
report. |bugs|
|
||||||
@@ -463,12 +464,6 @@ changed. To avoid the message reset the 'warn' option.
|
|||||||
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|
|
||||||
|
|
||||||
*E172* >
|
|
||||||
Only one file name allowed
|
|
||||||
|
|
||||||
The ":edit" command only accepts one file name. When you want to specify
|
|
||||||
several files for editing use ":next" |:next|.
|
|
||||||
|
|
||||||
*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)
|
||||||
@@ -645,6 +640,9 @@ starts. It can be fixed in one of these ways:
|
|||||||
- Just write the file again the next day. Or set your clock to the next day,
|
- Just write the file again the next day. Or set your clock to the next day,
|
||||||
write the file twice and set the clock back.
|
write the file twice and set the clock back.
|
||||||
|
|
||||||
|
If you get W11 all the time, you may need to disable "Acronis Active
|
||||||
|
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
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*motion.txt* For Vim version 8.0. Last change: 2017 Mar 12
|
*motion.txt* For Vim version 8.0. Last change: 2017 Oct 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -1317,7 +1317,10 @@ the current line is included. You can then use "%" to go to the matching line.
|
|||||||
H To line [count] from top (Home) of window (default:
|
H To line [count] from top (Home) of window (default:
|
||||||
first line on the window) on the first non-blank
|
first line on the window) on the first non-blank
|
||||||
character |linewise|. See also 'startofline' option.
|
character |linewise|. See also 'startofline' option.
|
||||||
Cursor is adjusted for 'scrolloff' option.
|
Cursor is adjusted for 'scrolloff' option, unless an
|
||||||
|
operator is pending, in which case the text may
|
||||||
|
scroll. E.g. "yH" yanks from the first visible line
|
||||||
|
until the cursor line (inclusive).
|
||||||
|
|
||||||
*M*
|
*M*
|
||||||
M To Middle line of window, on the first non-blank
|
M To Middle line of window, on the first non-blank
|
||||||
@@ -1327,7 +1330,10 @@ M To Middle line of window, on the first non-blank
|
|||||||
L To line [count] from bottom of window (default: Last
|
L To line [count] from bottom of window (default: Last
|
||||||
line on the window) on the first non-blank character
|
line on the window) on the first non-blank character
|
||||||
|linewise|. See also 'startofline' option.
|
|linewise|. See also 'startofline' option.
|
||||||
Cursor is adjusted for 'scrolloff' option.
|
Cursor is adjusted for 'scrolloff' option, unless an
|
||||||
|
operator is pending, in which case the text may
|
||||||
|
scroll. E.g. "yL" yanks from the cursor to the last
|
||||||
|
visible line.
|
||||||
|
|
||||||
<LeftMouse> Moves to the position on the screen where the mouse
|
<LeftMouse> Moves to the position on the screen where the mouse
|
||||||
click is |exclusive|. See also |<LeftMouse>|. If the
|
click is |exclusive|. See also |<LeftMouse>|. If the
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*options.txt* For Vim version 8.0. Last change: 2017 Aug 27
|
*options.txt* For Vim version 8.0. Last change: 2018 Mar 13
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -50,7 +50,7 @@ achieve special effects. These options come in three forms:
|
|||||||
:se[t] {option}&vi Reset option to its Vi default value. {not in Vi}
|
:se[t] {option}&vi Reset option to its Vi default value. {not in Vi}
|
||||||
:se[t] {option}&vim Reset option to its Vim default value. {not in Vi}
|
:se[t] {option}&vim Reset option to its Vim default value. {not in Vi}
|
||||||
|
|
||||||
:se[t] all& Set all options to their default value. The values of
|
:se[t] all& Set all options to their default value. The values of
|
||||||
these options are not changed:
|
these options are not changed:
|
||||||
all terminal options, starting with t_
|
all terminal options, starting with t_
|
||||||
'columns'
|
'columns'
|
||||||
@@ -402,8 +402,8 @@ Setting the filetype
|
|||||||
used to set the option value in, unless this is a help
|
used to set the option value in, unless this is a help
|
||||||
window, in which case the window below help window is
|
window, in which case the window below help window is
|
||||||
used (skipping the option-window).
|
used (skipping the option-window).
|
||||||
{not available when compiled without the |+eval| or
|
{not available when compiled without the |+eval|
|
||||||
|+autocmd| features}
|
feature}
|
||||||
|
|
||||||
*$HOME*
|
*$HOME*
|
||||||
Using "~" is like using "$HOME", but it is only recognized at the start of an
|
Using "~" is like using "$HOME", but it is only recognized at the start of an
|
||||||
@@ -423,6 +423,16 @@ command, not when assigning a value to an option with ":let".
|
|||||||
*$HOME-windows*
|
*$HOME-windows*
|
||||||
On MS-Windows, if $HOME is not defined as an environment variable, then
|
On MS-Windows, if $HOME is not defined as an environment variable, then
|
||||||
at runtime Vim will set it to the expansion of $HOMEDRIVE$HOMEPATH.
|
at runtime Vim will set it to the expansion of $HOMEDRIVE$HOMEPATH.
|
||||||
|
If $HOMEDRIVE is not set then $USERPROFILE is used.
|
||||||
|
|
||||||
|
This expanded value is not exported to the environment, this matters when
|
||||||
|
running an external command: >
|
||||||
|
:echo system('set | findstr ^HOME=')
|
||||||
|
and >
|
||||||
|
:echo luaeval('os.getenv("HOME")')
|
||||||
|
should echo nothing (an empty string) despite exists('$HOME') being true.
|
||||||
|
When setting $HOME to a non-empty string it will be exported to the
|
||||||
|
subprocesses.
|
||||||
|
|
||||||
|
|
||||||
Note the maximum length of an expanded option is limited. How much depends on
|
Note the maximum length of an expanded option is limited. How much depends on
|
||||||
@@ -722,7 +732,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
|
|
||||||
Vim may set this option automatically at startup time when Vim is
|
Vim may set this option automatically at startup time when Vim is
|
||||||
compiled with the |+termresponse| feature and if |t_u7| is set to the
|
compiled with the |+termresponse| feature and if |t_u7| is set to the
|
||||||
escape sequence to request cursor position report.
|
escape sequence to request cursor position report. The response can
|
||||||
|
be found in |v:termu7resp|.
|
||||||
|
|
||||||
*'antialias'* *'anti'* *'noantialias'* *'noanti'*
|
*'antialias'* *'anti'* *'noantialias'* *'noanti'*
|
||||||
'antialias' 'anti' boolean (default: off)
|
'antialias' 'anti' boolean (default: off)
|
||||||
@@ -870,11 +881,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
< Vim will guess the value. In the GUI this should work correctly,
|
< Vim will guess the value. In the GUI this should work correctly,
|
||||||
in other cases Vim might not be able to guess the right value.
|
in other cases Vim might not be able to guess the right value.
|
||||||
|
|
||||||
When the t_BG option is set, Vim will use it to request the background
|
When the |t_RB| option is set, Vim will use it to request the background
|
||||||
color from the terminal. If the returned RGB value is dark/light and
|
color from the terminal. If the returned RGB value is dark/light and
|
||||||
'background' is not dark/light, 'background' will be set and the
|
'background' is not dark/light, 'background' will be set and the
|
||||||
screen is redrawn. This may have side effects, make t_BG empty in
|
screen is redrawn. This may have side effects, make t_BG empty in
|
||||||
your .vimrc if you suspect this problem.
|
your .vimrc if you suspect this problem. The response to |t_RB| can
|
||||||
|
be found in |v:termrbgresp|.
|
||||||
|
|
||||||
When starting the GUI, the default value for 'background' will be
|
When starting the GUI, the default value for 'background' will be
|
||||||
"light". When the value is not set in the .gvimrc, and Vim detects
|
"light". When the value is not set in the .gvimrc, and Vim detects
|
||||||
@@ -1075,7 +1087,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
< Use 'backupdir' to put the backup in a different directory.
|
< Use 'backupdir' to put the backup in a different directory.
|
||||||
|
|
||||||
*'backupskip'* *'bsk'*
|
*'backupskip'* *'bsk'*
|
||||||
'backupskip' 'bsk' string (default: "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*")
|
'backupskip' 'bsk' string (default: "$TMPDIR/*,$TMP/*,$TEMP/*"
|
||||||
|
Unix: "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*"
|
||||||
|
Mac: "/private/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*")
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{not available when compiled without the |+wildignore|
|
{not available when compiled without the |+wildignore|
|
||||||
@@ -1115,7 +1129,16 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
{not in Vi}
|
{not in Vi}
|
||||||
{only available when compiled with the |+balloon_eval|
|
{only available when compiled with the |+balloon_eval|
|
||||||
feature}
|
feature}
|
||||||
Switch on the |balloon-eval| functionality.
|
Switch on the |balloon-eval| functionality for the GUI.
|
||||||
|
|
||||||
|
*'balloonevalterm'* *'bevalterm'* *'noballoonevalterm'*
|
||||||
|
*'nobevalterm'*
|
||||||
|
'balloonevalterm' 'bevalterm' boolean (default off)
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only available when compiled with the
|
||||||
|
|+balloon_eval_term| feature}
|
||||||
|
Switch on the |balloon-eval| functionality for the terminal.
|
||||||
|
|
||||||
*'balloonexpr'* *'bexpr'*
|
*'balloonexpr'* *'bexpr'*
|
||||||
'balloonexpr' 'bexpr' string (default "")
|
'balloonexpr' 'bexpr' string (default "")
|
||||||
@@ -1304,7 +1327,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
characters. It permits dynamic French paragraph
|
characters. It permits dynamic French paragraph
|
||||||
indentation (negative) or emphasizing the line
|
indentation (negative) or emphasizing the line
|
||||||
continuation (positive).
|
continuation (positive).
|
||||||
sbr Display the 'showbreak' value before applying the
|
sbr Display the 'showbreak' value before applying the
|
||||||
additional indent.
|
additional indent.
|
||||||
The default value for min is 20 and shift is 0.
|
The default value for min is 20 and shift is 0.
|
||||||
|
|
||||||
@@ -1364,8 +1387,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
written
|
written
|
||||||
nowrite buffer which will not be written
|
nowrite buffer which will not be written
|
||||||
acwrite buffer which will always be written with BufWriteCmd
|
acwrite buffer which will always be written with BufWriteCmd
|
||||||
autocommands. {not available when compiled without the
|
autocommands.
|
||||||
|+autocmd| feature}
|
|
||||||
quickfix quickfix buffer, contains list of errors |:cwindow|
|
quickfix quickfix buffer, contains list of errors |:cwindow|
|
||||||
or list of locations |:lwindow|
|
or list of locations |:lwindow|
|
||||||
help help buffer (you are not supposed to set this
|
help help buffer (you are not supposed to set this
|
||||||
@@ -1787,7 +1809,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'copyindent' + off don't copy indent structure
|
'copyindent' + off don't copy indent structure
|
||||||
'cpoptions' & (all flags) Vi-compatible flags
|
'cpoptions' & (all flags) Vi-compatible flags
|
||||||
'cscopepathcomp'+ 0 don't show directories in tags list
|
'cscopepathcomp'+ 0 don't show directories in tags list
|
||||||
'cscoperelative'+ off
|
'cscoperelative'+ off don't use basename of path as prefix
|
||||||
'cscopetag' + off don't use cscope for ":tag"
|
'cscopetag' + off don't use cscope for ":tag"
|
||||||
'cscopetagorder'+ 0 see |cscopetagorder|
|
'cscopetagorder'+ 0 see |cscopetagorder|
|
||||||
'cscopeverbose' + off see |cscopeverbose|
|
'cscopeverbose' + off see |cscopeverbose|
|
||||||
@@ -2445,8 +2467,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'cursorbind' 'crb' boolean (default off)
|
'cursorbind' 'crb' boolean (default off)
|
||||||
local to window
|
local to window
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{not available when compiled without the |+cursorbind|
|
|
||||||
feature}
|
|
||||||
When this option is set, as the cursor in the current
|
When this option is set, as the cursor in the current
|
||||||
window moves other cursorbound windows (windows that also have
|
window moves other cursorbound windows (windows that also have
|
||||||
this option set) move their cursors to the corresponding line and
|
this option set) move their cursors to the corresponding line and
|
||||||
@@ -2613,6 +2633,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
vertical Start diff mode with vertical splits (unless
|
vertical Start diff mode with vertical splits (unless
|
||||||
explicitly specified otherwise).
|
explicitly specified otherwise).
|
||||||
|
|
||||||
|
hiddenoff Do not use diff mode for a buffer when it
|
||||||
|
becomes hidden.
|
||||||
|
|
||||||
foldcolumn:{n} Set the 'foldcolumn' option to {n} when
|
foldcolumn:{n} Set the 'foldcolumn' option to {n} when
|
||||||
starting diff mode. Without this 2 is used.
|
starting diff mode. Without this 2 is used.
|
||||||
|
|
||||||
@@ -2894,8 +2917,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'eventignore' 'ei' string (default "")
|
'eventignore' 'ei' string (default "")
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{not available when compiled without the |+autocmd|
|
|
||||||
feature}
|
|
||||||
A list of autocommand event names, which are to be ignored.
|
A list of autocommand event names, which are to be ignored.
|
||||||
When set to "all" or when "all" is one of the items, all autocommand
|
When set to "all" or when "all" is one of the items, all autocommand
|
||||||
events are ignored, autocommands will not be executed.
|
events are ignored, autocommands will not be executed.
|
||||||
@@ -3144,8 +3165,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'filetype' 'ft' string (default: "")
|
'filetype' 'ft' string (default: "")
|
||||||
local to buffer
|
local to buffer
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{not available when compiled without the |+autocmd|
|
|
||||||
feature}
|
|
||||||
When this option is set, the FileType autocommand event is triggered.
|
When this option is set, the FileType autocommand event is triggered.
|
||||||
All autocommands that match with the value of this option will be
|
All autocommands that match with the value of this option will be
|
||||||
executed. Thus the value of 'filetype' is used in place of the file
|
executed. Thus the value of 'filetype' is used in place of the file
|
||||||
@@ -3444,7 +3463,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
when internal formatting is used. Make sure the cursor is kept in the
|
when internal formatting is used. Make sure the cursor is kept in the
|
||||||
same spot relative to the text then! The |mode()| function will
|
same spot relative to the text then! The |mode()| function will
|
||||||
return "i" or "R" in this situation.
|
return "i" or "R" in this situation.
|
||||||
|
|
||||||
When the expression evaluates to non-zero Vim will fall back to using
|
When the expression evaluates to non-zero Vim will fall back to using
|
||||||
the internal format mechanism.
|
the internal format mechanism.
|
||||||
|
|
||||||
@@ -3509,6 +3528,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
systems without an fsync() implementation, this variable is always
|
systems without an fsync() implementation, this variable is always
|
||||||
off.
|
off.
|
||||||
Also see 'swapsync' for controlling fsync() on swap files.
|
Also see 'swapsync' for controlling fsync() on swap files.
|
||||||
|
'fsync' also applies to |writefile()|, unless a flag is used to
|
||||||
|
overrule it.
|
||||||
|
|
||||||
*'gdefault'* *'gd'* *'nogdefault'* *'nogd'*
|
*'gdefault'* *'gd'* *'nogdefault'* *'nogd'*
|
||||||
'gdefault' 'gd' boolean (default off)
|
'gdefault' 'gd' boolean (default off)
|
||||||
@@ -3826,7 +3847,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
To avoid problems with flags that are added in the future, use the
|
To avoid problems with flags that are added in the future, use the
|
||||||
"+=" and "-=" feature of ":set" |add-option-flags|.
|
"+=" and "-=" feature of ":set" |add-option-flags|.
|
||||||
|
|
||||||
Valid letters are as follows:
|
Valid characters are as follows:
|
||||||
|
*'go-!'*
|
||||||
|
'!' External commands are executed in a terminal window. Without
|
||||||
|
this flag the MS-Windows GUI will open a console window to
|
||||||
|
execute the command. The Unix GUI will simulate a dumb
|
||||||
|
terminal to list the command output.
|
||||||
|
The terminal window will be positioned at the bottom, and grow
|
||||||
|
upwards as needed.
|
||||||
*guioptions_a* *'go-a'*
|
*guioptions_a* *'go-a'*
|
||||||
'a' Autoselect: If present, then whenever VISUAL mode is started,
|
'a' Autoselect: If present, then whenever VISUAL mode is started,
|
||||||
or the Visual area extended, Vim tries to become the owner of
|
or the Visual area extended, Vim tries to become the owner of
|
||||||
@@ -3883,7 +3911,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
that this flag must be added in the .vimrc file, before
|
that this flag must be added in the .vimrc file, before
|
||||||
switching on syntax or filetype recognition (when the |gvimrc|
|
switching on syntax or filetype recognition (when the |gvimrc|
|
||||||
file is sourced the system menu has already been loaded; the
|
file is sourced the system menu has already been loaded; the
|
||||||
":syntax on" and ":filetype on" commands load the menu too).
|
`:syntax on` and `:filetype on` commands load the menu too).
|
||||||
*'go-g'*
|
*'go-g'*
|
||||||
'g' Grey menu items: Make menu items that are not active grey. If
|
'g' Grey menu items: Make menu items that are not active grey. If
|
||||||
'g' is not included inactive menu items are not shown at all.
|
'g' is not included inactive menu items are not shown at all.
|
||||||
@@ -3927,7 +3955,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
removing it after the GUI has started has no effect.
|
removing it after the GUI has started has no effect.
|
||||||
*'go-F'*
|
*'go-F'*
|
||||||
'F' Add a footer. Only for Motif. See |gui-footer|.
|
'F' Add a footer. Only for Motif. See |gui-footer|.
|
||||||
|
*'go-k'*
|
||||||
|
'k' Keep the GUI window size when adding/removing a scrollbar, or
|
||||||
|
toolbar, tabline, etc. Instead, the behavior is similar to
|
||||||
|
when the window is maximized and will adjust 'lines' and
|
||||||
|
'columns' to fit to the window. Without the 'k' flag Vim will
|
||||||
|
try to keep 'lines' and 'columns' the same when adding and
|
||||||
|
removing GUI components.
|
||||||
|
|
||||||
*'guipty'* *'noguipty'*
|
*'guipty'* *'noguipty'*
|
||||||
'guipty' boolean (default on)
|
'guipty' boolean (default on)
|
||||||
@@ -4071,7 +4105,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
set.
|
set.
|
||||||
|hl-Question| r |hit-enter| prompt and yes/no questions
|
|hl-Question| r |hit-enter| prompt and yes/no questions
|
||||||
|hl-StatusLine| s status line of current window |status-line|
|
|hl-StatusLine| s status line of current window |status-line|
|
||||||
|hl-StatusLineNC| S status lines of not-current windows
|
|hl-StatusLineNC| S status lines of not-current windows
|
||||||
|hl-Title| t Titles for output from ":set all", ":autocmd" etc.
|
|hl-Title| t Titles for output from ":set all", ":autocmd" etc.
|
||||||
|hl-VertSplit| c column used to separate vertically split windows
|
|hl-VertSplit| c column used to separate vertically split windows
|
||||||
|hl-Visual| v Visual mode
|
|hl-Visual| v Visual mode
|
||||||
@@ -4105,6 +4139,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
s standout (termcap entry "so" and "se")
|
s standout (termcap entry "so" and "se")
|
||||||
u underline (termcap entry "us" and "ue")
|
u underline (termcap entry "us" and "ue")
|
||||||
c undercurl (termcap entry "Cs" and "Ce")
|
c undercurl (termcap entry "Cs" and "Ce")
|
||||||
|
t strikethrough (termcap entry "Ts" and "Te")
|
||||||
n no highlighting
|
n no highlighting
|
||||||
- no highlighting
|
- no highlighting
|
||||||
: use a highlight group
|
: use a highlight group
|
||||||
@@ -4226,10 +4261,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'imactivatefunc' 'imaf' string (default "")
|
'imactivatefunc' 'imaf' string (default "")
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{only available when compiled with |+xim| and
|
{only available when compiled with |+mbyte|}
|
||||||
|+GUI_GTK|}
|
|
||||||
This option specifies a function that will be called to
|
This option specifies a function that will be called to
|
||||||
activate/inactivate Input Method.
|
activate or deactivate the Input Method.
|
||||||
|
It is not used in the GUI.
|
||||||
|
|
||||||
Example: >
|
Example: >
|
||||||
function ImActivateFunc(active)
|
function ImActivateFunc(active)
|
||||||
@@ -4278,8 +4313,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'imcmdline' 'imc' boolean (default off)
|
'imcmdline' 'imc' boolean (default off)
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{only available when compiled with the |+xim|,
|
{only available when compiled with |+mbyte|}
|
||||||
|+multi_byte_ime| or |global-ime| features}
|
|
||||||
When set the Input Method is always on when starting to edit a command
|
When set the Input Method is always on when starting to edit a command
|
||||||
line, unless entering a search pattern (see 'imsearch' for that).
|
line, unless entering a search pattern (see 'imsearch' for that).
|
||||||
Setting this option is useful when your input method allows entering
|
Setting this option is useful when your input method allows entering
|
||||||
@@ -4290,15 +4324,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'imdisable' 'imd' boolean (default off, on for some systems (SGI))
|
'imdisable' 'imd' boolean (default off, on for some systems (SGI))
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{only available when compiled with the |+xim|,
|
{only available when compiled with |+mbyte|}
|
||||||
|+multi_byte_ime| or |global-ime| features}
|
|
||||||
When set the Input Method is never used. This is useful to disable
|
When set the Input Method is never used. This is useful to disable
|
||||||
the IM when it doesn't work properly.
|
the IM when it doesn't work properly.
|
||||||
Currently this option is on by default for SGI/IRIX machines. This
|
Currently this option is on by default for SGI/IRIX machines. This
|
||||||
may change in later releases.
|
may change in later releases.
|
||||||
|
|
||||||
*'iminsert'* *'imi'*
|
*'iminsert'* *'imi'*
|
||||||
'iminsert' 'imi' number (default 0, 2 when an input method is supported)
|
'iminsert' 'imi' number (default 0)
|
||||||
local to buffer
|
local to buffer
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
Specifies whether :lmap or an Input Method (IM) is to be used in
|
Specifies whether :lmap or an Input Method (IM) is to be used in
|
||||||
@@ -4306,8 +4339,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
0 :lmap is off and IM is off
|
0 :lmap is off and IM is off
|
||||||
1 :lmap is ON and IM is off
|
1 :lmap is ON and IM is off
|
||||||
2 :lmap is off and IM is ON
|
2 :lmap is off and IM is ON
|
||||||
2 is available only when compiled with the |+multi_byte_ime|, |+xim|
|
|
||||||
or |global-ime|.
|
|
||||||
To always reset the option to zero when leaving Insert mode with <Esc>
|
To always reset the option to zero when leaving Insert mode with <Esc>
|
||||||
this can be used: >
|
this can be used: >
|
||||||
:inoremap <ESC> <ESC>:set iminsert=0<CR>
|
:inoremap <ESC> <ESC>:set iminsert=0<CR>
|
||||||
@@ -4320,8 +4351,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
The value 0 may not work correctly with Athena and Motif with some XIM
|
The value 0 may not work correctly with Athena and Motif with some XIM
|
||||||
methods. Use 'imdisable' to disable XIM then.
|
methods. Use 'imdisable' to disable XIM then.
|
||||||
|
|
||||||
|
You can set 'imactivatefunc' and 'imstatusfunc' to handle IME/XIM
|
||||||
|
via external command if vim is not compiled with the |+xim|,
|
||||||
|
|+multi_byte_ime| or |global-ime|.
|
||||||
|
|
||||||
*'imsearch'* *'ims'*
|
*'imsearch'* *'ims'*
|
||||||
'imsearch' 'ims' number (default 0, 2 when an input method is supported)
|
'imsearch' 'ims' number (default -1)
|
||||||
local to buffer
|
local to buffer
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
Specifies whether :lmap or an Input Method (IM) is to be used when
|
Specifies whether :lmap or an Input Method (IM) is to be used when
|
||||||
@@ -4342,10 +4377,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'imstatusfunc' 'imsf' string (default "")
|
'imstatusfunc' 'imsf' string (default "")
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{only available when compiled with |+xim| and
|
{only available when compiled with |+mbyte|}
|
||||||
|+GUI_GTK|}
|
|
||||||
This option specifies a function that is called to obtain the status
|
This option specifies a function that is called to obtain the status
|
||||||
of Input Method. It must return a positive number when IME is active.
|
of Input Method. It must return a positive number when IME is active.
|
||||||
|
It is not used in the GUI.
|
||||||
|
|
||||||
Example: >
|
Example: >
|
||||||
function ImStatusFunc()
|
function ImStatusFunc()
|
||||||
@@ -4362,13 +4397,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
{not in Vi}
|
{not in Vi}
|
||||||
{only available when compiled with |+xim| and
|
{only available when compiled with |+xim| and
|
||||||
|+GUI_GTK|}
|
|+GUI_GTK|}
|
||||||
This option specifies the input style of Input Method.
|
This option specifies the input style of Input Method:
|
||||||
Set to zero if you want to use on-the-spot style.
|
0 use on-the-spot style
|
||||||
Set to one if you want to use over-the-spot style.
|
1 over-the-spot style
|
||||||
See: |xim-input-style|
|
See: |xim-input-style|
|
||||||
|
|
||||||
For a long time on-the-spot sytle had been used in GTK version of vim,
|
For a long time on-the-spot style had been used in the GTK version of
|
||||||
however, it is known that it causes troubles when using mappings,
|
vim, however, it is known that it causes troubles when using mappings,
|
||||||
|single-repeat|, etc. Therefore over-the-spot style becomes the
|
|single-repeat|, etc. Therefore over-the-spot style becomes the
|
||||||
default now. This should work fine for most people, however if you
|
default now. This should work fine for most people, however if you
|
||||||
have any problem with it, try using on-the-spot style.
|
have any problem with it, try using on-the-spot style.
|
||||||
@@ -4434,7 +4469,17 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
match may not be found. This is to avoid that Vim hangs while you
|
match may not be found. This is to avoid that Vim hangs while you
|
||||||
are typing the pattern.
|
are typing the pattern.
|
||||||
The highlighting can be set with the 'i' flag in 'highlight'.
|
The highlighting can be set with the 'i' flag in 'highlight'.
|
||||||
See also: 'hlsearch'.
|
When 'hlsearch' is on, all matched strings are highlighted too while
|
||||||
|
typing a search command. See also: 'hlsearch'.
|
||||||
|
If you don't want turn 'hlsearch' on, but want to highlight all matches
|
||||||
|
while searching, you can turn on and off 'hlsearch' with autocmd.
|
||||||
|
Example: >
|
||||||
|
augroup vimrc-incsearch-highlight
|
||||||
|
autocmd!
|
||||||
|
autocmd CmdlineEnter /,\? :set hlsearch
|
||||||
|
autocmd CmdlineLeave /,\? :set nohlsearch
|
||||||
|
augroup END
|
||||||
|
<
|
||||||
CTRL-L can be used to add one character from after the current match
|
CTRL-L can be used to add one character from after the current match
|
||||||
to the command line. If 'ignorecase' and 'smartcase' are set and the
|
to the command line. If 'ignorecase' and 'smartcase' are set and the
|
||||||
command line has no uppercase characters, the added character is
|
command line has no uppercase characters, the added character is
|
||||||
@@ -5071,8 +5116,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
global or local to buffer |global-local|
|
global or local to buffer |global-local|
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
Program to use for the ":make" command. See |:make_makeprg|.
|
Program to use for the ":make" command. See |:make_makeprg|.
|
||||||
This option may contain '%' and '#' characters (see |:_%| and |:_#|),
|
This option may contain '%' and '#' characters (see |:_%| and |:_#|),
|
||||||
which are expanded to the current and alternate file name. Use |::S|
|
which are expanded to the current and alternate file name. Use |::S|
|
||||||
to escape file names in case they contain special characters.
|
to escape file names in case they contain special characters.
|
||||||
Environment variables are expanded |:set_env|. See |option-backslash|
|
Environment variables are expanded |:set_env|. See |option-backslash|
|
||||||
about including spaces and backslashes.
|
about including spaces and backslashes.
|
||||||
@@ -5104,7 +5149,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
:au FileType c,cpp,java set mps+==:;
|
:au FileType c,cpp,java set mps+==:;
|
||||||
|
|
||||||
< For a more advanced way of using "%", see the matchit.vim plugin in
|
< For a more advanced way of using "%", see the matchit.vim plugin in
|
||||||
the $VIMRUNTIME/macros directory. |add-local-help|
|
the $VIMRUNTIME/pack/dist/opt/matchit directory. |add-local-help|
|
||||||
|
|
||||||
*'matchtime'* *'mat'*
|
*'matchtime'* *'mat'*
|
||||||
'matchtime' 'mat' number (default 5)
|
'matchtime' 'mat' number (default 5)
|
||||||
@@ -5160,8 +5205,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
{not in Vi}
|
{not in Vi}
|
||||||
Maximum amount of memory (in Kbyte) to use for one buffer. When this
|
Maximum amount of memory (in Kbyte) to use for one buffer. When this
|
||||||
limit is reached allocating extra memory for a buffer will cause
|
limit is reached allocating extra memory for a buffer will cause
|
||||||
other memory to be freed. The maximum usable value is about 2000000.
|
other memory to be freed.
|
||||||
Use this to work without a limit. Also see 'maxmemtot'.
|
The maximum usable value is about 2000000. Use this to work without a
|
||||||
|
limit.
|
||||||
|
The value is ignored when 'swapfile' is off.
|
||||||
|
Also see 'maxmemtot'.
|
||||||
|
|
||||||
*'maxmempattern'* *'mmp'*
|
*'maxmempattern'* *'mmp'*
|
||||||
'maxmempattern' 'mmp' number (default 1000)
|
'maxmempattern' 'mmp' number (default 1000)
|
||||||
@@ -5190,6 +5238,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
need more than 2 Gbyte for text editing? Keep in mind that text is
|
need more than 2 Gbyte for text editing? Keep in mind that text is
|
||||||
stored in the swap file, one can edit files > 2 Gbyte anyway. We do
|
stored in the swap file, one can edit files > 2 Gbyte anyway. We do
|
||||||
need the memory to store undo info.
|
need the memory to store undo info.
|
||||||
|
Buffers with 'swapfile' off still count to the total amount of memory
|
||||||
|
used.
|
||||||
Also see 'maxmem'.
|
Also see 'maxmem'.
|
||||||
|
|
||||||
*'menuitems'* *'mis'*
|
*'menuitems'* *'mis'*
|
||||||
@@ -5286,6 +5336,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
an explanation.
|
an explanation.
|
||||||
When 'buftype' is "nowrite" or "nofile" this option may be set, but
|
When 'buftype' is "nowrite" or "nofile" this option may be set, but
|
||||||
will be ignored.
|
will be ignored.
|
||||||
|
Note that the text may actually be the same, e.g. 'modified' is set
|
||||||
|
when using "rA" on an "A".
|
||||||
|
|
||||||
*'more'* *'nomore'*
|
*'more'* *'nomore'*
|
||||||
'more' boolean (Vim default: on, Vi default: off)
|
'more' boolean (Vim default: on, Vi default: off)
|
||||||
@@ -5307,7 +5359,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
sysmouse and Linux console with gpm). For using the mouse in the
|
sysmouse and Linux console with gpm). For using the mouse in the
|
||||||
GUI, see |gui-mouse|.
|
GUI, see |gui-mouse|.
|
||||||
The mouse can be enabled for different modes:
|
The mouse can be enabled for different modes:
|
||||||
n Normal mode
|
n Normal mode and Terminal modes
|
||||||
v Visual mode
|
v Visual mode
|
||||||
i Insert mode
|
i Insert mode
|
||||||
c Command-line mode
|
c Command-line mode
|
||||||
@@ -5374,6 +5426,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
|
|
||||||
In the "popup" model the right mouse button produces a pop-up menu.
|
In the "popup" model the right mouse button produces a pop-up menu.
|
||||||
You need to define this first, see |popup-menu|.
|
You need to define this first, see |popup-menu|.
|
||||||
|
In a terminal the popup menu works if Vim is compiled with the
|
||||||
|
|+insert_expand| option.
|
||||||
|
|
||||||
Note that you can further refine the meaning of buttons with mappings.
|
Note that you can further refine the meaning of buttons with mappings.
|
||||||
See |gui-mouse-mapping|. But mappings are NOT used for modeless
|
See |gui-mouse-mapping|. But mappings are NOT used for modeless
|
||||||
@@ -5455,6 +5509,33 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
time in msec between two mouse clicks for the second click to be
|
time in msec between two mouse clicks for the second click to be
|
||||||
recognized as a multi click.
|
recognized as a multi click.
|
||||||
|
|
||||||
|
*'mzschemedll'*
|
||||||
|
'mzschemedll' string (default depends on the build)
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only available when compiled with the |+mzscheme/dyn|
|
||||||
|
feature}
|
||||||
|
Specifies the name of the MzScheme shared library. The default is
|
||||||
|
DYNAMIC_MZSCH_DLL which was specified at compile time.
|
||||||
|
Environment variables are expanded |:set_env|.
|
||||||
|
The value must be set in the |vimrc| script or earlier. In the
|
||||||
|
startup, before the |load-plugins| step.
|
||||||
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
|
security reasons.
|
||||||
|
|
||||||
|
*'mzschemegcdll'*
|
||||||
|
'mzschemegcdll' string (default depends on the build)
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only available when compiled with the |+mzscheme/dyn|
|
||||||
|
feature}
|
||||||
|
Specifies the name of the MzScheme GC shared library. The default is
|
||||||
|
DYNAMIC_MZGC_DLL which was specified at compile time.
|
||||||
|
The value can be equal to 'mzschemedll' if it includes the GC code.
|
||||||
|
Environment variables are expanded |:set_env|.
|
||||||
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
|
security reasons.
|
||||||
|
|
||||||
*'mzquantum'* *'mzq'*
|
*'mzquantum'* *'mzq'*
|
||||||
'mzquantum' 'mzq' number (default 100)
|
'mzquantum' 'mzq' number (default 100)
|
||||||
global
|
global
|
||||||
@@ -5679,11 +5760,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
copy of the original file will be kept. The name of the copy is the
|
copy of the original file will be kept. The name of the copy is the
|
||||||
name of the original file with the string in the 'patchmode' option
|
name of the original file with the string in the 'patchmode' option
|
||||||
appended. This option should start with a dot. Use a string like
|
appended. This option should start with a dot. Use a string like
|
||||||
".org". 'backupdir' must not be empty for this to work (Detail: The
|
".orig" or ".org". 'backupdir' must not be empty for this to work
|
||||||
backup file is renamed to the patchmode file after the new file has
|
(Detail: The backup file is renamed to the patchmode file after the
|
||||||
been successfully written, that's why it must be possible to write a
|
new file has been successfully written, that's why it must be possible
|
||||||
backup file). If there was no file to be backed up, an empty file is
|
to write a backup file). If there was no file to be backed up, an
|
||||||
created.
|
empty file is created.
|
||||||
When the 'backupskip' pattern matches, a patchmode file is not made.
|
When the 'backupskip' pattern matches, a patchmode file is not made.
|
||||||
Using 'patchmode' for compressed files appends the extension at the
|
Using 'patchmode' for compressed files appends the extension at the
|
||||||
end (e.g., "file.gz.orig"), thus the resulting name isn't always
|
end (e.g., "file.gz.orig"), thus the resulting name isn't always
|
||||||
@@ -5745,6 +5826,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
< Replace the ';' with a ':' or whatever separator is used. Note that
|
< Replace the ';' with a ':' or whatever separator is used. Note that
|
||||||
this doesn't work when $INCL contains a comma or white space.
|
this doesn't work when $INCL contains a comma or white space.
|
||||||
|
|
||||||
|
*'perldll'*
|
||||||
|
'perldll' string (default depends on the build)
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only available when compiled with the |+perl/dyn|
|
||||||
|
feature}
|
||||||
|
Specifies the name of the Perl shared library. The default is
|
||||||
|
DYNAMIC_PERL_DLL, which was specified at compile time.
|
||||||
|
Environment variables are expanded |:set_env|.
|
||||||
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
|
security reasons.
|
||||||
|
|
||||||
*'preserveindent'* *'pi'* *'nopreserveindent'* *'nopi'*
|
*'preserveindent'* *'pi'* *'nopreserveindent'* *'nopi'*
|
||||||
'preserveindent' 'pi' boolean (default off)
|
'preserveindent' 'pi' boolean (default off)
|
||||||
local to buffer
|
local to buffer
|
||||||
@@ -5873,6 +5966,15 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
Insert mode completion. When zero as much space as available is used.
|
Insert mode completion. When zero as much space as available is used.
|
||||||
|ins-completion-menu|.
|
|ins-completion-menu|.
|
||||||
|
|
||||||
|
*'pumwidth'* *'pw'*
|
||||||
|
'pumwidth' 'pw' number (default 15)
|
||||||
|
global
|
||||||
|
{not available when compiled without the
|
||||||
|
|+insert_expand| feature}
|
||||||
|
{not in Vi}
|
||||||
|
Determines the minimum width to use for the popup menu for Insert mode
|
||||||
|
completion. |ins-completion-menu|.
|
||||||
|
|
||||||
*'pythondll'*
|
*'pythondll'*
|
||||||
'pythondll' string (default depends on the build)
|
'pythondll' string (default depends on the build)
|
||||||
global
|
global
|
||||||
@@ -5883,6 +5985,20 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
DYNAMIC_PYTHON_DLL, which was specified at compile time.
|
DYNAMIC_PYTHON_DLL, which was specified at compile time.
|
||||||
Environment variables are expanded |:set_env|.
|
Environment variables are expanded |:set_env|.
|
||||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
|
security reasons.
|
||||||
|
|
||||||
|
*'pythonhome'*
|
||||||
|
'pythonhome' string (default "")
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only available when compiled with the |+python/dyn|
|
||||||
|
feature}
|
||||||
|
Specifies the name of the Python 2.x home directory. When 'pythonhome'
|
||||||
|
and the PYTHONHOME environment variable are not set, PYTHON_HOME,
|
||||||
|
which was specified at compile time, will be used for the Python 2.x
|
||||||
|
home directory.
|
||||||
|
Environment variables are expanded |:set_env|.
|
||||||
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
security reasons.
|
security reasons.
|
||||||
|
|
||||||
*'pythonthreedll'*
|
*'pythonthreedll'*
|
||||||
@@ -5895,6 +6011,20 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
DYNAMIC_PYTHON3_DLL, which was specified at compile time.
|
DYNAMIC_PYTHON3_DLL, which was specified at compile time.
|
||||||
Environment variables are expanded |:set_env|.
|
Environment variables are expanded |:set_env|.
|
||||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
|
security reasons.
|
||||||
|
|
||||||
|
*'pythonthreehome'*
|
||||||
|
'pythonthreehome' string (default "")
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only available when compiled with the |+python3/dyn|
|
||||||
|
feature}
|
||||||
|
Specifies the name of the Python 3 home directory. When
|
||||||
|
'pythonthreehome' and the PYTHONHOME environment variable are not set,
|
||||||
|
PYTHON3_HOME, which was specified at compile time, will be used for
|
||||||
|
the Python 3 home directory.
|
||||||
|
Environment variables are expanded |:set_env|.
|
||||||
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
security reasons.
|
security reasons.
|
||||||
|
|
||||||
*'pyxversion'* *'pyx'*
|
*'pyxversion'* *'pyx'*
|
||||||
@@ -5998,7 +6128,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
characters are put before the number.
|
characters are put before the number.
|
||||||
See |hl-LineNr| and |hl-CursorLineNr| for the highlighting used for
|
See |hl-LineNr| and |hl-CursorLineNr| for the highlighting used for
|
||||||
the number.
|
the number.
|
||||||
|
|
||||||
The number in front of the cursor line also depends on the value of
|
The number in front of the cursor line also depends on the value of
|
||||||
'number', see |number_relativenumber| for all combinations of the two
|
'number', see |number_relativenumber| for all combinations of the two
|
||||||
options.
|
options.
|
||||||
@@ -6040,9 +6170,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
geom pixelGeometry int 0 - 2 (see below)
|
geom pixelGeometry int 0 - 2 (see below)
|
||||||
renmode renderingMode int 0 - 6 (see below)
|
renmode renderingMode int 0 - 6 (see below)
|
||||||
taamode textAntialiasMode int 0 - 3 (see below)
|
taamode textAntialiasMode int 0 - 3 (see below)
|
||||||
|
scrlines Scroll Lines int (deprecated)
|
||||||
|
|
||||||
See this URL for detail:
|
See this URL for detail (except for scrlines):
|
||||||
http://msdn.microsoft.com/en-us/library/dd368190.aspx
|
https://msdn.microsoft.com/en-us/library/dd368190.aspx
|
||||||
|
|
||||||
For geom: structure of a device pixel.
|
For geom: structure of a device pixel.
|
||||||
0 - DWRITE_PIXEL_GEOMETRY_FLAT
|
0 - DWRITE_PIXEL_GEOMETRY_FLAT
|
||||||
@@ -6050,7 +6181,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
2 - DWRITE_PIXEL_GEOMETRY_BGR
|
2 - DWRITE_PIXEL_GEOMETRY_BGR
|
||||||
|
|
||||||
See this URL for detail:
|
See this URL for detail:
|
||||||
http://msdn.microsoft.com/en-us/library/dd368114.aspx
|
https://msdn.microsoft.com/en-us/library/dd368114.aspx
|
||||||
|
|
||||||
For renmode: method of rendering glyphs.
|
For renmode: method of rendering glyphs.
|
||||||
0 - DWRITE_RENDERING_MODE_DEFAULT
|
0 - DWRITE_RENDERING_MODE_DEFAULT
|
||||||
@@ -6062,7 +6193,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
6 - DWRITE_RENDERING_MODE_OUTLINE
|
6 - DWRITE_RENDERING_MODE_OUTLINE
|
||||||
|
|
||||||
See this URL for detail:
|
See this URL for detail:
|
||||||
http://msdn.microsoft.com/en-us/library/dd368118.aspx
|
https://msdn.microsoft.com/en-us/library/dd368118.aspx
|
||||||
|
|
||||||
For taamode: antialiasing mode used for drawing text.
|
For taamode: antialiasing mode used for drawing text.
|
||||||
0 - D2D1_TEXT_ANTIALIAS_MODE_DEFAULT
|
0 - D2D1_TEXT_ANTIALIAS_MODE_DEFAULT
|
||||||
@@ -6071,15 +6202,41 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
3 - D2D1_TEXT_ANTIALIAS_MODE_ALIASED
|
3 - D2D1_TEXT_ANTIALIAS_MODE_ALIASED
|
||||||
|
|
||||||
See this URL for detail:
|
See this URL for detail:
|
||||||
http://msdn.microsoft.com/en-us/library/dd368170.aspx
|
https://msdn.microsoft.com/en-us/library/dd368170.aspx
|
||||||
|
|
||||||
|
For scrlines:
|
||||||
|
This was used for optimizing scrolling behavior, however this
|
||||||
|
is now deprecated. If specified, it is simply ignored.
|
||||||
|
|
||||||
Example: >
|
Example: >
|
||||||
set encoding=utf-8
|
set encoding=utf-8
|
||||||
set gfn=Ricty_Diminished:h12:cSHIFTJIS
|
set gfn=Ricty_Diminished:h12
|
||||||
set rop=type:directx
|
set rop=type:directx
|
||||||
<
|
<
|
||||||
If select a raster font (Courier, Terminal or FixedSys) to
|
If select a raster font (Courier, Terminal or FixedSys which
|
||||||
'guifont', it fallbacks to be drawn by GDI automatically.
|
have ".fon" extension in file name) to 'guifont', it will be
|
||||||
|
drawn by GDI as a fallback.
|
||||||
|
|
||||||
|
NOTE: It is known that some fonts and options combination
|
||||||
|
causes trouble on drawing glyphs.
|
||||||
|
|
||||||
|
- 'renmode:5' and 'renmode:6' will not work with some
|
||||||
|
special made fonts (True-Type fonts which includes only
|
||||||
|
bitmap glyphs).
|
||||||
|
- 'taamode:3' will not work with some vector fonts.
|
||||||
|
|
||||||
|
NOTE: With this option, you can display colored emoji
|
||||||
|
(emoticon) in Windows 8.1 or later. To display colored emoji,
|
||||||
|
there are some conditions which you should notice.
|
||||||
|
|
||||||
|
- If your font includes non-colored emoji already, it will
|
||||||
|
be used.
|
||||||
|
- If your font doesn't have emoji, the system chooses an
|
||||||
|
alternative symbol font. On Windows 10, "Segoe UI Emoji"
|
||||||
|
will be used.
|
||||||
|
- When this alternative font didn't have fixed width glyph,
|
||||||
|
emoji might be rendered beyond the bounding box of drawing
|
||||||
|
cell.
|
||||||
|
|
||||||
Other render types are currently not supported.
|
Other render types are currently not supported.
|
||||||
|
|
||||||
@@ -6290,6 +6447,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
to find files which replace a distributed runtime files. You can put
|
to find files which replace a distributed runtime files. You can put
|
||||||
a directory after $VIMRUNTIME to find files which add to distributed
|
a directory after $VIMRUNTIME to find files which add to distributed
|
||||||
runtime files.
|
runtime files.
|
||||||
|
When Vim is started with |--clean| the home directory entries are not
|
||||||
|
included.
|
||||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
security reasons.
|
security reasons.
|
||||||
|
|
||||||
@@ -6308,8 +6467,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'scrollbind' 'scb' boolean (default off)
|
'scrollbind' 'scb' boolean (default off)
|
||||||
local to window
|
local to window
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{not available when compiled without the |+scrollbind|
|
|
||||||
feature}
|
|
||||||
See also |scroll-binding|. When this option is set, the current
|
See also |scroll-binding|. When this option is set, the current
|
||||||
window scrolls as other scrollbind windows (windows that also have
|
window scrolls as other scrollbind windows (windows that also have
|
||||||
this option set) scroll. This option is useful for viewing the
|
this option set) scroll. This option is useful for viewing the
|
||||||
@@ -6347,8 +6504,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
*'scrollopt'* *'sbo'*
|
*'scrollopt'* *'sbo'*
|
||||||
'scrollopt' 'sbo' string (default "ver,jump")
|
'scrollopt' 'sbo' string (default "ver,jump")
|
||||||
global
|
global
|
||||||
{not available when compiled without the |+scrollbind|
|
|
||||||
feature}
|
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
This is a comma-separated list of words that specifies how
|
This is a comma-separated list of words that specifies how
|
||||||
'scrollbind' windows should behave. 'sbo' stands for ScrollBind
|
'scrollbind' windows should behave. 'sbo' stands for ScrollBind
|
||||||
@@ -6438,7 +6593,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
|
|
||||||
*'sessionoptions'* *'ssop'*
|
*'sessionoptions'* *'ssop'*
|
||||||
'sessionoptions' 'ssop' string (default: "blank,buffers,curdir,folds,
|
'sessionoptions' 'ssop' string (default: "blank,buffers,curdir,folds,
|
||||||
help,options,tabpages,winsize")
|
help,options,tabpages,winsize,terminal")
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{not available when compiled without the |+mksession|
|
{not available when compiled without the |+mksession|
|
||||||
@@ -6470,6 +6625,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
tabpages all tab pages; without this only the current tab page
|
tabpages all tab pages; without this only the current tab page
|
||||||
is restored, so that you can make a session for each
|
is restored, so that you can make a session for each
|
||||||
tab page separately
|
tab page separately
|
||||||
|
terminal include terminal windows where the command can be restored
|
||||||
unix with Unix end-of-line format (single <NL>), even when
|
unix with Unix end-of-line format (single <NL>), even when
|
||||||
on Windows or DOS
|
on Windows or DOS
|
||||||
winpos position of the whole Vim window
|
winpos position of the whole Vim window
|
||||||
@@ -6493,14 +6649,21 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
It is allowed to give an argument to the command, e.g. "csh -f".
|
It is allowed to give an argument to the command, e.g. "csh -f".
|
||||||
See |option-backslash| about including spaces and backslashes.
|
See |option-backslash| about including spaces and backslashes.
|
||||||
Environment variables are expanded |:set_env|.
|
Environment variables are expanded |:set_env|.
|
||||||
|
|
||||||
If the name of the shell contains a space, you might need to enclose
|
If the name of the shell contains a space, you might need to enclose
|
||||||
it in quotes. Example: >
|
it in quotes or escape the space. Example with quotes: >
|
||||||
:set shell=\"c:\program\ files\unix\sh.exe\"\ -f
|
:set shell=\"c:\program\ files\unix\sh.exe\"\ -f
|
||||||
< Note the backslash before each quote (to avoid starting a comment) and
|
< Note the backslash before each quote (to avoid starting a comment) and
|
||||||
each space (to avoid ending the option value). Also note that the
|
each space (to avoid ending the option value). Also note that the
|
||||||
"-f" is not inside the quotes, because it is not part of the command
|
"-f" is not inside the quotes, because it is not part of the command
|
||||||
name. And Vim automagically recognizes the backslashes that are path
|
name. Vim automagically recognizes the backslashes that are path
|
||||||
separators.
|
separators.
|
||||||
|
Example with escaped space (Vim will do this when initializing the
|
||||||
|
option from $SHELL): >
|
||||||
|
:set shell=/bin/with\\\ space/sh
|
||||||
|
< The resulting value of 'shell' is "/bin/with\ space/sh", two
|
||||||
|
backslashes are consumed by `:set`.
|
||||||
|
|
||||||
Under MS-Windows, when the executable ends in ".com" it must be
|
Under MS-Windows, when the executable ends in ".com" it must be
|
||||||
included. Thus setting the shell to "command.com" or "4dos.com"
|
included. Thus setting the shell to "command.com" or "4dos.com"
|
||||||
works, but "command" and "4dos" do not work for all commands (e.g.,
|
works, but "command" and "4dos" do not work for all commands (e.g.,
|
||||||
@@ -7258,7 +7421,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
W F Preview window flag, text is ",PRV".
|
W F Preview window flag, text is ",PRV".
|
||||||
y F Type of file in the buffer, e.g., "[vim]". See 'filetype'.
|
y F Type of file in the buffer, e.g., "[vim]". See 'filetype'.
|
||||||
Y F Type of file in the buffer, e.g., ",VIM". See 'filetype'.
|
Y F Type of file in the buffer, e.g., ",VIM". See 'filetype'.
|
||||||
{not available when compiled without |+autocmd| feature}
|
|
||||||
q S "[Quickfix List]", "[Location List]" or empty.
|
q S "[Quickfix List]", "[Location List]" or empty.
|
||||||
k S Value of "b:keymap_name" or 'keymap' when |:lmap| mappings are
|
k S Value of "b:keymap_name" or 'keymap' when |:lmap| mappings are
|
||||||
being used: "<keymap>"
|
being used: "<keymap>"
|
||||||
@@ -7403,6 +7565,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
Also see |swap-file| and |'swapsync'|.
|
Also see |swap-file| and |'swapsync'|.
|
||||||
If you want to open a new buffer without creating a swap file for it,
|
If you want to open a new buffer without creating a swap file for it,
|
||||||
use the |:noswapfile| modifier.
|
use the |:noswapfile| modifier.
|
||||||
|
See 'directory' for where the swap file is created.
|
||||||
|
|
||||||
This option is used together with 'bufhidden' and 'buftype' to
|
This option is used together with 'bufhidden' and 'buftype' to
|
||||||
specify special kinds of buffers. See |special-buffers|.
|
specify special kinds of buffers. See |special-buffers|.
|
||||||
@@ -7749,17 +7912,24 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
:set encoding=utf-8
|
:set encoding=utf-8
|
||||||
< You need to do this when your system has no locale support for UTF-8.
|
< You need to do this when your system has no locale support for UTF-8.
|
||||||
|
|
||||||
*'termguicolors'* *'tgc'*
|
*'termguicolors'* *'tgc'* *E954*
|
||||||
'termguicolors' 'tgc' boolean (default off)
|
'termguicolors' 'tgc' boolean (default off)
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{not available when compiled without the
|
{not available when compiled without the
|
||||||
|+termguicolors| feature}
|
|+termguicolors| feature}
|
||||||
When on, uses |highlight-guifg| and |highlight-guibg| attributes in
|
When on, uses |highlight-guifg| and |highlight-guibg| attributes in
|
||||||
the terminal (thus using 24-bit color). Requires a ISO-8613-3
|
the terminal (thus using 24-bit color).
|
||||||
compatible terminal.
|
|
||||||
If setting this option does not work (produces a colorless UI)
|
Requires a ISO-8613-3 compatible terminal. If setting this option
|
||||||
reading |xterm-true-color| might help.
|
does not work (produces a colorless UI) reading |xterm-true-color|
|
||||||
|
might help.
|
||||||
|
|
||||||
|
For Win32 console, Windows 10 version 1703 (Creators Update) or later
|
||||||
|
is required. Use this check to find out: >
|
||||||
|
if has('vcon')
|
||||||
|
< This requires Vim to be built with the |+vtp| feature.
|
||||||
|
|
||||||
Note that the "cterm" attributes are still used, not the "gui" ones.
|
Note that the "cterm" attributes are still used, not the "gui" ones.
|
||||||
NOTE: This option is reset when 'compatible' is set.
|
NOTE: This option is reset when 'compatible' is set.
|
||||||
|
|
||||||
@@ -7846,7 +8016,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
non-keyword characters (white space is preferred). Maximum line
|
non-keyword characters (white space is preferred). Maximum line
|
||||||
length is 510 bytes.
|
length is 510 bytes.
|
||||||
To obtain a file to be used here, check out this ftp site:
|
To obtain a file to be used here, check out this ftp site:
|
||||||
[Sorry this link doesn't work anymore, do you know the right one?]
|
[Sorry this link doesn't work anymore, do you know the right one?]
|
||||||
ftp://ftp.ox.ac.uk/pub/wordlists/ First get the README file.
|
ftp://ftp.ox.ac.uk/pub/wordlists/ First get the README file.
|
||||||
To include a comma in a file name precede it with a backslash. Spaces
|
To include a comma in a file name precede it with a backslash. Spaces
|
||||||
after a comma are ignored, otherwise spaces are included in the file
|
after a comma are ignored, otherwise spaces are included in the file
|
||||||
@@ -8153,7 +8323,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
number, more intelligent detection process runs.
|
number, more intelligent detection process runs.
|
||||||
The "xterm2" value will be set if the xterm version is reported to be
|
The "xterm2" value will be set if the xterm version is reported to be
|
||||||
from 95 to 276. The "sgr" value will be set if the xterm version is
|
from 95 to 276. The "sgr" value will be set if the xterm version is
|
||||||
277 or highter.
|
277 or higher and when Vim detects Mac Terminal.app or iTerm2.
|
||||||
If you do not want 'ttymouse' to be set to "xterm2" or "sgr"
|
If you do not want 'ttymouse' to be set to "xterm2" or "sgr"
|
||||||
automatically, set t_RV to an empty string: >
|
automatically, set t_RV to an empty string: >
|
||||||
:set t_RV=
|
:set t_RV=
|
||||||
@@ -8234,7 +8404,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
Save the whole buffer for undo when reloading it. This applies to the
|
Save the whole buffer for undo when reloading it. This applies to the
|
||||||
":e!" command and reloading for when the buffer changed outside of
|
":e!" command and reloading for when the buffer changed outside of
|
||||||
Vim. |FileChangedShell|
|
Vim. |FileChangedShell|
|
||||||
The save only happens when this options is negative or when the number
|
The save only happens when this option is negative or when the number
|
||||||
of lines is smaller than the value of this option.
|
of lines is smaller than the value of this option.
|
||||||
Set this option to zero to disable undo for a reload.
|
Set this option to zero to disable undo for a reload.
|
||||||
|
|
||||||
@@ -8319,7 +8489,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
security reasons.
|
security reasons.
|
||||||
|
|
||||||
*'viewoptions'* *'vop'*
|
*'viewoptions'* *'vop'*
|
||||||
'viewoptions' 'vop' string (default: "folds,options,cursor")
|
'viewoptions' 'vop' string (default: "folds,options,cursor,curdir")
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{not available when compiled without the |+mksession|
|
{not available when compiled without the |+mksession|
|
||||||
@@ -8337,6 +8507,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
slashes
|
slashes
|
||||||
unix with Unix end-of-line format (single <NL>), even when
|
unix with Unix end-of-line format (single <NL>), even when
|
||||||
on Windows or DOS
|
on Windows or DOS
|
||||||
|
curdir the window-local directory, if set with `:lcd`
|
||||||
|
|
||||||
"slash" and "unix" are useful on Windows when sharing view files
|
"slash" and "unix" are useful on Windows when sharing view files
|
||||||
with Unix. The Unix version of Vim cannot source dos format scripts,
|
with Unix. The Unix version of Vim cannot source dos format scripts,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*os_mac.txt* For Vim version 8.0. Last change: 2017 Apr 28
|
*os_mac.txt* For Vim version 8.0. Last change: 2018 Jan 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||||
@@ -164,8 +164,9 @@ If you want to disable it, pass `--disable-darwin` to the configure script: >
|
|||||||
and then run `make` to build Vim. The order of the options doesn't matter.
|
and then run `make` to build Vim. The order of the options doesn't matter.
|
||||||
|
|
||||||
To make sure at runtime whether or not the darwin feature is compiled in, you
|
To make sure at runtime whether or not the darwin feature is compiled in, you
|
||||||
can use `has('macunix')` which returns 1 if the feature is compiled in; 0
|
can use `has('osxdarwin')` which returns 1 if the feature is compiled in; 0
|
||||||
otherwise.
|
otherwise. For backward compatibility, you can still use `macunix` instead of
|
||||||
|
`osxdarwin`.
|
||||||
|
|
||||||
Notable use cases where `--disable-darwin` is turned out to be useful are:
|
Notable use cases where `--disable-darwin` is turned out to be useful are:
|
||||||
|
|
||||||
|
|||||||
@@ -81,10 +81,45 @@ The directory of the Vim executable is appended to $PATH. This is mostly to
|
|||||||
make "!xxd" work, as it is in the Tools menu. And it also means that when
|
make "!xxd" work, as it is in the Tools menu. And it also means that when
|
||||||
executable() returns 1 the executable can actually be executed.
|
executable() returns 1 the executable can actually be executed.
|
||||||
|
|
||||||
Quotes in file names *win32-quotes*
|
Command line arguments *win32-cmdargs*
|
||||||
|
|
||||||
Quotes inside a file name (or any other command line argument) can be escaped
|
Analysis of a command line into parameters is not standardised in MS Windows.
|
||||||
with a backslash. E.g. >
|
Vim and gvim used to use different logic to parse it (before 7.4.432), and the
|
||||||
|
logic was also depended on what it was compiled with. Now Vim and gvim both
|
||||||
|
use the CommandLineToArgvW() Win32 API, so they behave in the same way.
|
||||||
|
|
||||||
|
The basic rules are: *win32-backslashes*
|
||||||
|
a) A parameter is a sequence of graphic characters.
|
||||||
|
b) Parameters are separated by white space.
|
||||||
|
c) A parameter can be enclosed in double quotes to include white space.
|
||||||
|
d) A sequence of zero or more backslashes (\) and a double quote (")
|
||||||
|
is special. The effective number of backslashes is halved, rounded
|
||||||
|
down. An even number of backslashes reverses the acceptability of
|
||||||
|
spaces and tabs, an odd number of backslashes produces a literal
|
||||||
|
double quote.
|
||||||
|
|
||||||
|
So:
|
||||||
|
" is a special double quote
|
||||||
|
\" is a literal double quote
|
||||||
|
\\" is a literal backslash and a special double quote
|
||||||
|
\\\" is a literal backslash and a literal double quote
|
||||||
|
\\\\" is 2 literal backslashes and a special double quote
|
||||||
|
\\\\\" is 2 literal backslashes and a literal double quote
|
||||||
|
etc.
|
||||||
|
|
||||||
|
Example: >
|
||||||
|
vim "C:\My Music\freude" +"set ignorecase" +/"\"foo\\" +\"bar\\\"
|
||||||
|
|
||||||
|
opens "C:\My Music\freude" and executes the line mode commands: >
|
||||||
|
set ignorecase; /"foo\ and /bar\"
|
||||||
|
|
||||||
|
These rules are also described in the reference of the CommandLineToArgvW API:
|
||||||
|
https://msdn.microsoft.com/en-us/library/windows/desktop/bb776391.aspx
|
||||||
|
|
||||||
|
*win32-quotes*
|
||||||
|
There are additional rules for quotes (which are not well documented).
|
||||||
|
As described above, quotes inside a file name (or any other command line
|
||||||
|
argument) can be escaped with a backslash. E.g. >
|
||||||
vim -c "echo 'foo\"bar'"
|
vim -c "echo 'foo\"bar'"
|
||||||
|
|
||||||
Alternatively use three quotes to get one: >
|
Alternatively use three quotes to get one: >
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*pattern.txt* For Vim version 8.0. Last change: 2017 Jun 05
|
*pattern.txt* For Vim version 8.0. Last change: 2018 Mar 13
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -905,7 +905,7 @@ $ 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*
|
*/\%l* */\%>l* */\%<l* *E951*
|
||||||
\%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).
|
||||||
@@ -1166,7 +1166,8 @@ x A single character, with no special meaning, matches itself
|
|||||||
- Matching with a collection can be slow, because each character in
|
- Matching with a collection can be slow, because each character in
|
||||||
the text has to be compared with each character in the collection.
|
the text has to be compared with each character in the collection.
|
||||||
Use one of the other atoms above when possible. Example: "\d" is
|
Use one of the other atoms above when possible. Example: "\d" is
|
||||||
much faster than "[0-9]" and matches the same characters.
|
much faster than "[0-9]" and matches the same characters. However,
|
||||||
|
the new |NFA| regexp engine deals with this better than the old one.
|
||||||
|
|
||||||
*/\%[]* *E69* *E70* *E369*
|
*/\%[]* *E69* *E70* *E369*
|
||||||
\%[] A sequence of optionally matched atoms. This always matches.
|
\%[] A sequence of optionally matched atoms. This always matches.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*pi_netrw.txt* For Vim version 8.0. Last change: 2016 Apr 20
|
*pi_netrw.txt* For Vim version 8.0. Last change: 2017 Nov 03
|
||||||
|
|
||||||
------------------------------------------------
|
------------------------------------------------
|
||||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||||
(remove NOSPAM from Campbell's email first)
|
(remove NOSPAM from Campbell's email first)
|
||||||
|
|
||||||
Copyright: Copyright (C) 2016 Charles E Campbell *netrw-copyright*
|
Copyright: Copyright (C) 2017 Charles E Campbell *netrw-copyright*
|
||||||
The VIM LICENSE applies to the files in this package, including
|
The VIM LICENSE applies to the files in this package, including
|
||||||
netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and
|
netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and
|
||||||
syntax/netrw.vim. Like anything else that's free, netrw.vim and its
|
syntax/netrw.vim. Like anything else that's free, netrw.vim and its
|
||||||
@@ -17,7 +17,6 @@ Copyright: Copyright (C) 2016 Charles E Campbell *netrw-copyright*
|
|||||||
holder be liable for any damages resulting from the use of this
|
holder be liable for any damages resulting from the use of this
|
||||||
software. Use at your own risk!
|
software. Use at your own risk!
|
||||||
|
|
||||||
|
|
||||||
*netrw*
|
*netrw*
|
||||||
*dav* *ftp* *netrw-file* *rcp* *scp*
|
*dav* *ftp* *netrw-file* *rcp* *scp*
|
||||||
*davs* *http* *netrw.vim* *rsync* *sftp*
|
*davs* *http* *netrw.vim* *rsync* *sftp*
|
||||||
@@ -73,7 +72,7 @@ Copyright: Copyright (C) 2016 Charles E Campbell *netrw-copyright*
|
|||||||
Improving Browsing..................................|netrw-ssh-hack|
|
Improving Browsing..................................|netrw-ssh-hack|
|
||||||
Listing Bookmarks And History.......................|netrw-qb|
|
Listing Bookmarks And History.......................|netrw-qb|
|
||||||
Making A New Directory..............................|netrw-d|
|
Making A New Directory..............................|netrw-d|
|
||||||
Making The Browsing Directory The Current Directory.|netrw-c|
|
Making The Browsing Directory The Current Directory.|netrw-cd|
|
||||||
Marking Files.......................................|netrw-mf|
|
Marking Files.......................................|netrw-mf|
|
||||||
Unmarking Files.....................................|netrw-mF|
|
Unmarking Files.....................................|netrw-mF|
|
||||||
Marking Files By Location List......................|netrw-qL|
|
Marking Files By Location List......................|netrw-qL|
|
||||||
@@ -83,6 +82,7 @@ Copyright: Copyright (C) 2016 Charles E Campbell *netrw-copyright*
|
|||||||
Marked Files: Arbitrary Shell Command, En Bloc......|netrw-mX|
|
Marked Files: Arbitrary Shell Command, En Bloc......|netrw-mX|
|
||||||
Marked Files: Arbitrary Vim Command.................|netrw-mv|
|
Marked Files: Arbitrary Vim Command.................|netrw-mv|
|
||||||
Marked Files: Argument List.........................|netrw-ma| |netrw-mA|
|
Marked Files: Argument List.........................|netrw-ma| |netrw-mA|
|
||||||
|
Marked Files: Buffer List...........................|netrw-cb| |netrw-cB|
|
||||||
Marked Files: Compression And Decompression.........|netrw-mz|
|
Marked Files: Compression And Decompression.........|netrw-mz|
|
||||||
Marked Files: Copying...............................|netrw-mc|
|
Marked Files: Copying...............................|netrw-mc|
|
||||||
Marked Files: Diff..................................|netrw-md|
|
Marked Files: Diff..................................|netrw-md|
|
||||||
@@ -155,7 +155,7 @@ Windows' ftp doesn't support .netrc; however, one may have in one's .vimrc: >
|
|||||||
|
|
||||||
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\MyUserName\MACHINE'
|
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\MyUserName\MACHINE'
|
||||||
<
|
<
|
||||||
Netrw will substitute the host's machine name for "MACHINE" from the url it is
|
Netrw will substitute the host's machine name for "MACHINE" from the URL it is
|
||||||
attempting to open, and so one may specify >
|
attempting to open, and so one may specify >
|
||||||
userid
|
userid
|
||||||
password
|
password
|
||||||
@@ -212,7 +212,7 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
|
|||||||
http: g:netrw_http_cmd = "fetch" elseif fetch is available
|
http: g:netrw_http_cmd = "fetch" elseif fetch is available
|
||||||
http: *g:netrw_http_put_cmd* = "curl -T"
|
http: *g:netrw_http_put_cmd* = "curl -T"
|
||||||
rcp: *g:netrw_rcp_cmd* = "rcp"
|
rcp: *g:netrw_rcp_cmd* = "rcp"
|
||||||
rsync: *g:netrw_rsync_cmd* = "rsync -a"
|
rsync: *g:netrw_rsync_cmd* = "rsync" (see |g:netrw_rsync_sep|)
|
||||||
scp: *g:netrw_scp_cmd* = "scp -q"
|
scp: *g:netrw_scp_cmd* = "scp -q"
|
||||||
sftp: *g:netrw_sftp_cmd* = "sftp"
|
sftp: *g:netrw_sftp_cmd* = "sftp"
|
||||||
file: *g:netrw_file_cmd* = "elinks" or "links"
|
file: *g:netrw_file_cmd* = "elinks" or "links"
|
||||||
@@ -223,7 +223,7 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
|
|||||||
|
|
||||||
elinks : "-source >"
|
elinks : "-source >"
|
||||||
links : "-dump >"
|
links : "-dump >"
|
||||||
curl : "-o"
|
curl : "-L -o"
|
||||||
wget : "-q -O"
|
wget : "-q -O"
|
||||||
fetch : "-o"
|
fetch : "-o"
|
||||||
<
|
<
|
||||||
@@ -238,7 +238,7 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
|
|||||||
|
|
||||||
READING *netrw-read* *netrw-nread* {{{2
|
READING *netrw-read* *netrw-nread* {{{2
|
||||||
|
|
||||||
Generally, one may just use the url notation with a normal editing
|
Generally, one may just use the URL notation with a normal editing
|
||||||
command, such as >
|
command, such as >
|
||||||
|
|
||||||
:e ftp://[user@]machine/path
|
:e ftp://[user@]machine/path
|
||||||
@@ -260,7 +260,7 @@ READING *netrw-read* *netrw-nread* {{{2
|
|||||||
|
|
||||||
WRITING *netrw-write* *netrw-nwrite* {{{2
|
WRITING *netrw-write* *netrw-nwrite* {{{2
|
||||||
|
|
||||||
One may just use the url notation with a normal file writing
|
One may just use the URL notation with a normal file writing
|
||||||
command, such as >
|
command, such as >
|
||||||
|
|
||||||
:w ftp://[user@]machine/path
|
:w ftp://[user@]machine/path
|
||||||
@@ -281,7 +281,7 @@ WRITING *netrw-write* *netrw-nwrite* {{{2
|
|||||||
|
|
||||||
SOURCING *netrw-source* {{{2
|
SOURCING *netrw-source* {{{2
|
||||||
|
|
||||||
One may just use the url notation with the normal file sourcing
|
One may just use the URL notation with the normal file sourcing
|
||||||
command, such as >
|
command, such as >
|
||||||
|
|
||||||
:so ftp://[user@]machine/path
|
:so ftp://[user@]machine/path
|
||||||
@@ -479,7 +479,7 @@ file using root-relative paths, use the full path:
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
4. Network-Oriented File Transfer *netrw-xfer* {{{1
|
4. Network-Oriented File Transfer *netrw-xfer* {{{1
|
||||||
|
|
||||||
Network-oriented file transfer under Vim is implemented by a VimL-based script
|
Network-oriented file transfer under Vim is implemented by a vim script
|
||||||
(<netrw.vim>) using plugin techniques. It currently supports both reading and
|
(<netrw.vim>) using plugin techniques. It currently supports both reading and
|
||||||
writing across networks using rcp, scp, ftp or ftp+<.netrc>, scp, fetch,
|
writing across networks using rcp, scp, ftp or ftp+<.netrc>, scp, fetch,
|
||||||
dav/cadaver, rsync, or sftp.
|
dav/cadaver, rsync, or sftp.
|
||||||
@@ -532,7 +532,7 @@ variable (ex. scp uses the variable g:netrw_scp_cmd, which is defaulted to
|
|||||||
let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"'
|
let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"'
|
||||||
<
|
<
|
||||||
(note: it has been reported that windows 7 with putty v0.6's "-batch" option
|
(note: it has been reported that windows 7 with putty v0.6's "-batch" option
|
||||||
doesn't work, so it's best to leave it off for that system)
|
doesn't work, so its best to leave it off for that system)
|
||||||
|
|
||||||
See |netrw-p8| for more about putty, pscp, psftp, etc.
|
See |netrw-p8| for more about putty, pscp, psftp, etc.
|
||||||
|
|
||||||
@@ -734,11 +734,11 @@ such as netrw.
|
|||||||
The usual read/write commands are supported. There are also a few
|
The usual read/write commands are supported. There are also a few
|
||||||
additional commands available. Often you won't need to use Nwrite or
|
additional commands available. Often you won't need to use Nwrite or
|
||||||
Nread as shown in |netrw-transparent| (ie. simply use >
|
Nread as shown in |netrw-transparent| (ie. simply use >
|
||||||
:e url
|
:e URL
|
||||||
:r url
|
:r URL
|
||||||
:w url
|
:w URL
|
||||||
instead, as appropriate) -- see |netrw-urls|. In the explanations
|
instead, as appropriate) -- see |netrw-urls|. In the explanations
|
||||||
below, a {netfile} is an url to a remote file.
|
below, a {netfile} is a URL to a remote file.
|
||||||
|
|
||||||
*:Nwrite* *:Nw*
|
*:Nwrite* *:Nw*
|
||||||
:[range]Nw[rite] Write the specified lines to the current
|
:[range]Nw[rite] Write the specified lines to the current
|
||||||
@@ -868,9 +868,11 @@ variables listed below, and may be modified by the user.
|
|||||||
g:netrw_http_cmd var ="fetch -o" if fetch is available
|
g:netrw_http_cmd var ="fetch -o" if fetch is available
|
||||||
g:netrw_http_cmd var ="wget -O" else if wget is available
|
g:netrw_http_cmd var ="wget -O" else if wget is available
|
||||||
g:netrw_http_put_cmd var ="curl -T"
|
g:netrw_http_put_cmd var ="curl -T"
|
||||||
|g:netrw_list_cmd| var ="ssh USEPORT HOSTNAME ls -Fa"
|
|g:netrw_list_cmd| var ="ssh USEPORT HOSTNAME ls -Fa"
|
||||||
g:netrw_rcp_cmd var ="rcp"
|
g:netrw_rcp_cmd var ="rcp"
|
||||||
g:netrw_rsync_cmd var ="rsync -a"
|
g:netrw_rsync_cmd var ="rsync"
|
||||||
|
*g:netrw_rsync_sep* var ="/" used to separate the hostname
|
||||||
|
from the file spec
|
||||||
g:netrw_scp_cmd var ="scp -q"
|
g:netrw_scp_cmd var ="scp -q"
|
||||||
g:netrw_sftp_cmd var ="sftp" >
|
g:netrw_sftp_cmd var ="sftp" >
|
||||||
-------------------------------------------------------------------------
|
-------------------------------------------------------------------------
|
||||||
@@ -1007,7 +1009,7 @@ where [protocol] is typically scp or ftp. As an example, try: >
|
|||||||
vim ftp://ftp.home.vim.org/pub/vim/
|
vim ftp://ftp.home.vim.org/pub/vim/
|
||||||
<
|
<
|
||||||
For local directories, the trailing slash is not required. Again, because it's
|
For local directories, the trailing slash is not required. Again, because it's
|
||||||
easy to miss: to browse remote directories, the url must terminate with a
|
easy to miss: to browse remote directories, the URL must terminate with a
|
||||||
slash!
|
slash!
|
||||||
|
|
||||||
If you'd like to avoid entering the password repeatedly for remote directory
|
If you'd like to avoid entering the password repeatedly for remote directory
|
||||||
@@ -1077,9 +1079,9 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
|||||||
<c-r> Browse using a gvim server |netrw-ctrl-r|
|
<c-r> Browse using a gvim server |netrw-ctrl-r|
|
||||||
<c-tab> Shrink/expand a netrw/explore window |netrw-c-tab|
|
<c-tab> Shrink/expand a netrw/explore window |netrw-c-tab|
|
||||||
- Makes Netrw go up one directory |netrw--|
|
- Makes Netrw go up one directory |netrw--|
|
||||||
a Toggles between normal display, |netrw-a|
|
a Cycles between normal display, |netrw-a|
|
||||||
hiding (suppress display of files matching g:netrw_list_hide)
|
hiding (suppress display of files matching g:netrw_list_hide)
|
||||||
showing (display only files which match g:netrw_list_hide)
|
and showing (display only files which match g:netrw_list_hide)
|
||||||
c Make browsing directory the current directory |netrw-c|
|
c Make browsing directory the current directory |netrw-c|
|
||||||
C Setting the editing window |netrw-C|
|
C Setting the editing window |netrw-C|
|
||||||
d Make a directory |netrw-d|
|
d Make a directory |netrw-d|
|
||||||
@@ -1090,6 +1092,7 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
|||||||
gh Quick hide/unhide of dot-files |netrw-gh|
|
gh Quick hide/unhide of dot-files |netrw-gh|
|
||||||
gn Make top of tree the directory below the cursor |netrw-gn|
|
gn Make top of tree the directory below the cursor |netrw-gn|
|
||||||
i Cycle between thin, long, wide, and tree listings |netrw-i|
|
i Cycle between thin, long, wide, and tree listings |netrw-i|
|
||||||
|
I Toggle the displaying of the banner |netrw-I|
|
||||||
mb Bookmark current directory |netrw-mb|
|
mb Bookmark current directory |netrw-mb|
|
||||||
mc Copy marked files to marked-file target directory |netrw-mc|
|
mc Copy marked files to marked-file target directory |netrw-mc|
|
||||||
md Apply diff to marked files (up to 3) |netrw-md|
|
md Apply diff to marked files (up to 3) |netrw-md|
|
||||||
@@ -1169,25 +1172,26 @@ QUICK REFERENCE: COMMANDS *netrw-explore-cmds* *netrw-browse-cmds* {{{2
|
|||||||
|
|
||||||
BANNER DISPLAY *netrw-I*
|
BANNER DISPLAY *netrw-I*
|
||||||
|
|
||||||
One may toggle the banner display on and off by pressing "I".
|
One may toggle the displaying of the banner by pressing "I".
|
||||||
|
|
||||||
Also See: |g:netrw_banner|
|
Also See: |g:netrw_banner|
|
||||||
|
|
||||||
|
|
||||||
BOOKMARKING A DIRECTORY *netrw-mb* *netrw-bookmark* *netrw-bookmarks* {{{2
|
BOOKMARKING A DIRECTORY *netrw-mb* *netrw-bookmark* *netrw-bookmarks* {{{2
|
||||||
|
|
||||||
One may easily "bookmark" the currently browsed directory by using >
|
One may easily "bookmark" the currently browsed directory by using >
|
||||||
|
|
||||||
mb
|
mb
|
||||||
<
|
<
|
||||||
*.netrwbook*
|
*.netrwbook*
|
||||||
Bookmarks are retained in between sessions in a $HOME/.netrwbook file, and are
|
Bookmarks are retained in between sessions of vim in a file called .netrwbook
|
||||||
kept in sorted order.
|
as a |List|, which is typically stored in the first directory on the user's
|
||||||
|
'|runtimepath|'; entries are kept in sorted order.
|
||||||
|
|
||||||
If there are marked files and/or directories, mb will add them to the bookmark
|
If there are marked files and/or directories, mb will add them to the bookmark
|
||||||
list.
|
list.
|
||||||
|
|
||||||
*netrw-:NetrwMB*
|
*netrw-:NetrwMB*
|
||||||
Addtionally, one may use :NetrwMB to bookmark files or directories. >
|
Addtionally, one may use :NetrwMB to bookmark files or directories. >
|
||||||
|
|
||||||
:NetrwMB[!] [files/directories]
|
:NetrwMB[!] [files/directories]
|
||||||
@@ -1206,7 +1210,7 @@ The :NetrwMB command is available outside of netrw buffers (once netrw has been
|
|||||||
invoked in the session).
|
invoked in the session).
|
||||||
|
|
||||||
The file ".netrwbook" holds bookmarks when netrw (and vim) is not active. By
|
The file ".netrwbook" holds bookmarks when netrw (and vim) is not active. By
|
||||||
default, it's stored on the first directory on the user's |'runtimepath'|.
|
default, its stored on the first directory on the user's |'runtimepath'|.
|
||||||
|
|
||||||
Related Topics:
|
Related Topics:
|
||||||
|netrw-gb| how to return (go) to a bookmark
|
|netrw-gb| how to return (go) to a bookmark
|
||||||
@@ -1418,20 +1422,20 @@ Related Topics:
|
|||||||
|
|
||||||
CHANGING TO A PREDECESSOR DIRECTORY *netrw-u* *netrw-updir* {{{2
|
CHANGING TO A PREDECESSOR DIRECTORY *netrw-u* *netrw-updir* {{{2
|
||||||
|
|
||||||
Every time you change to a new directory (new for the current session),
|
Every time you change to a new directory (new for the current session), netrw
|
||||||
netrw will save the directory in a recently-visited directory history
|
will save the directory in a recently-visited directory history list (unless
|
||||||
list (unless |g:netrw_dirhistmax| is zero; by default, it's ten). With the
|
|g:netrw_dirhistmax| is zero; by default, it holds ten entries). With the "u"
|
||||||
"u" map, one can change to an earlier directory (predecessor). To do
|
map, one can change to an earlier directory (predecessor). To do the
|
||||||
the opposite, see |netrw-U|.
|
opposite, see |netrw-U|.
|
||||||
|
|
||||||
The "u" map also accepts counts to go back in the history several slots.
|
The "u" map also accepts counts to go back in the history several slots. For
|
||||||
For your convenience, qb (see |netrw-qb|) lists the history number which may
|
your convenience, qb (see |netrw-qb|) lists the history number which may be
|
||||||
be used in that count.
|
used in that count.
|
||||||
|
|
||||||
*.netrwhist*
|
*.netrwhist*
|
||||||
See |g:netrw_dirhistmax| for how to control the quantity of history stack
|
See |g:netrw_dirhistmax| for how to control the quantity of history stack
|
||||||
slots. The file ".netrwhist" holds history when netrw (and vim) is not
|
slots. The file ".netrwhist" holds history when netrw (and vim) is not
|
||||||
active. By default, it's stored on the first directory on the user's
|
active. By default, its stored on the first directory on the user's
|
||||||
|'runtimepath'|.
|
|'runtimepath'|.
|
||||||
|
|
||||||
Related Topics:
|
Related Topics:
|
||||||
@@ -1467,10 +1471,10 @@ changing the top of the tree listing.
|
|||||||
|
|
||||||
NETRW CLEAN *netrw-clean* *:NetrwClean* {{{2
|
NETRW CLEAN *netrw-clean* *:NetrwClean* {{{2
|
||||||
|
|
||||||
With NetrwClean one may easily remove netrw from one's home directory;
|
With :NetrwClean one may easily remove netrw from one's home directory;
|
||||||
more precisely, from the first directory on your |'runtimepath'|.
|
more precisely, from the first directory on your |'runtimepath'|.
|
||||||
|
|
||||||
With NetrwClean!, netrw will attempt to remove netrw from all directories on
|
With :NetrwClean!, netrw will attempt to remove netrw from all directories on
|
||||||
your |'runtimepath'|. Of course, you have to have write/delete permissions
|
your |'runtimepath'|. Of course, you have to have write/delete permissions
|
||||||
correct to do this.
|
correct to do this.
|
||||||
|
|
||||||
@@ -1502,7 +1506,7 @@ Netrw determines which special handler by the following method:
|
|||||||
If g:netrw_browsex_viewer == '-', then netrwFileHandlers#Invoke() will be
|
If g:netrw_browsex_viewer == '-', then netrwFileHandlers#Invoke() will be
|
||||||
used instead (see |netrw_filehandler|).
|
used instead (see |netrw_filehandler|).
|
||||||
|
|
||||||
* for Windows 32 or 64, the url and FileProtocolHandler dlls are used.
|
* for Windows 32 or 64, the URL and FileProtocolHandler dlls are used.
|
||||||
* for Gnome (with gnome-open): gnome-open is used.
|
* for Gnome (with gnome-open): gnome-open is used.
|
||||||
* for KDE (with kfmclient) : kfmclient is used
|
* for KDE (with kfmclient) : kfmclient is used
|
||||||
* for Mac OS X : open is used.
|
* for Mac OS X : open is used.
|
||||||
@@ -1518,9 +1522,10 @@ will apply a special handler to it (like "x" works when in a netrw buffer).
|
|||||||
One may also use visual mode (see |visual-start|) to select the text that the
|
One may also use visual mode (see |visual-start|) to select the text that the
|
||||||
special handler will use. Normally gx uses expand("<cfile>") to pick up the
|
special handler will use. Normally gx uses expand("<cfile>") to pick up the
|
||||||
text under the cursor; one may change what |expand()| uses via the
|
text under the cursor; one may change what |expand()| uses via the
|
||||||
|g:netrw_gx| variable. Alternatively, one may select the text to be used by
|
|g:netrw_gx| variable (options include "<cword>", "<cWORD>"). Note that
|
||||||
gx via first making a visual selection (see |visual-block|) or by changing
|
expand("<cfile>") depends on the |'isfname'| setting. Alternatively, one may
|
||||||
the |'isfname'| option (which is global, so netrw doesn't modify it).
|
select the text to be used by gx by making a visual selection (see
|
||||||
|
|visual-block|) and then pressing gx.
|
||||||
|
|
||||||
Associated setting variables:
|
Associated setting variables:
|
||||||
|g:netrw_gx| control how gx picks up the text under the cursor
|
|g:netrw_gx| control how gx picks up the text under the cursor
|
||||||
@@ -1612,6 +1617,11 @@ A further approach is to delete files which match a pattern.
|
|||||||
This will cause the matching files to be marked. Then,
|
This will cause the matching files to be marked. Then,
|
||||||
press "D".
|
press "D".
|
||||||
|
|
||||||
|
If your vim has 7.4 with patch#1107, then |g:netrw_localrmdir| no longer
|
||||||
|
is used to remove directories; instead, vim's |delete()| is used with
|
||||||
|
the "d" option. Please note that only empty directories may be deleted
|
||||||
|
with the "D" mapping. Regular files are deleted with |delete()|, too.
|
||||||
|
|
||||||
The |g:netrw_rm_cmd|, |g:netrw_rmf_cmd|, and |g:netrw_rmdir_cmd| variables are
|
The |g:netrw_rm_cmd|, |g:netrw_rmf_cmd|, and |g:netrw_rmdir_cmd| variables are
|
||||||
used to control the attempts to remove remote files and directories. The
|
used to control the attempts to remove remote files and directories. The
|
||||||
g:netrw_rm_cmd is used with files, and its default value is:
|
g:netrw_rm_cmd is used with files, and its default value is:
|
||||||
@@ -1675,17 +1685,18 @@ DIRECTORY EXPLORATION COMMANDS {{{2
|
|||||||
The [N] specifies a |g:netrw_winsize| just for the new :Lexplore
|
The [N] specifies a |g:netrw_winsize| just for the new :Lexplore
|
||||||
window.
|
window.
|
||||||
|
|
||||||
Those who like this method often also often like tree style displays;
|
Those who like this method often also like tree style displays;
|
||||||
see |g:netrw_liststyle|.
|
see |g:netrw_liststyle|.
|
||||||
|
|
||||||
|
:[N]Lexplore! [dir] is similar to :Lexplore, except that the full-height
|
||||||
|
Explorer window will open on the right hand side and an
|
||||||
|
uninitialized |g:netrw_chgwin| will be set to 1 (eg. edits will
|
||||||
|
preferentially occur in the leftmost window).
|
||||||
|
|
||||||
Also see: |netrw-C| |g:netrw_browse_split| |g:netrw_wiw|
|
Also see: |netrw-C| |g:netrw_browse_split| |g:netrw_wiw|
|
||||||
|netrw-p| |netrw-P| |g:netrw_chgwin|
|
|netrw-p| |netrw-P| |g:netrw_chgwin|
|
||||||
|netrw-c-tab| |g:netrw_winsize|
|
|netrw-c-tab| |g:netrw_winsize|
|
||||||
|
|
||||||
:[N]Lexplore! is like :Lexplore, except that the full-height Explorer window
|
|
||||||
will open on the right hand side and an uninitialized |g:netrw_chgwin|
|
|
||||||
will be set to 1.
|
|
||||||
|
|
||||||
*netrw-:Sexplore*
|
*netrw-:Sexplore*
|
||||||
:[N]Sexplore will always split the window before invoking the local-directory
|
:[N]Sexplore will always split the window before invoking the local-directory
|
||||||
browser. As with Explore, the splitting is normally done
|
browser. As with Explore, the splitting is normally done
|
||||||
@@ -1847,9 +1858,11 @@ EXECUTING FILE UNDER CURSOR VIA SYSTEM() *netrw-X* {{{2
|
|||||||
|
|
||||||
Pressing X while the cursor is atop an executable file will yield a prompt
|
Pressing X while the cursor is atop an executable file will yield a prompt
|
||||||
using the filename asking for any arguments. Upon pressing a [return], netrw
|
using the filename asking for any arguments. Upon pressing a [return], netrw
|
||||||
will then call |system()| with that command and arguments. The result will
|
will then call |system()| with that command and arguments. The result will be
|
||||||
be displayed by |:echomsg|, and so |:messages| will repeat display of the
|
displayed by |:echomsg|, and so |:messages| will repeat display of the result.
|
||||||
result. Ansi escape sequences will be stripped out.
|
Ansi escape sequences will be stripped out.
|
||||||
|
|
||||||
|
See |cmdline-window| for directions for more on how to edit the arguments.
|
||||||
|
|
||||||
|
|
||||||
FORCING TREATMENT AS A FILE OR DIRECTORY *netrw-gd* *netrw-gf* {{{2
|
FORCING TREATMENT AS A FILE OR DIRECTORY *netrw-gd* *netrw-gf* {{{2
|
||||||
@@ -2072,7 +2085,7 @@ Associated setting variables: |g:netrw_localmkdir| |g:netrw_mkdir_cmd|
|
|||||||
|g:netrw_remote_mkdir| |netrw-%|
|
|g:netrw_remote_mkdir| |netrw-%|
|
||||||
|
|
||||||
|
|
||||||
MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* {{{2
|
MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-cd* {{{2
|
||||||
|
|
||||||
By default, |g:netrw_keepdir| is 1. This setting means that the current
|
By default, |g:netrw_keepdir| is 1. This setting means that the current
|
||||||
directory will not track the browsing directory. (done for backwards
|
directory will not track the browsing directory. (done for backwards
|
||||||
@@ -2087,6 +2100,9 @@ the two directories the same, use the "c" map (just type c). That map will
|
|||||||
set Vim's notion of the current directory to netrw's current browsing
|
set Vim's notion of the current directory to netrw's current browsing
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
|
*netrw-c* : This map's name has been changed from "c" to cd (see |netrw-cd|).
|
||||||
|
This change was done to allow for |netrw-cb| and |netrw-cB| maps.
|
||||||
|
|
||||||
Associated setting variable: |g:netrw_keepdir|
|
Associated setting variable: |g:netrw_keepdir|
|
||||||
|
|
||||||
MARKING FILES *netrw-:MF* *netrw-mf* {{{2
|
MARKING FILES *netrw-:MF* *netrw-mf* {{{2
|
||||||
@@ -2131,6 +2147,7 @@ The following netrw maps make use of marked files:
|
|||||||
|netrw-mg| Apply vimgrep to marked files
|
|netrw-mg| Apply vimgrep to marked files
|
||||||
|netrw-mm| Move marked files to target
|
|netrw-mm| Move marked files to target
|
||||||
|netrw-mp| Print marked files
|
|netrw-mp| Print marked files
|
||||||
|
|netrw-ms| Netrw will source marked files
|
||||||
|netrw-mt| Set target for |netrw-mm| and |netrw-mc|
|
|netrw-mt| Set target for |netrw-mm| and |netrw-mc|
|
||||||
|netrw-mT| Generate tags using marked files
|
|netrw-mT| Generate tags using marked files
|
||||||
|netrw-mv| Apply vim command to marked files
|
|netrw-mv| Apply vim command to marked files
|
||||||
@@ -2205,6 +2222,9 @@ converts "*" into ".*" (see |regexp|) and marks files based on that. In the
|
|||||||
future I may make it possible to use |regexp|s instead of glob()-style
|
future I may make it possible to use |regexp|s instead of glob()-style
|
||||||
expressions (yet-another-option).
|
expressions (yet-another-option).
|
||||||
|
|
||||||
|
See |cmdline-window| for directions on more on how to edit the regular
|
||||||
|
expression.
|
||||||
|
|
||||||
|
|
||||||
MARKED FILES, ARBITRARY VIM COMMAND *netrw-mv* {{{2
|
MARKED FILES, ARBITRARY VIM COMMAND *netrw-mv* {{{2
|
||||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||||
@@ -2218,8 +2238,9 @@ the local marked file list, individually:
|
|||||||
* run vim command
|
* run vim command
|
||||||
* sil! keepalt wq!
|
* sil! keepalt wq!
|
||||||
|
|
||||||
A prompt, "Enter vim command: ", will be issued to elicit the vim command
|
A prompt, "Enter vim command: ", will be issued to elicit the vim command you
|
||||||
you wish used.
|
wish used. See |cmdline-window| for directions for more on how to edit the
|
||||||
|
command.
|
||||||
|
|
||||||
|
|
||||||
MARKED FILES, ARBITRARY SHELL COMMAND *netrw-mx* {{{2
|
MARKED FILES, ARBITRARY SHELL COMMAND *netrw-mx* {{{2
|
||||||
@@ -2270,7 +2291,17 @@ MARKED FILES: ARGUMENT LIST *netrw-ma* *netrw-mA*
|
|||||||
Using ma, one moves filenames from the marked file list to the argument list.
|
Using ma, one moves filenames from the marked file list to the argument list.
|
||||||
Using mA, one moves filenames from the argument list to the marked file list.
|
Using mA, one moves filenames from the argument list to the marked file list.
|
||||||
|
|
||||||
See Also: |netrw-qF| |argument-list| |:args|
|
See Also: |netrw-cb| |netrw-cB| |netrw-qF| |argument-list| |:args|
|
||||||
|
|
||||||
|
|
||||||
|
MARKED FILES: BUFFER LIST *netrw-cb* *netrw-cB*
|
||||||
|
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||||
|
(uses the global marked-file list)
|
||||||
|
|
||||||
|
Using cb, one moves filenames from the marked file list to the buffer list.
|
||||||
|
Using cB, one copies filenames from the buffer list to the marked file list.
|
||||||
|
|
||||||
|
See Also: |netrw-ma| |netrw-mA| |netrw-qF| |buffer-list| |:buffers|
|
||||||
|
|
||||||
|
|
||||||
MARKED FILES: COMPRESSION AND DECOMPRESSION *netrw-mz* {{{2
|
MARKED FILES: COMPRESSION AND DECOMPRESSION *netrw-mz* {{{2
|
||||||
@@ -2306,8 +2337,8 @@ One may also copy directories and their contents (local only) to a target
|
|||||||
directory.
|
directory.
|
||||||
|
|
||||||
Associated setting variables:
|
Associated setting variables:
|
||||||
|g:netrw_localcopycmd|
|
|g:netrw_localcopycmd| |g:netrw_localcopycmdopt|
|
||||||
|g:netrw_localcopydircmd|
|
|g:netrw_localcopydircmd| |g:netrw_localcopydircmdopt|
|
||||||
|g:netrw_ssh_cmd|
|
|g:netrw_ssh_cmd|
|
||||||
|
|
||||||
MARKED FILES: DIFF *netrw-md* {{{2
|
MARKED FILES: DIFF *netrw-md* {{{2
|
||||||
@@ -2452,8 +2483,8 @@ When a remote set of files are tagged, the resulting tags file is "obtained";
|
|||||||
ie. a copy is transferred to the local system's directory. The now local tags
|
ie. a copy is transferred to the local system's directory. The now local tags
|
||||||
file is then modified so that one may use it through the network. The
|
file is then modified so that one may use it through the network. The
|
||||||
modification made concerns the names of the files in the tags; each filename is
|
modification made concerns the names of the files in the tags; each filename is
|
||||||
preceded by the netrw-compatible url used to obtain it. When one subsequently
|
preceded by the netrw-compatible URL used to obtain it. When one subsequently
|
||||||
uses one of the go to tag actions (|tags|), the url will be used by netrw to
|
uses one of the go to tag actions (|tags|), the URL will be used by netrw to
|
||||||
edit the desired file and go to the tag.
|
edit the desired file and go to the tag.
|
||||||
|
|
||||||
Associated setting variables: |g:netrw_ctags| |g:netrw_ssh_cmd|
|
Associated setting variables: |g:netrw_ctags| |g:netrw_ssh_cmd|
|
||||||
@@ -2555,8 +2586,8 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
editing. It will also use the specified tab
|
editing. It will also use the specified tab
|
||||||
and window numbers to perform editing
|
and window numbers to perform editing
|
||||||
(see |clientserver|, |netrw-ctrl-r|)
|
(see |clientserver|, |netrw-ctrl-r|)
|
||||||
This option does not affect |:Lexplore|
|
This option does not affect the production of
|
||||||
windows.
|
|:Lexplore| windows.
|
||||||
|
|
||||||
Related topics:
|
Related topics:
|
||||||
|g:netrw_alto| |g:netrw_altv|
|
|g:netrw_alto| |g:netrw_altv|
|
||||||
@@ -2715,6 +2746,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
*g:netrw_home* The home directory for where bookmarks and
|
*g:netrw_home* The home directory for where bookmarks and
|
||||||
history are saved (as .netrwbook and
|
history are saved (as .netrwbook and
|
||||||
.netrwhist).
|
.netrwhist).
|
||||||
|
Netrw uses |expand()|on the string.
|
||||||
default: the first directory on the
|
default: the first directory on the
|
||||||
|'runtimepath'|
|
|'runtimepath'|
|
||||||
|
|
||||||
@@ -2735,7 +2767,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
default: (if ssh is executable)
|
default: (if ssh is executable)
|
||||||
"ssh HOSTNAME ls -FLa"
|
"ssh HOSTNAME ls -FLa"
|
||||||
|
|
||||||
*g:netrw_list_cmd_options* If this variable exists, then its contents are
|
*g:netrw_list_cmd_options* If this variable exists, then its contents are
|
||||||
appended to the g:netrw_list_cmd. For
|
appended to the g:netrw_list_cmd. For
|
||||||
example, use "2>/dev/null" to get rid of banner
|
example, use "2>/dev/null" to get rid of banner
|
||||||
messages on unix systems.
|
messages on unix systems.
|
||||||
@@ -2761,26 +2793,52 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
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
|
||||||
="copy" Windows
|
=expand("$COMSPEC") Windows
|
||||||
Copies marked files (|netrw-mf|) to target
|
Copies marked files (|netrw-mf|) to target
|
||||||
directory (|netrw-mt|, |netrw-mc|)
|
directory (|netrw-mt|, |netrw-mc|)
|
||||||
|
|
||||||
*g:netrw_localcopydircmd* ="cp -R" Linux/Unix/MacOS/Cygwin
|
*g:netrw_localcopycmdopt* ='' Linux/Unix/MacOS/Cygwin
|
||||||
="xcopy /e /c /h/ /i /k" Windows
|
=' \c copy' Windows
|
||||||
|
Options for the |g:netrw_localcopycmd|
|
||||||
|
|
||||||
|
*g:netrw_localcopydircmd* ="cp" Linux/Unix/MacOS/Cygwin
|
||||||
|
=expand("$COMSPEC") Windows
|
||||||
Copies directories to target directory.
|
Copies directories to target directory.
|
||||||
(|netrw-mc|, |netrw-mt|)
|
(|netrw-mc|, |netrw-mt|)
|
||||||
|
|
||||||
*g:netrw_localmkdir* command for making a local directory
|
*g:netrw_localcopydircmdopt* =" -R" Linux/Unix/MacOS/Cygwin
|
||||||
default: "mkdir"
|
=" /c xcopy /e /c /h/ /i /k" Windows
|
||||||
|
Options for |g:netrw_localcopydircmd|
|
||||||
|
|
||||||
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
|
*g:netrw_localmkdir* ="mkdir" Linux/Unix/MacOS/Cygwin
|
||||||
="move" Windows
|
=expand("$COMSPEC") Windows
|
||||||
|
command for making a local directory
|
||||||
|
|
||||||
|
*g:netrw_localmkdiropt* ="" Linux/Unix/MacOS/Cygwin
|
||||||
|
=" /c mkdir" Windows
|
||||||
|
Options for |g:netrw_localmkdir|
|
||||||
|
|
||||||
|
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
|
||||||
|
=expand("$COMSPEC") Windows
|
||||||
Moves marked files (|netrw-mf|) to target
|
Moves marked files (|netrw-mf|) to target
|
||||||
directory (|netrw-mt|, |netrw-mm|)
|
directory (|netrw-mt|, |netrw-mm|)
|
||||||
|
|
||||||
*g:netrw_localrmdir* remove directory command (rmdir)
|
*g:netrw_localmovecmdopt* ="" Linux/Unix/MacOS/Cygwin
|
||||||
default: "rmdir"
|
=" /c move" Windows
|
||||||
|
Options for |g:netrw_localmovecmd|
|
||||||
|
|
||||||
|
*g:netrw_localrmdir* ="rmdir" Linux/Unix/MacOS/Cygwin
|
||||||
|
=expand("$COMSPEC") Windows
|
||||||
|
Remove directory command (rmdir)
|
||||||
|
This variable is only used if your vim is
|
||||||
|
earlier than 7.4 or if your vim doesn't
|
||||||
|
have patch#1107. Otherwise, |delete()|
|
||||||
|
is used with the "d" option.
|
||||||
|
|
||||||
|
*g:netrw_localrmdiropt* ="" Linux/Unix/MacOS/Cygwin
|
||||||
|
=" /c rmdir" Windows
|
||||||
|
Options for |g:netrw_localrmdir|
|
||||||
|
|
||||||
*g:netrw_maxfilenamelen* =32 by default, selected so as to make long
|
*g:netrw_maxfilenamelen* =32 by default, selected so as to make long
|
||||||
listings fit on 80 column displays.
|
listings fit on 80 column displays.
|
||||||
@@ -2893,17 +2951,23 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
netrwTilde : *
|
netrwTilde : *
|
||||||
netrwTmp : tmp* *tmp
|
netrwTmp : tmp* *tmp
|
||||||
|
|
||||||
These syntax highlighting groups are linked
|
In addition, those groups mentioned in
|
||||||
to Folded or DiffChange by default
|
|'suffixes'| are also added to the special
|
||||||
(see |hl-Folded| and |hl-DiffChange|), but
|
file highlighting group.
|
||||||
one may put lines like >
|
These syntax highlighting groups are linked
|
||||||
|
to netrwGray or Folded by default
|
||||||
|
(see |hl-Folded|), but one may put lines like >
|
||||||
hi link netrwCompress Visual
|
hi link netrwCompress Visual
|
||||||
< into one's <.vimrc> to use one's own
|
< into one's <.vimrc> to use one's own
|
||||||
preferences. Alternatively, one may
|
preferences. Alternatively, one may
|
||||||
put such specifications into
|
put such specifications into >
|
||||||
.vim/after/syntax/netrw.vim.
|
.vim/after/syntax/netrw.vim.
|
||||||
|
< The netrwGray highlighting is set up by
|
||||||
As an example, I myself use a dark-background
|
netrw when >
|
||||||
|
* netrwGray has not been previously
|
||||||
|
defined
|
||||||
|
* the gui is running
|
||||||
|
< As an example, I myself use a dark-background
|
||||||
colorscheme with the following in
|
colorscheme with the following in
|
||||||
.vim/after/syntax/netrw.vim: >
|
.vim/after/syntax/netrw.vim: >
|
||||||
|
|
||||||
@@ -3138,8 +3202,8 @@ If there are no marked files: (see |netrw-mf|)
|
|||||||
|
|
||||||
Renaming files and directories involves moving the cursor to the
|
Renaming files and directories involves moving the cursor to the
|
||||||
file/directory to be moved (renamed) and pressing "R". You will then be
|
file/directory to be moved (renamed) and pressing "R". You will then be
|
||||||
queried for what you want the file/directory to be renamed to You may select
|
queried for what you want the file/directory to be renamed to. You may
|
||||||
a range of lines with the "V" command (visual selection), and then
|
select a range of lines with the "V" command (visual selection), and then
|
||||||
press "R"; you will be queried for each file as to what you want it
|
press "R"; you will be queried for each file as to what you want it
|
||||||
renamed to.
|
renamed to.
|
||||||
|
|
||||||
@@ -3171,16 +3235,20 @@ If there are marked files: (see |netrw-mf|)
|
|||||||
|
|
||||||
Note that moving files is a dangerous operation; copies are safer. That's
|
Note that moving files is a dangerous operation; copies are safer. That's
|
||||||
because a "move" for remote files is actually a copy + delete -- and if
|
because a "move" for remote files is actually a copy + delete -- and if
|
||||||
the copy fails and the delete does not, you may lose the file.
|
the copy fails and the delete succeeds you may lose the file.
|
||||||
Use at your own risk.
|
Use at your own risk.
|
||||||
|
|
||||||
The g:netrw_rename_cmd variable is used to implement remote renaming. By
|
The *g:netrw_rename_cmd* variable is used to implement remote renaming. By
|
||||||
default its value is:
|
default its value is: >
|
||||||
|
|
||||||
ssh HOSTNAME mv
|
ssh HOSTNAME mv
|
||||||
|
<
|
||||||
One may rename a block of files and directories by selecting them with
|
One may rename a block of files and directories by selecting them with
|
||||||
V (|linewise-visual|) when using thin style
|
V (|linewise-visual|) when using thin style.
|
||||||
|
|
||||||
|
See |cmdline-editing| for more on how to edit the command line; in particular,
|
||||||
|
you'll find <ctrl-f> (initiates cmdline window editing) and <ctrl-c> (uses the
|
||||||
|
command line under the cursor) useful in conjunction with the R command.
|
||||||
|
|
||||||
|
|
||||||
SELECTING SORTING STYLE *netrw-s* *netrw-sort* {{{2
|
SELECTING SORTING STYLE *netrw-s* *netrw-sort* {{{2
|
||||||
@@ -3201,8 +3269,8 @@ number. Subsequent selection of a file to edit (|netrw-cr|) will use that
|
|||||||
window.
|
window.
|
||||||
|
|
||||||
* C : by itself, will select the current window holding a netrw buffer
|
* C : by itself, will select the current window holding a netrw buffer
|
||||||
for editing via |netrw-cr|. The C mapping is only available while in
|
for subsequent editing via |netrw-cr|. The C mapping is only available
|
||||||
netrw buffers.
|
while in netrw buffers.
|
||||||
|
|
||||||
* [count]C : the count will be used as the window number to be used
|
* [count]C : the count will be used as the window number to be used
|
||||||
for subsequent editing via |netrw-cr|.
|
for subsequent editing via |netrw-cr|.
|
||||||
@@ -3215,7 +3283,7 @@ window.
|
|||||||
Using >
|
Using >
|
||||||
let g:netrw_chgwin= -1
|
let g:netrw_chgwin= -1
|
||||||
will restore the default editing behavior
|
will restore the default editing behavior
|
||||||
(ie. editing will use the current window).
|
(ie. subsequent editing will use the current window).
|
||||||
|
|
||||||
Related topics: |netrw-cr| |g:netrw_browse_split|
|
Related topics: |netrw-cr| |g:netrw_browse_split|
|
||||||
Associated setting variables: |g:netrw_chgwin|
|
Associated setting variables: |g:netrw_chgwin|
|
||||||
@@ -3236,9 +3304,9 @@ only if your terminal supports differentiating <c-tab> from a plain
|
|||||||
|
|
||||||
* Else bring up a |:Lexplore| window
|
* Else bring up a |:Lexplore| window
|
||||||
|
|
||||||
If |g:netrw_usetab| exists or is zero, or if there is a pre-existing mapping
|
If |g:netrw_usetab| exists and is zero, or if there is a pre-existing mapping
|
||||||
for <c-tab>, then the <c-tab> will not be mapped. One may map something other
|
for <c-tab>, then the <c-tab> will not be mapped. One may map something other
|
||||||
than a <c-tab>, too: (but you'll still need to have had g:netrw_usetab set) >
|
than a <c-tab>, too: (but you'll still need to have had |g:netrw_usetab| set). >
|
||||||
|
|
||||||
nmap <unique> (whatever) <Plug>NetrwShrink
|
nmap <unique> (whatever) <Plug>NetrwShrink
|
||||||
<
|
<
|
||||||
@@ -3271,9 +3339,10 @@ The user function is passed one argument; it resembles >
|
|||||||
|
|
||||||
fun! ExampleUserMapFunc(islocal)
|
fun! ExampleUserMapFunc(islocal)
|
||||||
<
|
<
|
||||||
where a:islocal is 1 if it's a local-directory system call or 0 when
|
where a:islocal is 1 if its a local-directory system call or 0 when
|
||||||
remote-directory system call.
|
remote-directory system call.
|
||||||
|
|
||||||
|
*netrw-call* *netrw-expose* *netrw-modify*
|
||||||
Use netrw#Expose("varname") to access netrw-internal (script-local)
|
Use netrw#Expose("varname") to access netrw-internal (script-local)
|
||||||
variables.
|
variables.
|
||||||
Use netrw#Modify("varname",newvalue) to change netrw-internal variables.
|
Use netrw#Modify("varname",newvalue) to change netrw-internal variables.
|
||||||
@@ -3595,7 +3664,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
|
|
||||||
*netrw-p16*
|
*netrw-p16*
|
||||||
P16. When editing remote files (ex. :e ftp://hostname/path/file),
|
P16. When editing remote files (ex. :e ftp://hostname/path/file),
|
||||||
under Windows I get an |E303| message complaining that it's unable
|
under Windows I get an |E303| message complaining that its unable
|
||||||
to open a swap file.
|
to open a swap file.
|
||||||
|
|
||||||
(romainl) It looks like you are starting Vim from a protected
|
(romainl) It looks like you are starting Vim from a protected
|
||||||
@@ -3649,7 +3718,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
P21. I've made a directory (or file) with an accented character, but
|
P21. I've made a directory (or file) with an accented character, but
|
||||||
netrw isn't letting me enter that directory/read that file:
|
netrw isn't letting me enter that directory/read that file:
|
||||||
|
|
||||||
It's likely that the shell or o/s is using a different encoding
|
Its likely that the shell or o/s is using a different encoding
|
||||||
than you have vim (netrw) using. A patch to vim supporting
|
than you have vim (netrw) using. A patch to vim supporting
|
||||||
"systemencoding" may address this issue in the future; for
|
"systemencoding" may address this issue in the future; for
|
||||||
now, just have netrw use the proper encoding. For example: >
|
now, just have netrw use the proper encoding. For example: >
|
||||||
@@ -3765,6 +3834,102 @@ netrw:
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
12. History *netrw-history* {{{1
|
12. History *netrw-history* {{{1
|
||||||
|
|
||||||
|
v162: Sep 19, 2016 * (haya14busa) pointed out two syntax errors
|
||||||
|
with a patch; these are now fixed.
|
||||||
|
Oct 26, 2016 * I started using mate-terminal and found that
|
||||||
|
x and gx (|netrw-x| and |netrw-gx|) were no
|
||||||
|
longer working. Fixed (using atril when
|
||||||
|
$DESKTOP_SESSION is "mate").
|
||||||
|
Nov 04, 2016 * (Martin Vuille) pointed out that @+ was
|
||||||
|
being restored with keepregstar rather than
|
||||||
|
keepregplus.
|
||||||
|
Nov 09, 2016 * Broke apart the command from the options,
|
||||||
|
mostly for Windows. Introduced new netrw
|
||||||
|
settings: |g:netrw_localcopycmdopt|
|
||||||
|
|g:netrw_localcopydircmdopt| |g:netrw_localmkdiropt|
|
||||||
|
|g:netrw_localmovecmdopt| |g:netrw_localrmdiropt|
|
||||||
|
Nov 21, 2016 * (mattn) provided a patch for preview; swapped
|
||||||
|
winwidth() with winheight()
|
||||||
|
Nov 22, 2016 * (glacambre) reported that files containing
|
||||||
|
spaces weren't being obtained properly via
|
||||||
|
scp. Fix: apparently using single quotes
|
||||||
|
such as with 'file name' wasn't enough; the
|
||||||
|
spaces inside the quotes also had to be
|
||||||
|
escaped (ie. 'file\ name').
|
||||||
|
* Also fixed obtain (|netrw-O|) to be able to
|
||||||
|
obtain files with spaces in their names
|
||||||
|
Dec 20, 2016 * (xc1427) Reported that using "I" (|netrw-I|)
|
||||||
|
when atop "Hiding" in the banner also caused
|
||||||
|
the active-banner hiding control to occur
|
||||||
|
Jan 03, 2017 * (Enno Nagel) reported that attempting to
|
||||||
|
apply netrw to a directory that was without
|
||||||
|
read permission caused a syntax error.
|
||||||
|
Jan 13, 2017 * (Ingo Karkat) provided a patch which makes
|
||||||
|
using netrw#Call() better. Now returns
|
||||||
|
value of internal routines return, for example.
|
||||||
|
Jan 13, 2017 * (Ingo Karkat) changed netrw#FileUrlRead to
|
||||||
|
use |:edit| instead of |:read|. I also
|
||||||
|
changed the routine name to netrw#FileUrlEdit.
|
||||||
|
Jan 16, 2017 * (Sayem) reported a problem where :Lexplore
|
||||||
|
could generate a new listing buffer and
|
||||||
|
window instead of toggling the netrw display.
|
||||||
|
Unfortunately, the directions for eliciting
|
||||||
|
the problem weren't complete, so I may or
|
||||||
|
may not have fixed that issue.
|
||||||
|
Feb 06, 2017 * Implemented cb and cB. Changed "c" to "cd".
|
||||||
|
(see |netrw-cb|, |netrw-cB|, and |netrw-cd|)
|
||||||
|
Mar 21, 2017 * previously, netrw would specify (safe) settings
|
||||||
|
even when the setting was already safe for
|
||||||
|
netrw. Netrw now attempts to leave such
|
||||||
|
already-netrw-safe settings alone.
|
||||||
|
(affects s:NetrwOptionRestore() and
|
||||||
|
s:NetrwSafeOptions(); also introduced
|
||||||
|
s:NetrwRestoreSetting())
|
||||||
|
Jun 26, 2017 * (Christian Brabandt) provided a patch to
|
||||||
|
allow curl to follow redirects (ie. -L
|
||||||
|
option)
|
||||||
|
Jun 26, 2017 * (Callum Howard) reported a problem with
|
||||||
|
:Lexpore not removing the Lexplore window
|
||||||
|
after a change-directory
|
||||||
|
Aug 30, 2017 * (Ingo Karkat) one cannot switch to the
|
||||||
|
previously edited file (e.g. with CTRL-^)
|
||||||
|
after editing a file:// URL. Patch to
|
||||||
|
have a "keepalt" included.
|
||||||
|
Oct 17, 2017 * (Adam Faryna) reported that gn (|netrw-gn|)
|
||||||
|
did not work on directories in the current
|
||||||
|
tree
|
||||||
|
v157: Apr 20, 2016 * (Nicola) had set up a "nmap <expr> ..." with
|
||||||
|
a function that returned a 0 while silently
|
||||||
|
invoking a shell command. The shell command
|
||||||
|
activated a ShellCmdPost event which in turn
|
||||||
|
called s:LocalBrowseRefresh(). That looks
|
||||||
|
over all netrw buffers for changes needing
|
||||||
|
refreshes. However, inside a |:map-<expr>|,
|
||||||
|
tab and window changes are disallowed. Fixed.
|
||||||
|
(affects netrw's s:LocalBrowseRefresh())
|
||||||
|
* |g:netrw_localrmdir| not used any more, but
|
||||||
|
the relevant patch that causes |delete()| to
|
||||||
|
take over was #1107 (not #1109).
|
||||||
|
* |expand()| is now used on |g:netrw_home|;
|
||||||
|
consequently, g:netrw_home may now use
|
||||||
|
environment variables
|
||||||
|
* s:NetrwLeftmouse and s:NetrwCLeftmouse will
|
||||||
|
return without doing anything if invoked
|
||||||
|
when inside a non-netrw window
|
||||||
|
Jun 15, 2016 * gx now calls netrw#GX() which returns
|
||||||
|
the word under the cursor. The new
|
||||||
|
wrinkle: if one is in a netrw buffer,
|
||||||
|
then netrw's s:NetrwGetWord().
|
||||||
|
Jun 22, 2016 * Netrw was executing all its associated
|
||||||
|
Filetype commands silently; I'm going
|
||||||
|
to try doing that "noisily" and see if
|
||||||
|
folks have a problem with that.
|
||||||
|
Aug 12, 2016 * Changed order of tool selection for
|
||||||
|
handling http://... viewing.
|
||||||
|
(Nikolay Aleksandrovich Pavlov)
|
||||||
|
Aug 21, 2016 * Included hiding/showing/all for tree
|
||||||
|
listings
|
||||||
|
* Fixed refresh (^L) for tree listings
|
||||||
v156: Feb 18, 2016 * Changed =~ to =~# where appropriate
|
v156: Feb 18, 2016 * Changed =~ to =~# where appropriate
|
||||||
Feb 23, 2016 * s:ComposePath(base,subdir) now uses
|
Feb 23, 2016 * s:ComposePath(base,subdir) now uses
|
||||||
fnameescape() on the base portion
|
fnameescape() on the base portion
|
||||||
@@ -3796,9 +3961,9 @@ netrw:
|
|||||||
tell me how they're useful and should be
|
tell me how they're useful and should be
|
||||||
retained?
|
retained?
|
||||||
Nov 20, 2015 * Added |netrw-ma| and |netrw-mA| support
|
Nov 20, 2015 * Added |netrw-ma| and |netrw-mA| support
|
||||||
Nov 20, 2015 * gx (|netrw-gx|) on an url downloaded the
|
Nov 20, 2015 * gx (|netrw-gx|) on a URL downloaded the
|
||||||
file in addition to simply bringing up the
|
file in addition to simply bringing up the
|
||||||
url in a browser. Fixed.
|
URL in a browser. Fixed.
|
||||||
Nov 23, 2015 * Added |g:netrw_sizestyle| support
|
Nov 23, 2015 * Added |g:netrw_sizestyle| support
|
||||||
Nov 27, 2015 * Inserted a lot of <c-u>s into various netrw
|
Nov 27, 2015 * Inserted a lot of <c-u>s into various netrw
|
||||||
maps.
|
maps.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*quickfix.txt* For Vim version 8.0. Last change: 2017 Jun 13
|
*quickfix.txt* For Vim version 8.0. Last change: 2018 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -44,6 +44,13 @@ From inside Vim an easy way to run a command and handle the output is with the
|
|||||||
The 'errorformat' option should be set to match the error messages from your
|
The 'errorformat' option should be set to match the error messages from your
|
||||||
compiler (see |errorformat| below).
|
compiler (see |errorformat| below).
|
||||||
|
|
||||||
|
*quickfix-ID*
|
||||||
|
Each quickfix list has a unique identifier called the quickfix ID and this
|
||||||
|
number will not change within a Vim session. The getqflist() function can be
|
||||||
|
used to get the identifier assigned to a list. There is also a quickfix list
|
||||||
|
number which may change whenever more than ten lists are added to a quickfix
|
||||||
|
stack.
|
||||||
|
|
||||||
*location-list* *E776*
|
*location-list* *E776*
|
||||||
A location list is a window-local quickfix list. You get one after commands
|
A location list is a window-local quickfix list. You get one after commands
|
||||||
like `:lvimgrep`, `:lgrep`, `:lhelpgrep`, `:lmake`, etc., which create a
|
like `:lvimgrep`, `:lgrep`, `:lhelpgrep`, `:lmake`, etc., which create a
|
||||||
@@ -57,6 +64,14 @@ When a window with a location list is split, the new window gets a copy of the
|
|||||||
location list. When there are no longer any references to a location list,
|
location list. When there are no longer any references to a location list,
|
||||||
the location list is destroyed.
|
the location list is destroyed.
|
||||||
|
|
||||||
|
*quickfix-changedtick*
|
||||||
|
Every quickfix and location list has a read-only changedtick variable that
|
||||||
|
tracks the total number of changes made to the list. Every time the quickfix
|
||||||
|
list is modified, this count is incremented. This can be used to perform an
|
||||||
|
action only when the list has changed. The getqflist() and getloclist()
|
||||||
|
functions can be used to query the current value of changedtick. You cannot
|
||||||
|
change the changedtick variable.
|
||||||
|
|
||||||
The following quickfix commands can be used. The location list commands are
|
The following quickfix commands can be used. The location list commands are
|
||||||
similar to the quickfix commands, replacing the 'c' prefix in the quickfix
|
similar to the quickfix commands, replacing the 'c' prefix in the quickfix
|
||||||
command with 'l'.
|
command with 'l'.
|
||||||
@@ -315,9 +330,9 @@ deleted for some reason, the message "line changed" is shown to warn you that
|
|||||||
the error location may not be correct. If you quit Vim and start again the
|
the error location may not be correct. If you quit Vim and start again the
|
||||||
marks are lost and the error locations may not be correct anymore.
|
marks are lost and the error locations may not be correct anymore.
|
||||||
|
|
||||||
If vim is built with |+autocmd| support, two autocommands are available for
|
Two autocommands are available for running commands before and after a
|
||||||
running commands before and after a quickfix command (':make', ':grep' and so
|
quickfix command (':make', ':grep' and so on) is executed. See
|
||||||
on) is executed. See |QuickFixCmdPre| and |QuickFixCmdPost| for details.
|
|QuickFixCmdPre| and |QuickFixCmdPost| for details.
|
||||||
|
|
||||||
*QuickFixCmdPost-example*
|
*QuickFixCmdPost-example*
|
||||||
When 'encoding' differs from the locale, the error messages may have a
|
When 'encoding' differs from the locale, the error messages may have a
|
||||||
@@ -334,6 +349,50 @@ use this code: >
|
|||||||
au QuickfixCmdPost make call QfMakeConv()
|
au QuickfixCmdPost make call QfMakeConv()
|
||||||
Another option is using 'makeencoding'.
|
Another option is using 'makeencoding'.
|
||||||
|
|
||||||
|
*quickfix-title*
|
||||||
|
Every quickfix and location list has a title. By default the title is set to
|
||||||
|
the command that created the list. The |getqflist()| and |getloclist()|
|
||||||
|
functions can be used to get the title of a quickfix and a location list
|
||||||
|
respectively. The |setqflist()| and |setloclist()| functions can be used to
|
||||||
|
modify the title of a quickfix and location list respectively. Examples: >
|
||||||
|
call setqflist([], 'a', {'title' : 'Cmd output'})
|
||||||
|
echo getqflist({'title' : 1})
|
||||||
|
call setloclist(3, [], 'a', {'title' : 'Cmd output'})
|
||||||
|
echo getloclist(3, {'title' : 1})
|
||||||
|
<
|
||||||
|
*quickfix-size*
|
||||||
|
You can get the number of entries (size) in a quickfix and a location list
|
||||||
|
using the |getqflist()| and |getloclist()| functions respectively. Examples: >
|
||||||
|
echo getqflist({'size' : 1})
|
||||||
|
echo getloclist(5, {'size' : 1})
|
||||||
|
<
|
||||||
|
*quickfix-context*
|
||||||
|
Any Vim type can be associated as a context with a quickfix or location list.
|
||||||
|
The |setqflist()| and the |setloclist()| functions can be used to associate a
|
||||||
|
context with a quickfix and a location list respectively. The |getqflist()|
|
||||||
|
and the |getloclist()| functions can be used to retrieve the context of a
|
||||||
|
quickfix and a location list respectively. This is useful for a Vim plugin
|
||||||
|
dealing with multiple quickfix/location lists.
|
||||||
|
Examples: >
|
||||||
|
|
||||||
|
let somectx = {'name' : 'Vim', 'type' : 'Editor'}
|
||||||
|
call setqflist([], 'a', {'context' : somectx})
|
||||||
|
echo getqflist({'context' : 1})
|
||||||
|
|
||||||
|
let newctx = ['red', 'green', 'blue']
|
||||||
|
call setloclist(2, [], 'a', {'id' : qfid, 'context' : newctx})
|
||||||
|
echo getloclist(2, {'id' : qfid, 'context' : 1})
|
||||||
|
<
|
||||||
|
*quickfix-parse*
|
||||||
|
You can parse a list of lines using 'errorformat' without creating or
|
||||||
|
modifying a quickfix list using the |getqflist()| function. Examples: >
|
||||||
|
echo getqflist({'lines' : ["F1:10:Line10", "F2:20:Line20"]})
|
||||||
|
echo getqflist({'lines' : systemlist('grep -Hn quickfix *')})
|
||||||
|
This returns a dictionary where the 'items' key contains the list of quickfix
|
||||||
|
entries parsed from lines. The following shows how to use a custom
|
||||||
|
'errorformat' to parse the lines without modifying the 'errorformat' option: >
|
||||||
|
echo getqflist({'efm' : '%f#%l#%m', 'lines' : ['F1#10#Line']})
|
||||||
|
<
|
||||||
|
|
||||||
EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||||
*:cdo*
|
*:cdo*
|
||||||
@@ -360,8 +419,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
|||||||
autocommand event is disabled by adding it to
|
autocommand event is disabled by adding it to
|
||||||
'eventignore'. This considerably speeds up editing
|
'eventignore'. This considerably speeds up editing
|
||||||
each buffer.
|
each buffer.
|
||||||
{not in Vi} {not available when compiled without the
|
{not in Vi}
|
||||||
|+listcmds| feature}
|
|
||||||
Also see |:bufdo|, |:tabdo|, |:argdo|, |:windo|,
|
Also see |:bufdo|, |:tabdo|, |:argdo|, |:windo|,
|
||||||
|:ldo|, |:cfdo| and |:lfdo|.
|
|:ldo|, |:cfdo| and |:lfdo|.
|
||||||
|
|
||||||
@@ -374,8 +432,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
|||||||
:{cmd}
|
:{cmd}
|
||||||
etc.
|
etc.
|
||||||
< Otherwise it works the same as `:cdo`.
|
< Otherwise it works the same as `:cdo`.
|
||||||
{not in Vi} {not available when compiled without the
|
{not in Vi}
|
||||||
|+listcmds| feature}
|
|
||||||
|
|
||||||
*:ldo*
|
*:ldo*
|
||||||
:ld[o][!] {cmd} Execute {cmd} in each valid entry in the location list
|
:ld[o][!] {cmd} Execute {cmd} in each valid entry in the location list
|
||||||
@@ -388,8 +445,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
|||||||
etc.
|
etc.
|
||||||
< Only valid entries in the location list are used.
|
< Only valid entries in the location list are used.
|
||||||
Otherwise it works the same as `:cdo`.
|
Otherwise it works the same as `:cdo`.
|
||||||
{not in Vi} {not available when compiled without the
|
{not in Vi}
|
||||||
|+listcmds| feature}
|
|
||||||
|
|
||||||
*:lfdo*
|
*:lfdo*
|
||||||
:lfdo[!] {cmd} Execute {cmd} in each file in the location list for
|
:lfdo[!] {cmd} Execute {cmd} in each file in the location list for
|
||||||
@@ -401,8 +457,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
|||||||
:{cmd}
|
:{cmd}
|
||||||
etc.
|
etc.
|
||||||
< Otherwise it works the same as `:ldo`.
|
< Otherwise it works the same as `:ldo`.
|
||||||
{not in Vi} {not available when compiled without the
|
{not in Vi}
|
||||||
|+listcmds| feature}
|
|
||||||
|
|
||||||
=============================================================================
|
=============================================================================
|
||||||
2. The error window *quickfix-window*
|
2. The error window *quickfix-window*
|
||||||
@@ -535,6 +590,13 @@ 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
|
||||||
window.
|
window.
|
||||||
|
|
||||||
|
*quickfix-window-ID*
|
||||||
|
You can use the |getqflist()| and |getloclist()| functions to obtain the
|
||||||
|
window ID of the quickfix window and location list window respectively (if
|
||||||
|
present). Examples: >
|
||||||
|
echo getqflist({'winid' : 1}).winid
|
||||||
|
echo getloclist(2, {'winid' : 1}).winid
|
||||||
|
<
|
||||||
=============================================================================
|
=============================================================================
|
||||||
3. Using more than one list of errors *quickfix-error-lists*
|
3. Using more than one list of errors *quickfix-error-lists*
|
||||||
|
|
||||||
@@ -579,12 +641,20 @@ list, one newer list is overwritten. This is especially useful if you are
|
|||||||
browsing with ":grep" |grep|. If you want to keep the more recent error
|
browsing with ":grep" |grep|. If you want to keep the more recent error
|
||||||
lists, use ":cnewer 99" first.
|
lists, use ":cnewer 99" first.
|
||||||
|
|
||||||
|
To get the number of lists in the quickfix and location list stack, you can
|
||||||
|
use the |getqflist()| and |getloclist()| functions respectively with the list
|
||||||
|
number set to the special value '$'. Examples: >
|
||||||
|
echo getqflist({'nr' : '$'}).nr
|
||||||
|
echo getloclist(3, {'nr' : '$'}).nr
|
||||||
|
To get the number of the current list in the stack: >
|
||||||
|
echo getqflist({'nr' : 0}).nr
|
||||||
|
<
|
||||||
=============================================================================
|
=============================================================================
|
||||||
4. Using :make *:make_makeprg*
|
4. Using :make *:make_makeprg*
|
||||||
|
|
||||||
*:mak* *:make*
|
*:mak* *:make*
|
||||||
:mak[e][!] [arguments] 1. If vim was built with |+autocmd|, all relevant
|
:mak[e][!] [arguments] 1. All relevant |QuickFixCmdPre| autocommands are
|
||||||
|QuickFixCmdPre| autocommands are executed.
|
executed.
|
||||||
2. If the 'autowrite' option is on, write any changed
|
2. If the 'autowrite' option is on, write any changed
|
||||||
buffers
|
buffers
|
||||||
3. An errorfile name is made from 'makeef'. If
|
3. An errorfile name is made from 'makeef'. If
|
||||||
@@ -596,9 +666,8 @@ lists, use ":cnewer 99" first.
|
|||||||
errorfile (for Unix it is also echoed on the
|
errorfile (for Unix it is also echoed on the
|
||||||
screen).
|
screen).
|
||||||
5. The errorfile is read using 'errorformat'.
|
5. The errorfile is read using 'errorformat'.
|
||||||
6. If vim was built with |+autocmd|, all relevant
|
6. All relevant |QuickFixCmdPost| autocommands are
|
||||||
|QuickFixCmdPost| autocommands are executed.
|
executed. See example below.
|
||||||
See example below.
|
|
||||||
7. If [!] is not given the first error is jumped to.
|
7. If [!] is not given the first error is jumped to.
|
||||||
8. The errorfile is deleted.
|
8. The errorfile is deleted.
|
||||||
9. You can now move through the errors with commands
|
9. You can now move through the errors with commands
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*quickref.txt* For Vim version 8.0. Last change: 2017 Aug 19
|
*quickref.txt* For Vim version 8.0. Last change: 2018 Feb 11
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -618,7 +618,8 @@ Short explanation of each option: *option-list*
|
|||||||
'backupext' 'bex' extension used for the backup file
|
'backupext' 'bex' extension used for the backup file
|
||||||
'backupskip' 'bsk' no backup for files that match these patterns
|
'backupskip' 'bsk' no backup for files that match these patterns
|
||||||
'balloondelay' 'bdlay' delay in mS before a balloon may pop up
|
'balloondelay' 'bdlay' delay in mS before a balloon may pop up
|
||||||
'ballooneval' 'beval' switch on balloon evaluation
|
'ballooneval' 'beval' switch on balloon evaluation in the GUI
|
||||||
|
'balloonevalterm' 'bevalterm' switch on balloon evaluation in the terminal
|
||||||
'balloonexpr' 'bexpr' expression to show in balloon
|
'balloonexpr' 'bexpr' expression to show in balloon
|
||||||
'belloff' 'bo' do not ring the bell for these reasons
|
'belloff' 'bo' do not ring the bell for these reasons
|
||||||
'binary' 'bin' read/write/edit file in binary mode
|
'binary' 'bin' read/write/edit file in binary mode
|
||||||
@@ -749,6 +750,7 @@ Short explanation of each option: *option-list*
|
|||||||
'iminsert' 'imi' use :lmap or IM in Insert mode
|
'iminsert' 'imi' use :lmap or IM in Insert mode
|
||||||
'imsearch' 'ims' use :lmap or IM when typing a search pattern
|
'imsearch' 'ims' use :lmap or IM when typing a search pattern
|
||||||
'imstatusfunc' 'imsf' function to obtain X input method status
|
'imstatusfunc' 'imsf' function to obtain X input method status
|
||||||
|
'imstyle' 'imst' specifies the input style of the input method
|
||||||
'include' 'inc' pattern to be used to find an include file
|
'include' 'inc' pattern to be used to find an include file
|
||||||
'includeexpr' 'inex' expression used to process an include line
|
'includeexpr' 'inex' expression used to process an include line
|
||||||
'incsearch' 'is' highlight match while typing search pattern
|
'incsearch' 'is' highlight match while typing search pattern
|
||||||
@@ -779,6 +781,8 @@ Short explanation of each option: *option-list*
|
|||||||
'listchars' 'lcs' characters for displaying in list mode
|
'listchars' 'lcs' characters for displaying in list mode
|
||||||
'loadplugins' 'lpl' load plugin scripts when starting up
|
'loadplugins' 'lpl' load plugin scripts when starting up
|
||||||
'luadll' name of the Lua dynamic library
|
'luadll' name of the Lua dynamic library
|
||||||
|
'mzschemedll' name of the MzScheme dynamic library
|
||||||
|
'mzschemegcdll' name of the MzScheme dynamic library for GC
|
||||||
'macatsui' Mac GUI: use ATSUI text drawing
|
'macatsui' Mac GUI: use ATSUI text drawing
|
||||||
'magic' changes special characters in search patterns
|
'magic' changes special characters in search patterns
|
||||||
'makeef' 'mef' name of the errorfile for ":make"
|
'makeef' 'mef' name of the errorfile for ":make"
|
||||||
@@ -834,8 +838,11 @@ Short explanation of each option: *option-list*
|
|||||||
'printoptions' 'popt' controls the format of :hardcopy output
|
'printoptions' 'popt' controls the format of :hardcopy output
|
||||||
'prompt' 'prompt' enable prompt in Ex mode
|
'prompt' 'prompt' enable prompt in Ex mode
|
||||||
'pumheight' 'ph' maximum height of the popup menu
|
'pumheight' 'ph' maximum height of the popup menu
|
||||||
|
'pumwidth' 'pw' minimum width of the popup menu
|
||||||
'pythondll' name of the Python 2 dynamic library
|
'pythondll' name of the Python 2 dynamic library
|
||||||
|
'pythonhome' name of the Python 2 home directory
|
||||||
'pythonthreedll' name of the Python 3 dynamic library
|
'pythonthreedll' name of the Python 3 dynamic library
|
||||||
|
'pythonthreehome' name of the Python 3 home directory
|
||||||
'pyxversion' 'pyx' Python version used for pyx* commands
|
'pyxversion' 'pyx' Python version used for pyx* commands
|
||||||
'quoteescape' 'qe' escape characters used in a string
|
'quoteescape' 'qe' escape characters used in a string
|
||||||
'readonly' 'ro' disallow writing the buffer
|
'readonly' 'ro' disallow writing the buffer
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*quotes.txt* For Vim version 8.0. Last change: 2010 Nov 03
|
*quotes.txt* For Vim version 8.0. Last change: 2018 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -18,7 +18,7 @@ Coming with a very GUI mindset from Windows, I always thought of people using
|
|||||||
Vi as some kind of outer space alien in human clothes. Once I tried I really
|
Vi as some kind of outer space alien in human clothes. Once I tried I really
|
||||||
got addicted by its power and now I found myself typing Vim keypresses in the
|
got addicted by its power and now I found myself typing Vim keypresses in the
|
||||||
oddest places! That's why I would like to see Vim embedded in every
|
oddest places! That's why I would like to see Vim embedded in every
|
||||||
application which deals with text editing. (Jos<EFBFBD> Fonseca)
|
application which deals with text editing. (José Fonseca)
|
||||||
|
|
||||||
I was a 12-year emacs user who switched to Vim about a year ago after finally
|
I was a 12-year emacs user who switched to Vim about a year ago after finally
|
||||||
giving up on the multiple incompatible versions, flaky contributed packages,
|
giving up on the multiple incompatible versions, flaky contributed packages,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*remote.txt* For Vim version 8.0. Last change: 2017 Aug 01
|
*remote.txt* For Vim version 8.0. Last change: 2017 Nov 12
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -181,7 +181,8 @@ name on the 'VimRegistry' property on the root window.
|
|||||||
|
|
||||||
A non GUI Vim with access to the X11 display (|xterm-clipboard| enabled), can
|
A non GUI Vim with access to the X11 display (|xterm-clipboard| enabled), can
|
||||||
also act as a command server if a server name is explicitly given with the
|
also act as a command server if a server name is explicitly given with the
|
||||||
--servername argument.
|
--servername argument, or when Vim was build with the |+autoservername|
|
||||||
|
feature.
|
||||||
|
|
||||||
An empty --servername argument will cause the command server to be disabled.
|
An empty --servername argument will cause the command server to be disabled.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*repeat.txt* For Vim version 8.0. Last change: 2017 Jun 10
|
*repeat.txt* For Vim version 8.0. Last change: 2018 Mar 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -242,6 +242,10 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
|||||||
If the directory pack/*/opt/{name}/after exists it is
|
If the directory pack/*/opt/{name}/after exists it is
|
||||||
added at the end of 'runtimepath'.
|
added at the end of 'runtimepath'.
|
||||||
|
|
||||||
|
If loading packages from "pack/*/start" was skipped,
|
||||||
|
then this directory is searched first:
|
||||||
|
pack/*/start/{name} ~
|
||||||
|
|
||||||
Note that {name} is the directory name, not the name
|
Note that {name} is the directory name, not the name
|
||||||
of the .vim file. All the files matching the pattern
|
of the .vim file. All the files matching the pattern
|
||||||
pack/*/opt/{name}/plugin/**/*.vim ~
|
pack/*/opt/{name}/plugin/**/*.vim ~
|
||||||
@@ -261,6 +265,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
|||||||
loaded during initialization, see |load-plugins|.
|
loaded during initialization, see |load-plugins|.
|
||||||
|
|
||||||
Also see |pack-add|.
|
Also see |pack-add|.
|
||||||
|
{only available when compiled with +eval}
|
||||||
|
|
||||||
*:packl* *:packloadall*
|
*:packl* *:packloadall*
|
||||||
:packl[oadall][!] Load all packages in the "start" directory under each
|
:packl[oadall][!] Load all packages in the "start" directory under each
|
||||||
@@ -284,6 +289,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
|||||||
An error only causes sourcing the script where it
|
An error only causes sourcing the script where it
|
||||||
happens to be aborted, further plugins will be loaded.
|
happens to be aborted, further plugins will be loaded.
|
||||||
See |packages|.
|
See |packages|.
|
||||||
|
{only available when compiled with +eval}
|
||||||
|
|
||||||
:scripte[ncoding] [encoding] *:scripte* *:scriptencoding* *E167*
|
:scripte[ncoding] [encoding] *:scripte* *:scriptencoding* *E167*
|
||||||
Specify the character encoding used in the script.
|
Specify the character encoding used in the script.
|
||||||
@@ -802,6 +808,19 @@ DEFINING BREAKPOINTS
|
|||||||
< Note that this only works for commands that are executed when
|
< Note that this only works for commands that are executed when
|
||||||
sourcing the file, not for a function defined in that file.
|
sourcing the file, not for a function defined in that file.
|
||||||
|
|
||||||
|
:breaka[dd] expr {expression}
|
||||||
|
Sets a breakpoint, that will break whenever the {expression}
|
||||||
|
evaluates to a different value. Example: >
|
||||||
|
:breakadd expr g:lnum
|
||||||
|
|
||||||
|
< Will break, whenever the global variable lnum changes.
|
||||||
|
Note if you watch a |script-variable| this will break
|
||||||
|
when switching scripts, since the script variable is only
|
||||||
|
valid in the script where it has been defined and if that
|
||||||
|
script is called from several other scripts, this will stop
|
||||||
|
whenever that particular variable will become visible or
|
||||||
|
unaccessible again.
|
||||||
|
|
||||||
The [lnum] is the line number of the breakpoint. Vim will stop at or after
|
The [lnum] is the line number of the breakpoint. Vim will stop at or after
|
||||||
this line. When omitted line 1 is used.
|
this line. When omitted line 1 is used.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*spell.txt* For Vim version 8.0. Last change: 2016 Jan 08
|
*spell.txt* For Vim version 8.0. Last change: 2018 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -723,7 +723,7 @@ Additionally the following items are recognized:
|
|||||||
= Case must match exactly.
|
= Case must match exactly.
|
||||||
? Rare word.
|
? Rare word.
|
||||||
! Bad (wrong) word.
|
! Bad (wrong) word.
|
||||||
digit A region in which the word is valid. If no regions are
|
1 to 9 A region in which the word is valid. If no regions are
|
||||||
specified the word is valid in all regions.
|
specified the word is valid in all regions.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
@@ -907,9 +907,9 @@ when using "cp1250" on Unix.
|
|||||||
*spell-LOW* *spell-UPP*
|
*spell-LOW* *spell-UPP*
|
||||||
Three lines in the affix file are needed. Simplistic example:
|
Three lines in the affix file are needed. Simplistic example:
|
||||||
|
|
||||||
FOL <EFBFBD><EFBFBD><EFBFBD> ~
|
FOL áëñ ~
|
||||||
LOW <EFBFBD><EFBFBD><EFBFBD> ~
|
LOW áëñ ~
|
||||||
UPP <EFBFBD><EFBFBD><EFBFBD> ~
|
UPP ÁËÑ ~
|
||||||
|
|
||||||
All three lines must have exactly the same number of characters.
|
All three lines must have exactly the same number of characters.
|
||||||
|
|
||||||
@@ -924,9 +924,9 @@ The "UPP" line specifies the characters with upper-case. That is, a character
|
|||||||
is upper-case where it's different from the character at the same position in
|
is upper-case where it's different from the character at the same position in
|
||||||
"FOL".
|
"FOL".
|
||||||
|
|
||||||
An exception is made for the German sharp s <EFBFBD>. The upper-case version is
|
An exception is made for the German sharp s ß. The upper-case version is
|
||||||
"SS". In the FOL/LOW/UPP lines it should be included, so that it's recognized
|
"SS". In the FOL/LOW/UPP lines it should be included, so that it's recognized
|
||||||
as a word character, but use the <EFBFBD> character in all three.
|
as a word character, but use the ß character in all three.
|
||||||
|
|
||||||
ASCII characters should be omitted, Vim always handles these in the same way.
|
ASCII characters should be omitted, Vim always handles these in the same way.
|
||||||
When the encoding is UTF-8 no word characters need to be specified.
|
When the encoding is UTF-8 no word characters need to be specified.
|
||||||
@@ -1397,7 +1397,7 @@ suggestions would spend most time trying all kind of weird compound words.
|
|||||||
*spell-SYLLABLE*
|
*spell-SYLLABLE*
|
||||||
The SYLLABLE item defines characters or character sequences that are used to
|
The SYLLABLE item defines characters or character sequences that are used to
|
||||||
count the number of syllables in a word. Example:
|
count the number of syllables in a word. Example:
|
||||||
SYLLABLE a<EFBFBD>e<EFBFBD>i<EFBFBD>o<EFBFBD><EFBFBD><EFBFBD>u<EFBFBD><EFBFBD><EFBFBD>y/aa/au/ea/ee/ei/ie/oa/oe/oo/ou/uu/ui ~
|
SYLLABLE aáeéiíoóöõuúüûy/aa/au/ea/ee/ei/ie/oa/oe/oo/ou/uu/ui ~
|
||||||
|
|
||||||
Before the first slash is the set of characters that are counted for one
|
Before the first slash is the set of characters that are counted for one
|
||||||
syllable, also when repeated and mixed, until the next character that is not
|
syllable, also when repeated and mixed, until the next character that is not
|
||||||
@@ -1478,8 +1478,8 @@ alike. This is mostly used for a letter with different accents. This is used
|
|||||||
to prefer suggestions with these letters substituted. Example:
|
to prefer suggestions with these letters substituted. Example:
|
||||||
|
|
||||||
MAP 2 ~
|
MAP 2 ~
|
||||||
MAP e<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ~
|
MAP eéëêè ~
|
||||||
MAP u<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ~
|
MAP uüùúû ~
|
||||||
|
|
||||||
The first line specifies the number of MAP lines following. Vim ignores the
|
The first line specifies the number of MAP lines following. Vim ignores the
|
||||||
number, but the line must be there.
|
number, but the line must be there.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*starting.txt* For Vim version 8.0. Last change: 2017 Jul 15
|
*starting.txt* For Vim version 8.0. Last change: 2018 Mar 14
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -58,9 +58,9 @@ filename One or more file names. The first one will be the current
|
|||||||
that is read from stdin. The commands that would normally be
|
that is read from stdin. The commands that would normally be
|
||||||
read from stdin will now be read from stderr. Example: >
|
read from stdin will now be read from stderr. Example: >
|
||||||
find . -name "*.c" -print | vim -
|
find . -name "*.c" -print | vim -
|
||||||
< The buffer will be marked modified, because it contains text
|
< The buffer will not be marked as modified, so that it's easy
|
||||||
that needs to be saved. Except when in readonly mode, then
|
to exit. Be careful to mark it as modified if you don't want
|
||||||
the buffer is not marked modified. Example: >
|
to accidentally lose it. Example: >
|
||||||
ls | view -
|
ls | view -
|
||||||
<
|
<
|
||||||
Starting in Ex mode: >
|
Starting in Ex mode: >
|
||||||
@@ -421,7 +421,9 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
*--not-a-term*
|
*--not-a-term*
|
||||||
--not-a-term Tells Vim that the user knows that the input and/or output is
|
--not-a-term Tells Vim that the user knows that the input and/or output is
|
||||||
not connected to a terminal. This will avoid the warning and
|
not connected to a terminal. This will avoid the warning and
|
||||||
the two second delay that would happen. {not in Vi}
|
the two second delay that would happen.
|
||||||
|
Also avoids the "Reading from stdin..." message.
|
||||||
|
{not in Vi}
|
||||||
|
|
||||||
*--ttyfail*
|
*--ttyfail*
|
||||||
--ttyfail When the stdin or stdout is not a terminal (tty) then exit
|
--ttyfail When the stdin or stdout is not a terminal (tty) then exit
|
||||||
@@ -508,12 +510,14 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
{not in Vi}
|
{not in Vi}
|
||||||
|
|
||||||
*--clean*
|
*--clean*
|
||||||
--clean Equal to "-u DEFAULTS -i NONE":
|
--clean Equal to "-u DEFAULTS -U NONE -i NONE":
|
||||||
- initializations from files and environment variables is
|
- initializations from files and environment variables is
|
||||||
skipped
|
skipped
|
||||||
- the |defaults.vim| script is loaded, which implies
|
- the |defaults.vim| script is loaded, which implies
|
||||||
'nocompatible': use Vim defaults
|
'nocompatible': use Vim defaults
|
||||||
|
- no |gvimrc| script is loaded
|
||||||
- no viminfo file is read or written
|
- no viminfo file is read or written
|
||||||
|
- the home directory is excluded from 'runtimepath'
|
||||||
*-x*
|
*-x*
|
||||||
-x Use encryption to read/write files. Will prompt for a key,
|
-x Use encryption to read/write files. Will prompt for a key,
|
||||||
which is then stored in the 'key' option. All writes will
|
which is then stored in the 'key' option. All writes will
|
||||||
@@ -873,6 +877,9 @@ accordingly. Vim proceeds in this order:
|
|||||||
(*) Using this file or environment variable will cause 'compatible' to be
|
(*) Using this file or environment variable will cause 'compatible' to be
|
||||||
off by default. See |compatible-default|.
|
off by default. See |compatible-default|.
|
||||||
|
|
||||||
|
Note: When using the |mzscheme| interface, it is initialized after loading
|
||||||
|
the vimrc file. Changing 'mzschemedll' later has no effect.
|
||||||
|
|
||||||
4. Load the plugin scripts. *load-plugins*
|
4. Load the plugin scripts. *load-plugins*
|
||||||
This does the same as the command: >
|
This does the same as the command: >
|
||||||
:runtime! plugin/**/*.vim
|
:runtime! plugin/**/*.vim
|
||||||
@@ -1005,14 +1012,13 @@ Vi compatible default value ~
|
|||||||
When Vim starts, the 'compatible' option is on. This will be used when Vim
|
When Vim starts, the 'compatible' option is on. This will be used when Vim
|
||||||
starts its initializations. But as soon as:
|
starts its initializations. But as soon as:
|
||||||
- a user vimrc file is found, or
|
- a user vimrc file is found, or
|
||||||
- a vimrc file in the current directory, or
|
- a vimrc file in the current directory is found, or
|
||||||
- the "VIMINIT" environment variable is set, or
|
- the "VIMINIT" environment variable is set, or
|
||||||
- the "-N" command line argument is given, or
|
- the "-N" command line argument is given, or
|
||||||
- the "--clean" command line argument is given, or
|
- the "--clean" command line argument is given, or
|
||||||
even when no vimrc file exists.
|
|
||||||
- the |defaults.vim| script is loaded, or
|
- the |defaults.vim| script is loaded, or
|
||||||
- gvimrc file was found,
|
- a gvimrc file was found,
|
||||||
then it will be set to 'nocompatible'.
|
then the option will be set to 'nocompatible'.
|
||||||
|
|
||||||
Note that this does NOT happen when a system-wide vimrc file was found.
|
Note that this does NOT happen when a system-wide vimrc file was found.
|
||||||
|
|
||||||
@@ -1038,13 +1044,13 @@ giving the mapping.
|
|||||||
Defaults without a .vimrc file ~
|
Defaults without a .vimrc file ~
|
||||||
*defaults.vim*
|
*defaults.vim*
|
||||||
If Vim is started normally and no user vimrc file is found, the
|
If Vim is started normally and no user vimrc file is found, the
|
||||||
$VIMRUTIME/defaults.vim script is loaded. This will set 'compatible' off,
|
$VIMRUNTIME/defaults.vim script is loaded. This will set 'compatible' off,
|
||||||
switch on syntax highlighting and a few more things. See the script for
|
switch on syntax highlighting and a few more things. See the script for
|
||||||
details. NOTE: this is done since Vim 8.0, not in Vim 7.4. (it was added in
|
details. NOTE: this is done since Vim 8.0, not in Vim 7.4. (it was added in
|
||||||
patch 7.4.2111 to be exact).
|
patch 7.4.2111 to be exact).
|
||||||
|
|
||||||
This should work well for new Vim users. If you create your own .vimrc, it is
|
This should work well for new Vim users. If you create your own .vimrc, it is
|
||||||
recommended to add this line somewhere near the top: >
|
recommended to add these lines somewhere near the top: >
|
||||||
unlet! skip_defaults_vim
|
unlet! skip_defaults_vim
|
||||||
source $VIMRUNTIME/defaults.vim
|
source $VIMRUNTIME/defaults.vim
|
||||||
Then Vim works like before you had a .vimrc. Copying $VIMRUNTIME/vimrc_example
|
Then Vim works like before you had a .vimrc. Copying $VIMRUNTIME/vimrc_example
|
||||||
@@ -1415,7 +1421,7 @@ The output of ":mkview" contains these items:
|
|||||||
5. The scroll position and the cursor position in the file. Doesn't work very
|
5. The scroll position and the cursor position in the file. Doesn't work very
|
||||||
well when there are closed folds.
|
well when there are closed folds.
|
||||||
6. The local current directory, if it is different from the global current
|
6. The local current directory, if it is different from the global current
|
||||||
directory.
|
directory and 'viewoptions' contains "curdir".
|
||||||
|
|
||||||
Note that Views and Sessions are not perfect:
|
Note that Views and Sessions are not perfect:
|
||||||
- They don't restore everything. For example, defined functions, autocommands
|
- They don't restore everything. For example, defined functions, autocommands
|
||||||
@@ -1527,7 +1533,7 @@ Notes for Unix:
|
|||||||
you have worked with.
|
you have worked with.
|
||||||
- If you want to share the viminfo file with other users (e.g. when you "su"
|
- If you want to share the viminfo file with other users (e.g. when you "su"
|
||||||
to another user), you can make the file writable for the group or everybody.
|
to another user), you can make the file writable for the group or everybody.
|
||||||
Vim will preserve this when writing new viminfo files. Be careful, don't
|
Vim will preserve this when replacing the viminfo file. Be careful, don't
|
||||||
allow just anybody to read and write your viminfo file!
|
allow just anybody to read and write your viminfo file!
|
||||||
- Vim will not overwrite a viminfo file that is not writable by the current
|
- Vim will not overwrite a viminfo file that is not writable by the current
|
||||||
"real" user. This helps for when you did "su" to become root, but your
|
"real" user. This helps for when you did "su" to become root, but your
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*syntax.txt* For Vim version 8.0. Last change: 2017 Aug 12
|
*syntax.txt* For Vim version 8.0. Last change: 2018 Jan 31
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -61,10 +61,12 @@ fine. If it doesn't, try setting the VIM environment variable to the
|
|||||||
directory where the Vim stuff is located. For example, if your syntax files
|
directory where the Vim stuff is located. For example, if your syntax files
|
||||||
are in the "/usr/vim/vim50/syntax" directory, set $VIMRUNTIME to
|
are in the "/usr/vim/vim50/syntax" directory, set $VIMRUNTIME to
|
||||||
"/usr/vim/vim50". You must do this in the shell, before starting Vim.
|
"/usr/vim/vim50". You must do this in the shell, before starting Vim.
|
||||||
|
This command also sources the |menu.vim| script when the GUI is running or
|
||||||
|
will start soon. See |'go-M'| about avoiding that.
|
||||||
|
|
||||||
*:syn-on* *:syntax-on*
|
*:syn-on* *:syntax-on*
|
||||||
The ":syntax enable" command will keep your current color settings. This
|
The `:syntax enable` command will keep your current color settings. This
|
||||||
allows using ":highlight" commands to set your preferred colors before or
|
allows using `:highlight` commands to set your preferred colors before or
|
||||||
after using this command. If you want Vim to overrule your settings with the
|
after using this command. If you want Vim to overrule your settings with the
|
||||||
defaults, use: >
|
defaults, use: >
|
||||||
:syntax on
|
:syntax on
|
||||||
@@ -810,12 +812,9 @@ See |mysyntaxfile-add| for installing script languages permanently.
|
|||||||
|
|
||||||
APACHE *apache.vim* *ft-apache-syntax*
|
APACHE *apache.vim* *ft-apache-syntax*
|
||||||
|
|
||||||
The apache syntax file provides syntax highlighting depending on Apache HTTP
|
The apache syntax file provides syntax highlighting for Apache HTTP server
|
||||||
server version, by default for 1.3.x. Set "apache_version" to Apache version
|
version 2.2.3.
|
||||||
(as a string) to get highlighting for another version. Example: >
|
|
||||||
|
|
||||||
:let apache_version = "2.0"
|
|
||||||
<
|
|
||||||
|
|
||||||
*asm.vim* *asmh8300.vim* *nasm.vim* *masm.vim* *asm68k*
|
*asm.vim* *asmh8300.vim* *nasm.vim* *masm.vim* *asm68k*
|
||||||
ASSEMBLY *ft-asm-syntax* *ft-asmh8300-syntax* *ft-nasm-syntax*
|
ASSEMBLY *ft-asm-syntax* *ft-asmh8300-syntax* *ft-nasm-syntax*
|
||||||
@@ -2780,13 +2779,10 @@ Ruby syntax will perform spellchecking of strings if you define
|
|||||||
|
|
||||||
SCHEME *scheme.vim* *ft-scheme-syntax*
|
SCHEME *scheme.vim* *ft-scheme-syntax*
|
||||||
|
|
||||||
By default only R5RS keywords are highlighted and properly indented.
|
By default only R7RS keywords are highlighted and properly indented.
|
||||||
|
|
||||||
MzScheme-specific stuff will be used if b:is_mzscheme or g:is_mzscheme
|
scheme.vim also supports extensions of the CHICKEN Scheme->C compiler.
|
||||||
variables are defined.
|
Define b:is_chicken or g:is_chicken, if you need them.
|
||||||
|
|
||||||
Also scheme.vim supports keywords of the Chicken Scheme->C compiler. Define
|
|
||||||
b:is_chicken or g:is_chicken, if you need them.
|
|
||||||
|
|
||||||
|
|
||||||
SDL *sdl.vim* *ft-sdl-syntax*
|
SDL *sdl.vim* *ft-sdl-syntax*
|
||||||
@@ -4699,13 +4695,14 @@ the same syntax file on all terminals, and use the optimal highlighting.
|
|||||||
|
|
||||||
*bold* *underline* *undercurl*
|
*bold* *underline* *undercurl*
|
||||||
*inverse* *italic* *standout*
|
*inverse* *italic* *standout*
|
||||||
*nocombine*
|
*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
|
||||||
undercurl not always available
|
undercurl not always available
|
||||||
|
strikethrough not always available
|
||||||
reverse
|
reverse
|
||||||
inverse same as reverse
|
inverse same as reverse
|
||||||
italic
|
italic
|
||||||
@@ -4716,8 +4713,8 @@ term={attr-list} *attr-list* *highlight-term* *E418*
|
|||||||
Note that "bold" can be used here and by using a bold font. They
|
Note that "bold" can be used here and by using a bold font. They
|
||||||
have the same effect.
|
have the same effect.
|
||||||
"undercurl" is a curly underline. When "undercurl" is not possible
|
"undercurl" is a curly underline. When "undercurl" is not possible
|
||||||
then "underline" is used. In general "undercurl" is only available in
|
then "underline" is used. In general "undercurl" and "strikethrough"
|
||||||
the GUI. The color is set with |highlight-guisp|.
|
is only available in the GUI. The color is set with |highlight-guisp|.
|
||||||
|
|
||||||
start={term-list} *highlight-start* *E422*
|
start={term-list} *highlight-start* *E422*
|
||||||
stop={term-list} *term-list* *highlight-stop*
|
stop={term-list} *term-list* *highlight-stop*
|
||||||
@@ -4882,7 +4879,8 @@ guifg={color-name} *highlight-guifg*
|
|||||||
guibg={color-name} *highlight-guibg*
|
guibg={color-name} *highlight-guibg*
|
||||||
guisp={color-name} *highlight-guisp*
|
guisp={color-name} *highlight-guisp*
|
||||||
These give the foreground (guifg), background (guibg) and special
|
These give the foreground (guifg), background (guibg) and special
|
||||||
(guisp) color to use in the GUI. "guisp" is used for undercurl.
|
(guisp) color to use in the GUI. "guisp" is used for undercurl and
|
||||||
|
strikethrough.
|
||||||
There are a few special names:
|
There are a few special names:
|
||||||
NONE no color (transparent)
|
NONE no color (transparent)
|
||||||
bg use normal background color
|
bg use normal background color
|
||||||
@@ -5024,12 +5022,19 @@ StatusLine status line of current window
|
|||||||
StatusLineNC status lines of not-current windows
|
StatusLineNC status lines of not-current windows
|
||||||
Note: if this is equal to "StatusLine" Vim will use "^^^" in
|
Note: if this is equal to "StatusLine" Vim will use "^^^" in
|
||||||
the status line of the current window.
|
the status line of the current window.
|
||||||
|
*hl-StatusLineTerm*
|
||||||
|
StatusLineTerm status line of current window, if it is a |terminal| window.
|
||||||
|
*hl-StatusLineTermNC*
|
||||||
|
StatusLineTermNC status lines of not-current windows that is a |terminal|
|
||||||
|
window.
|
||||||
*hl-TabLine*
|
*hl-TabLine*
|
||||||
TabLine tab pages line, not active tab page label
|
TabLine tab pages line, not active tab page label
|
||||||
*hl-TabLineFill*
|
*hl-TabLineFill*
|
||||||
TabLineFill tab pages line, where there are no labels
|
TabLineFill tab pages line, where there are no labels
|
||||||
*hl-TabLineSel*
|
*hl-TabLineSel*
|
||||||
TabLineSel tab pages line, active tab page label
|
TabLineSel tab pages line, active tab page label
|
||||||
|
*hl-Terminal*
|
||||||
|
Terminal |terminal| window (see |terminal-size-color|)
|
||||||
*hl-Title*
|
*hl-Title*
|
||||||
Title titles for output from ":set all", ":autocmd" etc.
|
Title titles for output from ":set all", ":autocmd" etc.
|
||||||
*hl-Visual*
|
*hl-Visual*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*tabpage.txt* For Vim version 8.0. Last change: 2016 Oct 20
|
*tabpage.txt* For Vim version 8.0. Last change: 2018 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -286,8 +286,7 @@ LOOPING OVER TAB PAGES:
|
|||||||
current tab page.
|
current tab page.
|
||||||
{cmd} can contain '|' to concatenate several commands.
|
{cmd} can contain '|' to concatenate several commands.
|
||||||
{cmd} must not open or close tab pages or reorder them.
|
{cmd} must not open or close tab pages or reorder them.
|
||||||
{not in Vi} {not available when compiled without the
|
{not in Vi}
|
||||||
|+listcmds| feature}
|
|
||||||
Also see |:windo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|, |:cfdo|
|
Also see |:windo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|, |:cfdo|
|
||||||
and |:lfdo|
|
and |:lfdo|
|
||||||
|
|
||||||
|
|||||||
143
runtime/doc/tags
143
runtime/doc/tags
@@ -4,6 +4,7 @@
|
|||||||
$ motion.txt /*$*
|
$ motion.txt /*$*
|
||||||
$HOME options.txt /*$HOME*
|
$HOME options.txt /*$HOME*
|
||||||
$HOME-use version5.txt /*$HOME-use*
|
$HOME-use version5.txt /*$HOME-use*
|
||||||
|
$HOME-windows options.txt /*$HOME-windows*
|
||||||
$MYGVIMRC gui.txt /*$MYGVIMRC*
|
$MYGVIMRC gui.txt /*$MYGVIMRC*
|
||||||
$MYVIMRC starting.txt /*$MYVIMRC*
|
$MYVIMRC starting.txt /*$MYVIMRC*
|
||||||
$VIM starting.txt /*$VIM*
|
$VIM starting.txt /*$VIM*
|
||||||
@@ -73,12 +74,14 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'backupskip' options.txt /*'backupskip'*
|
'backupskip' options.txt /*'backupskip'*
|
||||||
'balloondelay' options.txt /*'balloondelay'*
|
'balloondelay' options.txt /*'balloondelay'*
|
||||||
'ballooneval' options.txt /*'ballooneval'*
|
'ballooneval' options.txt /*'ballooneval'*
|
||||||
|
'balloonevalterm' options.txt /*'balloonevalterm'*
|
||||||
'balloonexpr' options.txt /*'balloonexpr'*
|
'balloonexpr' options.txt /*'balloonexpr'*
|
||||||
'bdir' options.txt /*'bdir'*
|
'bdir' options.txt /*'bdir'*
|
||||||
'bdlay' options.txt /*'bdlay'*
|
'bdlay' options.txt /*'bdlay'*
|
||||||
'beautify' vi_diff.txt /*'beautify'*
|
'beautify' vi_diff.txt /*'beautify'*
|
||||||
'belloff' options.txt /*'belloff'*
|
'belloff' options.txt /*'belloff'*
|
||||||
'beval' options.txt /*'beval'*
|
'beval' options.txt /*'beval'*
|
||||||
|
'bevalterm' options.txt /*'bevalterm'*
|
||||||
'bex' options.txt /*'bex'*
|
'bex' options.txt /*'bex'*
|
||||||
'bexpr' options.txt /*'bexpr'*
|
'bexpr' options.txt /*'bexpr'*
|
||||||
'bf' vi_diff.txt /*'bf'*
|
'bf' vi_diff.txt /*'bf'*
|
||||||
@@ -291,6 +294,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'gfw' options.txt /*'gfw'*
|
'gfw' options.txt /*'gfw'*
|
||||||
'ghr' options.txt /*'ghr'*
|
'ghr' options.txt /*'ghr'*
|
||||||
'go' options.txt /*'go'*
|
'go' options.txt /*'go'*
|
||||||
|
'go-!' options.txt /*'go-!'*
|
||||||
'go-A' options.txt /*'go-A'*
|
'go-A' options.txt /*'go-A'*
|
||||||
'go-F' options.txt /*'go-F'*
|
'go-F' options.txt /*'go-F'*
|
||||||
'go-L' options.txt /*'go-L'*
|
'go-L' options.txt /*'go-L'*
|
||||||
@@ -306,6 +310,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'go-g' options.txt /*'go-g'*
|
'go-g' options.txt /*'go-g'*
|
||||||
'go-h' options.txt /*'go-h'*
|
'go-h' options.txt /*'go-h'*
|
||||||
'go-i' options.txt /*'go-i'*
|
'go-i' options.txt /*'go-i'*
|
||||||
|
'go-k' options.txt /*'go-k'*
|
||||||
'go-l' options.txt /*'go-l'*
|
'go-l' options.txt /*'go-l'*
|
||||||
'go-m' options.txt /*'go-m'*
|
'go-m' options.txt /*'go-m'*
|
||||||
'go-p' options.txt /*'go-p'*
|
'go-p' options.txt /*'go-p'*
|
||||||
@@ -366,7 +371,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'ims' options.txt /*'ims'*
|
'ims' options.txt /*'ims'*
|
||||||
'imsearch' options.txt /*'imsearch'*
|
'imsearch' options.txt /*'imsearch'*
|
||||||
'imsf' options.txt /*'imsf'*
|
'imsf' options.txt /*'imsf'*
|
||||||
|
'imst' options.txt /*'imst'*
|
||||||
'imstatusfunc' options.txt /*'imstatusfunc'*
|
'imstatusfunc' options.txt /*'imstatusfunc'*
|
||||||
|
'imstyle' options.txt /*'imstyle'*
|
||||||
'inc' options.txt /*'inc'*
|
'inc' options.txt /*'inc'*
|
||||||
'include' options.txt /*'include'*
|
'include' options.txt /*'include'*
|
||||||
'includeexpr' options.txt /*'includeexpr'*
|
'includeexpr' options.txt /*'includeexpr'*
|
||||||
@@ -474,6 +481,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'msm' options.txt /*'msm'*
|
'msm' options.txt /*'msm'*
|
||||||
'mzq' options.txt /*'mzq'*
|
'mzq' options.txt /*'mzq'*
|
||||||
'mzquantum' options.txt /*'mzquantum'*
|
'mzquantum' options.txt /*'mzquantum'*
|
||||||
|
'mzschemedll' options.txt /*'mzschemedll'*
|
||||||
|
'mzschemegcdll' options.txt /*'mzschemegcdll'*
|
||||||
'nf' options.txt /*'nf'*
|
'nf' options.txt /*'nf'*
|
||||||
'noacd' options.txt /*'noacd'*
|
'noacd' options.txt /*'noacd'*
|
||||||
'noai' options.txt /*'noai'*
|
'noai' options.txt /*'noai'*
|
||||||
@@ -499,7 +508,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'noawa' options.txt /*'noawa'*
|
'noawa' options.txt /*'noawa'*
|
||||||
'nobackup' options.txt /*'nobackup'*
|
'nobackup' options.txt /*'nobackup'*
|
||||||
'noballooneval' options.txt /*'noballooneval'*
|
'noballooneval' options.txt /*'noballooneval'*
|
||||||
|
'noballoonevalterm' options.txt /*'noballoonevalterm'*
|
||||||
'nobeval' options.txt /*'nobeval'*
|
'nobeval' options.txt /*'nobeval'*
|
||||||
|
'nobevalterm' options.txt /*'nobevalterm'*
|
||||||
'nobin' options.txt /*'nobin'*
|
'nobin' options.txt /*'nobin'*
|
||||||
'nobinary' options.txt /*'nobinary'*
|
'nobinary' options.txt /*'nobinary'*
|
||||||
'nobiosk' options.txt /*'nobiosk'*
|
'nobiosk' options.txt /*'nobiosk'*
|
||||||
@@ -746,6 +757,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'path' options.txt /*'path'*
|
'path' options.txt /*'path'*
|
||||||
'pdev' options.txt /*'pdev'*
|
'pdev' options.txt /*'pdev'*
|
||||||
'penc' options.txt /*'penc'*
|
'penc' options.txt /*'penc'*
|
||||||
|
'perldll' options.txt /*'perldll'*
|
||||||
'pex' options.txt /*'pex'*
|
'pex' options.txt /*'pex'*
|
||||||
'pexpr' options.txt /*'pexpr'*
|
'pexpr' options.txt /*'pexpr'*
|
||||||
'pfn' options.txt /*'pfn'*
|
'pfn' options.txt /*'pfn'*
|
||||||
@@ -771,10 +783,14 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'prompt' options.txt /*'prompt'*
|
'prompt' options.txt /*'prompt'*
|
||||||
'pt' options.txt /*'pt'*
|
'pt' options.txt /*'pt'*
|
||||||
'pumheight' options.txt /*'pumheight'*
|
'pumheight' options.txt /*'pumheight'*
|
||||||
|
'pumwidth' options.txt /*'pumwidth'*
|
||||||
'pvh' options.txt /*'pvh'*
|
'pvh' options.txt /*'pvh'*
|
||||||
'pvw' options.txt /*'pvw'*
|
'pvw' options.txt /*'pvw'*
|
||||||
|
'pw' options.txt /*'pw'*
|
||||||
'pythondll' options.txt /*'pythondll'*
|
'pythondll' options.txt /*'pythondll'*
|
||||||
|
'pythonhome' options.txt /*'pythonhome'*
|
||||||
'pythonthreedll' options.txt /*'pythonthreedll'*
|
'pythonthreedll' options.txt /*'pythonthreedll'*
|
||||||
|
'pythonthreehome' options.txt /*'pythonthreehome'*
|
||||||
'pyx' options.txt /*'pyx'*
|
'pyx' options.txt /*'pyx'*
|
||||||
'pyxversion' options.txt /*'pyxversion'*
|
'pyxversion' options.txt /*'pyxversion'*
|
||||||
'qe' options.txt /*'qe'*
|
'qe' options.txt /*'qe'*
|
||||||
@@ -971,6 +987,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
't_PE' term.txt /*'t_PE'*
|
't_PE' term.txt /*'t_PE'*
|
||||||
't_PS' term.txt /*'t_PS'*
|
't_PS' term.txt /*'t_PS'*
|
||||||
't_RB' term.txt /*'t_RB'*
|
't_RB' term.txt /*'t_RB'*
|
||||||
|
't_RC' term.txt /*'t_RC'*
|
||||||
|
't_RF' term.txt /*'t_RF'*
|
||||||
't_RI' term.txt /*'t_RI'*
|
't_RI' term.txt /*'t_RI'*
|
||||||
't_RS' term.txt /*'t_RS'*
|
't_RS' term.txt /*'t_RS'*
|
||||||
't_RV' term.txt /*'t_RV'*
|
't_RV' term.txt /*'t_RV'*
|
||||||
@@ -980,6 +998,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
't_SR' term.txt /*'t_SR'*
|
't_SR' term.txt /*'t_SR'*
|
||||||
't_Sb' term.txt /*'t_Sb'*
|
't_Sb' term.txt /*'t_Sb'*
|
||||||
't_Sf' term.txt /*'t_Sf'*
|
't_Sf' term.txt /*'t_Sf'*
|
||||||
|
't_Te' term.txt /*'t_Te'*
|
||||||
|
't_Ts' term.txt /*'t_Ts'*
|
||||||
't_VS' term.txt /*'t_VS'*
|
't_VS' term.txt /*'t_VS'*
|
||||||
't_WP' term.txt /*'t_WP'*
|
't_WP' term.txt /*'t_WP'*
|
||||||
't_WS' term.txt /*'t_WS'*
|
't_WS' term.txt /*'t_WS'*
|
||||||
@@ -1212,7 +1232,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
+acl various.txt /*+acl*
|
+acl various.txt /*+acl*
|
||||||
+arabic various.txt /*+arabic*
|
+arabic various.txt /*+arabic*
|
||||||
+autocmd various.txt /*+autocmd*
|
+autocmd various.txt /*+autocmd*
|
||||||
|
+autoservername various.txt /*+autoservername*
|
||||||
+balloon_eval various.txt /*+balloon_eval*
|
+balloon_eval various.txt /*+balloon_eval*
|
||||||
|
+balloon_eval_term various.txt /*+balloon_eval_term*
|
||||||
+browse various.txt /*+browse*
|
+browse various.txt /*+browse*
|
||||||
+builtin_terms various.txt /*+builtin_terms*
|
+builtin_terms various.txt /*+builtin_terms*
|
||||||
+byte_offset various.txt /*+byte_offset*
|
+byte_offset various.txt /*+byte_offset*
|
||||||
@@ -1328,6 +1350,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
+timers various.txt /*+timers*
|
+timers various.txt /*+timers*
|
||||||
+title various.txt /*+title*
|
+title various.txt /*+title*
|
||||||
+toolbar various.txt /*+toolbar*
|
+toolbar various.txt /*+toolbar*
|
||||||
|
+unix eval.txt /*+unix*
|
||||||
+user_commands various.txt /*+user_commands*
|
+user_commands various.txt /*+user_commands*
|
||||||
+vertsplit various.txt /*+vertsplit*
|
+vertsplit various.txt /*+vertsplit*
|
||||||
+viminfo various.txt /*+viminfo*
|
+viminfo various.txt /*+viminfo*
|
||||||
@@ -1335,6 +1358,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
+visual various.txt /*+visual*
|
+visual various.txt /*+visual*
|
||||||
+visualextra various.txt /*+visualextra*
|
+visualextra various.txt /*+visualextra*
|
||||||
+vreplace various.txt /*+vreplace*
|
+vreplace various.txt /*+vreplace*
|
||||||
|
+vtp various.txt /*+vtp*
|
||||||
+wildignore various.txt /*+wildignore*
|
+wildignore various.txt /*+wildignore*
|
||||||
+wildmenu various.txt /*+wildmenu*
|
+wildmenu various.txt /*+wildmenu*
|
||||||
+windows various.txt /*+windows*
|
+windows various.txt /*+windows*
|
||||||
@@ -1892,6 +1916,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
:<afile> cmdline.txt /*:<afile>*
|
:<afile> cmdline.txt /*:<afile>*
|
||||||
:<amatch> cmdline.txt /*:<amatch>*
|
:<amatch> cmdline.txt /*:<amatch>*
|
||||||
:<cWORD> cmdline.txt /*:<cWORD>*
|
:<cWORD> cmdline.txt /*:<cWORD>*
|
||||||
|
:<cexpr> cmdline.txt /*:<cexpr>*
|
||||||
:<cfile> cmdline.txt /*:<cfile>*
|
:<cfile> cmdline.txt /*:<cfile>*
|
||||||
:<cword> cmdline.txt /*:<cword>*
|
:<cword> cmdline.txt /*:<cword>*
|
||||||
:<sfile> cmdline.txt /*:<sfile>*
|
:<sfile> cmdline.txt /*:<sfile>*
|
||||||
@@ -1951,6 +1976,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
:Sexplore pi_netrw.txt /*:Sexplore*
|
:Sexplore pi_netrw.txt /*:Sexplore*
|
||||||
:TOhtml syntax.txt /*:TOhtml*
|
:TOhtml syntax.txt /*:TOhtml*
|
||||||
:TarDiff pi_tar.txt /*:TarDiff*
|
:TarDiff pi_tar.txt /*:TarDiff*
|
||||||
|
:Termdebug terminal.txt /*:Termdebug*
|
||||||
:Texplore pi_netrw.txt /*:Texplore*
|
:Texplore pi_netrw.txt /*:Texplore*
|
||||||
:UseVimball pi_vimball.txt /*:UseVimball*
|
:UseVimball pi_vimball.txt /*:UseVimball*
|
||||||
:Vexplore pi_netrw.txt /*:Vexplore*
|
:Vexplore pi_netrw.txt /*:Vexplore*
|
||||||
@@ -3122,9 +3148,16 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
:tl tagsrch.txt /*:tl*
|
:tl tagsrch.txt /*:tl*
|
||||||
:tlast tagsrch.txt /*:tlast*
|
:tlast tagsrch.txt /*:tlast*
|
||||||
:tm gui.txt /*:tm*
|
:tm gui.txt /*:tm*
|
||||||
|
:tma map.txt /*:tma*
|
||||||
|
:tmap map.txt /*:tmap*
|
||||||
|
:tmap_l map.txt /*:tmap_l*
|
||||||
|
:tmapc map.txt /*:tmapc*
|
||||||
|
:tmapclear map.txt /*:tmapclear*
|
||||||
:tmenu gui.txt /*:tmenu*
|
:tmenu gui.txt /*:tmenu*
|
||||||
:tn tagsrch.txt /*:tn*
|
:tn tagsrch.txt /*:tn*
|
||||||
:tnext tagsrch.txt /*:tnext*
|
:tnext tagsrch.txt /*:tnext*
|
||||||
|
:tno map.txt /*:tno*
|
||||||
|
:tnoremap map.txt /*:tnoremap*
|
||||||
:topleft windows.txt /*:topleft*
|
:topleft windows.txt /*:topleft*
|
||||||
:tp tagsrch.txt /*:tp*
|
:tp tagsrch.txt /*:tp*
|
||||||
:tprevious tagsrch.txt /*:tprevious*
|
:tprevious tagsrch.txt /*:tprevious*
|
||||||
@@ -3134,6 +3167,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
:ts tagsrch.txt /*:ts*
|
:ts tagsrch.txt /*:ts*
|
||||||
:tselect tagsrch.txt /*:tselect*
|
:tselect tagsrch.txt /*:tselect*
|
||||||
:tu gui.txt /*:tu*
|
:tu gui.txt /*:tu*
|
||||||
|
:tunma map.txt /*:tunma*
|
||||||
|
:tunmap map.txt /*:tunmap*
|
||||||
:tunmenu gui.txt /*:tunmenu*
|
:tunmenu gui.txt /*:tunmenu*
|
||||||
:u undo.txt /*:u*
|
:u undo.txt /*:u*
|
||||||
:un undo.txt /*:un*
|
:un undo.txt /*:un*
|
||||||
@@ -3398,6 +3433,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
<bang> map.txt /*<bang>*
|
<bang> map.txt /*<bang>*
|
||||||
<buffer=N> autocmd.txt /*<buffer=N>*
|
<buffer=N> autocmd.txt /*<buffer=N>*
|
||||||
<buffer=abuf> autocmd.txt /*<buffer=abuf>*
|
<buffer=abuf> autocmd.txt /*<buffer=abuf>*
|
||||||
|
<cexpr> cmdline.txt /*<cexpr>*
|
||||||
<cfile> cmdline.txt /*<cfile>*
|
<cfile> cmdline.txt /*<cfile>*
|
||||||
<character> intro.txt /*<character>*
|
<character> intro.txt /*<character>*
|
||||||
<count> map.txt /*<count>*
|
<count> map.txt /*<count>*
|
||||||
@@ -3428,6 +3464,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
<mods> map.txt /*<mods>*
|
<mods> map.txt /*<mods>*
|
||||||
<nomodeline> autocmd.txt /*<nomodeline>*
|
<nomodeline> autocmd.txt /*<nomodeline>*
|
||||||
<q-args> map.txt /*<q-args>*
|
<q-args> map.txt /*<q-args>*
|
||||||
|
<range> map.txt /*<range>*
|
||||||
<reg> map.txt /*<reg>*
|
<reg> map.txt /*<reg>*
|
||||||
<register> map.txt /*<register>*
|
<register> map.txt /*<register>*
|
||||||
<sfile> cmdline.txt /*<sfile>*
|
<sfile> cmdline.txt /*<sfile>*
|
||||||
@@ -3633,6 +3670,9 @@ Cmd-event autocmd.txt /*Cmd-event*
|
|||||||
CmdUndefined autocmd.txt /*CmdUndefined*
|
CmdUndefined autocmd.txt /*CmdUndefined*
|
||||||
Cmdline cmdline.txt /*Cmdline*
|
Cmdline cmdline.txt /*Cmdline*
|
||||||
Cmdline-mode cmdline.txt /*Cmdline-mode*
|
Cmdline-mode cmdline.txt /*Cmdline-mode*
|
||||||
|
CmdlineChanged autocmd.txt /*CmdlineChanged*
|
||||||
|
CmdlineEnter autocmd.txt /*CmdlineEnter*
|
||||||
|
CmdlineLeave autocmd.txt /*CmdlineLeave*
|
||||||
CmdwinEnter autocmd.txt /*CmdwinEnter*
|
CmdwinEnter autocmd.txt /*CmdwinEnter*
|
||||||
CmdwinLeave autocmd.txt /*CmdwinLeave*
|
CmdwinLeave autocmd.txt /*CmdwinLeave*
|
||||||
ColorScheme autocmd.txt /*ColorScheme*
|
ColorScheme autocmd.txt /*ColorScheme*
|
||||||
@@ -3655,6 +3695,7 @@ Dictionaries eval.txt /*Dictionaries*
|
|||||||
Dictionary eval.txt /*Dictionary*
|
Dictionary eval.txt /*Dictionary*
|
||||||
Dictionary-function eval.txt /*Dictionary-function*
|
Dictionary-function eval.txt /*Dictionary-function*
|
||||||
Digraphs digraph.txt /*Digraphs*
|
Digraphs digraph.txt /*Digraphs*
|
||||||
|
DirChanged autocmd.txt /*DirChanged*
|
||||||
E motion.txt /*E*
|
E motion.txt /*E*
|
||||||
E10 message.txt /*E10*
|
E10 message.txt /*E10*
|
||||||
E100 diff.txt /*E100*
|
E100 diff.txt /*E100*
|
||||||
@@ -3735,7 +3776,6 @@ E169 message.txt /*E169*
|
|||||||
E17 message.txt /*E17*
|
E17 message.txt /*E17*
|
||||||
E170 eval.txt /*E170*
|
E170 eval.txt /*E170*
|
||||||
E171 eval.txt /*E171*
|
E171 eval.txt /*E171*
|
||||||
E172 message.txt /*E172*
|
|
||||||
E173 message.txt /*E173*
|
E173 message.txt /*E173*
|
||||||
E174 map.txt /*E174*
|
E174 map.txt /*E174*
|
||||||
E175 map.txt /*E175*
|
E175 map.txt /*E175*
|
||||||
@@ -4543,7 +4583,13 @@ E945 pattern.txt /*E945*
|
|||||||
E946 terminal.txt /*E946*
|
E946 terminal.txt /*E946*
|
||||||
E947 terminal.txt /*E947*
|
E947 terminal.txt /*E947*
|
||||||
E948 terminal.txt /*E948*
|
E948 terminal.txt /*E948*
|
||||||
|
E949 editing.txt /*E949*
|
||||||
E95 message.txt /*E95*
|
E95 message.txt /*E95*
|
||||||
|
E950 message.txt /*E950*
|
||||||
|
E951 pattern.txt /*E951*
|
||||||
|
E952 autocmd.txt /*E952*
|
||||||
|
E953 eval.txt /*E953*
|
||||||
|
E954 options.txt /*E954*
|
||||||
E96 diff.txt /*E96*
|
E96 diff.txt /*E96*
|
||||||
E97 diff.txt /*E97*
|
E97 diff.txt /*E97*
|
||||||
E98 diff.txt /*E98*
|
E98 diff.txt /*E98*
|
||||||
@@ -4555,6 +4601,7 @@ EncodingChanged autocmd.txt /*EncodingChanged*
|
|||||||
Eterm syntax.txt /*Eterm*
|
Eterm syntax.txt /*Eterm*
|
||||||
Ex intro.txt /*Ex*
|
Ex intro.txt /*Ex*
|
||||||
Ex-mode intro.txt /*Ex-mode*
|
Ex-mode intro.txt /*Ex-mode*
|
||||||
|
ExitPre autocmd.txt /*ExitPre*
|
||||||
Exuberant_ctags tagsrch.txt /*Exuberant_ctags*
|
Exuberant_ctags tagsrch.txt /*Exuberant_ctags*
|
||||||
F motion.txt /*F*
|
F motion.txt /*F*
|
||||||
FALSE eval.txt /*FALSE*
|
FALSE eval.txt /*FALSE*
|
||||||
@@ -4785,8 +4832,11 @@ Tcl if_tcl.txt /*Tcl*
|
|||||||
TermChanged autocmd.txt /*TermChanged*
|
TermChanged autocmd.txt /*TermChanged*
|
||||||
TermResponse autocmd.txt /*TermResponse*
|
TermResponse autocmd.txt /*TermResponse*
|
||||||
Terminal-mode terminal.txt /*Terminal-mode*
|
Terminal-mode terminal.txt /*Terminal-mode*
|
||||||
|
TerminalOpen autocmd.txt /*TerminalOpen*
|
||||||
TextChanged autocmd.txt /*TextChanged*
|
TextChanged autocmd.txt /*TextChanged*
|
||||||
TextChangedI autocmd.txt /*TextChangedI*
|
TextChangedI autocmd.txt /*TextChangedI*
|
||||||
|
TextChangedP autocmd.txt /*TextChangedP*
|
||||||
|
TextYankPost autocmd.txt /*TextYankPost*
|
||||||
Transact-SQL ft_sql.txt /*Transact-SQL*
|
Transact-SQL ft_sql.txt /*Transact-SQL*
|
||||||
U undo.txt /*U*
|
U undo.txt /*U*
|
||||||
UTF-8 mbyte.txt /*UTF-8*
|
UTF-8 mbyte.txt /*UTF-8*
|
||||||
@@ -4829,6 +4879,7 @@ W22 eval.txt /*W22*
|
|||||||
WORD motion.txt /*WORD*
|
WORD motion.txt /*WORD*
|
||||||
WWW intro.txt /*WWW*
|
WWW intro.txt /*WWW*
|
||||||
Win32 os_win32.txt /*Win32*
|
Win32 os_win32.txt /*Win32*
|
||||||
|
WinBar gui.txt /*WinBar*
|
||||||
WinEnter autocmd.txt /*WinEnter*
|
WinEnter autocmd.txt /*WinEnter*
|
||||||
WinLeave autocmd.txt /*WinLeave*
|
WinLeave autocmd.txt /*WinLeave*
|
||||||
WinNew autocmd.txt /*WinNew*
|
WinNew autocmd.txt /*WinNew*
|
||||||
@@ -5045,7 +5096,9 @@ asin() eval.txt /*asin()*
|
|||||||
asm.vim syntax.txt /*asm.vim*
|
asm.vim syntax.txt /*asm.vim*
|
||||||
asm68k syntax.txt /*asm68k*
|
asm68k syntax.txt /*asm68k*
|
||||||
asmh8300.vim syntax.txt /*asmh8300.vim*
|
asmh8300.vim syntax.txt /*asmh8300.vim*
|
||||||
|
assert_beeps() eval.txt /*assert_beeps()*
|
||||||
assert_equal() eval.txt /*assert_equal()*
|
assert_equal() eval.txt /*assert_equal()*
|
||||||
|
assert_equalfile() eval.txt /*assert_equalfile()*
|
||||||
assert_exception() eval.txt /*assert_exception()*
|
assert_exception() eval.txt /*assert_exception()*
|
||||||
assert_fails() eval.txt /*assert_fails()*
|
assert_fails() eval.txt /*assert_fails()*
|
||||||
assert_false() eval.txt /*assert_false()*
|
assert_false() eval.txt /*assert_false()*
|
||||||
@@ -5118,6 +5171,7 @@ backup-extension version4.txt /*backup-extension*
|
|||||||
backup-table editing.txt /*backup-table*
|
backup-table editing.txt /*backup-table*
|
||||||
balloon-eval debugger.txt /*balloon-eval*
|
balloon-eval debugger.txt /*balloon-eval*
|
||||||
balloon_show() eval.txt /*balloon_show()*
|
balloon_show() eval.txt /*balloon_show()*
|
||||||
|
balloon_split() eval.txt /*balloon_split()*
|
||||||
bar motion.txt /*bar*
|
bar motion.txt /*bar*
|
||||||
bars help.txt /*bars*
|
bars help.txt /*bars*
|
||||||
base_font_name_list mbyte.txt /*base_font_name_list*
|
base_font_name_list mbyte.txt /*base_font_name_list*
|
||||||
@@ -5834,6 +5888,7 @@ eval() eval.txt /*eval()*
|
|||||||
eval-examples eval.txt /*eval-examples*
|
eval-examples eval.txt /*eval-examples*
|
||||||
eval-sandbox eval.txt /*eval-sandbox*
|
eval-sandbox eval.txt /*eval-sandbox*
|
||||||
eval.txt eval.txt /*eval.txt*
|
eval.txt eval.txt /*eval.txt*
|
||||||
|
event-variable eval.txt /*event-variable*
|
||||||
eventhandler() eval.txt /*eventhandler()*
|
eventhandler() eval.txt /*eventhandler()*
|
||||||
eview starting.txt /*eview*
|
eview starting.txt /*eview*
|
||||||
evim starting.txt /*evim*
|
evim starting.txt /*evim*
|
||||||
@@ -6195,6 +6250,7 @@ ft-vb-syntax syntax.txt /*ft-vb-syntax*
|
|||||||
ft-verilog-indent indent.txt /*ft-verilog-indent*
|
ft-verilog-indent indent.txt /*ft-verilog-indent*
|
||||||
ft-vhdl-indent indent.txt /*ft-vhdl-indent*
|
ft-vhdl-indent indent.txt /*ft-vhdl-indent*
|
||||||
ft-vim-indent indent.txt /*ft-vim-indent*
|
ft-vim-indent indent.txt /*ft-vim-indent*
|
||||||
|
ft-vim-plugin filetype.txt /*ft-vim-plugin*
|
||||||
ft-vim-syntax syntax.txt /*ft-vim-syntax*
|
ft-vim-syntax syntax.txt /*ft-vim-syntax*
|
||||||
ft-xf86conf-syntax syntax.txt /*ft-xf86conf-syntax*
|
ft-xf86conf-syntax syntax.txt /*ft-xf86conf-syntax*
|
||||||
ft-xhtml-omni insert.txt /*ft-xhtml-omni*
|
ft-xhtml-omni insert.txt /*ft-xhtml-omni*
|
||||||
@@ -6202,6 +6258,7 @@ ft-xml-omni insert.txt /*ft-xml-omni*
|
|||||||
ft-xml-syntax syntax.txt /*ft-xml-syntax*
|
ft-xml-syntax syntax.txt /*ft-xml-syntax*
|
||||||
ft-xpm-syntax syntax.txt /*ft-xpm-syntax*
|
ft-xpm-syntax syntax.txt /*ft-xpm-syntax*
|
||||||
ft-yaml-syntax syntax.txt /*ft-yaml-syntax*
|
ft-yaml-syntax syntax.txt /*ft-yaml-syntax*
|
||||||
|
ft-zimbu-plugin filetype.txt /*ft-zimbu-plugin*
|
||||||
ft-zsh-syntax syntax.txt /*ft-zsh-syntax*
|
ft-zsh-syntax syntax.txt /*ft-zsh-syntax*
|
||||||
ft_ada.txt ft_ada.txt /*ft_ada.txt*
|
ft_ada.txt ft_ada.txt /*ft_ada.txt*
|
||||||
ft_rust.txt ft_rust.txt /*ft_rust.txt*
|
ft_rust.txt ft_rust.txt /*ft_rust.txt*
|
||||||
@@ -6367,10 +6424,15 @@ g:netrw_list_cmd_options pi_netrw.txt /*g:netrw_list_cmd_options*
|
|||||||
g:netrw_list_hide pi_netrw.txt /*g:netrw_list_hide*
|
g:netrw_list_hide pi_netrw.txt /*g:netrw_list_hide*
|
||||||
g:netrw_liststyle pi_netrw.txt /*g:netrw_liststyle*
|
g:netrw_liststyle pi_netrw.txt /*g:netrw_liststyle*
|
||||||
g:netrw_localcopycmd pi_netrw.txt /*g:netrw_localcopycmd*
|
g:netrw_localcopycmd pi_netrw.txt /*g:netrw_localcopycmd*
|
||||||
|
g:netrw_localcopycmdopt pi_netrw.txt /*g:netrw_localcopycmdopt*
|
||||||
g:netrw_localcopydircmd pi_netrw.txt /*g:netrw_localcopydircmd*
|
g:netrw_localcopydircmd pi_netrw.txt /*g:netrw_localcopydircmd*
|
||||||
|
g:netrw_localcopydircmdopt pi_netrw.txt /*g:netrw_localcopydircmdopt*
|
||||||
g:netrw_localmkdir pi_netrw.txt /*g:netrw_localmkdir*
|
g:netrw_localmkdir pi_netrw.txt /*g:netrw_localmkdir*
|
||||||
|
g:netrw_localmkdiropt pi_netrw.txt /*g:netrw_localmkdiropt*
|
||||||
g:netrw_localmovecmd pi_netrw.txt /*g:netrw_localmovecmd*
|
g:netrw_localmovecmd pi_netrw.txt /*g:netrw_localmovecmd*
|
||||||
|
g:netrw_localmovecmdopt pi_netrw.txt /*g:netrw_localmovecmdopt*
|
||||||
g:netrw_localrmdir pi_netrw.txt /*g:netrw_localrmdir*
|
g:netrw_localrmdir pi_netrw.txt /*g:netrw_localrmdir*
|
||||||
|
g:netrw_localrmdiropt pi_netrw.txt /*g:netrw_localrmdiropt*
|
||||||
g:netrw_maxfilenamelen pi_netrw.txt /*g:netrw_maxfilenamelen*
|
g:netrw_maxfilenamelen pi_netrw.txt /*g:netrw_maxfilenamelen*
|
||||||
g:netrw_menu pi_netrw.txt /*g:netrw_menu*
|
g:netrw_menu pi_netrw.txt /*g:netrw_menu*
|
||||||
g:netrw_mkdir_cmd pi_netrw.txt /*g:netrw_mkdir_cmd*
|
g:netrw_mkdir_cmd pi_netrw.txt /*g:netrw_mkdir_cmd*
|
||||||
@@ -6380,11 +6442,13 @@ g:netrw_nogx pi_netrw.txt /*g:netrw_nogx*
|
|||||||
g:netrw_preview pi_netrw.txt /*g:netrw_preview*
|
g:netrw_preview pi_netrw.txt /*g:netrw_preview*
|
||||||
g:netrw_rcp_cmd pi_netrw.txt /*g:netrw_rcp_cmd*
|
g:netrw_rcp_cmd pi_netrw.txt /*g:netrw_rcp_cmd*
|
||||||
g:netrw_remote_mkdir pi_netrw.txt /*g:netrw_remote_mkdir*
|
g:netrw_remote_mkdir pi_netrw.txt /*g:netrw_remote_mkdir*
|
||||||
|
g:netrw_rename_cmd pi_netrw.txt /*g:netrw_rename_cmd*
|
||||||
g:netrw_retmap pi_netrw.txt /*g:netrw_retmap*
|
g:netrw_retmap pi_netrw.txt /*g:netrw_retmap*
|
||||||
g:netrw_rm_cmd pi_netrw.txt /*g:netrw_rm_cmd*
|
g:netrw_rm_cmd pi_netrw.txt /*g:netrw_rm_cmd*
|
||||||
g:netrw_rmdir_cmd pi_netrw.txt /*g:netrw_rmdir_cmd*
|
g:netrw_rmdir_cmd pi_netrw.txt /*g:netrw_rmdir_cmd*
|
||||||
g:netrw_rmf_cmd pi_netrw.txt /*g:netrw_rmf_cmd*
|
g:netrw_rmf_cmd pi_netrw.txt /*g:netrw_rmf_cmd*
|
||||||
g:netrw_rsync_cmd pi_netrw.txt /*g:netrw_rsync_cmd*
|
g:netrw_rsync_cmd pi_netrw.txt /*g:netrw_rsync_cmd*
|
||||||
|
g:netrw_rsync_sep pi_netrw.txt /*g:netrw_rsync_sep*
|
||||||
g:netrw_scp_cmd pi_netrw.txt /*g:netrw_scp_cmd*
|
g:netrw_scp_cmd pi_netrw.txt /*g:netrw_scp_cmd*
|
||||||
g:netrw_scpport pi_netrw.txt /*g:netrw_scpport*
|
g:netrw_scpport pi_netrw.txt /*g:netrw_scpport*
|
||||||
g:netrw_sepchr pi_netrw.txt /*g:netrw_sepchr*
|
g:netrw_sepchr pi_netrw.txt /*g:netrw_sepchr*
|
||||||
@@ -6502,12 +6566,14 @@ ga various.txt /*ga*
|
|||||||
garbagecollect() eval.txt /*garbagecollect()*
|
garbagecollect() eval.txt /*garbagecollect()*
|
||||||
gd pattern.txt /*gd*
|
gd pattern.txt /*gd*
|
||||||
gdb debug.txt /*gdb*
|
gdb debug.txt /*gdb*
|
||||||
|
gdb-version terminal.txt /*gdb-version*
|
||||||
ge motion.txt /*ge*
|
ge motion.txt /*ge*
|
||||||
get() eval.txt /*get()*
|
get() eval.txt /*get()*
|
||||||
get-ms-debuggers debug.txt /*get-ms-debuggers*
|
get-ms-debuggers debug.txt /*get-ms-debuggers*
|
||||||
getbufinfo() eval.txt /*getbufinfo()*
|
getbufinfo() eval.txt /*getbufinfo()*
|
||||||
getbufline() eval.txt /*getbufline()*
|
getbufline() eval.txt /*getbufline()*
|
||||||
getbufvar() eval.txt /*getbufvar()*
|
getbufvar() eval.txt /*getbufvar()*
|
||||||
|
getchangelist() eval.txt /*getchangelist()*
|
||||||
getchar() eval.txt /*getchar()*
|
getchar() eval.txt /*getchar()*
|
||||||
getcharmod() eval.txt /*getcharmod()*
|
getcharmod() eval.txt /*getcharmod()*
|
||||||
getcharsearch() eval.txt /*getcharsearch()*
|
getcharsearch() eval.txt /*getcharsearch()*
|
||||||
@@ -6523,6 +6589,7 @@ getfperm() eval.txt /*getfperm()*
|
|||||||
getfsize() eval.txt /*getfsize()*
|
getfsize() eval.txt /*getfsize()*
|
||||||
getftime() eval.txt /*getftime()*
|
getftime() eval.txt /*getftime()*
|
||||||
getftype() eval.txt /*getftype()*
|
getftype() eval.txt /*getftype()*
|
||||||
|
getjumplist() eval.txt /*getjumplist()*
|
||||||
getlatestvimscripts-install pi_getscript.txt /*getlatestvimscripts-install*
|
getlatestvimscripts-install pi_getscript.txt /*getlatestvimscripts-install*
|
||||||
getline() eval.txt /*getline()*
|
getline() eval.txt /*getline()*
|
||||||
getloclist() eval.txt /*getloclist()*
|
getloclist() eval.txt /*getloclist()*
|
||||||
@@ -6542,6 +6609,7 @@ gettabinfo() eval.txt /*gettabinfo()*
|
|||||||
gettabvar() eval.txt /*gettabvar()*
|
gettabvar() eval.txt /*gettabvar()*
|
||||||
gettabwinvar() eval.txt /*gettabwinvar()*
|
gettabwinvar() eval.txt /*gettabwinvar()*
|
||||||
getwininfo() eval.txt /*getwininfo()*
|
getwininfo() eval.txt /*getwininfo()*
|
||||||
|
getwinpos() eval.txt /*getwinpos()*
|
||||||
getwinposx() eval.txt /*getwinposx()*
|
getwinposx() eval.txt /*getwinposx()*
|
||||||
getwinposy() eval.txt /*getwinposy()*
|
getwinposy() eval.txt /*getwinposy()*
|
||||||
getwinvar() eval.txt /*getwinvar()*
|
getwinvar() eval.txt /*getwinvar()*
|
||||||
@@ -6778,9 +6846,12 @@ hl-SpellLocal syntax.txt /*hl-SpellLocal*
|
|||||||
hl-SpellRare syntax.txt /*hl-SpellRare*
|
hl-SpellRare syntax.txt /*hl-SpellRare*
|
||||||
hl-StatusLine syntax.txt /*hl-StatusLine*
|
hl-StatusLine syntax.txt /*hl-StatusLine*
|
||||||
hl-StatusLineNC syntax.txt /*hl-StatusLineNC*
|
hl-StatusLineNC syntax.txt /*hl-StatusLineNC*
|
||||||
|
hl-StatusLineTerm syntax.txt /*hl-StatusLineTerm*
|
||||||
|
hl-StatusLineTermNC syntax.txt /*hl-StatusLineTermNC*
|
||||||
hl-TabLine syntax.txt /*hl-TabLine*
|
hl-TabLine syntax.txt /*hl-TabLine*
|
||||||
hl-TabLineFill syntax.txt /*hl-TabLineFill*
|
hl-TabLineFill syntax.txt /*hl-TabLineFill*
|
||||||
hl-TabLineSel syntax.txt /*hl-TabLineSel*
|
hl-TabLineSel syntax.txt /*hl-TabLineSel*
|
||||||
|
hl-Terminal syntax.txt /*hl-Terminal*
|
||||||
hl-Title syntax.txt /*hl-Title*
|
hl-Title syntax.txt /*hl-Title*
|
||||||
hl-Tooltip syntax.txt /*hl-Tooltip*
|
hl-Tooltip syntax.txt /*hl-Tooltip*
|
||||||
hl-User1 syntax.txt /*hl-User1*
|
hl-User1 syntax.txt /*hl-User1*
|
||||||
@@ -6791,6 +6862,8 @@ hl-Visual syntax.txt /*hl-Visual*
|
|||||||
hl-VisualNOS syntax.txt /*hl-VisualNOS*
|
hl-VisualNOS syntax.txt /*hl-VisualNOS*
|
||||||
hl-WarningMsg syntax.txt /*hl-WarningMsg*
|
hl-WarningMsg syntax.txt /*hl-WarningMsg*
|
||||||
hl-WildMenu syntax.txt /*hl-WildMenu*
|
hl-WildMenu syntax.txt /*hl-WildMenu*
|
||||||
|
hl-debugBreakpoint terminal.txt /*hl-debugBreakpoint*
|
||||||
|
hl-debugPC terminal.txt /*hl-debugPC*
|
||||||
hlID() eval.txt /*hlID()*
|
hlID() eval.txt /*hlID()*
|
||||||
hlexists() eval.txt /*hlexists()*
|
hlexists() eval.txt /*hlexists()*
|
||||||
hlsearch-variable eval.txt /*hlsearch-variable*
|
hlsearch-variable eval.txt /*hlsearch-variable*
|
||||||
@@ -7270,6 +7343,7 @@ mapmode-n map.txt /*mapmode-n*
|
|||||||
mapmode-nvo map.txt /*mapmode-nvo*
|
mapmode-nvo map.txt /*mapmode-nvo*
|
||||||
mapmode-o map.txt /*mapmode-o*
|
mapmode-o map.txt /*mapmode-o*
|
||||||
mapmode-s map.txt /*mapmode-s*
|
mapmode-s map.txt /*mapmode-s*
|
||||||
|
mapmode-t map.txt /*mapmode-t*
|
||||||
mapmode-v map.txt /*mapmode-v*
|
mapmode-v map.txt /*mapmode-v*
|
||||||
mapmode-x map.txt /*mapmode-x*
|
mapmode-x map.txt /*mapmode-x*
|
||||||
mapping map.txt /*mapping*
|
mapping map.txt /*mapping*
|
||||||
@@ -7302,6 +7376,7 @@ mbyte-encoding mbyte.txt /*mbyte-encoding*
|
|||||||
mbyte-first mbyte.txt /*mbyte-first*
|
mbyte-first mbyte.txt /*mbyte-first*
|
||||||
mbyte-fonts-MSwin mbyte.txt /*mbyte-fonts-MSwin*
|
mbyte-fonts-MSwin mbyte.txt /*mbyte-fonts-MSwin*
|
||||||
mbyte-fonts-X11 mbyte.txt /*mbyte-fonts-X11*
|
mbyte-fonts-X11 mbyte.txt /*mbyte-fonts-X11*
|
||||||
|
mbyte-func mbyte.txt /*mbyte-func*
|
||||||
mbyte-keymap mbyte.txt /*mbyte-keymap*
|
mbyte-keymap mbyte.txt /*mbyte-keymap*
|
||||||
mbyte-locale mbyte.txt /*mbyte-locale*
|
mbyte-locale mbyte.txt /*mbyte-locale*
|
||||||
mbyte-options mbyte.txt /*mbyte-options*
|
mbyte-options mbyte.txt /*mbyte-options*
|
||||||
@@ -7457,7 +7532,11 @@ netrw-browser-var pi_netrw.txt /*netrw-browser-var*
|
|||||||
netrw-browsing pi_netrw.txt /*netrw-browsing*
|
netrw-browsing pi_netrw.txt /*netrw-browsing*
|
||||||
netrw-c pi_netrw.txt /*netrw-c*
|
netrw-c pi_netrw.txt /*netrw-c*
|
||||||
netrw-c-tab pi_netrw.txt /*netrw-c-tab*
|
netrw-c-tab pi_netrw.txt /*netrw-c-tab*
|
||||||
|
netrw-cB pi_netrw.txt /*netrw-cB*
|
||||||
netrw-cadaver pi_netrw.txt /*netrw-cadaver*
|
netrw-cadaver pi_netrw.txt /*netrw-cadaver*
|
||||||
|
netrw-call pi_netrw.txt /*netrw-call*
|
||||||
|
netrw-cb pi_netrw.txt /*netrw-cb*
|
||||||
|
netrw-cd pi_netrw.txt /*netrw-cd*
|
||||||
netrw-chgup pi_netrw.txt /*netrw-chgup*
|
netrw-chgup pi_netrw.txt /*netrw-chgup*
|
||||||
netrw-clean pi_netrw.txt /*netrw-clean*
|
netrw-clean pi_netrw.txt /*netrw-clean*
|
||||||
netrw-contents pi_netrw.txt /*netrw-contents*
|
netrw-contents pi_netrw.txt /*netrw-contents*
|
||||||
@@ -7483,6 +7562,7 @@ netrw-enter pi_netrw.txt /*netrw-enter*
|
|||||||
netrw-ex pi_netrw.txt /*netrw-ex*
|
netrw-ex pi_netrw.txt /*netrw-ex*
|
||||||
netrw-explore pi_netrw.txt /*netrw-explore*
|
netrw-explore pi_netrw.txt /*netrw-explore*
|
||||||
netrw-explore-cmds pi_netrw.txt /*netrw-explore-cmds*
|
netrw-explore-cmds pi_netrw.txt /*netrw-explore-cmds*
|
||||||
|
netrw-expose pi_netrw.txt /*netrw-expose*
|
||||||
netrw-externapp pi_netrw.txt /*netrw-externapp*
|
netrw-externapp pi_netrw.txt /*netrw-externapp*
|
||||||
netrw-file pi_netrw.txt /*netrw-file*
|
netrw-file pi_netrw.txt /*netrw-file*
|
||||||
netrw-filigree pi_netrw.txt /*netrw-filigree*
|
netrw-filigree pi_netrw.txt /*netrw-filigree*
|
||||||
@@ -7532,6 +7612,7 @@ netrw-mh pi_netrw.txt /*netrw-mh*
|
|||||||
netrw-middlemouse pi_netrw.txt /*netrw-middlemouse*
|
netrw-middlemouse pi_netrw.txt /*netrw-middlemouse*
|
||||||
netrw-ml_get pi_netrw.txt /*netrw-ml_get*
|
netrw-ml_get pi_netrw.txt /*netrw-ml_get*
|
||||||
netrw-mm pi_netrw.txt /*netrw-mm*
|
netrw-mm pi_netrw.txt /*netrw-mm*
|
||||||
|
netrw-modify pi_netrw.txt /*netrw-modify*
|
||||||
netrw-mouse pi_netrw.txt /*netrw-mouse*
|
netrw-mouse pi_netrw.txt /*netrw-mouse*
|
||||||
netrw-move pi_netrw.txt /*netrw-move*
|
netrw-move pi_netrw.txt /*netrw-move*
|
||||||
netrw-mp pi_netrw.txt /*netrw-mp*
|
netrw-mp pi_netrw.txt /*netrw-mp*
|
||||||
@@ -7775,8 +7856,11 @@ option-backslash options.txt /*option-backslash*
|
|||||||
option-list quickref.txt /*option-list*
|
option-list quickref.txt /*option-list*
|
||||||
option-summary options.txt /*option-summary*
|
option-summary options.txt /*option-summary*
|
||||||
option-window options.txt /*option-window*
|
option-window options.txt /*option-window*
|
||||||
|
option_restore() eval.txt /*option_restore()*
|
||||||
|
option_save() eval.txt /*option_save()*
|
||||||
options options.txt /*options*
|
options options.txt /*options*
|
||||||
options-changed version5.txt /*options-changed*
|
options-changed version5.txt /*options-changed*
|
||||||
|
options-in-terminal terminal.txt /*options-in-terminal*
|
||||||
options.txt options.txt /*options.txt*
|
options.txt options.txt /*options.txt*
|
||||||
optwin options.txt /*optwin*
|
optwin options.txt /*optwin*
|
||||||
or() eval.txt /*or()*
|
or() eval.txt /*or()*
|
||||||
@@ -8005,14 +8089,21 @@ qnx-terminal os_qnx.txt /*qnx-terminal*
|
|||||||
quake.vim syntax.txt /*quake.vim*
|
quake.vim syntax.txt /*quake.vim*
|
||||||
quickfix quickfix.txt /*quickfix*
|
quickfix quickfix.txt /*quickfix*
|
||||||
quickfix-6 version6.txt /*quickfix-6*
|
quickfix-6 version6.txt /*quickfix-6*
|
||||||
|
quickfix-ID quickfix.txt /*quickfix-ID*
|
||||||
|
quickfix-changedtick quickfix.txt /*quickfix-changedtick*
|
||||||
|
quickfix-context quickfix.txt /*quickfix-context*
|
||||||
quickfix-directory-stack quickfix.txt /*quickfix-directory-stack*
|
quickfix-directory-stack quickfix.txt /*quickfix-directory-stack*
|
||||||
quickfix-error-lists quickfix.txt /*quickfix-error-lists*
|
quickfix-error-lists quickfix.txt /*quickfix-error-lists*
|
||||||
quickfix-functions usr_41.txt /*quickfix-functions*
|
quickfix-functions usr_41.txt /*quickfix-functions*
|
||||||
quickfix-gcc quickfix.txt /*quickfix-gcc*
|
quickfix-gcc quickfix.txt /*quickfix-gcc*
|
||||||
quickfix-manx quickfix.txt /*quickfix-manx*
|
quickfix-manx quickfix.txt /*quickfix-manx*
|
||||||
|
quickfix-parse quickfix.txt /*quickfix-parse*
|
||||||
quickfix-perl quickfix.txt /*quickfix-perl*
|
quickfix-perl quickfix.txt /*quickfix-perl*
|
||||||
|
quickfix-size quickfix.txt /*quickfix-size*
|
||||||
|
quickfix-title quickfix.txt /*quickfix-title*
|
||||||
quickfix-valid quickfix.txt /*quickfix-valid*
|
quickfix-valid quickfix.txt /*quickfix-valid*
|
||||||
quickfix-window quickfix.txt /*quickfix-window*
|
quickfix-window quickfix.txt /*quickfix-window*
|
||||||
|
quickfix-window-ID quickfix.txt /*quickfix-window-ID*
|
||||||
quickfix.txt quickfix.txt /*quickfix.txt*
|
quickfix.txt quickfix.txt /*quickfix.txt*
|
||||||
quickref quickref.txt /*quickref*
|
quickref quickref.txt /*quickref*
|
||||||
quickref.txt quickref.txt /*quickref.txt*
|
quickref.txt quickref.txt /*quickref.txt*
|
||||||
@@ -8234,6 +8325,7 @@ servername-variable eval.txt /*servername-variable*
|
|||||||
session-file starting.txt /*session-file*
|
session-file starting.txt /*session-file*
|
||||||
set-option options.txt /*set-option*
|
set-option options.txt /*set-option*
|
||||||
set-spc-auto spell.txt /*set-spc-auto*
|
set-spc-auto spell.txt /*set-spc-auto*
|
||||||
|
setbufline() eval.txt /*setbufline()*
|
||||||
setbufvar() eval.txt /*setbufvar()*
|
setbufvar() eval.txt /*setbufvar()*
|
||||||
setcharsearch() eval.txt /*setcharsearch()*
|
setcharsearch() eval.txt /*setcharsearch()*
|
||||||
setcmdpos() eval.txt /*setcmdpos()*
|
setcmdpos() eval.txt /*setcmdpos()*
|
||||||
@@ -8440,6 +8532,7 @@ star pattern.txt /*star*
|
|||||||
starstar editing.txt /*starstar*
|
starstar editing.txt /*starstar*
|
||||||
starstar-wildcard editing.txt /*starstar-wildcard*
|
starstar-wildcard editing.txt /*starstar-wildcard*
|
||||||
start-of-file pattern.txt /*start-of-file*
|
start-of-file pattern.txt /*start-of-file*
|
||||||
|
start-vimdiff diff.txt /*start-vimdiff*
|
||||||
starting starting.txt /*starting*
|
starting starting.txt /*starting*
|
||||||
starting-amiga starting.txt /*starting-amiga*
|
starting-amiga starting.txt /*starting-amiga*
|
||||||
starting.txt starting.txt /*starting.txt*
|
starting.txt starting.txt /*starting.txt*
|
||||||
@@ -8460,6 +8553,7 @@ strdisplaywidth() eval.txt /*strdisplaywidth()*
|
|||||||
strftime() eval.txt /*strftime()*
|
strftime() eval.txt /*strftime()*
|
||||||
strgetchar() eval.txt /*strgetchar()*
|
strgetchar() eval.txt /*strgetchar()*
|
||||||
stridx() eval.txt /*stridx()*
|
stridx() eval.txt /*stridx()*
|
||||||
|
strikethrough syntax.txt /*strikethrough*
|
||||||
string eval.txt /*string*
|
string eval.txt /*string*
|
||||||
string() eval.txt /*string()*
|
string() eval.txt /*string()*
|
||||||
string-functions usr_41.txt /*string-functions*
|
string-functions usr_41.txt /*string-functions*
|
||||||
@@ -8590,6 +8684,8 @@ t_KL term.txt /*t_KL*
|
|||||||
t_PE term.txt /*t_PE*
|
t_PE term.txt /*t_PE*
|
||||||
t_PS term.txt /*t_PS*
|
t_PS term.txt /*t_PS*
|
||||||
t_RB term.txt /*t_RB*
|
t_RB term.txt /*t_RB*
|
||||||
|
t_RC term.txt /*t_RC*
|
||||||
|
t_RF term.txt /*t_RF*
|
||||||
t_RI term.txt /*t_RI*
|
t_RI term.txt /*t_RI*
|
||||||
t_RS term.txt /*t_RS*
|
t_RS term.txt /*t_RS*
|
||||||
t_RV term.txt /*t_RV*
|
t_RV term.txt /*t_RV*
|
||||||
@@ -8599,6 +8695,8 @@ t_SI term.txt /*t_SI*
|
|||||||
t_SR term.txt /*t_SR*
|
t_SR term.txt /*t_SR*
|
||||||
t_Sb term.txt /*t_Sb*
|
t_Sb term.txt /*t_Sb*
|
||||||
t_Sf term.txt /*t_Sf*
|
t_Sf term.txt /*t_Sf*
|
||||||
|
t_Te term.txt /*t_Te*
|
||||||
|
t_Ts term.txt /*t_Ts*
|
||||||
t_VS term.txt /*t_VS*
|
t_VS term.txt /*t_VS*
|
||||||
t_WP term.txt /*t_WP*
|
t_WP term.txt /*t_WP*
|
||||||
t_WS term.txt /*t_WS*
|
t_WS term.txt /*t_WS*
|
||||||
@@ -8817,6 +8915,9 @@ term++open terminal.txt /*term++open*
|
|||||||
term-dependent-settings term.txt /*term-dependent-settings*
|
term-dependent-settings term.txt /*term-dependent-settings*
|
||||||
term-list syntax.txt /*term-list*
|
term-list syntax.txt /*term-list*
|
||||||
term.txt term.txt /*term.txt*
|
term.txt term.txt /*term.txt*
|
||||||
|
term_dumpdiff() eval.txt /*term_dumpdiff()*
|
||||||
|
term_dumpload() eval.txt /*term_dumpload()*
|
||||||
|
term_dumpwrite() eval.txt /*term_dumpwrite()*
|
||||||
term_getaltscreen() eval.txt /*term_getaltscreen()*
|
term_getaltscreen() eval.txt /*term_getaltscreen()*
|
||||||
term_getattr() eval.txt /*term_getattr()*
|
term_getattr() eval.txt /*term_getattr()*
|
||||||
term_getcursor() eval.txt /*term_getcursor()*
|
term_getcursor() eval.txt /*term_getcursor()*
|
||||||
@@ -8830,6 +8931,9 @@ term_gettty() eval.txt /*term_gettty()*
|
|||||||
term_list() eval.txt /*term_list()*
|
term_list() eval.txt /*term_list()*
|
||||||
term_scrape() eval.txt /*term_scrape()*
|
term_scrape() eval.txt /*term_scrape()*
|
||||||
term_sendkeys() eval.txt /*term_sendkeys()*
|
term_sendkeys() eval.txt /*term_sendkeys()*
|
||||||
|
term_setkill() eval.txt /*term_setkill()*
|
||||||
|
term_setrestore() eval.txt /*term_setrestore()*
|
||||||
|
term_setsize() eval.txt /*term_setsize()*
|
||||||
term_start() eval.txt /*term_start()*
|
term_start() eval.txt /*term_start()*
|
||||||
term_wait() eval.txt /*term_wait()*
|
term_wait() eval.txt /*term_wait()*
|
||||||
termcap term.txt /*termcap*
|
termcap term.txt /*termcap*
|
||||||
@@ -8839,15 +8943,40 @@ termcap-cursor-color term.txt /*termcap-cursor-color*
|
|||||||
termcap-cursor-shape term.txt /*termcap-cursor-shape*
|
termcap-cursor-shape term.txt /*termcap-cursor-shape*
|
||||||
termcap-options term.txt /*termcap-options*
|
termcap-options term.txt /*termcap-options*
|
||||||
termcap-title term.txt /*termcap-title*
|
termcap-title term.txt /*termcap-title*
|
||||||
|
termdebug-commands terminal.txt /*termdebug-commands*
|
||||||
|
termdebug-communication terminal.txt /*termdebug-communication*
|
||||||
|
termdebug-customizing terminal.txt /*termdebug-customizing*
|
||||||
|
termdebug-example terminal.txt /*termdebug-example*
|
||||||
|
termdebug-starting terminal.txt /*termdebug-starting*
|
||||||
|
termdebug-stepping terminal.txt /*termdebug-stepping*
|
||||||
|
termdebug-variables terminal.txt /*termdebug-variables*
|
||||||
|
termdebug_popup terminal.txt /*termdebug_popup*
|
||||||
|
termdebug_wide terminal.txt /*termdebug_wide*
|
||||||
terminal terminal.txt /*terminal*
|
terminal terminal.txt /*terminal*
|
||||||
|
terminal-api terminal.txt /*terminal-api*
|
||||||
|
terminal-client-server terminal.txt /*terminal-client-server*
|
||||||
terminal-colors os_unix.txt /*terminal-colors*
|
terminal-colors os_unix.txt /*terminal-colors*
|
||||||
|
terminal-communication terminal.txt /*terminal-communication*
|
||||||
|
terminal-cursor-style terminal.txt /*terminal-cursor-style*
|
||||||
terminal-debug terminal.txt /*terminal-debug*
|
terminal-debug terminal.txt /*terminal-debug*
|
||||||
|
terminal-diff terminal.txt /*terminal-diff*
|
||||||
|
terminal-diffscreendump terminal.txt /*terminal-diffscreendump*
|
||||||
|
terminal-dumptest terminal.txt /*terminal-dumptest*
|
||||||
terminal-functions usr_41.txt /*terminal-functions*
|
terminal-functions usr_41.txt /*terminal-functions*
|
||||||
terminal-info term.txt /*terminal-info*
|
terminal-info term.txt /*terminal-info*
|
||||||
terminal-key-codes term.txt /*terminal-key-codes*
|
terminal-key-codes term.txt /*terminal-key-codes*
|
||||||
|
terminal-ms-windows terminal.txt /*terminal-ms-windows*
|
||||||
terminal-options term.txt /*terminal-options*
|
terminal-options term.txt /*terminal-options*
|
||||||
terminal-output-codes term.txt /*terminal-output-codes*
|
terminal-output-codes term.txt /*terminal-output-codes*
|
||||||
|
terminal-resizing terminal.txt /*terminal-resizing*
|
||||||
|
terminal-screendump terminal.txt /*terminal-screendump*
|
||||||
|
terminal-session terminal.txt /*terminal-session*
|
||||||
|
terminal-size-color terminal.txt /*terminal-size-color*
|
||||||
|
terminal-special-keys terminal.txt /*terminal-special-keys*
|
||||||
terminal-testing terminal.txt /*terminal-testing*
|
terminal-testing terminal.txt /*terminal-testing*
|
||||||
|
terminal-to-job terminal.txt /*terminal-to-job*
|
||||||
|
terminal-typing terminal.txt /*terminal-typing*
|
||||||
|
terminal-unix terminal.txt /*terminal-unix*
|
||||||
terminal-use terminal.txt /*terminal-use*
|
terminal-use terminal.txt /*terminal-use*
|
||||||
terminal.txt terminal.txt /*terminal.txt*
|
terminal.txt terminal.txt /*terminal.txt*
|
||||||
terminfo term.txt /*terminfo*
|
terminfo term.txt /*terminfo*
|
||||||
@@ -8855,6 +8984,7 @@ termresponse-variable eval.txt /*termresponse-variable*
|
|||||||
test-functions usr_41.txt /*test-functions*
|
test-functions usr_41.txt /*test-functions*
|
||||||
test_alloc_fail() eval.txt /*test_alloc_fail()*
|
test_alloc_fail() eval.txt /*test_alloc_fail()*
|
||||||
test_autochdir() eval.txt /*test_autochdir()*
|
test_autochdir() eval.txt /*test_autochdir()*
|
||||||
|
test_feedinput() eval.txt /*test_feedinput()*
|
||||||
test_garbagecollect_now() eval.txt /*test_garbagecollect_now()*
|
test_garbagecollect_now() eval.txt /*test_garbagecollect_now()*
|
||||||
test_ignore_error() eval.txt /*test_ignore_error()*
|
test_ignore_error() eval.txt /*test_ignore_error()*
|
||||||
test_null_channel() eval.txt /*test_null_channel()*
|
test_null_channel() eval.txt /*test_null_channel()*
|
||||||
@@ -8916,6 +9046,7 @@ tolower() eval.txt /*tolower()*
|
|||||||
toolbar-icon gui.txt /*toolbar-icon*
|
toolbar-icon gui.txt /*toolbar-icon*
|
||||||
toupper() eval.txt /*toupper()*
|
toupper() eval.txt /*toupper()*
|
||||||
tr() eval.txt /*tr()*
|
tr() eval.txt /*tr()*
|
||||||
|
trim() eval.txt /*trim()*
|
||||||
trojan-horse starting.txt /*trojan-horse*
|
trojan-horse starting.txt /*trojan-horse*
|
||||||
true-variable eval.txt /*true-variable*
|
true-variable eval.txt /*true-variable*
|
||||||
trunc() eval.txt /*trunc()*
|
trunc() eval.txt /*trunc()*
|
||||||
@@ -9028,6 +9159,7 @@ v:ctype eval.txt /*v:ctype*
|
|||||||
v:dying eval.txt /*v:dying*
|
v:dying eval.txt /*v:dying*
|
||||||
v:errmsg eval.txt /*v:errmsg*
|
v:errmsg eval.txt /*v:errmsg*
|
||||||
v:errors eval.txt /*v:errors*
|
v:errors eval.txt /*v:errors*
|
||||||
|
v:event eval.txt /*v:event*
|
||||||
v:exception eval.txt /*v:exception*
|
v:exception eval.txt /*v:exception*
|
||||||
v:false eval.txt /*v:false*
|
v:false eval.txt /*v:false*
|
||||||
v:fcs_choice eval.txt /*v:fcs_choice*
|
v:fcs_choice eval.txt /*v:fcs_choice*
|
||||||
@@ -9081,7 +9213,12 @@ v:t_list eval.txt /*v:t_list*
|
|||||||
v:t_none eval.txt /*v:t_none*
|
v:t_none eval.txt /*v:t_none*
|
||||||
v:t_number eval.txt /*v:t_number*
|
v:t_number eval.txt /*v:t_number*
|
||||||
v:t_string eval.txt /*v:t_string*
|
v:t_string eval.txt /*v:t_string*
|
||||||
|
v:termblinkresp eval.txt /*v:termblinkresp*
|
||||||
|
v:termrbgresp eval.txt /*v:termrbgresp*
|
||||||
v:termresponse eval.txt /*v:termresponse*
|
v:termresponse eval.txt /*v:termresponse*
|
||||||
|
v:termrfgresp eval.txt /*v:termrfgresp*
|
||||||
|
v:termstyleresp eval.txt /*v:termstyleresp*
|
||||||
|
v:termu7resp eval.txt /*v:termu7resp*
|
||||||
v:testing eval.txt /*v:testing*
|
v:testing eval.txt /*v:testing*
|
||||||
v:this_session eval.txt /*v:this_session*
|
v:this_session eval.txt /*v:this_session*
|
||||||
v:throwpoint eval.txt /*v:throwpoint*
|
v:throwpoint eval.txt /*v:throwpoint*
|
||||||
@@ -9364,6 +9501,8 @@ wildmenumode() eval.txt /*wildmenumode()*
|
|||||||
win32 os_win32.txt /*win32*
|
win32 os_win32.txt /*win32*
|
||||||
win32-!start gui_w32.txt /*win32-!start*
|
win32-!start gui_w32.txt /*win32-!start*
|
||||||
win32-PATH os_win32.txt /*win32-PATH*
|
win32-PATH os_win32.txt /*win32-PATH*
|
||||||
|
win32-backslashes os_win32.txt /*win32-backslashes*
|
||||||
|
win32-cmdargs os_win32.txt /*win32-cmdargs*
|
||||||
win32-colors gui_w32.txt /*win32-colors*
|
win32-colors gui_w32.txt /*win32-colors*
|
||||||
win32-compiling os_win32.txt /*win32-compiling*
|
win32-compiling os_win32.txt /*win32-compiling*
|
||||||
win32-curdir os_win32.txt /*win32-curdir*
|
win32-curdir os_win32.txt /*win32-curdir*
|
||||||
@@ -9388,6 +9527,7 @@ win_getid() eval.txt /*win_getid()*
|
|||||||
win_gotoid() eval.txt /*win_gotoid()*
|
win_gotoid() eval.txt /*win_gotoid()*
|
||||||
win_id2tabwin() eval.txt /*win_id2tabwin()*
|
win_id2tabwin() eval.txt /*win_id2tabwin()*
|
||||||
win_id2win() eval.txt /*win_id2win()*
|
win_id2win() eval.txt /*win_id2win()*
|
||||||
|
win_screenpos() eval.txt /*win_screenpos()*
|
||||||
winbufnr() eval.txt /*winbufnr()*
|
winbufnr() eval.txt /*winbufnr()*
|
||||||
wincol() eval.txt /*wincol()*
|
wincol() eval.txt /*wincol()*
|
||||||
window windows.txt /*window*
|
window windows.txt /*window*
|
||||||
@@ -9401,6 +9541,7 @@ window-resize windows.txt /*window-resize*
|
|||||||
window-size term.txt /*window-size*
|
window-size term.txt /*window-size*
|
||||||
window-size-functions usr_41.txt /*window-size-functions*
|
window-size-functions usr_41.txt /*window-size-functions*
|
||||||
window-tag windows.txt /*window-tag*
|
window-tag windows.txt /*window-tag*
|
||||||
|
window-toolbar gui.txt /*window-toolbar*
|
||||||
window-variable eval.txt /*window-variable*
|
window-variable eval.txt /*window-variable*
|
||||||
windowid windows.txt /*windowid*
|
windowid windows.txt /*windowid*
|
||||||
windowid-variable eval.txt /*windowid-variable*
|
windowid-variable eval.txt /*windowid-variable*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*tagsrch.txt* For Vim version 8.0. Last change: 2016 Sep 20
|
*tagsrch.txt* For Vim version 8.0. Last change: 2017 Oct 20
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -195,6 +195,7 @@ the same entry.
|
|||||||
information in the tags file(s).
|
information in the tags file(s).
|
||||||
When [ident] is not given, the last tag name from the
|
When [ident] is not given, the last tag name from the
|
||||||
tag stack is used.
|
tag stack is used.
|
||||||
|
See |tag-!| for [!].
|
||||||
With a '>' in the first column is indicated which is
|
With a '>' in the first column is indicated which is
|
||||||
the current position in the list (if there is one).
|
the current position in the list (if there is one).
|
||||||
[ident] can be a regexp pattern, see |tag-regexp|.
|
[ident] can be a regexp pattern, see |tag-regexp|.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*term.txt* For Vim version 8.0. Last change: 2017 Aug 26
|
*term.txt* For Vim version 8.0. Last change: 2017 Oct 14
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -295,8 +295,6 @@ OUTPUT CODES *terminal-output-codes*
|
|||||||
t_ts set window title start (to status line) *t_ts* *'t_ts'*
|
t_ts set window title start (to status line) *t_ts* *'t_ts'*
|
||||||
t_ue underline end *t_ue* *'t_ue'*
|
t_ue underline end *t_ue* *'t_ue'*
|
||||||
t_us underline mode *t_us* *'t_us'*
|
t_us underline mode *t_us* *'t_us'*
|
||||||
t_Ce undercurl end *t_Ce* *'t_Ce'*
|
|
||||||
t_Cs undercurl mode *t_Cs* *'t_Cs'*
|
|
||||||
t_ut clearing uses the current background color *t_ut* *'t_ut'*
|
t_ut clearing uses the current background color *t_ut* *'t_ut'*
|
||||||
t_vb visual bell *t_vb* *'t_vb'*
|
t_vb visual bell *t_vb* *'t_vb'*
|
||||||
t_ve cursor visible *t_ve* *'t_ve'*
|
t_ve cursor visible *t_ve* *'t_ve'*
|
||||||
@@ -311,6 +309,10 @@ OUTPUT CODES *terminal-output-codes*
|
|||||||
t_ZR italics end *t_ZR* *'t_ZR'*
|
t_ZR italics end *t_ZR* *'t_ZR'*
|
||||||
|
|
||||||
Added by Vim (there are no standard codes for these):
|
Added by Vim (there are no standard codes for these):
|
||||||
|
t_Ce undercurl end *t_Ce* *'t_Ce'*
|
||||||
|
t_Cs undercurl mode *t_Cs* *'t_Cs'*
|
||||||
|
t_Te strikethrough end *t_Te* *'t_Te'*
|
||||||
|
t_Ts strikethrough mode *t_Ts* *'t_Ts'*
|
||||||
t_IS set icon text start *t_IS* *'t_IS'*
|
t_IS set icon text start *t_IS* *'t_IS'*
|
||||||
t_IE set icon text end *t_IE* *'t_IE'*
|
t_IE set icon text end *t_IE* *'t_IE'*
|
||||||
t_WP set window position (Y, X) in pixels *t_WP* *'t_WP'*
|
t_WP set window position (Y, X) in pixels *t_WP* *'t_WP'*
|
||||||
@@ -325,6 +327,7 @@ Added by Vim (there are no standard codes for these):
|
|||||||
|xterm-8bit| |v:termresponse| |'ttymouse'| |xterm-codes|
|
|xterm-8bit| |v:termresponse| |'ttymouse'| |xterm-codes|
|
||||||
t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
|
t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
|
||||||
see |'ambiwidth'|
|
see |'ambiwidth'|
|
||||||
|
t_RF request terminal foreground color *t_RF* *'t_RF'*
|
||||||
t_RB request terminal background color *t_RB* *'t_RB'*
|
t_RB request terminal background color *t_RB* *'t_RB'*
|
||||||
t_8f set foreground color (R, G, B) *t_8f* *'t_8f'*
|
t_8f set foreground color (R, G, B) *t_8f* *'t_8f'*
|
||||||
|xterm-true-color|
|
|xterm-true-color|
|
||||||
@@ -337,6 +340,7 @@ Added by Vim (there are no standard codes for these):
|
|||||||
t_SC set cursor color start *t_SC* *'t_SC'*
|
t_SC set cursor color start *t_SC* *'t_SC'*
|
||||||
t_EC set cursor color end *t_EC* *'t_EC'*
|
t_EC set cursor color end *t_EC* *'t_EC'*
|
||||||
t_SH set cursor shape *t_SH* *'t_SH'*
|
t_SH set cursor shape *t_SH* *'t_SH'*
|
||||||
|
t_RC request terminal cursor blinking *t_RC* *'t_RC'*
|
||||||
t_RS request terminal cursor style *t_RS* *'t_RS'*
|
t_RS request terminal cursor style *t_RS* *'t_RS'*
|
||||||
|
|
||||||
Some codes have a start, middle and end part. The start and end are defined
|
Some codes have a start, middle and end part. The start and end are defined
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*terminal.txt* For Vim version 8.0. Last change: 2017 Aug 29
|
*terminal.txt* For Vim version 8.0. Last change: 2018 Apr 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -7,20 +7,42 @@
|
|||||||
Terminal window support *terminal*
|
Terminal window support *terminal*
|
||||||
|
|
||||||
|
|
||||||
WARNING: THIS IS ONLY PARTLY IMPLEMENTED, ANYTHING CAN STILL CHANGE
|
|
||||||
|
|
||||||
The terminal feature is optional, use this to check if your Vim has it: >
|
The terminal feature is optional, use this to check if your Vim has it: >
|
||||||
echo has('terminal')
|
echo has('terminal')
|
||||||
If the result is "1" you have it.
|
If the result is "1" you have it.
|
||||||
|
|
||||||
|
|
||||||
1. Basic use |terminal-use|
|
1. Basic use |terminal-use|
|
||||||
2. Remote testing |terminal-testing|
|
Typing |terminal-typing|
|
||||||
3. Debugging |terminal-debug|
|
Size and color |terminal-size-color|
|
||||||
|
Syntax |:terminal|
|
||||||
|
Resizing |terminal-resizing|
|
||||||
|
Terminal Modes |Terminal-mode|
|
||||||
|
Cursor style |terminal-cursor-style|
|
||||||
|
Special keys |terminal-special-keys|
|
||||||
|
Session |terminal-session|
|
||||||
|
Unix |terminal-unix|
|
||||||
|
MS-Windows |terminal-ms-windows|
|
||||||
|
2. Terminal communication |terminal-communication|
|
||||||
|
Vim to job: term_sendkeys() |terminal-to-job|
|
||||||
|
Job to Vim: JSON API |terminal-api|
|
||||||
|
Using the client-server feature |terminal-client-server|
|
||||||
|
3. Remote testing |terminal-testing|
|
||||||
|
4. Diffing screen dumps |terminal-diff|
|
||||||
|
Writing a screen dump test for Vim |terminal-dumptest|
|
||||||
|
Creating a screen dump |terminal-screendump|
|
||||||
|
Comparing screen dumps |terminal-diffscreendump|
|
||||||
|
5. Debugging |terminal-debug|
|
||||||
|
Starting |termdebug-starting|
|
||||||
|
Example session |termdebug-example|
|
||||||
|
Stepping through code |termdebug-stepping|
|
||||||
|
Inspecting variables |termdebug-variables|
|
||||||
|
Other commands |termdebug-commands|
|
||||||
|
Communication |termdebug-communication|
|
||||||
|
Customizing |termdebug-customizing|
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
{Vi does not have any of these commands}
|
||||||
{only available when compiled with the |+terminal| feature}
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
The terminal feature requires the |+multi_byte|, |+job| and |+channel| features.
|
The terminal feature requires the |+multi_byte|, |+job| and |+channel| features.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
@@ -30,26 +52,27 @@ This feature is for running a terminal emulator in a Vim window. A job can be
|
|||||||
started connected to the terminal emulator. For example, to run a shell: >
|
started connected to the terminal emulator. For example, to run a shell: >
|
||||||
:term bash
|
:term bash
|
||||||
|
|
||||||
Or to run a debugger: >
|
Or to run build command: >
|
||||||
:term gdb vim
|
:term make myprogram
|
||||||
|
|
||||||
The job runs asynchronously from Vim, the window will be updated to show
|
The job runs asynchronously from Vim, the window will be updated to show
|
||||||
output from the job, also while editing in any other window.
|
output from the job, also while editing in another window.
|
||||||
|
|
||||||
|
|
||||||
Typing ~
|
Typing ~
|
||||||
|
*terminal-typing*
|
||||||
When the keyboard focus is in the terminal window, typed keys will be sent to
|
When the keyboard focus is in the terminal window, typed keys will be sent to
|
||||||
the job. This uses a pty when possible. You can click outside of the
|
the job. This uses a pty when possible. You can click outside of the
|
||||||
terminal window to move keyboard focus elsewhere.
|
terminal window to move keyboard focus elsewhere.
|
||||||
|
|
||||||
CTRL-W can be used to navigate between windows and other CTRL-W commands, e.g.:
|
CTRL-W can be used to navigate between windows and other CTRL-W commands, e.g.:
|
||||||
CTRL-W CTRL-W move focus to the next window
|
CTRL-W CTRL-W move focus to the next window
|
||||||
CTRL-W : enter an Ex command
|
CTRL-W : enter an Ex command
|
||||||
See |CTRL-W| for more commands.
|
See |CTRL-W| for more commands.
|
||||||
|
|
||||||
Special in the terminal window: *CTRL-W_.* *CTRL-W_N*
|
Special in the terminal window: *CTRL-W_.* *CTRL-W_N*
|
||||||
CTRL-W . send a CTRL-W to the job in the terminal
|
CTRL-W . send a CTRL-W to the job in the terminal
|
||||||
|
CTRL-W CTRL-\ send a CTRL-\ to the job in the terminal
|
||||||
CTRL-W N go to Terminal-Normal mode, see |Terminal-mode|
|
CTRL-W N go to Terminal-Normal mode, see |Terminal-mode|
|
||||||
CTRL-\ CTRL-N go to Terminal-Normal mode, see |Terminal-mode|
|
CTRL-\ CTRL-N go to Terminal-Normal mode, see |Terminal-mode|
|
||||||
CTRL-W " {reg} paste register {reg} *CTRL-W_quote*
|
CTRL-W " {reg} paste register {reg} *CTRL-W_quote*
|
||||||
@@ -64,7 +87,7 @@ the job. For example:
|
|||||||
'termkey' : enter an Ex command
|
'termkey' : enter an Ex command
|
||||||
'termkey' 'termkey' send 'termkey' to the job in the terminal
|
'termkey' 'termkey' send 'termkey' to the job in the terminal
|
||||||
'termkey' . send a CTRL-W to the job in the terminal
|
'termkey' . send a CTRL-W to the job in the terminal
|
||||||
'termkey' N go to terminal Normal mode, see below
|
'termkey' N go to terminal Normal mode, see below
|
||||||
'termkey' CTRL-N same as CTRL-W N
|
'termkey' CTRL-N same as CTRL-W N
|
||||||
'termkey' CTRL-C same as |t_CTRL-W_CTRL-C|
|
'termkey' CTRL-C same as |t_CTRL-W_CTRL-C|
|
||||||
*t_CTRL-\_CTRL-N*
|
*t_CTRL-\_CTRL-N*
|
||||||
@@ -79,15 +102,51 @@ do. For simple commands this causes a SIGINT to be sent to the job, which
|
|||||||
would end it. Other commands may ignore the SIGINT or handle the CTRL-C
|
would end it. Other commands may ignore the SIGINT or handle the CTRL-C
|
||||||
themselves (like Vim does).
|
themselves (like Vim does).
|
||||||
|
|
||||||
|
To change the keys you type use terminal mode mappings, see |:tmap|.
|
||||||
|
These are defined like any mapping, but apply only when typing keys that are
|
||||||
|
sent to the job running in the terminal. For example, to make F1 switch
|
||||||
|
to Terminal-Normal mode: >
|
||||||
|
tnoremap <F1> <C-W>N
|
||||||
|
You can use Esc, but you need to make sure it won't cause other keys to
|
||||||
|
break: >
|
||||||
|
tnoremap <Esc> <C-W>N
|
||||||
|
set notimeout ttimeout timeoutlen=100
|
||||||
|
|
||||||
|
< *options-in-terminal*
|
||||||
|
After opening the terminal window and setting 'buftype' to "terminal" the
|
||||||
|
BufWinEnter autocommand event is triggered. This makes it possible to set
|
||||||
|
options specifically for the window and buffer. Example: >
|
||||||
|
au BufWinEnter * if &buftype == 'terminal' | setlocal bufhidden=hide | endif
|
||||||
|
|
||||||
|
Mouse events (click and drag) are passed to the terminal. Mouse move events
|
||||||
|
are only passed when Vim itself is receiving them. For a terminal that is
|
||||||
|
when 'balloonevalterm' is enabled.
|
||||||
|
|
||||||
|
|
||||||
Size and color ~
|
Size and color ~
|
||||||
|
*terminal-size-color*
|
||||||
See option 'termsize' for controlling the size of the terminal window.
|
See option 'termsize' for controlling the size of the terminal window.
|
||||||
(TODO: scrolling when the terminal is larger than the window)
|
(TODO: scrolling when the terminal is larger than the window)
|
||||||
|
|
||||||
The terminal uses the 'background' option to decide whether the terminal
|
The job running in the terminal can change the colors. The default foreground
|
||||||
window will start with a white or black background. The job running in the
|
and background colors are taken from Vim, the Normal highlight group.
|
||||||
terminal can change the colors.
|
|
||||||
|
For a color terminal the 'background' option is used to decide whether the
|
||||||
|
terminal window will start with a white or black background.
|
||||||
|
|
||||||
|
To use a different color the Terminal highlight group can be used, for
|
||||||
|
example: >
|
||||||
|
hi Terminal ctermbg=lightgrey ctermfg=blue guibg=lightgrey guifg=blue
|
||||||
|
<
|
||||||
|
*g:terminal_ansi_colors*
|
||||||
|
In GUI mode or with |termguicolors|, the 16 ANSI colors used by default in new
|
||||||
|
terminal windows may be configured using the variable
|
||||||
|
`g:terminal_ansi_colors`, which should be a list of 16 color names or
|
||||||
|
hexadecimal color codes, similar to those accepted by |highlight-guifg|. When
|
||||||
|
not using GUI colors, the terminal window always uses the 16 ANSI colors of
|
||||||
|
the underlying terminal.
|
||||||
|
The |term_setansicolors()| function can be used to change the colors, and
|
||||||
|
|term_getansicolors()| to get the currently used colors.
|
||||||
|
|
||||||
|
|
||||||
Syntax ~
|
Syntax ~
|
||||||
@@ -101,6 +160,13 @@ Syntax ~
|
|||||||
if [command] is NONE no job is started, the pty of the
|
if [command] is NONE no job is started, the pty of the
|
||||||
terminal can be used by a command like gdb.
|
terminal can be used by a command like gdb.
|
||||||
|
|
||||||
|
If [command] is missing the default behavior is to
|
||||||
|
close the terminal when the shell exits. This can be
|
||||||
|
changed with the ++noclose argument.
|
||||||
|
If [command] is present the default behavior is to
|
||||||
|
keep the terminal open in Terminal-Normal mode. This
|
||||||
|
can be changed with the ++close argument.
|
||||||
|
|
||||||
A new buffer will be created, using [command] or
|
A new buffer will be created, using [command] or
|
||||||
'shell' as the name, prefixed with a "!". If a buffer
|
'shell' as the name, prefixed with a "!". If a buffer
|
||||||
by this name already exists a number is added in
|
by this name already exists a number is added in
|
||||||
@@ -109,44 +175,61 @@ Syntax ~
|
|||||||
|
|
||||||
If [range] is given the specified lines are used as
|
If [range] is given the specified lines are used as
|
||||||
input for the job. It will not be possible to type
|
input for the job. It will not be possible to type
|
||||||
keys in the terminal window.
|
keys in the terminal window. For MS-Windows see the
|
||||||
|
++eof argument below.
|
||||||
|
|
||||||
Two comma separated numbers are used as "rows,cols".
|
|
||||||
E.g. `:24,80gdb` opens a terminal with 24 rows and 80
|
|
||||||
columns. However, if the terminal window spans the
|
|
||||||
Vim window with, there is no vertical split, the Vim
|
|
||||||
window width is used.
|
|
||||||
*term++close* *term++open*
|
*term++close* *term++open*
|
||||||
Supported [options] are:
|
Supported [options] are:
|
||||||
++close The terminal window will close
|
++close The terminal window will close
|
||||||
automatically when the job terminates.
|
automatically when the job terminates.
|
||||||
|
++noclose The terminal window will NOT close
|
||||||
|
automatically when the job terminates.
|
||||||
++open When the job terminates and no window
|
++open When the job terminates and no window
|
||||||
shows it, a window will be opened.
|
shows it, a window will be opened.
|
||||||
Note that this can be interruptive.
|
Note that this can be interruptive.
|
||||||
|
The last of ++close, ++noclose and ++open
|
||||||
|
matters and rules out earlier arguments.
|
||||||
|
|
||||||
++curwin Open the terminal in the current
|
++curwin Open the terminal in the current
|
||||||
window, do not split the current
|
window, do not split the current
|
||||||
window. Fails if the current buffer
|
window. Fails if the current buffer
|
||||||
cannot be |abandon|ed.
|
cannot be |abandon|ed.
|
||||||
++hidden Open the terminal in a hidden buffer,
|
++hidden Open the terminal in a hidden buffer,
|
||||||
no window will be used.
|
no window will be used.
|
||||||
|
++norestore Do not include this terminal window
|
||||||
|
in a session file.
|
||||||
|
++kill={how} When trying to close the terminal
|
||||||
|
window kill the job with {how}. See
|
||||||
|
|term_setkill()| for the values.
|
||||||
++rows={height} Use {height} for the terminal window
|
++rows={height} Use {height} for the terminal window
|
||||||
height.
|
height. If the terminal uses the full
|
||||||
|
Vim height (no window above or below
|
||||||
|
th terminal window) the command line
|
||||||
|
height will be reduced as needed.
|
||||||
++cols={width} Use {width} for the terminal window
|
++cols={width} Use {width} for the terminal window
|
||||||
width.
|
width. If the terminal uses the full
|
||||||
++eof={text} when using [range], text to send after
|
Vim width (no window left or right of
|
||||||
the last line was written. The default
|
the terminal window) this value is
|
||||||
is to send CTRL-D. A CR is appended.
|
ignored.
|
||||||
|
++eof={text} when using [range]: text to send after
|
||||||
|
the last line was written. Cannot
|
||||||
|
contain white space. A CR is
|
||||||
|
appended. For MS-Windows the default
|
||||||
|
is to send CTRL-D.
|
||||||
E.g. for a shell use "++eof=exit" and
|
E.g. for a shell use "++eof=exit" and
|
||||||
for Python "++eof=exit()". Special
|
for Python "++eof=exit()". Special
|
||||||
codes can be used like with `:map`,
|
codes can be used like with `:map`,
|
||||||
e.g. "<C-Z>" for CTRL-Z.
|
e.g. "<C-Z>" for CTRL-Z.
|
||||||
{only on MS-Windows}
|
|
||||||
|
|
||||||
If you want to use more options use the |term_start()|
|
If you want to use more options use the |term_start()|
|
||||||
function.
|
function.
|
||||||
|
|
||||||
When the buffer associated with the terminal is unloaded or wiped out the job
|
When the buffer associated with the terminal is forcibly unloaded or wiped out
|
||||||
is killed, similar to calling `job_stop(job, "kill")`
|
the job is killed, similar to calling `job_stop(job, "kill")` .
|
||||||
|
Closing the window normally results in |E947|. When a kill method was set
|
||||||
|
with "++kill={how}" or |term_setkill()| then closing the window will use that
|
||||||
|
way to kill or interrupt the job. For example: >
|
||||||
|
:term ++kill=term tail -f /tmp/log
|
||||||
|
|
||||||
So long as the job is running the window behaves like it contains a modified
|
So long as the job is running the window behaves like it contains a modified
|
||||||
buffer. Trying to close the window with `CTRL-W :quit` fails. When using
|
buffer. Trying to close the window with `CTRL-W :quit` fails. When using
|
||||||
@@ -183,7 +266,7 @@ the buffer name will still be set to the command.
|
|||||||
|
|
||||||
|
|
||||||
Resizing ~
|
Resizing ~
|
||||||
|
*terminal-resizing*
|
||||||
The size of the terminal can be in one of three modes:
|
The size of the terminal can be in one of three modes:
|
||||||
|
|
||||||
1. The 'termsize' option is empty: The terminal size follows the window size.
|
1. The 'termsize' option is empty: The terminal size follows the window size.
|
||||||
@@ -214,12 +297,16 @@ mode.
|
|||||||
Use CTRL-W N (or 'termkey' N) to switch to Terminal-Normal mode. Now the
|
Use CTRL-W N (or 'termkey' N) to switch to Terminal-Normal mode. Now the
|
||||||
contents of the terminal window is under control of Vim, the job output is
|
contents of the terminal window is under control of Vim, the job output is
|
||||||
suspended. CTRL-\ CTRL-N does the same.
|
suspended. CTRL-\ CTRL-N does the same.
|
||||||
|
|
||||||
|
Terminal-Job mode is where |:tmap| mappings are applied. Keys sent by
|
||||||
|
|term_sendkeys()| are not subject to tmap, but keys from |feedkeys()| are.
|
||||||
|
|
||||||
*E946*
|
*E946*
|
||||||
In Terminal-Normal mode you can move the cursor around with the usual Vim
|
In Terminal-Normal mode you can move the cursor around with the usual Vim
|
||||||
commands, Visually mark text, yank text, etc. But you cannot change the
|
commands, Visually mark text, yank text, etc. But you cannot change the
|
||||||
contents of the buffer. The commands that would start insert mode, such as
|
contents of the buffer. The commands that would start insert mode, such as
|
||||||
'i' and 'a', return to Terminal-Job mode. The window will be updated to show
|
'i' and 'a', return to Terminal-Job mode. The window will be updated to show
|
||||||
the contents of the terminal.
|
the contents of the terminal. |:startinsert| is ineffective.
|
||||||
|
|
||||||
In Terminal-Normal mode the statusline and window title show "(Terminal)". If
|
In Terminal-Normal mode the statusline and window title show "(Terminal)". If
|
||||||
the job ends while in Terminal-Normal mode this changes to
|
the job ends while in Terminal-Normal mode this changes to
|
||||||
@@ -229,7 +316,7 @@ It is not possible to enter Insert mode from Terminal-Job mode.
|
|||||||
|
|
||||||
|
|
||||||
Cursor style ~
|
Cursor style ~
|
||||||
|
*terminal-cursor-style*
|
||||||
By default the cursor in the terminal window uses a not blinking block. The
|
By default the cursor in the terminal window uses a not blinking block. The
|
||||||
normal xterm escape sequences can be used to change the blinking state and the
|
normal xterm escape sequences can be used to change the blinking state and the
|
||||||
shape. Once focus leaves the terminal window Vim will restore the original
|
shape. Once focus leaves the terminal window Vim will restore the original
|
||||||
@@ -241,31 +328,53 @@ is inverted. Since Vim cannot detect this, the terminal window cursor
|
|||||||
blinking will also be inverted.
|
blinking will also be inverted.
|
||||||
|
|
||||||
|
|
||||||
Unix ~
|
Session ~
|
||||||
|
*terminal-session*
|
||||||
|
A terminal window will be restored when using a session file, if possible and
|
||||||
|
wanted.
|
||||||
|
|
||||||
|
If "terminal" was removed from 'sessionoptions' then no terminal windows will
|
||||||
|
be restored.
|
||||||
|
|
||||||
|
If the job in the terminal was finished the window will not be restored.
|
||||||
|
|
||||||
|
If the terminal can be restored, the command that was used to open it will be
|
||||||
|
used again. To change this use the |term_setrestore()| function. This can
|
||||||
|
also be used to not restore a specific terminal by setting the command to
|
||||||
|
"NONE".
|
||||||
|
|
||||||
|
|
||||||
|
Special keys ~
|
||||||
|
*terminal-special-keys*
|
||||||
|
Since the terminal emulator simulates an xterm, only escape sequences that
|
||||||
|
both Vim and xterm recognize will be available in the terminal window. If you
|
||||||
|
want to pass on other escape sequences to the job running in the terminal you
|
||||||
|
need to set up forwarding. Example: >
|
||||||
|
tmap <expr> <Esc>]b SendToTerm("\<Esc>]b")
|
||||||
|
func SendToTerm(what)
|
||||||
|
call term_sendkeys('', a:what)
|
||||||
|
return ''
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
|
||||||
|
Unix ~
|
||||||
|
*terminal-unix*
|
||||||
On Unix a pty is used to make it possible to run all kinds of commands. You
|
On Unix a pty is used to make it possible to run all kinds of commands. You
|
||||||
can even run Vim in the terminal! That's used for debugging, see below.
|
can even run Vim in the terminal! That's used for debugging, see below.
|
||||||
|
|
||||||
Environment variables are used to pass information to the running job:
|
Environment variables are used to pass information to the running job:
|
||||||
TERM name of the terminal, 'term'
|
TERM the name of the terminal, from the 'term' option or
|
||||||
|
$TERM in the GUI; falls back to "xterm" if it does not
|
||||||
|
start with "xterm"
|
||||||
ROWS number of rows in the terminal initially
|
ROWS number of rows in the terminal initially
|
||||||
LINES same as ROWS
|
LINES same as ROWS
|
||||||
COLUMNS number of columns in the terminal initially
|
COLUMNS number of columns in the terminal initially
|
||||||
COLORS number of colors, 't_Co' (256*256*256 in the GUI)
|
COLORS number of colors, 't_Co' (256*256*256 in the GUI)
|
||||||
VIM_SERVERNAME v:servername
|
VIM_SERVERNAME v:servername
|
||||||
|
|
||||||
The |client-server| feature can be used to communicate with the Vim instance
|
|
||||||
where the job was started. This only works when v:servername is not empty.
|
|
||||||
If needed you can set it with: >
|
|
||||||
call remote_startserver('vim-server')
|
|
||||||
|
|
||||||
In the job you can then do something like: >
|
|
||||||
vim --servername $VIM_SERVERNAME --remote +123 some_file.c
|
|
||||||
This will open the file "some_file.c" and put the cursor on line 123.
|
|
||||||
|
|
||||||
|
|
||||||
MS-Windows ~
|
MS-Windows ~
|
||||||
|
*terminal-ms-windows*
|
||||||
On MS-Windows winpty is used to make it possible to run all kind of commands.
|
On MS-Windows winpty is used to make it possible to run all kind of commands.
|
||||||
Obviously, they must be commands that run in a terminal, not open their own
|
Obviously, they must be commands that run in a terminal, not open their own
|
||||||
window.
|
window.
|
||||||
@@ -284,8 +393,115 @@ to point to the right file, if needed. If you have both the 32-bit and 64-bit
|
|||||||
version, rename to winpty32.dll and winpty64.dll to match the way Vim was
|
version, rename to winpty32.dll and winpty64.dll to match the way Vim was
|
||||||
build.
|
build.
|
||||||
|
|
||||||
|
Environment variables are used to pass information to the running job:
|
||||||
|
VIM_SERVERNAME v:servername
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
2. Remote testing *terminal-testing*
|
2. Terminal communication *terminal-communication*
|
||||||
|
|
||||||
|
There are several ways to communicate with the job running in a terminal:
|
||||||
|
- Use |term_sendkeys()| to send text and escape sequences from Vim to the job.
|
||||||
|
- Use the JSON API to send encoded commands from the job to Vim.
|
||||||
|
- Use the |client-server| mechanism. This works on machines with an X server
|
||||||
|
and on MS-Windows.
|
||||||
|
|
||||||
|
|
||||||
|
Vim to job: term_sendkeys() ~
|
||||||
|
*terminal-to-job*
|
||||||
|
This allows for remote controlling the job running in the terminal. It is a
|
||||||
|
one-way mechanism. The job can update the display to signal back to Vim.
|
||||||
|
For example, if a shell is running in a terminal, you can do: >
|
||||||
|
call term_sendkeys(buf, "ls *.java\<CR>")
|
||||||
|
|
||||||
|
This requires for the job to be in the right state where it will do the right
|
||||||
|
thing when receiving the keys. For the above example, the shell must be
|
||||||
|
waiting for a command to be typed.
|
||||||
|
|
||||||
|
For a job that was written for the purpose, you can use the JSON API escape
|
||||||
|
sequence in the other direction. E.g.: >
|
||||||
|
call term_sendkeys(buf, "\<Esc>]51;["response"]\x07")
|
||||||
|
|
||||||
|
|
||||||
|
Job to Vim: JSON API ~
|
||||||
|
*terminal-api*
|
||||||
|
The job can send JSON to Vim, using a special escape sequence. The JSON
|
||||||
|
encodes a command that Vim understands. Example of such a message: >
|
||||||
|
<Esc>]51;["drop", "README.md"]<07>
|
||||||
|
|
||||||
|
The body is always a list, making it easy to find the end: ]<07>.
|
||||||
|
The <Esc>]51;msg<07> sequence is reserved by xterm for "Emacs shell", which is
|
||||||
|
similar to what we are doing here.
|
||||||
|
|
||||||
|
Currently supported commands:
|
||||||
|
|
||||||
|
call {funcname} {argument}
|
||||||
|
|
||||||
|
Call a user defined function with {argument}.
|
||||||
|
The function is called with two arguments: the buffer number
|
||||||
|
of the terminal and {argument}, the decoded JSON argument.
|
||||||
|
The function name must start with "Tapi_" to avoid
|
||||||
|
accidentally calling a function not meant to be used for the
|
||||||
|
terminal API
|
||||||
|
The user function should sanity check the argument.
|
||||||
|
The function can use |term_sendkeys()| to send back a reply.
|
||||||
|
Example in JSON: >
|
||||||
|
["call", "Tapi_Impression", ["play", 14]]
|
||||||
|
< Calls a function defined like this: >
|
||||||
|
function Tapi_Impression(bufnum, arglist)
|
||||||
|
if len(a:arglist) == 2
|
||||||
|
echomsg "impression " . a:arglist[0]
|
||||||
|
echomsg "count " . a:arglist[1]
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
< Output from `:echo` may be erased by a redraw, use `:echomsg`
|
||||||
|
to be able to see it with `:messages`.
|
||||||
|
|
||||||
|
drop {filename} [options]
|
||||||
|
|
||||||
|
Let Vim open a file, like the `:drop` command. If {filename}
|
||||||
|
is already open in a window, switch to that window. Otherwise
|
||||||
|
open a new window to edit {filename}.
|
||||||
|
|
||||||
|
[options] is only used when opening a new window. If present,
|
||||||
|
it must be a Dict. Similarly to |++opt|, These entries are recognized:
|
||||||
|
"ff" file format: "dos", "mac" or "unix"
|
||||||
|
"fileformat" idem
|
||||||
|
"enc" overrides 'fileencoding'
|
||||||
|
"encoding" idem
|
||||||
|
"bin" sets 'binary'
|
||||||
|
"binary" idem
|
||||||
|
"nobin" resets 'binary'
|
||||||
|
"nobinary" idem
|
||||||
|
"bad" specifies behavior for bad characters, see
|
||||||
|
|++bad|
|
||||||
|
|
||||||
|
Example in JSON: >
|
||||||
|
["drop", "path/file.txt", {"ff": "dos"}]
|
||||||
|
|
||||||
|
A trick to have Vim send this escape sequence: >
|
||||||
|
exe "set t_ts=\<Esc>]51; t_fs=\x07"
|
||||||
|
let &titlestring = '["call","Tapi_TryThis",["hello",123]]'
|
||||||
|
redraw
|
||||||
|
set t_ts& t_fs&
|
||||||
|
|
||||||
|
Rationale: Why not allow for any command or expression? Because that might
|
||||||
|
create a security problem.
|
||||||
|
|
||||||
|
|
||||||
|
Using the client-server feature ~
|
||||||
|
*terminal-client-server*
|
||||||
|
This only works when v:servername is not empty. If needed you can set it,
|
||||||
|
before opening the terminal, with: >
|
||||||
|
call remote_startserver('vim-server')
|
||||||
|
|
||||||
|
$VIM_SERVERNAME is set in the terminal to pass on the server name.
|
||||||
|
|
||||||
|
In the job you can then do something like: >
|
||||||
|
vim --servername $VIM_SERVERNAME --remote +123 some_file.c
|
||||||
|
This will open the file "some_file.c" and put the cursor on line 123.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
3. Remote testing *terminal-testing*
|
||||||
|
|
||||||
Most Vim tests execute a script inside Vim. For some tests this does not
|
Most Vim tests execute a script inside Vim. For some tests this does not
|
||||||
work, running the test interferes with the code being tested. To avoid this
|
work, running the test interferes with the code being tested. To avoid this
|
||||||
@@ -294,42 +510,323 @@ inspects the resulting screen state.
|
|||||||
|
|
||||||
Functions ~
|
Functions ~
|
||||||
|
|
||||||
term_sendkeys() send keystrokes to a terminal
|
term_sendkeys() send keystrokes to a terminal (not subject to tmap)
|
||||||
term_wait() wait for screen to be updated
|
term_wait() wait for screen to be updated
|
||||||
term_scrape() inspect terminal screen
|
term_scrape() inspect terminal screen
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
3. Debugging *terminal-debug*
|
4. Diffing screen dumps *terminal-diff*
|
||||||
|
|
||||||
|
In some cases it can be bothersome to test that Vim displays the right
|
||||||
|
characters on the screen. E.g. with syntax highlighting. To make this
|
||||||
|
simpler it is possible to take a screen dump of a terminal and compare it to
|
||||||
|
an expected screen dump.
|
||||||
|
|
||||||
|
Vim uses the window size, text, color and other attributes as displayed. The
|
||||||
|
Vim screen size, font and other properties do not matter. Therefore this
|
||||||
|
mechanism is portable across systems. A conventional screenshot would reflect
|
||||||
|
all differences, including font size and family.
|
||||||
|
|
||||||
|
|
||||||
|
Writing a screen dump test for Vim ~
|
||||||
|
*terminal-dumptest*
|
||||||
|
For an example see the Test_syntax_c() function in
|
||||||
|
src/testdir/test_syntax.vim. The main parts are:
|
||||||
|
- Write a file you want to test with. This is useful for testing syntax
|
||||||
|
highlighting. You can also start Vim with en empty buffer.
|
||||||
|
- Run Vim in a terminal with a specific size. The default is 20 lines of 75
|
||||||
|
characters. This makes sure the dump is always this size. The function
|
||||||
|
RunVimInTerminal() takes care of this. Pass it the arguments for the Vim
|
||||||
|
command.
|
||||||
|
- Send any commands to Vim using term_sendkeys(). For example: >
|
||||||
|
call term_sendkeys(buf, ":echo &lines &columns\<CR>")
|
||||||
|
- Check that the screen is now in the expected state, using
|
||||||
|
VerifyScreenDump(). This expects the reference screen dump to be in the
|
||||||
|
src/testdir/dumps/ directory. Pass the name without ".dump". It is
|
||||||
|
recommended to use the name of the test function and a sequence number, so
|
||||||
|
that we know what test is using the file.
|
||||||
|
- Repeat sending commands and checking the state.
|
||||||
|
- Finally stop Vim by calling StopVimInTerminal().
|
||||||
|
|
||||||
|
The first time you do this you won't have a screen dump yet. Create an empty
|
||||||
|
file for now, e.g.: >
|
||||||
|
touch src/testdir/dumps/Test_function_name_01.dump
|
||||||
|
|
||||||
|
The test will then fail, giving you the command to compare the reference dump
|
||||||
|
and the failed dump, e.g.: >
|
||||||
|
call term_dumpdiff("Test_func.dump.failed", "dumps/Test_func.dump")
|
||||||
|
|
||||||
|
Use this command in Vim, with the current directory set to src/testdir.
|
||||||
|
Once you are satisfied with the test, move the failed dump in place of the
|
||||||
|
reference: >
|
||||||
|
:!mv Test_func.dump.failed dumps/Test_func.dump
|
||||||
|
|
||||||
|
|
||||||
|
Creating a screen dump ~
|
||||||
|
*terminal-screendump*
|
||||||
|
|
||||||
|
To create the screen dump, run Vim (or any other program) in a terminal and
|
||||||
|
make it show the desired state. Then use the term_dumpwrite() function to
|
||||||
|
create a screen dump file. For example: >
|
||||||
|
:call term_dumpwrite(77, "mysyntax.dump")
|
||||||
|
|
||||||
|
Here "77" is the buffer number of the terminal. Use `:ls!` to see it.
|
||||||
|
|
||||||
|
You can view the screen dump with term_dumpload(): >
|
||||||
|
:call term_dumpload("mysyntax.dump")
|
||||||
|
|
||||||
|
To verify that Vim still shows exactly the same screen, run Vim again with
|
||||||
|
exactly the same way to show the desired state. Then create a screen dump
|
||||||
|
again, using a different file name: >
|
||||||
|
:call term_dumpwrite(88, "test.dump")
|
||||||
|
|
||||||
|
To assert that the files are exactly the same use assert_equalfile(): >
|
||||||
|
call assert_equalfile("mysyntax.dump", "test.dump")
|
||||||
|
|
||||||
|
If there are differences then v:errors will contain the error message.
|
||||||
|
|
||||||
|
|
||||||
|
Comparing screen dumps ~
|
||||||
|
*terminal-diffscreendump*
|
||||||
|
|
||||||
|
assert_equalfile() does not make it easy to see what is different.
|
||||||
|
To spot the problem use term_dumpdiff(): >
|
||||||
|
call term_dumpdiff("mysyntax.dump", "test.dump")
|
||||||
|
|
||||||
|
This will open a window consisting of three parts:
|
||||||
|
1. The contents of the first dump
|
||||||
|
2. The difference between the first and second dump
|
||||||
|
3. The contents of the second dump
|
||||||
|
|
||||||
|
You can usually see what differs in the second part. Use the 'ruler' to
|
||||||
|
relate it to the position in the first or second dump.
|
||||||
|
|
||||||
|
Alternatively, press "s" to swap the first and second dump. Do this several
|
||||||
|
times so that you can spot the difference in the context of the text.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
5. Debugging *terminal-debug*
|
||||||
|
|
||||||
The Terminal debugging plugin can be used to debug a program with gdb and view
|
The Terminal debugging plugin can be used to debug a program with gdb and view
|
||||||
the source code in a Vim window.
|
the source code in a Vim window. Since this is completely contained inside
|
||||||
|
Vim this also works remotely over an ssh connection.
|
||||||
|
|
||||||
|
|
||||||
|
Starting ~
|
||||||
|
*termdebug-starting*
|
||||||
Load the plugin with this command: >
|
Load the plugin with this command: >
|
||||||
packadd termdebug
|
packadd termdebug
|
||||||
|
< *:Termdebug*
|
||||||
To start debugging use `:TermDebug` folowed by the command name, for example: >
|
To start debugging use `:Termdebug` followed by the command name, for example: >
|
||||||
:TermDebug vim
|
:Termdebug vim
|
||||||
|
|
||||||
This opens two windows:
|
This opens two windows:
|
||||||
- A terminal window in which "gdb vim" is executed. Here you can directly
|
|
||||||
interact with gdb.
|
|
||||||
- A terminal window for the executed program. When "run" is used in gdb the
|
|
||||||
program I/O will happen in this window, so that it does not interfere with
|
|
||||||
controlling gdb.
|
|
||||||
The current window is used to show the source code. When gdb jumps to a
|
|
||||||
source file location this window will display the code, if possible. Values
|
|
||||||
of variables can be inspected, breakpoints set and cleared, etc.
|
|
||||||
|
|
||||||
When the debugger ends the two opened windows are closed.
|
gdb window A terminal window in which "gdb vim" is executed. Here you
|
||||||
|
can directly interact with gdb. The buffer name is "!gdb".
|
||||||
|
|
||||||
|
program window A terminal window for the executed program. When "run" is
|
||||||
|
used in gdb the program I/O will happen in this window, so
|
||||||
|
that it does not interfere with controlling gdb. The buffer
|
||||||
|
name is "gdb program".
|
||||||
|
|
||||||
|
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
|
||||||
|
highlight the current position, using highlight group debugPC.
|
||||||
|
|
||||||
|
If the buffer in the current window is modified, another window will be opened
|
||||||
|
to display the current gdb position.
|
||||||
|
|
||||||
|
Focus the terminal of the executed program to interact with it. This works
|
||||||
|
the same as any command running in a terminal window.
|
||||||
|
|
||||||
|
When the debugger ends, typically by typing "quit" in the gdb window, the two
|
||||||
|
opened windows are closed.
|
||||||
|
|
||||||
|
|
||||||
|
Example session ~
|
||||||
|
*termdebug-example*
|
||||||
|
Start in the Vim "src" directory and build Vim: >
|
||||||
|
% make
|
||||||
|
Start Vim: >
|
||||||
|
% ./vim
|
||||||
|
Load the termdebug plugin and start debugging Vim: >
|
||||||
|
:packadd termdebug
|
||||||
|
:Termdebug vim
|
||||||
|
You should now have three windows:
|
||||||
|
source - where you started, has a window toolbar with buttons
|
||||||
|
gdb - you can type gdb commands here
|
||||||
|
program - the executed program will use this window
|
||||||
|
|
||||||
|
You can use CTRL-W CTRL-W or the mouse to move focus between windows.
|
||||||
|
Put focus on the gdb window and type: >
|
||||||
|
break ex_help
|
||||||
|
run
|
||||||
|
Vim will start running in the program window. Put focus there and type: >
|
||||||
|
:help gui
|
||||||
|
Gdb will run into the ex_help breakpoint. The source window now shows the
|
||||||
|
ex_cmds.c file. A ">>" marker will appear where the breakpoint was set. The
|
||||||
|
line where the debugger stopped is highlighted. You can now step through the
|
||||||
|
program. Let's use the mouse: click on the "Next" button in the window
|
||||||
|
toolbar. You will see the highlighting move as the debugger executes a line
|
||||||
|
of source code.
|
||||||
|
|
||||||
|
Click "Next" a few times until the for loop is highlighted. Put the cursor on
|
||||||
|
the end of "eap->arg", then click "Eval" in the toolbar. You will see this
|
||||||
|
displayed:
|
||||||
|
"eap->arg": 0x555555e68855 "gui" ~
|
||||||
|
This way you can inspect the value of local variables. You can also focus the
|
||||||
|
gdb window and use a "print" command, e.g.: >
|
||||||
|
print *eap
|
||||||
|
If mouse pointer movements are working, Vim will also show a balloon when the
|
||||||
|
mouse rests on text that can be evaluated by gdb.
|
||||||
|
|
||||||
|
Now go back to the source window and put the cursor on the first line after
|
||||||
|
the for loop, then type: >
|
||||||
|
:Break
|
||||||
|
You will see a ">>" marker appear, this indicates the new breakpoint. Now
|
||||||
|
click "Cont" in the toolbar and the code until the breakpoint will be
|
||||||
|
executed.
|
||||||
|
|
||||||
|
You can type more advanced commands in the gdb window. For example, type: >
|
||||||
|
watch curbuf
|
||||||
|
Now click "Cont" in the toolbar (or type "cont" in the gdb window). Execution
|
||||||
|
will now continue until the value of "curbuf" changes, which is in do_ecmd().
|
||||||
|
To remove this watchpoint again type in the gdb window: >
|
||||||
|
delete 3
|
||||||
|
|
||||||
|
You can see the stack by typing in the gdb window: >
|
||||||
|
where
|
||||||
|
Move through the stack frames, e.g. with: >
|
||||||
|
frame 3
|
||||||
|
The source window will show the code, at the point where the call was made to
|
||||||
|
a deeper level.
|
||||||
|
|
||||||
|
|
||||||
|
Stepping through code ~
|
||||||
|
*termdebug-stepping*
|
||||||
|
Put focus on the gdb window to type commands there. Some common ones are:
|
||||||
|
- CTRL-C interrupt the program
|
||||||
|
- next execute the current line and stop at the next line
|
||||||
|
- step execute the current line and stop at the next statement,
|
||||||
|
entering functions
|
||||||
|
- finish execute until leaving the current function
|
||||||
|
- where show the stack
|
||||||
|
- frame N go to the Nth stack frame
|
||||||
|
- continue continue execution
|
||||||
|
|
||||||
|
In the window showing the source code these commands can be used to control gdb:
|
||||||
|
`:Run` [args] run the program with [args] or the previous arguments
|
||||||
|
`:Arguments` {args} set arguments for the next `:Run`
|
||||||
|
|
||||||
|
`:Break` set a breakpoint at the current line; a sign will be displayed
|
||||||
|
`:Clear` delete the breakpoint at the current line
|
||||||
|
|
||||||
|
`:Step` execute the gdb "step" command
|
||||||
|
`:Over` execute the gdb "next" command (`:Next` is a Vim command)
|
||||||
|
`:Finish` execute the gdb "finish" command
|
||||||
|
`:Continue` execute the gdb "continue" command
|
||||||
|
`:Stop` interrupt the program
|
||||||
|
|
||||||
|
If 'mouse' is set the plugin adds a window toolbar with these entries:
|
||||||
|
Step `:Step`
|
||||||
|
Next `:Over`
|
||||||
|
Finish `:Finish`
|
||||||
|
Cont `:Continue`
|
||||||
|
Stop `:Stop`
|
||||||
|
Eval `:Evaluate`
|
||||||
|
This way you can use the mouse to perform the most common commands. You need
|
||||||
|
to have the 'mouse' option set to enable mouse clicks.
|
||||||
|
|
||||||
|
You can add the window toolbar in other windows you open with: >
|
||||||
|
:Winbar
|
||||||
|
|
||||||
|
If gdb stops at a source line and there is no window currently showing the
|
||||||
|
source code, a new window will be created for the source code. This also
|
||||||
|
happens if the buffer in the source code window has been modified and can't be
|
||||||
|
abandoned.
|
||||||
|
|
||||||
|
|
||||||
|
Inspecting variables ~
|
||||||
|
*termdebug-variables*
|
||||||
|
`:Evaluate` evaluate the expression under the cursor
|
||||||
|
`K` same
|
||||||
|
`:Evaluate` {expr} evaluate {expr}
|
||||||
|
`:'<,'>Evaluate` evaluate the Visually selected text
|
||||||
|
|
||||||
|
This is similar to using "print" in the gdb window.
|
||||||
|
You can usually shorten `:Evaluate` to `:Ev`.
|
||||||
|
|
||||||
|
|
||||||
|
Other commands ~
|
||||||
|
*termdebug-commands*
|
||||||
|
:Gdb jump to the gdb window
|
||||||
|
:Program jump to the window with the running program
|
||||||
|
:Source jump to the window with the source code, create it if there
|
||||||
|
isn't one
|
||||||
|
|
||||||
|
|
||||||
|
Communication ~
|
||||||
|
*termdebug-communication*
|
||||||
|
There is another, hidden, buffer, which is used for Vim to communicate with
|
||||||
|
gdb. The buffer name is "gdb communication". Do not delete this buffer, it
|
||||||
|
will break the debugger.
|
||||||
|
|
||||||
|
|
||||||
Customizing ~
|
Customizing ~
|
||||||
|
|
||||||
g:debugger The debugger command. Default "gdb".
|
GDB command *termdebug-customizing*
|
||||||
|
|
||||||
|
To change the name of the gdb command, set the "termdebugger" variable before
|
||||||
|
invoking `:Termdebug`: >
|
||||||
|
let termdebugger = "mygdb"
|
||||||
|
< *gdb-version*
|
||||||
|
Only debuggers fully compatible with gdb will work. Vim uses the GDB/MI
|
||||||
|
interface. The "new-ui" command requires gdb version 7.12 or later. if you
|
||||||
|
get this error:
|
||||||
|
Undefined command: "new-ui". Try "help".~
|
||||||
|
Then your gdb is too old.
|
||||||
|
|
||||||
|
|
||||||
TODO
|
Colors *hl-debugPC* *hl-debugBreakpoint*
|
||||||
|
|
||||||
|
The color of the signs can be adjusted with these highlight groups:
|
||||||
|
- debugPC the current position
|
||||||
|
- debugBreakpoint a breakpoint
|
||||||
|
|
||||||
|
The defaults are, when 'background' is "light":
|
||||||
|
hi debugPC term=reverse ctermbg=lightblue guibg=lightblue
|
||||||
|
hi debugBreakpoint term=reverse ctermbg=red guibg=red
|
||||||
|
|
||||||
|
When 'background' is "dark":
|
||||||
|
hi debugPC term=reverse ctermbg=darkblue guibg=darkblue
|
||||||
|
hi debugBreakpoint term=reverse ctermbg=red guibg=red
|
||||||
|
|
||||||
|
|
||||||
|
Popup menu *termdebug_popup*
|
||||||
|
|
||||||
|
By default the Termdebug plugin sets 'mousemodel' to "popup_setpos" and adds
|
||||||
|
these entries to the popup menu:
|
||||||
|
Set breakpoint `:Break`
|
||||||
|
Clear breakpoint `:Clear`
|
||||||
|
Evaluate `:Evaluate`
|
||||||
|
If you don't want this then disable it with: >
|
||||||
|
let g:termdebug_popup = 0
|
||||||
|
|
||||||
|
|
||||||
|
Vim window width *termdebug_wide*
|
||||||
|
|
||||||
|
To change the width of the Vim window when debugging starts, and use a
|
||||||
|
vertical split: >
|
||||||
|
let g:termdebug_wide = 163
|
||||||
|
This will set &columns to 163 when :Termdebug is used. The value is restored
|
||||||
|
when quitting the debugger.
|
||||||
|
If g:termdebug_wide is set and &Columns is already larger than
|
||||||
|
g:termdebug_wide then a vertical split will be used without changing &columns.
|
||||||
|
Set it to 1 to get a vertical split without every changing &columns (useful
|
||||||
|
for when the terminal can't be resized by Vim).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
vim:tw=78:ts=8:ft=help:norl:
|
vim:tw=78:ts=8:ft=help:norl:
|
||||||
|
|||||||
68
runtime/doc/test_urls.vim
Normal file
68
runtime/doc/test_urls.vim
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
" Test for URLs in help documents.
|
||||||
|
"
|
||||||
|
" Opens a new window with all found URLS followed by return code from curl
|
||||||
|
" (anything other than 0 means unreachable)
|
||||||
|
"
|
||||||
|
" Written by Christian Brabandt.
|
||||||
|
|
||||||
|
func Test_check_URLs()
|
||||||
|
if has("win32")
|
||||||
|
echoerr "Doesn't work on MS-Windows"
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if executable('curl')
|
||||||
|
" Note: does not follow redirects!
|
||||||
|
let s:command = 'curl --silent --fail --output /dev/null --head '
|
||||||
|
elseif executable('wget')
|
||||||
|
" Note: only allow a couple of redirects
|
||||||
|
let s:command = 'wget --quiet -S --spider --max-redirect=2 --timeout=5 --tries=2 -O /dev/null '
|
||||||
|
else
|
||||||
|
echoerr 'Only works when "curl" or "wget" is available'
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
let pat='\(https\?\|ftp\)://[^\t* ]\+'
|
||||||
|
exe 'helpgrep' pat
|
||||||
|
helpclose
|
||||||
|
|
||||||
|
let urls = map(getqflist(), 'v:val.text')
|
||||||
|
" do not use submatch(1)!
|
||||||
|
let urls = map(urls, {key, val -> matchstr(val, pat)})
|
||||||
|
" remove examples like user@host (invalid urls)
|
||||||
|
let urls = filter(urls, 'v:val !~ "@"')
|
||||||
|
" Remove example URLs which are invalid
|
||||||
|
let urls = filter(urls, {key, val -> val !~ '\<\(\(my\|some\)\?host\|machine\|hostname\|file\)\>'})
|
||||||
|
new
|
||||||
|
put =urls
|
||||||
|
" remove some more invalid items
|
||||||
|
" empty lines
|
||||||
|
v/./d
|
||||||
|
" remove # anchors
|
||||||
|
%s/#.*$//e
|
||||||
|
" remove trailing stuff (parenthesis, dot, comma, quotes), but only for HTTP
|
||||||
|
" links
|
||||||
|
g/^h/s#[.,)'"/>][:.]\?$##
|
||||||
|
g#^[hf]t\?tp:/\(/\?\.*\)$#d
|
||||||
|
silent! g/ftp://,$/d
|
||||||
|
silent! g/=$/d
|
||||||
|
let a = getline(1,'$')
|
||||||
|
let a = uniq(sort(a))
|
||||||
|
%d
|
||||||
|
call setline(1, a)
|
||||||
|
|
||||||
|
" Do the testing.
|
||||||
|
set nomore
|
||||||
|
%s/.*/\=TestURL(submatch(0))/
|
||||||
|
|
||||||
|
" highlight the failures
|
||||||
|
/.* \([0-9]*[1-9]\|[0-9]\{2,}\)$
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func TestURL(url)
|
||||||
|
" Relies on the return code to determine whether a page is valid
|
||||||
|
echom printf("Testing URL: %d/%d %s", line('.'), line('$'), a:url)
|
||||||
|
call system(s:command . shellescape(a:url))
|
||||||
|
return printf("%s %d", a:url, v:shell_error)
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
call Test_check_URLs()
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 8.0. Last change: 2017 Aug 27
|
*todo.txt* For Vim version 8.0. Last change: 2018 Apr 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -7,9 +7,9 @@
|
|||||||
TODO list for Vim *todo*
|
TODO list for Vim *todo*
|
||||||
|
|
||||||
This is a veeeery long list of known bugs, current work and desired
|
This is a veeeery long list of known bugs, current work and desired
|
||||||
improvements. To make it a little bit accessible, the items are grouped by
|
improvements. To make it a little bit accessible, the older items are grouped
|
||||||
subject. In the first column of the line a classification is used to be able
|
by subject. In the first column of the line a classification is used to be
|
||||||
to look for "the next thing to do":
|
able to look for "the next thing to do":
|
||||||
|
|
||||||
Priority classification:
|
Priority classification:
|
||||||
9 next point release
|
9 next point release
|
||||||
@@ -35,125 +35,149 @@ entered there will not be repeated below, unless there is extra information.
|
|||||||
*known-bugs*
|
*known-bugs*
|
||||||
-------------------- Known bugs and current work -----------------------
|
-------------------- Known bugs and current work -----------------------
|
||||||
|
|
||||||
No maintainer for Vietnamese translations.
|
|
||||||
No maintainer for Simplified Chinese translations.
|
|
||||||
|
|
||||||
|
|
||||||
Terminal emulator window:
|
Terminal emulator window:
|
||||||
- Lots of stuff to implement, see src/terminal.c
|
- dump diff sometimes creates a different way of repeating.
|
||||||
- Add debugger interface. Implementation for gdb by Xavier de Gaye. Should
|
Example: https://api.travis-ci.org/v3/job/359102504/log.txt
|
||||||
work like an IDE. Try to keep it generic. Now found here:
|
unclear why this can happen.
|
||||||
http://clewn.sf.net.
|
- Passing 'term' as $TERM doesn't work in GUI.
|
||||||
Can this replace Agide? http://www.a-a-p.org/images/debugfull.png
|
- Still some stuff to implement and bugs to fix, see src/terminal.c
|
||||||
- make showballoon() work in a terminal. Requires getting mouse-move
|
- GUI: problem with split window and sourcing the current buffer into python?
|
||||||
events.
|
(Blay263, 2018 Mar 31)
|
||||||
- send 'balloonText' events for the cursor position (using CursorHold ?)
|
- Terminal debugger: need a way to (re) open the source window, where current
|
||||||
in terminal mode.
|
position is displayed.
|
||||||
- Implement the right-click popup menu for the terminal. Can use the
|
|
||||||
completion popup menu code and mouse dragging.
|
|
||||||
- Look into the idevim plugin/script.
|
|
||||||
- Related wishes for NetBeans commands:
|
|
||||||
- make it possible to have 'defineAnnoType' also handle terminal colors.
|
|
||||||
|
|
||||||
+channel:
|
Mode message isn't updated on vertical split. (Alexei Averchenko, 2018 Feb 2,
|
||||||
- Try out background make plugin:
|
#2611)
|
||||||
|
|
||||||
|
Patch to fix vimgrep adding to wrong quickfix list. (Yegappan, 2018 Mar 25)
|
||||||
|
|
||||||
|
Problem with sudo. #2758
|
||||||
|
|
||||||
|
Code refactoring, macro for message, #2729
|
||||||
|
|
||||||
|
Fix for crash with non-dict argument to job options. (ichizok, #2765)
|
||||||
|
|
||||||
|
Patch to enforce c89 compliance. (James McCoy, #2735)
|
||||||
|
With fix for Mac from Kazunobu.
|
||||||
|
|
||||||
|
Block insert doesn't work if the first line is auto-indented. (Christian
|
||||||
|
Brabandt, 2018 Apr 4, #2778)
|
||||||
|
|
||||||
|
Errors found with random data:
|
||||||
|
heap-buffer-overflow in alist_add (#2472)
|
||||||
|
|
||||||
|
Patch to avoid bad highlighting caused by #if. (ichizok, #2731)
|
||||||
|
|
||||||
|
Patch to make mkdir() more like the shell command. (James McCoy, #2775)
|
||||||
|
|
||||||
|
Implement option_save() and option_restore()? Or remove the help.
|
||||||
|
|
||||||
|
Patch for static analysis warnings. (Christian Brabandt, 2018 Apr 1, #2770)
|
||||||
|
|
||||||
|
Patch to refactor ex_helpgrep. (Yegappan, #2766, 2018 Mar 30)
|
||||||
|
Also in email, take the one with a test.
|
||||||
|
|
||||||
|
Looks like an error for inserting register makes ":file other" not work.
|
||||||
|
(Tom M, 2018 Mar 28) Reset did_emsg after inserting a register.
|
||||||
|
Or at the top of the loop? (Apr 4)
|
||||||
|
|
||||||
|
Patch to fix mouse pointer after :tselect. (Hirohito Higashi, #2709)
|
||||||
|
How to reproduce the problem?
|
||||||
|
|
||||||
|
Patch to avoid job killed when I/O is disconnected. (ichizok, #2734)
|
||||||
|
|
||||||
|
When opening foo/x.txt and bar/x.txt get swap file warning. Should check the
|
||||||
|
file name. (Juergen Weigert)
|
||||||
|
|
||||||
|
Compiler warnings (geeknik, 2017 Oct 26):
|
||||||
|
- signed integer overflow in do_sub() (#2249)
|
||||||
|
- signed integer overflow in get_address() (#2248)
|
||||||
|
- signed integer overflow in getdecchrs() (#2254)
|
||||||
|
- undefined left shift in get_string_tv() (#2250)
|
||||||
|
|
||||||
|
Tests failing for "make testgui" with GTK:
|
||||||
|
- Test_setbufvar_options()
|
||||||
|
- Test_exit_callback_interval()
|
||||||
|
|
||||||
|
Mouse pointer sticks to stop shape. Only on Windows GUI? #2709
|
||||||
|
|
||||||
|
Patch to make log_tr() use variable arguments. (Ichizok, 2018 Mar 20, #2730)
|
||||||
|
|
||||||
|
balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec
|
||||||
|
20, #2481)
|
||||||
|
Also see #2352, want better control over balloon, perhaps set the position.
|
||||||
|
|
||||||
|
Try out background make plugin:
|
||||||
https://github.com/AndrewVos/vim-make-background
|
https://github.com/AndrewVos/vim-make-background
|
||||||
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
|
or asyncmake:
|
||||||
- Writing raw mode to a buffer should still handle NL characters as line
|
https://github.com/yegappan/asyncmake
|
||||||
breaks. (Dmitry Zotikov, 2017 Aug 16)
|
|
||||||
- When out_cb executes :sleep, the close_cb may be invoked. (Daniel Hahler,
|
|
||||||
2016 Dec 11, #1320)
|
|
||||||
- Implement |job-term| ?
|
|
||||||
- Channel test fails with Motif. Sometimes kills the X11 server.
|
|
||||||
- When a message in the queue but there is no callback, drop it after a while?
|
|
||||||
Add timestamp to queued messages and callbacks with ID, remove after a
|
|
||||||
minute. Option to set the droptime.
|
|
||||||
- Add an option to drop text of very long lines? Default to 1 Mbyte.
|
|
||||||
- Add remark about undo sync, is there a way to force it?
|
|
||||||
- When starting a job, have an option to open the server socket, so we know
|
|
||||||
the port, and pass it to the command with --socket-fd {nr}. (Olaf Dabrunz,
|
|
||||||
Feb 9) How to do this on MS-Windows?
|
|
||||||
- For connection to server, a "keep open" flag would be useful. Retry
|
|
||||||
connecting in the main loop with zero timeout.
|
|
||||||
- job_start(): run job in a newly opened terminal (not a terminal window).
|
|
||||||
With xterm could use -S{pty}.
|
|
||||||
Although user could use "xterm -e 'cmd arg'".
|
|
||||||
|
|
||||||
Regexp problems:
|
Add a ModeChanged autocommand that has an argument indicating the old and new
|
||||||
- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
|
mode. Also used for switching Terminal mode.
|
||||||
(Manuel Ortega, 2016 Apr 24)
|
|
||||||
Test fails on Mac. Avoid using isalpha(), isalnum(), etc? Depends on
|
|
||||||
LC_CTYPE
|
|
||||||
- The old engine does not find a match for "/\%#=1\(\)\{80}", the new engine
|
|
||||||
matches everywhere.
|
|
||||||
- Using win_linetabsize() can still be slow. Cache the result, store col and
|
|
||||||
vcol. Reset them when moving to another line.
|
|
||||||
- Very slow with a long line and Ruby highlighting. (John Whitley, 2014 Dec 4)
|
|
||||||
- Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$'
|
|
||||||
(Lech Lorens, 2014 Feb 3)
|
|
||||||
- Issue 164: freeze on regexp search.
|
|
||||||
- Ignorecase not handled properly for multi-byte characters. (Axel Bender,
|
|
||||||
2013 Dec 11)
|
|
||||||
- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin
|
|
||||||
Szamotulski; Remark from Brett 2014 Jan 6 and 7.
|
|
||||||
- NFA regexp doesn't handle \%<v correctly. (Ingo Karkat, 2014 May 12)
|
|
||||||
- Does not work with NFA regexp engine:
|
|
||||||
\%u, \%x, \%o, \%d followed by a composing character
|
|
||||||
- Search for \%d0\+ may fail with E363. (Christian Brabandt, 2016 Oct 4)
|
|
||||||
- \%'[ does not work. '%'] does work. (Masaaki Nakamura, 2016 Apr 4)
|
|
||||||
- Bug relating to back references. (Ingo Karkat, 2014 Jul 24)
|
|
||||||
- New RE does not give an error for empty group: "\(\)\{2}" (Dominique Pelle,
|
|
||||||
2015 Feb 7)
|
|
||||||
- Using back reference before the capturing group sometimes works with the old
|
|
||||||
engine, can we do this with the new engine? E.g. with
|
|
||||||
"/\%(<\1>\)\@<=.*\%(<\/\(\w\+\)>\)\@=" matching text inside HTML tags.
|
|
||||||
This problem is probably the same: "\%(^\1.*$\n\)\@<=\(\d\+\).*$".
|
|
||||||
(guotuofeng, 2015 Jun 22)
|
|
||||||
- Strange matching with "\(Hello\n\)\@<=A". (Anas Syed, 2015 Feb 12)
|
|
||||||
- Problem with \v(A)@<=b+\1c. (Issue 334)
|
|
||||||
- Diff highlighting can be very slow. (Issue 309)
|
|
||||||
- Using %> for a virtual column has a check based on 'tabsize'. Better would
|
|
||||||
be to cache the result of win_linetabsize(col), storing both col and vcol,
|
|
||||||
and use them to decide whether win_linetabsize() needs to be called. Reset
|
|
||||||
col and vcol when moving to another line.
|
|
||||||
- this doesn't work: "syntax match ErrorMsg /.\%9l\%>20c\&\%<28c/". Leaving
|
|
||||||
out the \& works. Seems any column check after \& fails.
|
|
||||||
- Difference between two engines: ".*\zs\/\@>\/" on text "///"
|
|
||||||
(Chris Paul, 2016 Nov 13) New engine not greedy enough?
|
|
||||||
Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
|
|
||||||
(2017 May 15, #1252)
|
|
||||||
|
|
||||||
Patch to turn test80 into a new style test. (Yegappan Lakshmanan, 2017 Aug 20)
|
Cursor in status line after search. (#2530)
|
||||||
|
|
||||||
Include a few color schemes, based on popularity:
|
Patch to fix that an empty buffer remains when using :argedit. (Christian,
|
||||||
http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
|
#2713) Updated patch.
|
||||||
http://vimawesome.com/?q=tag:color-scheme
|
|
||||||
Use names that indicate their appearnce (Christian Brabandt, 2017 Aug 3)
|
|
||||||
- monokai - Xia Crusoe (2017 Aug 4)
|
|
||||||
- seoul256 - Christian Brabandt (2017 Aug 3)
|
|
||||||
- gruvbox - Christian Brabandt (2017 Aug 3)
|
|
||||||
- janah - Marco Hinz (2017 Aug 4)
|
|
||||||
- apprentice - Romain Lafourcade (2017 Aug 6) remarks about help file #1964
|
|
||||||
Suggested by Hiroki Kokubun:
|
|
||||||
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
|
|
||||||
- [hybrid](https://github.com/w0ng/vim-hybrid)
|
|
||||||
|
|
||||||
When starting with --clean packages under "start" are not loaded. Make this
|
Patch to fix interaction between 'virtualedit' and i_CTRL-G_j. (Christian
|
||||||
work: :packadd START {name} similar to :runtime START name
|
Brabandt, #2743)
|
||||||
|
|
||||||
|
Cursor in wrong position when line wraps. (#2540)
|
||||||
|
|
||||||
|
Add an option similar to 'lazyredraw' to skip redrawing while executing a
|
||||||
|
script or function.
|
||||||
|
|
||||||
|
Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
|
||||||
|
|
||||||
|
Patch to add more flags to :ls. (Marcin Szamotulski, #2751)
|
||||||
|
|
||||||
|
Does setting 'cursorline' cause syntax highlighting to slow down? Perhaps is
|
||||||
|
mess up the cache? (Mike Lee Williams, 2018 Jan 27, #2539)
|
||||||
|
Also: 'foldtext' is evaluated too often. (Daniel Hahler, #2773)
|
||||||
|
|
||||||
When using :packadd files under "later" are not used, which is inconsistent
|
When using :packadd files under "later" are not used, which is inconsistent
|
||||||
with packages under "start". (xtal8, #1994)
|
with packages under "start". (xtal8, #1994)
|
||||||
|
|
||||||
After 8.0.0962 pasting leaves the cursor in another position. (Ken Takata,
|
Column number is wrong when using 'linebreak' and 'wrap'. (Keith Smiley, 2018
|
||||||
2017 Aug 23, #2015) Also (zdm, 2017 Aug 23)
|
Jan 15, #2555)
|
||||||
|
|
||||||
Patch to add quickfix list identifier. (Yegappan, 2017 Aug 15)
|
":bufdo e" disabled syntax HL in windows other than the current. (BPJ)
|
||||||
|
|
||||||
Mac Terminal.app: ctermbg=15 gives light grey instead of white.
|
Check argument of systemlist(). (Pavlov)
|
||||||
ctermbg=256 breaks clearing till end of the line. Both work fine in xterm.
|
|
||||||
|
|
||||||
Patch to avoid editing a file in the session file twice. (Christian Brabandt,
|
Patch to add reg_executing() and reg_recording(). (Hirohito Higashi, #2745)
|
||||||
2017 Aug 21) #1958
|
|
||||||
|
No maintainer for Vietnamese translations.
|
||||||
|
No maintainer for Simplified Chinese translations.
|
||||||
|
|
||||||
|
When 'inchsearch' and 'hlsearch' are set /\v highlights everything.
|
||||||
|
Also see #2337
|
||||||
|
|
||||||
|
Starting job with cwd option, when the directory does not exist, gives a
|
||||||
|
confusing error message. (Wang Shidong, 2018 Jan 2, #2519)
|
||||||
|
|
||||||
|
Patch to add "module" to quickfix entries. (Marcin Szamotulski, Coot, 2017 Jun
|
||||||
|
8, #1757) Now part of #2322. Or #2327? #1757 was re-opened, include that
|
||||||
|
first.
|
||||||
|
|
||||||
|
Add the debug command line history to viminfo.
|
||||||
|
|
||||||
|
Avoid that "sign unplace id" does a redraw right away, esp. when there is a
|
||||||
|
sequence of these commands. (Andy Stewart, 2018 Mar 16)
|
||||||
|
|
||||||
|
ch_sendraw() with long string does not try to read inbetween, which may cause
|
||||||
|
a deadlock if the reading side is waiting for the write to finish. (Nate
|
||||||
|
Bosch, 2018 Jan 13, #2548)
|
||||||
|
|
||||||
|
Add Makefiles to the runtime/spell directory tree, since nobody uses Aap.
|
||||||
|
Will have to explain the manual steps (downloading the .aff and .dic files,
|
||||||
|
applying the diff, etc.
|
||||||
|
|
||||||
|
User dictionary ~/.vim/spell/lang.utf-8.add not used for spell checking until a
|
||||||
|
word is re-added to it. (Matej Cepl, 2018 Feb 6)
|
||||||
|
|
||||||
|
Fold at end of the buffer behaves inconsistently. (James McCoy, 2017 Oct 9)
|
||||||
|
|
||||||
With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
|
With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
|
||||||
(Marcin Szewczyk, 2017 Apr 26)
|
(Marcin Szewczyk, 2017 Apr 26)
|
||||||
@@ -161,42 +185,130 @@ With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
|
|||||||
Using 'wildignore' also applies to literally entered file name. Also with
|
Using 'wildignore' also applies to literally entered file name. Also with
|
||||||
:drop (remote commands).
|
:drop (remote commands).
|
||||||
|
|
||||||
|
Patch to use the xdiff library instead of external diff. (Christian Brabandt,
|
||||||
|
2018 Mar 20, #2732)
|
||||||
|
|
||||||
|
"gvim --remote" from a directory with non-word characters changes the current
|
||||||
|
directory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266)
|
||||||
|
Also see #1689.
|
||||||
|
|
||||||
ml_get error when using a Python. (Yggdroot, 2017 Jun 1, #1737)
|
ml_get error when using a Python. (Yggdroot, 2017 Jun 1, #1737)
|
||||||
Lemonboy can reproduce (2017 Jun 5)
|
Lemonboy can reproduce (2017 Jun 5)
|
||||||
|
|
||||||
|
crash when removing an element while inside map(). (Nikolai Pavlov, 2018 Feb
|
||||||
|
17, #2652)
|
||||||
|
|
||||||
|
When 'virtualedit' is "all" and 'cursorcolumn' is set, the wrong column may be
|
||||||
|
highlighted. (van-de-bugger, 2018 Jan 23, #2576)
|
||||||
|
|
||||||
|
Patch to parse ":line" in tags file and use it for search. (Daniel Hahler,
|
||||||
|
#2546) Fixes #1057. Missing a test.
|
||||||
|
|
||||||
|
Patch to add winlayout() function. (Yegappan Lakshmanan, 2018 Jan 4)
|
||||||
|
|
||||||
|
No profile information for function that executes ":quit". (Daniel Hahler,
|
||||||
|
2017 Dec 26, #2501)
|
||||||
|
|
||||||
|
Get a "No Name" buffer when 'hidden' is set and opening a new window from the
|
||||||
|
quickfix list. (bfrg, 2018 Jan 22, #2574)
|
||||||
|
|
||||||
|
CTRL-X on zero gets stuck on 0xfffffffffffffffe. (Hengyang Zhao, #2746)
|
||||||
|
|
||||||
|
A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
|
||||||
|
|
||||||
|
Patch to fix E806. (Dominique, 2017 Nov 22, #2368)
|
||||||
|
Kazunobu Kuriyama: caused by XtSetLanguageProc().
|
||||||
|
|
||||||
|
Patch to fix GUI find/replace dialog. (kiloliter, 2017 Dec 11, report in
|
||||||
|
#2418, fix in #2435)
|
||||||
|
|
||||||
|
Invalid range error when using BufWinLeave for closing terminal.
|
||||||
|
(Gabriel Barta, 2017 Nov 15, #2339)
|
||||||
|
|
||||||
|
Using an external diff is inefficient. Not all systems have a good diff
|
||||||
|
program available (esp. MS-Windows). Would be nice to have in internal diff
|
||||||
|
implementation. Can then also use this for displaying changes within a line.
|
||||||
|
Olaf Dabrunz is working on this. (10 Jan 2016)
|
||||||
|
9 Instead invoking an external diff program, use builtin code. One can be
|
||||||
|
found here: http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
|
||||||
|
It's complicated and badly documented.
|
||||||
|
Alternative: use the xdiff library. Patch from Christian Brabandt, 2018 Mar
|
||||||
|
2018, #2732)
|
||||||
|
|
||||||
ml_get errors with buggy script. (Dominique, 2017 Apr 30)
|
ml_get errors with buggy script. (Dominique, 2017 Apr 30)
|
||||||
|
|
||||||
Error in emsg with buggy script. (Dominique, 2017 Apr 30)
|
Error in emsg with buggy script. (Dominique, 2017 Apr 30)
|
||||||
|
|
||||||
|
Using CTRL-G j in insert mode in combination with 'virtualedit' doesn't work
|
||||||
|
as expected. (Rich, 2018 March 23, #2743)
|
||||||
|
|
||||||
|
Patch to fix encoding in print document name (Yasuhiro Matsumoto, 2017 Dec 20,
|
||||||
|
#2478)
|
||||||
|
|
||||||
|
Patch to copy buffer-local options before buffer leaves the window. (Bjorn
|
||||||
|
Linse, 2017 Nov 14, #2336)
|
||||||
|
|
||||||
|
Join truncates xml comment. (Dmitrii Tcyganok, 2017 Dec 24, #2494)
|
||||||
|
Requires 'formatoptions' to include "j". (Gary Johnson, 2017 Dec 24)
|
||||||
|
|
||||||
|
Patch to support hunspell. (Matej Cepl, Jan 2018, #2500) Based on older patch
|
||||||
|
in #846)
|
||||||
|
Doesn't work on Windows yet. Not ready to included, hard coded paths.
|
||||||
|
|
||||||
|
When a timer is running and typing CTRL-R on the command line, it is not
|
||||||
|
redrawn properly. (xtal8, 2017 Oct 23, #2241)
|
||||||
|
|
||||||
|
In an optional package the "after" directory is not scanned?
|
||||||
|
(Renato Fabbri, 2018 Feb 22)
|
||||||
|
|
||||||
|
Universal solution to detect if t_RS is working, using cursor position.
|
||||||
|
Koichi Iwamoto, #2126
|
||||||
|
|
||||||
|
Patch to fix cmdline abbreviation after '<,'>. (Christian Brabandt, 2017 Nov
|
||||||
|
13, on issue #2320)
|
||||||
|
|
||||||
|
Patch for Neovim concerning restoring when closing help window. (glacambre
|
||||||
|
neovim #7431)
|
||||||
|
|
||||||
|
Default install on MS-Windows should source defaults.vim.
|
||||||
|
Ask whether to use Windows or Vim key behavior?
|
||||||
|
|
||||||
|
Patch for improving detecting Ruby on Mac in configure. (Ilya Mikhaltsou, 2017
|
||||||
|
Nov 21)
|
||||||
|
|
||||||
|
When using command line window, CmdlineLeave is triggered without
|
||||||
|
CmdlineEnter. (xtal8, 2017 Oct 30, #2263)
|
||||||
|
Add some way to get the nested state. Although CmdwinEnter is obviously
|
||||||
|
always nested.
|
||||||
|
|
||||||
|
matchit hasn't been maintained for a long time. #955.
|
||||||
|
|
||||||
|
Patch to add variable name after "scope add". (Eddie Lebow, 2018 Feb 7, #2620)
|
||||||
|
Maybe not needed?
|
||||||
|
|
||||||
|
Problem with 'delcombine'. (agguser, 2017 Nov 10, #2313)
|
||||||
|
|
||||||
|
MS-Windows: buffer completion doesn't work when using backslash (or slash)
|
||||||
|
for a path separator. (xtal8, #2201)
|
||||||
|
|
||||||
|
Patch to adjust to DPI setting for GTK. (Roel van de Kraats, 2017 Nov 20,
|
||||||
|
#2357)
|
||||||
|
|
||||||
Test runtime files.
|
Test runtime files.
|
||||||
Start with filetype detection: testdir/test_filetype.vim
|
Start with filetype detection: testdir/test_filetype.vim
|
||||||
|
|
||||||
Patch to support on-the-spot and over-the-spot input method. (Ken Takata, 2017
|
Window not closed when deleting buffer. (Harm te Hennepe, 2017 Aug 27, #2029)
|
||||||
Feb 14). Also see #1215.
|
|
||||||
|
|
||||||
Patch to ignore case when 'diffopt' has "icase" for finding the difference
|
|
||||||
inside a line. (Rick Howe, 2017 Aug 21, 22 with test)
|
|
||||||
|
|
||||||
Patch to support strikethrough next to bold and italic. (Christian Brabandt,
|
|
||||||
2013 Jul 30) Update from Ken Takata, 2013 Oct 12.
|
|
||||||
Update mentioned by Christian, 2016 Apr 25.
|
|
||||||
Update from Ken Takata, 2017 Aug 23.
|
|
||||||
|
|
||||||
Patch to add setbufline(). (email from Yasuhiro Matsumoto, patch by Ozaki
|
|
||||||
Kiichi, 2016 Feb 28)
|
|
||||||
Update Mar 8: https://gist.github.com/mattn/23c1f50999084992ca98
|
|
||||||
Update Mar 13: https://gist.github.com/mattn/23c1f50999084992ca98
|
|
||||||
Update Aug 2017: #1953
|
|
||||||
|
|
||||||
Patch to fix indenting for raw C++ string. (Christian Brabandt, 2017 Aug 24,
|
|
||||||
#2019)
|
|
||||||
|
|
||||||
|
Duplication of completion suggestions for ":!hom". Issue #539.
|
||||||
|
Patch by Christian, 2016 Jan 29
|
||||||
|
Another patch in #2733.
|
||||||
|
>
|
||||||
Add options_default() / options_restore() to set several options to Vim
|
Add options_default() / options_restore() to set several options to Vim
|
||||||
defaults for a plugin. Comments from Zyx, 2017 May 10.
|
defaults for a plugin. Comments from Zyx, 2017 May 10.
|
||||||
Perhaps use a vimcontext / endvimcontext command block.
|
Perhaps use a vimcontext / endvimcontext command block.
|
||||||
|
|
||||||
Patch to fix bogus characters inserted in visual-block append. (Christian
|
After using :noautocmd CursorMoved may still trigger. (Andy Stewart, 2017 Sep
|
||||||
Brabandt, 2017 Aug 23)
|
13, #2084). Set old position after the command.
|
||||||
|
|
||||||
Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
|
Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
|
||||||
Still happens (2017 Jul 9)
|
Still happens (2017 Jul 9)
|
||||||
@@ -204,23 +316,31 @@ Still happens (2017 Jul 9)
|
|||||||
When bracketed paste is used, pasting at the ":append" prompt does not get the
|
When bracketed paste is used, pasting at the ":append" prompt does not get the
|
||||||
line breaks. (Ken Takata, 2017 Aug 22)
|
line breaks. (Ken Takata, 2017 Aug 22)
|
||||||
|
|
||||||
This example in the help does not work (Andy Wokula, 2017 Aug 20):
|
The ":move" command does not honor closed folds. (Ryan Lue, #2351)
|
||||||
augroup mine | au! BufRead | augroup END
|
|
||||||
|
|
||||||
Memory leak in test_arabic.
|
Patch to fix increment/decrement not working properly when 'virtualedit' is
|
||||||
|
set. (Hirohito Higashi, 2016 Aug 1, #923)
|
||||||
|
|
||||||
Include Haiku port? (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
|
Memory leaks in test_channel? (or is it because of fork())
|
||||||
|
Using uninitialized value in test_crypt.
|
||||||
|
Memory leaks in test_escaped_glob
|
||||||
|
|
||||||
|
Patch to make gM move to middle of line. (Yasuhiro Matsumoto, Sep 8, #2070)
|
||||||
|
|
||||||
|
Cannot copy modeless selection when cursor is inside it. (lkintact, #2300)
|
||||||
|
|
||||||
|
Include Haiku port. (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
|
||||||
It can replace the BeOS code, which is likely not used anymore.
|
It can replace the BeOS code, which is likely not used anymore.
|
||||||
Now on github: #1856. Is now up-to-date?
|
Now on github: #1856. Updated Oct 2017
|
||||||
Got permission to include this under the Vim license.
|
Got permission to include this under the Vim license.
|
||||||
|
|
||||||
Refactored HTML indent file. (Michael Lee, #1821)
|
Refactored HTML indent file. (Michael Lee, #1821)
|
||||||
|
|
||||||
Using uninitialized value in test_crypt.
|
|
||||||
|
|
||||||
Test_writefile_fails_conversion failure on Solaris because if different iconv
|
Test_writefile_fails_conversion failure on Solaris because if different iconv
|
||||||
behavior. Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
|
behavior. Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
|
||||||
|
|
||||||
|
'tagrelative' is broken in specific situation. (xaizek, 2017 Oct 19, #2221)
|
||||||
|
|
||||||
All functions are global, which makes functions like get() and len() awkward.
|
All functions are global, which makes functions like get() and len() awkward.
|
||||||
For the future use the ~get() and ~len() syntax, e.g.:
|
For the future use the ~get() and ~len() syntax, e.g.:
|
||||||
mylist~get(idx)
|
mylist~get(idx)
|
||||||
@@ -235,6 +355,15 @@ Alternatives for ~:
|
|||||||
|
|
||||||
The ++ options for the :edit command are also useful on the Vim command line.
|
The ++ options for the :edit command are also useful on the Vim command line.
|
||||||
|
|
||||||
|
When recovering a file, put the swap file name in b:recovered_swapfile. Then
|
||||||
|
a command can delete it.
|
||||||
|
|
||||||
|
Overlong utf-8 sequence is displayed wrong. (Harm te Hennepe, 2017 Sep 14,
|
||||||
|
#2089) Patch with possible solution by Björn Linse.
|
||||||
|
|
||||||
|
The change list index is local to a buffer, but it doesn't make sense using it
|
||||||
|
for another buffer. (lacygoll) Copy w_changelistidx to wininfo_S and back.
|
||||||
|
|
||||||
X11: Putting more than about 262040 characters of text on the clipboard and
|
X11: Putting more than about 262040 characters of text on the clipboard and
|
||||||
pasting it in another Vim doesn't work. (Dominique Pelle, 2008 Aug 21-23)
|
pasting it in another Vim doesn't work. (Dominique Pelle, 2008 Aug 21-23)
|
||||||
clip_x11_request_selection_cb() is called with zero value and length.
|
clip_x11_request_selection_cb() is called with zero value and length.
|
||||||
@@ -243,21 +372,52 @@ Seems to happen when the selection is requested the second time, but before
|
|||||||
clip_x11_convert_selection_cb() is invoked, thus in X library code.
|
clip_x11_convert_selection_cb() is invoked, thus in X library code.
|
||||||
Kazunobu Kuriyama is working on a proper fix. (2017 Jul 25)
|
Kazunobu Kuriyama is working on a proper fix. (2017 Jul 25)
|
||||||
|
|
||||||
|
Include a few color schemes, based on popularity:
|
||||||
|
http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
|
||||||
|
http://vimawesome.com/?q=tag:color-scheme
|
||||||
|
Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
|
||||||
|
- monokai - Xia Crusoe (2017 Aug 4)
|
||||||
|
- seoul256 - Christian Brabandt (2017 Aug 3)
|
||||||
|
- gruvbox - Christian Brabandt (2017 Aug 3) (simplified version from
|
||||||
|
Lifepillar, 2018 Jan 22, #2573)
|
||||||
|
- janah - Marco Hinz (2017 Aug 4)
|
||||||
|
- apprentice - Romain Lafourcade (2017 Aug 6) remarks about help file #1964
|
||||||
|
Suggested by Hiroki Kokubun:
|
||||||
|
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
|
||||||
|
- [hybrid](https://github.com/w0ng/vim-hybrid)
|
||||||
|
Include solarized color scheme?, it does not support termguicolors.
|
||||||
|
- Sanitized version of pablo (Lifepillar, 2017 Nov 21)
|
||||||
|
|
||||||
Problem with three-piece comment. (Michael Lee, 2017 May 11, #1696)
|
Problem with three-piece comment. (Michael Lee, 2017 May 11, #1696)
|
||||||
|
|
||||||
Creating a partial with an autoload function is confused about the "self"
|
Creating a partial with an autoload function is confused about the "self"
|
||||||
attribute of the function. For an unknown function assume "self" and make
|
attribute of the function. For an unknown function assume "self" and make
|
||||||
that optiona? (Bjorn Linse, 2017 Aug 5)
|
that optiona? (Bjorn Linse, 2017 Aug 5)
|
||||||
|
|
||||||
|
Cindent: returning a structure has more indent for the second item.
|
||||||
|
(Sam Pagenkopf, 2017 Sep 14, #2090)
|
||||||
|
|
||||||
Completion mixes results from the current buffer with tags and other files.
|
Completion mixes results from the current buffer with tags and other files.
|
||||||
Happens when typing CTRL-N while still search for results. E.g., type "b_" in
|
Happens when typing CTRL-N while still search for results. E.g., type "b_" in
|
||||||
terminal.c and then CTRL-N twice.
|
terminal.c and then CTRL-N twice.
|
||||||
Should do current file first and not split it up when more results are found.
|
Should do current file first and not split it up when more results are found.
|
||||||
(Also #1890)
|
(Also #1890)
|
||||||
|
|
||||||
|
Patch from Christian Brabandt to preserve upper case marks when wiping out a
|
||||||
|
buffer. (2013 Dec 9)
|
||||||
|
Also fixes #2166?
|
||||||
|
|
||||||
|
Patch to add argument to :cquit. (Thinca, 2014 Oct 12)
|
||||||
|
|
||||||
Python: After "import vim" error messages only show the first line of the
|
Python: After "import vim" error messages only show the first line of the
|
||||||
stack trace. (Yggdroot, 2017 Jul 28, #1887)
|
stack trace. (Yggdroot, 2017 Jul 28, #1887)
|
||||||
|
|
||||||
|
Profile of a dict function is lost when the dict is deleted. Would it be
|
||||||
|
possible to collect this? (Daniel Hahler, #2350)
|
||||||
|
|
||||||
|
Add `:filter` support for various commands (Marcin Szamotulski, 2017 Nov 12
|
||||||
|
#2322) Now in #2327?
|
||||||
|
|
||||||
When checking if a bufref is valid, also check the buffer number, to catch the
|
When checking if a bufref is valid, also check the buffer number, to catch the
|
||||||
case of :bwipe followed by :new.
|
case of :bwipe followed by :new.
|
||||||
|
|
||||||
@@ -293,8 +453,6 @@ Use gvimext.dll from the nightly build? (Issue #249)
|
|||||||
Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
|
Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
|
||||||
8, #1690)
|
8, #1690)
|
||||||
|
|
||||||
Include solarized color scheme?
|
|
||||||
|
|
||||||
Running test_gui and test_gui_init with Motif sometimes kills the window
|
Running test_gui and test_gui_init with Motif sometimes kills the window
|
||||||
manager. Problem with Motif?
|
manager. Problem with Motif?
|
||||||
|
|
||||||
@@ -334,7 +492,7 @@ Perhaps simpler: actually delete the mappings. Use maplist() to list matching
|
|||||||
mappings (with a lhs prefix, like maparg()), mapdelete() to delete,
|
mappings (with a lhs prefix, like maparg()), mapdelete() to delete,
|
||||||
maprestore() to restore (using the output of maplist()).
|
maprestore() to restore (using the output of maplist()).
|
||||||
|
|
||||||
Add an argument to :mkvimrc (or add aother command) to skip mappings from
|
Add an argument to :mkvimrc (or add another command) to skip mappings from
|
||||||
plugins (source is a Vim script). No need to put these in a .vimrc, they will
|
plugins (source is a Vim script). No need to put these in a .vimrc, they will
|
||||||
be defined when the plugin is loaded.
|
be defined when the plugin is loaded.
|
||||||
|
|
||||||
@@ -371,10 +529,6 @@ Error in test_startup_utf8 on Solaris. (Danek Duvall, 2016 Aug 17)
|
|||||||
|
|
||||||
Completion for :!cmd shows each match twice. #1435
|
Completion for :!cmd shows each match twice. #1435
|
||||||
|
|
||||||
Patch to change GUI behavior: instead of changing the window size change the
|
|
||||||
lines/columns when menu/toolbar/etc. is added/removed. (Ychin, 2016 Mar 20,
|
|
||||||
#703)
|
|
||||||
|
|
||||||
GTK: When adding a timer from 'balloonexpr' it won't fire, because
|
GTK: When adding a timer from 'balloonexpr' it won't fire, because
|
||||||
g_main_context_iteration() doesn't return. Need to trigger an event when the
|
g_main_context_iteration() doesn't return. Need to trigger an event when the
|
||||||
timer expires.
|
timer expires.
|
||||||
@@ -467,8 +621,6 @@ Patch for wrong cursor position on wrapped line, involving breakindent.
|
|||||||
(Ozaki Kiichi, 2016 Nov 25)
|
(Ozaki Kiichi, 2016 Nov 25)
|
||||||
Does this also fix #1408 ?
|
Does this also fix #1408 ?
|
||||||
|
|
||||||
Patch to add "module" to quickfix entries. (Coot, 2017 Jun 8, #1757)
|
|
||||||
|
|
||||||
'cursorline' and match interfere. (Ozaki Kiichi, 2017 Jun 23, #1792)
|
'cursorline' and match interfere. (Ozaki Kiichi, 2017 Jun 23, #1792)
|
||||||
|
|
||||||
Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)
|
Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)
|
||||||
@@ -479,14 +631,6 @@ Patch to be able to separately map CTRL-H and BS on Windows.
|
|||||||
When 'completeopt' has "noselect" does not insert a newline. (Lifepillar, 2017
|
When 'completeopt' has "noselect" does not insert a newline. (Lifepillar, 2017
|
||||||
Apr 23, #1653)
|
Apr 23, #1653)
|
||||||
|
|
||||||
Using an external diff is inefficient. Not all systems have a good diff
|
|
||||||
program available (esp. MS-Windows). Would be nice to have in internal diff
|
|
||||||
implementation. Can then also use this for displaying changes within a line.
|
|
||||||
Olaf Dabrunz is working on this. (10 Jan 2016)
|
|
||||||
9 Instead invoking an external diff program, use builtin code. One can be
|
|
||||||
found here: http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
|
|
||||||
It's complicated and badly documented.
|
|
||||||
|
|
||||||
Window resizing with 'winfixheight': With a vertical split the height changes
|
Window resizing with 'winfixheight': With a vertical split the height changes
|
||||||
anyway. (Tommy allen, 2017 Feb 21, #1502)
|
anyway. (Tommy allen, 2017 Feb 21, #1502)
|
||||||
|
|
||||||
@@ -502,8 +646,6 @@ Patch to make it possible to extend a list with itself.
|
|||||||
|
|
||||||
Patch to add Zstandard compressed file support. (Nick Terrell, 2016 Oct 24)
|
Patch to add Zstandard compressed file support. (Nick Terrell, 2016 Oct 24)
|
||||||
|
|
||||||
Patch to add trim() function. (Bukn, 2016 Nov 25, #1280)
|
|
||||||
|
|
||||||
Patch to add MODIFIED_BY to MSVC build file. (Chen Lei, 2016 Nov 24, #1275)
|
Patch to add MODIFIED_BY to MSVC build file. (Chen Lei, 2016 Nov 24, #1275)
|
||||||
|
|
||||||
Patch to change argument of :marks. (LemonBoy, 2017 Jan 29, #1426)
|
Patch to change argument of :marks. (LemonBoy, 2017 Jan 29, #1426)
|
||||||
@@ -526,6 +668,78 @@ no longer support.
|
|||||||
sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
|
sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
|
||||||
4#1038)
|
4#1038)
|
||||||
|
|
||||||
|
+channel:
|
||||||
|
- Add a separate timeout for opening a socket. Currently it's fixed at 50
|
||||||
|
msec, which is too small for a remote connection. (tverniquet, #2130)
|
||||||
|
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
|
||||||
|
- Writing raw mode to a buffer should still handle NL characters as line
|
||||||
|
breaks. (Dmitry Zotikov, 2017 Aug 16)
|
||||||
|
- When out_cb executes :sleep, the close_cb may be invoked. (Daniel Hahler,
|
||||||
|
2016 Dec 11, #1320)
|
||||||
|
- Implement |job-term| ?
|
||||||
|
- Channel test fails with Motif. Sometimes kills the X11 server.
|
||||||
|
- When a message in the queue but there is no callback, drop it after a while?
|
||||||
|
Add timestamp to queued messages and callbacks with ID, remove after a
|
||||||
|
minute. Option to set the droptime.
|
||||||
|
- Add an option to drop text of very long lines? Default to 1 Mbyte.
|
||||||
|
- Add remark about undo sync, is there a way to force it?
|
||||||
|
- When starting a job, have an option to open the server socket, so we know
|
||||||
|
the port, and pass it to the command with --socket-fd {nr}. (Olaf Dabrunz,
|
||||||
|
Feb 9) How to do this on MS-Windows?
|
||||||
|
- For connection to server, a "keep open" flag would be useful. Retry
|
||||||
|
connecting in the main loop with zero timeout.
|
||||||
|
- job_start(): run job in a newly opened terminal (not a terminal window).
|
||||||
|
With xterm could use -S{pty}.
|
||||||
|
Although user could use "xterm -e 'cmd arg'".
|
||||||
|
|
||||||
|
Regexp problems:
|
||||||
|
- When search pattern has the base character both with and without combining
|
||||||
|
character, search fails. E.g. "รรีบ" in "การรีบรักใคร". (agguser, #2312)
|
||||||
|
- [:space:] only matches ASCII spaces. Add [:white:] for all space-like
|
||||||
|
characters, esp. including 0xa0. Use character class zero.
|
||||||
|
- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
|
||||||
|
(Manuel Ortega, 2016 Apr 24)
|
||||||
|
Test fails on Mac. Avoid using isalpha(), isalnum(), etc? Depends on
|
||||||
|
LC_CTYPE
|
||||||
|
- The old engine does not find a match for "/\%#=1\(\)\{80}", the new engine
|
||||||
|
matches everywhere.
|
||||||
|
- Using win_linetabsize() can still be slow. Cache the result, store col and
|
||||||
|
vcol. Reset them when moving to another line.
|
||||||
|
- Very slow with a long line and Ruby highlighting. (John Whitley, 2014 Dec 4)
|
||||||
|
- Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$'
|
||||||
|
(Lech Lorens, 2014 Feb 3)
|
||||||
|
- Issue 164: freeze on regexp search.
|
||||||
|
- Ignorecase not handled properly for multi-byte characters. (Axel Bender,
|
||||||
|
2013 Dec 11)
|
||||||
|
- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin
|
||||||
|
Szamotulski; Remark from Brett 2014 Jan 6 and 7.
|
||||||
|
- NFA regexp doesn't handle \%<v correctly. (Ingo Karkat, 2014 May 12)
|
||||||
|
- Does not work with NFA regexp engine:
|
||||||
|
\%u, \%x, \%o, \%d followed by a composing character
|
||||||
|
- Search for \%d0\+ may fail with E363. (Christian Brabandt, 2016 Oct 4)
|
||||||
|
- \%'[ does not work. '%'] does work. (Masaaki Nakamura, 2016 Apr 4)
|
||||||
|
- Bug relating to back references. (Ingo Karkat, 2014 Jul 24)
|
||||||
|
- New RE does not give an error for empty group: "\(\)\{2}" (Dominique Pelle,
|
||||||
|
2015 Feb 7)
|
||||||
|
- Using back reference before the capturing group sometimes works with the old
|
||||||
|
engine, can we do this with the new engine? E.g. with
|
||||||
|
"/\%(<\1>\)\@<=.*\%(<\/\(\w\+\)>\)\@=" matching text inside HTML tags.
|
||||||
|
This problem is probably the same: "\%(^\1.*$\n\)\@<=\(\d\+\).*$".
|
||||||
|
(guotuofeng, 2015 Jun 22)
|
||||||
|
- Strange matching with "\(Hello\n\)\@<=A". (Anas Syed, 2015 Feb 12)
|
||||||
|
- Problem with \v(A)@<=b+\1c. (Issue 334)
|
||||||
|
- Diff highlighting can be very slow. (Issue 309)
|
||||||
|
- Using %> for a virtual column has a check based on 'tabsize'. Better would
|
||||||
|
be to cache the result of win_linetabsize(col), storing both col and vcol,
|
||||||
|
and use them to decide whether win_linetabsize() needs to be called. Reset
|
||||||
|
col and vcol when moving to another line.
|
||||||
|
- this doesn't work: "syntax match ErrorMsg /.\%9l\%>20c\&\%<28c/". Leaving
|
||||||
|
out the \& works. Seems any column check after \& fails.
|
||||||
|
- Difference between two engines: ".*\zs\/\@>\/" on text "///"
|
||||||
|
(Chris Paul, 2016 Nov 13) New engine not greedy enough?
|
||||||
|
Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
|
||||||
|
(2017 May 15, #1252)
|
||||||
|
|
||||||
Patch to add "cmdline" completion to getcompletion(). (Shougo, Oct 1, #1140)
|
Patch to add "cmdline" completion to getcompletion(). (Shougo, Oct 1, #1140)
|
||||||
|
|
||||||
Feature request: Complete members of a dictionary. (Luc Hermitte, 2017 Jan 4,
|
Feature request: Complete members of a dictionary. (Luc Hermitte, 2017 Jan 4,
|
||||||
@@ -555,7 +769,7 @@ Probably list of keystrokes, with some annotations for mode changes.
|
|||||||
Could store in logfile to be able to analyse it with an external command.
|
Could store in logfile to be able to analyse it with an external command.
|
||||||
E.g. to see when's the last time a plugin command was used.
|
E.g. to see when's the last time a plugin command was used.
|
||||||
|
|
||||||
execute() cannot be used with command completeion. (Daniel Hahler, 2016 Oct 1,
|
execute() cannot be used with command completion. (Daniel Hahler, 2016 Oct 1,
|
||||||
#1141)
|
#1141)
|
||||||
|
|
||||||
cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
|
cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
|
||||||
@@ -587,9 +801,6 @@ Patch to add ":syn foldlevel" to use fold level further down the line.
|
|||||||
Completion for input() does not expand environment variables. (chdiza, 2016
|
Completion for input() does not expand environment variables. (chdiza, 2016
|
||||||
Jul 25, #948)
|
Jul 25, #948)
|
||||||
|
|
||||||
Patch to fix wrong encoding of error message on Cygwin/MSYS terminal.
|
|
||||||
(Ken Takata, 2016 Oct 4)
|
|
||||||
|
|
||||||
Patch to add 'systemencoding', convert between 'encoding' and this for file
|
Patch to add 'systemencoding', convert between 'encoding' and this for file
|
||||||
names, shell commands and the like. (Kikuchan, 2010 Oct 14)
|
names, shell commands and the like. (Kikuchan, 2010 Oct 14)
|
||||||
Assume the system converts between the actual encoding of the filesystem to
|
Assume the system converts between the actual encoding of the filesystem to
|
||||||
@@ -612,9 +823,6 @@ Repeating 'opfunc' in a function only works once. (Tarmean, 2016 Jul 15, #925)
|
|||||||
Have a way to get the call stack, in a function and from an exception.
|
Have a way to get the call stack, in a function and from an exception.
|
||||||
#1125
|
#1125
|
||||||
|
|
||||||
Patch to add 'pythonhome' and 'pythonthreehome' options. (Kazuki Sakamoto,
|
|
||||||
2016 Nov 21, #1266)
|
|
||||||
|
|
||||||
Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
|
Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
|
||||||
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
|
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
|
||||||
|
|
||||||
@@ -629,11 +837,6 @@ Patch to improve map documentation. Issue #799.
|
|||||||
|
|
||||||
Patch for syntax folding optimization. (Shougo, 2016 Sep 6, #1045)
|
Patch for syntax folding optimization. (Shougo, 2016 Sep 6, #1045)
|
||||||
|
|
||||||
Patch for drag&drop reordering of GUI tab pages reordering.
|
|
||||||
(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
|
|
||||||
Now on Git: https://gist.github.com/nocd5/165286495c782b815b94
|
|
||||||
Update 2016 Aug 10.
|
|
||||||
|
|
||||||
We can use '. to go to the last change in the current buffer, but how about
|
We can use '. to go to the last change in the current buffer, but how about
|
||||||
the last change in any buffer? Can we use ', (, is next to .)?
|
the last change in any buffer? Can we use ', (, is next to .)?
|
||||||
|
|
||||||
@@ -645,9 +848,6 @@ emoji_width table has only one entry.
|
|||||||
It's possible to add ",," to 'wildignore', an empty entry. Causes problems.
|
It's possible to add ",," to 'wildignore', an empty entry. Causes problems.
|
||||||
Reject the value? #710.
|
Reject the value? #710.
|
||||||
|
|
||||||
Patch to fix increment/decrement not working properly when 'virtualedit' is
|
|
||||||
set. (Hirohito Higashi, 2016 Aug 1, #923)
|
|
||||||
|
|
||||||
When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
|
When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
|
||||||
Because of using the initial buffer? (Dun Peal, 2016 May 12)
|
Because of using the initial buffer? (Dun Peal, 2016 May 12)
|
||||||
|
|
||||||
@@ -677,9 +877,6 @@ Appveyor build with self-installing executable, includes getting most
|
|||||||
interfaces: https://github.com/k-takata/vim/tree/chrisbra-appveyor-build
|
interfaces: https://github.com/k-takata/vim/tree/chrisbra-appveyor-build
|
||||||
result: https://ci.appveyor.com/project/k-takata/vim/history
|
result: https://ci.appveyor.com/project/k-takata/vim/history
|
||||||
|
|
||||||
Duplication of completion suggestions for ":!hom". Issue 539.
|
|
||||||
Patch by Christian, 2016 Jan 29
|
|
||||||
>
|
|
||||||
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)
|
||||||
|
|
||||||
@@ -734,12 +931,6 @@ directory exists. (Sergio Gallelli, 2013 Dec 29)
|
|||||||
In debug mode one can inspect variables, but not the function parameters
|
In debug mode one can inspect variables, but not the function parameters
|
||||||
(starting with a:). (Luc Hermitte, 2017 Jan 4, #1352)
|
(starting with a:). (Luc Hermitte, 2017 Jan 4, #1352)
|
||||||
|
|
||||||
7 Add a watchpoint in the debug mode: An expression that breaks execution
|
|
||||||
when evaluating to non-zero. Add the "watchadd expr" command, stop when
|
|
||||||
the value of the expression changes. ":watchdel" deletes an item,
|
|
||||||
":watchlist" lists the items. (Charles Campbell)
|
|
||||||
Patch by Christian Brabandt, 2016 Jun 10, #859
|
|
||||||
|
|
||||||
If ":bd" also closes a Tab page then the " mark is not set. (Harm te Hennepe,
|
If ":bd" also closes a Tab page then the " mark is not set. (Harm te Hennepe,
|
||||||
2016 Apr 25, #780)
|
2016 Apr 25, #780)
|
||||||
|
|
||||||
@@ -868,9 +1059,6 @@ Update Aug 14.
|
|||||||
When using --remote-tab on MS-Windows 'encoding' hasn't been initialized yet,
|
When using --remote-tab on MS-Windows 'encoding' hasn't been initialized yet,
|
||||||
the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21)
|
the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21)
|
||||||
|
|
||||||
Patch for problem with restoring screen on Windows. (Nobuhiro Takasaki, 2015
|
|
||||||
Sep 10)
|
|
||||||
|
|
||||||
Example in editing.txt uses $HOME with the expectation that it ends in a
|
Example in editing.txt uses $HOME with the expectation that it ends in a
|
||||||
slash. For me it does, but perhaps not for everybody. Add a function that
|
slash. For me it does, but perhaps not for everybody. Add a function that
|
||||||
inserts a slash when needed? pathconcat(dir, path) (Thilo Six, 2015 Aug 12)
|
inserts a slash when needed? pathconcat(dir, path) (Thilo Six, 2015 Aug 12)
|
||||||
@@ -917,9 +1105,6 @@ Doesn't work completely (Dominique Orban)
|
|||||||
|
|
||||||
Patch to add a "literal" argument to bufnr(). (Olaf Dabrunz, 2015 Aug 4)
|
Patch to add a "literal" argument to bufnr(). (Olaf Dabrunz, 2015 Aug 4)
|
||||||
|
|
||||||
Cannot execute the shell when it's in a directory with a space.
|
|
||||||
Issue #459.
|
|
||||||
|
|
||||||
When a session file is created and there are "nofile" buffers, these are not
|
When a session file is created and there are "nofile" buffers, these are not
|
||||||
filled. Need to trigger BufReadCmd autocommands. Also handle deleting the
|
filled. Need to trigger BufReadCmd autocommands. Also handle deleting the
|
||||||
initial empty buffer better. (ZyX, 2015 March 8)
|
initial empty buffer better. (ZyX, 2015 March 8)
|
||||||
@@ -976,13 +1161,11 @@ Patch to open folds for 'incsearch'. (Christian Brabandt, 2015 Jan 6)
|
|||||||
Patch for building a 32bit Vim with 64bit MingW compiler.
|
Patch for building a 32bit Vim with 64bit MingW compiler.
|
||||||
(Michael Soyka, 2014 Oct 15)
|
(Michael Soyka, 2014 Oct 15)
|
||||||
|
|
||||||
Delete old code in os_msdos.c, mch_FullName().
|
|
||||||
|
|
||||||
Patch: On MS-Windows shellescape() may have to triple double quotes.
|
Patch: On MS-Windows shellescape() may have to triple double quotes.
|
||||||
(Ingo Karkat, 2015 Jan 16)
|
(Ingo Karkat, 2015 Jan 16)
|
||||||
|
|
||||||
Patch for variable tabstops. On github (Christian Brabandt, 2014 May 15)
|
Patch for variable tabstops. On github (Christian Brabandt, 2014 May 15)
|
||||||
Update 2016 Jun 10, # 857
|
Update 2018 March 12, #2711
|
||||||
|
|
||||||
Redo only remembers the last change. Could use "{count}g." to redo an older
|
Redo only remembers the last change. Could use "{count}g." to redo an older
|
||||||
change. How does the user know which change? At least have a way to list
|
change. How does the user know which change? At least have a way to list
|
||||||
@@ -1005,8 +1188,6 @@ Jun 8)
|
|||||||
Bug: Autocompleting ":tag/pat" replaces "/pat" with a match but does not
|
Bug: Autocompleting ":tag/pat" replaces "/pat" with a match but does not
|
||||||
insert a space. (Micha Mos, 2014 Nov 7)
|
insert a space. (Micha Mos, 2014 Nov 7)
|
||||||
|
|
||||||
Patch to add argument to :cquit. (Thinca, 2014 Oct 12)
|
|
||||||
|
|
||||||
No error for missing endwhile. (ZyX, 2014 Mar 20)
|
No error for missing endwhile. (ZyX, 2014 Mar 20)
|
||||||
|
|
||||||
Patch to make extend() fail early when it might fail at some point.
|
Patch to make extend() fail early when it might fail at some point.
|
||||||
@@ -1152,9 +1333,6 @@ When evaluating expression in backticks, autoload doesn't work.
|
|||||||
Using <nr>ifoobar<esc> can slow down Vim. Patch by Christian Brabandt, 2013
|
Using <nr>ifoobar<esc> can slow down Vim. Patch by Christian Brabandt, 2013
|
||||||
Dec 13.
|
Dec 13.
|
||||||
|
|
||||||
Patch from Christian Brabandt to preserve upper case marks when wiping out a
|
|
||||||
buffer. (2013 Dec 9)
|
|
||||||
|
|
||||||
GTK: problem with 'L' in 'guioptions' changing the window width.
|
GTK: problem with 'L' in 'guioptions' changing the window width.
|
||||||
(Aaron Cornelius, 2012 Feb 6)
|
(Aaron Cornelius, 2012 Feb 6)
|
||||||
|
|
||||||
@@ -1175,13 +1353,6 @@ Patch to allow more types in remote_expr(). (Lech Lorens, 2014 Jan 5)
|
|||||||
Doesn't work for string in list. Other way to pass all types of variables
|
Doesn't work for string in list. Other way to pass all types of variables
|
||||||
reliably?
|
reliably?
|
||||||
|
|
||||||
Using ":call foo#d.f()" doesn't autoload the "foo.vim" file.
|
|
||||||
That is, calling a dictionary function on an autoloaded dict.
|
|
||||||
Works OK for echo, just not for ":call" and ":call call()". (Ted, 2011 Mar
|
|
||||||
17)
|
|
||||||
Patch by Christian Brabandt, 2013 Mar 23.
|
|
||||||
Not 100% sure this is the right solution.
|
|
||||||
|
|
||||||
Patch to add {lhs} to :mapclear: clear all maps starting with {lhs}.
|
Patch to add {lhs} to :mapclear: clear all maps starting with {lhs}.
|
||||||
(Christian Brabandt, 2013 Dec 9)
|
(Christian Brabandt, 2013 Dec 9)
|
||||||
|
|
||||||
@@ -1428,8 +1599,6 @@ Vim using lots of memory when joining lines. (John Little, 2010 Dec 3)
|
|||||||
BT regexp engine: After trying a \@> match and failing, submatches are not
|
BT regexp engine: After trying a \@> match and failing, submatches are not
|
||||||
cleared. See test64.
|
cleared. See test64.
|
||||||
|
|
||||||
Changes to manpage plugin. (Elias Toivanen, 2011 Jul 25)
|
|
||||||
|
|
||||||
Patch to make "z=" work when 'spell' is off. Does this have nasty side
|
Patch to make "z=" work when 'spell' is off. Does this have nasty side
|
||||||
effects? (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
|
effects? (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
|
||||||
Would also need to do this for spellbadword() and spellsuggest().
|
Would also need to do this for spellbadword() and spellsuggest().
|
||||||
@@ -1452,9 +1621,6 @@ doesn't jump to the correct line with :cfirst. (ZyX, 2011 Sep 18)
|
|||||||
|
|
||||||
Behavior of i" and a" text objects isn't logical. (Ben Fritz, 2013 Nov 19)
|
Behavior of i" and a" text objects isn't logical. (Ben Fritz, 2013 Nov 19)
|
||||||
|
|
||||||
7 Make "ga" show the digraph for a character, if it exists.
|
|
||||||
Patch from Christian Brabandt, 2011 Aug 19.
|
|
||||||
|
|
||||||
maparg() does not show the <script> flag. When temporarily changing a
|
maparg() does not show the <script> flag. When temporarily changing a
|
||||||
mapping, how to restore the script ID?
|
mapping, how to restore the script ID?
|
||||||
|
|
||||||
@@ -1472,9 +1638,6 @@ Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
|
|||||||
|
|
||||||
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
|
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
|
||||||
|
|
||||||
Patch to add TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
|
|
||||||
May 24) Update May 26.
|
|
||||||
|
|
||||||
Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30)
|
Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30)
|
||||||
|
|
||||||
Problem with "syn sync grouphere". (Gustavo Niemeyer, 2011 Jan 27)
|
Problem with "syn sync grouphere". (Gustavo Niemeyer, 2011 Jan 27)
|
||||||
@@ -1519,6 +1682,9 @@ GTK: tear-off menu does not work. (Kurt Sonnenmoser, 2010 Oct 25)
|
|||||||
Win32: tear-off menu does not work when menu language is German. (Markus
|
Win32: tear-off menu does not work when menu language is German. (Markus
|
||||||
Bossler, 2011 Mar 2) Fixed by 7.3.095?
|
Bossler, 2011 Mar 2) Fixed by 7.3.095?
|
||||||
|
|
||||||
|
Wish for NetBeans commands:
|
||||||
|
- make it possible to have 'defineAnnoType' also handle terminal colors.
|
||||||
|
|
||||||
Version of netbeans.c for use with MacVim. (Kazuki Sakamoto, 2010 Nov 18)
|
Version of netbeans.c for use with MacVim. (Kazuki Sakamoto, 2010 Nov 18)
|
||||||
|
|
||||||
7.3.014 changed how backslash at end of line works, but still get a NUL when
|
7.3.014 changed how backslash at end of line works, but still get a NUL when
|
||||||
@@ -1851,8 +2017,6 @@ Haskell, 2010 Aug 24)
|
|||||||
|
|
||||||
This does not work yet: "a\(%C\)" (get composing characters into a submatch).
|
This does not work yet: "a\(%C\)" (get composing characters into a submatch).
|
||||||
|
|
||||||
A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
|
|
||||||
|
|
||||||
Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish
|
Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish
|
||||||
messages, even though locale is not supported. But ":lang messages
|
messages, even though locale is not supported. But ":lang messages
|
||||||
es_ES.utf-8" gives an error and doesn't switch messages. (Dominique Pelle,
|
es_ES.utf-8" gives an error and doesn't switch messages. (Dominique Pelle,
|
||||||
@@ -2202,9 +2366,6 @@ with "gvim -nb:localhost:55555:foo". From nc do: '1:editFile!0 "foo"'. Then
|
|||||||
go to Insert mode and add a few lines. Then backspacing every other time
|
go to Insert mode and add a few lines. Then backspacing every other time
|
||||||
moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
|
moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
|
||||||
|
|
||||||
Windows installer should install 32-bit version of right-click handler also on
|
|
||||||
64-bit systems. (Brian Cunningham, 2011 Dec 28)
|
|
||||||
|
|
||||||
Windows installer could add a "open in new tab of existing Vim" menu entry.
|
Windows installer could add a "open in new tab of existing Vim" menu entry.
|
||||||
Gvimext: patch to add "Edit with single Vim &tabbed" menu entry.
|
Gvimext: patch to add "Edit with single Vim &tabbed" menu entry.
|
||||||
Just have two choices, always using one Vim and selecting between using an
|
Just have two choices, always using one Vim and selecting between using an
|
||||||
@@ -3709,7 +3870,7 @@ Multi-byte characters:
|
|||||||
at a multi-byte character >= 0x100.
|
at a multi-byte character >= 0x100.
|
||||||
- Add the possibility to enter mappings which are used whenever normal text
|
- Add the possibility to enter mappings which are used whenever normal text
|
||||||
could be entered. E.g., for "f" command. But not in Normal mode. Sort
|
could be entered. E.g., for "f" command. But not in Normal mode. Sort
|
||||||
of opposite of 'langmap'. Use ":tmap" command?
|
of opposite of 'langmap'. Use ":amap" command?
|
||||||
- When breaking a line, take properties of multi-byte characters into
|
- When breaking a line, take properties of multi-byte characters into
|
||||||
account. The "linebreak" program from Bruno Haible can do it:
|
account. The "linebreak" program from Bruno Haible can do it:
|
||||||
ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz
|
ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz
|
||||||
@@ -4220,6 +4381,8 @@ Perl interface:
|
|||||||
|
|
||||||
|
|
||||||
Shared libraries:
|
Shared libraries:
|
||||||
|
8 libcall() can keep the library around instead of always calling dlclose().
|
||||||
|
(Jason Felice, 2018 Mar 20)
|
||||||
6 Add support for loading shared libraries, and calling functions in it.
|
6 Add support for loading shared libraries, and calling functions in it.
|
||||||
:libload internal-name libname
|
:libload internal-name libname
|
||||||
:libunload internal-name
|
:libunload internal-name
|
||||||
@@ -4442,8 +4605,6 @@ Autocommands:
|
|||||||
Error - When an error happens
|
Error - When an error happens
|
||||||
NormalEnter - Entering Normal mode
|
NormalEnter - Entering Normal mode
|
||||||
ReplaceEnter - Entering Replace mode
|
ReplaceEnter - Entering Replace mode
|
||||||
CmdEnter - Entering Cmdline mode (with type of cmdline to allow
|
|
||||||
different mapping)
|
|
||||||
VisualEnter - Entering Visual mode
|
VisualEnter - Entering Visual mode
|
||||||
*Leave - Leaving a mode (in pair with the above *Enter)
|
*Leave - Leaving a mode (in pair with the above *Enter)
|
||||||
VimLeaveCheck - Before Vim decides to exit, so that it can be cancelled
|
VimLeaveCheck - Before Vim decides to exit, so that it can be cancelled
|
||||||
@@ -4641,7 +4802,7 @@ Command line history:
|
|||||||
- Add "KeyWasTyped" flag: It's reset before each command and set when a
|
- Add "KeyWasTyped" flag: It's reset before each command and set when a
|
||||||
character from the keyboard is consumed. Value is used to decide to put a
|
character from the keyboard is consumed. Value is used to decide to put a
|
||||||
command line in history or not. Put line in history if it didn't
|
command line in history or not. Put line in history if it didn't
|
||||||
completely resulted from one mapping.
|
completely result from one mapping.
|
||||||
- When using ":browse", also put the resulting edit command in the history,
|
- When using ":browse", also put the resulting edit command in the history,
|
||||||
so that it can be repeated. (Demirel)
|
so that it can be repeated. (Demirel)
|
||||||
|
|
||||||
@@ -5189,7 +5350,7 @@ Swap (.swp) files:
|
|||||||
- Add an option to create a swap file only when making the first change to
|
- Add an option to create a swap file only when making the first change to
|
||||||
the buffer. (Liang) Or only when the buffer is not read-only.
|
the buffer. (Liang) Or only when the buffer is not read-only.
|
||||||
- Add option to set "umask" for backup files and swap files (Antwerpen).
|
- Add option to set "umask" for backup files and swap files (Antwerpen).
|
||||||
'backupumask' and 'swapumask'? Or 'umaskback' and 'umaskswap'?
|
'backupumask' and 'swapumask'? Or 'umaskbackup' and 'umaskswap'?
|
||||||
- When editing a readonly file, don't use a swap file but read parts from the
|
- When editing a readonly file, don't use a swap file but read parts from the
|
||||||
original file. Also do this when the file is huge (>'maxmem'). We do
|
original file. Also do this when the file is huge (>'maxmem'). We do
|
||||||
need to load the file once to count the number of lines? Perhaps keep a
|
need to load the file once to count the number of lines? Perhaps keep a
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_05.txt* For Vim version 8.0. Last change: 2016 Mar 28
|
*usr_05.txt* For Vim version 8.0. Last change: 2018 Feb 20
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -48,6 +48,14 @@ For MS-DOS and MS-Windows you can use one of these:
|
|||||||
$HOME/_vimrc ~
|
$HOME/_vimrc ~
|
||||||
$VIM/_vimrc ~
|
$VIM/_vimrc ~
|
||||||
|
|
||||||
|
If you are creating the vimrc file for the first time, it is recommended to
|
||||||
|
put this line at the top: >
|
||||||
|
|
||||||
|
source $VIMRUNTIME/defaults.vim
|
||||||
|
|
||||||
|
This initializes Vim for new users (as opposed to traditional Vi users). See
|
||||||
|
|defaults.vim| for the details.
|
||||||
|
|
||||||
The vimrc file can contain all the commands that you type after a colon. The
|
The vimrc file can contain all the commands that you type after a colon. The
|
||||||
most simple ones are for setting options. For example, if you want Vim to
|
most simple ones are for setting options. For example, if you want Vim to
|
||||||
always start with the 'incsearch' option on, add this line your vimrc file: >
|
always start with the 'incsearch' option on, add this line your vimrc file: >
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_07.txt* For Vim version 8.0. Last change: 2017 Aug 11
|
*usr_07.txt* For Vim version 8.0. Last change: 2017 Sep 18
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -215,14 +215,14 @@ change: >
|
|||||||
|
|
||||||
`.
|
`.
|
||||||
|
|
||||||
Suppose you are editing the file "one.txt". Somewhere halfway the file you
|
Suppose you are editing the file "one.txt". Somewhere halfway through the
|
||||||
use "x" to delete a character. Then you go to the last line with "G" and
|
file you use "x" to delete a character. Then you go to the last line with "G"
|
||||||
write the file with ":w". You edit several other files, and then use ":edit
|
and write the file with ":w". You edit several other files, and then use
|
||||||
one.txt" to come back to "one.txt". If you now use `" Vim jumps to the last
|
":edit one.txt" to come back to "one.txt". If you now use `" Vim jumps to the
|
||||||
line of the file. Using `. takes you to the position where you deleted the
|
last line of the file. Using `. takes you to the position where you deleted
|
||||||
character. Even when you move around in the file `" and `. will take you to
|
the character. Even when you move around in the file `" and `. will take you
|
||||||
the remembered position. At least until you make another change or leave the
|
to the remembered position. At least until you make another change or leave
|
||||||
file.
|
the file.
|
||||||
|
|
||||||
|
|
||||||
FILE MARKS
|
FILE MARKS
|
||||||
@@ -233,8 +233,8 @@ another file and place marks there, these are specific for that file. Thus
|
|||||||
each file has its own set of marks, they are local to the file.
|
each file has its own set of marks, they are local to the file.
|
||||||
So far we were using marks with a lowercase letter. There are also marks
|
So far we were using marks with a lowercase letter. There are also marks
|
||||||
with an uppercase letter. These are global, they can be used from any file.
|
with an uppercase letter. These are global, they can be used from any file.
|
||||||
For example suppose that we are editing the file "foo.txt". Go to halfway the
|
For example suppose that we are editing the file "foo.txt". Go to halfway
|
||||||
file ("50%") and place the F mark there (F for foo): >
|
down the file ("50%") and place the F mark there (F for foo): >
|
||||||
|
|
||||||
50%mF
|
50%mF
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ Table of contents: |usr_toc.txt|
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
*09.1* Parts of the GUI
|
*09.1* Parts of the GUI
|
||||||
|
|
||||||
You might have an icon on your desktop that starts gVim. Otherwise, one of
|
You might have an icon on your desktop that starts gvim. Otherwise, one of
|
||||||
these commands should do it: >
|
these commands should do it: >
|
||||||
|
|
||||||
gvim file.txt
|
gvim file.txt
|
||||||
@@ -184,12 +184,12 @@ currently highlighted. In Vim this is the Visual area (this assumes you are
|
|||||||
using the default option settings). You can paste this selection in another
|
using the default option settings). You can paste this selection in another
|
||||||
application without any further action.
|
application without any further action.
|
||||||
For example, in this text select a few words with the mouse. Vim will
|
For example, in this text select a few words with the mouse. Vim will
|
||||||
switch to Visual mode and highlight the text. Now start another gVim, without
|
switch to Visual mode and highlight the text. Now start another gvim, without
|
||||||
a file name argument, so that it displays an empty window. Click the middle
|
a file name argument, so that it displays an empty window. Click the middle
|
||||||
mouse button. The selected text will be inserted.
|
mouse button. The selected text will be inserted.
|
||||||
|
|
||||||
The "current selection" will only remain valid until some other text is
|
The "current selection" will only remain valid until some other text is
|
||||||
selected. After doing the paste in the other gVim, now select some characters
|
selected. After doing the paste in the other gvim, now select some characters
|
||||||
in that window. You will notice that the words that were previously selected
|
in that window. You will notice that the words that were previously selected
|
||||||
in the other gvim window are displayed differently. This means that it no
|
in the other gvim window are displayed differently. This means that it no
|
||||||
longer is the current selection.
|
longer is the current selection.
|
||||||
@@ -204,10 +204,10 @@ Now for the other place with which text can be exchanged. We call this the
|
|||||||
"real clipboard", to avoid confusion. Often both the "current selection" and
|
"real clipboard", to avoid confusion. Often both the "current selection" and
|
||||||
the "real clipboard" are called clipboard, you'll have to get used to that.
|
the "real clipboard" are called clipboard, you'll have to get used to that.
|
||||||
To put text on the real clipboard, select a few different words in one of
|
To put text on the real clipboard, select a few different words in one of
|
||||||
the gVims you have running. Then use the Edit/Copy menu entry. Now the text
|
the gvims you have running. Then use the Edit/Copy menu entry. Now the text
|
||||||
has been copied to the real clipboard. You can't see this, unless you have
|
has been copied to the real clipboard. You can't see this, unless you have
|
||||||
some application that shows the clipboard contents (e.g., KDE's Klipper).
|
some application that shows the clipboard contents (e.g., KDE's Klipper).
|
||||||
Now select the other gVim, position the cursor somewhere and use the
|
Now select the other gvim, position the cursor somewhere and use the
|
||||||
Edit/Paste menu. You will see the text from the real clipboard is inserted.
|
Edit/Paste menu. You will see the text from the real clipboard is inserted.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_24.txt* For Vim version 8.0. Last change: 2006 Jul 23
|
*usr_24.txt* For Vim version 8.0. Last change: 2018 Mar 18
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -538,8 +538,8 @@ a 16 bit and a 32 bit number (e.g., for a Unicode character): >
|
|||||||
*24.9* Digraphs
|
*24.9* Digraphs
|
||||||
|
|
||||||
Some characters are not on the keyboard. For example, the copyright character
|
Some characters are not on the keyboard. For example, the copyright character
|
||||||
(<EFBFBD>). To type these characters in Vim, you use digraphs, where two characters
|
(©). To type these characters in Vim, you use digraphs, where two characters
|
||||||
represent one. To enter a <EFBFBD>, for example, you press three keys: >
|
represent one. To enter a ©, for example, you press three keys: >
|
||||||
|
|
||||||
CTRL-K Co
|
CTRL-K Co
|
||||||
|
|
||||||
@@ -549,12 +549,12 @@ To find out what digraphs are available, use the following command: >
|
|||||||
|
|
||||||
Vim will display the digraph table. Here are three lines of it:
|
Vim will display the digraph table. Here are three lines of it:
|
||||||
|
|
||||||
AC ~_ 159 NS | 160 !I <EFBFBD> 161 Ct <EFBFBD> 162 Pd <EFBFBD> 163 Cu <EFBFBD> 164 Ye <EFBFBD> 165 ~
|
AC ~_ 159 NS | 160 !I ¡ 161 Ct ¢ 162 Pd £ 163 Cu ¤ 164 Ye ¥ 165 ~
|
||||||
BB <EFBFBD> 166 SE <EFBFBD> 167 ': <EFBFBD> 168 Co <EFBFBD> 169 -a <EFBFBD> 170 << <EFBFBD> 171 NO <EFBFBD> 172 ~
|
BB ¦ 166 SE § 167 ': ¨ 168 Co © 169 -a ª 170 << « 171 NO ¬ 172 ~
|
||||||
-- <EFBFBD> 173 Rg <EFBFBD> 174 'm <EFBFBD> 175 DG <EFBFBD> 176 +- <EFBFBD> 177 2S <EFBFBD> 178 3S <EFBFBD> 179 ~
|
-- 173 Rg ® 174 'm ¯ 175 DG ° 176 +- ± 177 2S ² 178 3S ³ 179 ~
|
||||||
|
|
||||||
This shows, for example, that the digraph you get by typing CTRL-K Pd is the
|
This shows, for example, that the digraph you get by typing CTRL-K Pd is the
|
||||||
character (<EFBFBD>). This is character number 163 (decimal).
|
character (£). This is character number 163 (decimal).
|
||||||
Pd is short for Pound. Most digraphs are selected to give you a hint about
|
Pd is short for Pound. Most digraphs are selected to give you a hint about
|
||||||
the character they will produce. If you look through the list you will
|
the character they will produce. If you look through the list you will
|
||||||
understand the logic.
|
understand the logic.
|
||||||
@@ -569,9 +569,9 @@ that combination. Thus CTRL-K dP also works. Since there is no digraph for
|
|||||||
|
|
||||||
You can define your own digraphs. Example: >
|
You can define your own digraphs. Example: >
|
||||||
|
|
||||||
:digraph a" <EFBFBD>
|
:digraph a" ä
|
||||||
|
|
||||||
This defines that CTRL-K a" inserts an <EFBFBD> character. You can also specify the
|
This defines that CTRL-K a" inserts an ä character. You can also specify the
|
||||||
character with a decimal number. This defines the same digraph: >
|
character with a decimal number. This defines the same digraph: >
|
||||||
|
|
||||||
:digraph a" 228
|
:digraph a" 228
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_27.txt* For Vim version 8.0. Last change: 2010 Mar 28
|
*usr_27.txt* For Vim version 8.0. Last change: 2018 Jan 26
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -225,9 +225,9 @@ specify a line offset, this can cause trouble. For example: >
|
|||||||
/const/-2
|
/const/-2
|
||||||
|
|
||||||
This finds the next word "const" and then moves two lines up. If you
|
This finds the next word "const" and then moves two lines up. If you
|
||||||
use "n" to search again, Vim could start at the current position and find the same
|
use "n" to search again, Vim could start at the current position and find the
|
||||||
"const" match. Then using the offset again, you would be back where you started.
|
same "const" match. Then using the offset again, you would be back where you
|
||||||
You would be stuck!
|
started. You would be stuck!
|
||||||
It could be worse: Suppose there is another match with "const" in the next
|
It could be worse: Suppose there is another match with "const" in the next
|
||||||
line. Then repeating the forward search would find this match and move two
|
line. Then repeating the forward search would find this match and move two
|
||||||
lines up. Thus you would actually move the cursor back!
|
lines up. Thus you would actually move the cursor back!
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_41.txt* For Vim version 8.0. Last change: 2017 Aug 22
|
*usr_41.txt* For Vim version 8.0. Last change: 2018 Mar 03
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -807,6 +807,8 @@ Buffers, windows and the argument list:
|
|||||||
getbufinfo() get a list with buffer information
|
getbufinfo() get a list with buffer information
|
||||||
gettabinfo() get a list with tab page information
|
gettabinfo() get a list with tab page information
|
||||||
getwininfo() get a list with window information
|
getwininfo() get a list with window information
|
||||||
|
getchangelist() get a list of change list entries
|
||||||
|
getjumplist() get a list of jump list entries
|
||||||
|
|
||||||
Command line: *command-line-functions*
|
Command line: *command-line-functions*
|
||||||
getcmdline() get the current command line
|
getcmdline() get the current command line
|
||||||
@@ -883,13 +885,15 @@ Interactive: *interactive-functions*
|
|||||||
|
|
||||||
GUI: *gui-functions*
|
GUI: *gui-functions*
|
||||||
getfontname() get name of current font being used
|
getfontname() get name of current font being used
|
||||||
getwinposx() X position of the GUI Vim window
|
getwinpos() position of the Vim window
|
||||||
getwinposy() Y position of the GUI Vim window
|
getwinposx() X position of the Vim window
|
||||||
|
getwinposy() Y position of the Vim window
|
||||||
balloon_show() set the balloon content
|
balloon_show() set the balloon content
|
||||||
|
balloon_split() split a message for a balloon
|
||||||
|
|
||||||
Vim server: *server-functions*
|
Vim server: *server-functions*
|
||||||
serverlist() return the list of server names
|
serverlist() return the list of server names
|
||||||
remote_startserve() run a server
|
remote_startserver() run a server
|
||||||
remote_send() send command characters to a Vim server
|
remote_send() send command characters to a Vim server
|
||||||
remote_expr() evaluate an expression in a Vim server
|
remote_expr() evaluate an expression in a Vim server
|
||||||
server2client() send a reply to a client of a Vim server
|
server2client() send a reply to a client of a Vim server
|
||||||
@@ -901,6 +905,7 @@ Vim server: *server-functions*
|
|||||||
Window size and position: *window-size-functions*
|
Window size and position: *window-size-functions*
|
||||||
winheight() get height of a specific window
|
winheight() get height of a specific window
|
||||||
winwidth() get width of a specific window
|
winwidth() get width of a specific window
|
||||||
|
win_screenpos() get screen position of a window
|
||||||
winrestcmd() return command to restore window sizes
|
winrestcmd() return command to restore window sizes
|
||||||
winsaveview() get view of current window
|
winsaveview() get view of current window
|
||||||
winrestview() restore saved view of current window
|
winrestview() restore saved view of current window
|
||||||
@@ -920,7 +925,8 @@ Testing: *test-functions*
|
|||||||
assert_false() assert that an expression is false
|
assert_false() assert that an expression is false
|
||||||
assert_true() assert that an expression is true
|
assert_true() assert that an expression is true
|
||||||
assert_exception() assert that a command throws an exception
|
assert_exception() assert that a command throws an exception
|
||||||
assert_fails() assert that a function call fails
|
assert_beeps() assert that a command beeps
|
||||||
|
assert_fails() assert that a command fails
|
||||||
assert_report() report a test failure
|
assert_report() report a test failure
|
||||||
test_alloc_fail() make memory allocation fail
|
test_alloc_fail() make memory allocation fail
|
||||||
test_autochdir() enable 'autochdir' during startup
|
test_autochdir() enable 'autochdir' during startup
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*various.txt* For Vim version 8.0. Last change: 2017 Feb 24
|
*various.txt* For Vim version 8.0. Last change: 2018 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -40,23 +40,35 @@ CTRL-L Clear and redraw the screen. The redraw may happen
|
|||||||
|
|
||||||
:as[cii] or *ga* *:as* *:ascii*
|
:as[cii] or *ga* *:as* *:ascii*
|
||||||
ga Print the ascii value of the character under the
|
ga Print the ascii value of the character under the
|
||||||
cursor in decimal, hexadecimal and octal. For
|
cursor in decimal, hexadecimal and octal.
|
||||||
example, when the cursor is on a 'R':
|
Mnemonic: Get Ascii value.
|
||||||
|
|
||||||
|
For example, when the cursor is on a 'R':
|
||||||
<R> 82, Hex 52, Octal 122 ~
|
<R> 82, Hex 52, Octal 122 ~
|
||||||
When the character is a non-standard ASCII character,
|
When the character is a non-standard ASCII character,
|
||||||
but printable according to the 'isprint' option, the
|
but printable according to the 'isprint' option, the
|
||||||
non-printable version is also given. When the
|
non-printable version is also given.
|
||||||
character is larger than 127, the <M-x> form is also
|
|
||||||
printed. For example:
|
When the character is larger than 127, the <M-x> form
|
||||||
|
is also printed. For example:
|
||||||
<~A> <M-^A> 129, Hex 81, Octal 201 ~
|
<~A> <M-^A> 129, Hex 81, Octal 201 ~
|
||||||
<p> <|~> <M-~> 254, Hex fe, Octal 376 ~
|
<p> <|~> <M-~> 254, Hex fe, Octal 376 ~
|
||||||
(where <p> is a special character)
|
(where <p> is a special character)
|
||||||
|
|
||||||
The <Nul> character in a file is stored internally as
|
The <Nul> character in a file is stored internally as
|
||||||
<NL>, but it will be shown as:
|
<NL>, but it will be shown as:
|
||||||
<^@> 0, Hex 00, Octal 000 ~
|
<^@> 0, Hex 00, Octal 000 ~
|
||||||
|
|
||||||
If the character has composing characters these are
|
If the character has composing characters these are
|
||||||
also shown. The value of 'maxcombine' doesn't matter.
|
also shown. The value of 'maxcombine' doesn't matter.
|
||||||
Mnemonic: Get Ascii value. {not in Vi}
|
|
||||||
|
If the character can be inserted as a digraph, also
|
||||||
|
output the two characters that can be used to create
|
||||||
|
the character:
|
||||||
|
<ö> 246, Hex 00f6, Oct 366, Digr o: ~
|
||||||
|
This shows you can type CTRL-K o : to insert ö.
|
||||||
|
|
||||||
|
{not in Vi}
|
||||||
|
|
||||||
*g8*
|
*g8*
|
||||||
g8 Print the hex values of the bytes used in the
|
g8 Print the hex values of the bytes used in the
|
||||||
@@ -294,7 +306,7 @@ g8 Print the hex values of the bytes used in the
|
|||||||
Here is an overview of the features.
|
Here is an overview of the features.
|
||||||
The first column shows the smallest version in which
|
The first column shows the smallest version in which
|
||||||
they are included:
|
they are included:
|
||||||
T tiny
|
T tiny (always)
|
||||||
S small
|
S small
|
||||||
N normal
|
N normal
|
||||||
B big
|
B big
|
||||||
@@ -308,10 +320,14 @@ g8 Print the hex values of the bytes used in the
|
|||||||
*+acl* |ACL| support included
|
*+acl* |ACL| support included
|
||||||
*+ARP* Amiga only: ARP support included
|
*+ARP* Amiga only: ARP support included
|
||||||
B *+arabic* |Arabic| language support
|
B *+arabic* |Arabic| language support
|
||||||
N *+autocmd* |:autocmd|, automatic commands
|
T *+autocmd* |:autocmd|, automatic commands
|
||||||
m *+balloon_eval* |balloon-eval| support. Included when compiling with
|
H *+autoservername* Automatically enable |clientserver|
|
||||||
supported GUI (Motif, GTK, GUI) and either
|
m *+balloon_eval* |balloon-eval| support in the GUI. Included when
|
||||||
Netbeans/Sun Workshop integration or |+eval| feature.
|
compiling with supported GUI (Motif, GTK, GUI) and
|
||||||
|
either Netbeans/Sun Workshop integration or |+eval|
|
||||||
|
feature.
|
||||||
|
H *+balloon_eval_term* |balloon-eval| support in the terminal,
|
||||||
|
'balloonevalterm'
|
||||||
N *+browse* |:browse| command
|
N *+browse* |:browse| command
|
||||||
N *+builtin_terms* some terminals builtin |builtin-terms|
|
N *+builtin_terms* some terminals builtin |builtin-terms|
|
||||||
B *++builtin_terms* maximal terminals builtin |builtin-terms|
|
B *++builtin_terms* maximal terminals builtin |builtin-terms|
|
||||||
@@ -322,13 +338,13 @@ N *+cindent* |'cindent'|, C indenting
|
|||||||
N *+clientserver* Unix and Win32: Remote invocation |clientserver|
|
N *+clientserver* Unix and Win32: Remote invocation |clientserver|
|
||||||
*+clipboard* |clipboard| support
|
*+clipboard* |clipboard| support
|
||||||
N *+cmdline_compl* command line completion |cmdline-completion|
|
N *+cmdline_compl* command line completion |cmdline-completion|
|
||||||
N *+cmdline_hist* command line history |cmdline-history|
|
S *+cmdline_hist* command line history |cmdline-history|
|
||||||
N *+cmdline_info* |'showcmd'| and |'ruler'|
|
N *+cmdline_info* |'showcmd'| and |'ruler'|
|
||||||
N *+comments* |'comments'| support
|
N *+comments* |'comments'| support
|
||||||
B *+conceal* "conceal" support, see |conceal| |:syn-conceal| etc.
|
B *+conceal* "conceal" support, see |conceal| |:syn-conceal| etc.
|
||||||
N *+cryptv* encryption support |encryption|
|
N *+cryptv* encryption support |encryption|
|
||||||
B *+cscope* |cscope| support
|
B *+cscope* |cscope| support
|
||||||
m *+cursorbind* |'cursorbind'| support
|
T *+cursorbind* |'cursorbind'| support
|
||||||
m *+cursorshape* |termcap-cursor-shape| support
|
m *+cursorshape* |termcap-cursor-shape| support
|
||||||
m *+debug* Compiled for debugging.
|
m *+debug* Compiled for debugging.
|
||||||
N *+dialog_gui* Support for |:confirm| with GUI dialog.
|
N *+dialog_gui* Support for |:confirm| with GUI dialog.
|
||||||
@@ -336,7 +352,7 @@ N *+dialog_con* Support for |:confirm| with console dialog.
|
|||||||
N *+dialog_con_gui* Support for |:confirm| with GUI and console dialog.
|
N *+dialog_con_gui* Support for |:confirm| with GUI and console dialog.
|
||||||
N *+diff* |vimdiff| and 'diff'
|
N *+diff* |vimdiff| and 'diff'
|
||||||
N *+digraphs* |digraphs| *E196*
|
N *+digraphs* |digraphs| *E196*
|
||||||
m *+directx* Win32 GUI only: DirectX and |'renderoptions'|
|
*+directx* Win32 GUI only: DirectX and |'renderoptions'|
|
||||||
*+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|
|
||||||
@@ -361,14 +377,14 @@ m *+hangul_input* Hangul input support |hangul|
|
|||||||
*+iconv/dyn* Likewise |iconv-dynamic| |/dyn|
|
*+iconv/dyn* Likewise |iconv-dynamic| |/dyn|
|
||||||
N *+insert_expand* |insert_expand| Insert mode completion
|
N *+insert_expand* |insert_expand| Insert mode completion
|
||||||
m *+job* starting and stopping jobs |job|
|
m *+job* starting and stopping jobs |job|
|
||||||
N *+jumplist* |jumplist|
|
S *+jumplist* |jumplist|
|
||||||
B *+keymap* |'keymap'|
|
B *+keymap* |'keymap'|
|
||||||
N *+lambda* |lambda| and |closure|
|
N *+lambda* |lambda| and |closure|
|
||||||
B *+langmap* |'langmap'|
|
B *+langmap* |'langmap'|
|
||||||
N *+libcall* |libcall()|
|
N *+libcall* |libcall()|
|
||||||
N *+linebreak* |'linebreak'|, |'breakat'| and |'showbreak'|
|
N *+linebreak* |'linebreak'|, |'breakat'| and |'showbreak'|
|
||||||
N *+lispindent* |'lisp'|
|
N *+lispindent* |'lisp'|
|
||||||
N *+listcmds* Vim commands for the list of buffers |buffer-hidden|
|
T *+listcmds* Vim commands for the list of buffers |buffer-hidden|
|
||||||
and argument list |:argdelete|
|
and argument list |:argdelete|
|
||||||
N *+localmap* Support for mappings local to a buffer |:map-local|
|
N *+localmap* Support for mappings local to a buffer |:map-local|
|
||||||
m *+lua* |Lua| interface
|
m *+lua* |Lua| interface
|
||||||
@@ -413,7 +429,7 @@ N *+reltime* |reltime()| function, 'hlsearch'/'incsearch' timeout,
|
|||||||
B *+rightleft* Right to left typing |'rightleft'|
|
B *+rightleft* Right to left typing |'rightleft'|
|
||||||
m *+ruby* Ruby interface |ruby|
|
m *+ruby* Ruby interface |ruby|
|
||||||
m *+ruby/dyn* Ruby interface |ruby-dynamic| |/dyn|
|
m *+ruby/dyn* Ruby interface |ruby-dynamic| |/dyn|
|
||||||
N *+scrollbind* |'scrollbind'|
|
T *+scrollbind* |'scrollbind'|
|
||||||
B *+signs* |:sign|
|
B *+signs* |:sign|
|
||||||
N *+smartindent* |'smartindent'|
|
N *+smartindent* |'smartindent'|
|
||||||
N *+startuptime* |--startuptime| argument
|
N *+startuptime* |--startuptime| argument
|
||||||
@@ -438,14 +454,17 @@ N *+title* Setting the window 'title' and 'icon'
|
|||||||
N *+toolbar* |gui-toolbar|
|
N *+toolbar* |gui-toolbar|
|
||||||
N *+user_commands* User-defined commands. |user-commands|
|
N *+user_commands* User-defined commands. |user-commands|
|
||||||
N *+viminfo* |'viminfo'|
|
N *+viminfo* |'viminfo'|
|
||||||
N *+vertsplit* Vertically split windows |:vsplit|
|
*+vertsplit* Vertically split windows |:vsplit|; Always enabled
|
||||||
|
since 8.0.1118.
|
||||||
|
in sync with the |+windows| feature
|
||||||
N *+virtualedit* |'virtualedit'|
|
N *+virtualedit* |'virtualedit'|
|
||||||
S *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
|
S *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
|
||||||
N *+visualextra* extra Visual mode commands |blockwise-operators|
|
N *+visualextra* extra Visual mode commands |blockwise-operators|
|
||||||
N *+vreplace* |gR| and |gr|
|
N *+vreplace* |gR| and |gr|
|
||||||
|
*+vtp* on MS-Windows console: support for 'termguicolors'
|
||||||
N *+wildignore* |'wildignore'|
|
N *+wildignore* |'wildignore'|
|
||||||
N *+wildmenu* |'wildmenu'|
|
N *+wildmenu* |'wildmenu'|
|
||||||
S *+windows* more than one window
|
*+windows* more than one window; Always enabled since 8.0.1118.
|
||||||
m *+writebackup* |'writebackup'| is default on
|
m *+writebackup* |'writebackup'| is default on
|
||||||
m *+xim* X input method |xim|
|
m *+xim* X input method |xim|
|
||||||
*+xfontset* X fontset support |xfontset|
|
*+xfontset* X fontset support |xfontset|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*version6.txt* For Vim version 8.0. Last change: 2014 Aug 29
|
*version6.txt* For Vim version 8.0. Last change: 2018 Mar 18
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -6103,7 +6103,7 @@ New tutor translations:
|
|||||||
Slovak (Lubos Celko)
|
Slovak (Lubos Celko)
|
||||||
Greek (Christos Kontas)
|
Greek (Christos Kontas)
|
||||||
German (Joachim Hofmann)
|
German (Joachim Hofmann)
|
||||||
Norwegian (<EFBFBD>yvind Holm)
|
Norwegian (Øyvind Holm)
|
||||||
|
|
||||||
New filetype plugins:
|
New filetype plugins:
|
||||||
Occam (Mario Schweigler)
|
Occam (Mario Schweigler)
|
||||||
@@ -6121,13 +6121,13 @@ New compiler plugins:
|
|||||||
Modelsim vcom (Paul Baleme)
|
Modelsim vcom (Paul Baleme)
|
||||||
|
|
||||||
New menu translations:
|
New menu translations:
|
||||||
Brazilian (Jos<EFBFBD> de Paula)
|
Brazilian (José de Paula)
|
||||||
British (Mike Williams)
|
British (Mike Williams)
|
||||||
Korean in UTF-8. (Nam SungHyun)
|
Korean in UTF-8. (Nam SungHyun)
|
||||||
Norwegian (<EFBFBD>yvind Holm)
|
Norwegian (Øyvind Holm)
|
||||||
Serbian (Aleksandar Jelenak)
|
Serbian (Aleksandar Jelenak)
|
||||||
|
|
||||||
New message translation for Norwegian. (<EFBFBD>yvind Holm)
|
New message translation for Norwegian. (Øyvind Holm)
|
||||||
|
|
||||||
New color scheme:
|
New color scheme:
|
||||||
desert (Hans Fugal)
|
desert (Hans Fugal)
|
||||||
@@ -10066,7 +10066,7 @@ Files: src/os_unix.c
|
|||||||
|
|
||||||
Patch 6.2.019 (lang)
|
Patch 6.2.019 (lang)
|
||||||
Problem: Loading the Portuguese menu causes an error message.
|
Problem: Loading the Portuguese menu causes an error message.
|
||||||
Solution: Join two lines. (Jose Pedro Oliveira, Jos<EFBFBD> de Paula)
|
Solution: Join two lines. (Jose Pedro Oliveira, José de Paula)
|
||||||
Files: runtime/lang/menu_pt_br.vim
|
Files: runtime/lang/menu_pt_br.vim
|
||||||
|
|
||||||
Patch 6.2.020
|
Patch 6.2.020
|
||||||
@@ -12418,7 +12418,7 @@ Files: src/message.c
|
|||||||
|
|
||||||
Patch 6.2.376
|
Patch 6.2.376
|
||||||
Problem: Win32: Ruby interface cannot be dynamically linked with Ruby 1.6.
|
Problem: Win32: Ruby interface cannot be dynamically linked with Ruby 1.6.
|
||||||
Solution: Add #ifdefs around use of rb_w32_snprintf(). (Beno<EFBFBD>t Cerrina)
|
Solution: Add #ifdefs around use of rb_w32_snprintf(). (Benoît Cerrina)
|
||||||
Files: src/if_ruby.c
|
Files: src/if_ruby.c
|
||||||
|
|
||||||
Patch 6.2.377 (after 6.2.372)
|
Patch 6.2.377 (after 6.2.372)
|
||||||
@@ -14320,7 +14320,7 @@ Files: src/edit.c
|
|||||||
Patch 6.3.061
|
Patch 6.3.061
|
||||||
Problem: When editing a utf-8 file in an utf-8 xterm and there is a
|
Problem: When editing a utf-8 file in an utf-8 xterm and there is a
|
||||||
multi-byte character in the last column, displaying is messed up.
|
multi-byte character in the last column, displaying is messed up.
|
||||||
(Jo<EFBFBD>l Rio)
|
(Joël Rio)
|
||||||
Solution: Check for a multi-byte character, not a multi-column character.
|
Solution: Check for a multi-byte character, not a multi-column character.
|
||||||
Files: src/screen.c
|
Files: src/screen.c
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*version8.txt* For Vim version 8.0. Last change: 2017 Apr 23
|
*version8.txt* For Vim version 8.0. Last change: 2017 Nov 24
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -11778,7 +11778,7 @@ Files: src/os_unix.c
|
|||||||
Patch 7.4.1915
|
Patch 7.4.1915
|
||||||
Problem: The effect of the PopupMenu autocommand isn't directly visible.
|
Problem: The effect of the PopupMenu autocommand isn't directly visible.
|
||||||
Solution: Call gui_update_menus() before displaying the popup menu. (Shane
|
Solution: Call gui_update_menus() before displaying the popup menu. (Shane
|
||||||
Harper, closs #855)
|
Harper, closes #855)
|
||||||
Files: src/menu.c
|
Files: src/menu.c
|
||||||
|
|
||||||
Patch 7.4.1916 (after 7.4.1906)
|
Patch 7.4.1916 (after 7.4.1906)
|
||||||
@@ -15398,7 +15398,7 @@ Files: src/testdir/test_undo.vim, src/undo.c
|
|||||||
Patch 8.0.0150
|
Patch 8.0.0150
|
||||||
Problem: When the pattern of :filter does not have a separator then
|
Problem: When the pattern of :filter does not have a separator then
|
||||||
completion of the command fails.
|
completion of the command fails.
|
||||||
Solution: Skip over the pattern. (Ozaki Kiichi, clodes #1299)
|
Solution: Skip over the pattern. (Ozaki Kiichi, closes #1299)
|
||||||
Files: src/ex_docmd.c, src/testdir/test_filter_cmd.vim
|
Files: src/ex_docmd.c, src/testdir/test_filter_cmd.vim
|
||||||
|
|
||||||
Patch 8.0.0151
|
Patch 8.0.0151
|
||||||
@@ -15582,7 +15582,7 @@ Files: src/json.c, src/testdir/test_json.vim
|
|||||||
|
|
||||||
Patch 8.0.0181
|
Patch 8.0.0181
|
||||||
Problem: When 'cursorbind' and 'cursorcolumn' are both on, the column
|
Problem: When 'cursorbind' and 'cursorcolumn' are both on, the column
|
||||||
highlignt in non-current windows is wrong.
|
highlight in non-current windows is wrong.
|
||||||
Solution: Add validate_cursor(). (Masanori Misono, closes #1372)
|
Solution: Add validate_cursor(). (Masanori Misono, closes #1372)
|
||||||
Files: src/move.c
|
Files: src/move.c
|
||||||
|
|
||||||
|
|||||||
@@ -325,7 +325,7 @@ You can still edit the buffer, but will be prevented from accidentally
|
|||||||
overwriting a file.
|
overwriting a file.
|
||||||
If you do want to overwrite a file, add an exclamation mark to the Ex command,
|
If you do want to overwrite a file, add an exclamation mark to the Ex command,
|
||||||
as in ":w!".
|
as in ":w!".
|
||||||
The \-R option also implies the \-n option (see below).
|
The \-R option also implies the \-n option (see above).
|
||||||
The 'readonly' option can be reset with ":set noro".
|
The 'readonly' option can be reset with ":set noro".
|
||||||
See ":help 'readonly'".
|
See ":help 'readonly'".
|
||||||
.TP
|
.TP
|
||||||
|
|||||||
@@ -225,7 +225,7 @@ OPTIONS
|
|||||||
dentally overwriting a file. If you do want to overwrite a
|
dentally overwriting a file. If you do want to overwrite a
|
||||||
file, add an exclamation mark to the Ex command, as in
|
file, add an exclamation mark to the Ex command, as in
|
||||||
":w!". The -R option also implies the -n option (see
|
":w!". The -R option also implies the -n option (see
|
||||||
below). The 'readonly' option can be reset with ":set
|
above). The 'readonly' option can be reset with ":set
|
||||||
noro". See ":help 'readonly'".
|
noro". See ":help 'readonly'".
|
||||||
|
|
||||||
-r List swap files, with information about using them for
|
-r List swap files, with information about using them for
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*visual.txt* For Vim version 8.0. Last change: 2014 Mar 23
|
*visual.txt* For Vim version 8.0. Last change: 2017 Sep 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -314,8 +314,8 @@ Visual-block Insert *v_b_I*
|
|||||||
With a blockwise selection, I{string}<ESC> will insert {string} at the start
|
With a blockwise selection, I{string}<ESC> will insert {string} at the start
|
||||||
of block on every line of the block, provided that the line extends into the
|
of block on every line of the block, provided that the line extends into the
|
||||||
block. Thus lines that are short will remain unmodified. TABs are split to
|
block. Thus lines that are short will remain unmodified. TABs are split to
|
||||||
retain visual columns.
|
retain visual columns. Works only for adding text to a line, not for
|
||||||
See |v_b_I_example|.
|
deletions. See |v_b_I_example|.
|
||||||
|
|
||||||
Visual-block Append *v_b_A*
|
Visual-block Append *v_b_A*
|
||||||
With a blockwise selection, A{string}<ESC> will append {string} to the end of
|
With a blockwise selection, A{string}<ESC> will append {string} to the end of
|
||||||
@@ -331,6 +331,7 @@ See |v_b_A_example|.
|
|||||||
Note: "I" and "A" behave differently for lines that don't extend into the
|
Note: "I" and "A" behave differently for lines that don't extend into the
|
||||||
selected block. This was done intentionally, so that you can do it the way
|
selected block. This was done intentionally, so that you can do it the way
|
||||||
you want.
|
you want.
|
||||||
|
Works only for adding text to a line, not for deletions.
|
||||||
|
|
||||||
Visual-block change *v_b_c*
|
Visual-block change *v_b_c*
|
||||||
All selected text in the block will be replaced by the same text string. When
|
All selected text in the block will be replaced by the same text string. When
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*windows.txt* For Vim version 8.0. Last change: 2017 Aug 21
|
*windows.txt* For Vim version 8.0. Last change: 2018 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -619,7 +619,8 @@ The minimal height and width of a window is set with 'winminheight' and
|
|||||||
41. :buffers list of buffers
|
41. :buffers list of buffers
|
||||||
|
|
||||||
The meaning of [N] depends on the command:
|
The meaning of [N] depends on the command:
|
||||||
[N] is number of buffers to go forward/backward on ?2, ?3, and ?4
|
[N] is the number of buffers to go forward/backward on 2/12/22/32,
|
||||||
|
3/13/23/33, and 4/14/24/34
|
||||||
[N] is an argument number, defaulting to current argument, for 1 and 21
|
[N] is an argument number, defaulting to current argument, for 1 and 21
|
||||||
[N] is a buffer number, defaulting to current buffer, for 11 and 31
|
[N] is a buffer number, defaulting to current buffer, for 11 and 31
|
||||||
[N] is a count for 19 and 39
|
[N] is a count for 19 and 39
|
||||||
@@ -710,7 +711,6 @@ can also get to them with the buffer list commands, like ":bnext".
|
|||||||
When using the |:tab| modifier each argument is opened in a
|
When using the |:tab| modifier each argument is opened in a
|
||||||
tab page. The last window is used if it's empty.
|
tab page. The last window is used if it's empty.
|
||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
{only available when compiled with a GUI}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
8. Do a command in all buffers or windows *list-repeat*
|
8. Do a command in all buffers or windows *list-repeat*
|
||||||
@@ -731,8 +731,7 @@ can also get to them with the buffer list commands, like ":bnext".
|
|||||||
the current window.
|
the current window.
|
||||||
{cmd} can contain '|' to concatenate several commands.
|
{cmd} can contain '|' to concatenate several commands.
|
||||||
{cmd} must not open or close windows or reorder them.
|
{cmd} must not open or close windows or reorder them.
|
||||||
{not in Vi} {not available when compiled without the
|
{not in Vi}
|
||||||
|+listcmds| feature}
|
|
||||||
Also see |:tabdo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|,
|
Also see |:tabdo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|,
|
||||||
|:cfdo| and |:lfdo|
|
|:cfdo| and |:lfdo|
|
||||||
|
|
||||||
@@ -760,8 +759,7 @@ can also get to them with the buffer list commands, like ":bnext".
|
|||||||
autocommand event is disabled by adding it to
|
autocommand event is disabled by adding it to
|
||||||
'eventignore'. This considerably speeds up editing
|
'eventignore'. This considerably speeds up editing
|
||||||
each buffer.
|
each buffer.
|
||||||
{not in Vi} {not available when compiled without the
|
{not in Vi}
|
||||||
|+listcmds| feature}
|
|
||||||
Also see |:tabdo|, |:argdo|, |:windo|, |:cdo|, |:ldo|,
|
Also see |:tabdo|, |:argdo|, |:windo|, |:cdo|, |:ldo|,
|
||||||
|:cfdo| and |:lfdo|
|
|:cfdo| and |:lfdo|
|
||||||
|
|
||||||
@@ -974,7 +972,6 @@ is no word under the cursor, and a few other things: >
|
|||||||
A hidden buffer is not displayed in a window, but is still loaded into memory.
|
A hidden buffer is not displayed in a window, but is still loaded into memory.
|
||||||
This makes it possible to jump from file to file, without the need to read or
|
This makes it possible to jump from file to file, without the need to read or
|
||||||
write the file every time you get another buffer in a window.
|
write the file every time you get another buffer in a window.
|
||||||
{not available when compiled without the |+listcmds| feature}
|
|
||||||
|
|
||||||
*:buffer-!*
|
*:buffer-!*
|
||||||
If the option 'hidden' ('hid') is set, abandoned buffers are kept for all
|
If the option 'hidden' ('hid') is set, abandoned buffers are kept for all
|
||||||
@@ -1034,6 +1031,7 @@ list of buffers. |unlisted-buffer|
|
|||||||
= a readonly buffer
|
= a readonly buffer
|
||||||
R a terminal buffer with a running job
|
R a terminal buffer with a running job
|
||||||
F a terminal buffer with a finished job
|
F a terminal buffer with a finished job
|
||||||
|
? a terminal buffer without a job: `:terminal NONE`
|
||||||
+ a modified buffer
|
+ a modified buffer
|
||||||
x a buffer with read errors
|
x a buffer with read errors
|
||||||
|
|
||||||
@@ -1048,6 +1046,9 @@ list of buffers. |unlisted-buffer|
|
|||||||
x buffers with a read error
|
x buffers with a read error
|
||||||
% current buffer
|
% current buffer
|
||||||
# alternate buffer
|
# alternate buffer
|
||||||
|
R terminal buffers with a running job
|
||||||
|
F terminal buffers with a finished job
|
||||||
|
? terminal buffers without a job: `:terminal NONE`
|
||||||
Combining flags means they are "and"ed together, e.g.:
|
Combining flags means they are "and"ed together, e.g.:
|
||||||
h+ hidden buffers which are modified
|
h+ hidden buffers which are modified
|
||||||
a+ active buffers which are modified
|
a+ active buffers which are modified
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ are all equivalent.
|
|||||||
.PP
|
.PP
|
||||||
.TP
|
.TP
|
||||||
.IR \-a " | " \-autoskip
|
.IR \-a " | " \-autoskip
|
||||||
toggle autoskip: A single '*' replaces nul-lines. Default off.
|
Toggle autoskip: A single '*' replaces nul-lines. Default off.
|
||||||
.TP
|
.TP
|
||||||
.IR \-b " | " \-bits
|
.IR \-b " | " \-bits
|
||||||
Switch to bits (binary digits) dump, rather than hexdump.
|
Switch to bits (binary digits) dump, rather than hexdump.
|
||||||
@@ -67,10 +67,13 @@ followed by an ascii (or ebcdic) representation. The command line switches
|
|||||||
\-r, \-p, \-i do not work with this mode.
|
\-r, \-p, \-i do not work with this mode.
|
||||||
.TP
|
.TP
|
||||||
.IR "\-c cols " | " \-cols cols"
|
.IR "\-c cols " | " \-cols cols"
|
||||||
format
|
Format
|
||||||
.RI < cols >
|
.RI < cols >
|
||||||
octets per line. Default 16 (\-i: 12, \-ps: 30, \-b: 6). Max 256.
|
octets per line. Default 16 (\-i: 12, \-ps: 30, \-b: 6). Max 256.
|
||||||
.TP
|
.TP
|
||||||
|
.IR \-C " | " \-capitalize
|
||||||
|
Capitalize variable names in C include file style, when using \-i.
|
||||||
|
.TP
|
||||||
.IR \-E " | " \-EBCDIC
|
.IR \-E " | " \-EBCDIC
|
||||||
Change the character encoding in the righthand column from ASCII to EBCDIC.
|
Change the character encoding in the righthand column from ASCII to EBCDIC.
|
||||||
This does not change the hexadecimal representation. The option is
|
This does not change the hexadecimal representation. The option is
|
||||||
@@ -87,7 +90,7 @@ The command line switches
|
|||||||
\-r, \-p, \-i do not work with this mode.
|
\-r, \-p, \-i do not work with this mode.
|
||||||
.TP
|
.TP
|
||||||
.IR "\-g bytes " | " \-groupsize bytes"
|
.IR "\-g bytes " | " \-groupsize bytes"
|
||||||
separate the output of every
|
Separate the output of every
|
||||||
.RI < bytes >
|
.RI < bytes >
|
||||||
bytes (two hex characters or eight bit-digits each) by a whitespace.
|
bytes (two hex characters or eight bit-digits each) by a whitespace.
|
||||||
Specify
|
Specify
|
||||||
@@ -98,28 +101,28 @@ in normal mode, \fI4\fP in little-endian mode and \fI1\fP in bits mode.
|
|||||||
Grouping does not apply to postscript or include style.
|
Grouping does not apply to postscript or include style.
|
||||||
.TP
|
.TP
|
||||||
.IR \-h " | " \-help
|
.IR \-h " | " \-help
|
||||||
print a summary of available commands and exit. No hex dumping is performed.
|
Print a summary of available commands and exit. No hex dumping is performed.
|
||||||
.TP
|
.TP
|
||||||
.IR \-i " | " \-include
|
.IR \-i " | " \-include
|
||||||
output in C include file style. A complete static array definition is written
|
Output in C include file style. A complete static array definition is written
|
||||||
(named after the input file), unless xxd reads from stdin.
|
(named after the input file), unless xxd reads from stdin.
|
||||||
.TP
|
.TP
|
||||||
.IR "\-l len " | " \-len len"
|
.IR "\-l len " | " \-len len"
|
||||||
stop after writing
|
Stop after writing
|
||||||
.RI < len >
|
.RI < len >
|
||||||
octets.
|
octets.
|
||||||
.TP
|
.TP
|
||||||
.I \-o offset
|
.I \-o offset
|
||||||
add
|
Add
|
||||||
.RI < offset >
|
.RI < offset >
|
||||||
to the displayed file position.
|
to the displayed file position.
|
||||||
.TP
|
.TP
|
||||||
.IR \-p " | " \-ps " | " \-postscript " | " \-plain
|
.IR \-p " | " \-ps " | " \-postscript " | " \-plain
|
||||||
output in postscript continuous hexdump style. Also known as plain hexdump
|
Output in postscript continuous hexdump style. Also known as plain hexdump
|
||||||
style.
|
style.
|
||||||
.TP
|
.TP
|
||||||
.IR \-r " | " \-revert
|
.IR \-r " | " \-revert
|
||||||
reverse operation: convert (or patch) hexdump into binary.
|
Reverse operation: convert (or patch) hexdump into binary.
|
||||||
If not writing to stdout, xxd writes into its output file without truncating
|
If not writing to stdout, xxd writes into its output file without truncating
|
||||||
it. Use the combination
|
it. Use the combination
|
||||||
.I \-r \-p
|
.I \-r \-p
|
||||||
@@ -135,7 +138,7 @@ revert with
|
|||||||
added to file positions found in hexdump.
|
added to file positions found in hexdump.
|
||||||
.TP
|
.TP
|
||||||
.I \-s [+][\-]seek
|
.I \-s [+][\-]seek
|
||||||
start at
|
Start at
|
||||||
.RI < seek >
|
.RI < seek >
|
||||||
bytes abs. (or rel.) infile offset.
|
bytes abs. (or rel.) infile offset.
|
||||||
\fI+ \fRindicates that the seek is relative to the current stdin file position
|
\fI+ \fRindicates that the seek is relative to the current stdin file position
|
||||||
@@ -145,10 +148,10 @@ should be that many characters from the end of the input (or if combined with
|
|||||||
Without \-s option, xxd starts at the current file position.
|
Without \-s option, xxd starts at the current file position.
|
||||||
.TP
|
.TP
|
||||||
.I \-u
|
.I \-u
|
||||||
use upper case hex letters. Default is lower case.
|
Use upper case hex letters. Default is lower case.
|
||||||
.TP
|
.TP
|
||||||
.IR \-v " | " \-version
|
.IR \-v " | " \-version
|
||||||
show version string.
|
Show version string.
|
||||||
.SH CAVEATS
|
.SH CAVEATS
|
||||||
.PP
|
.PP
|
||||||
.I xxd \-r
|
.I xxd \-r
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ OPTIONS
|
|||||||
notation. Thus -c8, -c 8, -c 010 and -cols 8 are all equivalent.
|
notation. Thus -c8, -c 8, -c 010 and -cols 8 are all equivalent.
|
||||||
|
|
||||||
-a | -autoskip
|
-a | -autoskip
|
||||||
toggle autoskip: A single '*' replaces nul-lines. Default off.
|
Toggle autoskip: A single '*' replaces nul-lines. Default off.
|
||||||
|
|
||||||
-b | -bits
|
-b | -bits
|
||||||
Switch to bits (binary digits) dump, rather than hexdump. This
|
Switch to bits (binary digits) dump, rather than hexdump. This
|
||||||
@@ -41,9 +41,13 @@ OPTIONS
|
|||||||
mode.
|
mode.
|
||||||
|
|
||||||
-c cols | -cols cols
|
-c cols | -cols cols
|
||||||
format <cols> octets per line. Default 16 (-i: 12, -ps: 30, -b:
|
Format <cols> octets per line. Default 16 (-i: 12, -ps: 30, -b:
|
||||||
6). Max 256.
|
6). Max 256.
|
||||||
|
|
||||||
|
-C | -capitalize
|
||||||
|
Capitalize variable names in C include file style, when using
|
||||||
|
-i.
|
||||||
|
|
||||||
-E | -EBCDIC
|
-E | -EBCDIC
|
||||||
Change the character encoding in the righthand column from ASCII
|
Change the character encoding in the righthand column from ASCII
|
||||||
to EBCDIC. This does not change the hexadecimal representation.
|
to EBCDIC. This does not change the hexadecimal representation.
|
||||||
@@ -52,41 +56,41 @@ OPTIONS
|
|||||||
-e Switch to little-endian hexdump. This option treats byte groups
|
-e Switch to little-endian hexdump. This option treats byte groups
|
||||||
as words in little-endian byte order. The default grouping of 4
|
as words in little-endian byte order. The default grouping of 4
|
||||||
bytes may be changed using -g. This option only applies to hex‐
|
bytes may be changed using -g. This option only applies to hex‐
|
||||||
dump, leaving the ASCII (or EBCDIC) representation unchanged.
|
dump, leaving the ASCII (or EBCDIC) representation unchanged.
|
||||||
The command line switches -r, -p, -i do not work with this mode.
|
The command line switches -r, -p, -i do not work with this mode.
|
||||||
|
|
||||||
-g bytes | -groupsize bytes
|
-g bytes | -groupsize bytes
|
||||||
separate the output of every <bytes> bytes (two hex characters
|
Separate the output of every <bytes> bytes (two hex characters
|
||||||
or eight bit-digits each) by a whitespace. Specify -g 0 to sup‐
|
or eight bit-digits each) by a whitespace. Specify -g 0 to sup‐
|
||||||
press grouping. <Bytes> defaults to 2 in normal mode, 4 in lit‐
|
press grouping. <Bytes> defaults to 2 in normal mode, 4 in lit‐
|
||||||
tle-endian mode and 1 in bits mode. Grouping does not apply to
|
tle-endian mode and 1 in bits mode. Grouping does not apply to
|
||||||
postscript or include style.
|
postscript or include style.
|
||||||
|
|
||||||
-h | -help
|
-h | -help
|
||||||
print a summary of available commands and exit. No hex dumping
|
Print a summary of available commands and exit. No hex dumping
|
||||||
is performed.
|
is performed.
|
||||||
|
|
||||||
-i | -include
|
-i | -include
|
||||||
output in C include file style. A complete static array defini‐
|
Output in C include file style. A complete static array defini‐
|
||||||
tion is written (named after the input file), unless xxd reads
|
tion is written (named after the input file), unless xxd reads
|
||||||
from stdin.
|
from stdin.
|
||||||
|
|
||||||
-l len | -len len
|
-l len | -len len
|
||||||
stop after writing <len> octets.
|
Stop after writing <len> octets.
|
||||||
|
|
||||||
-o offset
|
-o offset
|
||||||
add <offset> to the displayed file position.
|
Add <offset> to the displayed file position.
|
||||||
|
|
||||||
-p | -ps | -postscript | -plain
|
-p | -ps | -postscript | -plain
|
||||||
output in postscript continuous hexdump style. Also known as
|
Output in postscript continuous hexdump style. Also known as
|
||||||
plain hexdump style.
|
plain hexdump style.
|
||||||
|
|
||||||
-r | -revert
|
-r | -revert
|
||||||
reverse operation: convert (or patch) hexdump into binary. If
|
Reverse operation: convert (or patch) hexdump into binary. If
|
||||||
not writing to stdout, xxd writes into its output file without
|
not writing to stdout, xxd writes into its output file without
|
||||||
truncating it. Use the combination -r -p to read plain hexadeci‐
|
truncating it. Use the combination -r -p to read plain hexadeci‐
|
||||||
mal dumps without line number information and without a particu‐
|
mal dumps without line number information and without a particu‐
|
||||||
lar column layout. Additional Whitespace and line-breaks are
|
lar column layout. Additional Whitespace and line-breaks are
|
||||||
allowed anywhere.
|
allowed anywhere.
|
||||||
|
|
||||||
-seek offset
|
-seek offset
|
||||||
@@ -94,34 +98,34 @@ OPTIONS
|
|||||||
found in hexdump.
|
found in hexdump.
|
||||||
|
|
||||||
-s [+][-]seek
|
-s [+][-]seek
|
||||||
start at <seek> bytes abs. (or rel.) infile offset. + indicates
|
Start at <seek> bytes abs. (or rel.) infile offset. + indicates
|
||||||
that the seek is relative to the current stdin file position
|
that the seek is relative to the current stdin file position
|
||||||
(meaningless when not reading from stdin). - indicates that the
|
(meaningless when not reading from stdin). - indicates that the
|
||||||
seek should be that many characters from the end of the input
|
seek should be that many characters from the end of the input
|
||||||
(or if combined with +: before the current stdin file position).
|
(or if combined with +: before the current stdin file position).
|
||||||
Without -s option, xxd starts at the current file position.
|
Without -s option, xxd starts at the current file position.
|
||||||
|
|
||||||
-u use upper case hex letters. Default is lower case.
|
-u Use upper case hex letters. Default is lower case.
|
||||||
|
|
||||||
-v | -version
|
-v | -version
|
||||||
show version string.
|
Show version string.
|
||||||
|
|
||||||
CAVEATS
|
CAVEATS
|
||||||
xxd -r has some builtin magic while evaluating line number information.
|
xxd -r has some builtin magic while evaluating line number information.
|
||||||
If the output file is seekable, then the linenumbers at the start of
|
If the output file is seekable, then the linenumbers at the start of
|
||||||
each hexdump line may be out of order, lines may be missing, or over‐
|
each hexdump line may be out of order, lines may be missing, or over‐
|
||||||
lapping. In these cases xxd will lseek(2) to the next position. If the
|
lapping. In these cases xxd will lseek(2) to the next position. If the
|
||||||
output file is not seekable, only gaps are allowed, which will be
|
output file is not seekable, only gaps are allowed, which will be
|
||||||
filled by null-bytes.
|
filled by null-bytes.
|
||||||
|
|
||||||
xxd -r never generates parse errors. Garbage is silently skipped.
|
xxd -r never generates parse errors. Garbage is silently skipped.
|
||||||
|
|
||||||
When editing hexdumps, please note that xxd -r skips everything on the
|
When editing hexdumps, please note that xxd -r skips everything on the
|
||||||
input line after reading enough columns of hexadecimal data (see option
|
input line after reading enough columns of hexadecimal data (see option
|
||||||
-c). This also means, that changes to the printable ascii (or ebcdic)
|
-c). This also means, that changes to the printable ascii (or ebcdic)
|
||||||
columns are always ignored. Reverting a plain (or postscript) style
|
columns are always ignored. Reverting a plain (or postscript) style
|
||||||
hexdump with xxd -r -p does not depend on the correct number of col‐
|
hexdump with xxd -r -p does not depend on the correct number of col‐
|
||||||
umns. Here anything that looks like a pair of hex-digits is inter‐
|
umns. Here anything that looks like a pair of hex-digits is inter‐
|
||||||
preted.
|
preted.
|
||||||
|
|
||||||
Note the difference between
|
Note the difference between
|
||||||
@@ -129,28 +133,28 @@ CAVEATS
|
|||||||
and
|
and
|
||||||
% xxd -i < file
|
% xxd -i < file
|
||||||
|
|
||||||
xxd -s +seek may be different from xxd -s seek, as lseek(2) is used to
|
xxd -s +seek may be different from xxd -s seek, as lseek(2) is used to
|
||||||
"rewind" input. A '+' makes a difference if the input source is stdin,
|
"rewind" input. A '+' makes a difference if the input source is stdin,
|
||||||
and if stdin's file position is not at the start of the file by the
|
and if stdin's file position is not at the start of the file by the
|
||||||
time xxd is started and given its input. The following examples may
|
time xxd is started and given its input. The following examples may
|
||||||
help to clarify (or further confuse!)...
|
help to clarify (or further confuse!)...
|
||||||
|
|
||||||
Rewind stdin before reading; needed because the `cat' has already read
|
Rewind stdin before reading; needed because the `cat' has already read
|
||||||
to the end of stdin.
|
to the end of stdin.
|
||||||
% sh -c "cat > plain_copy; xxd -s 0 > hex_copy" < file
|
% sh -c "cat > plain_copy; xxd -s 0 > hex_copy" < file
|
||||||
|
|
||||||
Hexdump from file position 0x480 (=1024+128) onwards. The `+' sign
|
Hexdump from file position 0x480 (=1024+128) onwards. The `+' sign
|
||||||
means "relative to the current position", thus the `128' adds to the 1k
|
means "relative to the current position", thus the `128' adds to the 1k
|
||||||
where dd left off.
|
where dd left off.
|
||||||
% sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +128 > hex_snippet"
|
% sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +128 > hex_snippet"
|
||||||
< file
|
< file
|
||||||
|
|
||||||
Hexdump from file position 0x100 ( = 1024-768) on.
|
Hexdump from file position 0x100 ( = 1024-768) on.
|
||||||
% sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +-768 > hex_snippet"
|
% sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +-768 > hex_snippet"
|
||||||
< file
|
< file
|
||||||
|
|
||||||
However, this is a rare situation and the use of `+' is rarely needed.
|
However, this is a rare situation and the use of `+' is rarely needed.
|
||||||
The author prefers to monitor the effect of xxd with strace(1) or
|
The author prefers to monitor the effect of xxd with strace(1) or
|
||||||
truss(1), whenever -s is used.
|
truss(1), whenever -s is used.
|
||||||
|
|
||||||
EXAMPLES
|
EXAMPLES
|
||||||
@@ -194,7 +198,7 @@ EXAMPLES
|
|||||||
% xxd -s 0x36 -l 13 -c 13 xxd.1
|
% xxd -s 0x36 -l 13 -c 13 xxd.1
|
||||||
0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996
|
0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996
|
||||||
|
|
||||||
Create a 65537 byte file with all bytes 0x00, except for the last one
|
Create a 65537 byte file with all bytes 0x00, except for the last one
|
||||||
which is 'A' (hex 0x41).
|
which is 'A' (hex 0x41).
|
||||||
% echo "010000: 41" | xxd -r > file
|
% echo "010000: 41" | xxd -r > file
|
||||||
|
|
||||||
@@ -204,7 +208,7 @@ EXAMPLES
|
|||||||
*
|
*
|
||||||
000fffc: 0000 0000 40 ....A
|
000fffc: 0000 0000 40 ....A
|
||||||
|
|
||||||
Create a 1 byte file containing a single 'A' character. The number
|
Create a 1 byte file containing a single 'A' character. The number
|
||||||
after '-r -s' adds to the linenumbers found in the file; in effect, the
|
after '-r -s' adds to the linenumbers found in the file; in effect, the
|
||||||
leading bytes are suppressed.
|
leading bytes are suppressed.
|
||||||
% echo "010000: 41" | xxd -r -s -0x10000 > file
|
% echo "010000: 41" | xxd -r -s -0x10000 > file
|
||||||
@@ -245,7 +249,7 @@ SEE ALSO
|
|||||||
uuencode(1), uudecode(1), patch(1)
|
uuencode(1), uudecode(1), patch(1)
|
||||||
|
|
||||||
WARNINGS
|
WARNINGS
|
||||||
The tools weirdness matches its creators brain. Use entirely at your
|
The tools weirdness matches its creators brain. Use entirely at your
|
||||||
own risk. Copy files. Trace it. Become a wizard.
|
own risk. Copy files. Trace it. Become a wizard.
|
||||||
|
|
||||||
VERSION
|
VERSION
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
" Vim script for Evim key bindings
|
" Vim script for Evim key bindings
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2016 Jul 24
|
" Last Change: 2017 Sep 20
|
||||||
|
|
||||||
" Don't use Vi-compatible mode.
|
" Don't use Vi-compatible mode.
|
||||||
set nocompatible
|
set nocompatible
|
||||||
@@ -67,8 +67,10 @@ endif " has("autocmd")
|
|||||||
"
|
"
|
||||||
" The matchit plugin makes the % command work better, but it is not backwards
|
" The matchit plugin makes the % command work better, but it is not backwards
|
||||||
" compatible.
|
" compatible.
|
||||||
|
" The ! means the package won't be loaded right away but when plugins are
|
||||||
|
" loaded during initialization.
|
||||||
if has('syntax') && has('eval')
|
if has('syntax') && has('eval')
|
||||||
packadd matchit
|
packadd! matchit
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" vim: set sw=2 :
|
" vim: set sw=2 :
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: C
|
" Language: C
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2016 Jun 12
|
" Last Change: 2017 Sep 28
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
" Only do this when not done yet for this buffer
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
@@ -35,8 +35,8 @@ if has("vms")
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" When the matchit plugin is loaded, this makes the % command skip parens and
|
" When the matchit plugin is loaded, this makes the % command skip parens and
|
||||||
" braces in comments.
|
" braces in comments properly.
|
||||||
let b:match_words = &matchpairs . ',^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
|
let b:match_words = '^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
|
||||||
let b:match_skip = 's:comment\|string\|character\|special'
|
let b:match_skip = 's:comment\|string\|character\|special'
|
||||||
|
|
||||||
" Win32 can filter files in the browse dialog
|
" Win32 can filter files in the browse dialog
|
||||||
|
|||||||
54
runtime/ftplugin/chicken.vim
Normal file
54
runtime/ftplugin/chicken.vim
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
" CHICKEN-specific Vim customizations
|
||||||
|
" Last Change: 2018-03-05
|
||||||
|
" Author: Evan Hanson <evhan@foldling.org>
|
||||||
|
" Maintainer: Evan Hanson <evhan@foldling.org>
|
||||||
|
" URL: https://foldling.org/vim/ftplugin/chicken.vim
|
||||||
|
" Notes: These are supplemental settings, to be loaded after the core
|
||||||
|
" Scheme ftplugin file (ftplugin/scheme.vim). Enable it by setting
|
||||||
|
" b:is_chicken=1 and filetype=scheme.
|
||||||
|
|
||||||
|
if !exists('b:did_scheme_ftplugin')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
setl keywordprg=chicken-doc
|
||||||
|
|
||||||
|
setl lispwords+=and-let*
|
||||||
|
setl lispwords+=compiler-typecase
|
||||||
|
setl lispwords+=condition-case
|
||||||
|
setl lispwords+=define-compiler-syntax
|
||||||
|
setl lispwords+=define-constant
|
||||||
|
setl lispwords+=define-external
|
||||||
|
setl lispwords+=define-for-syntax
|
||||||
|
setl lispwords+=define-foreign-type
|
||||||
|
setl lispwords+=define-inline
|
||||||
|
setl lispwords+=define-location
|
||||||
|
setl lispwords+=define-record
|
||||||
|
setl lispwords+=define-record-printer
|
||||||
|
setl lispwords+=define-specialization
|
||||||
|
setl lispwords+=fluid-let
|
||||||
|
setl lispwords+=foreign-lambda*
|
||||||
|
setl lispwords+=foreign-primitive
|
||||||
|
setl lispwords+=foreign-safe-lambda*
|
||||||
|
setl lispwords+=functor
|
||||||
|
setl lispwords+=handle-exceptions
|
||||||
|
setl lispwords+=let-compiler-syntax
|
||||||
|
setl lispwords+=let-location
|
||||||
|
setl lispwords+=let-optionals
|
||||||
|
setl lispwords+=let-optionals*
|
||||||
|
setl lispwords+=letrec-values
|
||||||
|
setl lispwords+=match
|
||||||
|
setl lispwords+=match-let
|
||||||
|
setl lispwords+=match-let*
|
||||||
|
setl lispwords+=match-letrec
|
||||||
|
setl lispwords+=module
|
||||||
|
setl lispwords+=receive
|
||||||
|
setl lispwords+=set!-values
|
||||||
|
setl lispwords+=test-group
|
||||||
|
|
||||||
|
let b:undo_ftplugin = b:undo_ftplugin . ' keywordprg<'
|
||||||
|
|
||||||
|
if exists('g:loaded_matchit') && !exists('b:match_words')
|
||||||
|
let b:match_words = '#>:<#'
|
||||||
|
let b:undo_ftplugin = b:undo_ftplugin . ' | unlet! b:match_words'
|
||||||
|
endif
|
||||||
16
runtime/ftplugin/cmake.vim
Normal file
16
runtime/ftplugin/cmake.vim
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
" Vim filetype plugin
|
||||||
|
" Language: CMake
|
||||||
|
" Maintainer: Keith Smiley <keithbsmiley@gmail.com>
|
||||||
|
" Last Change: 2017 Dec 24
|
||||||
|
|
||||||
|
" Only do this when not done yet for this buffer
|
||||||
|
if exists("b:did_ftplugin")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Don't load another plugin for this buffer
|
||||||
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
|
let b:undo_ftplugin = "setl commentstring<"
|
||||||
|
|
||||||
|
setlocal commentstring=#\ %s
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
" Vim filetype plugin file (GUI menu, folding and completion)
|
" Vim filetype plugin file (GUI menu, folding and completion)
|
||||||
" Language: Debian Changelog
|
" Language: Debian Changelog
|
||||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
" Maintainer: Debian Vim Maintainers
|
||||||
" Former Maintainers: Michael Piefel <piefel@informatik.hu-berlin.de>
|
" Former Maintainers: Michael Piefel <piefel@informatik.hu-berlin.de>
|
||||||
" Stefano Zacchiroli <zack@debian.org>
|
" Stefano Zacchiroli <zack@debian.org>
|
||||||
" Last Change: 2014-01-31
|
" Last Change: 2018-01-06
|
||||||
" License: Vim License
|
" License: Vim License
|
||||||
" URL: http://hg.debian.org/hg/pkg-vim/vim/file/unstable/runtime/ftplugin/debchangelog.vim
|
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/debchangelog.vim
|
||||||
|
|
||||||
" Bug completion requires apt-listbugs installed for Debian packages or
|
" Bug completion requires apt-listbugs installed for Debian packages or
|
||||||
" python-launchpadlib installed for Ubuntu packages
|
" python-launchpadlib installed for Ubuntu packages
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
" Vim filetype plugin file (GUI menu and folding)
|
" Vim filetype plugin file (GUI menu and folding)
|
||||||
" Language: Debian control files
|
" Language: Debian control files
|
||||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
" Maintainer: Debian Vim Maintainers
|
||||||
" Former Maintainer: Pierre Habouzit <madcoder@debian.org>
|
" Former Maintainer: Pierre Habouzit <madcoder@debian.org>
|
||||||
" Last Change: 2008-03-08
|
" Last Change: 2018-01-06
|
||||||
" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/tip/runtime/ftplugin/debcontrol.vim
|
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/debcontrol.vim
|
||||||
|
|
||||||
" Do these settings once per buffer
|
" Do these settings once per buffer
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
|
|||||||
12
runtime/ftplugin/gdb.vim
Normal file
12
runtime/ftplugin/gdb.vim
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
" Vim filetype plugin file
|
||||||
|
" Language: gdb
|
||||||
|
" Maintainer: Michaël Peeters <NOSPAMm.vim@noekeon.org>
|
||||||
|
" Last Changed: 26 Oct 2017
|
||||||
|
|
||||||
|
if exists("b:did_ftplugin") | finish | endif
|
||||||
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
|
setlocal commentstring=#%s
|
||||||
|
|
||||||
|
" Undo the stuff we changed.
|
||||||
|
let b:undo_ftplugin = "setlocal cms<"
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: man
|
" Language: man
|
||||||
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||||
" Last Change: 2017 Jan 18
|
" Last Change: 2018 Jan 15
|
||||||
|
|
||||||
" To make the ":Man" command available before editing a manual page, source
|
" To make the ":Man" command available before editing a manual page, source
|
||||||
" this script from your startup vimrc file.
|
" this script from your startup vimrc file.
|
||||||
@@ -15,12 +15,6 @@ if &filetype == "man"
|
|||||||
endif
|
endif
|
||||||
let b:did_ftplugin = 1
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
" Ensure Vim is not recursively invoked (man-db does this)
|
|
||||||
" when doing ctrl-[ on a man page reference.
|
|
||||||
if exists("$MANPAGER")
|
|
||||||
let $MANPAGER = ""
|
|
||||||
endif
|
|
||||||
|
|
||||||
" allow dot and dash in manual page name.
|
" allow dot and dash in manual page name.
|
||||||
setlocal iskeyword+=\.,-
|
setlocal iskeyword+=\.,-
|
||||||
|
|
||||||
@@ -45,7 +39,7 @@ if &filetype == "man"
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if exists(":Man") != 2
|
if exists(":Man") != 2
|
||||||
com -nargs=+ Man call s:GetPage(<f-args>)
|
com -nargs=+ -complete=shellcmd Man call s:GetPage(<f-args>)
|
||||||
nmap <Leader>K :call <SID>PreGetPage(0)<CR>
|
nmap <Leader>K :call <SID>PreGetPage(0)<CR>
|
||||||
nmap <Plug>ManPreGetPage :call <SID>PreGetPage(0)<CR>
|
nmap <Plug>ManPreGetPage :call <SID>PreGetPage(0)<CR>
|
||||||
endif
|
endif
|
||||||
@@ -176,7 +170,19 @@ func <SID>GetPage(...)
|
|||||||
let $MANWIDTH = winwidth(0)
|
let $MANWIDTH = winwidth(0)
|
||||||
let unsetwidth = 1
|
let unsetwidth = 1
|
||||||
endif
|
endif
|
||||||
silent exec "r !man ".s:GetCmdArg(sect, page)." | col -b"
|
|
||||||
|
" Ensure Vim is not recursively invoked (man-db does this) when doing ctrl-[
|
||||||
|
" on a man page reference by unsetting MANPAGER.
|
||||||
|
" Some versions of env(1) do not support the '-u' option, and in such case
|
||||||
|
" we set MANPAGER=cat.
|
||||||
|
if !exists('s:env_has_u')
|
||||||
|
call system('env -u x true')
|
||||||
|
let s:env_has_u = (v:shell_error == 0)
|
||||||
|
endif
|
||||||
|
let env_cmd = s:env_has_u ? 'env -u MANPAGER' : 'env MANPAGER=cat'
|
||||||
|
let man_cmd = env_cmd . ' man ' . s:GetCmdArg(sect, page) . ' | col -b'
|
||||||
|
silent exec "r !" . man_cmd
|
||||||
|
|
||||||
if unsetwidth
|
if unsetwidth
|
||||||
let $MANWIDTH = ''
|
let $MANWIDTH = ''
|
||||||
endif
|
endif
|
||||||
|
|||||||
23
runtime/ftplugin/neomuttrc.vim
Normal file
23
runtime/ftplugin/neomuttrc.vim
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
" Vim filetype plugin file
|
||||||
|
" Language: NeoMutt RC File
|
||||||
|
" Previous Maintainer: Guillaume Brogi <gui-gui@netcourrier.com>
|
||||||
|
" Latest Revision: 2017-09-17
|
||||||
|
" Original version copied from ftplugin/muttrc.vim
|
||||||
|
|
||||||
|
if exists("b:did_ftplugin")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
|
let s:cpo_save = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
let b:undo_ftplugin = "setl com< cms< inc< fo<"
|
||||||
|
|
||||||
|
setlocal comments=:# commentstring=#\ %s
|
||||||
|
setlocal formatoptions-=t formatoptions+=croql
|
||||||
|
|
||||||
|
let &l:include = '^\s*source\>'
|
||||||
|
|
||||||
|
let &cpo = s:cpo_save
|
||||||
|
unlet s:cpo_save
|
||||||
@@ -1,22 +1,43 @@
|
|||||||
" Vim ftplugin file
|
" Vim ftplugin file
|
||||||
" Language: NSIS script
|
" Language: NSIS script
|
||||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
" Maintainer: Ken Takata
|
||||||
" Latest Revision: 2008-07-09
|
" URL: https://github.com/k-takata/vim-nsis
|
||||||
|
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||||
let s:cpo_save = &cpo
|
" Last Change: 2018-01-26
|
||||||
set cpo&vim
|
|
||||||
|
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
let s:cpo_save = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
let b:did_ftplugin = 1
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
let b:undo_ftplugin = "setl com< cms< fo< def< inc<"
|
let b:undo_ftplugin = "setl com< cms< fo< def< inc<"
|
||||||
|
\ " | unlet! b:match_ignorecase b:match_words"
|
||||||
|
|
||||||
setlocal comments=s1:/*,mb:*,ex:*/,b:#,:; commentstring=;\ %s
|
setlocal comments=s1:/*,mb:*,ex:*/,b:#,:; commentstring=;\ %s
|
||||||
setlocal formatoptions-=t formatoptions+=croql
|
setlocal formatoptions-=t formatoptions+=croql
|
||||||
setlocal define=^\\s*!define\\%(\\%(utc\\)\\=date\\|math\\)\\=
|
setlocal define=^\\s*!define\\%(\\%(utc\\)\\=date\\|math\\)\\=
|
||||||
setlocal include=^\\s*!include\\%(/NONFATAL\\)\\=
|
setlocal include=^\\s*!include\\%(/NONFATAL\\)\\=
|
||||||
|
|
||||||
|
if exists("loaded_matchit")
|
||||||
|
let b:match_ignorecase = 1
|
||||||
|
let b:match_words =
|
||||||
|
\ '\${\%(If\|IfNot\|Unless\)}:\${\%(Else\|ElseIf\|ElseIfNot\|ElseUnless\)}:\${\%(EndIf\|EndUnless\)},' .
|
||||||
|
\ '\${Select}:\${EndSelect},' .
|
||||||
|
\ '\${Switch}:\${EndSwitch},' .
|
||||||
|
\ '\${\%(Do\|DoWhile\|DoUntil\)}:\${\%(Loop\|LoopWhile\|LoopUntil\)},' .
|
||||||
|
\ '\${\%(For\|ForEach\)}:\${Next},' .
|
||||||
|
\ '\<Function\>:\<FunctionEnd\>,' .
|
||||||
|
\ '\<Section\>:\<SectionEnd\>,' .
|
||||||
|
\ '\<SectionGroup\>:\<SectionGroupEnd\>,' .
|
||||||
|
\ '\<PageEx\>:\<PageExEnd\>,' .
|
||||||
|
\ '\${MementoSection}:\${MementoSectionEnd},' .
|
||||||
|
\ '!if\%(\%(macro\)\?n\?def\)\?\>:!else\>:!endif\>,' .
|
||||||
|
\ '!macro\>:!macroend\>'
|
||||||
|
endif
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
unlet s:cpo_save
|
unlet s:cpo_save
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||||
" Homepage: http://github.com/vim-perl/vim-perl
|
" Homepage: http://github.com/vim-perl/vim-perl
|
||||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||||
" Last Change: 2013-07-21
|
" Last Change: 2015-02-09
|
||||||
|
|
||||||
if exists("b:did_ftplugin") | finish | endif
|
if exists("b:did_ftplugin") | finish | endif
|
||||||
let b:did_ftplugin = 1
|
let b:did_ftplugin = 1
|
||||||
@@ -33,14 +33,14 @@ endif
|
|||||||
setlocal include=\\<\\(use\\\|require\\)\\>
|
setlocal include=\\<\\(use\\\|require\\)\\>
|
||||||
setlocal includeexpr=substitute(substitute(substitute(v:fname,'::','/','g'),'->\*','',''),'$','.pm','')
|
setlocal includeexpr=substitute(substitute(substitute(v:fname,'::','/','g'),'->\*','',''),'$','.pm','')
|
||||||
setlocal define=[^A-Za-z_]
|
setlocal define=[^A-Za-z_]
|
||||||
|
setlocal iskeyword+=:
|
||||||
|
|
||||||
" The following line changes a global variable but is necessary to make
|
" The following line changes a global variable but is necessary to make
|
||||||
" gf and similar commands work. The change to iskeyword was incorrect.
|
" gf and similar commands work. Thanks to Andrew Pimlott for pointing
|
||||||
" Thanks to Andrew Pimlott for pointing out the problem. If this causes a
|
" out the problem. If this causes a problem for you, add an
|
||||||
" problem for you, add an after/ftplugin/perl.vim file that contains
|
" after/ftplugin/perl.vim file that contains
|
||||||
" set isfname-=:
|
" set isfname-=:
|
||||||
set isfname+=:
|
set isfname+=:
|
||||||
set iskeyword+=:
|
|
||||||
|
|
||||||
" Set this once, globally.
|
" Set this once, globally.
|
||||||
if !exists("perlpath")
|
if !exists("perlpath")
|
||||||
@@ -77,11 +77,12 @@ endif
|
|||||||
"---------------------------------------------
|
"---------------------------------------------
|
||||||
|
|
||||||
" Undo the stuff we changed.
|
" Undo the stuff we changed.
|
||||||
let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isf< kp< path<" .
|
let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isk< isf< kp< path<" .
|
||||||
\ " | unlet! b:browsefilter"
|
\ " | unlet! b:browsefilter"
|
||||||
|
|
||||||
" proper matching for matchit plugin
|
" proper matching for matchit plugin
|
||||||
let b:match_skip = 's:comment\|string\|perlQQ\|perlShellCommand\|perlHereDoc\|perlSubstitution\|perlTranslation\|perlMatch\|perlFormatField'
|
let b:match_skip = 's:comment\|string\|perlQQ\|perlShellCommand\|perlHereDoc\|perlSubstitution\|perlTranslation\|perlMatch\|perlFormatField'
|
||||||
|
let b:match_words = '\<if\>:\<elsif\>:\<else\>'
|
||||||
|
|
||||||
" Restore the saved compatibility options.
|
" Restore the saved compatibility options.
|
||||||
let &cpo = s:save_cpo
|
let &cpo = s:save_cpo
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: python
|
" Language: python
|
||||||
" Maintainer: James Sully <sullyj3@gmail.com>
|
" Maintainer: Tom Picton <tom@tompicton.co.uk>
|
||||||
|
" Previous Maintainer: James Sully <sullyj3@gmail.com>
|
||||||
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
|
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||||
" Last Change: Tue, 09 October 2016
|
" Last Change: Sun, 18 March 2018
|
||||||
" https://github.com/sullyj3/vim-ftplugin-python
|
" https://github.com/tpict/vim-ftplugin-python
|
||||||
|
|
||||||
if exists("b:did_ftplugin") | finish | endif
|
if exists("b:did_ftplugin") | finish | endif
|
||||||
let b:did_ftplugin = 1
|
let b:did_ftplugin = 1
|
||||||
@@ -13,42 +14,83 @@ set cpo&vim
|
|||||||
setlocal cinkeys-=0#
|
setlocal cinkeys-=0#
|
||||||
setlocal indentkeys-=0#
|
setlocal indentkeys-=0#
|
||||||
setlocal include=^\\s*\\(from\\\|import\\)
|
setlocal include=^\\s*\\(from\\\|import\\)
|
||||||
setlocal includeexpr=substitute(v:fname,'\\.','/','g')
|
|
||||||
|
" For imports with leading .., append / and replace additional .s with ../
|
||||||
|
let b:grandparent_match = '^\(.\.\)\(\.*\)'
|
||||||
|
let b:grandparent_sub = '\=submatch(1)."/".repeat("../",strlen(submatch(2)))'
|
||||||
|
|
||||||
|
" For imports with a single leading ., replace it with ./
|
||||||
|
let b:parent_match = '^\.\(\.\)\@!'
|
||||||
|
let b:parent_sub = './'
|
||||||
|
|
||||||
|
" Replace any . sandwiched between word characters with /
|
||||||
|
let b:child_match = '\(\w\)\.\(\w\)'
|
||||||
|
let b:child_sub = '\1/\2'
|
||||||
|
|
||||||
|
setlocal includeexpr=substitute(substitute(substitute(
|
||||||
|
\v:fname,
|
||||||
|
\b:grandparent_match,b:grandparent_sub,''),
|
||||||
|
\b:parent_match,b:parent_sub,''),
|
||||||
|
\b:child_match,b:child_sub,'g')
|
||||||
|
|
||||||
setlocal suffixesadd=.py
|
setlocal suffixesadd=.py
|
||||||
setlocal comments=b:#,fb:-
|
setlocal comments=b:#,fb:-
|
||||||
setlocal commentstring=#\ %s
|
setlocal commentstring=#\ %s
|
||||||
|
|
||||||
setlocal omnifunc=pythoncomplete#Complete
|
setlocal omnifunc=pythoncomplete#Complete
|
||||||
|
if has('python3')
|
||||||
|
setlocal omnifunc=python3complete#Complete
|
||||||
|
endif
|
||||||
|
|
||||||
set wildignore+=*.pyc
|
set wildignore+=*.pyc
|
||||||
|
|
||||||
let b:next_toplevel='\v%$\|^(class\|def\|async def)>'
|
let b:next_toplevel='\v%$\|^(class\|def\|async def)>'
|
||||||
let b:prev_toplevel='\v^(class\|def\|async def)>'
|
let b:prev_toplevel='\v^(class\|def\|async def)>'
|
||||||
|
let b:next_endtoplevel='\v%$\|\S.*\n+(def\|class)'
|
||||||
|
let b:prev_endtoplevel='\v\S.*\n+(def\|class)'
|
||||||
let b:next='\v%$\|^\s*(class\|def\|async def)>'
|
let b:next='\v%$\|^\s*(class\|def\|async def)>'
|
||||||
let b:prev='\v^\s*(class\|def\|async def)>'
|
let b:prev='\v^\s*(class\|def\|async def)>'
|
||||||
|
let b:next_end='\v\S\n*(%$\|^(\s*\n*)*(class\|def\|async def)\|^\S)'
|
||||||
|
let b:prev_end='\v\S\n*(^(\s*\n*)*(class\|def\|async def)\|^\S)'
|
||||||
|
|
||||||
execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W')<cr>"
|
execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W')<cr>"
|
||||||
execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb')<cr>"
|
execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb')<cr>"
|
||||||
|
execute "nnoremap <silent> <buffer> ][ :call <SID>Python_jump('n', '". b:next_endtoplevel."', 'W', 0)<cr>"
|
||||||
|
execute "nnoremap <silent> <buffer> [] :call <SID>Python_jump('n', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
|
||||||
execute "nnoremap <silent> <buffer> ]m :call <SID>Python_jump('n', '". b:next."', 'W')<cr>"
|
execute "nnoremap <silent> <buffer> ]m :call <SID>Python_jump('n', '". b:next."', 'W')<cr>"
|
||||||
execute "nnoremap <silent> <buffer> [m :call <SID>Python_jump('n', '". b:prev."', 'Wb')<cr>"
|
execute "nnoremap <silent> <buffer> [m :call <SID>Python_jump('n', '". b:prev."', 'Wb')<cr>"
|
||||||
|
execute "nnoremap <silent> <buffer> ]M :call <SID>Python_jump('n', '". b:next_end."', 'W', 0)<cr>"
|
||||||
|
execute "nnoremap <silent> <buffer> [M :call <SID>Python_jump('n', '". b:prev_end."', 'Wb', 0)<cr>"
|
||||||
|
|
||||||
execute "onoremap <silent> <buffer> ]] :call <SID>Python_jump('o', '". b:next_toplevel."', 'W')<cr>"
|
execute "onoremap <silent> <buffer> ]] :call <SID>Python_jump('o', '". b:next_toplevel."', 'W')<cr>"
|
||||||
execute "onoremap <silent> <buffer> [[ :call <SID>Python_jump('o', '". b:prev_toplevel."', 'Wb')<cr>"
|
execute "onoremap <silent> <buffer> [[ :call <SID>Python_jump('o', '". b:prev_toplevel."', 'Wb')<cr>"
|
||||||
|
execute "onoremap <silent> <buffer> ][ :call <SID>Python_jump('o', '". b:next_endtoplevel."', 'W', 0)<cr>"
|
||||||
|
execute "onoremap <silent> <buffer> [] :call <SID>Python_jump('o', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
|
||||||
execute "onoremap <silent> <buffer> ]m :call <SID>Python_jump('o', '". b:next."', 'W')<cr>"
|
execute "onoremap <silent> <buffer> ]m :call <SID>Python_jump('o', '". b:next."', 'W')<cr>"
|
||||||
execute "onoremap <silent> <buffer> [m :call <SID>Python_jump('o', '". b:prev."', 'Wb')<cr>"
|
execute "onoremap <silent> <buffer> [m :call <SID>Python_jump('o', '". b:prev."', 'Wb')<cr>"
|
||||||
|
execute "onoremap <silent> <buffer> ]M :call <SID>Python_jump('o', '". b:next_end."', 'W', 0)<cr>"
|
||||||
|
execute "onoremap <silent> <buffer> [M :call <SID>Python_jump('o', '". b:prev_end."', 'Wb', 0)<cr>"
|
||||||
|
|
||||||
execute "xnoremap <silent> <buffer> ]] :call <SID>Python_jump('x', '". b:next_toplevel."', 'W')<cr>"
|
execute "xnoremap <silent> <buffer> ]] :call <SID>Python_jump('x', '". b:next_toplevel."', 'W')<cr>"
|
||||||
execute "xnoremap <silent> <buffer> [[ :call <SID>Python_jump('x', '". b:prev_toplevel."', 'Wb')<cr>"
|
execute "xnoremap <silent> <buffer> [[ :call <SID>Python_jump('x', '". b:prev_toplevel."', 'Wb')<cr>"
|
||||||
|
execute "xnoremap <silent> <buffer> ][ :call <SID>Python_jump('x', '". b:next_endtoplevel."', 'W', 0)<cr>"
|
||||||
|
execute "xnoremap <silent> <buffer> [] :call <SID>Python_jump('x', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
|
||||||
execute "xnoremap <silent> <buffer> ]m :call <SID>Python_jump('x', '". b:next."', 'W')<cr>"
|
execute "xnoremap <silent> <buffer> ]m :call <SID>Python_jump('x', '". b:next."', 'W')<cr>"
|
||||||
execute "xnoremap <silent> <buffer> [m :call <SID>Python_jump('x', '". b:prev."', 'Wb')<cr>"
|
execute "xnoremap <silent> <buffer> [m :call <SID>Python_jump('x', '". b:prev."', 'Wb')<cr>"
|
||||||
|
execute "xnoremap <silent> <buffer> ]M :call <SID>Python_jump('x', '". b:next_end."', 'W', 0)<cr>"
|
||||||
|
execute "xnoremap <silent> <buffer> [M :call <SID>Python_jump('x', '". b:prev_end."', 'Wb', 0)<cr>"
|
||||||
|
|
||||||
if !exists('*<SID>Python_jump')
|
if !exists('*<SID>Python_jump')
|
||||||
fun! <SID>Python_jump(mode, motion, flags) range
|
fun! <SID>Python_jump(mode, motion, flags, ...) range
|
||||||
|
let l:startofline = (a:0 >= 1) ? a:1 : 1
|
||||||
|
|
||||||
if a:mode == 'x'
|
if a:mode == 'x'
|
||||||
normal! gv
|
normal! gv
|
||||||
endif
|
endif
|
||||||
|
|
||||||
normal! 0
|
if l:startofline == 1
|
||||||
|
normal! 0
|
||||||
|
endif
|
||||||
|
|
||||||
let cnt = v:count1
|
let cnt = v:count1
|
||||||
mark '
|
mark '
|
||||||
@@ -57,7 +99,9 @@ if !exists('*<SID>Python_jump')
|
|||||||
let cnt = cnt - 1
|
let cnt = cnt - 1
|
||||||
endwhile
|
endwhile
|
||||||
|
|
||||||
normal! ^
|
if l:startofline == 1
|
||||||
|
normal! ^
|
||||||
|
endif
|
||||||
endfun
|
endfun
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,45 +1,57 @@
|
|||||||
" Vim filetype plugin
|
" Vim filetype plugin file
|
||||||
" Language: Scheme
|
" Language: Scheme (R7RS)
|
||||||
" Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
|
" Last Change: 2018-03-05
|
||||||
" URL: http://sites.google.com/site/khorser/opensource/vim
|
" Author: Evan Hanson <evhan@foldling.org>
|
||||||
" Original author: Dorai Sitaram <ds26@gte.com>
|
" Maintainer: Evan Hanson <evhan@foldling.org>
|
||||||
" Original URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
|
" Previous Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
|
||||||
" Last Change: Oct 23, 2013
|
" URL: https://foldling.org/vim/ftplugin/scheme.vim
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
if exists('b:did_ftplugin')
|
||||||
if exists("b:did_ftplugin")
|
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Don't load another plugin for this buffer
|
let s:cpo = &cpo
|
||||||
let b:did_ftplugin = 1
|
set cpo&vim
|
||||||
|
|
||||||
" Copy-paste from ftplugin/lisp.vim
|
|
||||||
setl comments=:;
|
|
||||||
setl define=^\\s*(def\\k*
|
|
||||||
setl formatoptions-=t
|
|
||||||
setl iskeyword+=+,-,*,/,%,<,=,>,:,$,?,!,@-@,94
|
|
||||||
setl lisp
|
setl lisp
|
||||||
|
setl comments=:;;;;,:;;;,:;;,:;,sr:#\|,mb:\|,ex:\|#
|
||||||
setl commentstring=;%s
|
setl commentstring=;%s
|
||||||
|
setl define=^\\s*(def\\k*
|
||||||
|
setl iskeyword=33,35-39,42-43,45-58,60-90,94,95,97-122,126
|
||||||
|
|
||||||
setl comments^=:;;;,:;;,sr:#\|,mb:\|,ex:\|#
|
let b:undo_ftplugin = 'setl lisp< comments< commentstring< define< iskeyword<'
|
||||||
|
|
||||||
" Scheme-specific settings
|
setl lispwords=case
|
||||||
if exists("b:is_mzscheme") || exists("is_mzscheme")
|
setl lispwords+=define
|
||||||
" improve indenting
|
setl lispwords+=define-record-type
|
||||||
setl iskeyword+=#,%,^
|
setl lispwords+=define-syntax
|
||||||
setl lispwords+=module,parameterize,let-values,let*-values,letrec-values
|
setl lispwords+=define-values
|
||||||
setl lispwords+=define-values,opt-lambda,case-lambda,syntax-rules,with-syntax,syntax-case
|
setl lispwords+=do
|
||||||
setl lispwords+=define-signature,unit,unit/sig,compund-unit/sig,define-values/invoke-unit/sig
|
setl lispwords+=guard
|
||||||
|
setl lispwords+=lambda
|
||||||
|
setl lispwords+=let
|
||||||
|
setl lispwords+=let*
|
||||||
|
setl lispwords+=let*-values
|
||||||
|
setl lispwords+=let-syntax
|
||||||
|
setl lispwords+=let-values
|
||||||
|
setl lispwords+=letrec
|
||||||
|
setl lispwords+=letrec*
|
||||||
|
setl lispwords+=letrec-syntax
|
||||||
|
setl lispwords+=parameterize
|
||||||
|
setl lispwords+=set!
|
||||||
|
setl lispwords+=syntax-rules
|
||||||
|
setl lispwords+=unless
|
||||||
|
setl lispwords+=when
|
||||||
|
|
||||||
|
let b:undo_ftplugin = b:undo_ftplugin . ' lispwords<'
|
||||||
|
|
||||||
|
let b:did_scheme_ftplugin = 1
|
||||||
|
|
||||||
|
if exists('b:is_chicken') || exists('g:is_chicken')
|
||||||
|
exe 'ru! ftplugin/chicken.vim'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if exists("b:is_chicken") || exists("is_chicken")
|
unlet b:did_scheme_ftplugin
|
||||||
" improve indenting
|
let b:did_ftplugin = 1
|
||||||
setl iskeyword+=#,%,^
|
let &cpo = s:cpo
|
||||||
setl lispwords+=let-optionals,let-optionals*,declare
|
unlet s:cpo
|
||||||
setl lispwords+=let-values,let*-values,letrec-values
|
|
||||||
setl lispwords+=define-values,opt-lambda,case-lambda,syntax-rules,with-syntax,syntax-case
|
|
||||||
setl lispwords+=cond-expand,and-let*,foreign-lambda,foreign-lambda*
|
|
||||||
endif
|
|
||||||
|
|
||||||
let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lispwords< lisp< commentstring<"
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim filetype plugin
|
" Vim filetype plugin
|
||||||
" Language: Vim
|
" Language: Vim
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2014 Sep 07
|
" Last Change: 2017 Dec 05
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
" Only do this when not done yet for this buffer
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
@@ -25,6 +25,9 @@ setlocal fo-=t fo+=croql
|
|||||||
" keyword character. E.g., for netrw#Nread().
|
" keyword character. E.g., for netrw#Nread().
|
||||||
setlocal isk+=#
|
setlocal isk+=#
|
||||||
|
|
||||||
|
" Use :help to lookup the keyword under the cursor with K.
|
||||||
|
setlocal keywordprg=:help
|
||||||
|
|
||||||
" Set 'comments' to format dashed lists in comments
|
" Set 'comments' to format dashed lists in comments
|
||||||
setlocal com=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"
|
setlocal com=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"
|
||||||
|
|
||||||
@@ -36,21 +39,23 @@ endif
|
|||||||
" Comments start with a double quote
|
" Comments start with a double quote
|
||||||
setlocal commentstring=\"%s
|
setlocal commentstring=\"%s
|
||||||
|
|
||||||
" Move around functions.
|
if !exists("no_plugin_maps") && !exists("no_vim_maps")
|
||||||
nnoremap <silent><buffer> [[ m':call search('^\s*fu\%[nction]\>', "bW")<CR>
|
" Move around functions.
|
||||||
vnoremap <silent><buffer> [[ m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "bW")<CR>
|
nnoremap <silent><buffer> [[ m':call search('^\s*fu\%[nction]\>', "bW")<CR>
|
||||||
nnoremap <silent><buffer> ]] m':call search('^\s*fu\%[nction]\>', "W")<CR>
|
vnoremap <silent><buffer> [[ m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "bW")<CR>
|
||||||
vnoremap <silent><buffer> ]] m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "W")<CR>
|
nnoremap <silent><buffer> ]] m':call search('^\s*fu\%[nction]\>', "W")<CR>
|
||||||
nnoremap <silent><buffer> [] m':call search('^\s*endf*\%[unction]\>', "bW")<CR>
|
vnoremap <silent><buffer> ]] m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "W")<CR>
|
||||||
vnoremap <silent><buffer> [] m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf*\%[unction]\>', "bW")<CR>
|
nnoremap <silent><buffer> [] m':call search('^\s*endf*\%[unction]\>', "bW")<CR>
|
||||||
nnoremap <silent><buffer> ][ m':call search('^\s*endf*\%[unction]\>', "W")<CR>
|
vnoremap <silent><buffer> [] m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf*\%[unction]\>', "bW")<CR>
|
||||||
vnoremap <silent><buffer> ][ m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf*\%[unction]\>', "W")<CR>
|
nnoremap <silent><buffer> ][ m':call search('^\s*endf*\%[unction]\>', "W")<CR>
|
||||||
|
vnoremap <silent><buffer> ][ m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf*\%[unction]\>', "W")<CR>
|
||||||
|
|
||||||
" Move around comments
|
" Move around comments
|
||||||
nnoremap <silent><buffer> ]" :call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR>
|
nnoremap <silent><buffer> ]" :call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR>
|
||||||
vnoremap <silent><buffer> ]" :<C-U>exe "normal! gv"<Bar>call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR>
|
vnoremap <silent><buffer> ]" :<C-U>exe "normal! gv"<Bar>call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR>
|
||||||
nnoremap <silent><buffer> [" :call search('\%(^\s*".*\n\)\%(^\s*"\)\@!', "bW")<CR>
|
nnoremap <silent><buffer> [" :call search('\%(^\s*".*\n\)\%(^\s*"\)\@!', "bW")<CR>
|
||||||
vnoremap <silent><buffer> [" :<C-U>exe "normal! gv"<Bar>call search('\%(^\s*".*\n\)\%(^\s*"\)\@!', "bW")<CR>
|
vnoremap <silent><buffer> [" :<C-U>exe "normal! gv"<Bar>call search('\%(^\s*".*\n\)\%(^\s*"\)\@!', "bW")<CR>
|
||||||
|
endif
|
||||||
|
|
||||||
" Let the matchit plugin know what items can be matched.
|
" Let the matchit plugin know what items can be matched.
|
||||||
if exists("loaded_matchit")
|
if exists("loaded_matchit")
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: Zimbu
|
" Language: Zimbu
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2012 Sep 08
|
" Last Change: 2017 Dec 05
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
" Only do this when not done yet for this buffer
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
@@ -135,8 +135,10 @@ iabbr <buffer> <expr> until GCUpperSpace("until")
|
|||||||
iabbr <buffer> <expr> while GCUpperSpace("while")
|
iabbr <buffer> <expr> while GCUpperSpace("while")
|
||||||
iabbr <buffer> <expr> repeat GCUpper("repeat")
|
iabbr <buffer> <expr> repeat GCUpper("repeat")
|
||||||
|
|
||||||
nnoremap <silent> <buffer> [[ m`:call ZimbuGoStartBlock()<CR>
|
if !exists("no_plugin_maps") && !exists("no_zimbu_maps")
|
||||||
nnoremap <silent> <buffer> ]] m`:call ZimbuGoEndBlock()<CR>
|
nnoremap <silent> <buffer> [[ m`:call ZimbuGoStartBlock()<CR>
|
||||||
|
nnoremap <silent> <buffer> ]] m`:call ZimbuGoEndBlock()<CR>
|
||||||
|
endif
|
||||||
|
|
||||||
" Using a function makes sure the search pattern is restored
|
" Using a function makes sure the search pattern is restored
|
||||||
func! ZimbuGoStartBlock()
|
func! ZimbuGoStartBlock()
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: Zsh shell script
|
" Language: Zsh shell script
|
||||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||||
" Latest Revision: 2015-05-29
|
" Latest Revision: 2017-11-22
|
||||||
" License: Vim (see :h license)
|
" License: Vim (see :h license)
|
||||||
" Repository: https://github.com/chrisbra/vim-zsh
|
" Repository: https://github.com/chrisbra/vim-zsh
|
||||||
|
|
||||||
@@ -18,9 +18,7 @@ let b:undo_ftplugin = "setl com< cms< fo<"
|
|||||||
|
|
||||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||||
|
|
||||||
let b:match_words =
|
let b:match_words = ',\<if\>:\<elif\>:\<else\>:\<fi\>'
|
||||||
\ &matchpairs
|
|
||||||
\ . ',\<if\>:\<elif\>:\<else\>:\<fi\>'
|
|
||||||
\ . ',\<case\>:^\s*([^)]*):\<esac\>'
|
\ . ',\<case\>:^\s*([^)]*):\<esac\>'
|
||||||
\ . ',\<\%(select\|while\|until\|repeat\|for\%(each\)\=\)\>:\<done\>'
|
\ . ',\<\%(select\|while\|until\|repeat\|for\%(each\)\=\)\>:\<done\>'
|
||||||
let b:match_skip = 's:comment\|string\|heredoc\|subst'
|
let b:match_skip = 's:comment\|string\|heredoc\|subst'
|
||||||
|
|||||||
@@ -1,14 +1,12 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Program: CMake - Cross-Platform Makefile Generator
|
|
||||||
" Module: $RCSfile: cmake-indent.vim,v $
|
|
||||||
" Language: CMake (ft=cmake)
|
" Language: CMake (ft=cmake)
|
||||||
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>
|
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>
|
||||||
" Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
|
" Maintainer: Dimitri Merejkowsky <d.merej@gmail.com>
|
||||||
" Last Change: $Date: 2008-01-16 16:53:53 $
|
" Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
|
||||||
" Version: $Revision: 1.9 $
|
" Last Change: 2017 Sep 24
|
||||||
"
|
"
|
||||||
" Licence: The CMake license applies to this file. See
|
" Licence: The CMake license applies to this file. See
|
||||||
" http://www.cmake.org/HTML/Copyright.html
|
" https://cmake.org/licensing
|
||||||
" This implies that distribution with Vim is allowed
|
" This implies that distribution with Vim is allowed
|
||||||
|
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: gitolite configuration
|
" Language: gitolite configuration
|
||||||
" URL: https://github.com/tmatilai/gitolite.vim
|
" URL: https://github.com/sitaramc/gitolite/blob/master/contrib/vim/indent/gitolite.vim
|
||||||
" Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi>
|
" (https://raw.githubusercontent.com/sitaramc/gitolite/master/contrib/vim/indent/gitolite.vim)
|
||||||
" Last Change: 2017 Jun 13
|
" Maintainer: Sitaram Chamarty <sitaramc@gmail.com>
|
||||||
|
" (former Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi>)
|
||||||
|
" Last Change: 2017 Oct 05
|
||||||
|
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
finish
|
finish
|
||||||
@@ -30,6 +32,8 @@ function! GetGitoliteIndent()
|
|||||||
return shiftwidth()
|
return shiftwidth()
|
||||||
elseif cline =~ '^\s*config\s'
|
elseif cline =~ '^\s*config\s'
|
||||||
return shiftwidth()
|
return shiftwidth()
|
||||||
|
elseif cline =~ '^\s*option\s'
|
||||||
|
return shiftwidth()
|
||||||
elseif pline =~ '^\s*repo\s' && cline =~ '^\s*\(#.*\)\?$'
|
elseif pline =~ '^\s*repo\s' && cline =~ '^\s*\(#.*\)\?$'
|
||||||
return shiftwidth()
|
return shiftwidth()
|
||||||
elseif cline =~ '^\s*#'
|
elseif cline =~ '^\s*#'
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Header: "{{{
|
" Header: "{{{
|
||||||
" Maintainer: Bram Moolenaar
|
" Maintainer: Bram Moolenaar
|
||||||
" Original Author: Andy Wokula <anwoku@yahoo.de>
|
" Original Author: Andy Wokula <anwoku@yahoo.de>
|
||||||
" Last Change: 2017 Jun 13
|
" Last Change: 2018 Mar 28
|
||||||
" Version: 1.0
|
" Version: 1.0
|
||||||
" Description: HTML indent script with cached state for faster indenting on a
|
" Description: HTML indent script with cached state for faster indenting on a
|
||||||
" range of lines.
|
" range of lines.
|
||||||
@@ -56,6 +56,9 @@ let s:cpo_save = &cpo
|
|||||||
set cpo-=C
|
set cpo-=C
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
|
" Pattern to match the name of a tag, including custom elements.
|
||||||
|
let s:tagname = '\w\+\(-\w\+\)*'
|
||||||
|
|
||||||
" Check and process settings from b:html_indent and g:html_indent... variables.
|
" Check and process settings from b:html_indent and g:html_indent... variables.
|
||||||
" Prefer using buffer-local settings over global settings, so that there can
|
" Prefer using buffer-local settings over global settings, so that there can
|
||||||
" be defaults for all HTML files and exceptions for specific types of HTML
|
" be defaults for all HTML files and exceptions for specific types of HTML
|
||||||
@@ -213,7 +216,8 @@ endfunc "}}}
|
|||||||
" Add known tag pairs.
|
" Add known tag pairs.
|
||||||
" Self-closing tags and tags that are sometimes {{{
|
" Self-closing tags and tags that are sometimes {{{
|
||||||
" self-closing (e.g., <p>) are not here (when encountering </p> we can find
|
" self-closing (e.g., <p>) are not here (when encountering </p> we can find
|
||||||
" the matching <p>, but not the other way around).
|
" the matching <p>, but not the other way around). Known self-closing tags:
|
||||||
|
" 'p', 'img', 'source'.
|
||||||
" Old HTML tags:
|
" Old HTML tags:
|
||||||
call s:AddITags(s:indent_tags, [
|
call s:AddITags(s:indent_tags, [
|
||||||
\ 'a', 'abbr', 'acronym', 'address', 'b', 'bdo', 'big',
|
\ 'a', 'abbr', 'acronym', 'address', 'b', 'bdo', 'big',
|
||||||
@@ -230,9 +234,9 @@ call s:AddITags(s:indent_tags, [
|
|||||||
call s:AddITags(s:indent_tags, [
|
call s:AddITags(s:indent_tags, [
|
||||||
\ 'area', 'article', 'aside', 'audio', 'bdi', 'canvas',
|
\ 'area', 'article', 'aside', 'audio', 'bdi', 'canvas',
|
||||||
\ 'command', 'data', 'datalist', 'details', 'embed', 'figcaption',
|
\ 'command', 'data', 'datalist', 'details', 'embed', 'figcaption',
|
||||||
\ 'figure', 'footer', 'header', 'keygen', 'mark', 'meter', 'nav', 'output',
|
\ 'figure', 'footer', 'header', 'keygen', 'main', 'mark', 'meter',
|
||||||
\ 'progress', 'rp', 'rt', 'ruby', 'section', 'source', 'summary', 'svg',
|
\ 'nav', 'output', 'picture', 'progress', 'rp', 'rt', 'ruby', 'section',
|
||||||
\ 'time', 'track', 'video', 'wbr'])
|
\ 'summary', 'svg', 'time', 'track', 'video', 'wbr'])
|
||||||
|
|
||||||
" Tags added for web components:
|
" Tags added for web components:
|
||||||
call s:AddITags(s:indent_tags, [
|
call s:AddITags(s:indent_tags, [
|
||||||
@@ -280,7 +284,7 @@ func! s:CountITags(text)
|
|||||||
let s:nextrel = 0 " relative indent steps for next line [unit &sw]:
|
let s:nextrel = 0 " relative indent steps for next line [unit &sw]:
|
||||||
let s:block = 0 " assume starting outside of a block
|
let s:block = 0 " assume starting outside of a block
|
||||||
let s:countonly = 1 " don't change state
|
let s:countonly = 1 " don't change state
|
||||||
call substitute(a:text, '<\zs/\=\w\+\(-\w\+\)*\>\|<!--\[\|\[endif\]-->\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
call substitute(a:text, '<\zs/\=' . s:tagname . '\>\|<!--\[\|\[endif\]-->\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
||||||
let s:countonly = 0
|
let s:countonly = 0
|
||||||
endfunc "}}}
|
endfunc "}}}
|
||||||
|
|
||||||
@@ -292,7 +296,7 @@ func! s:CountTagsAndState(text)
|
|||||||
let s:nextrel = 0 " relative indent steps for next line [unit &sw]:
|
let s:nextrel = 0 " relative indent steps for next line [unit &sw]:
|
||||||
|
|
||||||
let s:block = b:hi_newstate.block
|
let s:block = b:hi_newstate.block
|
||||||
let tmp = substitute(a:text, '<\zs/\=\w\+\(-\w\+\)*\>\|<!--\[\|\[endif\]-->\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
let tmp = substitute(a:text, '<\zs/\=' . s:tagname . '\>\|<!--\[\|\[endif\]-->\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
||||||
if s:block == 3
|
if s:block == 3
|
||||||
let b:hi_newstate.scripttype = s:GetScriptType(matchstr(tmp, '\C.*<SCRIPT\>\zs[^>]*'))
|
let b:hi_newstate.scripttype = s:GetScriptType(matchstr(tmp, '\C.*<SCRIPT\>\zs[^>]*'))
|
||||||
endif
|
endif
|
||||||
@@ -530,7 +534,7 @@ func! s:FreshState(lnum)
|
|||||||
let swendtag = match(text, '^\s*</') >= 0
|
let swendtag = match(text, '^\s*</') >= 0
|
||||||
|
|
||||||
" If previous line ended in a closing tag, line up with the opening tag.
|
" If previous line ended in a closing tag, line up with the opening tag.
|
||||||
if !swendtag && text =~ '</\w\+\s*>\s*$'
|
if !swendtag && text =~ '</' . s:tagname . '\s*>\s*$'
|
||||||
call cursor(state.lnum, 99999)
|
call cursor(state.lnum, 99999)
|
||||||
normal! F<
|
normal! F<
|
||||||
let start_lnum = HtmlIndent_FindStartTag()
|
let start_lnum = HtmlIndent_FindStartTag()
|
||||||
@@ -860,7 +864,7 @@ func! HtmlIndent_FindStartTag()
|
|||||||
" The cursor must be on or before a closing tag.
|
" The cursor must be on or before a closing tag.
|
||||||
" If found, positions the cursor at the match and returns the line number.
|
" If found, positions the cursor at the match and returns the line number.
|
||||||
" Otherwise returns 0.
|
" Otherwise returns 0.
|
||||||
let tagname = matchstr(getline('.')[col('.') - 1:], '</\zs\w\+\ze')
|
let tagname = matchstr(getline('.')[col('.') - 1:], '</\zs' . s:tagname . '\ze')
|
||||||
let start_lnum = searchpair('<' . tagname . '\>', '', '</' . tagname . '\>', 'bW')
|
let start_lnum = searchpair('<' . tagname . '\>', '', '</' . tagname . '\>', 'bW')
|
||||||
if start_lnum > 0
|
if start_lnum > 0
|
||||||
return start_lnum
|
return start_lnum
|
||||||
@@ -876,7 +880,7 @@ func! HtmlIndent_FindTagEnd()
|
|||||||
" a self-closing tag, to the matching ">".
|
" a self-closing tag, to the matching ">".
|
||||||
" Limited to look up to b:html_indent_line_limit lines away.
|
" Limited to look up to b:html_indent_line_limit lines away.
|
||||||
let text = getline('.')
|
let text = getline('.')
|
||||||
let tagname = matchstr(text, '\w\+\|!--', col('.'))
|
let tagname = matchstr(text, s:tagname . '\|!--', col('.'))
|
||||||
if tagname == '!--'
|
if tagname == '!--'
|
||||||
call search('--\zs>')
|
call search('--\zs>')
|
||||||
elseif s:get_tag('/' . tagname) != 0
|
elseif s:get_tag('/' . tagname) != 0
|
||||||
@@ -921,9 +925,22 @@ func! s:InsideTag(foundHtmlString)
|
|||||||
else
|
else
|
||||||
let idx = match(text, '\s\zs[_a-zA-Z0-9-]\+="')
|
let idx = match(text, '\s\zs[_a-zA-Z0-9-]\+="')
|
||||||
endif
|
endif
|
||||||
|
if idx == -1
|
||||||
|
" try <tag attr
|
||||||
|
let idx = match(text, '<' . s:tagname . '\s\+\zs\w')
|
||||||
|
endif
|
||||||
|
if idx == -1
|
||||||
|
" after just <tag indent one level more
|
||||||
|
let idx = match(text, '<' . s:tagname . '$')
|
||||||
|
if idx >= 0
|
||||||
|
call cursor(lnum, idx)
|
||||||
|
return virtcol('.') + shiftwidth()
|
||||||
|
endif
|
||||||
|
endif
|
||||||
if idx > 0
|
if idx > 0
|
||||||
" Found the attribute. TODO: assumes spaces, no Tabs.
|
" Found the attribute to align with.
|
||||||
return idx
|
call cursor(lnum, idx)
|
||||||
|
return virtcol('.')
|
||||||
endif
|
endif
|
||||||
endwhile
|
endwhile
|
||||||
return -1
|
return -1
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: Javascript
|
" Language: Javascript
|
||||||
" Maintainer: Chris Paul ( https://github.com/bounceme )
|
" Maintainer: Chris Paul ( https://github.com/bounceme )
|
||||||
" URL: https://github.com/pangloss/vim-javascript
|
" URL: https://github.com/pangloss/vim-javascript
|
||||||
" Last Change: March 21, 2017
|
" Last Change: December 4, 2017
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
" Only load this indent file when no other was loaded.
|
||||||
if exists('b:did_indent')
|
if exists('b:did_indent')
|
||||||
@@ -29,6 +29,23 @@ endif
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
|
" indent correctly if inside <script>
|
||||||
|
" vim/vim@690afe1 for the switch from cindent
|
||||||
|
" overridden with b:html_indent_script1
|
||||||
|
call extend(g:,{'html_indent_script1': 'inc'},'keep')
|
||||||
|
|
||||||
|
" Regex of syntax group names that are or delimit string or are comments.
|
||||||
|
let s:bvars = {
|
||||||
|
\ 'syng_strcom': 'string\|comment\|regex\|special\|doc\|template\%(braces\)\@!',
|
||||||
|
\ 'syng_str': 'string\|template\|special' }
|
||||||
|
" template strings may want to be excluded when editing graphql:
|
||||||
|
" au! Filetype javascript let b:syng_str = '^\%(.*template\)\@!.*string\|special'
|
||||||
|
" au! Filetype javascript let b:syng_strcom = '^\%(.*template\)\@!.*string\|comment\|regex\|special\|doc'
|
||||||
|
|
||||||
|
function s:GetVars()
|
||||||
|
call extend(b:,extend(s:bvars,{'js_cache': [0,0,0]}),'keep')
|
||||||
|
endfunction
|
||||||
|
|
||||||
" Get shiftwidth value
|
" Get shiftwidth value
|
||||||
if exists('*shiftwidth')
|
if exists('*shiftwidth')
|
||||||
function s:sw()
|
function s:sw()
|
||||||
@@ -36,7 +53,7 @@ if exists('*shiftwidth')
|
|||||||
endfunction
|
endfunction
|
||||||
else
|
else
|
||||||
function s:sw()
|
function s:sw()
|
||||||
return &l:shiftwidth == 0 ? &l:tabstop : &l:shiftwidth
|
return &l:shiftwidth ? &l:shiftwidth : &l:tabstop
|
||||||
endfunction
|
endfunction
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -44,272 +61,325 @@ endif
|
|||||||
" matches before pos.
|
" matches before pos.
|
||||||
let s:z = has('patch-7.4.984') ? 'z' : ''
|
let s:z = has('patch-7.4.984') ? 'z' : ''
|
||||||
|
|
||||||
|
" Expression used to check whether we should skip a match with searchpair().
|
||||||
|
let s:skip_expr = "s:SynAt(line('.'),col('.')) =~? b:syng_strcom"
|
||||||
|
let s:in_comm = s:skip_expr[:-14] . "'comment\\|doc'"
|
||||||
|
|
||||||
|
let s:rel = has('reltime')
|
||||||
" searchpair() wrapper
|
" searchpair() wrapper
|
||||||
if has('reltime')
|
if s:rel
|
||||||
function s:GetPair(start,end,flags,skip,time,...)
|
function s:GetPair(start,end,flags,skip)
|
||||||
return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,max([prevnonblank(v:lnum) - 2000,0] + a:000),a:time)
|
return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,s:l1,a:skip ==# 's:SkipFunc()' ? 2000 : 200)
|
||||||
endfunction
|
endfunction
|
||||||
else
|
else
|
||||||
function s:GetPair(start,end,flags,skip,...)
|
function s:GetPair(start,end,flags,skip)
|
||||||
return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,max([prevnonblank(v:lnum) - 1000,get(a:000,1)]))
|
return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,s:l1)
|
||||||
endfunction
|
endfunction
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Regex of syntax group names that are or delimit string or are comments.
|
function s:SynAt(l,c)
|
||||||
let s:syng_strcom = 'string\|comment\|regex\|special\|doc\|template\%(braces\)\@!'
|
let byte = line2byte(a:l) + a:c - 1
|
||||||
let s:syng_str = 'string\|template\|special'
|
let pos = index(s:synid_cache[0], byte)
|
||||||
let s:syng_com = 'comment\|doc'
|
if pos == -1
|
||||||
" Expression used to check whether we should skip a match with searchpair().
|
let s:synid_cache[:] += [[byte], [synIDattr(synID(a:l, a:c, 0), 'name')]]
|
||||||
let s:skip_expr = "synIDattr(synID(line('.'),col('.'),0),'name') =~? '".s:syng_strcom."'"
|
|
||||||
|
|
||||||
function s:parse_cino(f) abort
|
|
||||||
return float2nr(eval(substitute(substitute(join(split(
|
|
||||||
\ matchstr(&cino,'.*'.a:f.'\zs[^,]*'), 's',1), '*'.s:W)
|
|
||||||
\ , '^-\=\zs\*','',''), '^-\=\zs\.','0.','')))
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function s:skip_func()
|
|
||||||
if getline('.') =~ '\%<'.col('.').'c\/.\{-}\/\|\%>'.col('.').'c[''"]\|\\$'
|
|
||||||
return eval(s:skip_expr)
|
|
||||||
elseif s:checkIn || search('\m`\|\${\|\*\/','nW'.s:z,s:looksyn)
|
|
||||||
let s:checkIn = eval(s:skip_expr)
|
|
||||||
endif
|
endif
|
||||||
let s:looksyn = line('.')
|
return s:synid_cache[1][pos]
|
||||||
return s:checkIn
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:alternatePair(stop)
|
function s:ParseCino(f)
|
||||||
let pos = getpos('.')[1:2]
|
let [divider, n, cstr] = [0] + matchlist(&cino,
|
||||||
let pat = '[][(){};]'
|
\ '\%(.*,\)\=\%(\%d'.char2nr(a:f).'\(-\)\=\([.s0-9]*\)\)\=')[1:2]
|
||||||
while search('\m'.pat,'bW',a:stop)
|
for c in split(cstr,'\zs')
|
||||||
if s:skip_func() | continue | endif
|
if c == '.' && !divider
|
||||||
let idx = stridx('])};',s:looking_at())
|
let divider = 1
|
||||||
if idx is 3 | let pat = '[{}()]' | continue | endif
|
elseif c ==# 's'
|
||||||
if idx + 1
|
if n !~ '\d'
|
||||||
if s:GetPair(['\[','(','{'][idx], '])}'[idx],'bW','s:skip_func()',2000,a:stop) <= 0
|
return n . s:sw() + 0
|
||||||
|
endif
|
||||||
|
let n = str2nr(n) * s:sw()
|
||||||
|
break
|
||||||
|
else
|
||||||
|
let [n, divider] .= [c, 0]
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
return str2nr(n) / max([str2nr(divider),1])
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Optimized {skip} expr, only callable from the search loop which
|
||||||
|
" GetJavascriptIndent does to find the containing [[{(] (side-effects)
|
||||||
|
function s:SkipFunc()
|
||||||
|
if s:top_col == 1
|
||||||
|
throw 'out of bounds'
|
||||||
|
elseif s:check_in
|
||||||
|
if eval(s:skip_expr)
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
let s:check_in = 0
|
||||||
|
elseif getline('.') =~ '\%<'.col('.').'c\/.\{-}\/\|\%>'.col('.').'c[''"]\|\\$'
|
||||||
|
if eval(s:skip_expr)
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
elseif search('\m`\|\${\|\*\/','nW'.s:z,s:looksyn)
|
||||||
|
if eval(s:skip_expr)
|
||||||
|
let s:check_in = 1
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
let s:synid_cache[:] += [[line2byte('.') + col('.') - 1], ['']]
|
||||||
|
endif
|
||||||
|
let [s:looksyn, s:top_col] = getpos('.')[1:2]
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:AlternatePair()
|
||||||
|
let [pat, l:for] = ['[][(){};]', 2]
|
||||||
|
while s:SearchLoop(pat,'bW','s:SkipFunc()')
|
||||||
|
if s:LookingAt() == ';'
|
||||||
|
if !l:for
|
||||||
|
if s:GetPair('{','}','bW','s:SkipFunc()')
|
||||||
|
return
|
||||||
|
endif
|
||||||
break
|
break
|
||||||
|
else
|
||||||
|
let [pat, l:for] = ['[{}();]', l:for - 1]
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
return
|
let idx = stridx('])}',s:LookingAt())
|
||||||
|
if idx == -1
|
||||||
|
return
|
||||||
|
elseif !s:GetPair(['\[','(','{'][idx],'])}'[idx],'bW','s:SkipFunc()')
|
||||||
|
break
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endwhile
|
endwhile
|
||||||
call call('cursor',pos)
|
throw 'out of bounds'
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:save_pos(f,...)
|
function s:Nat(int)
|
||||||
let l:pos = getpos('.')[1:2]
|
return a:int * (a:int > 0)
|
||||||
let ret = call(a:f,a:000)
|
|
||||||
call call('cursor',l:pos)
|
|
||||||
return ret
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:syn_at(l,c)
|
function s:LookingAt()
|
||||||
return synIDattr(synID(a:l,a:c,0),'name')
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function s:looking_at()
|
|
||||||
return getline('.')[col('.')-1]
|
return getline('.')[col('.')-1]
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:token()
|
function s:Token()
|
||||||
return s:looking_at() =~ '\k' ? expand('<cword>') : s:looking_at()
|
return s:LookingAt() =~ '\k' ? expand('<cword>') : s:LookingAt()
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:previous_token()
|
function s:PreviousToken(...)
|
||||||
let l:pos = getpos('.')[1:2]
|
let [l:pos, tok] = [getpos('.'), '']
|
||||||
if search('\m\k\{1,}\zs\k\|\S','bW')
|
if search('\m\k\{1,}\|\S','ebW')
|
||||||
if (getline('.')[col('.')-2:col('.')-1] == '*/' || line('.') != l:pos[0] &&
|
if getline('.')[col('.')-2:col('.')-1] == '*/'
|
||||||
\ getline('.') =~ '\%<'.col('.').'c\/\/') && s:syn_at(line('.'),col('.')) =~? s:syng_com
|
if eval(s:in_comm) && !s:SearchLoop('\S\ze\_s*\/[/*]','bW',s:in_comm)
|
||||||
while search('\m\S\ze\_s*\/[/*]','bW')
|
call setpos('.',l:pos)
|
||||||
if s:syn_at(line('.'),col('.')) !~? s:syng_com
|
else
|
||||||
return s:token()
|
let tok = s:Token()
|
||||||
endif
|
endif
|
||||||
endwhile
|
|
||||||
else
|
else
|
||||||
return s:token()
|
let two = a:0 || line('.') != l:pos[1] ? strridx(getline('.')[:col('.')],'//') + 1 : 0
|
||||||
|
if two && eval(s:in_comm)
|
||||||
|
call cursor(0,two)
|
||||||
|
let tok = s:PreviousToken(1)
|
||||||
|
if tok is ''
|
||||||
|
call setpos('.',l:pos)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
let tok = s:Token()
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
call call('cursor',l:pos)
|
return tok
|
||||||
return ''
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:expr_col()
|
function s:Pure(f,...)
|
||||||
|
return eval("[call(a:f,a:000),cursor(a:firstline,".col('.').")][0]")
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:SearchLoop(pat,flags,expr)
|
||||||
|
return s:GetPair(a:pat,'\_$.',a:flags,a:expr)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:ExprCol()
|
||||||
if getline('.')[col('.')-2] == ':'
|
if getline('.')[col('.')-2] == ':'
|
||||||
return 1
|
return 1
|
||||||
endif
|
endif
|
||||||
let bal = 0
|
let bal = 0
|
||||||
while search('\m[{}?:;]','bW')
|
while s:SearchLoop('[{}?:]','bW',s:skip_expr)
|
||||||
if eval(s:skip_expr) | continue | endif
|
if s:LookingAt() == ':'
|
||||||
" switch (looking_at())
|
if getline('.')[col('.')-2] == ':'
|
||||||
exe { '}': "if s:GetPair('{','}','bW',s:skip_expr,200) <= 0 | return | endif",
|
call cursor(0,col('.')-1)
|
||||||
\ ';': "return",
|
continue
|
||||||
\ '{': "return getpos('.')[1:2] != b:js_cache[1:] && !s:IsBlock()",
|
endif
|
||||||
\ ':': "let bal -= getline('.')[max([col('.')-2,0]):col('.')] !~ '::'",
|
let bal -= 1
|
||||||
\ '?': "let bal += 1 | if bal > 0 | return 1 | endif" }[s:looking_at()]
|
elseif s:LookingAt() == '?'
|
||||||
|
if getline('.')[col('.'):col('.')+1] =~ '^\.\d\@!'
|
||||||
|
continue
|
||||||
|
elseif !bal
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
let bal += 1
|
||||||
|
elseif s:LookingAt() == '{'
|
||||||
|
return !s:IsBlock()
|
||||||
|
elseif !s:GetPair('{','}','bW',s:skip_expr)
|
||||||
|
break
|
||||||
|
endif
|
||||||
endwhile
|
endwhile
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" configurable regexes that define continuation lines, not including (, {, or [.
|
" configurable regexes that define continuation lines, not including (, {, or [.
|
||||||
let s:opfirst = '^' . get(g:,'javascript_opfirst',
|
let s:opfirst = '^' . get(g:,'javascript_opfirst',
|
||||||
\ '\C\%([<>=,?^%|*/&]\|\([-.:+]\)\1\@!\|!=\|in\%(stanceof\)\=\>\)')
|
\ '\C\%([<>=,.?^%|/&]\|\([-:+]\)\1\@!\|\*\+\|!=\|in\%(stanceof\)\=\>\)')
|
||||||
let s:continuation = get(g:,'javascript_continuation',
|
let s:continuation = get(g:,'javascript_continuation',
|
||||||
\ '\C\%([-+<>=,.~!?/*^%|&:]\|\<\%(typeof\|new\|delete\|void\|in\|instanceof\|await\)\)') . '$'
|
\ '\C\%([<=,.~!?/*^%|&:]\|+\@<!+\|-\@<!-\|=\@<!>\|\<\%(typeof\|new\|delete\|void\|in\|instanceof\|await\)\)') . '$'
|
||||||
|
|
||||||
function s:continues(ln,con)
|
function s:Continues()
|
||||||
if !cursor(a:ln, match(' '.a:con,s:continuation))
|
let tok = matchstr(strpart(getline('.'),col('.')-15,15),s:continuation)
|
||||||
let teol = s:looking_at()
|
if tok =~ '[a-z:]'
|
||||||
if teol == '/'
|
return tok == ':' ? s:ExprCol() : s:PreviousToken() != '.'
|
||||||
return s:syn_at(line('.'),col('.')) !~? 'regex'
|
elseif tok !~ '[/>]'
|
||||||
elseif teol =~ '[-+>]'
|
return tok isnot ''
|
||||||
return getline('.')[col('.')-2] != tr(teol,'>','=')
|
endif
|
||||||
elseif teol =~ '\l'
|
return s:SynAt(line('.'),col('.')) !~? (tok == '>' ? 'jsflow\|^html' : 'regex')
|
||||||
return s:previous_token() != '.'
|
endfunction
|
||||||
elseif teol == ':'
|
|
||||||
return s:expr_col()
|
" Check if line 'lnum' has a balanced amount of parentheses.
|
||||||
|
function s:Balanced(lnum,line)
|
||||||
|
let l:open = 0
|
||||||
|
let pos = match(a:line, '[][(){}]')
|
||||||
|
while pos != -1
|
||||||
|
if s:SynAt(a:lnum,pos + 1) !~? b:syng_strcom
|
||||||
|
let l:open += match(' ' . a:line[pos],'[[({]')
|
||||||
|
if l:open < 0
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
let pos = match(a:line, !l:open ? '[][(){}]' : '()' =~ a:line[pos] ?
|
||||||
|
\ '[()]' : '{}' =~ a:line[pos] ? '[{}]' : '[][]', pos + 1)
|
||||||
|
endwhile
|
||||||
|
return !l:open
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:OneScope()
|
||||||
|
if s:LookingAt() == ')' && s:GetPair('(', ')', 'bW', s:skip_expr)
|
||||||
|
let tok = s:PreviousToken()
|
||||||
|
return (count(split('for if let while with'),tok) ||
|
||||||
|
\ tok =~# '^await$\|^each$' && s:PreviousToken() ==# 'for') &&
|
||||||
|
\ s:Pure('s:PreviousToken') != '.' && !(tok == 'while' && s:DoWhile())
|
||||||
|
elseif s:Token() =~# '^else$\|^do$'
|
||||||
|
return s:Pure('s:PreviousToken') != '.'
|
||||||
|
elseif strpart(getline('.'),col('.')-2,2) == '=>'
|
||||||
|
call cursor(0,col('.')-1)
|
||||||
|
if s:PreviousToken() == ')'
|
||||||
|
return s:GetPair('(', ')', 'bW', s:skip_expr)
|
||||||
endif
|
endif
|
||||||
return 1
|
return 1
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" get the line of code stripped of comments and move cursor to the last
|
function s:DoWhile()
|
||||||
" non-comment char.
|
let cpos = searchpos('\m\<','cbW')
|
||||||
function s:Trim(ln)
|
while s:SearchLoop('\C[{}]\|\<\%(do\|while\)\>','bW',s:skip_expr)
|
||||||
let pline = substitute(getline(a:ln),'\s*$','','')
|
if s:LookingAt() =~ '\a'
|
||||||
let l:max = max([strridx(pline,'//'), strridx(pline,'/*')])
|
if s:Pure('s:IsBlock')
|
||||||
while l:max != -1 && s:syn_at(a:ln, strlen(pline)) =~? s:syng_com
|
if s:LookingAt() ==# 'd'
|
||||||
let pline = pline[: l:max]
|
return 1
|
||||||
let l:max = max([strridx(pline,'//'), strridx(pline,'/*')])
|
endif
|
||||||
let pline = substitute(pline[:-2],'\s*$','','')
|
break
|
||||||
endwhile
|
|
||||||
return pline is '' || cursor(a:ln,strlen(pline)) ? pline : pline
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" Find line above 'lnum' that isn't empty or in a comment
|
|
||||||
function s:PrevCodeLine(lnum)
|
|
||||||
let [l:pos, l:n] = [getpos('.')[1:2], prevnonblank(a:lnum)]
|
|
||||||
while l:n
|
|
||||||
if getline(l:n) =~ '^\s*\/[/*]'
|
|
||||||
let l:n = prevnonblank(l:n-1)
|
|
||||||
elseif stridx(getline(l:n), '*/') + 1 && s:syn_at(l:n,1) =~? s:syng_com
|
|
||||||
call cursor(l:n,1)
|
|
||||||
keepjumps norm! [*
|
|
||||||
let l:n = search('\m\S','nbW')
|
|
||||||
else
|
|
||||||
break
|
|
||||||
endif
|
|
||||||
endwhile
|
|
||||||
call call('cursor',l:pos)
|
|
||||||
return l:n
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" Check if line 'lnum' has a balanced amount of parentheses.
|
|
||||||
function s:Balanced(lnum)
|
|
||||||
let l:open = 0
|
|
||||||
let l:line = getline(a:lnum)
|
|
||||||
let pos = match(l:line, '[][(){}]', 0)
|
|
||||||
while pos != -1
|
|
||||||
if s:syn_at(a:lnum,pos + 1) !~? s:syng_strcom
|
|
||||||
let l:open += match(' ' . l:line[pos],'[[({]')
|
|
||||||
if l:open < 0
|
|
||||||
return
|
|
||||||
endif
|
endif
|
||||||
endif
|
elseif s:LookingAt() != '}' || !s:GetPair('{','}','bW',s:skip_expr)
|
||||||
let pos = match(l:line, (l:open ?
|
|
||||||
\ '['.escape(tr(l:line[pos],'({[]})',')}][{(').l:line[pos],']').']' :
|
|
||||||
\ '[][(){}]'), pos + 1)
|
|
||||||
endwhile
|
|
||||||
return !l:open
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function s:OneScope(lnum)
|
|
||||||
let pline = s:Trim(a:lnum)
|
|
||||||
let kw = 'else do'
|
|
||||||
if pline[-1:] == ')' && s:GetPair('(', ')', 'bW', s:skip_expr, 100) > 0
|
|
||||||
if s:previous_token() =~# '^\%(await\|each\)$'
|
|
||||||
call s:previous_token()
|
|
||||||
let kw = 'for'
|
|
||||||
else
|
|
||||||
let kw = 'for if let while with'
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
return pline[-2:] == '=>' || index(split(kw),s:token()) + 1 &&
|
|
||||||
\ s:save_pos('s:previous_token') != '.'
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" returns braceless levels started by 'i' and above lines * shiftwidth().
|
|
||||||
" 'num' is the lineNr which encloses the entire context, 'cont' if whether
|
|
||||||
" line 'i' + 1 is a continued expression, which could have started in a
|
|
||||||
" braceless context
|
|
||||||
function s:iscontOne(i,num,cont)
|
|
||||||
let [l:i, l:num, bL] = [a:i, a:num + !a:num, 0]
|
|
||||||
let pind = a:num ? indent(l:num) + s:W : 0
|
|
||||||
let ind = indent(l:i) + (a:cont ? 0 : s:W)
|
|
||||||
while l:i >= l:num && (ind > pind || l:i == l:num)
|
|
||||||
if indent(l:i) < ind && s:OneScope(l:i)
|
|
||||||
let bL += s:W
|
|
||||||
let l:i = line('.')
|
|
||||||
elseif !a:cont || bL || ind < indent(a:i)
|
|
||||||
break
|
break
|
||||||
endif
|
endif
|
||||||
let ind = min([ind, indent(l:i)])
|
|
||||||
let l:i = s:PrevCodeLine(l:i - 1)
|
|
||||||
endwhile
|
endwhile
|
||||||
return bL
|
call call('cursor',cpos)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" returns total offset from braceless contexts. 'num' is the lineNr which
|
||||||
|
" encloses the entire context, 'cont' if whether a:firstline is a continued
|
||||||
|
" expression, which could have started in a braceless context
|
||||||
|
function s:IsContOne(cont)
|
||||||
|
let [l:num, b_l] = [b:js_cache[1] + !b:js_cache[1], 0]
|
||||||
|
let pind = b:js_cache[1] ? indent(b:js_cache[1]) + s:sw() : 0
|
||||||
|
let ind = indent('.') + !a:cont
|
||||||
|
while line('.') > l:num && ind > pind || line('.') == l:num
|
||||||
|
if indent('.') < ind && s:OneScope()
|
||||||
|
let b_l += 1
|
||||||
|
elseif !a:cont || b_l || ind < indent(a:firstline)
|
||||||
|
break
|
||||||
|
else
|
||||||
|
call cursor(0,1)
|
||||||
|
endif
|
||||||
|
let ind = min([ind, indent('.')])
|
||||||
|
if s:PreviousToken() is ''
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
return b_l
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:IsSwitch()
|
||||||
|
call call('cursor',b:js_cache[1:])
|
||||||
|
return search('\m\C\%#.\_s*\%(\%(\/\/.*\_$\|\/\*\_.\{-}\*\/\)\@>\_s*\)*\%(case\|default\)\>','nWc'.s:z)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" https://github.com/sweet-js/sweet.js/wiki/design#give-lookbehind-to-the-reader
|
" https://github.com/sweet-js/sweet.js/wiki/design#give-lookbehind-to-the-reader
|
||||||
function s:IsBlock()
|
function s:IsBlock()
|
||||||
if s:looking_at() == '{'
|
let tok = s:PreviousToken()
|
||||||
let l:n = line('.')
|
if join(s:stack) =~? 'xml\|jsx' && s:SynAt(line('.'),col('.')-1) =~? 'xml\|jsx'
|
||||||
let char = s:previous_token()
|
let s:in_jsx = 1
|
||||||
if match(s:stack,'\cxml\|jsx') + 1 && s:syn_at(line('.'),col('.')-1) =~? 'xml\|jsx'
|
return tok != '{'
|
||||||
return char != '{'
|
elseif tok =~ '\k'
|
||||||
elseif char =~ '\k'
|
if tok ==# 'type'
|
||||||
if char ==# 'type'
|
return s:Pure('eval',"s:PreviousToken() !~# '^\\%(im\\|ex\\)port$' || s:PreviousToken() == '.'")
|
||||||
return s:previous_token() !~# '^\%(im\|ex\)port$'
|
elseif tok ==# 'of'
|
||||||
endif
|
return s:Pure('eval',"!s:GetPair('[[({]','[])}]','bW',s:skip_expr) || s:LookingAt() != '(' ||"
|
||||||
return index(split('return const let import export extends yield default delete var await void typeof throw case new of in instanceof')
|
\ ."s:{s:PreviousToken() ==# 'await' ? 'Previous' : ''}Token() !=# 'for' || s:PreviousToken() == '.'")
|
||||||
\ ,char) < (line('.') != l:n) || s:save_pos('s:previous_token') == '.'
|
|
||||||
elseif char == '>'
|
|
||||||
return getline('.')[col('.')-2] == '=' || s:syn_at(line('.'),col('.')) =~? '^jsflow'
|
|
||||||
elseif char == ':'
|
|
||||||
return !s:save_pos('s:expr_col')
|
|
||||||
elseif char == '/'
|
|
||||||
return s:syn_at(line('.'),col('.')) =~? 'regex'
|
|
||||||
endif
|
endif
|
||||||
return char !~ '[=~!<*,?^%|&([]' &&
|
return index(split('return const let import export extends yield default delete var await void typeof throw case new in instanceof')
|
||||||
\ (char !~ '[-+]' || l:n != line('.') && getline('.')[col('.')-2] == char)
|
\ ,tok) < (line('.') != a:firstline) || s:Pure('s:PreviousToken') == '.'
|
||||||
|
elseif tok == '>'
|
||||||
|
return getline('.')[col('.')-2] == '=' || s:SynAt(line('.'),col('.')) =~? 'jsflow\|^html'
|
||||||
|
elseif tok == '*'
|
||||||
|
return s:Pure('s:PreviousToken') == ':'
|
||||||
|
elseif tok == ':'
|
||||||
|
return s:Pure('eval',"s:PreviousToken() =~ '^\\K\\k*$' && !s:ExprCol()")
|
||||||
|
elseif tok == '/'
|
||||||
|
return s:SynAt(line('.'),col('.')) =~? 'regex'
|
||||||
|
elseif tok !~ '[=~!<,.?^%|&([]'
|
||||||
|
return tok !~ '[-+]' || line('.') != a:firstline && getline('.')[col('.')-2] == tok
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function GetJavascriptIndent()
|
function GetJavascriptIndent()
|
||||||
let b:js_cache = get(b:,'js_cache',[0,0,0])
|
call s:GetVars()
|
||||||
" Get the current line.
|
let s:synid_cache = [[],[]]
|
||||||
call cursor(v:lnum,1)
|
let l:line = getline(v:lnum)
|
||||||
let l:line = getline('.')
|
|
||||||
" use synstack as it validates syn state and works in an empty line
|
" use synstack as it validates syn state and works in an empty line
|
||||||
let s:stack = map(synstack(v:lnum,1),"synIDattr(v:val,'name')")
|
let s:stack = [''] + map(synstack(v:lnum,1),"synIDattr(v:val,'name')")
|
||||||
let syns = get(s:stack,-1,'')
|
|
||||||
|
|
||||||
" start with strings,comments,etc.
|
" start with strings,comments,etc.
|
||||||
if syns =~? s:syng_com
|
if s:stack[-1] =~? 'comment\|doc'
|
||||||
if l:line =~ '^\s*\*'
|
if l:line =~ '^\s*\*'
|
||||||
return cindent(v:lnum)
|
return cindent(v:lnum)
|
||||||
elseif l:line !~ '^\s*\/[/*]'
|
elseif l:line !~ '^\s*\/[/*]'
|
||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
elseif syns =~? s:syng_str
|
elseif s:stack[-1] =~? b:syng_str
|
||||||
if b:js_cache[0] == v:lnum - 1 && s:Balanced(v:lnum-1)
|
if b:js_cache[0] == v:lnum - 1 && s:Balanced(v:lnum-1,getline(v:lnum-1))
|
||||||
let b:js_cache[0] = v:lnum
|
let b:js_cache[0] = v:lnum
|
||||||
endif
|
endif
|
||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
let l:lnum = s:PrevCodeLine(v:lnum - 1)
|
|
||||||
if !l:lnum
|
let s:l1 = max([0,prevnonblank(v:lnum) - (s:rel ? 2000 : 1000),
|
||||||
|
\ get(get(b:,'hi_indent',{}),'blocklnr')])
|
||||||
|
call cursor(v:lnum,1)
|
||||||
|
if s:PreviousToken() is ''
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
let [l:lnum, pline] = [line('.'), getline('.')[:col('.')-1]]
|
||||||
|
|
||||||
let l:line = substitute(l:line,'^\s*','','')
|
let l:line = substitute(l:line,'^\s*','','')
|
||||||
|
let l:line_raw = l:line
|
||||||
if l:line[:1] == '/*'
|
if l:line[:1] == '/*'
|
||||||
let l:line = substitute(l:line,'^\%(\/\*.\{-}\*\/\s*\)*','','')
|
let l:line = substitute(l:line,'^\%(\/\*.\{-}\*\/\s*\)*','','')
|
||||||
endif
|
endif
|
||||||
@@ -318,60 +388,92 @@ function GetJavascriptIndent()
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" the containing paren, bracket, or curly. Many hacks for performance
|
" the containing paren, bracket, or curly. Many hacks for performance
|
||||||
|
call cursor(v:lnum,1)
|
||||||
let idx = index([']',')','}'],l:line[0])
|
let idx = index([']',')','}'],l:line[0])
|
||||||
if b:js_cache[0] >= l:lnum && b:js_cache[0] < v:lnum &&
|
if b:js_cache[0] > l:lnum && b:js_cache[0] < v:lnum ||
|
||||||
\ (b:js_cache[0] > l:lnum || s:Balanced(l:lnum))
|
\ b:js_cache[0] == l:lnum && s:Balanced(l:lnum,pline)
|
||||||
call call('cursor',b:js_cache[1:])
|
call call('cursor',b:js_cache[1:])
|
||||||
else
|
else
|
||||||
let [s:looksyn, s:checkIn, top] = [v:lnum - 1, 0, (!indent(l:lnum) &&
|
let [s:looksyn, s:top_col, s:check_in, s:l1] = [v:lnum - 1,0,0,
|
||||||
\ s:syn_at(l:lnum,1) !~? s:syng_str) * l:lnum]
|
\ max([s:l1, &smc ? search('\m^.\{'.&smc.',}','nbW',s:l1 + 1) + 1 : 0])]
|
||||||
if idx + 1
|
try
|
||||||
call s:GetPair(['\[','(','{'][idx],'])}'[idx],'bW','s:skip_func()',2000,top)
|
if idx != -1
|
||||||
elseif getline(v:lnum) !~ '^\S' && syns =~? 'block'
|
call s:GetPair(['\[','(','{'][idx],'])}'[idx],'bW','s:SkipFunc()')
|
||||||
call s:GetPair('{','}','bW','s:skip_func()',2000,top)
|
elseif getline(v:lnum) !~ '^\S' && s:stack[-1] =~? 'block\|^jsobject$'
|
||||||
else
|
call s:GetPair('{','}','bW','s:SkipFunc()')
|
||||||
call s:alternatePair(top)
|
else
|
||||||
endif
|
call s:AlternatePair()
|
||||||
|
endif
|
||||||
|
catch /^\Cout of bounds$/
|
||||||
|
call cursor(v:lnum,1)
|
||||||
|
endtry
|
||||||
|
let b:js_cache[1:] = line('.') == v:lnum ? [0,0] : getpos('.')[1:2]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let b:js_cache = [v:lnum] + (line('.') == v:lnum ? [0,0] : getpos('.')[1:2])
|
let [b:js_cache[0], num] = [v:lnum, b:js_cache[1]]
|
||||||
let num = b:js_cache[1]
|
|
||||||
|
|
||||||
let [s:W, isOp, bL, switch_offset] = [s:sw(),0,0,0]
|
let [num_ind, is_op, b_l, l:switch_offset, s:in_jsx] = [s:Nat(indent(num)),0,0,0,0]
|
||||||
if !num || s:IsBlock()
|
if !num || s:LookingAt() == '{' && s:IsBlock()
|
||||||
let ilnum = line('.')
|
let ilnum = line('.')
|
||||||
let pline = s:save_pos('s:Trim',l:lnum)
|
if num && !s:in_jsx && s:LookingAt() == ')' && s:GetPair('(',')','bW',s:skip_expr)
|
||||||
if num && s:looking_at() == ')' && s:GetPair('(', ')', 'bW', s:skip_expr, 100) > 0
|
if ilnum == num
|
||||||
let num = ilnum == num ? line('.') : num
|
let [num, num_ind] = [line('.'), indent('.')]
|
||||||
if idx < 0 && s:previous_token() ==# 'switch' && s:previous_token() != '.'
|
endif
|
||||||
if &cino !~ ':'
|
if idx == -1 && s:PreviousToken() ==# 'switch' && s:IsSwitch()
|
||||||
let switch_offset = s:W
|
let l:switch_offset = &cino !~ ':' ? s:sw() : s:ParseCino(':')
|
||||||
else
|
|
||||||
let switch_offset = max([-indent(num),s:parse_cino(':')])
|
|
||||||
endif
|
|
||||||
if pline[-1:] != '.' && l:line =~# '^\%(default\|case\)\>'
|
if pline[-1:] != '.' && l:line =~# '^\%(default\|case\)\>'
|
||||||
return indent(num) + switch_offset
|
return s:Nat(num_ind + l:switch_offset)
|
||||||
|
elseif &cino =~ '='
|
||||||
|
let l:case_offset = s:ParseCino('=')
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
if idx < 0 && pline[-1:] !~ '[{;]'
|
if idx == -1 && pline[-1:] !~ '[{;]'
|
||||||
let isOp = (l:line =~# s:opfirst || s:continues(l:lnum,pline)) * s:W
|
call cursor(l:lnum, len(pline))
|
||||||
let bL = s:iscontOne(l:lnum,b:js_cache[1],isOp)
|
let sol = matchstr(l:line,s:opfirst)
|
||||||
let bL -= (bL && l:line[0] == '{') * s:W
|
if sol is '' || sol == '/' && s:SynAt(v:lnum,
|
||||||
|
\ 1 + len(getline(v:lnum)) - len(l:line)) =~? 'regex'
|
||||||
|
if s:Continues()
|
||||||
|
let is_op = s:sw()
|
||||||
|
endif
|
||||||
|
elseif num && sol =~# '^\%(in\%(stanceof\)\=\|\*\)$' &&
|
||||||
|
\ s:LookingAt() == '}' && s:GetPair('{','}','bW',s:skip_expr) &&
|
||||||
|
\ s:PreviousToken() == ')' && s:GetPair('(',')','bW',s:skip_expr) &&
|
||||||
|
\ (s:PreviousToken() == ']' || s:LookingAt() =~ '\k' &&
|
||||||
|
\ s:{s:PreviousToken() == '*' ? 'Previous' : ''}Token() !=# 'function')
|
||||||
|
return num_ind + s:sw()
|
||||||
|
else
|
||||||
|
let is_op = s:sw()
|
||||||
|
endif
|
||||||
|
call cursor(l:lnum, len(pline))
|
||||||
|
let b_l = s:Nat(s:IsContOne(is_op) - (!is_op && l:line =~ '^{')) * s:sw()
|
||||||
endif
|
endif
|
||||||
elseif idx < 0 && getline(b:js_cache[1])[b:js_cache[2]-1] == '(' && &cino =~ '('
|
elseif idx.s:LookingAt().&cino =~ '^-1(.*(' && (search('\m\S','nbW',num) || s:ParseCino('U'))
|
||||||
let pval = s:parse_cino('(')
|
let pval = s:ParseCino('(')
|
||||||
return !pval ? (s:parse_cino('w') ? 0 : -(!!search('\m\S','W'.s:z,num))) + virtcol('.') :
|
if !pval
|
||||||
\ max([indent('.') + pval + (s:GetPair('(',')','nbrmW',s:skip_expr,100,num) * s:W),0])
|
let [Wval, vcol] = [s:ParseCino('W'), virtcol('.')]
|
||||||
|
if search('\m\S','W',num)
|
||||||
|
return s:ParseCino('w') ? vcol : virtcol('.')-1
|
||||||
|
endif
|
||||||
|
return Wval ? s:Nat(num_ind + Wval) : vcol
|
||||||
|
endif
|
||||||
|
return s:Nat(num_ind + pval + searchpair('\m(','','\m)','nbrmW',s:skip_expr,num) * s:sw())
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" main return
|
" main return
|
||||||
if l:line =~ '^\%([])}]\||}\)'
|
if l:line =~ '^[])}]\|^|}'
|
||||||
return max([indent(num),0])
|
if l:line_raw[0] == ')'
|
||||||
|
if s:ParseCino('M')
|
||||||
|
return indent(l:lnum)
|
||||||
|
elseif num && &cino =~# 'm' && !s:ParseCino('m')
|
||||||
|
return virtcol('.') - 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
return num_ind
|
||||||
elseif num
|
elseif num
|
||||||
return indent(num) + s:W + switch_offset + bL + isOp
|
return s:Nat(num_ind + get(l:,'case_offset',s:sw()) + l:switch_offset + b_l + is_op)
|
||||||
endif
|
endif
|
||||||
return bL + isOp
|
return b_l + is_op
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
|
|||||||
91
runtime/indent/nsis.vim
Normal file
91
runtime/indent/nsis.vim
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
" Vim indent file
|
||||||
|
" Language: NSIS script
|
||||||
|
" Maintainer: Ken Takata
|
||||||
|
" URL: https://github.com/k-takata/vim-nsis
|
||||||
|
" Last Change: 2018-01-21
|
||||||
|
" Filenames: *.nsi
|
||||||
|
" License: VIM License
|
||||||
|
|
||||||
|
if exists("b:did_indent")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let b:did_indent = 1
|
||||||
|
|
||||||
|
setlocal nosmartindent
|
||||||
|
setlocal noautoindent
|
||||||
|
setlocal indentexpr=GetNsisIndent(v:lnum)
|
||||||
|
setlocal indentkeys=!^F,o,O
|
||||||
|
setlocal indentkeys+==~${Else,=~${EndIf,=~${EndUnless,=~${AndIf,=~${AndUnless,=~${OrIf,=~${OrUnless,=~${Case,=~${Default,=~${EndSelect,=~${EndSwith,=~${Loop,=~${Next,=~${MementoSectionEnd,=~FunctionEnd,=~SectionEnd,=~SectionGroupEnd,=~PageExEnd,0=~!macroend,0=~!if,0=~!else,0=~!endif
|
||||||
|
|
||||||
|
if exists("*GetNsisIndent")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
function! GetNsisIndent(lnum)
|
||||||
|
" If this line is explicitly joined: If the previous line was also joined,
|
||||||
|
" line it up with that one, otherwise add two 'shiftwidth'
|
||||||
|
if getline(a:lnum - 1) =~ '\\$'
|
||||||
|
if a:lnum > 1 && getline(a:lnum - 2) =~ '\\$'
|
||||||
|
return indent(a:lnum - 1)
|
||||||
|
endif
|
||||||
|
return indent(a:lnum - 1) + shiftwidth() * 2
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Grab the current line, stripping comments.
|
||||||
|
let l:thisl = substitute(getline(a:lnum), '[;#].*$', '', '')
|
||||||
|
" Check if this line is a conditional preprocessor line.
|
||||||
|
let l:preproc = l:thisl =~? '^\s*!\%(if\|else\|endif\)'
|
||||||
|
|
||||||
|
" Grab the previous line, stripping comments.
|
||||||
|
" Skip preprocessor lines and continued lines.
|
||||||
|
let l:prevlnum = a:lnum
|
||||||
|
while 1
|
||||||
|
let l:prevlnum = prevnonblank(l:prevlnum - 1)
|
||||||
|
if l:prevlnum == 0
|
||||||
|
" top of file
|
||||||
|
return 0
|
||||||
|
endif
|
||||||
|
let l:prevl = substitute(getline(l:prevlnum), '[;#].*$', '', '')
|
||||||
|
let l:prevpreproc = l:prevl =~? '^\s*!\%(if\|else\|endif\)'
|
||||||
|
if l:preproc == l:prevpreproc && getline(l:prevlnum - 1) !~? '\\$'
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
let l:previ = indent(l:prevlnum)
|
||||||
|
let l:ind = l:previ
|
||||||
|
|
||||||
|
if l:preproc
|
||||||
|
" conditional preprocessor
|
||||||
|
if l:prevl =~? '^\s*!\%(if\%(\%(macro\)\?n\?def\)\?\|else\)\>'
|
||||||
|
let l:ind += shiftwidth()
|
||||||
|
endif
|
||||||
|
if l:thisl =~? '^\s*!\%(else\|endif\)\?\>'
|
||||||
|
let l:ind -= shiftwidth()
|
||||||
|
endif
|
||||||
|
return l:ind
|
||||||
|
endif
|
||||||
|
|
||||||
|
if l:prevl =~? '^\s*\%(\${\%(If\|IfNot\|Unless\|ElseIf\|ElseIfNot\|ElseUnless\|Else\|AndIf\|AndIfNot\|AndUnless\|OrIf\|OrIfNot\|OrUnless\|Select\|Case\|Case[2-5]\|CaseElse\|Default\|Switch\|Do\|DoWhile\|DoUntil\|For\|ForEach\|MementoSection\)}\|Function\>\|Section\>\|SectionGroup\|PageEx\>\|!macro\>\)'
|
||||||
|
" previous line opened a block
|
||||||
|
let l:ind += shiftwidth()
|
||||||
|
endif
|
||||||
|
if l:thisl =~? '^\s*\%(\${\%(ElseIf\|ElseIfNot\|ElseUnless\|Else\|EndIf\|EndUnless\|AndIf\|AndIfNot\|AndUnless\|OrIf\|OrIfNot\|OrUnless\|Loop\|LoopWhile\|LoopUntil\|Next\|MementoSectionEnd\)\>}\?\|FunctionEnd\>\|SectionEnd\>\|SectionGroupEnd\|PageExEnd\>\|!macroend\>\)'
|
||||||
|
" this line closed a block
|
||||||
|
let l:ind -= shiftwidth()
|
||||||
|
elseif l:thisl =~? '^\s*\${\%(Case\|Case[2-5]\|CaseElse\|Default\)\>}\?'
|
||||||
|
if l:prevl !~? '^\s*\${\%(Select\|Switch\)}'
|
||||||
|
let l:ind -= shiftwidth()
|
||||||
|
endif
|
||||||
|
elseif l:thisl =~? '^\s*\${\%(EndSelect\|EndSwitch\)\>}\?'
|
||||||
|
" this line closed a block
|
||||||
|
if l:prevl =~? '^\s*\${\%(Select\|Switch\)}'
|
||||||
|
let l:ind -= shiftwidth()
|
||||||
|
else
|
||||||
|
let l:ind -= shiftwidth() * 2
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
return l:ind
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" vim: ts=8 sw=2 sts=2
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||||
" Homepage: http://github.com/vim-perl/vim-perl
|
" Homepage: http://github.com/vim-perl/vim-perl
|
||||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||||
" Last Change: 2017 Jun 13
|
" Last Change: 2017-01-04
|
||||||
|
|
||||||
" Suggestions and improvements by :
|
" Suggestions and improvements by :
|
||||||
" Aaron J. Sherman (use syntax for hints)
|
" Aaron J. Sherman (use syntax for hints)
|
||||||
@@ -48,11 +48,6 @@ function! GetPerlIndent()
|
|||||||
return 0
|
return 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Don't reindent comments on first column
|
|
||||||
if cline =~ '^#.'
|
|
||||||
return 0
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Get current syntax item at the line's first char
|
" Get current syntax item at the line's first char
|
||||||
let csynid = ''
|
let csynid = ''
|
||||||
if b:indent_use_syntax
|
if b:indent_use_syntax
|
||||||
@@ -134,6 +129,7 @@ function! GetPerlIndent()
|
|||||||
\ || synid == "perlMatchStartEnd"
|
\ || synid == "perlMatchStartEnd"
|
||||||
\ || synid == "perlHereDoc"
|
\ || synid == "perlHereDoc"
|
||||||
\ || synid == "perlBraces"
|
\ || synid == "perlBraces"
|
||||||
|
\ || synid == "perlStatementIndirObj"
|
||||||
\ || synid =~ "^perlFiledescStatement"
|
\ || synid =~ "^perlFiledescStatement"
|
||||||
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
|
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
|
||||||
let brace = strpart(line, bracepos, 1)
|
let brace = strpart(line, bracepos, 1)
|
||||||
@@ -151,6 +147,7 @@ function! GetPerlIndent()
|
|||||||
if synid == ""
|
if synid == ""
|
||||||
\ || synid == "perlMatchStartEnd"
|
\ || synid == "perlMatchStartEnd"
|
||||||
\ || synid == "perlBraces"
|
\ || synid == "perlBraces"
|
||||||
|
\ || synid == "perlStatementIndirObj"
|
||||||
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
|
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
|
||||||
let ind = ind - shiftwidth()
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: Scheme
|
" Language: Scheme
|
||||||
" Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
|
" Last Change: 2018 Jan 31
|
||||||
" Last Change: 2005 Jun 24
|
" Maintainer: Evan Hanson <evhan@foldling.org>
|
||||||
|
" Previous Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
|
||||||
|
" URL: https://foldling.org/vim/indent/scheme.vim
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
" Only load this indent file when no other was loaded.
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" Use the Lisp indenting
|
||||||
runtime! indent/lisp.vim
|
runtime! indent/lisp.vim
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user