mirror of
https://github.com/zoriya/vim.git
synced 2025-12-08 00:06:17 +00:00
Compare commits
653 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 | ||
|
|
dada6d2a8e | ||
|
|
ef68e4fa52 | ||
|
|
3346cc4ffb | ||
|
|
995e4afcfe | ||
|
|
9ac9dfa9e2 | ||
|
|
2c809b7c7d | ||
|
|
9e8dcf9d6f | ||
|
|
da73253a0b | ||
|
|
3d593c2dc9 | ||
|
|
2db0ec4b2e | ||
|
|
5c6dbcb03f | ||
|
|
4e83961985 | ||
|
|
4bebc9a056 | ||
|
|
a539f4f1ae | ||
|
|
1a333bc44a | ||
|
|
dc5471d482 | ||
|
|
0f0f230012 | ||
|
|
d41babef89 | ||
|
|
4ad3b2b588 | ||
|
|
dde6034111 | ||
|
|
f3af54eeb1 | ||
|
|
97a80e440a | ||
|
|
b47a2597e6 | ||
|
|
e561a7e2fa | ||
|
|
48340b62e8 | ||
|
|
97f65fafdb | ||
|
|
3c37a8e660 | ||
|
|
4db2554954 | ||
|
|
1dccf6351d | ||
|
|
cbe6944956 | ||
|
|
c572da5f67 | ||
|
|
7adf06f4e2 | ||
|
|
4ab7968aa9 | ||
|
|
8d9f0ef5c6 | ||
|
|
e85928a324 | ||
|
|
02e177d3e8 | ||
|
|
0903d56f5c | ||
|
|
13ebb03e75 | ||
|
|
dde81312b0 | ||
|
|
a4f99f5a8b | ||
|
|
e922460394 | ||
|
|
833e0e3c8c | ||
|
|
753289f9bf | ||
|
|
be0b72977f | ||
|
|
f6d9f96b2d | ||
|
|
33d66bd9fa | ||
|
|
6c4d12c527 | ||
|
|
285f243e50 | ||
|
|
77f7474d08 | ||
|
|
829aa64cf5 | ||
|
|
d2c45a1964 | ||
|
|
ec0e07a324 | ||
|
|
6d0826dfbb | ||
|
|
5830232c02 | ||
|
|
3f9a1ff141 | ||
|
|
740c433c59 | ||
|
|
0cbba82359 | ||
|
|
b109bb4e12 | ||
|
|
eef0531621 | ||
|
|
37819ed540 | ||
|
|
5983d50247 | ||
|
|
b241208a13 | ||
|
|
edbc0d46cf | ||
|
|
8efa026a25 | ||
|
|
ce1c32780a | ||
|
|
37b9b81997 | ||
|
|
0aed9a2e2e | ||
|
|
d6a7b3e6bb | ||
|
|
dc926dd0dd | ||
|
|
77ac9b5c62 | ||
|
|
93c92eff26 | ||
|
|
fc8bec0be4 | ||
|
|
3eee06e7d4 | ||
|
|
683b796725 | ||
|
|
d21f8b54b2 | ||
|
|
9aa1569128 | ||
|
|
98ebd2bbec | ||
|
|
8e539c51c3 | ||
|
|
f66a2cda2c | ||
|
|
ea5d6fadbb | ||
|
|
97bd5e6527 | ||
|
|
cfce71710b | ||
|
|
82de3c2c03 | ||
|
|
bc906e445c | ||
|
|
f5be7cd016 | ||
|
|
a83e3962ac | ||
|
|
84ed4ad084 | ||
|
|
ade59630c7 | ||
|
|
9e13aa7729 | ||
|
|
989a70c590 | ||
|
|
6fe15bbc87 | ||
|
|
a9f8ee05f4 | ||
|
|
60104f183c | ||
|
|
d21b16f3c0 | ||
|
|
3678393baa | ||
|
|
4fa1019f80 | ||
|
|
05fbfdcda4 | ||
|
|
c08706135d | ||
|
|
51c23687a9 | ||
|
|
6bb18a878c | ||
|
|
bce4f62d30 | ||
|
|
2bb7b6b0e4 | ||
|
|
304b64c9e6 | ||
|
|
6b93b0e838 | ||
|
|
9f0139a2a8 | ||
|
|
4f44b88684 | ||
|
|
69905d108b | ||
|
|
e62780543f | ||
|
|
2438ae3d67 | ||
|
|
dcaa61384c | ||
|
|
274a52fd58 | ||
|
|
e0f314aa8d | ||
|
|
62426e168e | ||
|
|
5cc1f2c477 | ||
|
|
679653e59c | ||
|
|
55b6926450 | ||
|
|
3d9bdfebf1 | ||
|
|
893029ab20 | ||
|
|
c977092053 | ||
|
|
3cd43ccccb | ||
|
|
589b1109c5 | ||
|
|
37c4583594 | ||
|
|
7eedd4398a | ||
|
|
0cd2a94a40 | ||
|
|
9698ad7201 | ||
|
|
8cad930a25 | ||
|
|
b81bc77ae7 | ||
|
|
da43b61ddd | ||
|
|
8ed5400739 | ||
|
|
08d384ff3a | ||
|
|
89e06c807a | ||
|
|
d9bc8a801a | ||
|
|
444fda2084 | ||
|
|
ae33833850 | ||
|
|
cf8d840ce9 | ||
|
|
1ccd8fff8a | ||
|
|
05aafed54b | ||
|
|
76ca1b4041 | ||
|
|
ab6c8587ba | ||
|
|
2d33e90f81 | ||
|
|
e41e3b41f9 | ||
|
|
f1237f1814 | ||
|
|
dd693ce28b | ||
|
|
8ab3c1dc6b | ||
|
|
0a0217abfa | ||
|
|
82b9ca05f4 | ||
|
|
292d569935 | ||
|
|
7fadbf8325 | ||
|
|
75373f3808 | ||
|
|
e20b3eba73 | ||
|
|
116a0f800c | ||
|
|
6d87e9e1c6 | ||
|
|
f8d57a5049 | ||
|
|
33a43bee9c | ||
|
|
f3402b1b7f | ||
|
|
1c864093f9 | ||
|
|
4535654246 | ||
|
|
e16b00a158 | ||
|
|
02113ed4df | ||
|
|
bae5a17a73 | ||
|
|
cae92dc3d5 | ||
|
|
6d8197485d | ||
|
|
39d21e3c30 | ||
|
|
0af2d32c21 | ||
|
|
22aa23fd8c | ||
|
|
aaa8a35fbd | ||
|
|
98fd66d311 | ||
|
|
086d535f77 | ||
|
|
b9279e73ae | ||
|
|
a9f028103f | ||
|
|
cfcc022c54 | ||
|
|
35422f45ba | ||
|
|
d53109886b | ||
|
|
8456ea8050 | ||
|
|
78712a7733 | ||
|
|
69198197fd | ||
|
|
07c043af5f | ||
|
|
4a137b4586 | ||
|
|
6b7355a30d | ||
|
|
8e5eece8c5 | ||
|
|
eb44a68b42 | ||
|
|
620d064b0b | ||
|
|
102dc7f891 | ||
|
|
5be8dd087f | ||
|
|
e9c21aed62 | ||
|
|
b4a6721a28 | ||
|
|
1b66c00aec | ||
|
|
69a76feda9 | ||
|
|
01efafad12 | ||
|
|
3c3a80dc59 | ||
|
|
2f3a90a3bd | ||
|
|
398ee7326b | ||
|
|
7c9aec4ac8 | ||
|
|
d8dc179937 | ||
|
|
e0ab979fa7 | ||
|
|
66cd19fef1 | ||
|
|
223896d3e9 | ||
|
|
5c838a3e71 | ||
|
|
b6843a007d | ||
|
|
fae4283542 | ||
|
|
94053a5125 | ||
|
|
0792048842 | ||
|
|
f55e4c867f | ||
|
|
20e6cd07ba | ||
|
|
65cedb2074 | ||
|
|
2a4f06f370 | ||
|
|
9c8448472f | ||
|
|
c2ce52c011 | ||
|
|
12d853fae1 | ||
|
|
aaef1bae3c | ||
|
|
7da346035b | ||
|
|
983b3a5bc4 | ||
|
|
979e8c5346 | ||
|
|
662d938666 | ||
|
|
3633cf5201 | ||
|
|
392d1bfa5e | ||
|
|
c9456cec0c | ||
|
|
d09be32142 | ||
|
|
b000e328ef | ||
|
|
12d93ee26d | ||
|
|
0e23e9c5e7 | ||
|
|
97870002d3 | ||
|
|
22aad2f880 | ||
|
|
f144a3fb73 | ||
|
|
43c007ff22 | ||
|
|
0e7885e67d | ||
|
|
423802d1a2 | ||
|
|
68c4bdd53c | ||
|
|
5449f7c6fc | ||
|
|
d0b6c6c54e | ||
|
|
30fe88677d | ||
|
|
d507a685ad | ||
|
|
6e1ef28057 | ||
|
|
f98246d484 | ||
|
|
d1ee0043c0 | ||
|
|
91d348abfc | ||
|
|
c6df10e5d3 | ||
|
|
70229f951f | ||
|
|
1e8340bbbf | ||
|
|
696d00f488 | ||
|
|
dcbfa33fa1 | ||
|
|
63ecddab6d | ||
|
|
d85f271bf8 | ||
|
|
d973bcb483 | ||
|
|
607985a95f | ||
|
|
9966b21a57 | ||
|
|
93723a4ef1 | ||
|
|
1a0f200500 | ||
|
|
b41bf8e6b4 | ||
|
|
fa228f716a | ||
|
|
96ad8c9ac1 | ||
|
|
f86eea9f01 | ||
|
|
1f28b4c6a3 | ||
|
|
8bcc99b821 | ||
|
|
38ed1f5bea | ||
|
|
d243a2a5ef | ||
|
|
bb543088a5 | ||
|
|
59ee05b2f5 | ||
|
|
67883b4909 | ||
|
|
a2c45a17c1 | ||
|
|
0e83f02d80 | ||
|
|
d28cc3f55d | ||
|
|
ab6eec3887 | ||
|
|
cb25d18220 | ||
|
|
293424c199 | ||
|
|
4cc93dc85a | ||
|
|
a1b5b09281 | ||
|
|
f0a521f4f7 | ||
|
|
fc716d7256 | ||
|
|
8f14bb58cb | ||
|
|
f80451e6fe | ||
|
|
b2a76ec06b | ||
|
|
1c84493bbe | ||
|
|
86067eb05e | ||
|
|
8a77306fa1 | ||
|
|
2155441460 | ||
|
|
d60547bf80 | ||
|
|
c4f43bce7c | ||
|
|
81bdd6a025 | ||
|
|
dbe948d6c3 | ||
|
|
b6e0ec6b71 | ||
|
|
9cc5f75932 | ||
|
|
c31f9ae4f1 | ||
|
|
1f2903c431 | ||
|
|
065f41c814 | ||
|
|
43da3e36b2 | ||
|
|
cdeae99b4e | ||
|
|
9c5589c7ce | ||
|
|
2aeaf3fc01 | ||
|
|
26af85d97b | ||
|
|
eeac677886 | ||
|
|
b13501f7da | ||
|
|
d7d3cbedb3 | ||
|
|
613fe7ad2b | ||
|
|
6ed8069c79 | ||
|
|
816e7660e1 | ||
|
|
b7a8dfeb49 | ||
|
|
e173fd0972 | ||
|
|
61a6605ea1 | ||
|
|
9f1f49b839 | ||
|
|
5a1feb8091 | ||
|
|
825680f5f4 | ||
|
|
8f84c3a866 | ||
|
|
5f7e7bdcf8 | ||
|
|
e906ae85b2 | ||
|
|
58556cd0e5 | ||
|
|
e825d8b0a4 | ||
|
|
cdb7e1b7f9 | ||
|
|
04f62f881c | ||
|
|
a8788f4d0b | ||
|
|
bf92e3a371 | ||
|
|
7f93703149 | ||
|
|
a7df8c70c8 | ||
|
|
80dd3f9d41 | ||
|
|
4fc63505d3 | ||
|
|
8c0095c59a | ||
|
|
8008b6318d | ||
|
|
96ca27a0ee | ||
|
|
60d0e97497 | ||
|
|
4d2ba822fd | ||
|
|
938783d0ab | ||
|
|
e45deb7997 | ||
|
|
9b50bba643 | ||
|
|
c9041079a1 | ||
|
|
90305c66a8 | ||
|
|
6a77d2667e | ||
|
|
c0aa482a5a | ||
|
|
cb8bbe9bf3 | ||
|
|
26e8558e74 | ||
|
|
c4da113ef9 | ||
|
|
a92522fbf3 | ||
|
|
0daf843b4c | ||
|
|
1b0675caec | ||
|
|
74675a666b | ||
|
|
85dad2c815 | ||
|
|
8603356bf4 | ||
|
|
8327d1df17 |
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++
|
||||||
|
|||||||
30
.travis.yml
30
.travis.yml
@@ -1,4 +1,5 @@
|
|||||||
language: c
|
language: c
|
||||||
|
dist: trusty
|
||||||
|
|
||||||
os:
|
os:
|
||||||
- osx
|
- osx
|
||||||
@@ -20,7 +21,7 @@ env:
|
|||||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
|
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
|
||||||
# ASAN build
|
# ASAN build
|
||||||
- BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
- BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
||||||
FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan"
|
FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
|
||||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
|
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
|
||||||
|
|
||||||
sudo: false
|
sudo: false
|
||||||
@@ -41,12 +42,12 @@ matrix:
|
|||||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp'"
|
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp'"
|
||||||
- os: osx
|
- os: osx
|
||||||
env: BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
env: BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
||||||
FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan"
|
FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
|
||||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
|
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: gcc
|
compiler: clang
|
||||||
env: BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
env: BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
||||||
FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan"
|
FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
|
||||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
|
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: clang
|
compiler: clang
|
||||||
@@ -66,21 +67,30 @@ addons:
|
|||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
- autoconf
|
- autoconf
|
||||||
|
- clang
|
||||||
- lcov
|
- lcov
|
||||||
- libperl-dev
|
- libperl-dev
|
||||||
- python-dev
|
- python-dev
|
||||||
- python3-dev
|
- python3-dev
|
||||||
- liblua5.1-0-dev
|
- liblua5.2-dev
|
||||||
- lua5.1
|
- lua5.2
|
||||||
|
- ruby-dev
|
||||||
- cscope
|
- cscope
|
||||||
|
- libgtk2.0-dev
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
|
- rvm reset
|
||||||
|
# Remove /opt/python/3.x.x/bin from $PATH for using system python3.
|
||||||
|
# ("pyenv global system" doesn't seem to work.)
|
||||||
|
- if [ "$TRAVIS_OS_NAME" = "linux" ] && which python3 | grep '/opt/python/' > /dev/null; then export PATH=$(echo $PATH | sed -e "s#$(echo $(which python3) | sed -e 's#/python3$##'):##"); fi
|
||||||
- if [ "$COVERAGE" = "yes" ]; then pip install --user cpp-coveralls; fi
|
- if [ "$COVERAGE" = "yes" ]; then pip install --user cpp-coveralls; fi
|
||||||
# needed for https support for coveralls
|
# needed for https support for coveralls
|
||||||
# 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.
|
||||||
|
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CC" = "clang" ]; then ln -sf $(which llvm-cov) /home/travis/bin/gcov; fi
|
||||||
|
|
||||||
# Start virtual framebuffer to be able to test the GUI. Does not work on OS X.
|
# Start virtual framebuffer to be able to test the GUI. Does not work on OS X.
|
||||||
before_script:
|
before_script:
|
||||||
@@ -91,10 +101,10 @@ script:
|
|||||||
- if [ "$CHECK_AUTOCONF" = "yes" -a "$CC" = "gcc" ]; then make -C src autoconf; fi
|
- if [ "$CHECK_AUTOCONF" = "yes" -a "$CC" = "gcc" ]; then make -C src autoconf; fi
|
||||||
- if [ "x$SHADOWOPT" != x ]; then make -C src shadow; fi
|
- if [ "x$SHADOWOPT" != x ]; then make -C src shadow; fi
|
||||||
- (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)
|
||||||
- if [ "$BUILD" = "yes" ]; then ${SRCDIR}/vim --version; fi
|
# Show Vim version and also if_xx versions.
|
||||||
- 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
|
- 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
|
||||||
- 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:
|
||||||
|
|||||||
12
Filelist
12
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 \
|
||||||
@@ -105,6 +106,7 @@ SRC_ALL = \
|
|||||||
src/testdir/Make_all.mak \
|
src/testdir/Make_all.mak \
|
||||||
src/testdir/*.in \
|
src/testdir/*.in \
|
||||||
src/testdir/*.py \
|
src/testdir/*.py \
|
||||||
|
src/testdir/lsan-suppress.txt \
|
||||||
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 \
|
||||||
@@ -134,8 +136,12 @@ SRC_ALL = \
|
|||||||
src/testdir/bench*.in \
|
src/testdir/bench*.in \
|
||||||
src/testdir/bench*.vim \
|
src/testdir/bench*.vim \
|
||||||
src/testdir/samples/*.txt \
|
src/testdir/samples/*.txt \
|
||||||
|
src/testdir/samples/test000 \
|
||||||
|
src/testdir/if_ver*.vim \
|
||||||
|
src/testdir/xterm_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 \
|
||||||
@@ -403,6 +409,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 \
|
||||||
@@ -447,6 +454,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 \
|
||||||
@@ -636,6 +644,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 = \
|
||||||
@@ -653,6 +662,7 @@ 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 \
|
||||||
|
|||||||
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.
|
||||||
|
|
||||||
|
|||||||
151
nsis/gvim.nsi
151
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,6 +83,7 @@ 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
|
||||||
@@ -128,6 +136,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 +191,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}"
|
||||||
@@ -191,13 +203,16 @@ Section "Vim executables and runtime files"
|
|||||||
File ${VIMSRC}\vimrun.exe
|
File ${VIMSRC}\vimrun.exe
|
||||||
File /oname=tee.exe ${VIMSRC}\teew32.exe
|
File /oname=tee.exe ${VIMSRC}\teew32.exe
|
||||||
File /oname=xxd.exe ${VIMSRC}\xxdw32.exe
|
File /oname=xxd.exe ${VIMSRC}\xxdw32.exe
|
||||||
File ${VIMTOOLS}\diff.exe
|
|
||||||
File ${VIMRT}\vimtutor.bat
|
File ${VIMRT}\vimtutor.bat
|
||||||
File ${VIMRT}\README.txt
|
File ${VIMRT}\README.txt
|
||||||
File ..\uninstal.txt
|
File ..\uninstal.txt
|
||||||
File ${VIMRT}\*.vim
|
File ${VIMRT}\*.vim
|
||||||
File ${VIMRT}\rgb.txt
|
File ${VIMRT}\rgb.txt
|
||||||
|
|
||||||
|
File ${VIMTOOLS}\diff.exe
|
||||||
|
File ${VIMTOOLS}\winpty32.dll
|
||||||
|
File ${VIMTOOLS}\winpty-agent.exe
|
||||||
|
|
||||||
SetOutPath $0\colors
|
SetOutPath $0\colors
|
||||||
File ${VIMRT}\colors\*.*
|
File ${VIMRT}\colors\*.*
|
||||||
|
|
||||||
@@ -216,6 +231,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\*.*
|
||||||
@@ -245,6 +268,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\*.*
|
||||||
|
|
||||||
@@ -317,24 +343,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
|
||||||
@@ -343,7 +412,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"
|
||||||
@@ -383,10 +452,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
|
||||||
|
|
||||||
@@ -401,6 +470,45 @@ Section -post
|
|||||||
BringToFront
|
BringToFront
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
|
##########################################################
|
||||||
|
Function SetCustom
|
||||||
|
# Display the InstallOptions dialog
|
||||||
|
|
||||||
|
# Check if a _vimrc should be created
|
||||||
|
SectionGetFlags ${sec_vimrc_id} $0
|
||||||
|
IntOp $0 $0 & 1
|
||||||
|
StrCmp $0 "1" +2 0
|
||||||
|
Abort
|
||||||
|
|
||||||
|
Push $3
|
||||||
|
InstallOptions::dialog "$PLUGINSDIR\vimrc.ini"
|
||||||
|
Pop $3
|
||||||
|
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
|
||||||
@@ -426,6 +534,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
|
||||||
|
|||||||
741
runtime/autoload/dist/ft.vim
vendored
Normal file
741
runtime/autoload/dist/ft.vim
vendored
Normal file
@@ -0,0 +1,741 @@
|
|||||||
|
" Vim functions for file type detection
|
||||||
|
"
|
||||||
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
|
" Last Change: 2017 Nov 11
|
||||||
|
|
||||||
|
" 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
|
||||||
|
if search('^use\s\s*\k', 'nc', 30)
|
||||||
|
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
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
|||||||
" netrwSettings.vim: makes netrw settings simpler
|
" netrwSettings.vim: makes netrw settings simpler
|
||||||
" Date: Dec 30, 2014
|
" Date: Nov 09, 2016
|
||||||
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
|
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
|
||||||
" Version: 15
|
" Version: 16
|
||||||
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
|
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
|
||||||
" Permission is hereby granted to use and distribute this code,
|
" Permission is hereby granted to use and distribute this code,
|
||||||
" with or without modifications, provided that this copyright
|
" with or without modifications, provided that this copyright
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
if exists("g:loaded_netrwSettings") || &cp
|
if exists("g:loaded_netrwSettings") || &cp
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let g:loaded_netrwSettings = "v15"
|
let g:loaded_netrwSettings = "v16"
|
||||||
if v:version < 700
|
if v:version < 700
|
||||||
echohl WarningMsg
|
echohl WarningMsg
|
||||||
echo "***warning*** this version of netrwSettings needs vim 7.0"
|
echo "***warning*** this version of netrwSettings needs vim 7.0"
|
||||||
@@ -154,9 +154,13 @@ fun! netrwSettings#NetrwSettings()
|
|||||||
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
|
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
|
||||||
put = 'let g:netrw_liststyle = '.g:netrw_liststyle
|
put = 'let g:netrw_liststyle = '.g:netrw_liststyle
|
||||||
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
|
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
|
||||||
|
put = 'let g:netrw_localcopycmdopt = '.g:netrw_localcopycmdopt
|
||||||
put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir
|
put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir
|
||||||
|
put = 'let g:netrw_localmkdiropt = '.g:netrw_localmkdiropt
|
||||||
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
|
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
|
||||||
|
put = 'let g:netrw_localmovecmdopt = '.g:netrw_localmovecmdopt
|
||||||
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
|
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
|
||||||
|
put = 'let g:netrw_localrmdiropt = '.g:netrw_localrmdiropt
|
||||||
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
|
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
|
||||||
put = 'let g:netrw_menu = '.g:netrw_menu
|
put = 'let g:netrw_menu = '.g:netrw_menu
|
||||||
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps
|
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*autocmd.txt* For Vim version 8.0. Last change: 2017 Apr 07
|
*autocmd.txt* For Vim version 8.0. Last change: 2017 Nov 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -68,7 +68,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
|
||||||
@@ -492,6 +499,22 @@ 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|.
|
||||||
|
*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
|
||||||
@@ -651,7 +674,8 @@ FileType When the 'filetype' option has been set. The
|
|||||||
pattern is matched against the filetype.
|
pattern is matched against the filetype.
|
||||||
<afile> can be used for the name of the file
|
<afile> can be used for the name of the file
|
||||||
where this option was set, and <amatch> for
|
where this option was set, and <amatch> for
|
||||||
the new value of 'filetype'.
|
the new value of 'filetype'. Navigating to
|
||||||
|
another window or buffer is not allowed.
|
||||||
See |filetypes|.
|
See |filetypes|.
|
||||||
*FileWriteCmd*
|
*FileWriteCmd*
|
||||||
FileWriteCmd Before writing to a file, when not writing the
|
FileWriteCmd Before writing to a file, when not writing the
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*channel.txt* For Vim version 8.0. Last change: 2017 Jun 11
|
*channel.txt* For Vim version 8.0. Last change: 2017 Aug 11
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -427,8 +427,8 @@ When no message was available then the result is v:none for a JSON or JS mode
|
|||||||
channels, an empty string for a RAW or NL channel. You can use |ch_canread()|
|
channels, an empty string for a RAW or NL channel. You can use |ch_canread()|
|
||||||
to check if there is something to read.
|
to check if there is something to read.
|
||||||
|
|
||||||
Note that when there is no callback message are dropped. To avoid that add a
|
Note that when there is no callback, messages are dropped. To avoid that add
|
||||||
close callback to the channel.
|
a close callback to the channel.
|
||||||
|
|
||||||
To read all output from a RAW channel that is available: >
|
To read all output from a RAW channel that is available: >
|
||||||
let output = ch_readraw(channel)
|
let output = ch_readraw(channel)
|
||||||
@@ -518,7 +518,7 @@ By default this reads the whole buffer. This can be changed with the "in_top"
|
|||||||
and "in_bot" options.
|
and "in_bot" options.
|
||||||
|
|
||||||
A special mode is when "in_top" is set to zero and "in_bot" is not set: Every
|
A special mode is when "in_top" is set to zero and "in_bot" is not set: Every
|
||||||
time a line is added to the buffer, the last-but-one line will be send to the
|
time a line is added to the buffer, the last-but-one line will be sent to the
|
||||||
job stdin. This allows for editing the last line and sending it when pressing
|
job stdin. This allows for editing the last line and sending it when pressing
|
||||||
Enter.
|
Enter.
|
||||||
*channel-close-in*
|
*channel-close-in*
|
||||||
@@ -611,7 +611,7 @@ See |job_setoptions()| and |ch_setoptions()|.
|
|||||||
"close_cb": handler Callback for when the channel is closed. Same as
|
"close_cb": handler Callback for when the channel is closed. Same as
|
||||||
"close_cb" on |ch_open()|, see |close_cb|.
|
"close_cb" on |ch_open()|, see |close_cb|.
|
||||||
*job-drop*
|
*job-drop*
|
||||||
"drop" Specifies when to drop messages. Same as "drop" on
|
"drop": when Specifies when to drop messages. Same as "drop" on
|
||||||
|ch_open()|, see |channel-drop|. For "auto" the
|
|ch_open()|, see |channel-drop|. For "auto" the
|
||||||
exit_cb is not considered.
|
exit_cb is not considered.
|
||||||
*job-exit_cb*
|
*job-exit_cb*
|
||||||
@@ -624,12 +624,12 @@ See |job_setoptions()| and |ch_setoptions()|.
|
|||||||
Note that data can be buffered, callbacks may still be
|
Note that data can be buffered, callbacks may still be
|
||||||
called after the process ends.
|
called after the process ends.
|
||||||
*job-timeout*
|
*job-timeout*
|
||||||
"timeout" The time to wait for a request when blocking, E.g.
|
"timeout": time The time to wait for a request when blocking, E.g.
|
||||||
when using ch_evalexpr(). In milliseconds. The
|
when using ch_evalexpr(). In milliseconds. The
|
||||||
default is 2000 (2 seconds).
|
default is 2000 (2 seconds).
|
||||||
*out_timeout* *err_timeout*
|
*out_timeout* *err_timeout*
|
||||||
"out_timeout" Timeout for stdout. Only when using pipes.
|
"out_timeout": time Timeout for stdout. Only when using pipes.
|
||||||
"err_timeout" Timeout for stderr. Only when using pipes.
|
"err_timeout": time Timeout for stderr. Only when using pipes.
|
||||||
Note: when setting "timeout" the part specific mode is
|
Note: when setting "timeout" the part specific mode is
|
||||||
overwritten. Therefore set "timeout" first and the
|
overwritten. Therefore set "timeout" first and the
|
||||||
part specific mode later.
|
part specific mode later.
|
||||||
@@ -641,8 +641,9 @@ See |job_setoptions()| and |ch_setoptions()|.
|
|||||||
The default is "term".
|
The default is "term".
|
||||||
|
|
||||||
*job-term*
|
*job-term*
|
||||||
"term": "open" Start a terminal and connect the job
|
"term": "open" Start a terminal in a new window and connect the job
|
||||||
stdin/stdout/stderr to it.
|
stdin/stdout/stderr to it. Similar to using
|
||||||
|
`:terminal`.
|
||||||
NOTE: Not implemented yet!
|
NOTE: Not implemented yet!
|
||||||
|
|
||||||
"channel": {channel} Use an existing channel instead of creating a new one.
|
"channel": {channel} Use an existing channel instead of creating a new one.
|
||||||
@@ -652,6 +653,11 @@ See |job_setoptions()| and |ch_setoptions()|.
|
|||||||
cause I/O errors.
|
cause I/O errors.
|
||||||
Existing callbacks and other settings remain.
|
Existing callbacks and other settings remain.
|
||||||
|
|
||||||
|
"pty": 1 Use a pty (pseudo-tty) instead of a pipe when
|
||||||
|
possible. This is most useful in combination with a
|
||||||
|
terminal window, see |terminal|.
|
||||||
|
{only on Unix and Unix-like systems}
|
||||||
|
|
||||||
*job-in_io* *in_top* *in_bot* *in_name* *in_buf*
|
*job-in_io* *in_top* *in_bot* *in_name* *in_buf*
|
||||||
"in_io": "null" disconnect stdin (read from /dev/null)
|
"in_io": "null" disconnect stdin (read from /dev/null)
|
||||||
"in_io": "pipe" stdin is connected to the channel (default)
|
"in_io": "pipe" stdin is connected to the channel (default)
|
||||||
@@ -690,6 +696,10 @@ See |job_setoptions()| and |ch_setoptions()|.
|
|||||||
"block_write": number only for testing: pretend every other write to stdin
|
"block_write": number only for testing: pretend every other write to stdin
|
||||||
will block
|
will block
|
||||||
|
|
||||||
|
"env": dict environment variables for the new process
|
||||||
|
"cwd": "/path/to/dir" current working directory for the new process;
|
||||||
|
if the directory does not exist an error is given
|
||||||
|
|
||||||
|
|
||||||
Writing to a buffer ~
|
Writing to a buffer ~
|
||||||
*out_io-buffer*
|
*out_io-buffer*
|
||||||
@@ -725,10 +735,6 @@ The "out_msg" option can be used to specify whether a new buffer will have the
|
|||||||
first line set to "Reading from channel output...". The default is to add the
|
first line set to "Reading from channel output...". The default is to add the
|
||||||
message. "err_msg" does the same for channel error.
|
message. "err_msg" does the same for channel error.
|
||||||
|
|
||||||
'modifiable' option off, or write to a buffer that has 'modifiable' off. That
|
|
||||||
means that lines will be appended to the buffer, but the user can't easily
|
|
||||||
change the buffer.
|
|
||||||
|
|
||||||
When an existing buffer is to be written where 'modifiable' is off and the
|
When an existing buffer is to be written where 'modifiable' is off and the
|
||||||
"out_modifiable" or "err_modifiable" options is not zero, an error is given
|
"out_modifiable" or "err_modifiable" options is not zero, an error is given
|
||||||
and the buffer will not be written to.
|
and the buffer will not be written to.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*cmdline.txt* For Vim version 8.0. Last change: 2016 Sep 27
|
*cmdline.txt* For Vim version 8.0. Last change: 2017 Oct 19
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -455,6 +455,9 @@ matches exactly one character.
|
|||||||
|
|
||||||
The 'wildignorecase' option can be set to ignore case in filenames.
|
The 'wildignorecase' option can be set to ignore case in filenames.
|
||||||
|
|
||||||
|
The 'wildmenu' option can be set to show the matches just above the command
|
||||||
|
line.
|
||||||
|
|
||||||
If you like tcsh's autolist completion, you can use this mapping:
|
If you like tcsh's autolist completion, you can use this mapping:
|
||||||
:cnoremap X <C-L><C-D>
|
:cnoremap X <C-L><C-D>
|
||||||
(Where X is the command key to use, <C-L> is CTRL-L and <C-D> is CTRL-D)
|
(Where X is the command key to use, <C-L> is CTRL-L and <C-D> is CTRL-D)
|
||||||
@@ -823,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 @@
|
|||||||
*debug.txt* For Vim version 8.0. Last change: 2012 Feb 11
|
*debug.txt* For Vim version 8.0. Last change: 2017 Jul 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -53,7 +53,7 @@ Use this command to start Vim:
|
|||||||
valgrind --log-file=valgrind.log --leak-check=full ./vim
|
valgrind --log-file=valgrind.log --leak-check=full ./vim
|
||||||
|
|
||||||
Note: Vim will run much slower. If your .vimrc is big or you have several
|
Note: Vim will run much slower. If your .vimrc is big or you have several
|
||||||
plugins you need to be patient for startup, or run with the "-u NONE"
|
plugins you need to be patient for startup, or run with the "--clean"
|
||||||
argument.
|
argument.
|
||||||
|
|
||||||
There are often a few leaks from libraries, such as getpwuid() and
|
There are often a few leaks from libraries, such as getpwuid() and
|
||||||
|
|||||||
@@ -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 @@
|
|||||||
*develop.txt* For Vim version 8.0. Last change: 2017 Jan 05
|
*develop.txt* For Vim version 8.0. Last change: 2017 Jul 31
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -143,9 +143,10 @@ and its environment.
|
|||||||
|
|
||||||
VIM IS... NOT *design-not*
|
VIM IS... NOT *design-not*
|
||||||
|
|
||||||
- Vim is not a shell or an Operating System. You will not be able to run a
|
- Vim is not a shell or an Operating System. It does provide a terminal
|
||||||
shell inside Vim or use it to control a debugger. This should work the
|
window, in which you can run a shell or debugger. E.g. to be able to do
|
||||||
other way around: Use Vim as a component from a shell or in an IDE.
|
this over an ssh connection. But if you don't need a text editor with that
|
||||||
|
it is out of scope (use something like screen or tmux instead).
|
||||||
A satirical way to say this: "Unlike Emacs, Vim does not attempt to include
|
A satirical way to say this: "Unlike Emacs, Vim does not attempt to include
|
||||||
everything but the kitchen sink, but some people say that you can clean one
|
everything but the kitchen sink, but some people say that you can clean one
|
||||||
with it. ;-)"
|
with it. ;-)"
|
||||||
|
|||||||
@@ -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 Apr 10
|
*editing.txt* For Vim version 8.0. Last change: 2017 Nov 16
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -617,16 +617,16 @@ list of the current window.
|
|||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
{Vi: no ++opt}
|
{Vi: no ++opt}
|
||||||
|
|
||||||
:[count]arge[dit][!] [++opt] [+cmd] {name} *:arge* *:argedit*
|
:[count]arge[dit][!] [++opt] [+cmd] {name} .. *:arge* *:argedit*
|
||||||
Add {name} to the argument list and edit it.
|
Add {name}s to the argument list and edit it.
|
||||||
When {name} already exists in the argument list, this
|
When {name} already exists in the argument list, this
|
||||||
entry is edited.
|
entry is edited.
|
||||||
This is like using |:argadd| and then |:edit|.
|
This is like using |:argadd| and then |:edit|.
|
||||||
Note that only one file name is allowed, and spaces
|
Spaces in filenames have to be escaped with "\".
|
||||||
inside the file name are allowed, like with |:edit|.
|
|
||||||
[count] is used like with |:argadd|.
|
[count] is used like with |:argadd|.
|
||||||
[!] is required if the current file cannot be
|
If the current file cannot be |abandon|ed {name}s will
|
||||||
|abandon|ed.
|
still be added to the argument list, but won't be
|
||||||
|
edited. No check for duplicates is done.
|
||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
|
|
||||||
@@ -900,7 +900,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 +956,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
|
||||||
@@ -1109,6 +1112,7 @@ The names can be in upper- or lowercase.
|
|||||||
window in the current tab page the current tab page is
|
window in the current tab page the current tab page is
|
||||||
closed |tab-page|.
|
closed |tab-page|.
|
||||||
Triggers the |QuitPre| autocommand event.
|
Triggers the |QuitPre| autocommand event.
|
||||||
|
See |CTRL-W_q| for quitting another window.
|
||||||
|
|
||||||
:conf[irm] q[uit] Quit, but give prompt when changes have been made, or
|
:conf[irm] q[uit] Quit, but give prompt when changes have been made, or
|
||||||
the last file in the argument list has not been
|
the last file in the argument list has not been
|
||||||
@@ -1328,9 +1332,11 @@ present in 'cpoptions' and "!" is not used in the command.
|
|||||||
:chd[ir][!] [path] Same as |:cd|.
|
:chd[ir][!] [path] Same as |:cd|.
|
||||||
|
|
||||||
*:lc* *:lcd*
|
*:lc* *:lcd*
|
||||||
:lc[d][!] {path} Like |:cd|, but only set the current directory for the
|
:lc[d][!] {path} Like |:cd|, but only set the current directory when
|
||||||
current window. The current directory for other
|
the cursor is in the current window. The current
|
||||||
windows is not changed. {not in Vi}
|
directory for other windows is not changed, switching
|
||||||
|
to another window will stop using {path}.
|
||||||
|
{not in Vi}
|
||||||
|
|
||||||
*:lch* *:lchdir*
|
*:lch* *:lchdir*
|
||||||
:lch[dir][!] Same as |:lcd|. {not in Vi}
|
:lch[dir][!] Same as |:lcd|. {not in Vi}
|
||||||
@@ -1735,7 +1741,7 @@ There are three different types of searching:
|
|||||||
This searches the same directories, but in a different order.
|
This searches the same directories, but in a different order.
|
||||||
|
|
||||||
Note that completion for ":find", ":sfind", and ":tabfind" commands do not
|
Note that completion for ":find", ":sfind", and ":tabfind" commands do not
|
||||||
currently work with 'path' items that contain a url or use the double star
|
currently work with 'path' items that contain a URL or use the double star
|
||||||
with depth limiter (/usr/**2) or upward search (;) notations.
|
with depth limiter (/usr/**2) or upward search (;) notations.
|
||||||
|
|
||||||
vim:tw=78:ts=8:ft=help:norl:
|
vim:tw=78:ts=8:ft=help:norl:
|
||||||
|
|||||||
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: 2017 Oct 10
|
||||||
|
|
||||||
|
|
||||||
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,11 +602,12 @@ 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:
|
Tested on:
|
||||||
|
|
||||||
- Linux
|
- Linux
|
||||||
- Mac OS
|
- Mac OS
|
||||||
- FreeBSD
|
- FreeBSD
|
||||||
|
- OpenBSD
|
||||||
- Cygwin
|
- Cygwin
|
||||||
- Win 10 under Bash
|
- Win 10 under Bash
|
||||||
|
|
||||||
@@ -616,21 +617,36 @@ Untested:
|
|||||||
- BeOS
|
- BeOS
|
||||||
- OS/2
|
- OS/2
|
||||||
|
|
||||||
For bash,zsh,ksh or dash by adding to the config file (.bashrc,.zshrc, ...)
|
If man sets the $MAN_PN environment variable, like man-db, the most common
|
||||||
|
implementation on Linux, then the "env MAN_PN=1 " part below should NOT be
|
||||||
|
set, that is, the "env MAN_PN=1" should be omitted! Otherwise, the Vim
|
||||||
|
manpager does not correctly recognize manpages whose title contains a capital
|
||||||
|
letter. See the discussion on
|
||||||
|
|
||||||
|
https://groups.google.com/forum/#!topic/vim_dev/pWZmt_7GkxI
|
||||||
|
|
||||||
|
For bash,zsh,ksh or dash, add to the config file (.bashrc,.zshrc, ...)
|
||||||
|
|
||||||
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER -"
|
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER -"
|
||||||
|
|
||||||
For (t)csh by adding to the config file
|
For (t)csh, add to the config file
|
||||||
|
|
||||||
setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
||||||
|
|
||||||
For fish by adding to the config file
|
For fish, add to the config file
|
||||||
|
|
||||||
set -x MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
set -x MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
||||||
|
|
||||||
If man sets the $MAN_PN environment variable, like man-db, the most common
|
On OpenBSD:
|
||||||
implementation on Linux and Mac OS, then the "env MAN_PN=1 " part above is
|
|
||||||
superfluous.
|
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER"
|
||||||
|
|
||||||
|
If you experience still issues on manpages whose titles do not contain capital
|
||||||
|
letters, then try adding MANPATH=${MANPATH} after MAN_PN=1. If your manpages do
|
||||||
|
not show up localized, then try adding, LANGUAGE=${LANG} after MAN_PN=1. See
|
||||||
|
|
||||||
|
https://github.com/vim/vim/issues/1002
|
||||||
|
|
||||||
|
|
||||||
PDF *ft-pdf-plugin*
|
PDF *ft-pdf-plugin*
|
||||||
|
|
||||||
|
|||||||
@@ -116,13 +116,13 @@ g:rustfmt_options~
|
|||||||
|
|
||||||
*g:rust_playpen_url*
|
*g:rust_playpen_url*
|
||||||
g:rust_playpen_url~
|
g:rust_playpen_url~
|
||||||
Set this option to override the url for the playpen to use: >
|
Set this option to override the URL for the playpen to use: >
|
||||||
let g:rust_playpen_url = 'https://play.rust-lang.org/'
|
let g:rust_playpen_url = 'https://play.rust-lang.org/'
|
||||||
<
|
<
|
||||||
|
|
||||||
*g:rust_shortener_url*
|
*g:rust_shortener_url*
|
||||||
g:rust_shortener_url~
|
g:rust_shortener_url~
|
||||||
Set this option to override the url for the url shortener: >
|
Set this option to override the URL for the URL shortener: >
|
||||||
let g:rust_shortener_url = 'https://is.gd/'
|
let g:rust_shortener_url = 'https://is.gd/'
|
||||||
<
|
<
|
||||||
|
|
||||||
@@ -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: 2014 Mar 08
|
*gui.txt* For Vim version 8.0. Last change: 2017 Nov 09
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -67,7 +67,7 @@ When the GUI starts up initializations are carried out, in this order:
|
|||||||
executed as an Ex command.
|
executed as an Ex command.
|
||||||
- If the user gvimrc file exists, it is sourced. The name of this file is
|
- If the user gvimrc file exists, it is sourced. The name of this file is
|
||||||
normally "$HOME/.gvimrc". You can check this with ":version".
|
normally "$HOME/.gvimrc". You can check this with ":version".
|
||||||
- For Win32, when $HOME is not set, "$VIM\_gvimrc" is used.
|
- For Win32, $HOME is set by Vim if needed, see |$HOME-windows|.
|
||||||
- When a "_gvimrc" file is not found, ".gvimrc" is tried too. And vice
|
- When a "_gvimrc" file is not found, ".gvimrc" is tried too. And vice
|
||||||
versa.
|
versa.
|
||||||
The name of the first file found is stored in $MYGVIMRC, unless it was
|
The name of the first file found is stored in $MYGVIMRC, unless it was
|
||||||
@@ -79,7 +79,8 @@ When the GUI starts up initializations are carried out, in this order:
|
|||||||
and DOS/Win32 "_gvimrc" is tried first.
|
and DOS/Win32 "_gvimrc" is tried first.
|
||||||
|
|
||||||
NOTE: All but the first one are not carried out if Vim was started with
|
NOTE: All but the first one are not carried out if Vim was started with
|
||||||
"-u NONE" and no "-U" argument was given, or when started with "-U NONE".
|
"-u NONE" or "-u DEFAULTS" and no "-U" argument was given, or when started
|
||||||
|
with "-U NONE".
|
||||||
|
|
||||||
All this happens AFTER the normal Vim initializations, like reading your
|
All this happens AFTER the normal Vim initializations, like reading your
|
||||||
.vimrc file. See |initialization|.
|
.vimrc file. See |initialization|.
|
||||||
@@ -161,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
|
||||||
@@ -481,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
|
||||||
@@ -497,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
|
||||||
@@ -783,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*
|
||||||
|
|||||||
@@ -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 @@
|
|||||||
*gui_x11.txt* For Vim version 8.0. Last change: 2016 Sep 12
|
*gui_x11.txt* For Vim version 8.0. Last change: 2017 Jul 28
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -279,8 +279,9 @@ For CDE "dtwm" (a derivative of Motif) add this line in the .Xdefaults: >
|
|||||||
For "mwm" (Motif window manager) the line would be: >
|
For "mwm" (Motif window manager) the line would be: >
|
||||||
Mwm*Vim*iconImage: /usr/local/share/vim/vim32x32.xpm
|
Mwm*Vim*iconImage: /usr/local/share/vim/vim32x32.xpm
|
||||||
|
|
||||||
Mouse Pointers Available in X11 *X11_mouse_shapes*
|
|
||||||
|
|
||||||
|
Mouse Pointers Available in X11 ~
|
||||||
|
*X11_mouse_shapes*
|
||||||
By using the |'mouseshape'| option, the mouse pointer can be automatically
|
By using the |'mouseshape'| option, the mouse pointer can be automatically
|
||||||
changed whenever Vim enters one of its various modes (e.g., Insert or
|
changed whenever Vim enters one of its various modes (e.g., Insert or
|
||||||
Command). Currently, the available pointers are:
|
Command). Currently, the available pointers are:
|
||||||
@@ -354,7 +355,9 @@ to the GTK documentation, however little there is, on how to do this.
|
|||||||
See http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html
|
See http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html
|
||||||
for more information.
|
for more information.
|
||||||
|
|
||||||
*gtk-tooltip-colors*
|
|
||||||
|
Tooltip Colors ~
|
||||||
|
*gtk-tooltip-colors*
|
||||||
Example, which sets the tooltip colors to black on light-yellow: >
|
Example, which sets the tooltip colors to black on light-yellow: >
|
||||||
|
|
||||||
style "tooltips"
|
style "tooltips"
|
||||||
@@ -372,15 +375,122 @@ distribution.
|
|||||||
For GTK+ 3, an effect similar to the above can be obtained by adding the
|
For GTK+ 3, an effect similar to the above can be obtained by adding the
|
||||||
following snippet of CSS code to $XDG_HOME_DIR/gtk-3.0/gtk.css (usually,
|
following snippet of CSS code to $XDG_HOME_DIR/gtk-3.0/gtk.css (usually,
|
||||||
$HOME/.config/gtk-3.0/gtk.css):
|
$HOME/.config/gtk-3.0/gtk.css):
|
||||||
>
|
|
||||||
|
For GTK+ 3 < 3.20: >
|
||||||
|
|
||||||
.tooltip {
|
.tooltip {
|
||||||
background-color: #ffffcc;
|
background-color: #ffffcc;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
<
|
<
|
||||||
|
For GTK+ 3 >= 3.20: >
|
||||||
|
|
||||||
Using Vim as a GTK+ plugin *gui-gtk-socketid*
|
tooltip {
|
||||||
|
background-color: #ffffcc;
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label {
|
||||||
|
color: #2e3436;
|
||||||
|
}
|
||||||
|
<
|
||||||
|
|
||||||
|
A Quick Look at GTK+ CSS ~
|
||||||
|
*gtk-css*
|
||||||
|
The contents of this subsection apply to GTK+ 3.20 or later which provides
|
||||||
|
stable support for GTK+ CSS:
|
||||||
|
|
||||||
|
https://developer.gnome.org/gtk3/stable/theming.html
|
||||||
|
|
||||||
|
GTK+ uses CSS for styling and layout of widgets. In this subsection, we'll
|
||||||
|
have a quick look at GTK+ CSS through simple, illustrative examples.
|
||||||
|
|
||||||
|
Example 1. Empty Space Adjustment ~
|
||||||
|
|
||||||
|
By default, the toolbar and the tabline of the GTK+ 3 GUI are somewhat larger
|
||||||
|
than those of the GTK+ 2 GUI. Some people may want to make them look similar
|
||||||
|
to the GTK+ 2 GUI in size.
|
||||||
|
|
||||||
|
To do that, we'll try reducing empty space around icons and labels that looks
|
||||||
|
apparently superfluous.
|
||||||
|
|
||||||
|
Add the following lines to $XDG_HOME_DIR/gtk-3.0/gtk.css (usually,
|
||||||
|
$HOME/.config/gtk-3.0/gtk.css): >
|
||||||
|
|
||||||
|
toolbar button {
|
||||||
|
margin-top: -2px;
|
||||||
|
margin-right: 0px;
|
||||||
|
margin-bottom: -2px;
|
||||||
|
margin-left: 0px;
|
||||||
|
|
||||||
|
padding-top: 0px;
|
||||||
|
padding-right: 0px;
|
||||||
|
padding-bottom: 0px;
|
||||||
|
padding-left: 0px
|
||||||
|
}
|
||||||
|
|
||||||
|
notebook tab {
|
||||||
|
margin-top: -1px;
|
||||||
|
margin-right: 3px;
|
||||||
|
margin-bottom: -1px;
|
||||||
|
margin-left: 3px;
|
||||||
|
|
||||||
|
padding-top: 0px;
|
||||||
|
padding-right: 0px;
|
||||||
|
padding-bottom: 0px;
|
||||||
|
padding-left: 0px
|
||||||
|
}
|
||||||
|
<
|
||||||
|
Since it's a CSS, they can be rewritten using shorthand: >
|
||||||
|
|
||||||
|
toolbar button {
|
||||||
|
margin: -2px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
notebook tab {
|
||||||
|
margin: -1px 3px;
|
||||||
|
padding: 0px
|
||||||
|
}
|
||||||
|
<
|
||||||
|
Note: You might want to use 'toolbariconsize' to adjust the icon size, too.
|
||||||
|
|
||||||
|
Note: Depending on the icon theme and/or the font in use, some extra tweaks
|
||||||
|
may be needed for a satisfactory result.
|
||||||
|
|
||||||
|
Note: In addition to margin and padding, you can use border. For details,
|
||||||
|
refer to the box model of CSS, e.g.,
|
||||||
|
|
||||||
|
https://www.w3schools.com/css/css_boxmodel.asp
|
||||||
|
|
||||||
|
Example 2. More Than Just Colors ~
|
||||||
|
|
||||||
|
GTK+ CSS supports gradients as well: >
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
background-image: -gtk-gradient(linear,
|
||||||
|
0 0, 0 1,
|
||||||
|
color-stop(0, #344752),
|
||||||
|
color-stop(0.5, #546772),
|
||||||
|
color-stop(1, #243742));
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label {
|
||||||
|
color: #f3f3f3;
|
||||||
|
}
|
||||||
|
<
|
||||||
|
Gradients can be used to make a GUI element visually distinguishable from
|
||||||
|
others without relying on high contrast. Accordingly, effective use of them is
|
||||||
|
a useful technique to give a theme a sense of unity in color and luminance.
|
||||||
|
|
||||||
|
Note: Theming can be difficult since it must make every application look
|
||||||
|
equally good; making a single application more charming often gets others
|
||||||
|
unexpectedly less attractive or even deteriorates their usability. Keep this
|
||||||
|
in mind always when you try improving a theme.
|
||||||
|
|
||||||
|
|
||||||
|
Using Vim as a GTK+ plugin ~
|
||||||
|
*gui-gtk-socketid*
|
||||||
When the GTK+ version of Vim starts up normally, it creates its own top level
|
When the GTK+ version of Vim starts up normally, it creates its own top level
|
||||||
window (technically, a 'GtkWindow'). GTK+ provides an embedding facility with
|
window (technically, a 'GtkWindow'). GTK+ provides an embedding facility with
|
||||||
its GtkSocket and GtkPlug widgets. If one GTK+ application creates a
|
its GtkSocket and GtkPlug widgets. If one GTK+ application creates a
|
||||||
@@ -425,8 +535,8 @@ Note: Avoid use of --enable-gnome-check with GTK+ 3 GUI build. The
|
|||||||
functionality mentioned above is consolidated in GTK+ 3.
|
functionality mentioned above is consolidated in GTK+ 3.
|
||||||
|
|
||||||
|
|
||||||
GNOME session support *gui-gnome-session* *gnome-session*
|
GNOME session support ~
|
||||||
|
*gui-gnome-session* *gnome-session*
|
||||||
On logout, Vim shows the well-known exit confirmation dialog if any buffers
|
On logout, Vim shows the well-known exit confirmation dialog if any buffers
|
||||||
are modified. Clicking [Cancel] will stop the logout process. Otherwise the
|
are modified. Clicking [Cancel] will stop the logout process. Otherwise the
|
||||||
current session is stored to disk by using the |:mksession| command, and
|
current session is stored to disk by using the |:mksession| command, and
|
||||||
@@ -563,7 +673,7 @@ Of these three, Vim uses PRIMARY when reading and writing the "* register
|
|||||||
register. Vim does not access the SECONDARY selection.
|
register. Vim does not access the SECONDARY selection.
|
||||||
|
|
||||||
Examples: (assuming the default option values)
|
Examples: (assuming the default option values)
|
||||||
- Select an URL in Visual mode in Vim. Go to your browser and click the
|
- Select a URL in Visual mode in Vim. Go to your browser and click the
|
||||||
middle mouse button in the URL text field. The selected text will be
|
middle mouse button in the URL text field. The selected text will be
|
||||||
inserted (hopefully!). Note: in Firefox you can set the
|
inserted (hopefully!). Note: in Firefox you can set the
|
||||||
middlemouse.contentLoadURL preference to true in about:config, then the
|
middlemouse.contentLoadURL preference to true in about:config, then the
|
||||||
|
|||||||
@@ -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: 2011 Jun 12
|
*if_cscop.txt* For Vim version 8.0. Last change: 2017 Jun 14
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Andy Kahn
|
VIM REFERENCE MANUAL by Andy Kahn
|
||||||
@@ -91,9 +91,10 @@ suggested use.)
|
|||||||
2. Cscope related commands *cscope-commands*
|
2. Cscope related commands *cscope-commands*
|
||||||
|
|
||||||
*:cscope* *:cs* *:scs* *:scscope* *E259* *E262* *E561* *E560*
|
*:cscope* *:cs* *:scs* *:scscope* *E259* *E262* *E561* *E560*
|
||||||
All cscope commands are accessed through suboptions to the main cscope
|
All cscope commands are accessed through suboptions to the cscope commands.
|
||||||
command ":cscope". The shortest abbreviation is ":cs". The ":scscope"
|
`:cscope` or `:cs` is the main command
|
||||||
command does the same and also splits the window (short: "scs").
|
`:scscope` or `:scs` does the same and splits the window
|
||||||
|
`:lcscope` or `:lcs` uses the location list, see |:lcscope|
|
||||||
|
|
||||||
The available subcommands are:
|
The available subcommands are:
|
||||||
|
|
||||||
|
|||||||
@@ -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_pyth.txt* For Vim version 8.0. Last change: 2017 Mar 09
|
*if_pyth.txt* For Vim version 8.0. Last change: 2017 Nov 09
|
||||||
|
|
||||||
|
|
||||||
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*
|
||||||
|
|
||||||
@@ -894,10 +896,10 @@ On Ubuntu you will want to install these packages for Python 2:
|
|||||||
python-dev
|
python-dev
|
||||||
For Python 3:
|
For Python 3:
|
||||||
python3
|
python3
|
||||||
pytyon3-dev
|
python3-dev
|
||||||
For Python 3.6:
|
For Python 3.6:
|
||||||
python3.6
|
python3.6
|
||||||
pytyon3.6-dev
|
python3.6-dev
|
||||||
|
|
||||||
If you have more than one version of Python 3, you need to link python3 to the
|
If you have more than one version of Python 3, you need to link python3 to the
|
||||||
one you prefer, before running configure.
|
one you prefer, before running configure.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*index.txt* For Vim version 8.0. Last change: 2017 Apr 22
|
*index.txt* For Vim version 8.0. Last change: 2017 Aug 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -528,8 +528,11 @@ tag command action in Normal mode ~
|
|||||||
|CTRL-W_CTRL-]| CTRL-W CTRL-] same as "CTRL-W ]"
|
|CTRL-W_CTRL-]| CTRL-W CTRL-] same as "CTRL-W ]"
|
||||||
|CTRL-W_CTRL-^| CTRL-W CTRL-^ same as "CTRL-W ^"
|
|CTRL-W_CTRL-^| CTRL-W CTRL-^ same as "CTRL-W ^"
|
||||||
|CTRL-W_CTRL-_| CTRL-W CTRL-_ same as "CTRL-W _"
|
|CTRL-W_CTRL-_| CTRL-W CTRL-_ same as "CTRL-W _"
|
||||||
|
|CTRL-W_quote| CTRL-W " terminal window: paste register
|
||||||
|CTRL-W_+| CTRL-W + increase current window height N lines
|
|CTRL-W_+| CTRL-W + increase current window height N lines
|
||||||
|CTRL-W_-| CTRL-W - decrease current window height N lines
|
|CTRL-W_-| CTRL-W - decrease current window height N lines
|
||||||
|
|CTRL-W_.| CTRL-W . terminal window: type CTRL-W
|
||||||
|
|CTRL-W_:| CTRL-W : same as |:|, edit a command line
|
||||||
|CTRL-W_<| CTRL-W < decrease current window width N columns
|
|CTRL-W_<| CTRL-W < decrease current window width N columns
|
||||||
|CTRL-W_=| CTRL-W = make all windows the same height & width
|
|CTRL-W_=| CTRL-W = make all windows the same height & width
|
||||||
|CTRL-W_>| CTRL-W > increase current window width N columns
|
|CTRL-W_>| CTRL-W > increase current window width N columns
|
||||||
@@ -537,6 +540,7 @@ tag command action in Normal mode ~
|
|||||||
|CTRL-W_J| CTRL-W J move current window to the very bottom
|
|CTRL-W_J| CTRL-W J move current window to the very bottom
|
||||||
|CTRL-W_K| CTRL-W K move current window to the very top
|
|CTRL-W_K| CTRL-W K move current window to the very top
|
||||||
|CTRL-W_L| CTRL-W L move current window to the far right
|
|CTRL-W_L| CTRL-W L move current window to the far right
|
||||||
|
|CTRL-W_N| CTRL-W N terminal window: go to Terminal Normal mode
|
||||||
|CTRL-W_P| CTRL-W P go to preview window
|
|CTRL-W_P| CTRL-W P go to preview window
|
||||||
|CTRL-W_R| CTRL-W R rotate windows upwards N times
|
|CTRL-W_R| CTRL-W R rotate windows upwards N times
|
||||||
|CTRL-W_S| CTRL-W S same as "CTRL-W s"
|
|CTRL-W_S| CTRL-W S same as "CTRL-W s"
|
||||||
@@ -1573,18 +1577,23 @@ tag command action ~
|
|||||||
|:tcldo| :tcld[o] execute Tcl command for each line
|
|:tcldo| :tcld[o] execute Tcl command for each line
|
||||||
|:tclfile| :tclf[ile] execute Tcl script file
|
|:tclfile| :tclf[ile] execute Tcl script file
|
||||||
|:tearoff| :te[aroff] tear-off a menu
|
|:tearoff| :te[aroff] tear-off a menu
|
||||||
|
|:terminal| :ter[minal] open a terminal window
|
||||||
|:tfirst| :tf[irst] jump to first matching tag
|
|:tfirst| :tf[irst] jump to first matching tag
|
||||||
|:throw| :th[row] throw an exception
|
|:throw| :th[row] throw an exception
|
||||||
|: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 @@
|
|||||||
*intro.txt* For Vim version 8.0. Last change: 2016 Sep 24
|
*intro.txt* For Vim version 8.0. Last change: 2017 Sep 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -143,9 +143,14 @@ There are two ways to report bugs, both work:
|
|||||||
|
|
||||||
Please be brief; all the time that is spent on answering mail is subtracted
|
Please be brief; all the time that is spent on answering mail is subtracted
|
||||||
from the time that is spent on improving Vim! Always give a reproducible
|
from the time that is spent on improving Vim! Always give a reproducible
|
||||||
example and try to find out which settings or other things influence the
|
example and try to find out which settings or other things trigger the bug.
|
||||||
appearance of the bug. Try different machines, if possible. Send me patches
|
|
||||||
if you can!
|
Preferably start Vim with: >
|
||||||
|
vim --clean -u reproduce.vim
|
||||||
|
Where reproduce.vim is a script that reproduces the problem. Try different
|
||||||
|
machines, if relevant (is this an MS-Windows specific bug perhaps?).
|
||||||
|
|
||||||
|
Send me patches if you can!
|
||||||
|
|
||||||
It will help to include information about the version of Vim you are using and
|
It will help to include information about the version of Vim you are using and
|
||||||
your setup. You can get the information with this command: >
|
your setup. You can get the information with this command: >
|
||||||
@@ -259,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
|
||||||
@@ -525,7 +534,7 @@ examples and use them directly. Or type them literally, including the '<' and
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
5. Modes, introduction *vim-modes-intro* *vim-modes*
|
5. Modes, introduction *vim-modes-intro* *vim-modes*
|
||||||
|
|
||||||
Vim has six BASIC modes:
|
Vim has seven BASIC modes:
|
||||||
|
|
||||||
*Normal* *Normal-mode* *command-mode*
|
*Normal* *Normal-mode* *command-mode*
|
||||||
Normal mode In Normal mode you can enter all the normal editor
|
Normal mode In Normal mode you can enter all the normal editor
|
||||||
@@ -561,7 +570,12 @@ Ex mode Like Command-line mode, but after entering a command
|
|||||||
you remain in Ex mode. Very limited editing of the
|
you remain in Ex mode. Very limited editing of the
|
||||||
command line. |Ex-mode|
|
command line. |Ex-mode|
|
||||||
|
|
||||||
There are six ADDITIONAL modes. These are variants of the BASIC modes:
|
Terminal-Job mode Interacting with a job in a terminal window. Typed
|
||||||
|
keys go to the job and the job output is displayed in
|
||||||
|
the terminal window. See |terminal| about how to
|
||||||
|
switch to other modes.
|
||||||
|
|
||||||
|
There are seven ADDITIONAL modes. These are variants of the BASIC modes:
|
||||||
|
|
||||||
*Operator-pending* *Operator-pending-mode*
|
*Operator-pending* *Operator-pending-mode*
|
||||||
Operator-pending mode This is like Normal mode, but after an operator
|
Operator-pending mode This is like Normal mode, but after an operator
|
||||||
@@ -587,6 +601,10 @@ Insert Normal mode Entered when CTRL-O given in Insert mode. This is
|
|||||||
If the 'showmode' option is on "-- (insert) --" is
|
If the 'showmode' option is on "-- (insert) --" is
|
||||||
shown at the bottom of the window.
|
shown at the bottom of the window.
|
||||||
|
|
||||||
|
Terminal-Normal mode Using Normal mode in a terminal window. Making
|
||||||
|
changes is impossible. Use an insert command, such as
|
||||||
|
"a" or "i", to return to Terminal-Job mode.
|
||||||
|
|
||||||
Insert Visual mode Entered when starting a Visual selection from Insert
|
Insert Visual mode Entered when starting a Visual selection from Insert
|
||||||
mode, e.g., by using CTRL-O and then "v", "V" or
|
mode, e.g., by using CTRL-O and then "v", "V" or
|
||||||
CTRL-V. When the Visual selection ends, Vim returns
|
CTRL-V. When the Visual selection ends, Vim returns
|
||||||
@@ -661,6 +679,8 @@ Normal mode from any other mode. This can be used to make sure Vim is in
|
|||||||
Normal mode, without causing a beep like <Esc> would. However, this does not
|
Normal mode, without causing a beep like <Esc> would. However, this does not
|
||||||
work in Ex mode. When used after a command that takes an argument, such as
|
work in Ex mode. When used after a command that takes an argument, such as
|
||||||
|f| or |m|, the timeout set with 'ttimeoutlen' applies.
|
|f| or |m|, the timeout set with 'ttimeoutlen' applies.
|
||||||
|
When focus is in a terminal window, CTRL-\ CTRL-N goes to Normal mode for only
|
||||||
|
one command, see |t_CTRL-\_CTRL-N|.
|
||||||
|
|
||||||
*CTRL-\_CTRL-G* *i_CTRL-\_CTRL-G* *c_CTRL-\_CTRL-G* *v_CTRL-\_CTRL-G*
|
*CTRL-\_CTRL-G* *i_CTRL-\_CTRL-G* *c_CTRL-\_CTRL-G* *v_CTRL-\_CTRL-G*
|
||||||
The command CTRL-\ CTRL-G or <C-\><C-G> can be used to go to Insert mode when
|
The command CTRL-\ CTRL-G or <C-\><C-G> can be used to go to Insert mode when
|
||||||
@@ -823,10 +843,12 @@ by Vim. {Vi: not ok}
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
8. Definitions *definitions*
|
8. Definitions *definitions*
|
||||||
|
|
||||||
|
buffer Contains lines of text, usually read from a file.
|
||||||
screen The whole area that Vim uses to work in. This can be
|
screen The whole area that Vim uses to work in. This can be
|
||||||
a terminal emulator window. Also called "the Vim
|
a terminal emulator window. Also called "the Vim
|
||||||
window".
|
window".
|
||||||
window A view on a buffer.
|
window A view on a buffer. There can be multiple windows for
|
||||||
|
one buffer.
|
||||||
|
|
||||||
A screen contains one or more windows, separated by status lines and with the
|
A screen contains one or more windows, separated by status lines and with the
|
||||||
command line at the bottom.
|
command line at the bottom.
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -1279,6 +1291,7 @@ completion can be enabled:
|
|||||||
-complete=highlight highlight groups
|
-complete=highlight highlight groups
|
||||||
-complete=history :history suboptions
|
-complete=history :history suboptions
|
||||||
-complete=locale locale names (as output of locale -a)
|
-complete=locale locale names (as output of locale -a)
|
||||||
|
-complete=mapclear buffer argument
|
||||||
-complete=mapping mapping name
|
-complete=mapping mapping name
|
||||||
-complete=menu menus
|
-complete=menu menus
|
||||||
-complete=messages |:messages| suboptions
|
-complete=messages |:messages| suboptions
|
||||||
@@ -1414,6 +1427,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).
|
||||||
|
|||||||
@@ -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.
|
||||||
@@ -832,6 +833,9 @@ Use the RPM or port for your system.
|
|||||||
|
|
||||||
Currently, GUI Vim supports three styles, |OverTheSpot|, |OffTheSpot| and
|
Currently, GUI Vim supports three styles, |OverTheSpot|, |OffTheSpot| and
|
||||||
|Root|.
|
|Root|.
|
||||||
|
When compiled with |+GUI_GTK| feature, GUI Vim supports two styles,
|
||||||
|
|OnTheSpot| and |OverTheSpot|. You can select the style with the 'imstyle'
|
||||||
|
option.
|
||||||
|
|
||||||
*. on-the-spot *OnTheSpot*
|
*. on-the-spot *OnTheSpot*
|
||||||
Preedit Area and Status Area are performed by the client application in
|
Preedit Area and Status Area are performed by the client application in
|
||||||
@@ -1251,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 |imactivatefunc()| and |imstatusfunc()|. This is useful to
|
||||||
|
activate/deativate 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
|
||||||
@@ -1399,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: 2017 Oct 14
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -463,12 +463,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 +639,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 Jun 18
|
*options.txt* For Vim version 8.0. Last change: 2017 Nov 18
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -417,12 +417,23 @@ On Unix systems the form "${HOME}" can be used too. The name between {} can
|
|||||||
contain non-id characters then. Note that if you want to use this for the
|
contain non-id characters then. Note that if you want to use this for the
|
||||||
"gf" command, you need to add the '{' and '}' characters to 'isfname'.
|
"gf" command, you need to add the '{' and '}' characters to 'isfname'.
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
NOTE: expanding environment variables and "~/" is only done with the ":set"
|
NOTE: expanding environment variables and "~/" is only done with the ":set"
|
||||||
command, not when assigning a value to an option with ":let".
|
command, not when assigning a value to an option with ":let".
|
||||||
|
|
||||||
|
*$HOME-windows*
|
||||||
|
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.
|
||||||
|
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
|
||||||
the system, mostly it is something like 256 or 1024 characters.
|
the system, mostly it is something like 256 or 1024 characters.
|
||||||
@@ -721,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)
|
||||||
@@ -869,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
|
||||||
@@ -889,6 +902,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
"screen.linux", "cygwin" or "putty", or $COLORFGBG suggests a dark
|
"screen.linux", "cygwin" or "putty", or $COLORFGBG suggests a dark
|
||||||
background. Otherwise the default is "light".
|
background. Otherwise the default is "light".
|
||||||
|
|
||||||
|
The |:terminal| command and the |term_start()| function use the
|
||||||
|
'background' value to decide whether the terminal window will start
|
||||||
|
with a white or black background.
|
||||||
|
|
||||||
Normally this option would be set in the .vimrc file. Possibly
|
Normally this option would be set in the .vimrc file. Possibly
|
||||||
depending on the terminal name. Example: >
|
depending on the terminal name. Example: >
|
||||||
:if &term == "pcterm"
|
:if &term == "pcterm"
|
||||||
@@ -1110,7 +1127,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 "")
|
||||||
@@ -1319,8 +1345,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'bufhidden' 'bh' string (default: "")
|
'bufhidden' 'bh' string (default: "")
|
||||||
local to buffer
|
local to buffer
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{not available when compiled without the |+quickfix|
|
|
||||||
feature}
|
|
||||||
This option specifies what happens when a buffer is no longer
|
This option specifies what happens when a buffer is no longer
|
||||||
displayed in a window:
|
displayed in a window:
|
||||||
<empty> follow the global 'hidden' option
|
<empty> follow the global 'hidden' option
|
||||||
@@ -1355,8 +1379,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'buftype' 'bt' string (default: "")
|
'buftype' 'bt' string (default: "")
|
||||||
local to buffer
|
local to buffer
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{not available when compiled without the |+quickfix|
|
|
||||||
feature}
|
|
||||||
The value of this option specifies the type of a buffer:
|
The value of this option specifies the type of a buffer:
|
||||||
<empty> normal buffer
|
<empty> normal buffer
|
||||||
nofile buffer which is not related to a file and will not be
|
nofile buffer which is not related to a file and will not be
|
||||||
@@ -1369,6 +1391,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
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
|
||||||
manually)
|
manually)
|
||||||
|
terminal buffer for a |terminal| (you are not supposed to set
|
||||||
|
this manually)
|
||||||
|
|
||||||
This option is used together with 'bufhidden' and 'swapfile' to
|
This option is used together with 'bufhidden' and 'swapfile' to
|
||||||
specify special kinds of buffers. See |special-buffers|.
|
specify special kinds of buffers. See |special-buffers|.
|
||||||
@@ -3506,6 +3530,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)
|
||||||
@@ -3880,7 +3906,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.
|
||||||
@@ -3924,7 +3950,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)
|
||||||
@@ -4042,7 +4074,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
L:SpellLocal,-:Conceal,+:Pmenu,=:PmenuSel,
|
L:SpellLocal,-:Conceal,+:Pmenu,=:PmenuSel,
|
||||||
x:PmenuSbar,X:PmenuThumb,*:TabLine,
|
x:PmenuSbar,X:PmenuThumb,*:TabLine,
|
||||||
#:TabLineSel,_:TabLineFill,!:CursorColumn,
|
#:TabLineSel,_:TabLineFill,!:CursorColumn,
|
||||||
.:CursorLine,o:ColorColumn,q:QuickFixLine")
|
.:CursorLine,o:ColorColumn,q:QuickFixLine,
|
||||||
|
z:StatusLineTerm,Z:StatusLineTermNC")
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
This option can be used to set highlighting mode for various
|
This option can be used to set highlighting mode for various
|
||||||
@@ -4067,7 +4100,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
|
||||||
@@ -4101,6 +4134,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
|
||||||
@@ -4222,10 +4256,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)
|
||||||
@@ -4274,8 +4308,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
|
||||||
@@ -4286,15 +4319,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
|
||||||
@@ -4302,8 +4334,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>
|
||||||
@@ -4316,8 +4346,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
|
||||||
@@ -4338,10 +4372,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()
|
||||||
@@ -4352,6 +4386,23 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
<
|
<
|
||||||
NOTE: This function is invoked very often. Keep it fast.
|
NOTE: This function is invoked very often. Keep it fast.
|
||||||
|
|
||||||
|
*'imstyle'* *'imst'*
|
||||||
|
'imstyle' 'imst' number (default 1)
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only available when compiled with |+xim| and
|
||||||
|
|+GUI_GTK|}
|
||||||
|
This option specifies the input style of Input Method:
|
||||||
|
0 use on-the-spot style
|
||||||
|
1 over-the-spot style
|
||||||
|
See: |xim-input-style|
|
||||||
|
|
||||||
|
For a long time on-the-spot style had been used in the GTK version of
|
||||||
|
vim, however, it is known that it causes troubles when using mappings,
|
||||||
|
|single-repeat|, etc. Therefore over-the-spot style becomes the
|
||||||
|
default now. This should work fine for most people, however if you
|
||||||
|
have any problem with it, try using on-the-spot style.
|
||||||
|
|
||||||
*'include'* *'inc'*
|
*'include'* *'inc'*
|
||||||
'include' 'inc' string (default "^\s*#\s*include")
|
'include' 'inc' string (default "^\s*#\s*include")
|
||||||
global or local to buffer |global-local|
|
global or local to buffer |global-local|
|
||||||
@@ -4413,7 +4464,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
|
||||||
@@ -4966,8 +5027,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
When on the plugin scripts are loaded when starting up |load-plugins|.
|
When on the plugin scripts are loaded when starting up |load-plugins|.
|
||||||
This option can be reset in your |vimrc| file to disable the loading
|
This option can be reset in your |vimrc| file to disable the loading
|
||||||
of plugins.
|
of plugins.
|
||||||
Note that using the "-u NONE" and "--noplugin" command line arguments
|
Note that using the "-u NONE", "-u DEFAULTS" and "--noplugin" command
|
||||||
reset this option. |-u| |--noplugin|
|
line arguments reset this option. See |-u| and |--noplugin|.
|
||||||
|
|
||||||
*'luadll'*
|
*'luadll'*
|
||||||
'luadll' string (default depends on the build)
|
'luadll' string (default depends on the build)
|
||||||
@@ -5083,7 +5144,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)
|
||||||
@@ -5286,7 +5347,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
|
||||||
@@ -5434,6 +5495,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
|
||||||
@@ -6066,11 +6154,34 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
|
|
||||||
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. This fallback will cause
|
||||||
|
significant slow down on drawing.
|
||||||
|
|
||||||
|
NOTE: It is known that some fonts and options combination
|
||||||
|
causes trouble on drawing glyphs.
|
||||||
|
|
||||||
|
- 'rendmode: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.
|
||||||
|
|
||||||
@@ -7330,7 +7441,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
|
|
||||||
Watch out for errors in expressions. They may render Vim unusable!
|
Watch out for errors in expressions. They may render Vim unusable!
|
||||||
If you are stuck, hold down ':' or 'Q' to get a prompt, then quit and
|
If you are stuck, hold down ':' or 'Q' to get a prompt, then quit and
|
||||||
edit your .vimrc or whatever with "vim -u NONE" to get it right.
|
edit your .vimrc or whatever with "vim --clean" to get it right.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
Emulate standard status line with 'ruler' set >
|
Emulate standard status line with 'ruler' set >
|
||||||
@@ -7754,6 +7865,36 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
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.
|
||||||
|
|
||||||
|
*'termkey'* *'tk'*
|
||||||
|
'termkey' 'tk' string (default "")
|
||||||
|
local to window
|
||||||
|
{not in Vi}
|
||||||
|
The key that starts a CTRL-W command in a terminal window. Other keys
|
||||||
|
are sent to the job running in the window.
|
||||||
|
The <> notation can be used, e.g.: >
|
||||||
|
:set termkey=<C-L>
|
||||||
|
< The string must be one key stroke but can be multiple bytes.
|
||||||
|
When not set CTRL-W is used, so that CTRL-W : gets you to the command
|
||||||
|
line. If 'termkey' is set to CTRL-L then CTRL-L : gets you to the
|
||||||
|
command line.
|
||||||
|
|
||||||
|
*'termsize'* *'tms'*
|
||||||
|
'termsize' 'tms' string (default "")
|
||||||
|
local to window
|
||||||
|
{not in Vi}
|
||||||
|
Size of the |terminal| window. Format: {rows}x{columns}.
|
||||||
|
- When empty the terminal gets the size from the window.
|
||||||
|
- When set (e.g., "24x80") the terminal size is not adjusted to the
|
||||||
|
window size. If the window is smaller only the top-left part is
|
||||||
|
displayed.
|
||||||
|
When rows is zero then use the height of the window.
|
||||||
|
When columns is zero then use the width of the window.
|
||||||
|
For example: "30x0" uses 30 rows with the current window width.
|
||||||
|
Using "0x0" is the same as empty.
|
||||||
|
Note that the command running in the terminal window may still change
|
||||||
|
the size of the terminal. In that case the Vim window will be
|
||||||
|
adjusted to that size, if possible.
|
||||||
|
|
||||||
*'terse'* *'noterse'*
|
*'terse'* *'noterse'*
|
||||||
'terse' boolean (default off)
|
'terse' boolean (default off)
|
||||||
global
|
global
|
||||||
@@ -8114,7 +8255,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 highter 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=
|
||||||
@@ -8195,7 +8336,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.
|
||||||
|
|
||||||
@@ -8280,7 +8421,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|
|
||||||
@@ -8298,6 +8439,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,
|
||||||
@@ -8313,13 +8455,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
{not available when compiled without the |+viminfo|
|
{not available when compiled without the |+viminfo|
|
||||||
feature}
|
feature}
|
||||||
When non-empty, the viminfo file is read upon startup and written
|
When non-empty, the viminfo file is read upon startup and written
|
||||||
when exiting Vim (see |viminfo-file|). The string should be a comma
|
when exiting Vim (see |viminfo-file|). Except when 'viminfofile' is
|
||||||
separated list of parameters, each consisting of a single character
|
"NONE".
|
||||||
identifying the particular parameter, followed by a number or string
|
The string should be a comma separated list of parameters, each
|
||||||
which specifies the value of that parameter. If a particular
|
consisting of a single character identifying the particular parameter,
|
||||||
character is left out, then the default value is used for that
|
followed by a number or string which specifies the value of that
|
||||||
parameter. The following is a list of the identifying characters and
|
parameter. If a particular character is left out, then the default
|
||||||
the effect of their value.
|
value is used for that parameter. The following is a list of the
|
||||||
|
identifying characters and the effect of their value.
|
||||||
CHAR VALUE ~
|
CHAR VALUE ~
|
||||||
*viminfo-!*
|
*viminfo-!*
|
||||||
! When included, save and restore global variables that start
|
! When included, save and restore global variables that start
|
||||||
@@ -8379,9 +8522,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
has been used since the last search command.
|
has been used since the last search command.
|
||||||
*viminfo-n*
|
*viminfo-n*
|
||||||
n Name of the viminfo file. The name must immediately follow
|
n Name of the viminfo file. The name must immediately follow
|
||||||
the 'n'. Must be at the end of the option! If the "-i"
|
the 'n'. Must be at the end of the option! If the
|
||||||
argument was given when starting Vim, that file name overrides
|
'viminfofile' option is set, that file name overrides the one
|
||||||
the one given here with 'viminfo'. Environment variables are
|
given here with 'viminfo'. Environment variables are
|
||||||
expanded when opening the file, not when setting the option.
|
expanded when opening the file, not when setting the option.
|
||||||
*viminfo-r*
|
*viminfo-r*
|
||||||
r Removable media. The argument is a string (up to the next
|
r Removable media. The argument is a string (up to the next
|
||||||
@@ -8422,6 +8565,17 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
NOTE: This option is set to the Vim default value when 'compatible'
|
NOTE: This option is set to the Vim default value when 'compatible'
|
||||||
is reset.
|
is reset.
|
||||||
|
|
||||||
|
*'viminfofile'* *'vif'*
|
||||||
|
'viminfofile' 'vif' string (default: "")
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{not available when compiled without the |+viminfo|
|
||||||
|
feature}
|
||||||
|
When non-empty, overrides the file name used for viminfo.
|
||||||
|
When equal to "NONE" no viminfo file will be read or written.
|
||||||
|
This option can be set with the |-i| command line flag. The |--clean|
|
||||||
|
command line flag sets it to "NONE".
|
||||||
|
|
||||||
*'virtualedit'* *'ve'*
|
*'virtualedit'* *'ve'*
|
||||||
'virtualedit' 've' string (default "")
|
'virtualedit' 've' string (default "")
|
||||||
global
|
global
|
||||||
@@ -8455,14 +8609,27 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'visualbell' 'vb' boolean (default off)
|
'visualbell' 'vb' boolean (default off)
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
Use visual bell instead of beeping. The terminal code to display the
|
Use a visual bell instead of beeping. The terminal code to display the
|
||||||
visual bell is given with 't_vb'. When no beep or flash is wanted,
|
visual bell is given with 't_vb'. When no beep or flash is wanted,
|
||||||
use ":set vb t_vb=".
|
use: >
|
||||||
Note: When the GUI starts, 't_vb' is reset to its default value. You
|
:set vb t_vb=
|
||||||
might want to set it again in your |gvimrc|.
|
< If you want a short flash, you can use this on many terminals: >
|
||||||
|
:set vb t_vb=[?5h$<100>[?5l
|
||||||
|
< Here $<100> specifies the time, you can use a smaller or bigger value
|
||||||
|
to get a shorter or longer flash.
|
||||||
|
|
||||||
|
Note: Vim will limit the bell to once per half a second. This avoids
|
||||||
|
having to wait for the flashing to finish when there are lots of
|
||||||
|
bells, e.g. on key repeat. This also happens without 'visualbell'
|
||||||
|
set.
|
||||||
|
|
||||||
In the GUI, 't_vb' defaults to "<Esc>|f", which inverts the display
|
In the GUI, 't_vb' defaults to "<Esc>|f", which inverts the display
|
||||||
for 20 msec. If you want to use a different time, use "<Esc>|40f",
|
for 20 msec. If you want to use a different time, use "<Esc>|40f",
|
||||||
where 40 is the time in msec.
|
where 40 is the time in msec.
|
||||||
|
|
||||||
|
Note: When the GUI starts, 't_vb' is reset to its default value. You
|
||||||
|
might want to set it again in your |gvimrc|.
|
||||||
|
|
||||||
Does not work on the Amiga, you always get a screen flash.
|
Does not work on the Amiga, you always get a screen flash.
|
||||||
Also see 'errorbells'.
|
Also see 'errorbells'.
|
||||||
|
|
||||||
@@ -8777,6 +8944,20 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
large number, it will cause errors when opening more than a few
|
large number, it will cause errors when opening more than a few
|
||||||
windows. A value of 0 to 12 is reasonable.
|
windows. A value of 0 to 12 is reasonable.
|
||||||
|
|
||||||
|
*'winptydll'*
|
||||||
|
'winptydll' string (default "winpty32.dll" or "winpty64.dll")
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only available when compiled with the |terminal|
|
||||||
|
feature on MS-Windows}
|
||||||
|
Specifies the name of the winpty shared library, used for the
|
||||||
|
|:terminal| command. The default depends on whether was build as a
|
||||||
|
32-bit or 64-bit executable. If not found, "winpty.dll" is tried as
|
||||||
|
a fallback.
|
||||||
|
Environment variables are expanded |:set_env|.
|
||||||
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
|
security reasons.
|
||||||
|
|
||||||
*'winwidth'* *'wiw'* *E592*
|
*'winwidth'* *'wiw'* *E592*
|
||||||
'winwidth' 'wiw' number (default 20)
|
'winwidth' 'wiw' number (default 20)
|
||||||
global
|
global
|
||||||
|
|||||||
@@ -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 backwards comptibility, 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 @@
|
|||||||
*pi_getscript.txt* For Vim version 7.0. Last change: 2013 Nov 29
|
*pi_getscript.txt* For Vim version 7.0. Last change: 2017 Aug 01
|
||||||
>
|
>
|
||||||
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell
|
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell
|
||||||
<
|
<
|
||||||
@@ -389,7 +389,7 @@ v36 Apr 22, 2013 : * (glts) suggested use of plugin/**/*.vim instead of
|
|||||||
plugin/*.vim in globpath() call.
|
plugin/*.vim in globpath() call.
|
||||||
* (Andy Wokula) got warning message when setting
|
* (Andy Wokula) got warning message when setting
|
||||||
g:loaded_getscriptPlugin
|
g:loaded_getscriptPlugin
|
||||||
v35 Apr 07, 2012 : * (MengHuan Yu) pointed out that the script url has
|
v35 Apr 07, 2012 : * (MengHuan Yu) pointed out that the script URL has
|
||||||
changed (somewhat). However, it doesn't work, and
|
changed (somewhat). However, it doesn't work, and
|
||||||
the original one does (under Linux). I'll make it
|
the original one does (under Linux). I'll make it
|
||||||
yet-another-option.
|
yet-another-option.
|
||||||
|
|||||||
@@ -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: 2017 Sep 13
|
||||||
|
|
||||||
|
|
||||||
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
|
||||||
@@ -425,7 +432,9 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
|||||||
which will indicate the command that produced the
|
which will indicate the command that produced the
|
||||||
quickfix list. This can be used to compose a custom
|
quickfix list. This can be used to compose a custom
|
||||||
status line if the value of 'statusline' is adjusted
|
status line if the value of 'statusline' is adjusted
|
||||||
properly.
|
properly. Whenever this buffer is modified by a
|
||||||
|
quickfix command or function, the |b:changedtick|
|
||||||
|
variable is incremented.
|
||||||
|
|
||||||
*:lop* *:lopen*
|
*:lop* *:lopen*
|
||||||
:lop[en] [height] Open a window to show the location list for the
|
:lop[en] [height] Open a window to show the location list for the
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*quickref.txt* For Vim version 8.0. Last change: 2016 Dec 16
|
*quickref.txt* For Vim version 8.0. Last change: 2017 Nov 21
|
||||||
|
|
||||||
|
|
||||||
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"
|
||||||
@@ -920,6 +924,8 @@ Short explanation of each option: *option-list*
|
|||||||
'termbidi' 'tbidi' terminal takes care of bi-directionality
|
'termbidi' 'tbidi' terminal takes care of bi-directionality
|
||||||
'termencoding' 'tenc' character encoding used by the terminal
|
'termencoding' 'tenc' character encoding used by the terminal
|
||||||
'termguicolors' 'tgc' use GUI colors for the terminal
|
'termguicolors' 'tgc' use GUI colors for the terminal
|
||||||
|
'termkey' 'tk' key that precedes a Vim command in a terminal
|
||||||
|
'termsize' 'tms' size of a terminal window
|
||||||
'terse' shorten some messages
|
'terse' shorten some messages
|
||||||
'textauto' 'ta' obsolete, use 'fileformats'
|
'textauto' 'ta' obsolete, use 'fileformats'
|
||||||
'textmode' 'tx' obsolete, use 'fileformat'
|
'textmode' 'tx' obsolete, use 'fileformat'
|
||||||
@@ -952,6 +958,7 @@ Short explanation of each option: *option-list*
|
|||||||
'viewdir' 'vdir' directory where to store files with :mkview
|
'viewdir' 'vdir' directory where to store files with :mkview
|
||||||
'viewoptions' 'vop' specifies what to save for :mkview
|
'viewoptions' 'vop' specifies what to save for :mkview
|
||||||
'viminfo' 'vi' use .viminfo file upon startup and exiting
|
'viminfo' 'vi' use .viminfo file upon startup and exiting
|
||||||
|
'viminfofile' 'vif' file name used for the viminfo file
|
||||||
'virtualedit' 've' when to use virtual editing
|
'virtualedit' 've' when to use virtual editing
|
||||||
'visualbell' 'vb' use visual bell instead of beeping
|
'visualbell' 'vb' use visual bell instead of beeping
|
||||||
'warn' warn for shell command when buffer was changed
|
'warn' warn for shell command when buffer was changed
|
||||||
@@ -971,6 +978,7 @@ Short explanation of each option: *option-list*
|
|||||||
'winfixwidth' 'wfw' keep window width when opening/closing windows
|
'winfixwidth' 'wfw' keep window width when opening/closing windows
|
||||||
'winminheight' 'wmh' minimum number of lines for any window
|
'winminheight' 'wmh' minimum number of lines for any window
|
||||||
'winminwidth' 'wmw' minimal number of columns for any window
|
'winminwidth' 'wmw' minimal number of columns for any window
|
||||||
|
'winptydll' name of the winpty dynamic library
|
||||||
'winwidth' 'wiw' minimal number of columns for current window
|
'winwidth' 'wiw' minimal number of columns for current window
|
||||||
'wrap' long lines wrap and continue on the next line
|
'wrap' long lines wrap and continue on the next line
|
||||||
'wrapmargin' 'wm' chars from the right where wrapping starts
|
'wrapmargin' 'wm' chars from the right where wrapping starts
|
||||||
@@ -1309,6 +1317,7 @@ Context-sensitive completion on the command-line:
|
|||||||
|
|
||||||
|:sfind| :sf[ind] {file} split window, find {file} in 'path'
|
|:sfind| :sf[ind] {file} split window, find {file} in 'path'
|
||||||
and edit it
|
and edit it
|
||||||
|
|:terminal| :terminal {cmd} open a terminal window
|
||||||
|CTRL-W_]| CTRL-W ] split window and jump to tag under
|
|CTRL-W_]| CTRL-W ] split window and jump to tag under
|
||||||
cursor
|
cursor
|
||||||
|CTRL-W_f| CTRL-W f split window and edit file name under
|
|CTRL-W_f| CTRL-W f split window and edit file name under
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*remote.txt* For Vim version 8.0. Last change: 2017 Mar 18
|
*remote.txt* For Vim version 8.0. Last change: 2017 Nov 12
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -99,7 +99,7 @@ Tell the remote server "BLA" to write all files and exit: >
|
|||||||
vim --servername BLA --remote-send '<C-\><C-N>:wqa<CR>'
|
vim --servername BLA --remote-send '<C-\><C-N>:wqa<CR>'
|
||||||
|
|
||||||
|
|
||||||
SERVER NAME
|
SERVER NAME *client-server-name*
|
||||||
|
|
||||||
By default Vim will try to register the name under which it was invoked (gvim,
|
By default Vim will try to register the name under which it was invoked (gvim,
|
||||||
egvim ...). This can be overridden with the --servername argument. If the
|
egvim ...). This can be overridden with the --servername argument. If the
|
||||||
@@ -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 @@
|
|||||||
*spell.txt* For Vim version 8.0. Last change: 2016 Jan 08
|
*spell.txt* For Vim version 8.0. Last change: 2017 Oct 26
|
||||||
|
|
||||||
|
|
||||||
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:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*starting.txt* For Vim version 8.0. Last change: 2017 Jan 15
|
*starting.txt* For Vim version 8.0. Last change: 2017 Nov 18
|
||||||
|
|
||||||
|
|
||||||
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: >
|
||||||
@@ -140,11 +140,12 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
--noplugin Skip loading plugins. Resets the 'loadplugins' option.
|
--noplugin Skip loading plugins. Resets the 'loadplugins' option.
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
Note that the |-u| argument may also disable loading plugins:
|
Note that the |-u| argument may also disable loading plugins:
|
||||||
argument load vimrc files load plugins ~
|
argument load: vimrc files plugins defaults.vim ~
|
||||||
(nothing) yes yes
|
(nothing) yes yes yes
|
||||||
-u NONE no no
|
-u NONE no no no
|
||||||
-u NORC no yes
|
-u DEFAULTS no no yes
|
||||||
--noplugin yes no
|
-u NORC no yes no
|
||||||
|
--noplugin yes no yes
|
||||||
|
|
||||||
--startuptime {fname} *--startuptime*
|
--startuptime {fname} *--startuptime*
|
||||||
During startup write timing messages to the file {fname}.
|
During startup write timing messages to the file {fname}.
|
||||||
@@ -420,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
|
||||||
@@ -465,21 +468,30 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
--nofork GUI: Do not fork. Same as |-f|.
|
--nofork GUI: Do not fork. Same as |-f|.
|
||||||
*-u* *E282*
|
*-u* *E282*
|
||||||
-u {vimrc} The file {vimrc} is read for initializations. Most other
|
-u {vimrc} The file {vimrc} is read for initializations. Most other
|
||||||
initializations are skipped; see |initialization|. This can
|
initializations are skipped; see |initialization|.
|
||||||
be used to start Vim in a special mode, with special
|
|
||||||
|
This can be used to start Vim in a special mode, with special
|
||||||
mappings and settings. A shell alias can be used to make
|
mappings and settings. A shell alias can be used to make
|
||||||
this easy to use. For example: >
|
this easy to use. For example: >
|
||||||
alias vimc vim -u ~/.c_vimrc !*
|
alias vimc vim -u ~/.c_vimrc !*
|
||||||
< Also consider using autocommands; see |autocommand|.
|
< Also consider using autocommands; see |autocommand|.
|
||||||
|
|
||||||
When {vimrc} is equal to "NONE" (all uppercase), all
|
When {vimrc} is equal to "NONE" (all uppercase), all
|
||||||
initializations from files and environment variables are
|
initializations from files and environment variables are
|
||||||
skipped, including reading the |gvimrc| file when the GUI
|
skipped, including reading the |gvimrc| file when the GUI
|
||||||
starts. Loading plugins is also skipped.
|
starts. Loading plugins is also skipped.
|
||||||
|
|
||||||
When {vimrc} is equal to "NORC" (all uppercase), this has the
|
When {vimrc} is equal to "NORC" (all uppercase), this has the
|
||||||
same effect as "NONE", but loading plugins is not skipped.
|
same effect as "NONE", but loading plugins is not skipped.
|
||||||
Using the "-u" argument has the side effect that the
|
|
||||||
'compatible' option will be on by default. This can have
|
When {vimrc} is equal to "DEFAULTS" (all uppercase), this has
|
||||||
unexpected effects. See |'compatible'|.
|
the same effect as "NONE", but the |defaults.vim| script is
|
||||||
|
loaded, which will also set 'nocompatible'.
|
||||||
|
|
||||||
|
Using the "-u" argument with another argument than DEFAULTS
|
||||||
|
has the side effect that the 'compatible' option will be on by
|
||||||
|
default. This can have unexpected effects. See
|
||||||
|
|'compatible'|.
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
|
|
||||||
*-U* *E230*
|
*-U* *E230*
|
||||||
@@ -497,6 +509,13 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
":rv" or ":wv" are used. See also |viminfo-file|.
|
":rv" or ":wv" are used. See also |viminfo-file|.
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
|
|
||||||
|
*--clean*
|
||||||
|
--clean Equal to "-u DEFAULTS -i NONE":
|
||||||
|
- initializations from files and environment variables is
|
||||||
|
skipped
|
||||||
|
- the |defaults.vim| script is loaded, which implies
|
||||||
|
'nocompatible': use Vim defaults
|
||||||
|
- no viminfo file is read or written
|
||||||
*-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
|
||||||
@@ -856,6 +875,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
|
||||||
@@ -868,6 +890,7 @@ accordingly. Vim proceeds in this order:
|
|||||||
Loading plugins won't be done when:
|
Loading plugins won't be done when:
|
||||||
- The 'loadplugins' option was reset in a vimrc file.
|
- The 'loadplugins' option was reset in a vimrc file.
|
||||||
- The |--noplugin| command line argument is used.
|
- The |--noplugin| command line argument is used.
|
||||||
|
- The |--clean| command line argument is used.
|
||||||
- The "-u NONE" command line argument is used |-u|.
|
- The "-u NONE" command line argument is used |-u|.
|
||||||
- When Vim was compiled without the |+eval| feature.
|
- When Vim was compiled without the |+eval| feature.
|
||||||
Note that using "-c 'set noloadplugins'" doesn't work, because the
|
Note that using "-c 'set noloadplugins'" doesn't work, because the
|
||||||
@@ -990,6 +1013,7 @@ starts its initializations. But as soon as:
|
|||||||
- a vimrc file in the current directory, or
|
- a vimrc file in the current directory, 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
|
||||||
even when no vimrc file exists.
|
even when no vimrc file exists.
|
||||||
- the |defaults.vim| script is loaded, or
|
- the |defaults.vim| script is loaded, or
|
||||||
- gvimrc file was found,
|
- gvimrc file was found,
|
||||||
@@ -1025,7 +1049,7 @@ 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
|
||||||
@@ -1396,7 +1420,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
|
||||||
@@ -1508,7 +1532,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 Jun 04
|
*syntax.txt* For Vim version 8.0. Last change: 2017 Sep 30
|
||||||
|
|
||||||
|
|
||||||
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*
|
||||||
@@ -2138,6 +2137,16 @@ set "msql_minlines" to the value you desire. Example: >
|
|||||||
:let msql_minlines = 200
|
:let msql_minlines = 200
|
||||||
|
|
||||||
|
|
||||||
|
N1QL *n1ql.vim* *ft-n1ql-syntax*
|
||||||
|
|
||||||
|
N1QL is a SQL-like declarative language for manipulating JSON documents in
|
||||||
|
Couchbase Server databases.
|
||||||
|
|
||||||
|
Vim syntax highlights N1QL statements, keywords, operators, types, comments,
|
||||||
|
and special values. Vim ignores syntactical elements specific to SQL or its
|
||||||
|
many dialects, like COLUMN or CHAR, that don't exist in N1QL.
|
||||||
|
|
||||||
|
|
||||||
NCF *ncf.vim* *ft-ncf-syntax*
|
NCF *ncf.vim* *ft-ncf-syntax*
|
||||||
|
|
||||||
There is one option for NCF syntax highlighting.
|
There is one option for NCF syntax highlighting.
|
||||||
@@ -4689,23 +4698,26 @@ 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* *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
|
||||||
standout
|
standout
|
||||||
|
nocombine override attributes instead of combining them
|
||||||
NONE no attributes used (used to reset it)
|
NONE no attributes used (used to reset it)
|
||||||
|
|
||||||
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*
|
||||||
@@ -4870,7 +4882,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
|
||||||
@@ -4982,10 +4995,11 @@ PmenuSbar Popup menu: scrollbar.
|
|||||||
PmenuThumb Popup menu: Thumb of the scrollbar.
|
PmenuThumb Popup menu: Thumb of the scrollbar.
|
||||||
*hl-Question*
|
*hl-Question*
|
||||||
Question |hit-enter| prompt and yes/no questions
|
Question |hit-enter| prompt and yes/no questions
|
||||||
|
*hl-QuickFixLine*
|
||||||
|
QuickFixLine Current |quickfix| item in the quickfix window.
|
||||||
*hl-Search*
|
*hl-Search*
|
||||||
Search Last search pattern highlighting (see 'hlsearch').
|
Search Last search pattern highlighting (see 'hlsearch').
|
||||||
Also used for highlighting the current line in the quickfix
|
Also used for similar items that need to stand out.
|
||||||
window and similar items that need to stand out.
|
|
||||||
*hl-SpecialKey*
|
*hl-SpecialKey*
|
||||||
SpecialKey Meta and special keys listed with ":map", also for text used
|
SpecialKey Meta and special keys listed with ":map", also for text used
|
||||||
to show unprintable characters in the text, 'listchars'.
|
to show unprintable characters in the text, 'listchars'.
|
||||||
|
|||||||
145
runtime/doc/tags
145
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'*
|
||||||
@@ -306,6 +309,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 +370,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 +480,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 +507,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'*
|
||||||
@@ -935,6 +945,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
't_Co' term.txt /*'t_Co'*
|
't_Co' term.txt /*'t_Co'*
|
||||||
't_Cs' term.txt /*'t_Cs'*
|
't_Cs' term.txt /*'t_Cs'*
|
||||||
't_DL' term.txt /*'t_DL'*
|
't_DL' term.txt /*'t_DL'*
|
||||||
|
't_EC' term.txt /*'t_EC'*
|
||||||
't_EI' term.txt /*'t_EI'*
|
't_EI' term.txt /*'t_EI'*
|
||||||
't_F1' term.txt /*'t_F1'*
|
't_F1' term.txt /*'t_F1'*
|
||||||
't_F2' term.txt /*'t_F2'*
|
't_F2' term.txt /*'t_F2'*
|
||||||
@@ -971,12 +982,20 @@ $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_RV' term.txt /*'t_RV'*
|
't_RV' term.txt /*'t_RV'*
|
||||||
|
't_SC' term.txt /*'t_SC'*
|
||||||
|
't_SH' term.txt /*'t_SH'*
|
||||||
't_SI' term.txt /*'t_SI'*
|
'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_WP' term.txt /*'t_WP'*
|
't_WP' term.txt /*'t_WP'*
|
||||||
't_WS' term.txt /*'t_WS'*
|
't_WS' term.txt /*'t_WS'*
|
||||||
't_ZH' term.txt /*'t_ZH'*
|
't_ZH' term.txt /*'t_ZH'*
|
||||||
@@ -1064,6 +1083,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'termbidi' options.txt /*'termbidi'*
|
'termbidi' options.txt /*'termbidi'*
|
||||||
'termencoding' options.txt /*'termencoding'*
|
'termencoding' options.txt /*'termencoding'*
|
||||||
'termguicolors' options.txt /*'termguicolors'*
|
'termguicolors' options.txt /*'termguicolors'*
|
||||||
|
'termkey' options.txt /*'termkey'*
|
||||||
|
'termsize' options.txt /*'termsize'*
|
||||||
'terse' options.txt /*'terse'*
|
'terse' options.txt /*'terse'*
|
||||||
'textauto' options.txt /*'textauto'*
|
'textauto' options.txt /*'textauto'*
|
||||||
'textmode' options.txt /*'textmode'*
|
'textmode' options.txt /*'textmode'*
|
||||||
@@ -1079,8 +1100,10 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'titlelen' options.txt /*'titlelen'*
|
'titlelen' options.txt /*'titlelen'*
|
||||||
'titleold' options.txt /*'titleold'*
|
'titleold' options.txt /*'titleold'*
|
||||||
'titlestring' options.txt /*'titlestring'*
|
'titlestring' options.txt /*'titlestring'*
|
||||||
|
'tk' options.txt /*'tk'*
|
||||||
'tl' options.txt /*'tl'*
|
'tl' options.txt /*'tl'*
|
||||||
'tm' options.txt /*'tm'*
|
'tm' options.txt /*'tm'*
|
||||||
|
'tms' options.txt /*'tms'*
|
||||||
'to' options.txt /*'to'*
|
'to' options.txt /*'to'*
|
||||||
'toolbar' options.txt /*'toolbar'*
|
'toolbar' options.txt /*'toolbar'*
|
||||||
'toolbariconsize' options.txt /*'toolbariconsize'*
|
'toolbariconsize' options.txt /*'toolbariconsize'*
|
||||||
@@ -1124,7 +1147,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'vi' options.txt /*'vi'*
|
'vi' options.txt /*'vi'*
|
||||||
'viewdir' options.txt /*'viewdir'*
|
'viewdir' options.txt /*'viewdir'*
|
||||||
'viewoptions' options.txt /*'viewoptions'*
|
'viewoptions' options.txt /*'viewoptions'*
|
||||||
|
'vif' options.txt /*'vif'*
|
||||||
'viminfo' options.txt /*'viminfo'*
|
'viminfo' options.txt /*'viminfo'*
|
||||||
|
'viminfofile' options.txt /*'viminfofile'*
|
||||||
'virtualedit' options.txt /*'virtualedit'*
|
'virtualedit' options.txt /*'virtualedit'*
|
||||||
'visualbell' options.txt /*'visualbell'*
|
'visualbell' options.txt /*'visualbell'*
|
||||||
'vop' options.txt /*'vop'*
|
'vop' options.txt /*'vop'*
|
||||||
@@ -1161,6 +1186,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'winheight' options.txt /*'winheight'*
|
'winheight' options.txt /*'winheight'*
|
||||||
'winminheight' options.txt /*'winminheight'*
|
'winminheight' options.txt /*'winminheight'*
|
||||||
'winminwidth' options.txt /*'winminwidth'*
|
'winminwidth' options.txt /*'winminwidth'*
|
||||||
|
'winptydll' options.txt /*'winptydll'*
|
||||||
'winwidth' options.txt /*'winwidth'*
|
'winwidth' options.txt /*'winwidth'*
|
||||||
'wiv' options.txt /*'wiv'*
|
'wiv' options.txt /*'wiv'*
|
||||||
'wiw' options.txt /*'wiw'*
|
'wiw' options.txt /*'wiw'*
|
||||||
@@ -1201,7 +1227,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*
|
||||||
@@ -1309,6 +1337,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
+tcl various.txt /*+tcl*
|
+tcl various.txt /*+tcl*
|
||||||
+tcl/dyn various.txt /*+tcl\/dyn*
|
+tcl/dyn various.txt /*+tcl\/dyn*
|
||||||
+termguicolors various.txt /*+termguicolors*
|
+termguicolors various.txt /*+termguicolors*
|
||||||
|
+terminal various.txt /*+terminal*
|
||||||
+terminfo various.txt /*+terminfo*
|
+terminfo various.txt /*+terminfo*
|
||||||
+termresponse various.txt /*+termresponse*
|
+termresponse various.txt /*+termresponse*
|
||||||
+textobjects various.txt /*+textobjects*
|
+textobjects various.txt /*+textobjects*
|
||||||
@@ -1316,6 +1345,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*
|
||||||
@@ -1344,6 +1374,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
-+rv gui_x11.txt /*-+rv*
|
-+rv gui_x11.txt /*-+rv*
|
||||||
-- starting.txt /*--*
|
-- starting.txt /*--*
|
||||||
--- starting.txt /*---*
|
--- starting.txt /*---*
|
||||||
|
--clean starting.txt /*--clean*
|
||||||
--cmd starting.txt /*--cmd*
|
--cmd starting.txt /*--cmd*
|
||||||
--echo-wid starting.txt /*--echo-wid*
|
--echo-wid starting.txt /*--echo-wid*
|
||||||
--help starting.txt /*--help*
|
--help starting.txt /*--help*
|
||||||
@@ -1879,6 +1910,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>*
|
||||||
@@ -1938,6 +1970,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*
|
||||||
@@ -3098,6 +3131,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
:tclfile if_tcl.txt /*:tclfile*
|
:tclfile if_tcl.txt /*:tclfile*
|
||||||
:te gui_w32.txt /*:te*
|
:te gui_w32.txt /*:te*
|
||||||
:tearoff gui_w32.txt /*:tearoff*
|
:tearoff gui_w32.txt /*:tearoff*
|
||||||
|
:ter terminal.txt /*:ter*
|
||||||
|
:terminal terminal.txt /*:terminal*
|
||||||
:tf tagsrch.txt /*:tf*
|
:tf tagsrch.txt /*:tf*
|
||||||
:tfirst tagsrch.txt /*:tfirst*
|
:tfirst tagsrch.txt /*:tfirst*
|
||||||
:th eval.txt /*:th*
|
:th eval.txt /*:th*
|
||||||
@@ -3107,9 +3142,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*
|
||||||
@@ -3119,6 +3161,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*
|
||||||
@@ -3383,6 +3427,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>*
|
||||||
@@ -3413,6 +3458,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>*
|
||||||
@@ -3526,6 +3572,8 @@ CTRL-V-alternative gui_w32.txt /*CTRL-V-alternative*
|
|||||||
CTRL-W index.txt /*CTRL-W*
|
CTRL-W index.txt /*CTRL-W*
|
||||||
CTRL-W_+ windows.txt /*CTRL-W_+*
|
CTRL-W_+ windows.txt /*CTRL-W_+*
|
||||||
CTRL-W_- windows.txt /*CTRL-W_-*
|
CTRL-W_- windows.txt /*CTRL-W_-*
|
||||||
|
CTRL-W_. terminal.txt /*CTRL-W_.*
|
||||||
|
CTRL-W_: windows.txt /*CTRL-W_:*
|
||||||
CTRL-W_< windows.txt /*CTRL-W_<*
|
CTRL-W_< windows.txt /*CTRL-W_<*
|
||||||
CTRL-W_<BS> windows.txt /*CTRL-W_<BS>*
|
CTRL-W_<BS> windows.txt /*CTRL-W_<BS>*
|
||||||
CTRL-W_<CR> quickfix.txt /*CTRL-W_<CR>*
|
CTRL-W_<CR> quickfix.txt /*CTRL-W_<CR>*
|
||||||
@@ -3564,6 +3612,7 @@ CTRL-W_H windows.txt /*CTRL-W_H*
|
|||||||
CTRL-W_J windows.txt /*CTRL-W_J*
|
CTRL-W_J windows.txt /*CTRL-W_J*
|
||||||
CTRL-W_K windows.txt /*CTRL-W_K*
|
CTRL-W_K windows.txt /*CTRL-W_K*
|
||||||
CTRL-W_L windows.txt /*CTRL-W_L*
|
CTRL-W_L windows.txt /*CTRL-W_L*
|
||||||
|
CTRL-W_N terminal.txt /*CTRL-W_N*
|
||||||
CTRL-W_P windows.txt /*CTRL-W_P*
|
CTRL-W_P windows.txt /*CTRL-W_P*
|
||||||
CTRL-W_R windows.txt /*CTRL-W_R*
|
CTRL-W_R windows.txt /*CTRL-W_R*
|
||||||
CTRL-W_S windows.txt /*CTRL-W_S*
|
CTRL-W_S windows.txt /*CTRL-W_S*
|
||||||
@@ -3591,6 +3640,7 @@ CTRL-W_n windows.txt /*CTRL-W_n*
|
|||||||
CTRL-W_o windows.txt /*CTRL-W_o*
|
CTRL-W_o windows.txt /*CTRL-W_o*
|
||||||
CTRL-W_p windows.txt /*CTRL-W_p*
|
CTRL-W_p windows.txt /*CTRL-W_p*
|
||||||
CTRL-W_q windows.txt /*CTRL-W_q*
|
CTRL-W_q windows.txt /*CTRL-W_q*
|
||||||
|
CTRL-W_quote terminal.txt /*CTRL-W_quote*
|
||||||
CTRL-W_r windows.txt /*CTRL-W_r*
|
CTRL-W_r windows.txt /*CTRL-W_r*
|
||||||
CTRL-W_s windows.txt /*CTRL-W_s*
|
CTRL-W_s windows.txt /*CTRL-W_s*
|
||||||
CTRL-W_t windows.txt /*CTRL-W_t*
|
CTRL-W_t windows.txt /*CTRL-W_t*
|
||||||
@@ -3614,6 +3664,8 @@ 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*
|
||||||
|
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*
|
||||||
@@ -3716,7 +3768,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*
|
||||||
@@ -4521,6 +4572,10 @@ E942 eval.txt /*E942*
|
|||||||
E943 message.txt /*E943*
|
E943 message.txt /*E943*
|
||||||
E944 pattern.txt /*E944*
|
E944 pattern.txt /*E944*
|
||||||
E945 pattern.txt /*E945*
|
E945 pattern.txt /*E945*
|
||||||
|
E946 terminal.txt /*E946*
|
||||||
|
E947 terminal.txt /*E947*
|
||||||
|
E948 terminal.txt /*E948*
|
||||||
|
E949 editing.txt /*E949*
|
||||||
E95 message.txt /*E95*
|
E95 message.txt /*E95*
|
||||||
E96 diff.txt /*E96*
|
E96 diff.txt /*E96*
|
||||||
E97 diff.txt /*E97*
|
E97 diff.txt /*E97*
|
||||||
@@ -4762,6 +4817,7 @@ TabNew autocmd.txt /*TabNew*
|
|||||||
Tcl if_tcl.txt /*Tcl*
|
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*
|
||||||
TextChanged autocmd.txt /*TextChanged*
|
TextChanged autocmd.txt /*TextChanged*
|
||||||
TextChangedI autocmd.txt /*TextChangedI*
|
TextChangedI autocmd.txt /*TextChangedI*
|
||||||
Transact-SQL ft_sql.txt /*Transact-SQL*
|
Transact-SQL ft_sql.txt /*Transact-SQL*
|
||||||
@@ -4802,9 +4858,11 @@ W18 syntax.txt /*W18*
|
|||||||
W19 autocmd.txt /*W19*
|
W19 autocmd.txt /*W19*
|
||||||
W20 if_pyth.txt /*W20*
|
W20 if_pyth.txt /*W20*
|
||||||
W21 if_pyth.txt /*W21*
|
W21 if_pyth.txt /*W21*
|
||||||
|
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*
|
||||||
@@ -5094,6 +5152,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*
|
||||||
@@ -5398,6 +5457,7 @@ cinoptions-values indent.txt /*cinoptions-values*
|
|||||||
clear-undo undo.txt /*clear-undo*
|
clear-undo undo.txt /*clear-undo*
|
||||||
clearmatches() eval.txt /*clearmatches()*
|
clearmatches() eval.txt /*clearmatches()*
|
||||||
client-server remote.txt /*client-server*
|
client-server remote.txt /*client-server*
|
||||||
|
client-server-name remote.txt /*client-server-name*
|
||||||
clientserver remote.txt /*clientserver*
|
clientserver remote.txt /*clientserver*
|
||||||
clipboard gui.txt /*clipboard*
|
clipboard gui.txt /*clipboard*
|
||||||
clipboard-autoselect options.txt /*clipboard-autoselect*
|
clipboard-autoselect options.txt /*clipboard-autoselect*
|
||||||
@@ -6115,6 +6175,7 @@ ft-mathematica-syntax syntax.txt /*ft-mathematica-syntax*
|
|||||||
ft-mma-syntax syntax.txt /*ft-mma-syntax*
|
ft-mma-syntax syntax.txt /*ft-mma-syntax*
|
||||||
ft-moo-syntax syntax.txt /*ft-moo-syntax*
|
ft-moo-syntax syntax.txt /*ft-moo-syntax*
|
||||||
ft-msql-syntax syntax.txt /*ft-msql-syntax*
|
ft-msql-syntax syntax.txt /*ft-msql-syntax*
|
||||||
|
ft-n1ql-syntax syntax.txt /*ft-n1ql-syntax*
|
||||||
ft-nasm-syntax syntax.txt /*ft-nasm-syntax*
|
ft-nasm-syntax syntax.txt /*ft-nasm-syntax*
|
||||||
ft-ncf-syntax syntax.txt /*ft-ncf-syntax*
|
ft-ncf-syntax syntax.txt /*ft-ncf-syntax*
|
||||||
ft-nroff-syntax syntax.txt /*ft-nroff-syntax*
|
ft-nroff-syntax syntax.txt /*ft-nroff-syntax*
|
||||||
@@ -6341,10 +6402,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*
|
||||||
@@ -6354,11 +6420,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*
|
||||||
@@ -6476,6 +6544,7 @@ 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*
|
||||||
@@ -6571,6 +6640,7 @@ gs various.txt /*gs*
|
|||||||
gsp.vim syntax.txt /*gsp.vim*
|
gsp.vim syntax.txt /*gsp.vim*
|
||||||
gstar pattern.txt /*gstar*
|
gstar pattern.txt /*gstar*
|
||||||
gt tabpage.txt /*gt*
|
gt tabpage.txt /*gt*
|
||||||
|
gtk-css gui_x11.txt /*gtk-css*
|
||||||
gtk-tooltip-colors gui_x11.txt /*gtk-tooltip-colors*
|
gtk-tooltip-colors gui_x11.txt /*gtk-tooltip-colors*
|
||||||
gu change.txt /*gu*
|
gu change.txt /*gu*
|
||||||
gugu change.txt /*gugu*
|
gugu change.txt /*gugu*
|
||||||
@@ -6740,6 +6810,7 @@ hl-PmenuSbar syntax.txt /*hl-PmenuSbar*
|
|||||||
hl-PmenuSel syntax.txt /*hl-PmenuSel*
|
hl-PmenuSel syntax.txt /*hl-PmenuSel*
|
||||||
hl-PmenuThumb syntax.txt /*hl-PmenuThumb*
|
hl-PmenuThumb syntax.txt /*hl-PmenuThumb*
|
||||||
hl-Question syntax.txt /*hl-Question*
|
hl-Question syntax.txt /*hl-Question*
|
||||||
|
hl-QuickFixLine syntax.txt /*hl-QuickFixLine*
|
||||||
hl-Scrollbar syntax.txt /*hl-Scrollbar*
|
hl-Scrollbar syntax.txt /*hl-Scrollbar*
|
||||||
hl-Search syntax.txt /*hl-Search*
|
hl-Search syntax.txt /*hl-Search*
|
||||||
hl-SignColumn syntax.txt /*hl-SignColumn*
|
hl-SignColumn syntax.txt /*hl-SignColumn*
|
||||||
@@ -7242,6 +7313,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*
|
||||||
@@ -7356,6 +7428,7 @@ mzscheme-vim if_mzsch.txt /*mzscheme-vim*
|
|||||||
mzscheme-vimext if_mzsch.txt /*mzscheme-vimext*
|
mzscheme-vimext if_mzsch.txt /*mzscheme-vimext*
|
||||||
mzscheme-window if_mzsch.txt /*mzscheme-window*
|
mzscheme-window if_mzsch.txt /*mzscheme-window*
|
||||||
n pattern.txt /*n*
|
n pattern.txt /*n*
|
||||||
|
n1ql.vim syntax.txt /*n1ql.vim*
|
||||||
nasm.vim syntax.txt /*nasm.vim*
|
nasm.vim syntax.txt /*nasm.vim*
|
||||||
navigation motion.txt /*navigation*
|
navigation motion.txt /*navigation*
|
||||||
nb-commands netbeans.txt /*nb-commands*
|
nb-commands netbeans.txt /*nb-commands*
|
||||||
@@ -7428,7 +7501,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*
|
||||||
@@ -7454,6 +7531,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*
|
||||||
@@ -7503,6 +7581,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*
|
||||||
@@ -7699,6 +7778,7 @@ no-type-checking eval.txt /*no-type-checking*
|
|||||||
no_buffers_menu gui.txt /*no_buffers_menu*
|
no_buffers_menu gui.txt /*no_buffers_menu*
|
||||||
no_mail_maps filetype.txt /*no_mail_maps*
|
no_mail_maps filetype.txt /*no_mail_maps*
|
||||||
no_plugin_maps filetype.txt /*no_plugin_maps*
|
no_plugin_maps filetype.txt /*no_plugin_maps*
|
||||||
|
nocombine syntax.txt /*nocombine*
|
||||||
non-greedy pattern.txt /*non-greedy*
|
non-greedy pattern.txt /*non-greedy*
|
||||||
non-zero-arg eval.txt /*non-zero-arg*
|
non-zero-arg eval.txt /*non-zero-arg*
|
||||||
none-variable eval.txt /*none-variable*
|
none-variable eval.txt /*none-variable*
|
||||||
@@ -7747,6 +7827,7 @@ option-summary options.txt /*option-summary*
|
|||||||
option-window options.txt /*option-window*
|
option-window options.txt /*option-window*
|
||||||
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()*
|
||||||
@@ -7975,6 +8056,7 @@ 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-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*
|
||||||
@@ -8204,6 +8286,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()*
|
||||||
@@ -8410,6 +8493,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*
|
||||||
@@ -8430,6 +8514,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*
|
||||||
@@ -8516,11 +8601,14 @@ t_AL term.txt /*t_AL*
|
|||||||
t_BD term.txt /*t_BD*
|
t_BD term.txt /*t_BD*
|
||||||
t_BE term.txt /*t_BE*
|
t_BE term.txt /*t_BE*
|
||||||
t_CS term.txt /*t_CS*
|
t_CS term.txt /*t_CS*
|
||||||
|
t_CTRL-W_CTRL-C terminal.txt /*t_CTRL-W_CTRL-C*
|
||||||
|
t_CTRL-\_CTRL-N terminal.txt /*t_CTRL-\\_CTRL-N*
|
||||||
t_CV term.txt /*t_CV*
|
t_CV term.txt /*t_CV*
|
||||||
t_Ce term.txt /*t_Ce*
|
t_Ce term.txt /*t_Ce*
|
||||||
t_Co term.txt /*t_Co*
|
t_Co term.txt /*t_Co*
|
||||||
t_Cs term.txt /*t_Cs*
|
t_Cs term.txt /*t_Cs*
|
||||||
t_DL term.txt /*t_DL*
|
t_DL term.txt /*t_DL*
|
||||||
|
t_EC term.txt /*t_EC*
|
||||||
t_EI term.txt /*t_EI*
|
t_EI term.txt /*t_EI*
|
||||||
t_F1 term.txt /*t_F1*
|
t_F1 term.txt /*t_F1*
|
||||||
t_F2 term.txt /*t_F2*
|
t_F2 term.txt /*t_F2*
|
||||||
@@ -8557,12 +8645,20 @@ 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_RV term.txt /*t_RV*
|
t_RV term.txt /*t_RV*
|
||||||
|
t_SC term.txt /*t_SC*
|
||||||
|
t_SH term.txt /*t_SH*
|
||||||
t_SI term.txt /*t_SI*
|
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_WP term.txt /*t_WP*
|
t_WP term.txt /*t_WP*
|
||||||
t_WS term.txt /*t_WS*
|
t_WS term.txt /*t_WS*
|
||||||
t_ZH term.txt /*t_ZH*
|
t_ZH term.txt /*t_ZH*
|
||||||
@@ -8775,9 +8871,27 @@ temp-file-name eval.txt /*temp-file-name*
|
|||||||
tempfile change.txt /*tempfile*
|
tempfile change.txt /*tempfile*
|
||||||
template autocmd.txt /*template*
|
template autocmd.txt /*template*
|
||||||
tempname() eval.txt /*tempname()*
|
tempname() eval.txt /*tempname()*
|
||||||
|
term++close terminal.txt /*term++close*
|
||||||
|
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_getaltscreen() eval.txt /*term_getaltscreen()*
|
||||||
|
term_getattr() eval.txt /*term_getattr()*
|
||||||
|
term_getcursor() eval.txt /*term_getcursor()*
|
||||||
|
term_getjob() eval.txt /*term_getjob()*
|
||||||
|
term_getline() eval.txt /*term_getline()*
|
||||||
|
term_getscrolled() eval.txt /*term_getscrolled()*
|
||||||
|
term_getsize() eval.txt /*term_getsize()*
|
||||||
|
term_getstatus() eval.txt /*term_getstatus()*
|
||||||
|
term_gettitle() eval.txt /*term_gettitle()*
|
||||||
|
term_gettty() eval.txt /*term_gettty()*
|
||||||
|
term_list() eval.txt /*term_list()*
|
||||||
|
term_scrape() eval.txt /*term_scrape()*
|
||||||
|
term_sendkeys() eval.txt /*term_sendkeys()*
|
||||||
|
term_setsize() eval.txt /*term_setsize()*
|
||||||
|
term_start() eval.txt /*term_start()*
|
||||||
|
term_wait() eval.txt /*term_wait()*
|
||||||
termcap term.txt /*termcap*
|
termcap term.txt /*termcap*
|
||||||
termcap-changed version4.txt /*termcap-changed*
|
termcap-changed version4.txt /*termcap-changed*
|
||||||
termcap-colors term.txt /*termcap-colors*
|
termcap-colors term.txt /*termcap-colors*
|
||||||
@@ -8785,16 +8899,37 @@ 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*
|
||||||
|
terminal terminal.txt /*terminal*
|
||||||
terminal-colors os_unix.txt /*terminal-colors*
|
terminal-colors os_unix.txt /*terminal-colors*
|
||||||
|
terminal-cursor-style terminal.txt /*terminal-cursor-style*
|
||||||
|
terminal-debug terminal.txt /*terminal-debug*
|
||||||
|
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-size-color terminal.txt /*terminal-size-color*
|
||||||
|
terminal-special-keys terminal.txt /*terminal-special-keys*
|
||||||
|
terminal-testing terminal.txt /*terminal-testing*
|
||||||
|
terminal-typing terminal.txt /*terminal-typing*
|
||||||
|
terminal-unix terminal.txt /*terminal-unix*
|
||||||
|
terminal-use terminal.txt /*terminal-use*
|
||||||
|
terminal.txt terminal.txt /*terminal.txt*
|
||||||
terminfo term.txt /*terminfo*
|
terminfo term.txt /*terminfo*
|
||||||
termresponse-variable eval.txt /*termresponse-variable*
|
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()*
|
||||||
@@ -9021,7 +9156,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*
|
||||||
@@ -9304,6 +9444,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*
|
||||||
@@ -9341,6 +9483,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 Apr 11
|
*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,13 +295,11 @@ 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'*
|
||||||
t_vi cursor invisible *t_vi* *'t_vi'*
|
t_vi cursor invisible *t_vi* *'t_vi'*
|
||||||
t_vs cursor very visible *t_vs* *'t_vs'*
|
t_vs cursor very visible (blink) *t_vs* *'t_vs'*
|
||||||
*t_xs* *'t_xs'*
|
*t_xs* *'t_xs'*
|
||||||
t_xs if non-empty, standout not erased by overwriting (hpterm)
|
t_xs if non-empty, standout not erased by overwriting (hpterm)
|
||||||
*t_xn* *'t_xn'*
|
*t_xn* *'t_xn'*
|
||||||
@@ -311,11 +309,16 @@ 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'*
|
||||||
t_GP get window position (Y, X) in pixels *t_GP* *'t_GP'*
|
t_GP get window position (Y, X) in pixels *t_GP* *'t_GP'*
|
||||||
t_WS set window size (height, width) in characters *t_WS* *'t_WS'*
|
t_WS set window size (height, width in cells) *t_WS* *'t_WS'*
|
||||||
|
t_VS cursor normally visible (no blink) *t_VS* *'t_VS'*
|
||||||
t_SI start insert mode (bar cursor shape) *t_SI* *'t_SI'*
|
t_SI start insert mode (bar cursor shape) *t_SI* *'t_SI'*
|
||||||
t_SR start replace mode (underline cursor shape) *t_SR* *'t_SR'*
|
t_SR start replace mode (underline cursor shape) *t_SR* *'t_SR'*
|
||||||
t_EI end insert or replace mode (block cursor shape) *t_EI* *'t_EI'*
|
t_EI end insert or replace mode (block cursor shape) *t_EI* *'t_EI'*
|
||||||
@@ -324,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|
|
||||||
@@ -333,6 +337,29 @@ Added by Vim (there are no standard codes for these):
|
|||||||
|xterm-bracketed-paste|
|
|xterm-bracketed-paste|
|
||||||
t_BD disable bracketed paste mode *t_BD* *'t_BD'*
|
t_BD disable bracketed paste mode *t_BD* *'t_BD'*
|
||||||
|xterm-bracketed-paste|
|
|xterm-bracketed-paste|
|
||||||
|
t_SC set cursor color start *t_SC* *'t_SC'*
|
||||||
|
t_EC set cursor color end *t_EC* *'t_EC'*
|
||||||
|
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'*
|
||||||
|
|
||||||
|
Some codes have a start, middle and end part. The start and end are defined
|
||||||
|
by the termcap option, the middle part is text.
|
||||||
|
set title text: t_ts {title text} t_fs
|
||||||
|
set icon text: t_IS {icon text} t_IE
|
||||||
|
set cursor color: t_SC {color name} t_EC
|
||||||
|
|
||||||
|
t_SH must take one argument:
|
||||||
|
0, 1 or none blinking block cursor
|
||||||
|
2 block cursor
|
||||||
|
3 blinking underline cursor
|
||||||
|
4 underline cursor
|
||||||
|
5 blinking vertical bar cursor
|
||||||
|
6 vertical bar cursor
|
||||||
|
|
||||||
|
t_RS is sent only if the response to t_RV has been received. It is not used
|
||||||
|
on Mac OS when Terminal.app could be recognized from the termresponse.
|
||||||
|
|
||||||
|
|
||||||
KEY CODES *terminal-key-codes*
|
KEY CODES *terminal-key-codes*
|
||||||
Note: Use the <> form if possible
|
Note: Use the <> form if possible
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*terminal.txt* For Vim version 8.0. Last change: 2017 Jul 04
|
*terminal.txt* For Vim version 8.0. Last change: 2017 Nov 17
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -9,12 +9,35 @@ Terminal window support *terminal*
|
|||||||
|
|
||||||
WARNING: THIS IS ONLY PARTLY IMPLEMENTED, ANYTHING CAN STILL CHANGE
|
WARNING: THIS IS ONLY PARTLY IMPLEMENTED, ANYTHING CAN STILL CHANGE
|
||||||
|
|
||||||
|
The terminal feature is optional, use this to check if your Vim has it: >
|
||||||
|
echo has('terminal')
|
||||||
|
If the result is "1" you have it.
|
||||||
|
|
||||||
1. Basic use |terminal-use|
|
|
||||||
2. Remote testing |terminal-testing|
|
1. Basic use |terminal-use|
|
||||||
3. Debugging |terminal-debug|
|
Typing |terminal-typing|
|
||||||
|
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|
|
||||||
|
Unix |terminal-unix|
|
||||||
|
MS-Windows |terminal-ms-windows|
|
||||||
|
2. Remote testing |terminal-testing|
|
||||||
|
3. 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}
|
||||||
|
|
||||||
|
The terminal feature requires the |+multi_byte|, |+job| and |+channel| features.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Basic use *terminal-use*
|
1. Basic use *terminal-use*
|
||||||
@@ -23,58 +46,189 @@ 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.
|
||||||
|
|
||||||
When the keyboard focus is in the terminal window, typed keys will be send to
|
|
||||||
the job. This uses a pty when possible.
|
|
||||||
|
|
||||||
Navigate between windows with CTRL-W commands (and mouse).
|
Typing ~
|
||||||
E.g. CTRL-W CTRL-W moves focus to the next window.
|
*terminal-typing*
|
||||||
|
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
|
||||||
|
terminal window to move keyboard focus elsewhere.
|
||||||
|
|
||||||
Option 'termkey'
|
CTRL-W can be used to navigate between windows and other CTRL-W commands, e.g.:
|
||||||
Specify key for Vim command in terminal window. local to window.
|
CTRL-W CTRL-W move focus to the next window
|
||||||
Default is CTRL-W.
|
CTRL-W : enter an Ex command
|
||||||
|
See |CTRL-W| for more commands.
|
||||||
|
|
||||||
|
Special in the terminal window: *CTRL-W_.* *CTRL-W_N*
|
||||||
|
CTRL-W . send a CTRL-W to the job in the terminal
|
||||||
|
CTRL-W 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*
|
||||||
|
Also works with the = register to insert the result of
|
||||||
|
evaluating an expression.
|
||||||
|
CTRL-W CTRL-C ends the job, see below |t_CTRL-W_CTRL-C|
|
||||||
|
|
||||||
|
See option 'termkey' for specifying another key instead of CTRL-W that
|
||||||
|
will work like CTRL-W. However, typing 'termkey' twice sends 'termkey' to
|
||||||
|
the job. For example:
|
||||||
|
'termkey' CTRL-W move focus to the next window
|
||||||
|
'termkey' : enter an Ex command
|
||||||
|
'termkey' 'termkey' send 'termkey' 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' CTRL-N same as CTRL-W N
|
||||||
|
'termkey' CTRL-C same as |t_CTRL-W_CTRL-C|
|
||||||
|
*t_CTRL-\_CTRL-N*
|
||||||
|
The special key combination CTRL-\ CTRL-N can be used to switch to Normal
|
||||||
|
mode, just like this works in any other mode.
|
||||||
|
*t_CTRL-W_CTRL-C*
|
||||||
|
CTRL-W CTRL-C can be typed to forcefully end the job. On MS-Windows a
|
||||||
|
CTRL-BREAK will also kill the job.
|
||||||
|
|
||||||
|
If you type CTRL-C the effect depends on what the pty has been configured to
|
||||||
|
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
|
||||||
|
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 Escape switch
|
||||||
|
to Terminal-Normal mode: >
|
||||||
|
tnoremap <Esc> <C-W>N
|
||||||
|
< *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 ~
|
||||||
|
*terminal-size-color*
|
||||||
|
See option 'termsize' for controlling the size of the terminal window.
|
||||||
|
(TODO: scrolling when the terminal is larger than the window)
|
||||||
|
|
||||||
|
The job running in the terminal can change the colors. The default foreground
|
||||||
|
and background colors are taken from Vim, the Normal highlight group.
|
||||||
|
|
||||||
|
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: >
|
||||||
|
hi Terminal ctermbg=lightgrey ctermfg=blue guibg=lightgrey guifg=blue
|
||||||
|
|
||||||
Option 'termsize'
|
|
||||||
Specify terminal size. Local to window.
|
|
||||||
When empty the terminal gets the size from the window.
|
|
||||||
When set (e.g., "24x80") the terminal size is fixed. If the window is smaller
|
|
||||||
only the top-left part is displayed. (TODO: scrolling?)
|
|
||||||
|
|
||||||
Syntax ~
|
Syntax ~
|
||||||
*:ter* *:terminal*
|
|
||||||
:terminal[!] [command] Open a new terminal window.
|
:[range]ter[minal] [options] [command] *:ter* *:terminal*
|
||||||
|
Open a new terminal window.
|
||||||
|
|
||||||
If [command] is provided run it as a job and connect
|
If [command] is provided run it as a job and connect
|
||||||
the input and output to the terminal.
|
the input and output to the terminal.
|
||||||
If [command] is not given the 'shell' option is used.
|
If [command] is not given the 'shell' option is used.
|
||||||
|
if [command] is NONE no job is started, the pty of the
|
||||||
|
terminal can be used by a command like gdb.
|
||||||
|
|
||||||
A new buffer will be created, using [command] or
|
A new buffer will be created, using [command] or
|
||||||
'shell' as the name. If a buffer by this name already
|
'shell' as the name, prefixed with a "!". If a buffer
|
||||||
exists a number is added in parenthesis.
|
by this name already exists a number is added in
|
||||||
E.g. if "gdb" exists the second terminal buffer will
|
parentheses. E.g. if "gdb" exists the second terminal
|
||||||
use "gdb (1)".
|
buffer will use "!gdb (1)".
|
||||||
|
|
||||||
|
If [range] is given the specified lines are used as
|
||||||
|
input for the job. It will not be possible to type
|
||||||
|
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*
|
||||||
|
Supported [options] are:
|
||||||
|
++close The terminal window will close
|
||||||
|
automatically when the job terminates.
|
||||||
|
++open When the job terminates and no window
|
||||||
|
shows it, a window will be opened.
|
||||||
|
Note that this can be interruptive.
|
||||||
|
++curwin Open the terminal in the current
|
||||||
|
window, do not split the current
|
||||||
|
window. Fails if the current buffer
|
||||||
|
cannot be |abandon|ed.
|
||||||
|
++hidden Open the terminal in a hidden buffer,
|
||||||
|
no window will be used.
|
||||||
|
++rows={height} Use {height} for the terminal window
|
||||||
|
height.
|
||||||
|
++cols={width} Use {width} for the terminal window
|
||||||
|
width.
|
||||||
|
++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
|
||||||
|
for Python "++eof=exit()". Special
|
||||||
|
codes can be used like with `:map`,
|
||||||
|
e.g. "<C-Z>" for CTRL-Z.
|
||||||
|
|
||||||
|
If you want to use more options use the |term_start()|
|
||||||
|
function.
|
||||||
|
|
||||||
|
When the buffer associated with the terminal is unloaded or wiped out the job
|
||||||
|
is killed, similar to calling `job_stop(job, "kill")`
|
||||||
|
|
||||||
|
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
|
||||||
|
`CTRL-W :quit!` the job is ended. The text in the window is lost. The buffer
|
||||||
|
still exists, but getting it in a window with `:buffer` will show an empty
|
||||||
|
buffer.
|
||||||
|
|
||||||
|
Trying to close the window with `CTRL-W :close` also fails. Using
|
||||||
|
`CTRL-W :close!` will close the window and make the buffer hidden.
|
||||||
|
|
||||||
|
You can use `CTRL-W :hide` to close the terminal window and make the buffer
|
||||||
|
hidden, the job keeps running. The `:buffer` command can be used to turn the
|
||||||
|
current window into a terminal window. If there are unsaved changes this
|
||||||
|
fails, use ! to force, as usual.
|
||||||
|
|
||||||
|
To have a background job run without a window, and open the window when it's
|
||||||
|
done, use options like this: >
|
||||||
|
:term ++hidden ++open make
|
||||||
|
Note that the window will open at an unexpected moment, this will interrupt
|
||||||
|
what you are doing.
|
||||||
|
|
||||||
|
*E947* *E948*
|
||||||
|
So long as the job is running, the buffer is considered modified and Vim
|
||||||
|
cannot be quit easily, see |abandon|.
|
||||||
|
|
||||||
|
When the job has finished and no changes were made to the buffer: closing the
|
||||||
|
window will wipe out the buffer.
|
||||||
|
|
||||||
|
Before changes can be made to a terminal buffer, the 'modifiable' option must
|
||||||
|
be set. This is only possible when the job has finished. At the first change
|
||||||
|
the buffer will become a normal buffer and the highlighting is removed.
|
||||||
|
You may want to change the buffer name with |:file| to be able to write, since
|
||||||
|
the buffer name will still be set to the command.
|
||||||
|
|
||||||
The window can be closed, in which case the buffer
|
|
||||||
becomes hidden. The command will not be stopped. The
|
|
||||||
`:buffer` command can be used to turn the current
|
|
||||||
window into a terminal window, using the existing
|
|
||||||
buffer. If there are unsaved changes this fails, use
|
|
||||||
! to force, as usual.
|
|
||||||
|
|
||||||
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.
|
||||||
The minimal size is 2 screen lines with 10 cells.
|
The minimal size is 2 screen lines with 10 cells.
|
||||||
|
|
||||||
2. The 'termsize' option is "rows*cols", where "rows" is the minimal number of
|
2. The 'termsize' option is "rows*cols", where "rows" is the minimal number of
|
||||||
screen rows and "cols" is the minial number of cells.
|
screen rows and "cols" is the minimal number of cells.
|
||||||
|
|
||||||
3. The 'termsize' option is "rowsXcols" (where the x is upper or lower case).
|
3. The 'termsize' option is "rowsXcols" (where the x is upper or lower case).
|
||||||
The terminal size is fixed to the specified number of screen lines and
|
The terminal size is fixed to the specified number of screen lines and
|
||||||
@@ -87,6 +241,107 @@ The |term_getsize()| function can be used to get the current size of the
|
|||||||
terminal. |term_setsize()| can be used only when in the first or second mode,
|
terminal. |term_setsize()| can be used only when in the first or second mode,
|
||||||
not when 'termsize' is "rowsXcols".
|
not when 'termsize' is "rowsXcols".
|
||||||
|
|
||||||
|
|
||||||
|
Terminal-Job and Terminal-Normal mode ~
|
||||||
|
*Terminal-mode*
|
||||||
|
When the job is running the contents of the terminal is under control of the
|
||||||
|
job. That includes the cursor position. Typed keys are sent to the job.
|
||||||
|
The terminal contents can change at any time. This is called Terminal-Job
|
||||||
|
mode.
|
||||||
|
|
||||||
|
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
|
||||||
|
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*
|
||||||
|
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
|
||||||
|
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
|
||||||
|
the contents of the terminal. |:startinsert| is ineffective.
|
||||||
|
|
||||||
|
In Terminal-Normal mode the statusline and window title show "(Terminal)". If
|
||||||
|
the job ends while in Terminal-Normal mode this changes to
|
||||||
|
"(Terminal-finished)".
|
||||||
|
|
||||||
|
It is not possible to enter Insert mode from Terminal-Job mode.
|
||||||
|
|
||||||
|
|
||||||
|
Cursor style ~
|
||||||
|
*terminal-cursor-style*
|
||||||
|
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
|
||||||
|
shape. Once focus leaves the terminal window Vim will restore the original
|
||||||
|
cursor.
|
||||||
|
|
||||||
|
An exception is when xterm is started with the "-bc" argument, or another way
|
||||||
|
that causes the cursor to blink. This actually means that the blinking flag
|
||||||
|
is inverted. Since Vim cannot detect this, the terminal window cursor
|
||||||
|
blinking will also be inverted.
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
|
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:
|
||||||
|
TERM name of the terminal, 'term'
|
||||||
|
ROWS number of rows in the terminal initially
|
||||||
|
LINES same as ROWS
|
||||||
|
COLUMNS number of columns in the terminal initially
|
||||||
|
COLORS number of colors, 't_Co' (256*256*256 in the GUI)
|
||||||
|
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 ~
|
||||||
|
*terminal-ms-windows*
|
||||||
|
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
|
||||||
|
window.
|
||||||
|
|
||||||
|
You need the following two files from winpty:
|
||||||
|
|
||||||
|
winpty.dll
|
||||||
|
winpty-agent.exe
|
||||||
|
|
||||||
|
You can download them from the following page:
|
||||||
|
|
||||||
|
https://github.com/rprichard/winpty
|
||||||
|
|
||||||
|
Just put the files somewhere in your PATH. You can set the 'winptydll' option
|
||||||
|
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
|
||||||
|
build.
|
||||||
|
|
||||||
|
Environment variables are used to pass information to the running job:
|
||||||
|
VIM_SERVERNAME v:servername
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
2. Remote testing *terminal-testing*
|
2. Remote testing *terminal-testing*
|
||||||
|
|
||||||
@@ -97,7 +352,7 @@ 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
|
||||||
|
|
||||||
@@ -106,25 +361,187 @@ term_scrape() inspect terminal screen
|
|||||||
3. Debugging *terminal-debug*
|
3. 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. For example: >
|
the source code in a Vim window. Since this is completely contained inside
|
||||||
|
Vim this also works remotely over an ssh connection.
|
||||||
|
|
||||||
:TermDebug vim
|
|
||||||
|
|
||||||
This opens three windows:
|
Starting ~
|
||||||
- A terminal window in which "gdb vim" is executed. Here you can directly
|
*termdebug-starting*
|
||||||
interact with gdb.
|
Load the plugin with this command: >
|
||||||
- A terminal window for the executed program. When "run" is used in gdb the
|
packadd termdebug
|
||||||
program I/O will happen in this window, so that it does not interfere with
|
< *:Termdebug*
|
||||||
controlling gdb.
|
To start debugging use `:TermDebug` folowed by the command name, for example: >
|
||||||
- A normal Vim window used to show the source code. When gdb jumps to a
|
:Termdebug vim
|
||||||
source file location this window will display the code, if possible. Values
|
|
||||||
of variables can be inspected, breakpoints set and cleared, etc.
|
|
||||||
|
|
||||||
This uses two terminal windows. To open the gdb window: >
|
This opens two windows:
|
||||||
:term gdb [arguments]
|
gdb window A terminal window in which "gdb vim" is executed. Here you
|
||||||
To open the terminal to run the tested program |term_open()| is used.
|
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
|
||||||
|
|
||||||
|
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 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
|
||||||
|
:Delete delete a 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
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
Other commands ~
|
||||||
|
*termdebug-commands*
|
||||||
|
:Gdb jump to the gdb window
|
||||||
|
:Program jump to the window with the running program
|
||||||
|
|
||||||
|
|
||||||
|
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 ~
|
||||||
|
*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. This probably requires gdb version 7.12. if you get this error:
|
||||||
|
Undefined command: "new-ui". Try "help".~
|
||||||
|
Then your gdb is too old.
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
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).
|
||||||
|
|
||||||
TODO
|
|
||||||
|
|
||||||
|
|
||||||
vim:tw=78:ts=8:ft=help:norl:
|
vim:tw=78:ts=8:ft=help:norl:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 8.0. Last change: 2017 Jun 13
|
*todo.txt* For Vim version 8.0. Last change: 2017 Nov 21
|
||||||
|
|
||||||
|
|
||||||
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,15 +35,32 @@ 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:
|
||||||
|
- Lots of stuff to implement, see src/terminal.c
|
||||||
|
- Improve debugger interface:
|
||||||
|
Include all debug features of Agide.
|
||||||
|
- Implement the right-click popup menu for the terminal. Can use the
|
||||||
|
completion popup menu code and mouse dragging.
|
||||||
|
Use it for "set breakpoint", "remove breakpoint", etc.
|
||||||
|
- get ideas from http://clewn.sf.net
|
||||||
|
- Look into the idevim plugin/script.
|
||||||
|
- Improve testing:
|
||||||
|
Make a screenshot of a terminal, store in a file.
|
||||||
|
Display a stored screenshot, display diff with another one.
|
||||||
|
Make a test that puts Vim in a specific state, make a screenshot and compare
|
||||||
|
with the expected screenshot. Set t_Co to 256.
|
||||||
|
|
||||||
+channel:
|
+channel:
|
||||||
- When redrawing for the channel buffer, command line completion is cleared.
|
- Add a separate timeout for opening a socket. Currently it's fixed at 50
|
||||||
(Ramel Eshed, 2017 May 4)
|
msec, which is too small for a remote connection. (tverniquet, #2130)
|
||||||
- Try out background make plugin:
|
- 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)
|
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
|
||||||
- Add 'cwd' argument to start_job(): directory to change to in the child.
|
- Writing raw mode to a buffer should still handle NL characters as line
|
||||||
check for valid directory before forking.
|
breaks. (Dmitry Zotikov, 2017 Aug 16)
|
||||||
Part of patch for environment, Yasuhiro Matsumoto, #1160
|
|
||||||
- When out_cb executes :sleep, the close_cb may be invoked. (Daniel Hahler,
|
- When out_cb executes :sleep, the close_cb may be invoked. (Daniel Hahler,
|
||||||
2016 Dec 11, #1320)
|
2016 Dec 11, #1320)
|
||||||
- Implement |job-term| ?
|
- Implement |job-term| ?
|
||||||
@@ -58,11 +75,15 @@ entered there will not be repeated below, unless there is extra information.
|
|||||||
Feb 9) How to do this on MS-Windows?
|
Feb 9) How to do this on MS-Windows?
|
||||||
- For connection to server, a "keep open" flag would be useful. Retry
|
- For connection to server, a "keep open" flag would be useful. Retry
|
||||||
connecting in the main loop with zero timeout.
|
connecting in the main loop with zero timeout.
|
||||||
- job_start(): run job in a newly opened terminal.
|
- job_start(): run job in a newly opened terminal (not a terminal window).
|
||||||
With xterm could use -S{pty}.
|
With xterm could use -S{pty}.
|
||||||
Although user could use "xterm -e 'cmd arg'".
|
Although user could use "xterm -e 'cmd arg'".
|
||||||
|
|
||||||
Regexp problems:
|
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.
|
- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
|
||||||
(Manuel Ortega, 2016 Apr 24)
|
(Manuel Ortega, 2016 Apr 24)
|
||||||
Test fails on Mac. Avoid using isalpha(), isalnum(), etc? Depends on
|
Test fails on Mac. Avoid using isalpha(), isalnum(), etc? Depends on
|
||||||
@@ -101,48 +122,250 @@ Regexp problems:
|
|||||||
col and vcol when moving to another line.
|
col and vcol when moving to another line.
|
||||||
- this doesn't work: "syntax match ErrorMsg /.\%9l\%>20c\&\%<28c/". Leaving
|
- this doesn't work: "syntax match ErrorMsg /.\%9l\%>20c\&\%<28c/". Leaving
|
||||||
out the \& works. Seems any column check after \& fails.
|
out the \& works. Seems any column check after \& fails.
|
||||||
- The pattern "\1" with the old engine gives E65, with the new engine it
|
|
||||||
matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
|
|
||||||
had_endbrace[] is set but not initialized or used.
|
|
||||||
- Difference between two engines: ".*\zs\/\@>\/" on text "///"
|
- Difference between two engines: ".*\zs\/\@>\/" on text "///"
|
||||||
(Chris Paul, 2016 Nov 13) New engine not greedy enough?
|
(Chris Paul, 2016 Nov 13) New engine not greedy enough?
|
||||||
Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
|
Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
|
||||||
(2017 May 15, #1252)
|
(2017 May 15, #1252)
|
||||||
|
|
||||||
|
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)
|
||||||
|
- 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.
|
||||||
|
-> Make check for colorscheme that it's sane.
|
||||||
|
- Sanitized version of pablo (Lifepillar, 2017 Nov 21)
|
||||||
|
|
||||||
|
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)
|
||||||
|
- signed integer overflow in nfa_regatom() (#2251)
|
||||||
|
- undefined left shift in get_string_tv() (#2250)
|
||||||
|
|
||||||
|
Patch to use imactivatefunc() also without +xim feature. (Yasuhiro Matsumoto,
|
||||||
|
2017 Nov 19, #2349)
|
||||||
|
|
||||||
|
'hlsearch' shows empty matches, which means highlighting everything.
|
||||||
|
Don't do that. For "foo\|" or "\v"
|
||||||
|
Patch from Christian, 2017 Nov 14. Should still display "$" matches.
|
||||||
|
|
||||||
|
When starting with --clean packages under "start" are not loaded. Make this
|
||||||
|
work: :packadd START {name} similar to :runtime START name
|
||||||
|
|
||||||
|
When using :packadd files under "later" are not used, which is inconsistent
|
||||||
|
with packages under "start". (xtal8, #1994)
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
Using 'wildignore' also applies to literally entered file name. Also with
|
||||||
|
:drop (remote commands).
|
||||||
|
|
||||||
|
Race condition between stat() and open() in write_viminfo(). Use open() in the
|
||||||
|
loop and try another name instead of using a temp file. (Simon Ruderich)
|
||||||
|
The first one, when viminfo is new, should just fail if it creating with
|
||||||
|
O_EXCL fails.
|
||||||
|
Also use umask instead of mch_fopen() after vim_tempname().
|
||||||
|
|
||||||
|
"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)
|
||||||
|
|
||||||
|
Invalid range error when using BufWinLeave for closing terminal.
|
||||||
|
(Gabriel Barta, 2017 Nov 15, #2339)
|
||||||
|
|
||||||
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)
|
||||||
|
|
||||||
|
Patch to avoid clearing the intro message on Win32 console.
|
||||||
|
(Ken Takata, 2017 Nov 14)
|
||||||
|
|
||||||
|
Patch to copy buffer-local options before buffer leaves the window. (Bjorn
|
||||||
|
Linse, 2017 Nov 14, #2336)
|
||||||
|
|
||||||
|
When a timer is running and typing CTRL-R on the command line, it is not
|
||||||
|
redrawn properly. (xtal8, 2017 Oct 23, #2241)
|
||||||
|
|
||||||
|
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 to add TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
|
||||||
|
May 24) Update May 26.
|
||||||
|
Now in patch by Lemonboy, #2333 (who is Lemonboy?)
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Problem with 'delcombine'. (agguser, 2017 Nov 10, #2313)
|
||||||
|
|
||||||
|
MS-Windows: buffer completetion 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.
|
||||||
|
Start with filetype detection: testdir/test_filetype.vim
|
||||||
|
|
||||||
|
Window not closed when deleting buffer. (Harm te Hennepe, 2017 Aug 27, #2029)
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
Using freed memory with "qf" FileType autocommand that does :cclose.
|
After using :noautocmd CursorMoved may still trigger. (Andy Stewart, 2017 Sep
|
||||||
(Lemonboy, 2017 May 28, #1730, fix in 1734, with test that doesn't fail, but
|
13, #2084). Set old position after the command.
|
||||||
it fails when run manually) Add "starting" to test_override()?
|
|
||||||
|
Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
|
||||||
|
Still happens (2017 Jul 9)
|
||||||
|
|
||||||
|
When bracketed paste is used, pasting at the ":append" prompt does not get the
|
||||||
|
line breaks. (Ken Takata, 2017 Aug 22)
|
||||||
|
|
||||||
|
The ":move" command does not honor closed folds. (Ryan Lue, #2351)
|
||||||
|
|
||||||
|
Patch for 24 bit color support in MS-Windows console, using vcon. (Nobuhiro
|
||||||
|
Takasaki, Ken Takata, 2017 Oct 1, #2060).
|
||||||
|
|
||||||
|
Memory leaks in test_channel? (or is it because of fork())
|
||||||
|
Memory leak in test_arabic.
|
||||||
|
Using uninitialized value in test_crypt.
|
||||||
|
|
||||||
|
Patch to clear background when "guibg=NONE" is used and 'termguicolors' is
|
||||||
|
set.
|
||||||
|
|
||||||
|
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.
|
||||||
|
Now on github: #1856. Updated Oct 2017
|
||||||
|
Got permission to include this under the Vim license.
|
||||||
|
|
||||||
|
Refactored HTML indent file. (Michael Lee, #1821)
|
||||||
|
|
||||||
|
Test_writefile_fails_conversion failure on Solaris because if different iconv
|
||||||
|
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.
|
||||||
|
For the future use the ~get() and ~len() syntax, e.g.:
|
||||||
|
mylist~get(idx)
|
||||||
|
mydict~get(idx)
|
||||||
|
mystring~len()
|
||||||
|
Alternatives for ~:
|
||||||
|
^ list^get() could also be used
|
||||||
|
. list.get() already means concatenate
|
||||||
|
$ list$get() harder to read
|
||||||
|
@ list@get() harder to read
|
||||||
|
-> list->get() two characters, used for lambda
|
||||||
|
|
||||||
|
The ++ options for the :edit command are also useful on the Vim command line.
|
||||||
|
|
||||||
|
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
|
||||||
|
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.
|
||||||
|
Also: Get an error message from free() in the process that owns the selection.
|
||||||
|
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.
|
||||||
|
Kazunobu Kuriyama is working on a proper fix. (2017 Jul 25)
|
||||||
|
|
||||||
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"
|
||||||
|
attribute of the function. For an unknown function assume "self" and make
|
||||||
|
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.
|
||||||
|
Happens when typing CTRL-N while still search for results. E.g., type "b_" in
|
||||||
|
terminal.c and then CTRL-N twice.
|
||||||
|
Should do current file first and not split it up when more results are found.
|
||||||
|
(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
|
||||||
|
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)
|
||||||
|
|
||||||
|
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 `: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.
|
||||||
|
|
||||||
Files for Latvian language. (Vitolins, 2017 May 3, #1675)
|
Patch to skip writing a temp file for diffing if the buffer is equal to the
|
||||||
|
existing file. (Akria Sheng, 2017 Jul 22)
|
||||||
|
Could also skip writing lines that are the same.
|
||||||
|
|
||||||
|
Patch with Files for Latvian language. (Vitolins, 2017 May 3, #1675)
|
||||||
|
|
||||||
|
MS-Windows: Opening same file in a second gvim hangs. (Sven Bruggemann, 2017
|
||||||
|
Jul 4)
|
||||||
|
|
||||||
Setting 'clipboard' to "unnamed" makes a global command very slow (Daniel
|
Setting 'clipboard' to "unnamed" makes a global command very slow (Daniel
|
||||||
Drucker, 2017 May 8).
|
Drucker, 2017 May 8).
|
||||||
This was supposed to be fixed, did it break again somehow?
|
This was supposed to be fixed, did it break again somehow?
|
||||||
Christian cannot reproduce it.
|
Christian cannot reproduce it.
|
||||||
|
|
||||||
|
Using composing char in mapping does not work properly. maparg() shows the
|
||||||
|
wrong thing. (Nikolai Pavlov, 2017 Jul 8, #1827)
|
||||||
|
Or is this not an actual problem?
|
||||||
|
|
||||||
Better TeX indent file. (Christian Brabandt, 2017 May 3)
|
Better TeX indent file. (Christian Brabandt, 2017 May 3)
|
||||||
|
|
||||||
Openhab syntax file (mueller, #1678)
|
Openhab syntax file (mueller, #1678)
|
||||||
|
|
||||||
|
Patch to use a separate code for BS on Windows. (Linwei, #1823)
|
||||||
|
|
||||||
Use gvimext.dll from the nightly build? (Issue #249)
|
Use gvimext.dll from the nightly build? (Issue #249)
|
||||||
|
|
||||||
'synmaxcol' works with bytes instead of screen cells. (Llandon, 2017 May 31,
|
'synmaxcol' works with bytes instead of screen cells. (Llandon, 2017 May 31,
|
||||||
@@ -151,18 +374,15 @@ 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)
|
||||||
|
|
||||||
'equalalways' only works for one column. (Glacambre, 2017 May 15, #1707)
|
|
||||||
|
|
||||||
Include solarized color scheme?
|
|
||||||
|
|
||||||
Updates to GTK help. (Kazunobu Kuriyama, 2017 May 4)
|
|
||||||
|
|
||||||
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?
|
||||||
|
|
||||||
Bogus characters inserted when triggering indent while changing text.
|
Bogus characters inserted when triggering indent while changing text.
|
||||||
(Vitor Antunes, 2016 Nov 22, #1269)
|
(Vitor Antunes, 2016 Nov 22, #1269)
|
||||||
|
|
||||||
|
Using "wviminfo /tmp/viminfo" does not store file marks that Vim knows about,
|
||||||
|
it only works when merging with an existing file. (Shougo, 2017 Jun 19, #1781)
|
||||||
|
|
||||||
Segmentation fault with complete(). (Lifepillar, 2017 Apr 29, #1668)
|
Segmentation fault with complete(). (Lifepillar, 2017 Apr 29, #1668)
|
||||||
Check for "pat" to be NULL in search_for_exact_line()?
|
Check for "pat" to be NULL in search_for_exact_line()?
|
||||||
How did it get NULL? Comment by Christian, Apr 30.
|
How did it get NULL? Comment by Christian, Apr 30.
|
||||||
@@ -172,6 +392,12 @@ Is it possible to keep the complete menu open when calling complete()?
|
|||||||
|
|
||||||
Memory leak in test97? The string is actually freed. Weird.
|
Memory leak in test97? The string is actually freed. Weird.
|
||||||
|
|
||||||
|
Patch to add configure flags to skip rtl, farsi and arabic support.
|
||||||
|
(Diego Carrión, #1867)
|
||||||
|
|
||||||
|
assert_fails() can only check for the first error. Make it possible to have
|
||||||
|
it catch multiple errors and check all of them.
|
||||||
|
|
||||||
New value "uselast" for 'switchbuf'. (Lemonboy, 2017 Apr 23, #1652)
|
New value "uselast" for 'switchbuf'. (Lemonboy, 2017 Apr 23, #1652)
|
||||||
|
|
||||||
Add a toolbar in the terminal. Can be global, above all windows, or specific
|
Add a toolbar in the terminal. Can be global, above all windows, or specific
|
||||||
@@ -185,7 +411,7 @@ Still need maplist() to find the mappings. What can we use to identify a
|
|||||||
mapping? Something unique would be better than the LHS.
|
mapping? Something unique would be better than the LHS.
|
||||||
Perhaps simpler: actually delete the mappings. Use maplist() to list matching
|
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 aother 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
|
||||||
@@ -200,6 +426,9 @@ What if there is an invalid character?
|
|||||||
|
|
||||||
Json string with trailing \u should be an error. (Lcd)
|
Json string with trailing \u should be an error. (Lcd)
|
||||||
|
|
||||||
|
import can't be used in define option when include matches too.
|
||||||
|
(Romain Lafourcade, 2017 Jun 18, #1519)
|
||||||
|
|
||||||
When session file has name in argument list but the buffer was deleted, the
|
When session file has name in argument list but the buffer was deleted, the
|
||||||
buffer is not deleted when using the session file. (#1393)
|
buffer is not deleted when using the session file. (#1393)
|
||||||
Should add the buffer in hidden state.
|
Should add the buffer in hidden state.
|
||||||
@@ -211,10 +440,6 @@ Wrong diff highlighting with three files. (2016 Oct 20, #1186)
|
|||||||
Also get E749 on exit.
|
Also get E749 on exit.
|
||||||
Another example in #1309
|
Another example in #1309
|
||||||
|
|
||||||
Patch to change all use of &sw to shiftwidth(). (Tyru, 2017 Feb 19)
|
|
||||||
Takuya Fujiwara
|
|
||||||
Wait until maintainers integrate it.
|
|
||||||
|
|
||||||
When deleting a mark or register, leave a tombstone, so that it's also deleted
|
When deleting a mark or register, leave a tombstone, so that it's also deleted
|
||||||
when writing viminfo (and the delete was the most recent action). #1339
|
when writing viminfo (and the delete was the most recent action). #1339
|
||||||
|
|
||||||
@@ -225,10 +450,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.
|
||||||
@@ -244,6 +465,12 @@ highlighting for both stl and stlnc. Patch by Ken Hamada (itchyny, 2016 Dec 11)
|
|||||||
Using CTRL-G_U in InsertCharPre causes trouble for redo. (Israel Chauca
|
Using CTRL-G_U in InsertCharPre causes trouble for redo. (Israel Chauca
|
||||||
Fuentes, 2017 Feb 12, #1470)
|
Fuentes, 2017 Feb 12, #1470)
|
||||||
|
|
||||||
|
Add a "keytrans()" function, which turns the internal byte representation of a
|
||||||
|
key into a form that can be used for :map. E.g.
|
||||||
|
let xx = "\<C-Home>"
|
||||||
|
echo keytrans(xx)
|
||||||
|
<C-Home>
|
||||||
|
|
||||||
Check for errors E704 and E705 only does VAR_FUNC, should also do VAR_PARTIAL.
|
Check for errors E704 and E705 only does VAR_FUNC, should also do VAR_PARTIAL.
|
||||||
(Nikolai Pavlov, 2017 Mar 13, #1557)
|
(Nikolai Pavlov, 2017 Mar 13, #1557)
|
||||||
Make a function to check for function-like type?
|
Make a function to check for function-like type?
|
||||||
@@ -257,12 +484,6 @@ Implement optional arguments for functions.
|
|||||||
call Foo(12, all = 0)
|
call Foo(12, all = 0)
|
||||||
call Foo(12, 15, 0)
|
call Foo(12, 15, 0)
|
||||||
|
|
||||||
writefile() does not abort as soon as an error is found. (Nikolai Pavlov,
|
|
||||||
2017 Feb 14, #1476)
|
|
||||||
|
|
||||||
Patch to support on-the-spot and over-the-spot input method. (Ken Takata, 2017
|
|
||||||
Feb 14).
|
|
||||||
|
|
||||||
Change the Farsi code to work with UTF-8. Possibly combined with the Arabic
|
Change the Farsi code to work with UTF-8. Possibly combined with the Arabic
|
||||||
support, or similar.
|
support, or similar.
|
||||||
Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
|
Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
|
||||||
@@ -273,11 +494,13 @@ somewhere else. :{range}copy {dest} !cmd
|
|||||||
Patch to fix that empty first tab is not in session.
|
Patch to fix that empty first tab is not in session.
|
||||||
(Hirohito Higashi, 2016 Nov 25, #1282)
|
(Hirohito Higashi, 2016 Nov 25, #1282)
|
||||||
|
|
||||||
Patch for restoring wide characters in the console buffer.
|
Patch to add random number generator. (Hong Xu, 2010 Nov 8, update Nov 10)
|
||||||
(Ken Takata, 2016 Jun 7)
|
Alternative from Christian Brabandt. (2010 Sep 19)
|
||||||
|
New one from Yasuhiro Matsumoto, #1277.
|
||||||
|
|
||||||
Patch to fix escaping of job arguments. (Yasuhiro Matsumoto, 2016 Oct 5)
|
Patch to fix escaping of job arguments. (Yasuhiro Matsumoto, 2016 Oct 5)
|
||||||
Update Oct 14: https://gist.github.com/mattn/d47e7d3bfe5ade4be86062b565a4bfca
|
Update Oct 14: https://gist.github.com/mattn/d47e7d3bfe5ade4be86062b565a4bfca
|
||||||
|
Update Aug 2017: #1954
|
||||||
|
|
||||||
Characters deleted on completion. (Adrià Farrés, 2017 Apr 20, #1645)
|
Characters deleted on completion. (Adrià Farrés, 2017 Apr 20, #1645)
|
||||||
Remarks from Christian Brabandt (Apr 21)
|
Remarks from Christian Brabandt (Apr 21)
|
||||||
@@ -286,9 +509,6 @@ The TermResponse event is not triggered when a plugin has set 'eventignore' to
|
|||||||
"all". Netrw does this. (Gary Johnson, 2017 Jan 24)
|
"all". Netrw does this. (Gary Johnson, 2017 Jan 24)
|
||||||
Postpone the event until 'eventignore' is reset.
|
Postpone the event until 'eventignore' is reset.
|
||||||
|
|
||||||
Patch to make urxvt mouse work better, recognize Esc[*M termcap code.
|
|
||||||
(Maurice Bos, 2017 Feb 17, #1486)
|
|
||||||
|
|
||||||
Expanding /**/ is slow. Idea by Luc Hermitte, 2017 Apr 14.
|
Expanding /**/ is slow. Idea by Luc Hermitte, 2017 Apr 14.
|
||||||
|
|
||||||
Once .exe with updated installer is available: Add remark to download page
|
Once .exe with updated installer is available: Add remark to download page
|
||||||
@@ -303,7 +523,7 @@ MS-Windows. Perhaps in \# the \ is seen as a path separator. (Axel Bender,
|
|||||||
2017 Feb 9) Can we expand wildcards first and send the path literally to the
|
2017 Feb 9) Can we expand wildcards first and send the path literally to the
|
||||||
receiving Vim? Or make an exception for #, it's not useful remotely.
|
receiving Vim? Or make an exception for #, it's not useful remotely.
|
||||||
|
|
||||||
":sbr" docs state it respect 'switchbuf', but "vsplit" does not cause a
|
":sbr" docs state it respects 'switchbuf', but "vsplit" does not cause a
|
||||||
vertical split. (Haldean Brown, 2017 Mar 1)
|
vertical split. (Haldean Brown, 2017 Mar 1)
|
||||||
|
|
||||||
Use ADDR_OTHER instead of ADDR_LINES for many more commands.
|
Use ADDR_OTHER instead of ADDR_LINES for many more commands.
|
||||||
@@ -322,13 +542,24 @@ 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)
|
||||||
|
|
||||||
Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)
|
Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)
|
||||||
|
|
||||||
|
Patch to be able to separately map CTRL-H and BS on Windows.
|
||||||
|
(Linwei, 2017 Jul 11, #1833)
|
||||||
|
|
||||||
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)
|
||||||
|
|
||||||
@@ -385,9 +616,6 @@ Include the test.
|
|||||||
Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
|
Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
|
||||||
New update 2017 Apr 10, #1628
|
New update 2017 Apr 10, #1628
|
||||||
|
|
||||||
Unnamed register only contains the last deleted text when appending deleted
|
|
||||||
text to a register. (Wolfgang Jeltsch, reproduced by Ben Fritz, 2017 Apr 10)
|
|
||||||
|
|
||||||
When 'keywordprg' starts with ":" the argument is still escaped as a shell
|
When 'keywordprg' starts with ":" the argument is still escaped as a shell
|
||||||
command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
|
command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
|
||||||
|
|
||||||
@@ -405,6 +633,8 @@ execute() cannot be used with command completeion. (Daniel Hahler, 2016 Oct 1,
|
|||||||
|
|
||||||
cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
|
cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
|
||||||
|
|
||||||
|
:map X may print invalid data. (Nikolay Pavlov, 2017 Jul 3, #1816)
|
||||||
|
|
||||||
Patch to order results from taglist(). (Duncan McDougall, 2016 Oct 25)
|
Patch to order results from taglist(). (Duncan McDougall, 2016 Oct 25)
|
||||||
|
|
||||||
patch for 'spellcamelcase' option: spellcheck each CamelCased word.
|
patch for 'spellcamelcase' option: spellcheck each CamelCased word.
|
||||||
@@ -430,9 +660,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
|
||||||
@@ -472,11 +699,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 .)?
|
||||||
|
|
||||||
@@ -491,20 +713,12 @@ Reject the value? #710.
|
|||||||
Patch to fix increment/decrement not working properly when 'virtualedit' is
|
Patch to fix increment/decrement not working properly when 'virtualedit' is
|
||||||
set. (Hirohito Higashi, 2016 Aug 1, #923)
|
set. (Hirohito Higashi, 2016 Aug 1, #923)
|
||||||
|
|
||||||
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, 2016 Jul 17.
|
|
||||||
|
|
||||||
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)
|
||||||
|
|
||||||
Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
|
Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
|
||||||
Updated 2016 Jun 10, #858 Update 2017 Mar 28: use <buffer>
|
Updated 2016 Jun 10, #858 Update 2017 Mar 28: use <buffer>
|
||||||
|
|
||||||
Patch to fix that an encoding conversion failure results in a corrupted or
|
|
||||||
empty file. (Christian Brabandt, #1765, https://github.com/chrisbra/vim-mq-patches/blob/master/conversion_error)
|
|
||||||
|
|
||||||
Add redrawtabline command. (Naruhiko Nishino, 2016 Jun 11)
|
Add redrawtabline command. (Naruhiko Nishino, 2016 Jun 11)
|
||||||
|
|
||||||
Neovim patch for utfc_ptr2char_len() https://github.com/neovim/neovim/pull/4574
|
Neovim patch for utfc_ptr2char_len() https://github.com/neovim/neovim/pull/4574
|
||||||
@@ -522,11 +736,6 @@ Possibly include the needed code so that it can be build everywhere.
|
|||||||
Add a way to restart a timer. It's similar to timer_stop() and timer_start(),
|
Add a way to restart a timer. It's similar to timer_stop() and timer_start(),
|
||||||
but the reference remains valid.
|
but the reference remains valid.
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
Need to try out instructions in INSSTALLpc.txt about how to install all
|
Need to try out instructions in INSSTALLpc.txt about how to install all
|
||||||
interfaces and how to build Vim with them.
|
interfaces and how to build Vim with them.
|
||||||
Appveyor build with self-installing executable, includes getting most
|
Appveyor build with self-installing executable, includes getting most
|
||||||
@@ -639,8 +848,6 @@ Patch to add TagNotFound autocommand. (Anton Lindqvist, 2016 Feb 3)
|
|||||||
Patch to add Error autocommand. (Anton Lindqvist, 2016 Feb 17)
|
Patch to add Error autocommand. (Anton Lindqvist, 2016 Feb 17)
|
||||||
Only remembers one error.
|
Only remembers one error.
|
||||||
|
|
||||||
Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
|
|
||||||
|
|
||||||
Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
|
Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
|
||||||
|
|
||||||
Unexpected delay when using CTRL-O u. It's not timeoutlen.
|
Unexpected delay when using CTRL-O u. It's not timeoutlen.
|
||||||
@@ -708,11 +915,6 @@ Patch to use two highlight groups for relative numbers. (Shaun Brady, 2016 Jan
|
|||||||
MS-Windows: Crash opening very long file name starting with "\\".
|
MS-Windows: Crash opening very long file name starting with "\\".
|
||||||
(Christian Brock, 2012 Jun 29)
|
(Christian Brock, 2012 Jun 29)
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
The OptionSet autocommand event is not always triggered. (Rick Howe, 2015 Sep
|
The OptionSet autocommand event is not always triggered. (Rick Howe, 2015 Sep
|
||||||
24): :diffthis, :diffoff.
|
24): :diffthis, :diffoff.
|
||||||
|
|
||||||
@@ -868,8 +1070,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.
|
||||||
@@ -986,9 +1186,6 @@ For the path use a hash instead of dir%dir%dir%name hash%name.
|
|||||||
Patch to add ":undorecover", get as much text out of the undo file as
|
Patch to add ":undorecover", get as much text out of the undo file as
|
||||||
possible. (Christian Brabandt, 2014 Mar 12, update Aug 22)
|
possible. (Christian Brabandt, 2014 Mar 12, update Aug 22)
|
||||||
|
|
||||||
Include Haiku port? (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
|
|
||||||
It can replace the BeOS code, which is likely not used anymore.
|
|
||||||
|
|
||||||
Updated spec ftplugin. (Matěj Cepl, 2013 Oct 16)
|
Updated spec ftplugin. (Matěj Cepl, 2013 Oct 16)
|
||||||
|
|
||||||
Patch to right-align signs. (James Kolb (email james), 2013 Sep 23)
|
Patch to right-align signs. (James Kolb (email james), 2013 Sep 23)
|
||||||
@@ -1018,9 +1215,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)
|
||||||
|
|
||||||
@@ -1281,9 +1475,6 @@ Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26)
|
|||||||
When using a Vim server, a # in the path causes an error message.
|
When using a Vim server, a # in the path causes an error message.
|
||||||
(Jeff Lanzarotta, 2011 Feb 17)
|
(Jeff Lanzarotta, 2011 Feb 17)
|
||||||
|
|
||||||
Setting $HOME on MS-Windows is not very well documented. Suggestion by Ben
|
|
||||||
Fritz (2011 Oct 27).
|
|
||||||
|
|
||||||
When there is a ">" in a line that "gq" wraps to the start of the next line,
|
When there is a ">" in a line that "gq" wraps to the start of the next line,
|
||||||
then the following line will pick it up as a leader. Should get the leader
|
then the following line will pick it up as a leader. Should get the leader
|
||||||
from the first line, not a wrapped line. (Matt Ackeret, 2012 Feb 27)
|
from the first line, not a wrapped line. (Matt Ackeret, 2012 Feb 27)
|
||||||
@@ -1297,8 +1488,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().
|
||||||
@@ -1341,9 +1530,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)
|
||||||
@@ -1388,6 +1574,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
|
||||||
@@ -1408,9 +1597,6 @@ New esperanto spell file can't be processed. (Dominique Pelle, 2011 Jan 30)
|
|||||||
Editing a file with a ^M with 'ff' set to "mac", opening a help file, then the
|
Editing a file with a ^M with 'ff' set to "mac", opening a help file, then the
|
||||||
^M is displayed as ^J sometimes. Getting 'ff' value from wrong window/buffer?
|
^M is displayed as ^J sometimes. Getting 'ff' value from wrong window/buffer?
|
||||||
|
|
||||||
'colorcolumn' has higher priority than hlsearch. Should probably be the other
|
|
||||||
way around. (Nazri Ramliy, 2013 Feb 19)
|
|
||||||
|
|
||||||
When Vim is put in the background (SIGTSTP) and then gets a SIGHUP it doesn't
|
When Vim is put in the background (SIGTSTP) and then gets a SIGHUP it doesn't
|
||||||
exit. It exists as soon as back in the foreground. (Stephen Liang, 2011 Jan
|
exit. It exists as soon as back in the foreground. (Stephen Liang, 2011 Jan
|
||||||
9) Caused by vim_handle_signal(SIGNAL_BLOCK); in ui.c.
|
9) Caused by vim_handle_signal(SIGNAL_BLOCK); in ui.c.
|
||||||
@@ -1459,14 +1645,13 @@ setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
|
|||||||
7 The 'directory' option supports changing path separators to "%" to make
|
7 The 'directory' option supports changing path separators to "%" to make
|
||||||
file names unique, also support this for 'backupdir'. (Mikolaj Machowski)
|
file names unique, also support this for 'backupdir'. (Mikolaj Machowski)
|
||||||
Patch by Christian Brabandt, 2010 Oct 21.
|
Patch by Christian Brabandt, 2010 Oct 21.
|
||||||
|
Is this an update: related to: #179
|
||||||
|
https://github.com/chrisbra/vim-mq-patches/blob/master/backupdir
|
||||||
|
Fixed patch 2017 Jul 1.
|
||||||
|
|
||||||
With "tw=55 fo+=a" typing space before ) doesn't work well. (Scott Mcdermott,
|
With "tw=55 fo+=a" typing space before ) doesn't work well. (Scott Mcdermott,
|
||||||
2010 Oct 24)
|
2010 Oct 24)
|
||||||
|
|
||||||
Patch to add random number generator. (Hong Xu, 2010 Nov 8, update Nov 10)
|
|
||||||
Alternative from Christian Brabandt. (2010 Sep 19)
|
|
||||||
New one from Yasuhiro Matsumoto, #1277.
|
|
||||||
|
|
||||||
Messages in message.txt are highlighted as examples.
|
Messages in message.txt are highlighted as examples.
|
||||||
|
|
||||||
When using cp850 the NBSP (0xff) is not drawn correctly. (Brett Stahlman, 2010
|
When using cp850 the NBSP (0xff) is not drawn correctly. (Brett Stahlman, 2010
|
||||||
@@ -2075,9 +2260,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
|
||||||
@@ -2406,13 +2588,6 @@ respond to selection requests. Invoking XtDisownSelection() before executing
|
|||||||
the shell doesn't help. Would require forking and doing a message loop, like
|
the shell doesn't help. Would require forking and doing a message loop, like
|
||||||
what happens for the GUI.
|
what happens for the GUI.
|
||||||
|
|
||||||
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)
|
|
||||||
clip_x11_request_selection_cb() is called with zero value and length.
|
|
||||||
Also: Get an error message from free() in the process that owns the selection.
|
|
||||||
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.
|
|
||||||
|
|
||||||
":vimgrep" does not recognize a recursive symlink. Is it possible to detect
|
":vimgrep" does not recognize a recursive symlink. Is it possible to detect
|
||||||
this, at least for Unix (using device/inode)?
|
this, at least for Unix (using device/inode)?
|
||||||
|
|
||||||
@@ -3275,18 +3450,6 @@ Most interesting new features to be added when all bugs have been fixed:
|
|||||||
Alternative: Make a function for Ex commands: cmd_edit().
|
Alternative: Make a function for Ex commands: cmd_edit().
|
||||||
- Add COLUMN NUMBERS to ":" commands ":line1,line2[col1,col2]cmd". Block
|
- Add COLUMN NUMBERS to ":" commands ":line1,line2[col1,col2]cmd". Block
|
||||||
can be selected with CTRL-V. Allow '$' (end of line) for col2.
|
can be selected with CTRL-V. Allow '$' (end of line) for col2.
|
||||||
- Add DEBUGGER INTERFACE. Implementation for gdb by Xavier de Gaye.
|
|
||||||
Should work like an IDE. Try to keep it generic. Now found here:
|
|
||||||
http://clewn.sf.net.
|
|
||||||
And the idevim plugin/script.
|
|
||||||
To be able to start the debugger from inside Vim: For GUI run a program
|
|
||||||
with a netbeans connection; for console: start a program that splits the
|
|
||||||
terminal, runs the debugger in one window and reconnect Vim I/O to the
|
|
||||||
other window.
|
|
||||||
Wishes for NetBeans commands:
|
|
||||||
- make it possible to have 'defineAnnoType' also handle terminal colors.
|
|
||||||
- send 'balloonText' events for the cursor position (using CursorHold ?)
|
|
||||||
in terminal mode.
|
|
||||||
- ECLIPSE plugin. Problem is: the interface is very complicated. Need to
|
- ECLIPSE plugin. Problem is: the interface is very complicated. Need to
|
||||||
implement part in Java and then connect to Vim. Some hints from Alexandru
|
implement part in Java and then connect to Vim. Some hints from Alexandru
|
||||||
Roman, 2004 Dec 15. Should then also work with Oracle Jdeveloper, see JSR
|
Roman, 2004 Dec 15. Should then also work with Oracle Jdeveloper, see JSR
|
||||||
@@ -3299,9 +3462,6 @@ Most interesting new features to be added when all bugs have been fixed:
|
|||||||
scrolls back to where the cursor is.
|
scrolls back to where the cursor is.
|
||||||
- Scroll commands by screen line. g CTRL-E and g CTRL-Y ? Requires the
|
- Scroll commands by screen line. g CTRL-E and g CTRL-Y ? Requires the
|
||||||
first line to be able to start halfway.
|
first line to be able to start halfway.
|
||||||
- Running a shell command from the GUI still has limitations. Look into how
|
|
||||||
the terminal emulator of the Vim shell project can help:
|
|
||||||
http://vimshell.wana.at
|
|
||||||
8 Add a command to jump to a certain kind of tag. Allow the user to specify
|
8 Add a command to jump to a certain kind of tag. Allow the user to specify
|
||||||
values for the optional fields. E.g., ":tag size type=m".
|
values for the optional fields. E.g., ":tag size type=m".
|
||||||
Also allow specifying the file and command, so that the result of
|
Also allow specifying the file and command, so that the result of
|
||||||
@@ -3490,9 +3650,6 @@ Spell checking:
|
|||||||
Diff mode:
|
Diff mode:
|
||||||
9 When making small changes, e.g. deleting a character, update the diff.
|
9 When making small changes, e.g. deleting a character, update the diff.
|
||||||
Possibly without running diff.
|
Possibly without running diff.
|
||||||
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 quite big and badly documented though.
|
|
||||||
8 Also show difference with the file when editing started? Should show what
|
8 Also show difference with the file when editing started? Should show what
|
||||||
can be undone. (Tom Popovich)
|
can be undone. (Tom Popovich)
|
||||||
|
|
||||||
@@ -3607,7 +3764,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
|
||||||
@@ -4539,7 +4696,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)
|
||||||
|
|
||||||
@@ -5087,7 +5244,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
|
||||||
@@ -5579,11 +5736,11 @@ Various improvements:
|
|||||||
- Support %name% expansion for "gf" on Windows.
|
- Support %name% expansion for "gf" on Windows.
|
||||||
- Make "gf" work on "file://c:/path/name". "file:/c:/" and "file:///c:/"
|
- Make "gf" work on "file://c:/path/name". "file:/c:/" and "file:///c:/"
|
||||||
should also work?
|
should also work?
|
||||||
- Add 'urlpath', used like 'path' for when "gf" used on an URL?
|
- Add 'urlpath', used like 'path' for when "gf" used on a URL?
|
||||||
8 When using "gf" on an absolute file name, while editing a remote file
|
8 When using "gf" on an absolute file name, while editing a remote file
|
||||||
(starts with scp:// or http://) should prepend the method and machine
|
(starts with scp:// or http://) should prepend the method and machine
|
||||||
name.
|
name.
|
||||||
- When finding an URL or file name, and it doesn't exist, try removing a
|
- When finding a URL or file name, and it doesn't exist, try removing a
|
||||||
trailing '.'.
|
trailing '.'.
|
||||||
- Add ":path" command modifier. Should work for every command that takes a
|
- Add ":path" command modifier. Should work for every command that takes a
|
||||||
file name argument, to search for the file name in 'path'. Use
|
file name argument, to search for the file name in 'path'. Use
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_01.txt* For Vim version 8.0. Last change: 2010 Nov 03
|
*usr_01.txt* For Vim version 8.0. Last change: 2017 Jul 15
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -140,19 +140,19 @@ On other systems, you have to do a little work:
|
|||||||
|
|
||||||
1. Copy the tutor file. You can do this with Vim (it knows where to find it):
|
1. Copy the tutor file. You can do this with Vim (it knows where to find it):
|
||||||
>
|
>
|
||||||
vim -u NONE -c 'e $VIMRUNTIME/tutor/tutor' -c 'w! TUTORCOPY' -c 'q'
|
vim --clean -c 'e $VIMRUNTIME/tutor/tutor' -c 'w! TUTORCOPY' -c 'q'
|
||||||
<
|
<
|
||||||
This will write the file "TUTORCOPY" in the current directory. To use a
|
This will write the file "TUTORCOPY" in the current directory. To use a
|
||||||
translated version of the tutor, append the two-letter language code to the
|
translated version of the tutor, append the two-letter language code to the
|
||||||
filename. For French:
|
filename. For French:
|
||||||
>
|
>
|
||||||
vim -u NONE -c 'e $VIMRUNTIME/tutor/tutor.fr' -c 'w! TUTORCOPY' -c 'q'
|
vim --clean -c 'e $VIMRUNTIME/tutor/tutor.fr' -c 'w! TUTORCOPY' -c 'q'
|
||||||
<
|
<
|
||||||
2. Edit the copied file with Vim:
|
2. Edit the copied file with Vim:
|
||||||
>
|
>
|
||||||
vim -u NONE -c "set nocp" TUTORCOPY
|
vim --clean TUTORCOPY
|
||||||
<
|
<
|
||||||
The extra arguments make sure Vim is started in a good mood.
|
The --clean argument makes sure Vim is started with nice defaults.
|
||||||
|
|
||||||
3. Delete the copied file when you are finished with it:
|
3. Delete the copied file when you are finished with it:
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_03.txt* For Vim version 8.0. Last change: 2016 Jan 05
|
*usr_03.txt* For Vim version 8.0. Last change: 2017 Jul 21
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -352,7 +352,7 @@ The "?" command works like "/" but searches backwards: >
|
|||||||
?word
|
?word
|
||||||
|
|
||||||
The "N" command repeats the last search the opposite direction. Thus using
|
The "N" command repeats the last search the opposite direction. Thus using
|
||||||
"N" after a "/" command search backwards, using "N" after "?" searches
|
"N" after a "/" command searches backwards, using "N" after "?" searches
|
||||||
forward.
|
forward.
|
||||||
|
|
||||||
|
|
||||||
@@ -512,7 +512,7 @@ only if it is at the beginning of a line.
|
|||||||
The $ character matches the end of a line. Therefore, "was$" matches the
|
The $ character matches the end of a line. Therefore, "was$" matches the
|
||||||
word was only if it is at the end of a line.
|
word was only if it is at the end of a line.
|
||||||
|
|
||||||
Let's mark the places where "the" matches in this example line with "x"s:
|
Let's mark the places where "/the" matches in this example line with "x"s:
|
||||||
|
|
||||||
the solder holding one of the chips melted and the ~
|
the solder holding one of the chips melted and the ~
|
||||||
xxx xxx xxx
|
xxx xxx xxx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_07.txt* For Vim version 8.0. Last change: 2006 Apr 24
|
*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
|
||||||
|
|
||||||
@@ -355,7 +355,7 @@ a sentence to the f register (f for First): >
|
|||||||
"fyas
|
"fyas
|
||||||
|
|
||||||
The "yas" command yanks a sentence like before. It's the "f that tells Vim
|
The "yas" command yanks a sentence like before. It's the "f that tells Vim
|
||||||
the text should be place in the f register. This must come just before the
|
the text should be placed in the f register. This must come just before the
|
||||||
yank command.
|
yank command.
|
||||||
Now yank three whole lines to the l register (l for line): >
|
Now yank three whole lines to the l register (l for line): >
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_08.txt* For Vim version 8.0. Last change: 2014 Jul 06
|
*usr_08.txt* For Vim version 8.0. Last change: 2017 Aug 11
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@ top one:
|
|||||||
+----------------------------------+
|
+----------------------------------+
|
||||||
|
|
||||||
What you see here is two windows on the same file. The line with "====" is
|
What you see here is two windows on the same file. The line with "====" is
|
||||||
that status line. It displays information about the window above it. (In
|
the status line. It displays information about the window above it. (In
|
||||||
practice the status line will be in reverse video.)
|
practice the status line will be in reverse video.)
|
||||||
The two windows allow you to view two parts of the same file. For example,
|
The two windows allow you to view two parts of the same file. For example,
|
||||||
you could make the top window show the variable declarations of a program, and
|
you could make the top window show the variable declarations of a program, and
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_09.txt* For Vim version 8.0. Last change: 2006 Apr 24
|
*usr_09.txt* For Vim version 8.0. Last change: 2017 Aug 11
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -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
|
||||||
@@ -60,7 +60,7 @@ THE WINDOW TITLE
|
|||||||
At the very top is the window title. This is drawn by your window system.
|
At the very top is the window title. This is drawn by your window system.
|
||||||
Vim will set the title to show the name of the current file. First comes the
|
Vim will set the title to show the name of the current file. First comes the
|
||||||
name of the file. Then some special characters and the directory of the file
|
name of the file. Then some special characters and the directory of the file
|
||||||
in parens. These special character can be present:
|
in parens. These special characters can be present:
|
||||||
|
|
||||||
- The file cannot be modified (e.g., a help file)
|
- The file cannot be modified (e.g., a help file)
|
||||||
+ The file contains changes
|
+ The file contains changes
|
||||||
@@ -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_12.txt* For Vim version 8.0. Last change: 2007 May 11
|
*usr_12.txt* For Vim version 8.0. Last change: 2017 Aug 11
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -290,7 +290,7 @@ command: >
|
|||||||
The line range "%" is used, thus this works on the whole file. The pattern
|
The line range "%" is used, thus this works on the whole file. The pattern
|
||||||
that the ":substitute" command matches with is "\s\+$". This finds white
|
that the ":substitute" command matches with is "\s\+$". This finds white
|
||||||
space characters (\s), 1 or more of them (\+), before the end-of-line ($).
|
space characters (\s), 1 or more of them (\+), before the end-of-line ($).
|
||||||
Later will be explained how you write patterns like this |usr_27.txt|.
|
Later will be explained how you write patterns like this, see |usr_27.txt|.
|
||||||
The "to" part of the substitute command is empty: "//". Thus it replaces
|
The "to" part of the substitute command is empty: "//". Thus it replaces
|
||||||
with nothing, effectively deleting the matched white space.
|
with nothing, effectively deleting the matched white space.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_41.txt* For Vim version 8.0. Last change: 2017 Mar 28
|
*usr_41.txt* For Vim version 8.0. Last change: 2017 Nov 19
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -886,10 +886,11 @@ GUI: *gui-functions*
|
|||||||
getwinposx() X position of the GUI Vim window
|
getwinposx() X position of the GUI Vim window
|
||||||
getwinposy() Y position of the GUI Vim window
|
getwinposy() Y position of the GUI 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
|
||||||
@@ -966,6 +967,23 @@ Jobs: *job-functions*
|
|||||||
job_info() get information about a job
|
job_info() get information about a job
|
||||||
job_setoptions() set options for a job
|
job_setoptions() set options for a job
|
||||||
|
|
||||||
|
Terminal window: *terminal-functions*
|
||||||
|
term_start() open a terminal window and run a job
|
||||||
|
term_list() get the list of terminal buffers
|
||||||
|
term_sendkeys() send keystrokes to a terminal
|
||||||
|
term_wait() wait for screen to be updated
|
||||||
|
term_getjob() get the job associated with a terminal
|
||||||
|
term_scrape() get row of a terminal screen
|
||||||
|
term_getline() get a line of text from a terminal
|
||||||
|
term_getattr() get the value of attribute {what}
|
||||||
|
term_getcursor() get the cursor position of a terminal
|
||||||
|
term_getscrolled() get the scroll count of a terminal
|
||||||
|
term_getaltscreen() get the alternate screen flag
|
||||||
|
term_getsize() get the size of a terminal
|
||||||
|
term_getstatus() get the status of a terminal
|
||||||
|
term_gettitle() get the title of a terminal
|
||||||
|
term_gettty() get the tty name of a terminal
|
||||||
|
|
||||||
Timers: *timer-functions*
|
Timers: *timer-functions*
|
||||||
timer_start() create a timer
|
timer_start() create a timer
|
||||||
timer_pause() pause or unpause a timer
|
timer_pause() pause or unpause a timer
|
||||||
|
|||||||
@@ -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: 2017 Nov 18
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -309,9 +309,13 @@ g8 Print the hex values of the bytes used in the
|
|||||||
*+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
|
N *+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,7 +326,7 @@ 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.
|
||||||
@@ -361,7 +365,7 @@ 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'|
|
||||||
@@ -427,6 +431,7 @@ N *+tag_old_static* old method for static tags |tag-old-static|
|
|||||||
m *+tag_any_white* any white space allowed in tags file |tag-any-white|
|
m *+tag_any_white* any white space allowed in tags file |tag-any-white|
|
||||||
m *+tcl* Tcl interface |tcl|
|
m *+tcl* Tcl interface |tcl|
|
||||||
m *+tcl/dyn* Tcl interface |tcl-dynamic| |/dyn|
|
m *+tcl/dyn* Tcl interface |tcl-dynamic| |/dyn|
|
||||||
|
m *+terminal* Support for terminal window |terminal|
|
||||||
*+terminfo* uses |terminfo| instead of termcap
|
*+terminfo* uses |terminfo| instead of termcap
|
||||||
N *+termresponse* support for |t_RV| and |v:termresponse|
|
N *+termresponse* support for |t_RV| and |v:termresponse|
|
||||||
B *+termguicolors* 24-bit color in xterm-compatible terminals support
|
B *+termguicolors* 24-bit color in xterm-compatible terminals support
|
||||||
@@ -437,14 +442,16 @@ 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|
|
||||||
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|
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -16827,7 +16827,7 @@ Patch 8.0.0388
|
|||||||
Problem: filtering lines through "cat", without changing the line count,
|
Problem: filtering lines through "cat", without changing the line count,
|
||||||
changes manual folds.
|
changes manual folds.
|
||||||
Solution: Change how marks and folds are adjusted. (Matthew Malcomson, from
|
Solution: Change how marks and folds are adjusted. (Matthew Malcomson, from
|
||||||
neovim #6194.
|
neovim #6194).
|
||||||
Files: src/fold.c, src/testdir/test_fold.vim
|
Files: src/fold.c, src/testdir/test_fold.vim
|
||||||
|
|
||||||
Patch 8.0.0389
|
Patch 8.0.0389
|
||||||
@@ -17499,7 +17499,7 @@ Files: src/evalfunc.c, src/if_xcmdsrv.c, src/proto/if_xcmdsrv.pro,
|
|||||||
|
|
||||||
Patch 8.0.0493
|
Patch 8.0.0493
|
||||||
Problem: Crash with cd command with very long argument.
|
Problem: Crash with cd command with very long argument.
|
||||||
Solution: Check for running out of space. (Dominique pending, closes #1576)
|
Solution: Check for running out of space. (Dominique Pelle, closes #1576)
|
||||||
Files: src/testdir/test_alot.vim, src/testdir/test_cd.vim, src/Makefile,
|
Files: src/testdir/test_alot.vim, src/testdir/test_cd.vim, src/Makefile,
|
||||||
src/misc2.c
|
src/misc2.c
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
.TH VIM 1 "2006 Apr 11"
|
.TH VIM 1 "2006 Apr 11"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
vim \- Vi IMproved, a programmers text editor
|
vim \- Vi IMproved, a programmer's text editor
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.br
|
.br
|
||||||
.B vim
|
.B vim
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ VIM(1) General Commands Manual VIM(1)
|
|||||||
|
|
||||||
|
|
||||||
NAME
|
NAME
|
||||||
vim - Vi IMproved, a programmers text editor
|
vim - Vi IMproved, a programmer's text editor
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
vim [options] [file ..]
|
vim [options] [file ..]
|
||||||
@@ -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: 2016 Dec 01
|
*windows.txt* For Vim version 8.0. Last change: 2017 Sep 25
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -222,6 +222,11 @@ CTRL-W ^ Does ":split #", split window in two and edit alternate file.
|
|||||||
When a count is given, it becomes ":split #N", split window
|
When a count is given, it becomes ":split #N", split window
|
||||||
and edit buffer N.
|
and edit buffer N.
|
||||||
|
|
||||||
|
*CTRL-W_:*
|
||||||
|
CTRL-W : Does the same as typing |:| : edit a command line. Useful in a
|
||||||
|
terminal window, where all Vim commands must be preceded with
|
||||||
|
CTRL-W or 'termkey'.
|
||||||
|
|
||||||
Note that the 'splitbelow' and 'splitright' options influence where a new
|
Note that the 'splitbelow' and 'splitright' options influence where a new
|
||||||
window will appear.
|
window will appear.
|
||||||
|
|
||||||
@@ -339,8 +344,9 @@ CTRL-W CTRL-C *CTRL-W_CTRL-C*
|
|||||||
*:hide*
|
*:hide*
|
||||||
:hid[e]
|
:hid[e]
|
||||||
:{count}hid[e]
|
:{count}hid[e]
|
||||||
Quit the current window, unless it is the last window on the
|
Without {count}: Quit the current window, unless it is the
|
||||||
screen. For {count} see |:quit| command.
|
last window on the screen.
|
||||||
|
If {count} is given quit the {count} window.
|
||||||
|
|
||||||
The buffer becomes hidden (unless there is another window
|
The buffer becomes hidden (unless there is another window
|
||||||
editing it or 'bufhidden' is "unload", "delete" or "wipe").
|
editing it or 'bufhidden' is "unload", "delete" or "wipe").
|
||||||
@@ -613,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
|
||||||
@@ -1026,6 +1033,9 @@ list of buffers. |unlisted-buffer|
|
|||||||
displayed in a window |hidden-buffer|
|
displayed in a window |hidden-buffer|
|
||||||
- a buffer with 'modifiable' off
|
- a buffer with 'modifiable' off
|
||||||
= a readonly buffer
|
= a readonly buffer
|
||||||
|
R a terminal buffer with a running 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
|
||||||
|
|
||||||
@@ -1272,6 +1282,9 @@ help Contains a help file. Will only be created with the |:help|
|
|||||||
and can't be changed. The 'buflisted' option will be reset
|
and can't be changed. The 'buflisted' option will be reset
|
||||||
for a help buffer.
|
for a help buffer.
|
||||||
|
|
||||||
|
terminal A terminal window buffer, see |terminal|. The contents cannot
|
||||||
|
be read or changed until the job ends.
|
||||||
|
|
||||||
directory Displays directory contents. Can be used by a file explorer
|
directory Displays directory contents. Can be used by a file explorer
|
||||||
plugin. The buffer is created with these settings: >
|
plugin. The buffer is created with these settings: >
|
||||||
:setlocal buftype=nowrite
|
:setlocal buftype=nowrite
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
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: 2017 Nov 11
|
||||||
|
|
||||||
" 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+=\.,-
|
||||||
|
|
||||||
@@ -176,7 +170,11 @@ 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.
|
||||||
|
silent exec "r !env -u MANPAGER man ".s:GetCmdArg(sect, page)." | col -b"
|
||||||
|
|
||||||
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
|
||||||
@@ -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: Thur, 09 November 2017
|
||||||
" 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
|
||||||
@@ -24,31 +25,51 @@ 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 +78,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,8 +1,12 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: Verilog HDL
|
" Language: Verilog HDL
|
||||||
" Maintainer: Chih-Tsun Huang <cthuang@larc.ee.nthu.edu.tw>
|
" Maintainer: Chih-Tsun Huang <cthuang@cs.nthu.edu.tw>
|
||||||
" Last Change: Wed Sep 3 15:24:49 CST 2008
|
" Last Change: 2017 Aug 25 by Chih-Tsun Huang
|
||||||
" URL: http://larc.ee.nthu.edu.tw/~cthuang/vim/ftplugin/verilog.vim
|
" URL: http://www.cs.nthu.edu.tw/~cthuang/vim/ftplugin/verilog.vim
|
||||||
|
"
|
||||||
|
" Credits:
|
||||||
|
" Suggestions for improvement, bug reports by
|
||||||
|
" Shao <shaominghai2005@163.com>
|
||||||
|
|
||||||
" 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")
|
||||||
@@ -45,11 +49,16 @@ if exists("loaded_matchit")
|
|||||||
\ '\<begin\>:\<end\>,' .
|
\ '\<begin\>:\<end\>,' .
|
||||||
\ '\<case\>\|\<casex\>\|\<casez\>:\<endcase\>,' .
|
\ '\<case\>\|\<casex\>\|\<casez\>:\<endcase\>,' .
|
||||||
\ '\<module\>:\<endmodule\>,' .
|
\ '\<module\>:\<endmodule\>,' .
|
||||||
\ '\<if\>:\<else\>,' .
|
\ '\<if\>:`\@<!\<else\>,' .
|
||||||
\ '\<function\>:\<endfunction\>,' .
|
\ '\<function\>:\<endfunction\>,' .
|
||||||
\ '`ifdef\>:`else\>:`endif\>,' .
|
\ '`ifn\?def\>:`elsif\>:`else\>:`endif\>,' .
|
||||||
\ '\<task\>:\<endtask\>,' .
|
\ '\<task\>:\<endtask\>,' .
|
||||||
\ '\<specify\>:\<endspecify\>'
|
\ '\<specify\>:\<endspecify\>,' .
|
||||||
|
\ '\<config\>:\<endconfig\>,' .
|
||||||
|
\ '\<generate\>:\<endgenerate\>,' .
|
||||||
|
\ '\<fork\>:\<join\>,' .
|
||||||
|
\ '\<primitive\>:\<endprimitive\>,' .
|
||||||
|
\ '\<table\>:\<endtable\>'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Reset 'cpoptions' back to the user's setting
|
" Reset 'cpoptions' back to the user's setting
|
||||||
|
|||||||
@@ -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 Nov 06
|
||||||
|
|
||||||
" 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:\"\",:\"
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" 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: 2015-05-29
|
||||||
" License: Vim (see :h license)
|
" License: Vim (see :h license)
|
||||||
" Repository: https://github.com/chrisbra/vim-zsh
|
" Repository: https://github.com/chrisbra/vim-zsh
|
||||||
|
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
finish
|
finish
|
||||||
|
|||||||
@@ -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 @@
|
|||||||
" 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: September 18, 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')
|
||||||
@@ -10,6 +10,10 @@ if exists('b:did_indent')
|
|||||||
endif
|
endif
|
||||||
let b:did_indent = 1
|
let b:did_indent = 1
|
||||||
|
|
||||||
|
" indent correctly if inside <script>
|
||||||
|
" vim/vim@690afe1 for the switch from cindent
|
||||||
|
let b:html_indent_script1 = 'inc'
|
||||||
|
|
||||||
" Now, set up our indentation expression and keys that trigger it.
|
" Now, set up our indentation expression and keys that trigger it.
|
||||||
setlocal indentexpr=GetJavascriptIndent()
|
setlocal indentexpr=GetJavascriptIndent()
|
||||||
setlocal autoindent nolisp nosmartindent
|
setlocal autoindent nolisp nosmartindent
|
||||||
@@ -21,6 +25,13 @@ setlocal indentkeys+=0],0)
|
|||||||
|
|
||||||
let b:undo_indent = 'setlocal indentexpr< smartindent< autoindent< indentkeys<'
|
let b:undo_indent = 'setlocal indentexpr< smartindent< autoindent< indentkeys<'
|
||||||
|
|
||||||
|
" Regex of syntax group names that are or delimit string or are comments.
|
||||||
|
let b:syng_strcom = get(b:,'syng_strcom','string\|comment\|regex\|special\|doc\|template\%(braces\)\@!')
|
||||||
|
let b:syng_str = get(b:,'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'
|
||||||
|
|
||||||
" Only define the function once.
|
" Only define the function once.
|
||||||
if exists('*GetJavascriptIndent')
|
if exists('*GetJavascriptIndent')
|
||||||
finish
|
finish
|
||||||
@@ -36,7 +47,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 +55,301 @@ 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'
|
||||||
|
endif
|
||||||
|
let s:top_col = 0
|
||||||
|
if 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)
|
||||||
|
let s:looksyn = a:firstline
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
elseif search('\m`\|\${\|\*\/','nW'.s:z,s:looksyn) && eval(s:skip_expr)
|
||||||
|
let s:check_in = 1
|
||||||
|
return 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:col = col('.')
|
||||||
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 search('\m\*\%#\/\|\/\/\%<'.a:firstline.'l','nbW',line('.')) && eval(s:in_comm)
|
||||||
\ getline('.') =~ '\%<'.col('.').'c\/\/') && s:syn_at(line('.'),col('.')) =~? s:syng_com
|
if s:SearchLoop('\S\ze\_s*\/[/*]','bW',s:in_comm)
|
||||||
while search('\m\S\ze\_s*\/[/*]','bW')
|
return s:Token()
|
||||||
if s:syn_at(line('.'),col('.')) !~? s:syng_com
|
endif
|
||||||
return s:token()
|
call cursor(a:firstline, l:col)
|
||||||
endif
|
|
||||||
endwhile
|
|
||||||
else
|
else
|
||||||
return s:token()
|
return s:Token()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
call call('cursor',l:pos)
|
|
||||||
return ''
|
return ''
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:expr_col()
|
function s:Pure(f,...)
|
||||||
if getline('.')[col('.')-2] == ':'
|
return eval("[call(a:f,a:000),cursor(a:firstline,".col('.').")][0]")
|
||||||
return 1
|
endfunction
|
||||||
endif
|
|
||||||
|
function s:SearchLoop(pat,flags,expr)
|
||||||
|
return s:GetPair(a:pat,'\_$.',a:flags,a:expr)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:ExprCol()
|
||||||
let bal = 0
|
let bal = 0
|
||||||
while search('\m[{}?:;]','bW')
|
while s:SearchLoop('[{}?]\|\_[^:]\zs::\@!','bW',s:skip_expr)
|
||||||
if eval(s:skip_expr) | continue | endif
|
if s:LookingAt() == ':'
|
||||||
" switch (looking_at())
|
let bal -= 1
|
||||||
exe { '}': "if s:GetPair('{','}','bW',s:skip_expr,200) <= 0 | return | endif",
|
elseif s:LookingAt() == '?'
|
||||||
\ ';': "return",
|
let bal += 1
|
||||||
\ '{': "return getpos('.')[1:2] != b:js_cache[1:] && !s:IsBlock()",
|
if bal == 1
|
||||||
\ ':': "let bal -= getline('.')[max([col('.')-2,0]):col('.')] !~ '::'",
|
break
|
||||||
\ '?': "let bal += 1 | if bal > 0 | return 1 | endif" }[s:looking_at()]
|
endif
|
||||||
|
elseif s:LookingAt() == '{'
|
||||||
|
let bal = !s:IsBlock()
|
||||||
|
break
|
||||||
|
elseif !s:GetPair('{','}','bW',s:skip_expr)
|
||||||
|
break
|
||||||
|
endif
|
||||||
endwhile
|
endwhile
|
||||||
|
return s:Nat(bal)
|
||||||
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(ln,con)
|
||||||
if !cursor(a:ln, match(' '.a:con,s:continuation))
|
let tok = matchstr(a:con[-15:],s:continuation)
|
||||||
let teol = s:looking_at()
|
if tok =~ '[a-z:]'
|
||||||
if teol == '/'
|
call cursor(a:ln, len(a:con))
|
||||||
return s:syn_at(line('.'),col('.')) !~? 'regex'
|
return tok == ':' ? s:ExprCol() : s:PreviousToken() != '.'
|
||||||
elseif teol =~ '[-+>]'
|
elseif tok !~ '[/>]'
|
||||||
return getline('.')[col('.')-2] != tr(teol,'>','=')
|
return tok isnot ''
|
||||||
elseif teol =~ '\l'
|
|
||||||
return s:previous_token() != '.'
|
|
||||||
elseif teol == ':'
|
|
||||||
return s:expr_col()
|
|
||||||
endif
|
|
||||||
return 1
|
|
||||||
endif
|
endif
|
||||||
endfunction
|
return s:SynAt(a:ln, len(a:con)) !~? (tok == '>' ? 'jsflow\|^html' : 'regex')
|
||||||
|
|
||||||
" get the line of code stripped of comments and move cursor to the last
|
|
||||||
" non-comment char.
|
|
||||||
function s:Trim(ln)
|
|
||||||
let pline = substitute(getline(a:ln),'\s*$','','')
|
|
||||||
let l:max = max([strridx(pline,'//'), strridx(pline,'/*')])
|
|
||||||
while l:max != -1 && s:syn_at(a:ln, strlen(pline)) =~? s:syng_com
|
|
||||||
let pline = pline[: l:max]
|
|
||||||
let l:max = max([strridx(pline,'//'), strridx(pline,'/*')])
|
|
||||||
let pline = substitute(pline[:-2],'\s*$','','')
|
|
||||||
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
|
endfunction
|
||||||
|
|
||||||
" Check if line 'lnum' has a balanced amount of parentheses.
|
" Check if line 'lnum' has a balanced amount of parentheses.
|
||||||
function s:Balanced(lnum)
|
function s:Balanced(lnum)
|
||||||
let l:open = 0
|
let [l:open, l:line] = [0, getline(a:lnum)]
|
||||||
let l:line = getline(a:lnum)
|
let pos = match(l:line, '[][(){}]')
|
||||||
let pos = match(l:line, '[][(){}]', 0)
|
|
||||||
while pos != -1
|
while pos != -1
|
||||||
if s:syn_at(a:lnum,pos + 1) !~? s:syng_strcom
|
if s:SynAt(a:lnum,pos + 1) !~? b:syng_strcom
|
||||||
let l:open += match(' ' . l:line[pos],'[[({]')
|
let l:open += match(' ' . l:line[pos],'[[({]')
|
||||||
if l:open < 0
|
if l:open < 0
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
let pos = match(l:line, (l:open ?
|
let pos = match(l:line, !l:open ? '[][(){}]' : '()' =~ l:line[pos] ?
|
||||||
\ '['.escape(tr(l:line[pos],'({[]})',')}][{(').l:line[pos],']').']' :
|
\ '[()]' : '{}' =~ l:line[pos] ? '[{}]' : '[][]', pos + 1)
|
||||||
\ '[][(){}]'), pos + 1)
|
|
||||||
endwhile
|
endwhile
|
||||||
return !l:open
|
return !l:open
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:OneScope(lnum)
|
function s:OneScope()
|
||||||
let pline = s:Trim(a:lnum)
|
if s:LookingAt() == ')' && s:GetPair('(', ')', 'bW', s:skip_expr)
|
||||||
let kw = 'else do'
|
let tok = s:PreviousToken()
|
||||||
if pline[-1:] == ')' && s:GetPair('(', ')', 'bW', s:skip_expr, 100) > 0
|
return (count(split('for if let while with'),tok) ||
|
||||||
if s:previous_token() =~# '^\%(await\|each\)$'
|
\ tok =~# '^await$\|^each$' && s:PreviousToken() ==# 'for') &&
|
||||||
call s:previous_token()
|
\ s:Pure('s:PreviousToken') != '.' && !(tok == 'while' && s:DoWhile())
|
||||||
let kw = 'for'
|
elseif s:Token() =~# '^else$\|^do$'
|
||||||
else
|
return s:Pure('s:PreviousToken') != '.'
|
||||||
let kw = 'for if let while with'
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
return pline[-2:] == '=>' || index(split(kw),s:token()) + 1 &&
|
return strpart(getline('.'),col('.')-2,2) == '=>'
|
||||||
\ s:save_pos('s:previous_token') != '.'
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" returns braceless levels started by 'i' and above lines * shiftwidth().
|
function s:DoWhile()
|
||||||
" 'num' is the lineNr which encloses the entire context, 'cont' if whether
|
let cpos = searchpos('\m\<','cbW')
|
||||||
" line 'i' + 1 is a continued expression, which could have started in a
|
if s:SearchLoop('\C[{}]\|\<\%(do\|while\)\>','bW',s:skip_expr)
|
||||||
" braceless context
|
if s:{s:LookingAt() == '}' && s:GetPair('{','}','bW',s:skip_expr) ?
|
||||||
function s:iscontOne(i,num,cont)
|
\ 'Previous' : ''}Token() ==# 'do' && s:IsBlock()
|
||||||
let [l:i, l:num, bL] = [a:i, a:num + !a:num, 0]
|
return 1
|
||||||
let pind = a:num ? indent(l:num) + s:W : 0
|
endif
|
||||||
let ind = indent(l:i) + (a:cont ? 0 : s:W)
|
call call('cursor',cpos)
|
||||||
while l:i >= l:num && (ind > pind || l:i == l:num)
|
endif
|
||||||
if indent(l:i) < ind && s:OneScope(l:i)
|
endfunction
|
||||||
let bL += s:W
|
|
||||||
let l:i = line('.')
|
" returns total offset from braceless contexts. 'num' is the lineNr which
|
||||||
elseif !a:cont || bL || ind < indent(a:i)
|
" encloses the entire context, 'cont' if whether a:firstline is a continued
|
||||||
|
" expression, which could have started in a braceless context
|
||||||
|
function s:IsContOne(num,cont)
|
||||||
|
let [l:num, b_l] = [a:num + !a:num, 0]
|
||||||
|
let pind = a:num ? indent(a:num) + 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
|
break
|
||||||
endif
|
endif
|
||||||
let ind = min([ind, indent(l:i)])
|
|
||||||
let l:i = s:PrevCodeLine(l:i - 1)
|
|
||||||
endwhile
|
endwhile
|
||||||
return bL
|
return b_l
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:Class()
|
||||||
|
return (s:Token() ==# 'class' || s:PreviousToken() =~# '^class$\|^extends$') &&
|
||||||
|
\ s:PreviousToken() != '.'
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:IsSwitch()
|
||||||
|
return s:PreviousToken() !~ '[.*]' &&
|
||||||
|
\ (!s:GetPair('{','}','cbW',s:skip_expr) || s:IsBlock() && !s:Class())
|
||||||
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()
|
return tok != '{'
|
||||||
if match(s:stack,'\cxml\|jsx') + 1 && s:syn_at(line('.'),col('.')-1) =~? 'xml\|jsx'
|
elseif tok =~ '\k'
|
||||||
return char != '{'
|
if tok ==# 'type'
|
||||||
elseif char =~ '\k'
|
return s:Pure('eval',"s:PreviousToken() !~# '^\\%(im\\|ex\\)port$' || s:PreviousToken() == '.'")
|
||||||
if char ==# 'type'
|
elseif tok ==# 'of'
|
||||||
return s:previous_token() !~# '^\%(im\|ex\)port$'
|
return s:Pure('eval',"!s:GetPair('[[({]','[])}]','bW',s:skip_expr) || s:LookingAt() != '(' ||"
|
||||||
endif
|
\ ."s:{s:PreviousToken() ==# 'await' ? 'Previous' : ''}Token() !=# 'for' || s:PreviousToken() == '.'")
|
||||||
return index(split('return const let import export extends yield default delete var await void typeof throw case new of in instanceof')
|
|
||||||
\ ,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])
|
let b:js_cache = get(b:,'js_cache',[0,0,0])
|
||||||
" 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)
|
||||||
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 +358,91 @@ 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)
|
||||||
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:Nat(indent(num)),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: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
|
let sol = matchstr(l:line,s:opfirst)
|
||||||
let bL = s:iscontOne(l:lnum,b:js_cache[1],isOp)
|
if sol is '' || sol == '/' && s:SynAt(v:lnum,
|
||||||
let bL -= (bL && l:line[0] == '{') * s:W
|
\ 1 + len(getline(v:lnum)) - len(l:line)) =~? 'regex'
|
||||||
|
if s:Continues(l:lnum,pline)
|
||||||
|
let is_op = s:sw()
|
||||||
|
endif
|
||||||
|
elseif num && sol =~# '^\%(in\%(stanceof\)\=\|\*\)$'
|
||||||
|
call call('cursor',b:js_cache[1:])
|
||||||
|
if s:PreviousToken() =~ '\k' && s:Class()
|
||||||
|
return num_ind + s:sw()
|
||||||
|
endif
|
||||||
|
let is_op = s:sw()
|
||||||
|
else
|
||||||
|
let is_op = s:sw()
|
||||||
|
endif
|
||||||
|
call cursor(l:lnum, len(pline))
|
||||||
|
let b_l = s:Nat(s:IsContOne(b:js_cache[1],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] == ')' && getline(num)[b:js_cache[2]-1] == '('
|
||||||
|
if s:ParseCino('M')
|
||||||
|
return indent(l:lnum)
|
||||||
|
elseif &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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -3,10 +3,11 @@
|
|||||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||||
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
|
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
|
||||||
" Original Author: Nikolai Weibull <now@bitwi.se>
|
" Original Author: Nikolai Weibull <now@bitwi.se>
|
||||||
" Latest Revision: 2017-05-02
|
" Latest Revision: 2017-08-08
|
||||||
" License: Vim (see :h license)
|
" License: Vim (see :h license)
|
||||||
" Repository: https://github.com/chrisbra/vim-sh-indent
|
" Repository: https://github.com/chrisbra/vim-sh-indent
|
||||||
" Changelog:
|
" Changelog:
|
||||||
|
" 20170808: - better indent of line continuation
|
||||||
" 20170502: - get rid of buffer-shiftwidth function
|
" 20170502: - get rid of buffer-shiftwidth function
|
||||||
" 20160912: - preserve indentation of here-doc blocks
|
" 20160912: - preserve indentation of here-doc blocks
|
||||||
" 20160627: - detect heredocs correctly
|
" 20160627: - detect heredocs correctly
|
||||||
@@ -117,7 +118,8 @@ function! GetShIndent()
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:is_continuation_line(line)
|
function! s:is_continuation_line(line)
|
||||||
return a:line =~ '\%(\%(^\|[^\\]\)\\\|&&\|||\)$'
|
return a:line =~ '\%(\%(^\|[^\\]\)\\\|&&\|||\||\)' .
|
||||||
|
\ '\s*\({\s*\)\=\(#.*\)\=$'
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:find_continued_lnum(lnum)
|
function! s:find_continued_lnum(lnum)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
" Language: Verilog HDL
|
" Language: Verilog HDL
|
||||||
" Maintainer: Chih-Tsun Huang <cthuang@cs.nthu.edu.tw>
|
" Maintainer: Chih-Tsun Huang <cthuang@cs.nthu.edu.tw>
|
||||||
" Last Change: 2017 Feb 24 by Chih-Tsun Huang
|
" Last Change: 2017 Aug 25 by Chih-Tsun Huang
|
||||||
" URL: http://www.cs.nthu.edu.tw/~cthuang/vim/indent/verilog.vim
|
" URL: http://www.cs.nthu.edu.tw/~cthuang/vim/indent/verilog.vim
|
||||||
"
|
"
|
||||||
" Credits:
|
" Credits:
|
||||||
@@ -25,7 +25,8 @@ let b:did_indent = 1
|
|||||||
setlocal indentexpr=GetVerilogIndent()
|
setlocal indentexpr=GetVerilogIndent()
|
||||||
setlocal indentkeys=!^F,o,O,0),=begin,=end,=join,=endcase
|
setlocal indentkeys=!^F,o,O,0),=begin,=end,=join,=endcase
|
||||||
setlocal indentkeys+==endmodule,=endfunction,=endtask,=endspecify
|
setlocal indentkeys+==endmodule,=endfunction,=endtask,=endspecify
|
||||||
setlocal indentkeys+==`else,=`endif
|
setlocal indentkeys+==endconfig,=endgenerate,=endprimitive,=endtable
|
||||||
|
setlocal indentkeys+==`else,=`elsif,=`endif
|
||||||
|
|
||||||
" Only define the function once.
|
" Only define the function once.
|
||||||
if exists("*GetVerilogIndent")
|
if exists("*GetVerilogIndent")
|
||||||
@@ -84,7 +85,9 @@ function GetVerilogIndent()
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" Indent after if/else/for/case/always/initial/specify/fork blocks
|
" Indent after if/else/for/case/always/initial/specify/fork blocks
|
||||||
elseif last_line =~ '`\@<!\<\(if\|else\)\>' ||
|
" Note: We exclude '`if' or '`else' and consider 'end else'
|
||||||
|
" 'end if' is redundant here
|
||||||
|
elseif last_line =~ '^\s*\(end\)\=\s*`\@<!\<\(if\|else\)\>' ||
|
||||||
\ last_line =~ '^\s*\<\(for\|case\%[[zx]]\)\>' ||
|
\ last_line =~ '^\s*\<\(for\|case\%[[zx]]\)\>' ||
|
||||||
\ last_line =~ '^\s*\<\(always\|initial\)\>' ||
|
\ last_line =~ '^\s*\<\(always\|initial\)\>' ||
|
||||||
\ last_line =~ '^\s*\<\(specify\|fork\)\>'
|
\ last_line =~ '^\s*\<\(specify\|fork\)\>'
|
||||||
@@ -93,8 +96,8 @@ function GetVerilogIndent()
|
|||||||
let ind = ind + offset
|
let ind = ind + offset
|
||||||
if vverb | echo vverb_str "Indent after a block statement." | endif
|
if vverb | echo vverb_str "Indent after a block statement." | endif
|
||||||
endif
|
endif
|
||||||
" Indent after function/task blocks
|
" Indent after function/task/config/generate/primitive/table blocks
|
||||||
elseif last_line =~ '^\s*\<\(function\|task\)\>'
|
elseif last_line =~ '^\s*\<\(function\|task\|config\|generate\|primitive\|table\)\>'
|
||||||
if last_line !~ '\<end\>\s*' . vlog_comment . '*$' ||
|
if last_line !~ '\<end\>\s*' . vlog_comment . '*$' ||
|
||||||
\ last_line =~ '\(//\|/\*\).*\(;\|\<end\>\)\s*' . vlog_comment . '*$'
|
\ last_line =~ '\(//\|/\*\).*\(;\|\<end\>\)\s*' . vlog_comment . '*$'
|
||||||
let ind = ind + offset
|
let ind = ind + offset
|
||||||
@@ -161,11 +164,11 @@ function GetVerilogIndent()
|
|||||||
let ind = ind - offset
|
let ind = ind - offset
|
||||||
if vverb | echo vverb_str "De-indent after a close statement." | endif
|
if vverb | echo vverb_str "De-indent after a close statement." | endif
|
||||||
|
|
||||||
" `ifdef and `else
|
" `ifdef or `ifndef or `elsif or `else
|
||||||
elseif last_line =~ '^\s*`\<\(ifdef\|else\)\>'
|
elseif last_line =~ '^\s*`\<\(ifn\?def\|elsif\|else\)\>'
|
||||||
let ind = ind + offset
|
let ind = ind + offset
|
||||||
if vverb
|
if vverb
|
||||||
echo vverb_str "Indent after a `ifdef or `else statement."
|
echo vverb_str "Indent after a `ifdef or `ifndef or `elsif or `else statement."
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
@@ -175,7 +178,8 @@ function GetVerilogIndent()
|
|||||||
" De-indent on the end of the block
|
" De-indent on the end of the block
|
||||||
" join/end/endcase/endfunction/endtask/endspecify
|
" join/end/endcase/endfunction/endtask/endspecify
|
||||||
if curr_line =~ '^\s*\<\(join\|end\|endcase\)\>' ||
|
if curr_line =~ '^\s*\<\(join\|end\|endcase\)\>' ||
|
||||||
\ curr_line =~ '^\s*\<\(endfunction\|endtask\|endspecify\)\>'
|
\ curr_line =~ '^\s*\<\(endfunction\|endtask\|endspecify\)\>' ||
|
||||||
|
\ curr_line =~ '^\s*\<\(endconfig\|endgenerate\|endprimitive\|endtable\)\>'
|
||||||
let ind = ind - offset
|
let ind = ind - offset
|
||||||
if vverb | echo vverb_str "De-indent the end of a block." | endif
|
if vverb | echo vverb_str "De-indent the end of a block." | endif
|
||||||
elseif curr_line =~ '^\s*\<endmodule\>'
|
elseif curr_line =~ '^\s*\<endmodule\>'
|
||||||
@@ -186,7 +190,7 @@ function GetVerilogIndent()
|
|||||||
|
|
||||||
" De-indent on a stand-alone 'begin'
|
" De-indent on a stand-alone 'begin'
|
||||||
elseif curr_line =~ '^\s*\<begin\>'
|
elseif curr_line =~ '^\s*\<begin\>'
|
||||||
if last_line !~ '^\s*\<\(function\|task\|specify\|module\)\>' &&
|
if last_line !~ '^\s*\<\(function\|task\|specify\|module\|config\|generate\|primitive\|table\)\>' &&
|
||||||
\ last_line !~ '^\s*\()*\s*;\|)\+\)\s*' . vlog_comment . '*$' &&
|
\ last_line !~ '^\s*\()*\s*;\|)\+\)\s*' . vlog_comment . '*$' &&
|
||||||
\ ( last_line =~
|
\ ( last_line =~
|
||||||
\ '\<\(`\@<!if\|`\@<!else\|for\|case\%[[zx]]\|always\|initial\)\>' ||
|
\ '\<\(`\@<!if\|`\@<!else\|for\|case\%[[zx]]\|always\|initial\)\>' ||
|
||||||
@@ -208,10 +212,10 @@ function GetVerilogIndent()
|
|||||||
echo vverb_str "De-indent the end of a multiple statement."
|
echo vverb_str "De-indent the end of a multiple statement."
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" De-indent `else and `endif
|
" De-indent `elsif or `else or `endif
|
||||||
elseif curr_line =~ '^\s*`\<\(else\|endif\)\>'
|
elseif curr_line =~ '^\s*`\<\(elsif\|else\|endif\)\>'
|
||||||
let ind = ind - offset
|
let ind = ind - offset
|
||||||
if vverb | echo vverb_str "De-indent `else and `endif statement." | endif
|
if vverb | echo vverb_str "De-indent `elsif or `else or `endif statement." | endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
" VHDL indent ('93 syntax)
|
" VHDL indent ('93 syntax)
|
||||||
" Language: VHDL
|
" Language: VHDL
|
||||||
" Maintainer: Gerald Lai <laigera+vim?gmail.com>
|
" Maintainer: Gerald Lai <laigera+vim?gmail.com>
|
||||||
" Version: 1.60
|
" Version: 1.62
|
||||||
" Last Change: 2017 Jun 13
|
" Last Change: 2017 Oct 17
|
||||||
" URL: http://www.vim.org/scripts/script.php?script_id=1450
|
" URL: http://www.vim.org/scripts/script.php?script_id=1450
|
||||||
|
|
||||||
" only load this indent file when no other was loaded
|
" only load this indent file when no other was loaded
|
||||||
@@ -412,11 +412,12 @@ function GetVHDLindent()
|
|||||||
|
|
||||||
" ****************************************************************************************
|
" ****************************************************************************************
|
||||||
" indent: maintain indent of previous opening statement
|
" indent: maintain indent of previous opening statement
|
||||||
" keywords: without "procedure", "generic", "map", "port" + ":" but not ":=" + eventually ;$
|
" keywords: without "procedure", "generic", "map", "port" + ":" but not ":=" + "in", "out", "inout", "buffer", "linkage", variable & ":="
|
||||||
" where: start of current line
|
" where: start of current line
|
||||||
if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*;.*$'
|
if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)'
|
||||||
return ind2
|
return ind2
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" ****************************************************************************************
|
" ****************************************************************************************
|
||||||
" indent: maintain indent of previous opening statement, corner case which
|
" indent: maintain indent of previous opening statement, corner case which
|
||||||
" does not end in ;, but is part of a mapping
|
" does not end in ;, but is part of a mapping
|
||||||
@@ -424,10 +425,10 @@ function GetVHDLindent()
|
|||||||
" prevline without "procedure", "generic", "map", "port" + ":" but not ":=" + eventually ;$
|
" prevline without "procedure", "generic", "map", "port" + ":" but not ":=" + eventually ;$
|
||||||
" where: start of current line
|
" where: start of current line
|
||||||
if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*[^;].*$'
|
if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*[^;].*$'
|
||||||
if prevs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*;.*$'
|
if prevs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*;.*$'
|
||||||
return ind2
|
return ind2
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" return leftover filtered indent
|
" return leftover filtered indent
|
||||||
return ind
|
return ind
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Menu translations for Catalan
|
" Menu translations for Catalan
|
||||||
"
|
"
|
||||||
" Maintainer: Ernest Adrogu<67> <eadrogue@gmx.net>
|
" Maintainer: Ernest Adrogu<67> <eadrogue@gmx.net>
|
||||||
" Last Change: 6 Jun 2008
|
" Last Change: 26 Jul 2017
|
||||||
"
|
"
|
||||||
|
|
||||||
" Quit when menu translations have already been done.
|
" Quit when menu translations have already been done.
|
||||||
@@ -70,9 +70,9 @@ menutrans Settings\ &Window Fin&estra\ d'opcions
|
|||||||
menutrans Startup\ &Settings Opcions\ i&nicials
|
menutrans Startup\ &Settings Opcions\ i&nicials
|
||||||
menutrans &Global\ Settings Opcions\ &globals
|
menutrans &Global\ Settings Opcions\ &globals
|
||||||
" submen<65> Edita/Opcions Globals
|
" submen<65> Edita/Opcions Globals
|
||||||
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Ressalt\ de\ &patrons<Tab>:set\ hls!
|
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Ressaltat\ de\ &patrons<Tab>:set\ hls!
|
||||||
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Sensibilitat\ a\ les\ ma&j<EFBFBD>scules<Tab>:set\ ic!
|
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Sensibilitat\ a\ les\ ma&j<EFBFBD>scules<Tab>:set\ ic!
|
||||||
menutrans Toggle\ &Showmatch<Tab>:set\ sm! &Ressalt\ de\ coincid<EFBFBD>ncies<Tab>:set\ sm!
|
menutrans Toggle\ &Showmatch<Tab>:set\ sm! &Ressaltat\ de\ coincid<EFBFBD>ncies<Tab>:set\ sm!
|
||||||
menutrans &Context\ lines L<EFBFBD>nies\ de\ co&ntext
|
menutrans &Context\ lines L<EFBFBD>nies\ de\ co&ntext
|
||||||
menutrans &Virtual\ Edit Edici<EFBFBD>\ &virtual
|
menutrans &Virtual\ Edit Edici<EFBFBD>\ &virtual
|
||||||
" submen<65> Edita/Opcions Globals/Edici<63> virtual
|
" submen<65> Edita/Opcions Globals/Edici<63> virtual
|
||||||
@@ -191,7 +191,7 @@ menutrans &Diff &Difer
|
|||||||
menutrans &Update &Actualitza
|
menutrans &Update &Actualitza
|
||||||
menutrans &Get\ Block &Obtingues\ un\ bloc
|
menutrans &Get\ Block &Obtingues\ un\ bloc
|
||||||
menutrans &Put\ Block &Posa\ un\ bloc
|
menutrans &Put\ Block &Posa\ un\ bloc
|
||||||
menutrans &Make<Tab>:make Crida\ a\ &make<Tab>:make
|
menutrans &Make<Tab>:make Crida\ &make<Tab>:make
|
||||||
menutrans &List\ Errors<Tab>:cl Llista\ d'&errors<Tab>:cl
|
menutrans &List\ Errors<Tab>:cl Llista\ d'&errors<Tab>:cl
|
||||||
menutrans L&ist\ Messages<Tab>:cl! &Llista\ de\ missatges<Tab>:cl!
|
menutrans L&ist\ Messages<Tab>:cl! &Llista\ de\ missatges<Tab>:cl!
|
||||||
menutrans &Next\ Error<Tab>:cn Error\ se&g<EFBFBD>ent<Tab>:cn
|
menutrans &Next\ Error<Tab>:cn Error\ se&g<EFBFBD>ent<Tab>:cn
|
||||||
@@ -203,8 +203,7 @@ menutrans Error\ &Window F&inestra\ d'errors
|
|||||||
menutrans &Update<Tab>:cwin &Actualitza<Tab>:cwin
|
menutrans &Update<Tab>:cwin &Actualitza<Tab>:cwin
|
||||||
menutrans &Open<Tab>:copen &Obre<Tab>:copen
|
menutrans &Open<Tab>:copen &Obre<Tab>:copen
|
||||||
menutrans &Close<Tab>:cclose &Tanca<Tab>:cclose
|
menutrans &Close<Tab>:cclose &Tanca<Tab>:cclose
|
||||||
menutrans &Set\ Compiler &Compilador
|
menutrans Se&t\ Compiler &Compilador
|
||||||
menutrans &SeT\ Compiler &Compilador
|
|
||||||
menutrans &Convert\ to\ HEX<Tab>:%!xxd Converteix\ a\ &HEX<Tab>:%!xxd
|
menutrans &Convert\ to\ HEX<Tab>:%!xxd Converteix\ a\ &HEX<Tab>:%!xxd
|
||||||
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Torna\ al\ format\ &original<Tab>:%!xxd\ -r
|
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Torna\ al\ format\ &original<Tab>:%!xxd\ -r
|
||||||
|
|
||||||
@@ -303,14 +302,14 @@ menutrans &Syntax &Sintaxi
|
|||||||
menutrans &Manual &Manual
|
menutrans &Manual &Manual
|
||||||
menutrans A&utomatic A&utom<EFBFBD>tica
|
menutrans A&utomatic A&utom<EFBFBD>tica
|
||||||
menutrans on/off\ for\ &This\ file Activa/Desactiva\ en\ &aquest\ fitxer
|
menutrans on/off\ for\ &This\ file Activa/Desactiva\ en\ &aquest\ fitxer
|
||||||
menutrans &Show\ filetypes\ in\ menu Mostra\ tots\ els\ &tipus\ al\ men<EFBFBD>
|
menutrans &Show\ File\ Types\ in\ Menu Mostra\ tots\ els\ &tipus\ al\ men<EFBFBD>
|
||||||
menutrans &Off &Desactiva
|
menutrans &Off &Desactiva
|
||||||
menutrans Co&lor\ test Prova\ dels\ &colors
|
menutrans Co&lor\ test Prova\ dels\ &colors
|
||||||
menutrans &Highlight\ test Prova\ del\ &ressalt
|
menutrans &Highlight\ test Prova\ del\ &ressaltat
|
||||||
menutrans &Convert\ to\ HTML Converteix\ a\ &HTML
|
menutrans &Convert\ to\ HTML Converteix\ a\ &HTML
|
||||||
menutrans Assembly Ensamblador
|
menutrans Assembly Ensamblador
|
||||||
menutrans Config Configuraci<EFBFBD>
|
menutrans Config Configuraci<EFBFBD>
|
||||||
menutrans Set\ '&syntax'\ only Nom<EFBFBD>s\ el\ ressalt\ de\ sintaxi
|
menutrans Set\ '&syntax'\ only Nom<EFBFBD>s\ el\ ressaltat\ de\ sintaxi
|
||||||
menutrans Set\ '&filetype'\ too Carrega\ tamb<EFBFBD>\ els\ plugins
|
menutrans Set\ '&filetype'\ too Carrega\ tamb<EFBFBD>\ els\ plugins
|
||||||
|
|
||||||
let &cpo = s:keepcpo
|
let &cpo = s:keepcpo
|
||||||
|
|||||||
153
runtime/menu.vim
153
runtime/menu.vim
@@ -2,7 +2,7 @@
|
|||||||
" You can also use this as a start for your own set of menus.
|
" You can also use this as a start for your own set of menus.
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2017 Mar 04
|
" Last Change: 2017 Nov 09
|
||||||
|
|
||||||
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
||||||
" in all modes and avoid side effects from mappings defined by the user.
|
" in all modes and avoid side effects from mappings defined by the user.
|
||||||
@@ -159,7 +159,7 @@ nnoremenu 20.370 &Edit.Put\ &Before<Tab>[p [p
|
|||||||
inoremenu &Edit.Put\ &Before<Tab>[p <C-O>[p
|
inoremenu &Edit.Put\ &Before<Tab>[p <C-O>[p
|
||||||
nnoremenu 20.380 &Edit.Put\ &After<Tab>]p ]p
|
nnoremenu 20.380 &Edit.Put\ &After<Tab>]p ]p
|
||||||
inoremenu &Edit.Put\ &After<Tab>]p <C-O>]p
|
inoremenu &Edit.Put\ &After<Tab>]p <C-O>]p
|
||||||
if has("win32") || has("win16")
|
if has("win32")
|
||||||
vnoremenu 20.390 &Edit.&Delete<Tab>x x
|
vnoremenu 20.390 &Edit.&Delete<Tab>x x
|
||||||
endif
|
endif
|
||||||
noremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG :<C-U>call <SID>SelectAll()<CR>
|
noremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG :<C-U>call <SID>SelectAll()<CR>
|
||||||
@@ -167,7 +167,7 @@ inoremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG <C-O>:call <SID>S
|
|||||||
cnoremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG <C-U>call <SID>SelectAll()<CR>
|
cnoremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG <C-U>call <SID>SelectAll()<CR>
|
||||||
|
|
||||||
an 20.405 &Edit.-SEP2- <Nop>
|
an 20.405 &Edit.-SEP2- <Nop>
|
||||||
if has("win32") || has("win16") || has("gui_gtk") || has("gui_kde") || has("gui_motif")
|
if has("win32") || has("gui_gtk") || has("gui_kde") || has("gui_motif")
|
||||||
an 20.410 &Edit.&Find\.\.\. :promptfind<CR>
|
an 20.410 &Edit.&Find\.\.\. :promptfind<CR>
|
||||||
vunmenu &Edit.&Find\.\.\.
|
vunmenu &Edit.&Find\.\.\.
|
||||||
vnoremenu <silent> &Edit.&Find\.\.\. y:promptfind <C-R>=<SID>FixFText()<CR><CR>
|
vnoremenu <silent> &Edit.&Find\.\.\. y:promptfind <C-R>=<SID>FixFText()<CR><CR>
|
||||||
@@ -339,51 +339,65 @@ fun! s:FileFormat()
|
|||||||
endif
|
endif
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
|
let s:did_setup_color_schemes = 0
|
||||||
|
|
||||||
" Setup the Edit.Color Scheme submenu
|
" Setup the Edit.Color Scheme submenu
|
||||||
|
func! s:SetupColorSchemes() abort
|
||||||
|
if s:did_setup_color_schemes
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let s:did_setup_color_schemes = 1
|
||||||
|
|
||||||
" get NL separated string with file names
|
let n = globpath(&runtimepath, "colors/*.vim", 1, 1)
|
||||||
let s:n = globpath(&runtimepath, "colors/*.vim")
|
|
||||||
|
|
||||||
" split at NL, Ignore case for VMS and windows, sort on name
|
" Ignore case for VMS and windows, sort on name
|
||||||
let s:names = sort(map(split(s:n, "\n"), 'substitute(v:val, "\\c.*[/\\\\:\\]]\\([^/\\\\:]*\\)\\.vim", "\\1", "")'), 1)
|
let names = sort(map(n, 'substitute(v:val, "\\c.*[/\\\\:\\]]\\([^/\\\\:]*\\)\\.vim", "\\1", "")'), 1)
|
||||||
|
|
||||||
" define all the submenu entries
|
" define all the submenu entries
|
||||||
let s:idx = 100
|
let idx = 100
|
||||||
for s:name in s:names
|
for name in names
|
||||||
exe "an 20.450." . s:idx . ' &Edit.C&olor\ Scheme.' . s:name . " :colors " . s:name . "<CR>"
|
exe "an 20.450." . idx . ' &Edit.C&olor\ Scheme.' . name . " :colors " . name . "<CR>"
|
||||||
let s:idx = s:idx + 10
|
let idx = idx + 10
|
||||||
endfor
|
endfor
|
||||||
unlet s:name s:names s:n s:idx
|
silent! aunmenu &Edit.Show\ C&olor\ Schemes\ in\ Menu
|
||||||
|
endfun
|
||||||
|
if exists("do_no_lazyload_menus")
|
||||||
|
call s:SetupColorSchemes()
|
||||||
|
else
|
||||||
|
an <silent> 20.450 &Edit.Show\ C&olor\ Schemes\ in\ Menu :call <SID>SetupColorSchemes()<CR>
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
" Setup the Edit.Keymap submenu
|
" Setup the Edit.Keymap submenu
|
||||||
if has("keymap")
|
if has("keymap")
|
||||||
let s:n = globpath(&runtimepath, "keymap/*.vim")
|
let s:did_setup_keymaps = 0
|
||||||
if s:n != ""
|
|
||||||
let s:idx = 100
|
func! s:SetupKeymaps() abort
|
||||||
an 20.460.90 &Edit.&Keymap.None :set keymap=<CR>
|
if s:did_setup_keymaps
|
||||||
while strlen(s:n) > 0
|
return
|
||||||
let s:i = stridx(s:n, "\n")
|
endif
|
||||||
if s:i < 0
|
let s:did_setup_keymaps = 1
|
||||||
let s:name = s:n
|
|
||||||
let s:n = ""
|
let n = globpath(&runtimepath, "keymap/*.vim", 1, 1)
|
||||||
else
|
if !empty(n)
|
||||||
let s:name = strpart(s:n, 0, s:i)
|
let idx = 100
|
||||||
let s:n = strpart(s:n, s:i + 1, 19999)
|
an 20.460.90 &Edit.&Keymap.None :set keymap=<CR>
|
||||||
endif
|
for name in n
|
||||||
" Ignore case for VMS and windows
|
" Ignore case for VMS and windows
|
||||||
let s:name = substitute(s:name, '\c.*[/\\:\]]\([^/\\:_]*\)\(_[0-9a-zA-Z-]*\)\=\.vim', '\1', '')
|
let name = substitute(name, '\c.*[/\\:\]]\([^/\\:_]*\)\(_[0-9a-zA-Z-]*\)\=\.vim', '\1', '')
|
||||||
exe "an 20.460." . s:idx . ' &Edit.&Keymap.' . s:name . " :set keymap=" . s:name . "<CR>"
|
exe "an 20.460." . idx . ' &Edit.&Keymap.' . name . " :set keymap=" . name . "<CR>"
|
||||||
unlet s:name
|
let idx = idx + 10
|
||||||
unlet s:i
|
endfor
|
||||||
let s:idx = s:idx + 10
|
endif
|
||||||
endwhile
|
silent! aunmenu &Edit.Show\ &Keymaps\ in\ Menu
|
||||||
unlet s:idx
|
endfun
|
||||||
|
if exists("do_no_lazyload_menus")
|
||||||
|
call s:SetupKeymaps()
|
||||||
|
else
|
||||||
|
an <silent> 20.460 &Edit.Show\ &Keymaps\ in\ Menu :call <SID>SetupKeymaps()<CR>
|
||||||
endif
|
endif
|
||||||
unlet s:n
|
|
||||||
endif
|
endif
|
||||||
if has("win32") || has("win16") || has("gui_motif") || has("gui_gtk") || has("gui_kde") || has("gui_photon") || has("gui_mac")
|
if has("win32") || has("gui_motif") || has("gui_gtk") || has("gui_kde") || has("gui_photon") || has("gui_mac")
|
||||||
an 20.470 &Edit.Select\ Fo&nt\.\.\. :set guifont=*<CR>
|
an 20.470 &Edit.Select\ Fo&nt\.\.\. :set guifont=*<CR>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -441,10 +455,10 @@ if has("spell")
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
let found = 0
|
let found = 0
|
||||||
let s = globpath(&rtp, "spell/*." . enc . ".spl")
|
let s = globpath(&runtimepath, "spell/*." . enc . ".spl", 1, 1)
|
||||||
if s != ""
|
if !empty(s)
|
||||||
let n = 300
|
let n = 300
|
||||||
for f in split(s, "\n")
|
for f in s
|
||||||
let nm = substitute(f, '.*spell[/\\]\(..\)\.[^/\\]*\.spl', '\1', "")
|
let nm = substitute(f, '.*spell[/\\]\(..\)\.[^/\\]*\.spl', '\1', "")
|
||||||
if nm != "en" && nm !~ '/'
|
if nm != "en" && nm !~ '/'
|
||||||
let _nm = nm
|
let _nm = nm
|
||||||
@@ -574,27 +588,46 @@ func! s:XxdFind()
|
|||||||
endif
|
endif
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
|
let s:did_setup_compilers = 0
|
||||||
|
|
||||||
" Setup the Tools.Compiler submenu
|
" Setup the Tools.Compiler submenu
|
||||||
let s:n = globpath(&runtimepath, "compiler/*.vim")
|
func! s:SetupCompilers() abort
|
||||||
let s:idx = 100
|
if s:did_setup_compilers
|
||||||
while strlen(s:n) > 0
|
return
|
||||||
let s:i = stridx(s:n, "\n")
|
|
||||||
if s:i < 0
|
|
||||||
let s:name = s:n
|
|
||||||
let s:n = ""
|
|
||||||
else
|
|
||||||
let s:name = strpart(s:n, 0, s:i)
|
|
||||||
let s:n = strpart(s:n, s:i + 1, 19999)
|
|
||||||
endif
|
endif
|
||||||
" Ignore case for VMS and windows
|
let s:did_setup_compilers = 1
|
||||||
let s:name = substitute(s:name, '\c.*[/\\:\]]\([^/\\:]*\)\.vim', '\1', '')
|
|
||||||
exe "an 30.440." . s:idx . ' &Tools.Se&t\ Compiler.' . s:name . " :compiler " . s:name . "<CR>"
|
let n = globpath(&runtimepath, "compiler/*.vim", 1, 1)
|
||||||
unlet s:name
|
let idx = 100
|
||||||
unlet s:i
|
for name in n
|
||||||
let s:idx = s:idx + 10
|
" Ignore case for VMS and windows
|
||||||
endwhile
|
let name = substitute(name, '\c.*[/\\:\]]\([^/\\:]*\)\.vim', '\1', '')
|
||||||
unlet s:n
|
exe "an 30.440." . idx . ' &Tools.Se&t\ Compiler.' . name . " :compiler " . name . "<CR>"
|
||||||
unlet s:idx
|
let idx = idx + 10
|
||||||
|
endfor
|
||||||
|
silent! aunmenu &Tools.Show\ Compiler\ Se&ttings\ in\ Menu
|
||||||
|
endfun
|
||||||
|
if exists("do_no_lazyload_menus")
|
||||||
|
call s:SetupCompilers()
|
||||||
|
else
|
||||||
|
an <silent> 30.440 &Tools.Show\ Compiler\ Se&ttings\ in\ Menu :call <SID>SetupCompilers()<CR>
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Load ColorScheme, Compiler Setting and Keymap menus when idle.
|
||||||
|
if !exists("do_no_lazyload_menus")
|
||||||
|
func! s:SetupLazyloadMenus()
|
||||||
|
call s:SetupColorSchemes()
|
||||||
|
call s:SetupCompilers()
|
||||||
|
if has("keymap")
|
||||||
|
call s:SetupKeymaps()
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
augroup SetupLazyloadMenus
|
||||||
|
au!
|
||||||
|
au CursorHold,CursorHoldI * call <SID>SetupLazyloadMenus() | au! SetupLazyloadMenus
|
||||||
|
augroup END
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
if !exists("no_buffers_menu")
|
if !exists("no_buffers_menu")
|
||||||
|
|
||||||
@@ -1095,7 +1128,7 @@ if (exists("did_load_filetypes") || exists("syntax_on"))
|
|||||||
if exists("do_syntax_sel_menu")
|
if exists("do_syntax_sel_menu")
|
||||||
runtime! synmenu.vim
|
runtime! synmenu.vim
|
||||||
else
|
else
|
||||||
an 50.10 &Syntax.&Show\ File\ Types\ in\ Menu :let do_syntax_sel_menu = 1<Bar>runtime! synmenu.vim<Bar>aunmenu &Syntax.&Show\ File\ Types\ in\ Menu<CR>
|
an <silent> 50.10 &Syntax.&Show\ File\ Types\ in\ Menu :let do_syntax_sel_menu = 1<Bar>runtime! synmenu.vim<Bar>aunmenu &Syntax.&Show\ File\ Types\ in\ Menu<CR>
|
||||||
an 50.195 &Syntax.-SEP1- <Nop>
|
an 50.195 &Syntax.-SEP1- <Nop>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Set options and add mapping such that Vim behaves a lot like MS-Windows
|
" Set options and add mapping such that Vim behaves a lot like MS-Windows
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last change: 2017 Feb 09
|
" Last change: 2017 Oct 28
|
||||||
|
|
||||||
" bail out if this isn't wanted (mrsvim.vim uses this).
|
" bail out if this isn't wanted (mrsvim.vim uses this).
|
||||||
if exists("g:skip_loading_mswin") && g:skip_loading_mswin
|
if exists("g:skip_loading_mswin") && g:skip_loading_mswin
|
||||||
@@ -105,14 +105,15 @@ onoremap <C-F4> <C-C><C-W>c
|
|||||||
|
|
||||||
if has("gui")
|
if has("gui")
|
||||||
" CTRL-F is the search dialog
|
" CTRL-F is the search dialog
|
||||||
noremap <C-F> :promptfind<CR>
|
noremap <expr> <C-F> has("gui_running") ? ":promptfind\<CR>" : "/"
|
||||||
inoremap <C-F> <C-\><C-O>:promptfind<CR>
|
inoremap <expr> <C-F> has("gui_running") ? "\<C-\>\<C-O>:promptfind\<CR>" : "\<C-\>\<C-O>/"
|
||||||
cnoremap <C-F> <C-\><C-C>:promptfind<CR>
|
cnoremap <expr> <C-F> has("gui_running") ? "\<C-\>\<C-C>:promptfind\<CR>" : "\<C-\>\<C-O>/"
|
||||||
|
|
||||||
" CTRL-H is the replace dialog
|
" CTRL-H is the replace dialog,
|
||||||
noremap <C-H> :promptrepl<CR>
|
" but in console, it might be backspace, so don't map it there
|
||||||
inoremap <C-H> <C-\><C-O>:promptrepl<CR>
|
nnoremap <expr> <C-H> has("gui_running") ? ":promptrepl\<CR>" : "\<C-H>"
|
||||||
cnoremap <C-H> <C-\><C-C>:promptrepl<CR>
|
inoremap <expr> <C-H> has("gui_running") ? "\<C-\>\<C-O>:promptrepl\<CR>" : "\<C-H>"
|
||||||
|
cnoremap <expr> <C-H> has("gui_running") ? "\<C-\>\<C-C>:promptrepl\<CR>" : "\<C-H>"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" restore 'cpoptions'
|
" restore 'cpoptions'
|
||||||
|
|||||||
@@ -1,20 +1,17 @@
|
|||||||
" These commands create the option window.
|
" These commands create the option window.
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2017 Mar 06
|
" Last Change: 2017 Nov 21
|
||||||
|
|
||||||
" If there already is an option window, jump to that one.
|
" If there already is an option window, jump to that one.
|
||||||
if bufwinnr("option-window") > 0
|
let buf = bufnr('option-window')
|
||||||
let s:thiswin = winnr()
|
if buf >= 0
|
||||||
while 1
|
let winids = win_findbuf(buf)
|
||||||
if @% == "option-window"
|
if len(winids) > 0
|
||||||
|
if win_gotoid(winids[0]) == 1
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
wincmd w
|
endif
|
||||||
if s:thiswin == winnr()
|
|
||||||
break
|
|
||||||
endif
|
|
||||||
endwhile
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Make sure the '<' flag is not included in 'cpoptions', otherwise <CR> would
|
" Make sure the '<' flag is not included in 'cpoptions', otherwise <CR> would
|
||||||
@@ -141,8 +138,8 @@ while exists("b:current_syntax") && b:current_syntax == "help"
|
|||||||
endif
|
endif
|
||||||
endwhile
|
endwhile
|
||||||
|
|
||||||
" Open the window
|
" Open the window. $OPTWIN_CMD is set to "tab" for ":tab options".
|
||||||
new option-window
|
exe $OPTWIN_CMD . ' new option-window'
|
||||||
setlocal ts=15 tw=0 noro buftype=nofile
|
setlocal ts=15 tw=0 noro buftype=nofile
|
||||||
|
|
||||||
" Insert help and a "set" command for each option.
|
" Insert help and a "set" command for each option.
|
||||||
@@ -506,6 +503,18 @@ if has("cursorbind")
|
|||||||
call append("$", "\t(local to window)")
|
call append("$", "\t(local to window)")
|
||||||
call <SID>BinOptionL("crb")
|
call <SID>BinOptionL("crb")
|
||||||
endif
|
endif
|
||||||
|
if has("terminal")
|
||||||
|
call append("$", "termsize\tsize of a terminal window")
|
||||||
|
call append("$", "\t(local to window)")
|
||||||
|
call <SID>OptionL("tms")
|
||||||
|
call append("$", "termkey\tkey that precedes Vim commands in a terminal window")
|
||||||
|
call append("$", "\t(local to window)")
|
||||||
|
call <SID>OptionL("tk")
|
||||||
|
if exists("&winptydll")
|
||||||
|
call append("$", "winptydll\tname of the winpty dynamic library")
|
||||||
|
call <SID>OptionG("winptydll", &winptydll)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
call <SID>Header("multiple tab pages")
|
call <SID>Header("multiple tab pages")
|
||||||
@@ -638,11 +647,17 @@ if has("gui")
|
|||||||
endif
|
endif
|
||||||
call append("$", "linespace\tnumber of pixel lines to use between characters")
|
call append("$", "linespace\tnumber of pixel lines to use between characters")
|
||||||
call append("$", " \tset lsp=" . &lsp)
|
call append("$", " \tset lsp=" . &lsp)
|
||||||
if has("balloon_eval")
|
if has("balloon_eval") || has("balloon_eval_term")
|
||||||
call append("$", "balloondelay\tdelay in milliseconds before a balloon may pop up")
|
call append("$", "balloondelay\tdelay in milliseconds before a balloon may pop up")
|
||||||
call append("$", " \tset bdlay=" . &bdlay)
|
call append("$", " \tset bdlay=" . &bdlay)
|
||||||
call append("$", "ballooneval\twhether the balloon evaluation is to be used")
|
if has("balloon_eval")
|
||||||
call <SID>BinOptionG("beval", &beval)
|
call append("$", "ballooneval\tuse balloon evaluation in the GUI")
|
||||||
|
call <SID>BinOptionG("beval", &beval)
|
||||||
|
endif
|
||||||
|
if has("balloon_eval_term")
|
||||||
|
call append("$", "balloonevalterm\tuse balloon evaluation in the terminal")
|
||||||
|
call <SID>BinOptionG("bevalterm", &beval)
|
||||||
|
endif
|
||||||
if has("eval")
|
if has("eval")
|
||||||
call append("$", "balloonexpr\texpression to show in balloon eval")
|
call append("$", "balloonexpr\texpression to show in balloon eval")
|
||||||
call append("$", " \tset bexpr=" . &bexpr)
|
call append("$", " \tset bexpr=" . &bexpr)
|
||||||
@@ -1216,6 +1231,8 @@ endif
|
|||||||
call append("$", "iminsert\tin Insert mode: 1: use :lmap; 2: use IM; 0: neither")
|
call append("$", "iminsert\tin Insert mode: 1: use :lmap; 2: use IM; 0: neither")
|
||||||
call append("$", "\t(local to window)")
|
call append("$", "\t(local to window)")
|
||||||
call <SID>OptionL("imi")
|
call <SID>OptionL("imi")
|
||||||
|
call append("$", "imstyle\tinput method style, 0: on-the-spot, 1: over-the-spot")
|
||||||
|
call <SID>OptionG("imst", &imst)
|
||||||
call append("$", "imsearch\tentering a search pattern: 1: use :lmap; 2: use IM; 0: neither")
|
call append("$", "imsearch\tentering a search pattern: 1: use :lmap; 2: use IM; 0: neither")
|
||||||
call append("$", "\t(local to window)")
|
call append("$", "\t(local to window)")
|
||||||
call <SID>OptionL("ims")
|
call <SID>OptionL("ims")
|
||||||
@@ -1296,6 +1313,8 @@ endif
|
|||||||
if has("viminfo")
|
if has("viminfo")
|
||||||
call append("$", "viminfo\tlist that specifies what to write in the viminfo file")
|
call append("$", "viminfo\tlist that specifies what to write in the viminfo file")
|
||||||
call <SID>OptionG("vi", &vi)
|
call <SID>OptionG("vi", &vi)
|
||||||
|
call append("$", "viminfofile\tfile name used for the viminfo file")
|
||||||
|
call <SID>OptionG("vif", &vif)
|
||||||
endif
|
endif
|
||||||
if has("quickfix")
|
if has("quickfix")
|
||||||
call append("$", "bufhidden\twhat happens with a buffer when it's no longer in a window")
|
call append("$", "bufhidden\twhat happens with a buffer when it's no longer in a window")
|
||||||
@@ -1347,6 +1366,12 @@ if exists("&tcldll")
|
|||||||
call append("$", "tcldll\tname of the Tcl dynamic library")
|
call append("$", "tcldll\tname of the Tcl dynamic library")
|
||||||
call <SID>OptionG("tcldll", &tcldll)
|
call <SID>OptionG("tcldll", &tcldll)
|
||||||
endif
|
endif
|
||||||
|
if exists("&mzschemedll")
|
||||||
|
call append("$", "mzschemedll\tname of the Tcl dynamic library")
|
||||||
|
call <SID>OptionG("mzschemedll", &mzschemedll)
|
||||||
|
call append("$", "mzschemegcdll\tname of the Tcl GC dynamic library")
|
||||||
|
call <SID>OptionG("mzschemegcdll", &mzschemegcdll)
|
||||||
|
endif
|
||||||
|
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
" matchit.vim: (global plugin) Extended "%" matching
|
" matchit.vim: (global plugin) Extended "%" matching
|
||||||
" Last Change: 2017 March 26
|
" Last Change: 2017 Sep 15
|
||||||
" Maintainer: Benji Fisher PhD <benji@member.AMS.org>
|
" Maintainer: Benji Fisher PhD <benji@member.AMS.org>
|
||||||
" Version: 1.13.3, for Vim 6.3+
|
" Version: 1.13.3, for Vim 6.3+
|
||||||
" Fix from Fernando Torres included.
|
" Fix from Fernando Torres included.
|
||||||
@@ -704,9 +704,8 @@ fun! s:MultiMatch(spflag, mode)
|
|||||||
let skip = 's:comment\|string'
|
let skip = 's:comment\|string'
|
||||||
endif
|
endif
|
||||||
let skip = s:ParseSkip(skip)
|
let skip = s:ParseSkip(skip)
|
||||||
" let restore_cursor = line(".") . "G" . virtcol(".") . "|"
|
" save v:count1 variable, might be reset from the restore_cursor command
|
||||||
" normal! H
|
let level = v:count1
|
||||||
" let restore_cursor = "normal!" . line(".") . "Gzt" . restore_cursor
|
|
||||||
let restore_cursor = virtcol(".") . "|"
|
let restore_cursor = virtcol(".") . "|"
|
||||||
normal! g0
|
normal! g0
|
||||||
let restore_cursor = line(".") . "G" . virtcol(".") . "|zs" . restore_cursor
|
let restore_cursor = line(".") . "G" . virtcol(".") . "|zs" . restore_cursor
|
||||||
@@ -726,7 +725,6 @@ fun! s:MultiMatch(spflag, mode)
|
|||||||
execute "if " . skip . "| let skip = '0' | endif"
|
execute "if " . skip . "| let skip = '0' | endif"
|
||||||
endif
|
endif
|
||||||
mark '
|
mark '
|
||||||
let level = v:count1
|
|
||||||
while level
|
while level
|
||||||
if searchpair(openpat, '', closepat, a:spflag, skip) < 1
|
if searchpair(openpat, '', closepat, a:spflag, skip) < 1
|
||||||
call s:CleanUp(restore_options, a:mode, startline, startcol)
|
call s:CleanUp(restore_options, a:mode, startline, startcol)
|
||||||
|
|||||||
484
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
vendored
Normal file
484
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
vendored
Normal file
@@ -0,0 +1,484 @@
|
|||||||
|
" Debugger plugin using gdb.
|
||||||
|
"
|
||||||
|
" WORK IN PROGRESS - much doesn't work yet
|
||||||
|
"
|
||||||
|
" Open two visible terminal windows:
|
||||||
|
" 1. run a pty, as with ":term NONE"
|
||||||
|
" 2. run gdb, passing the pty
|
||||||
|
" The current window is used to view source code and follows gdb.
|
||||||
|
"
|
||||||
|
" A third terminal window is hidden, it is used for communication with gdb.
|
||||||
|
"
|
||||||
|
" The communication with gdb uses GDB/MI. See:
|
||||||
|
" https://sourceware.org/gdb/current/onlinedocs/gdb/GDB_002fMI.html
|
||||||
|
"
|
||||||
|
" Author: Bram Moolenaar
|
||||||
|
" Copyright: Vim license applies, see ":help license"
|
||||||
|
|
||||||
|
" In case this gets loaded twice.
|
||||||
|
if exists(':Termdebug')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Uncomment this line to write logging in "debuglog".
|
||||||
|
" call ch_logfile('debuglog', 'w')
|
||||||
|
|
||||||
|
" The command that starts debugging, e.g. ":Termdebug vim".
|
||||||
|
" To end type "quit" in the gdb window.
|
||||||
|
command -nargs=* -complete=file Termdebug call s:StartDebug(<q-args>)
|
||||||
|
|
||||||
|
" Name of the gdb command, defaults to "gdb".
|
||||||
|
if !exists('termdebugger')
|
||||||
|
let termdebugger = 'gdb'
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:pc_id = 12
|
||||||
|
let s:break_id = 13
|
||||||
|
let s:stopped = 1
|
||||||
|
|
||||||
|
if &background == 'light'
|
||||||
|
hi default debugPC term=reverse ctermbg=lightblue guibg=lightblue
|
||||||
|
else
|
||||||
|
hi default debugPC term=reverse ctermbg=darkblue guibg=darkblue
|
||||||
|
endif
|
||||||
|
hi default debugBreakpoint term=reverse ctermbg=red guibg=red
|
||||||
|
|
||||||
|
func s:StartDebug(cmd)
|
||||||
|
let s:startwin = win_getid(winnr())
|
||||||
|
let s:startsigncolumn = &signcolumn
|
||||||
|
|
||||||
|
let s:save_columns = 0
|
||||||
|
if exists('g:termdebug_wide')
|
||||||
|
if &columns < g:termdebug_wide
|
||||||
|
let s:save_columns = &columns
|
||||||
|
let &columns = g:termdebug_wide
|
||||||
|
endif
|
||||||
|
let vertical = 1
|
||||||
|
else
|
||||||
|
let vertical = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Open a terminal window without a job, to run the debugged program
|
||||||
|
let s:ptybuf = term_start('NONE', {
|
||||||
|
\ 'term_name': 'gdb program',
|
||||||
|
\ 'vertical': vertical,
|
||||||
|
\ })
|
||||||
|
if s:ptybuf == 0
|
||||||
|
echoerr 'Failed to open the program terminal window'
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let pty = job_info(term_getjob(s:ptybuf))['tty_out']
|
||||||
|
let s:ptywin = win_getid(winnr())
|
||||||
|
if vertical
|
||||||
|
" Assuming the source code window will get a signcolumn, use two more
|
||||||
|
" columns for that, thus one less for the terminal window.
|
||||||
|
exe (&columns / 2 - 1) . "wincmd |"
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Create a hidden terminal window to communicate with gdb
|
||||||
|
let s:commbuf = term_start('NONE', {
|
||||||
|
\ 'term_name': 'gdb communication',
|
||||||
|
\ 'out_cb': function('s:CommOutput'),
|
||||||
|
\ 'hidden': 1,
|
||||||
|
\ })
|
||||||
|
if s:commbuf == 0
|
||||||
|
echoerr 'Failed to open the communication terminal window'
|
||||||
|
exe 'bwipe! ' . s:ptybuf
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let commpty = job_info(term_getjob(s:commbuf))['tty_out']
|
||||||
|
|
||||||
|
" Open a terminal window to run the debugger.
|
||||||
|
" Add -quiet to avoid the intro message causing a hit-enter prompt.
|
||||||
|
let cmd = [g:termdebugger, '-quiet', '-tty', pty, a:cmd]
|
||||||
|
echomsg 'executing "' . join(cmd) . '"'
|
||||||
|
let s:gdbbuf = term_start(cmd, {
|
||||||
|
\ 'exit_cb': function('s:EndDebug'),
|
||||||
|
\ 'term_finish': 'close',
|
||||||
|
\ })
|
||||||
|
if s:gdbbuf == 0
|
||||||
|
echoerr 'Failed to open the gdb terminal window'
|
||||||
|
exe 'bwipe! ' . s:ptybuf
|
||||||
|
exe 'bwipe! ' . s:commbuf
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let s:gdbwin = win_getid(winnr())
|
||||||
|
|
||||||
|
" Connect gdb to the communication pty, using the GDB/MI interface
|
||||||
|
" If you get an error "undefined command" your GDB is too old.
|
||||||
|
call term_sendkeys(s:gdbbuf, 'new-ui mi ' . commpty . "\r")
|
||||||
|
|
||||||
|
" Interpret commands while the target is running. This should usualy only be
|
||||||
|
" exec-interrupt, since many commands don't work properly while the target is
|
||||||
|
" running.
|
||||||
|
call s:SendCommand('-gdb-set mi-async on')
|
||||||
|
|
||||||
|
" Sign used to highlight the line where the program has stopped.
|
||||||
|
" There can be only one.
|
||||||
|
sign define debugPC linehl=debugPC
|
||||||
|
|
||||||
|
" Sign used to indicate a breakpoint.
|
||||||
|
" Can be used multiple times.
|
||||||
|
sign define debugBreakpoint text=>> texthl=debugBreakpoint
|
||||||
|
|
||||||
|
" Install debugger commands in the text window.
|
||||||
|
call win_gotoid(s:startwin)
|
||||||
|
call s:InstallCommands()
|
||||||
|
call win_gotoid(s:gdbwin)
|
||||||
|
|
||||||
|
" Enable showing a balloon with eval info
|
||||||
|
if has("balloon_eval") || has("balloon_eval_term")
|
||||||
|
set balloonexpr=TermDebugBalloonExpr()
|
||||||
|
if has("balloon_eval")
|
||||||
|
set ballooneval
|
||||||
|
endif
|
||||||
|
if has("balloon_eval_term")
|
||||||
|
set balloonevalterm
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:breakpoints = {}
|
||||||
|
|
||||||
|
augroup TermDebug
|
||||||
|
au BufRead * call s:BufRead()
|
||||||
|
au BufUnload * call s:BufUnloaded()
|
||||||
|
augroup END
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func s:EndDebug(job, status)
|
||||||
|
exe 'bwipe! ' . s:ptybuf
|
||||||
|
exe 'bwipe! ' . s:commbuf
|
||||||
|
|
||||||
|
let curwinid = win_getid(winnr())
|
||||||
|
|
||||||
|
call win_gotoid(s:startwin)
|
||||||
|
let &signcolumn = s:startsigncolumn
|
||||||
|
call s:DeleteCommands()
|
||||||
|
|
||||||
|
call win_gotoid(curwinid)
|
||||||
|
if s:save_columns > 0
|
||||||
|
let &columns = s:save_columns
|
||||||
|
endif
|
||||||
|
|
||||||
|
if has("balloon_eval") || has("balloon_eval_term")
|
||||||
|
set balloonexpr=
|
||||||
|
if has("balloon_eval")
|
||||||
|
set noballooneval
|
||||||
|
endif
|
||||||
|
if has("balloon_eval_term")
|
||||||
|
set noballoonevalterm
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
au! TermDebug
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Handle a message received from gdb on the GDB/MI interface.
|
||||||
|
func s:CommOutput(chan, msg)
|
||||||
|
let msgs = split(a:msg, "\r")
|
||||||
|
|
||||||
|
for msg in msgs
|
||||||
|
" remove prefixed NL
|
||||||
|
if msg[0] == "\n"
|
||||||
|
let msg = msg[1:]
|
||||||
|
endif
|
||||||
|
if msg != ''
|
||||||
|
if msg =~ '^\(\*stopped\|\*running\|=thread-selected\)'
|
||||||
|
call s:HandleCursor(msg)
|
||||||
|
elseif msg =~ '^\^done,bkpt=' || msg =~ '^=breakpoint-created,'
|
||||||
|
call s:HandleNewBreakpoint(msg)
|
||||||
|
elseif msg =~ '^=breakpoint-deleted,'
|
||||||
|
call s:HandleBreakpointDelete(msg)
|
||||||
|
elseif msg =~ '^\^done,value='
|
||||||
|
call s:HandleEvaluate(msg)
|
||||||
|
elseif msg =~ '^\^error,msg='
|
||||||
|
call s:HandleError(msg)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Install commands in the current window to control the debugger.
|
||||||
|
func s:InstallCommands()
|
||||||
|
command Break call s:SetBreakpoint()
|
||||||
|
command Delete call s:DeleteBreakpoint()
|
||||||
|
command Step call s:SendCommand('-exec-step')
|
||||||
|
command Over call s:SendCommand('-exec-next')
|
||||||
|
command Finish call s:SendCommand('-exec-finish')
|
||||||
|
command -nargs=* Run call s:Run(<q-args>)
|
||||||
|
command -nargs=* Arguments call s:SendCommand('-exec-arguments ' . <q-args>)
|
||||||
|
command Stop call s:SendCommand('-exec-interrupt')
|
||||||
|
command Continue call s:SendCommand('-exec-continue')
|
||||||
|
command -range -nargs=* Evaluate call s:Evaluate(<range>, <q-args>)
|
||||||
|
command Gdb call win_gotoid(s:gdbwin)
|
||||||
|
command Program call win_gotoid(s:ptywin)
|
||||||
|
|
||||||
|
" TODO: can the K mapping be restored?
|
||||||
|
nnoremap K :Evaluate<CR>
|
||||||
|
|
||||||
|
if has('menu')
|
||||||
|
nnoremenu WinBar.Step :Step<CR>
|
||||||
|
nnoremenu WinBar.Next :Over<CR>
|
||||||
|
nnoremenu WinBar.Finish :Finish<CR>
|
||||||
|
nnoremenu WinBar.Cont :Continue<CR>
|
||||||
|
nnoremenu WinBar.Stop :Stop<CR>
|
||||||
|
nnoremenu WinBar.Eval :Evaluate<CR>
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Delete installed debugger commands in the current window.
|
||||||
|
func s:DeleteCommands()
|
||||||
|
delcommand Break
|
||||||
|
delcommand Delete
|
||||||
|
delcommand Step
|
||||||
|
delcommand Over
|
||||||
|
delcommand Finish
|
||||||
|
delcommand Run
|
||||||
|
delcommand Arguments
|
||||||
|
delcommand Stop
|
||||||
|
delcommand Continue
|
||||||
|
delcommand Evaluate
|
||||||
|
delcommand Gdb
|
||||||
|
delcommand Program
|
||||||
|
|
||||||
|
nunmap K
|
||||||
|
|
||||||
|
if has('menu')
|
||||||
|
aunmenu WinBar.Step
|
||||||
|
aunmenu WinBar.Next
|
||||||
|
aunmenu WinBar.Finish
|
||||||
|
aunmenu WinBar.Cont
|
||||||
|
aunmenu WinBar.Stop
|
||||||
|
aunmenu WinBar.Eval
|
||||||
|
endif
|
||||||
|
|
||||||
|
exe 'sign unplace ' . s:pc_id
|
||||||
|
for key in keys(s:breakpoints)
|
||||||
|
exe 'sign unplace ' . (s:break_id + key)
|
||||||
|
endfor
|
||||||
|
sign undefine debugPC
|
||||||
|
sign undefine debugBreakpoint
|
||||||
|
unlet s:breakpoints
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" :Break - Set a breakpoint at the cursor position.
|
||||||
|
func s:SetBreakpoint()
|
||||||
|
" Setting a breakpoint may not work while the program is running.
|
||||||
|
" Interrupt to make it work.
|
||||||
|
let do_continue = 0
|
||||||
|
if !s:stopped
|
||||||
|
let do_continue = 1
|
||||||
|
call s:SendCommand('-exec-interrupt')
|
||||||
|
sleep 10m
|
||||||
|
endif
|
||||||
|
call s:SendCommand('-break-insert --source '
|
||||||
|
\ . fnameescape(expand('%:p')) . ' --line ' . line('.'))
|
||||||
|
if do_continue
|
||||||
|
call s:SendCommand('-exec-continue')
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" :Delete - Delete a breakpoint at the cursor position.
|
||||||
|
func s:DeleteBreakpoint()
|
||||||
|
let fname = fnameescape(expand('%:p'))
|
||||||
|
let lnum = line('.')
|
||||||
|
for [key, val] in items(s:breakpoints)
|
||||||
|
if val['fname'] == fname && val['lnum'] == lnum
|
||||||
|
call term_sendkeys(s:commbuf, '-break-delete ' . key . "\r")
|
||||||
|
" Assume this always wors, the reply is simply "^done".
|
||||||
|
exe 'sign unplace ' . (s:break_id + key)
|
||||||
|
unlet s:breakpoints[key]
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" :Next, :Continue, etc - send a command to gdb
|
||||||
|
func s:SendCommand(cmd)
|
||||||
|
call term_sendkeys(s:commbuf, a:cmd . "\r")
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func s:Run(args)
|
||||||
|
if a:args != ''
|
||||||
|
call s:SendCommand('-exec-arguments ' . a:args)
|
||||||
|
endif
|
||||||
|
call s:SendCommand('-exec-run')
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func s:SendEval(expr)
|
||||||
|
call s:SendCommand('-data-evaluate-expression "' . a:expr . '"')
|
||||||
|
let s:evalexpr = a:expr
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" :Evaluate - evaluate what is under the cursor
|
||||||
|
func s:Evaluate(range, arg)
|
||||||
|
if a:arg != ''
|
||||||
|
let expr = a:arg
|
||||||
|
elseif a:range == 2
|
||||||
|
let pos = getcurpos()
|
||||||
|
let reg = getreg('v', 1, 1)
|
||||||
|
let regt = getregtype('v')
|
||||||
|
normal! gv"vy
|
||||||
|
let expr = @v
|
||||||
|
call setpos('.', pos)
|
||||||
|
call setreg('v', reg, regt)
|
||||||
|
else
|
||||||
|
let expr = expand('<cexpr>')
|
||||||
|
endif
|
||||||
|
call s:SendEval(expr)
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
let s:evalFromBalloonExpr = 0
|
||||||
|
|
||||||
|
" Handle the result of data-evaluate-expression
|
||||||
|
func s:HandleEvaluate(msg)
|
||||||
|
let value = substitute(a:msg, '.*value="\(.*\)"', '\1', '')
|
||||||
|
let value = substitute(value, '\\"', '"', 'g')
|
||||||
|
if s:evalFromBalloonExpr
|
||||||
|
if s:evalFromBalloonExprResult == ''
|
||||||
|
let s:evalFromBalloonExprResult = s:evalexpr . ': ' . value
|
||||||
|
else
|
||||||
|
let s:evalFromBalloonExprResult .= ' = ' . value
|
||||||
|
endif
|
||||||
|
call balloon_show(s:evalFromBalloonExprResult)
|
||||||
|
else
|
||||||
|
echomsg '"' . s:evalexpr . '": ' . value
|
||||||
|
endif
|
||||||
|
|
||||||
|
if s:evalexpr[0] != '*' && value =~ '^0x' && value != '0x0' && value !~ '"$'
|
||||||
|
" Looks like a pointer, also display what it points to.
|
||||||
|
call s:SendEval('*' . s:evalexpr)
|
||||||
|
else
|
||||||
|
let s:evalFromBalloonExpr = 0
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Show a balloon with information of the variable under the mouse pointer,
|
||||||
|
" if there is any.
|
||||||
|
func TermDebugBalloonExpr()
|
||||||
|
if v:beval_winid != s:startwin
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
call s:SendEval(v:beval_text)
|
||||||
|
let s:evalFromBalloonExpr = 1
|
||||||
|
let s:evalFromBalloonExprResult = ''
|
||||||
|
return ''
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Handle an error.
|
||||||
|
func s:HandleError(msg)
|
||||||
|
if a:msg =~ 'No symbol .* in current context'
|
||||||
|
\ || a:msg =~ 'Cannot access memory at address '
|
||||||
|
\ || a:msg =~ 'Attempt to use a type name as an expression'
|
||||||
|
\ || a:msg =~ 'A syntax error in expression,'
|
||||||
|
" Result of s:SendEval() failed, ignore.
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
echoerr substitute(a:msg, '.*msg="\(.*\)"', '\1', '')
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Handle stopping and running message from gdb.
|
||||||
|
" Will update the sign that shows the current position.
|
||||||
|
func s:HandleCursor(msg)
|
||||||
|
let wid = win_getid(winnr())
|
||||||
|
|
||||||
|
if a:msg =~ '^\*stopped'
|
||||||
|
let s:stopped = 1
|
||||||
|
elseif a:msg =~ '^\*running'
|
||||||
|
let s:stopped = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
if win_gotoid(s:startwin)
|
||||||
|
let fname = substitute(a:msg, '.*fullname="\([^"]*\)".*', '\1', '')
|
||||||
|
if a:msg =~ '^\(\*stopped\|=thread-selected\)' && filereadable(fname)
|
||||||
|
let lnum = substitute(a:msg, '.*line="\([^"]*\)".*', '\1', '')
|
||||||
|
if lnum =~ '^[0-9]*$'
|
||||||
|
if expand('%:p') != fnamemodify(fname, ':p')
|
||||||
|
if &modified
|
||||||
|
" TODO: find existing window
|
||||||
|
exe 'split ' . fnameescape(fname)
|
||||||
|
let s:startwin = win_getid(winnr())
|
||||||
|
else
|
||||||
|
exe 'edit ' . fnameescape(fname)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
exe lnum
|
||||||
|
exe 'sign unplace ' . s:pc_id
|
||||||
|
exe 'sign place ' . s:pc_id . ' line=' . lnum . ' name=debugPC file=' . fname
|
||||||
|
setlocal signcolumn=yes
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
exe 'sign unplace ' . s:pc_id
|
||||||
|
endif
|
||||||
|
|
||||||
|
call win_gotoid(wid)
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Handle setting a breakpoint
|
||||||
|
" Will update the sign that shows the breakpoint
|
||||||
|
func s:HandleNewBreakpoint(msg)
|
||||||
|
let nr = substitute(a:msg, '.*number="\([0-9]\)*\".*', '\1', '') + 0
|
||||||
|
if nr == 0
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
if has_key(s:breakpoints, nr)
|
||||||
|
let entry = s:breakpoints[nr]
|
||||||
|
else
|
||||||
|
let entry = {}
|
||||||
|
let s:breakpoints[nr] = entry
|
||||||
|
endif
|
||||||
|
|
||||||
|
let fname = substitute(a:msg, '.*fullname="\([^"]*\)".*', '\1', '')
|
||||||
|
let lnum = substitute(a:msg, '.*line="\([^"]*\)".*', '\1', '')
|
||||||
|
let entry['fname'] = fname
|
||||||
|
let entry['lnum'] = lnum
|
||||||
|
|
||||||
|
if bufloaded(fname)
|
||||||
|
call s:PlaceSign(nr, entry)
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func s:PlaceSign(nr, entry)
|
||||||
|
exe 'sign place ' . (s:break_id + a:nr) . ' line=' . a:entry['lnum'] . ' name=debugBreakpoint file=' . a:entry['fname']
|
||||||
|
let a:entry['placed'] = 1
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Handle deleting a breakpoint
|
||||||
|
" Will remove the sign that shows the breakpoint
|
||||||
|
func s:HandleBreakpointDelete(msg)
|
||||||
|
let nr = substitute(a:msg, '.*id="\([0-9]*\)\".*', '\1', '') + 0
|
||||||
|
if nr == 0
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if has_key(s:breakpoints, nr)
|
||||||
|
let entry = s:breakpoints[nr]
|
||||||
|
if has_key(entry, 'placed')
|
||||||
|
exe 'sign unplace ' . (s:break_id + nr)
|
||||||
|
unlet entry['placed']
|
||||||
|
endif
|
||||||
|
unlet s:breakpoints[nr]
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Handle a BufRead autocommand event: place any signs.
|
||||||
|
func s:BufRead()
|
||||||
|
let fname = expand('<afile>:p')
|
||||||
|
for [nr, entry] in items(s:breakpoints)
|
||||||
|
if entry['fname'] == fname
|
||||||
|
call s:PlaceSign(nr, entry)
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Handle a BufUnloaded autocommand event: unplace any signs.
|
||||||
|
func s:BufUnloaded()
|
||||||
|
let fname = expand('<afile>:p')
|
||||||
|
for [nr, entry] in items(s:breakpoints)
|
||||||
|
if entry['fname'] == fname
|
||||||
|
let entry['placed'] = 0
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endfunc
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
" Vim plugin for using Vim as manpager.
|
" Vim plugin for using Vim as manpager.
|
||||||
" Maintainer: Enno Nagel <ennonagel+vim@gmail.com>
|
" Maintainer: Enno Nagel <ennonagel+vim@gmail.com>
|
||||||
" Last Change: 2016 May 20
|
" Last Change: 2017 November 07
|
||||||
|
|
||||||
" $MAN_PN is supposed to be set by MANPAGER, see ":help manpager.vim".
|
" $MAN_PN is supposed to be set by MANPAGER, see ":help manpager.vim".
|
||||||
if empty($MAN_PN)
|
if empty($MAN_PN)
|
||||||
@@ -10,17 +10,17 @@ endif
|
|||||||
command! -nargs=0 MANPAGER call s:MANPAGER() | delcommand MANPAGER
|
command! -nargs=0 MANPAGER call s:MANPAGER() | delcommand MANPAGER
|
||||||
|
|
||||||
function! s:MANPAGER()
|
function! s:MANPAGER()
|
||||||
let page_pattern = '\v\w+%([-_.]\w+)*'
|
let page_pattern = '\v\w[-_.:0-9A-Za-z]*'
|
||||||
let sec_pattern = '\v\w+%(\+\w+)*'
|
let sec_pattern = '\v\w+%(\+\w+)*'
|
||||||
let pagesec_pattern = '\v(' . page_pattern . ')\((' . sec_pattern . ')\)'
|
let pagesec_pattern = '\v(' . page_pattern . ')\((' . sec_pattern . ')\)'
|
||||||
|
|
||||||
if $MAN_PN is '1'
|
if $MAN_PN is '1'
|
||||||
let manpage = matchstr( getline(1), '^' . pagesec_pattern )
|
let manpage = tolower(matchstr( getline(nextnonblank(1)), '^' . pagesec_pattern ))
|
||||||
else
|
else
|
||||||
let manpage = expand('$MAN_PN')
|
let manpage = expand($MAN_PN)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let page_sec = matchlist(tolower(manpage), '^' . pagesec_pattern . '$')
|
let page_sec = matchlist(manpage, '^' . pagesec_pattern . '$')
|
||||||
|
|
||||||
bwipe!
|
bwipe!
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
" Vim plugin for showing matching parens
|
" Vim plugin for showing matching parens
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2016 Feb 16
|
" Last Change: 2017 Sep 30
|
||||||
|
|
||||||
" Exit quickly when:
|
" Exit quickly when:
|
||||||
" - this plugin was already loaded (or disabled)
|
" - this plugin was already loaded (or disabled)
|
||||||
@@ -186,9 +186,23 @@ function! s:Highlight_Matching_Pair()
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" Define commands that will disable and enable the plugin.
|
" Define commands that will disable and enable the plugin.
|
||||||
command! NoMatchParen windo silent! call matchdelete(3) | unlet! g:loaded_matchparen |
|
command! DoMatchParen call s:DoMatchParen()
|
||||||
\ au! matchparen
|
command! NoMatchParen call s:NoMatchParen()
|
||||||
command! DoMatchParen runtime plugin/matchparen.vim | windo doau CursorMoved
|
|
||||||
|
func! s:NoMatchParen()
|
||||||
|
let w = winnr()
|
||||||
|
noau windo silent! call matchdelete(3)
|
||||||
|
unlet! g:loaded_matchparen
|
||||||
|
exe "noau ". w . "wincmd w"
|
||||||
|
au! matchparen
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func! s:DoMatchParen()
|
||||||
|
runtime plugin/matchparen.vim
|
||||||
|
let w = winnr()
|
||||||
|
silent windo doau CursorMoved
|
||||||
|
exe "noau ". w . "wincmd w"
|
||||||
|
endfunc
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
unlet s:cpo_save
|
unlet s:cpo_save
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
if &cp || exists("g:loaded_netrwPlugin")
|
if &cp || exists("g:loaded_netrwPlugin")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let g:loaded_netrwPlugin = "v156"
|
let g:loaded_netrwPlugin = "v162"
|
||||||
let s:keepcpo = &cpo
|
let s:keepcpo = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
"DechoRemOn
|
"DechoRemOn
|
||||||
@@ -42,8 +42,8 @@ augroup END
|
|||||||
" Network Browsing Reading Writing: {{{2
|
" Network Browsing Reading Writing: {{{2
|
||||||
augroup Network
|
augroup Network
|
||||||
au!
|
au!
|
||||||
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
|
au BufReadCmd file://* call netrw#FileUrlEdit(expand("<amatch>"))
|
||||||
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
|
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
|
||||||
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
|
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
|
||||||
au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
|
au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
|
||||||
au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
|
au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
|
||||||
@@ -59,7 +59,7 @@ com! -count=1 -nargs=* Nread let s:svpos= winsaveview()<bar>call netrw#NetRead(
|
|||||||
com! -range=% -nargs=* Nwrite let s:svpos= winsaveview()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call winrestview(s:svpos)
|
com! -range=% -nargs=* Nwrite let s:svpos= winsaveview()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call winrestview(s:svpos)
|
||||||
com! -nargs=* NetUserPass call NetUserPass(<f-args>)
|
com! -nargs=* NetUserPass call NetUserPass(<f-args>)
|
||||||
com! -nargs=* Nsource let s:svpos= winsaveview()<bar>call netrw#NetSource(<f-args>)<bar>call winrestview(s:svpos)
|
com! -nargs=* Nsource let s:svpos= winsaveview()<bar>call netrw#NetSource(<f-args>)<bar>call winrestview(s:svpos)
|
||||||
com! -nargs=? Ntree call netrw#SetTreetop(<q-args>)
|
com! -nargs=? Ntree call netrw#SetTreetop(1,<q-args>)
|
||||||
|
|
||||||
" Commands: :Explore, :Sexplore, Hexplore, Vexplore, Lexplore {{{2
|
" Commands: :Explore, :Sexplore, Hexplore, Vexplore, Lexplore {{{2
|
||||||
com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>)
|
com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>)
|
||||||
@@ -81,7 +81,7 @@ if !exists("g:netrw_nogx")
|
|||||||
if !hasmapto('<Plug>NetrwBrowseX')
|
if !hasmapto('<Plug>NetrwBrowseX')
|
||||||
nmap <unique> gx <Plug>NetrwBrowseX
|
nmap <unique> gx <Plug>NetrwBrowseX
|
||||||
endif
|
endif
|
||||||
nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(expand((exists("g:netrw_gx")? g:netrw_gx : '<cfile>')),netrw#CheckIfRemote())<cr>
|
nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(netrw#GX(),netrw#CheckIfRemote(netrw#GX()))<cr>
|
||||||
endif
|
endif
|
||||||
if maparg('gx','v') == ""
|
if maparg('gx','v') == ""
|
||||||
if !hasmapto('<Plug>NetrwBrowseXVis')
|
if !hasmapto('<Plug>NetrwBrowseXVis')
|
||||||
@@ -129,19 +129,15 @@ fun! s:LocalBrowse(dirname)
|
|||||||
elseif isdirectory(a:dirname)
|
elseif isdirectory(a:dirname)
|
||||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> ft=".&ft." (isdirectory, not amiga)")
|
" call Decho("(LocalBrowse) dirname<".a:dirname."> ft=".&ft." (isdirectory, not amiga)")
|
||||||
" call Dredir("LocalBrowse ft last set: ","verbose set ft")
|
" call Dredir("LocalBrowse ft last set: ","verbose set ft")
|
||||||
" call Decho("(s:LocalBrowse) COMBAK#23: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
|
|
||||||
sil! call netrw#LocalBrowseCheck(a:dirname)
|
sil! call netrw#LocalBrowseCheck(a:dirname)
|
||||||
" call Decho("(s:LocalBrowse) COMBAK#24: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
|
|
||||||
if exists("w:netrw_bannercnt") && line('.') < w:netrw_bannercnt
|
if exists("w:netrw_bannercnt") && line('.') < w:netrw_bannercnt
|
||||||
exe w:netrw_bannercnt
|
exe w:netrw_bannercnt
|
||||||
" call Decho("(s:LocalBrowse) COMBAK#25: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
else
|
else
|
||||||
" not a directory, ignore it
|
" not a directory, ignore it
|
||||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> not a directory, ignoring...")
|
" call Decho("(LocalBrowse) dirname<".a:dirname."> not a directory, ignoring...")
|
||||||
endif
|
endif
|
||||||
" call Decho("(s:LocalBrowse) COMBAK#26: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
|
|
||||||
|
|
||||||
" call Dret("s:LocalBrowse")
|
" call Dret("s:LocalBrowse")
|
||||||
endfun
|
endfun
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim support file to detect file types in scripts
|
" Vim support file to detect file types in scripts
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last change: 2017 Jun 11
|
" Last change: 2017 Nov 11
|
||||||
|
|
||||||
" This file is called by an autocommand for every file that has just been
|
" This file is called by an autocommand for every file that has just been
|
||||||
" loaded into a buffer. It checks if the type of file can be recognized by
|
" loaded into a buffer. It checks if the type of file can be recognized by
|
||||||
@@ -66,19 +66,19 @@ if s:line1 =~# "^#!"
|
|||||||
|
|
||||||
" Bourne-like shell scripts: bash bash2 ksh ksh93 sh
|
" Bourne-like shell scripts: bash bash2 ksh ksh93 sh
|
||||||
if s:name =~# '^\(bash\d*\|\|ksh\d*\|sh\)\>'
|
if s:name =~# '^\(bash\d*\|\|ksh\d*\|sh\)\>'
|
||||||
call SetFileTypeSH(s:line1) " defined in filetype.vim
|
call dist#ft#SetFileTypeSH(s:line1) " defined in filetype.vim
|
||||||
|
|
||||||
" csh scripts
|
" csh scripts
|
||||||
elseif s:name =~# '^csh\>'
|
elseif s:name =~# '^csh\>'
|
||||||
if exists("g:filetype_csh")
|
if exists("g:filetype_csh")
|
||||||
call SetFileTypeShell(g:filetype_csh)
|
call dist#ft#SetFileTypeShell(g:filetype_csh)
|
||||||
else
|
else
|
||||||
call SetFileTypeShell("csh")
|
call dist#ft#SetFileTypeShell("csh")
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" tcsh scripts
|
" tcsh scripts
|
||||||
elseif s:name =~# '^tcsh\>'
|
elseif s:name =~# '^tcsh\>'
|
||||||
call SetFileTypeShell("tcsh")
|
call dist#ft#SetFileTypeShell("tcsh")
|
||||||
|
|
||||||
" Z shell scripts
|
" Z shell scripts
|
||||||
elseif s:name =~# '^zsh\>'
|
elseif s:name =~# '^zsh\>'
|
||||||
@@ -185,7 +185,7 @@ else
|
|||||||
|
|
||||||
" Bourne-like shell scripts: sh ksh bash bash2
|
" Bourne-like shell scripts: sh ksh bash bash2
|
||||||
if s:line1 =~# '^:$'
|
if s:line1 =~# '^:$'
|
||||||
call SetFileTypeSH(s:line1) " defined in filetype.vim
|
call dist#ft#SetFileTypeSH(s:line1) " defined in filetype.vim
|
||||||
|
|
||||||
" Z shell scripts
|
" Z shell scripts
|
||||||
elseif s:line1 =~# '^#compdef\>' || s:line1 =~# '^#autoload\>' ||
|
elseif s:line1 =~# '^#compdef\>' || s:line1 =~# '^#autoload\>' ||
|
||||||
@@ -306,7 +306,7 @@ else
|
|||||||
set ft=virata
|
set ft=virata
|
||||||
|
|
||||||
" Strace
|
" Strace
|
||||||
elseif s:line1 =~# '^\(\[pid \d\+\] \)\=[0-9:.]* *execve(' || s:line1 =~# '^__libc_start_main'
|
elseif s:line1 =~# '[0-9:.]* *execve(' || s:line1 =~# '^__libc_start_main'
|
||||||
set ft=strace
|
set ft=strace
|
||||||
|
|
||||||
" VSE JCL
|
" VSE JCL
|
||||||
@@ -324,7 +324,7 @@ else
|
|||||||
set ft=sindacmp
|
set ft=sindacmp
|
||||||
|
|
||||||
" DNS zone files
|
" DNS zone files
|
||||||
elseif s:line1.s:line2.s:line3.s:line4 =~# '^; <<>> DiG [0-9.]\+ <<>>\|BIND.*named\|$ORIGIN\|$TTL\|IN\s\+SOA'
|
elseif s:line1.s:line2.s:line3.s:line4 =~# '^; <<>> DiG [0-9.]\+.* <<>>\|$ORIGIN\|$TTL\|IN\s\+SOA'
|
||||||
set ft=bindzone
|
set ft=bindzone
|
||||||
|
|
||||||
" BAAN
|
" BAAN
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" This file is normally sourced from menu.vim.
|
" This file is normally sourced from menu.vim.
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2014 Aug 13
|
" Last Change: 2017 Oct 28
|
||||||
|
|
||||||
" Define the SetSyn function, used for the Syntax menu entries.
|
" Define the SetSyn function, used for the Syntax menu entries.
|
||||||
" Set 'filetype' and also 'syntax' if it is manually selected.
|
" Set 'filetype' and also 'syntax' if it is manually selected.
|
||||||
@@ -351,12 +351,13 @@ an 50.70.510 &Syntax.M.Muttrc :cal SetSyn("muttrc")<CR>
|
|||||||
an 50.80.100 &Syntax.NO.Nanorc :cal SetSyn("nanorc")<CR>
|
an 50.80.100 &Syntax.NO.Nanorc :cal SetSyn("nanorc")<CR>
|
||||||
an 50.80.110 &Syntax.NO.Nastran\ input/DMAP :cal SetSyn("nastran")<CR>
|
an 50.80.110 &Syntax.NO.Nastran\ input/DMAP :cal SetSyn("nastran")<CR>
|
||||||
an 50.80.120 &Syntax.NO.Natural :cal SetSyn("natural")<CR>
|
an 50.80.120 &Syntax.NO.Natural :cal SetSyn("natural")<CR>
|
||||||
an 50.80.130 &Syntax.NO.Netrc :cal SetSyn("netrc")<CR>
|
an 50.80.130 &Syntax.NO.Neomuttrc :cal SetSyn("neomuttrc")<CR>
|
||||||
an 50.80.140 &Syntax.NO.Ninja :cal SetSyn("ninja")<CR>
|
an 50.80.140 &Syntax.NO.Netrc :cal SetSyn("netrc")<CR>
|
||||||
an 50.80.150 &Syntax.NO.Novell\ NCF\ batch :cal SetSyn("ncf")<CR>
|
an 50.80.150 &Syntax.NO.Ninja :cal SetSyn("ninja")<CR>
|
||||||
an 50.80.160 &Syntax.NO.Not\ Quite\ C\ (LEGO) :cal SetSyn("nqc")<CR>
|
an 50.80.160 &Syntax.NO.Novell\ NCF\ batch :cal SetSyn("ncf")<CR>
|
||||||
an 50.80.170 &Syntax.NO.Nroff :cal SetSyn("nroff")<CR>
|
an 50.80.170 &Syntax.NO.Not\ Quite\ C\ (LEGO) :cal SetSyn("nqc")<CR>
|
||||||
an 50.80.180 &Syntax.NO.NSIS\ script :cal SetSyn("nsis")<CR>
|
an 50.80.180 &Syntax.NO.Nroff :cal SetSyn("nroff")<CR>
|
||||||
|
an 50.80.190 &Syntax.NO.NSIS\ script :cal SetSyn("nsis")<CR>
|
||||||
an 50.80.200 &Syntax.NO.Obj\ 3D\ wavefront :cal SetSyn("obj")<CR>
|
an 50.80.200 &Syntax.NO.Obj\ 3D\ wavefront :cal SetSyn("obj")<CR>
|
||||||
an 50.80.210 &Syntax.NO.Objective\ C :cal SetSyn("objc")<CR>
|
an 50.80.210 &Syntax.NO.Objective\ C :cal SetSyn("objc")<CR>
|
||||||
an 50.80.220 &Syntax.NO.Objective\ C++ :cal SetSyn("objcpp")<CR>
|
an 50.80.220 &Syntax.NO.Objective\ C++ :cal SetSyn("objcpp")<CR>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: BibTeX (bibliographic database format for (La)TeX)
|
" Language: BibTeX (bibliographic database format for (La)TeX)
|
||||||
" Maintainer: Bernd Feige <Bernd.Feige@gmx.net>
|
" Maintainer: Bernd Feige <Bernd.Feige@gmx.net>
|
||||||
" Filenames: *.bib
|
" Filenames: *.bib
|
||||||
" Last Change: 2016 Sep 12
|
" Last Change: 2017 Sep 29
|
||||||
|
|
||||||
" Thanks to those who pointed out problems with this file or supplied fixes!
|
" Thanks to those who pointed out problems with this file or supplied fixes!
|
||||||
|
|
||||||
@@ -81,16 +81,18 @@ syn match bibUnescapedSpecial contained /[^\\][%&]/hs=s+1
|
|||||||
syn match bibKey contained /\s*[^ \t}="]\+,/hs=s,he=e-1 nextgroup=bibField
|
syn match bibKey contained /\s*[^ \t}="]\+,/hs=s,he=e-1 nextgroup=bibField
|
||||||
syn match bibVariable contained /[^{}," \t=]/
|
syn match bibVariable contained /[^{}," \t=]/
|
||||||
syn region bibComment start=/./ end=/^\s*@/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
|
syn region bibComment start=/./ end=/^\s*@/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
|
||||||
syn region bibMath contained start=/\$/ end=/\$/ skip=/\(\\\$\)/
|
syn region bibMath contained start=/\(\\\)\@<!\$/ end=/\$/ skip=/\(\\\$\)/
|
||||||
syn region bibQuote contained start=/"/ end=/"/ skip=/\(\\"\)/ contains=@bibVarContents
|
syn region bibQuote contained start=/"/ end=/"/ skip=/\(\\"\)/ contains=@bibVarContents
|
||||||
syn region bibBrace contained start=/{/ end=/}/ skip=/\(\\[{}]\)/ contains=@bibVarContents
|
syn region bibBrace contained start=/{/ end=/}/ skip=/\(\\[{}]\)/ contains=@bibVarContents
|
||||||
syn region bibParen contained start=/(/ end=/)/ skip=/\(\\[()]\)/ contains=@bibVarContents
|
syn region bibParen contained start=/(/ end=/)/ skip=/\(\\[()]\)/ contains=@bibVarContents
|
||||||
syn region bibField contained start="\S\+\s*=\s*" end=/[}),]/me=e-1 contains=bibEntryKw,bibNSEntryKw,bibBrace,bibParen,bibQuote,bibVariable
|
syn region bibField contained start="\S\+\s*=\s*" end=/[}),]/me=e-1 contains=bibEntryKw,bibNSEntryKw,bibBrace,bibParen,bibQuote,bibVariable
|
||||||
syn region bibEntryData contained start=/[{(]/ms=e+1 end=/[})]/me=e-1 contains=bibKey,bibField
|
syn region bibEntryData contained start=/[{(]/ms=e+1 end=/[})]/me=e-1 contains=bibKey,bibField,bibComment3
|
||||||
" Actually, 5.8 <= Vim < 6.0 would ignore the `fold' keyword anyway, but Vim<5.8 would produce
|
" Actually, 5.8 <= Vim < 6.0 would ignore the `fold' keyword anyway, but Vim<5.8 would produce
|
||||||
" an error, so we explicitly distinguish versions with and without folding functionality:
|
" an error, so we explicitly distinguish versions with and without folding functionality:
|
||||||
syn region bibEntry start=/@\S\+\s*[{(]/ end=/^\s*[})]/ transparent fold contains=bibType,bibEntryData nextgroup=bibComment
|
syn region bibEntry start=/@\S\+\s*[{(]/ end=/^\s*[})]/ transparent fold contains=bibType,bibEntryData nextgroup=bibComment
|
||||||
syn region bibComment2 start=/@Comment\s*[{(]/ end=/^\s*[})]/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
|
syn region bibComment2 start=/@Comment\s*[{(]/ end=/^\s*[})]/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
|
||||||
|
" biblatex style comments inside a bibEntry
|
||||||
|
syn match bibComment3 "%.*"
|
||||||
|
|
||||||
" Synchronization
|
" Synchronization
|
||||||
" ===============
|
" ===============
|
||||||
@@ -111,6 +113,7 @@ hi def link bibVariable Constant
|
|||||||
hi def link bibUnescapedSpecial Error
|
hi def link bibUnescapedSpecial Error
|
||||||
hi def link bibComment Comment
|
hi def link bibComment Comment
|
||||||
hi def link bibComment2 Comment
|
hi def link bibComment2 Comment
|
||||||
|
hi def link bibComment3 Comment
|
||||||
|
|
||||||
let b:current_syntax = "bib"
|
let b:current_syntax = "bib"
|
||||||
|
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ syntax match clojureRegexpBoundary "[$^]" contained display
|
|||||||
syntax match clojureRegexpQuantifier "[?*+][?+]\=" contained display
|
syntax match clojureRegexpQuantifier "[?*+][?+]\=" contained display
|
||||||
syntax match clojureRegexpQuantifier "\v\{\d+%(,|,\d+)?}\??" contained display
|
syntax match clojureRegexpQuantifier "\v\{\d+%(,|,\d+)?}\??" contained display
|
||||||
syntax match clojureRegexpOr "|" contained display
|
syntax match clojureRegexpOr "|" contained display
|
||||||
syntax match clojureRegexpBackRef "\v\\%([1-9]\d*|k\<[a-zA-z]+\>)" contained display
|
syntax match clojureRegexpBackRef "\v\\%([1-9]\d*|k\<[a-zA-Z]+\>)" contained display
|
||||||
|
|
||||||
" Mode modifiers, mode-modified spans, lookaround, regular and atomic
|
" Mode modifiers, mode-modified spans, lookaround, regular and atomic
|
||||||
" grouping, and named-capturing.
|
" grouping, and named-capturing.
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user